Giter VIP home page Giter VIP logo

panasonic's Introduction

panasonic

Experimental package of a ROS driver for a Panasonic robot over the Profibus network

Introduction

This repository contains an experimental ROS driver for a Panasonic VR-006L manipulator using a Profibus fieldbus as a physical connection between ROS and the Panasonic robot controller.

Installation

The first thing you need to do is to create a local ROS environment and clone this repo into your local workspace. This can be done as follows:

mkdir -p ~/catkin_ws/src

After this, clone this repository into your workspace by using the HTTP or SSH of the repo and install dependencies if needed.

cd catkin_ws/src
git clone https://github.com/DavidJornThesis/panasonic/
rosdep install -r -y --from-paths src --ignore-src

The next thing is to make sure that the Pyprofibus stack is properly installed. To install this, please check the author's website, his GitHub page or the Python (pypy) webpage.

To check if this stack is properly installed on your system's python, you can verify it by launching the python shell in the terminal and check if there are no import errors:

python
import pyprofibus

If no error shows up, the stack is properly installed.

The last thing you need to do is to adjust a few paths in some files. First, go to the vr_driver/config folder and change in panaprofi.config the specified path of the serial interface. This either can be a USB-port or a RS232-serial port. Secondly, in this file change also the specified path of the GSD-file of the robot to your local path. Lastly, navigate to the file interface.py located in vr_driver/scripts and change the local path of the config file to the adjusted path.

Usage

A first thing is to make sure that a serial to RS485 adapter is used as a proxy between the serial port of the PC and the Profibus connector of the robot. After the installation of the Profibus stack and the setup of the repository, the next thing is to make sure that the used serial port is allowed to read and write data. Then the driver can be used to let the robot move. The user can specifiy a desired Cartesian Pose (position and orientation) by specifying this in the interface that shows up in the terminal. A quick walkthrough is given below:

cd ~/catkin_ws
catkin_make
source devel/setup.bash
dmesg
sudo chmod a+rw /dev/tty...

Launching the interface

Finally, the driver can be used by launching the position_streaming_interface.launch file that launches the driver node which initializes the communication between ROS and the robot:

roslaunch vr_driver position_streaming_interface.launch

Expected output

The expected output of the interface in the terminal should be something like this:

SUMMARY
========

PARAMETERS
 * /rosdistro: indigo
 * /rosversion: 1.11.21

NODES
  /
    interface (vr_driver/interface.py)

auto-starting new master
process[master]: started with pid [20780]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to d06cb56a-59c3-11e8-a736-f81654125b1a
process[rosout-1]: started with pid [20793]
started core service [/rosout]
process[interface-2]: started with pid [20796]
[INFO] [WallTime: 1526555819.348752] Initializing position streaming interface 
[INFO] [WallTime: 1526555819.349098] Setting up communication with Panasonic robot controller 
[INFO] [WallTime: 1526555819.379378] Getting user information from terminal 
Give an integer value for the x-position in mm (between 200 and 1400):900
Give an integer value for the y-position in mm (between -800 and 800):-200
Give an integer value for the z-position in mm (between 0 and 1100):600
Give an integer value for the x-orientation in degrees (between -90 and 90):30
Give an integer value for the y-orientation in degrees (between -90 and 90):45
Give an integer value for the z-orientation in degrees (between -90 and 90):45
Now give a movetype: Point-to-point (1), Continuous-Linear (2), Continuous-Circular (3) --> 1
[INFO] [WallTime: 1526555829.892654] Sending position and orientation to robot

Acknowledgments

The author would like to thank Michael Büsch for using the open implementation of the Profibus protocol in python.

panasonic's People

Contributors

davidjornthesis avatar jeroendm avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.