Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags. |
Starting the EtherCAT Hand
Description: How to start the etherCAT Hand ROS driver.Tutorial Level: BEGINNER
Next Tutorial: To learn how to start the controllers: Starting a set of controllers
Contents
Compiling
You need to compile the necessary packages (make sure you get sr_external_dependencies installed before):
$ rosmake --rosdep-install sr_edc_ethercat_drivers sr_mechanism_controllers sr_robot_lib
If you want to be able to run the (deprecated) compatibility interface for the hand:
$ ETHERCAT=1 rosmake sr_hand
You can also compile the interface to publish additional data (such as the (almost) raw incoming etherCAT packet):
$ DEBUG=1 rosmake sr_edc_ethercat_drivers sr_mechanism_controllers sr_robot_lib
Configure the interface
You have to determine on which ethernet port the hand is connected and set this up in the sr_config/bashrc/env_variables.bashrc file. There should be a default "eth1" that you need to change to your interface name.
Starting the interface
It's good practice to first start your roscore and a few utilities:
$ xterm -e roscore & rxconsole & rosrun robot_monitor robot_monitor &
To start the etherCAT Hand ROS driver, you need to run the following command as root:
# roslaunch sr_edc_launch sr_edc.launch
Visualizing the robot
You can use rviz to visualize the robot, using the robot_model plugin.
Compatibility Interface
This interface is useful if you already have some code running on top of the sr_hand interface (for the CAN version of the Hand). It just wraps this interface so that you have access to the same topics as with the sr_hand interface. This compatibility interface is marked as deprecated as you loose some processing power when using it.
To run it, once you've started the EtherCAT Hand ROS driver as specified above, you just need to start the compatibility interface with the command:
$ roslaunch sr_hand srh_etherCAT.launch