ur10_robot_arm:ur10_robot_arm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
ur10_robot_arm:ur10_robot_arm [2021/08/20 05:17] – [Grasshopper] formlabur10_robot_arm:ur10_robot_arm [2023/04/17 03:32] – [Grasshopper] formlab
Line 4: Line 4:
 Collaborative robot-arm   Collaborative robot-arm  
  
 +References:
 +  * [[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]]
 +===== 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) ====
  
-[[https://asd.sutd.edu.sg/dfab/a-geometric-inverse-kinematics-solution-for-the-universal-robot/|A Geometric Inverse Kinematics Solution for the Universal Robot]] +=== Define TCP === 
- +  * Click ‘new’ (you cant rename TCP’s) 
- +  * Define the position 
-Applications +    * Enter the offset by measuring, or use the wizardThe wizard lets you orient the physical TCP around a point in 4 different positions. 
- +  * Define the orientation (optional) 
-===== Software =====+    * Enter 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)
  
-==== UR_Playground ==== +Test the setup: 
-Universal Robot Software meant to introduce students to the artistic and experimental aspects of working with robots.\\  +  * 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.
-[[https://github.com/robin-gdwl/UR_Playground|Github page]]+
  
 ==== RoboDK ==== ==== RoboDK ====
Line 22: Line 35:
 ==== 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 'Robotsplugin (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 filesNot 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 rightclick '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-masteris created+== Robots.dll file == 
-    * Make a folder called 'Robots' in your user directory ('/Users/username/Robots'). + 
-    * Move the contents from 'Robots-master > Librariesto the newly created 'Robots' folder in the user directory.+If Rhino keeps asking to locate the Robots.dll filehere's a tipMake 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 'everyoneto 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 ==
Line 45: Line 61:
   * 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|}}
Line 54: Line 74:
     * With larger programs (1000+ targets(?)), there might be a delay after clicking upload and the arm moving.     * With larger programs (1000+ targets(?)), there might be a delay after clicking upload and the arm moving.
   * Larger programs (2500+ targets) cannot be streamed. Use the 'Save Program' module.\\ {{:ur10_robot_arm:robots_saveprogram.png?400|}}   * Larger programs (2500+ targets) cannot be streamed. Use the 'Save Program' module.\\ {{:ur10_robot_arm:robots_saveprogram.png?400|}}
-    * This file is created right away. +    * This file is created right away (it's streamed).
     * Change the .URS extension to .script     * Change the .URS extension to .script
-    * Open the script in a script editor, copy the function name at the top, and add to the bottom ''result = programname()''. Now the program will actually be ran.+    * Open the script in a script editor, copy the function name at the top, and add to the bottom ''result = programName()''. Now the program will actually be ran. Maybe this is an incompatibility between the e-series and the previous versions. Might be changeable in the post processor C# script.
     * Upload to the robot via SFTP (place it somewhere in the map '/programs').     * Upload to the robot via SFTP (place it somewhere in the map '/programs').
     * Make a new program, add the script module, change it from line to file, and load the file from the programs folder.     * Make a new program, add the script module, change it from line to file, and load the file from the programs folder.
     * This doesn't work for large files though. People are talking about splitting it up into sections. But it's unclear to me how.     * This doesn't work for large files though. People are talking about splitting it up into sections. But it's unclear to me how.
 +      * 485 targets works
 +      * 24673 targets already doesn't want to load :(
  
  
Line 69: Line 91:
   * [[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
Line 80: Line 115:
  
  
 +==== RoboDK ====
 +- [[https://www.youtube.com/watch?v=WmyIAgNyPC0|Reference Frame Definition]]
 +
 +
 +===== Hardware  =====
 ==== Toolhead connector ====  ==== Toolhead connector ==== 
  
 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+
  
  
Line 90: Line 129:
 {{: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|}}\\
  • ur10_robot_arm/ur10_robot_arm.txt
  • Last modified: 2023/04/17 03:40
  • by formlab