UR5: Difference between revisions

From Rsewiki
(→‎Using the robot with ROS: - Added information on changing the used ROS version)
(→‎Using the robot with ROS: Added solution to Network name unavailable)
Line 38: Line 38:


==Using the robot with ROS==
==Using the robot with ROS==
The following information concerns the Fuerte version of [http://www.ros.org ROS]. To get it to work properly, you might have to edit <tt>~/.bashrc</tt> to use the correct version of ROS.
===Setting up ROS===
The following information concerns the Fuerte version of [http://www.ros.org ROS], which should be installed on all the desktop computers in the lab. To get it to work properly, you might have to edit <tt>~/.bashrc</tt> to use the correct version of ROS.
The easiest way to do this is to copy the last 4-5 lines, starting with <tt>if [ -f /opt/ros...</tt> and paste it just below, and then change the version name (i.e. from <tt>electric</tt> to <tt>fuerte</tt>).
The easiest way to do this is to copy the last 4-5 lines, starting with <tt>if [ -f /opt/ros...</tt> and paste it just below, and then change the version name (i.e. from <tt>electric</tt> to <tt>fuerte</tt>).
===Required packages===
====Required packages====
Besides the currently installed version of ROS, the following packages should be installed using <tt>sudo apt-get install ros-fuerte-<package name></tt>
Besides the currently installed version of ROS, the following packages should be installed using <tt>sudo apt-get install ros-fuerte-<package name></tt>
* universal-robot ([http://ros.org/wiki/universal_robot Universal robot drivers]) - Provides drivers and a bringup to test the robot. '''Do not run the driver/test_move.py without changing the joint values. It will make the robot will smash into the wall with the standard values.''' ([[Setup the universal-robot package]])
* universal-robot ([http://ros.org/wiki/universal_robot Universal robot drivers]) - Provides drivers and a bringup to test the robot. '''Do not run the driver/test_move.py without changing the joint values. It will make the robot will smash into the wall with the standard values.''' ([[Setup the universal-robot package]])
Line 46: Line 47:
* moveit ([http://moveit.ros.org/ New arm navigation stack]) - Will replace the arm_navigation stack in future releases. ([[Setup MoveIt]])
* moveit ([http://moveit.ros.org/ New arm navigation stack]) - Will replace the arm_navigation stack in future releases. ([[Setup MoveIt]])
* industrial ([http://www.ros.org/wiki/Industrial Generic industrial robots package]) - Not really used at the moment. Maybe useful in Groove.
* industrial ([http://www.ros.org/wiki/Industrial Generic industrial robots package]) - Not really used at the moment. Maybe useful in Groove.
====Common errors and workarounds====
=====Network name unavailable=====
The assigned network name is done using a Windows name server. Linux have some difficulties renewing this host name, which might lead to the name server forgetting the network mapping.
To resolve the problem, just restart the computer and boot into Windows. The reboot into Linux.


==Using the robot with MRC==
==Using the robot with MRC==


==Using the robot with Python==
==Using the robot with Python==

Revision as of 15:49, 11 December 2012

The Universal Robot in 326/005 can be controlled in several different ways. The aim of this page is to collect and present the most relevant data regarding the robot arm.

General information

For remote access to the robot, i.e. from ROS or via a Python scrict, use the host name rt29.

Starting the robot

To power on the robot, press the green button on the control box.

After the controller computer has booted, the screen will report that the robot has changed state and needs to be initialized. To do this, press the button in the noticifation box on the screen. On the new screen, press the top Auto button until the joints reports Ready. Then hold down the Auto button until all joints report ok. Note that this will make the robot joints move, if the robot is about to collide with itself, release the auto button and move the apropriate joint(s) to avoid a collision. When all joints are 'OK', press the Ok button in the lower right corner.

To move the robot into a desired position, press either of the top two buttons, and select the Move-tap. Then move the robot by using the arrows or by holding down the Teach button and move the robot by hand.

Denavit-Hartenberg parameters

All values used for inertia and kinematics calculation can be found in the ROS Model data file.

The most important DH parameters are listed here for reference:

Denavit-Hartenberg parameters
Joint Type a α d θ Offset
1 Revolute 0.00000 π/2 0.089159 q1 0.00
2 Revolute -0.42500 0.00 0.00000 q2 -π/2
3 Revolute -0.39225 0.00 0.00000 q3 0.00
4 Revolute 0.00000 π/2 0.10915 q4 -π/2
5 Revolute 0.00000 -π/2 0.09465 q5 0.00
6 Revolute 0.00000 0.00 0.0823 q6 0.00

Gripper information

Using the robot with ROS

Setting up ROS

The following information concerns the Fuerte version of ROS, which should be installed on all the desktop computers in the lab. To get it to work properly, you might have to edit ~/.bashrc to use the correct version of ROS. The easiest way to do this is to copy the last 4-5 lines, starting with if [ -f /opt/ros... and paste it just below, and then change the version name (i.e. from electric to fuerte).

Required packages

Besides the currently installed version of ROS, the following packages should be installed using sudo apt-get install ros-fuerte-<package name>

Common errors and workarounds

Network name unavailable

The assigned network name is done using a Windows name server. Linux have some difficulties renewing this host name, which might lead to the name server forgetting the network mapping. To resolve the problem, just restart the computer and boot into Windows. The reboot into Linux.

Using the robot with MRC

Using the robot with Python