Both sides previous revisionPrevious revisionNext revision | Previous revision |
ur10_robot_arm:ur10_robot_arm [2021/08/20 07:26] – formlab | ur10_robot_arm:ur10_robot_arm [2023/04/17 03:40] (current) – [RoboDK] formlab |
---|
* [[https://asd.sutd.edu.sg/dfab/a-geometric-inverse-kinematics-solution-for-the-universal-robot/|A Geometric Inverse Kinematics Solution for the Universal Robot]] | * [[https://asd.sutd.edu.sg/dfab/a-geometric-inverse-kinematics-solution-for-the-universal-robot/|A Geometric Inverse Kinematics Solution for the Universal Robot]] |
* [[https://www.zacobria.com/pdf/universal_robots_zacobria_hints_and_tips_manual_1_4_3.pdf|Hints and tips by Zacobria]] | * [[https://www.zacobria.com/pdf/universal_robots_zacobria_hints_and_tips_manual_1_4_3.pdf|Hints and tips by Zacobria]] |
| ===== Software ===== |
| * [[ur10_robot_arm:ur10_robot_arm#polyscope_the_teaching_pendant|Polyscope (the teaching pendant)]] |
| * [[ur10_robot_arm:ur10_robot_arm#grasshopper|Grasshopper]] |
| * [[ur10_robot_arm:ur10_robot_arm#robodk|Rodo-DK]] |
| * Other possible control software |
| * Python |
| * [[https://etasl.pages.gitlab.kuleuven.be/|eTaSL]] |
| ==== Polyscope (the teaching pendant) ==== |
| |
Applications | === Define TCP === |
| * Click ‘new’ (you cant rename TCP’s) |
| * Define the position |
| * Enter the offset by measuring, or use the wizard. The wizard lets you orient the physical TCP around a point in 4 different positions. |
| * Define the orientation (optional) |
| * Enter a custom orientation in case the TCP is not normal to the flange. |
| * Define a tool weight and center of gravity. |
| * Click ‘set as default’ |
| * Save the installation setting (on the left bar) |
| |
===== Software ===== | Test the setup: |
| * rotate the robot around the TCP on the teaching pendant (move tab). The tool tip should stay still in space while the rest of the robot rotates around it. |
==== UR_Playground ==== | |
Universal Robot Software meant to introduce students to the artistic and experimental aspects of working with robots.\\ | |
[[https://github.com/robin-gdwl/UR_Playground|Github page]] | |
| |
==== RoboDK ==== | ==== RoboDK ==== |
- [[https://www.youtube.com/watch?v=WmyIAgNyPC0|Reference Frame Definition]] | - [[https://www.youtube.com/watch?v=WmyIAgNyPC0|Reference Frame Definition]] |
| |
| - Direct computer-robot ethernet connection doesn't work. You need a switch or a router. The computer's IP address should be set to DHCP. |
==== Grasshopper ==== | ==== Grasshopper ==== |
| |
Grasshopper runs inside Rhino 7. In order to control the robot arm, a plugin is needed: | Grasshopper runs inside Rhino 7. In order to control the robot arm, a Grasshopper plugin is needed: Robots. |
| |
=== The Robots plugin === | |
| |
| === The Robots plugin === |
== Installation == | == Installation == |
| |
Install 'Robots' plugin (on Mac) for Grasshopper on Rhino 7: | * In Rhino, go to ''Tools > Package Manager'' and select the ''online'' tab. |
* Download the last release of the plugin: [[https://github.com/visose/Robots/releases]]. | * Search for 'Robots' and select the 'Robots' plugin. If you select it, check the Github url: the author is visose. |
* In Grasshopper, go to 'File > Special Folders > Components Folder'. This opens a finder window. | * Select version ''1.4.1'' and click install (restart Rhino after). |
* Put the downloaded files ('Robots.dll', and 'Robots.gha') in this folder. | * Everything below version ''1.5.0'' probably works. |
* Instructions were given to Windows users to give write permission to the files. Not sure if it applies to MacOS too. | * Briefly tested versions: ''1.0.1'', ''1.3.0'', ''1.4.1'' seem to work. ''1.5.0'', ''1.6.0'' are too new for the get-current-position-script (see below). |
* Download the zip file from this Github repository: [[https://github.com/visose/Robots]]: on the top right, click 'code > download .zip'. Alt+click to download individual files doesn't work as it results in HTML files instead of the raw xml files. | |
* Unzip the file. A folder 'Robots-master' is created. | == Robots.dll file == |
* Make a folder called 'Robots' in your user directory ('/Users/username/Robots'). | |
* Move the contents from 'Robots-master > Libraries' to the newly created 'Robots' folder in the user directory. | If Rhino keeps asking to locate the Robots.dll file, here's a tip. Make all grasshopper projects (files with a ''.gh'' extension) writable. This way you'll need to reference the location of the ''robot.dll'' file only once. |
| * On mac: cmd + i, under sharing & permissions, change the privilege of 'everyone' to Read & Write. |
| * Location of the robots.dll file: |
| * ''username/Library/Application Support/McNeel/Rhinoceros/packages/7.0/Robots/1.4.1/Robots.dll'' |
| |
== Guides == | == Guides == |
* Robots guide by [[https://wiki.fablabbcn.org/ROBOTS|Fab Lab Barcelona]] (almost a complete copy from Robots How-To-Use). | * Robots guide by [[https://wiki.fablabbcn.org/ROBOTS|Fab Lab Barcelona]] (almost a complete copy from Robots How-To-Use). |
* Drawing with robots [[https://www.youtube.com/watch?v=vyYAmu00xMg&t=1019s&ab_channel=KarlSingline|video tutorial]]. Uses KukaPRC instead of 'Robots', but workflow might be useful. | * Drawing with robots [[https://www.youtube.com/watch?v=vyYAmu00xMg&t=1019s&ab_channel=KarlSingline|video tutorial]]. Uses KukaPRC instead of 'Robots', but workflow might be useful. |
| * [[https://www.youtube.com/playlist?list=PLqtxhH1qb3Mw5A_YbvHDfrq4DNNfLtcW-|Youtube video series 'programming robots in Grasshopper']] |
| |
I tried adapting the 'simple example' by changing the Kuka robot to a UR10 robot. It works, but the initial position is all wrong. In [[http://fab.cba.mit.edu/classes/863.19/Harvard/people/joonhaenglee/week14/week14.html|this guide]] Joonhaeng Lee at [[http://cba.mit.edu/|MIT's center for bits and atoms]] describes a solution to this problem. | I tried adapting the 'simple example' by changing the Kuka robot to a UR10 robot. It works, but the initial position is all wrong. In [[http://fab.cba.mit.edu/classes/863.19/Harvard/people/joonhaenglee/week14/week14.html|this guide]] Joonhaeng Lee at [[http://cba.mit.edu/|MIT's center for bits and atoms]] describes a solution to this problem. |
| |
| |
| == Tips == |
| * The first target should be a joint target. Following ones can be cartesian targets. |
== Upload script to robot == | == Upload script to robot == |
* Small programs can be streamed directly to the robot with the 'Remote Connection' module.\\ {{:ur10_robot_arm:robots_sendtorobot.png?400|}} | * Small programs can be streamed directly to the robot with the 'Remote Connection' module.\\ {{:ur10_robot_arm:robots_sendtorobot.png?400|}} |
* [[https://www.youtube.com/watch?v=c1BiL6fXkgs&ab_channel=robin_gdwl|Demo video]] | * [[https://www.youtube.com/watch?v=c1BiL6fXkgs&ab_channel=robin_gdwl|Demo video]] |
| |
| == Setup == |
| * Do not connect to the LAN network of KASK. Instead connect to the robot arm directly, or via a separate switch. |
| * Set the computer to a static IP address that is the same as the Robot's, except for the last number |
| |
| |
| * <code>Computer -------------- Robot arm</code> |
| * or |
| * <code>Computer --- Switch --- Robot arm</code> |
| |
| |
| |
| |
| == Related 'Robots' projects == |
| * Wirecutting with Grasshopper & Robots ([[https://www.youtube.com/watch?v=-JtDSXmi1YI&ab_channel=GediminasKirdeikis|video]]) |
==== FTP connection ==== | ==== FTP connection ==== |
* Use FIleZilla | * Use FIleZilla |
| |
Location of program (URP) or script (URS) files: ''/programs'' | Location of program (URP) or script (URS) files: ''/programs'' |
| |
| |
| ==== RoboDK ==== |
| - [[https://www.youtube.com/watch?v=WmyIAgNyPC0|Reference Frame Definition]] |
| |
| |
===== Hardware ===== | ===== Hardware ===== |
A suitable cable that mates to the toolhead connector is [[https://www.lumberg-automationusa.com/con/pdf/RKMV8354.pdf|Lumberg RKMV 8-354]] | A suitable cable that mates to the toolhead connector is [[https://www.lumberg-automationusa.com/con/pdf/RKMV8354.pdf|Lumberg RKMV 8-354]] |
| |
| |
===== future tool heads ===== | |
* 3D scanner tool head | |
| |
| |
{{:ur10_robot_arm:urbroomhandle.jpg?600|}}\\ | {{:ur10_robot_arm:urbroomhandle.jpg?600|}}\\ |
{{:ur10_robot_arm:urbroomhandle_02_web.jpg?600|}}\\ | {{:ur10_robot_arm:urbroomhandle_02_web.jpg?600|}}\\ |
===== 3D print attachment ===== | ===== 3D printer (Clay) ===== |
| In development |
| |
| {{:ur10_robot_arm:urprinter_clay.jpg?600|}} |
| ===== 3D printer (Plastic) ===== |
In development | In development |
| |
{{:ur10_robot_arm:urprinter.jpg?600|}}\\ | {{:ur10_robot_arm:urprinter.jpg?600|}}\\ |
===== Pen plotter attachment ===== | |
| |
| ===== Pen plotter ===== |
{{:ur10_robot_arm:urprlotter.jpg?600|}}\\ | {{:ur10_robot_arm:urprlotter.jpg?600|}}\\ |
| |
Used by [[http://hisk.edu/mw/index.php/Diego_Lama|Diego Lama]] to scratch drawings into car parts | Used by [[http://hisk.edu/mw/index.php/Diego_Lama|Diego Lama]] to scratch drawings into car parts |
| |
[[Drawing with the UR10]] | [[Drawing with the UR10]] (RoboDK).\\ |
| [[Drawing with the UR10 V2]] (Grasshopper) |
===== Webcam attachment ===== | ===== Webcam attachment ===== |
{{:ur10_robot_arm:urbwebcam.jpg?600|}}\\ | {{:ur10_robot_arm:urbwebcam.jpg?600|}}\\ |