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. |
Running a stand-alone Shadow Hand
Description: Describes steps needed to get Shadow Hand running stand-alone.Tutorial Level: INTERMEDIATE
Contents
Prerequisites
- Shadow hand
- 12V and 48V power supplies
- Computer with an extra Ethernet interface
Download and compile software packages
Create file called shadow.rosinstall in your home directory with the following information:
- svn: uri: https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_ethercat_drivers/trunk local-name: pr2_ethercat_drivers - svn: uri: https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_robot/trunk/pr2_etherCAT local-name: pr2_etherCAT - svn: uri: https://code.ros.org/svn/wg-ros-pkg/branches/trunk_cturtle/sandbox/shadow_robot_ethercat local-name: shadow_robot_ethercat - svn: uri: https://code.ros.org/svn/wg-ros-pkg/stacks/pr2_mechanism/trunk local-name: pr2_mechanism
If rosinstall is not already installed on your computer, use these instructions.
Now use rosinstall to create overlay
rosinstall ~/shadow /opt/ros/cturtle ~/shadow.rosinstall
Use source the new setup.sh file and compile the following:
source ~/shadow/setup.sh rosmake pr2_etherCAT srh_ethercat_hardware sr_hand_ethercat teleop_srh_keyboard
Ethernet/EtherCAT
You will need an extra Ethernet interface on your computer to connect to the Shadow hand. Connecting the Shadow hand to a computer through an Ethernet switch will not work.
Determine the name of the Ethernet interface you are connect the shadow hand to. Ethernet ports in Linux are usually names ethX where X is a digit (eth0, eth1, eth2, ...). There are detailed instructions about determining which physical Ethernet interface has what name.
Power
Plug in power in this order
- 12V fan power.
- First unplug 48V power brick from wall.
- Connect output of 48V power brick to Shadow hand.
- Plug power brick input back into wall.
Running software
roslaunch sr_hand_ethercat position.launch
Open a new terminal and use robot_monitor to view diagnostics
source ~/shadow/setup.sh rosrun robot_monitor robot_monitor &
The robot monitor should look something like:
Moving joints
The teleop_srh_keyboard provides a easy method for controller on joint from the command line.
rosrun teleop_srh_keyboard teleop_srh_keyboard
Pushing '9' should reset fingers to initial positions. If the fingers do not move, use the robot_monitor to look for any error conditions.
Errors
A overheated motor is the most common error. When one motor overheats, all the motors will halt. Once the temperature has dropped, the error condition can be cleared by running:
rosrun pr2_etherCAT reset_motors.py