UR10: Difference between revisions
(Created page with "Two robot arms of the type UR10 are located in 326/011. In this wiki article, some documentation of how to use the robot arm is collected. __TOC__ ==General information== Th...") |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 42: | Line 42: | ||
Connecting to the robot arm using a simple TCP socket allows for data collection and command issuing. This can be done in any way you please, including Python, C++ and Telnet. Connect to the robot arm's IP on port 30003 for the best results. On this socket, a data stream is issued at 125Hz, containing most robot arm data of interest. A description of this data stream can be found at [http://support.universal-robots.com/Technical/RealTimeClientInterface UR's support site]. | Connecting to the robot arm using a simple TCP socket allows for data collection and command issuing. This can be done in any way you please, including Python, C++ and Telnet. Connect to the robot arm's IP on port 30003 for the best results. On this socket, a data stream is issued at 125Hz, containing most robot arm data of interest. A description of this data stream can be found at [http://support.universal-robots.com/Technical/RealTimeClientInterface UR's support site]. | ||
A list of commands available to control the robot can be found in [http://ur-update.dk/URsupport/ UR's manuals server] under Manuals/ScriptManuals/Release1.8/. | A list of commands available to control the robot can be found in [http://ur-update.dk/URsupport/ UR's manuals server] under Manuals/ScriptManuals/Release1.8/. | ||
==Performance Analysis== | |||
A performance analysis of the robot arm's MATLAB-interface has been conducted. The results can be downloaded [http://orbit.dtu.dk/en/publications/ur10-performance-analysis(0deaebd1-1593-4641-a971-e1ac0234ed88).html here]. It is strongly advised that anyone planning to work on the UR10 or UR5 reads this document before doing so. |
Latest revision as of 09:00, 18 May 2015
Two robot arms of the type UR10 are located in 326/011. In this wiki article, some documentation of how to use the robot arm is collected.
General information
The two robot arms are known to the computers in 326 as rt6 and rt7 respectively. To connect to the robots, use these ip aliases.
Starting the robot
To power on the robot, press the power button located just above the emergency stop butten on the screen box.
Once the robot has booted, a dialogue box appears titled "Robot has Changed Mode". To initialize and calibrate the robot, go to Initialization Screen using this popup. Once there, hit the topmost Auto button once to start the hardware. Then push and hold auto until the robot is done unlocking and autocalibrating. Keep an eye on the robot while doint this, as the robot calibrates by moving it's joints, and this might lead to collisions with itself or it's surroundings. Release and re-press the Auto button to reverse direction for the joints or, if necessary, initialize each joint manually. When done, hit OK.
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.
The most important DH parameters are listed here for reference: (Taken from UR homepage)
Joint | Type | a | α | d | θ | Offset |
---|---|---|---|---|---|---|
1 | Revolute | 0.00000 | π/2 | 0.1273 | q1 | 0.00 |
2 | Revolute | -0.612 | 0.00 | 0.00000 | q2 | -π/2 |
3 | Revolute | -0.5723 | 0.00 | 0.00000 | q3 | 0.00 |
4 | Revolute | 0.00000 | π/2 | 0.163941 | q4 | -π/2 |
5 | Revolute | 0.00000 | -π/2 | 0.1157 | q5 | 0.00 |
6 | Revolute | 0.00000 | 0.00 | 0.0922 | q6 | 0.00 |
Common errors and workarounds
Congestion Control on UR10's datastream
The UR controller program broadcasts data through a socket which appearantly has congestion control implemented using Nagle's Algorithm. This will result in very un-real-time behaviour in the form of bundled and delayed data packages if not accounted for. Upon recieving a package from the robot, force a TCP acknowledge from your own socket, either by sending a command, as you would in a feedback system, or use the socket flag TCP_QUICKACK to force an acknowledgement. This needs to be done upon recieving each data package.
Using the robot via the 'MATLAB-interface'
Connecting to the robot arm using a simple TCP socket allows for data collection and command issuing. This can be done in any way you please, including Python, C++ and Telnet. Connect to the robot arm's IP on port 30003 for the best results. On this socket, a data stream is issued at 125Hz, containing most robot arm data of interest. A description of this data stream can be found at UR's support site. A list of commands available to control the robot can be found in UR's manuals server under Manuals/ScriptManuals/Release1.8/.
Performance Analysis
A performance analysis of the robot arm's MATLAB-interface has been conducted. The results can be downloaded here. It is strongly advised that anyone planning to work on the UR10 or UR5 reads this document before doing so.