ur10_robot_arm:drawing_with_the_ur10_v2

Drawing with the UR10 v2

With Grasshopper

This is a preliminary summary. Will change!

Export a vector image from inkscape.

TODO: experiment with grouping etc. Jerry has a script that make the axidraws draw curves in a logical order, rather than jumping around.

Install the software

  • Make sure Rhino and Grasshopper 7 are installed
  • Install the Robots plugin:
    • HD/Users/username/Library/Application Support/McNeel/Rhinoceros/packages/7.0/Robots/Robots.dll
  • Download the Robot library and install locally. There's an online library as well, but it seems like the KU Leuven file is not in that list.
    • Place at least one pair of XML & 3DM files inside a folder named Robots in the Documents folder:
    • HD/Users/username/Robots/

Open Grasshopper file

  • Researchers > Unfold > UR10 plotter 02.gh.
  • Rhino starts up and automatically loads the connected file UR10 plotter 02.3dm.

In the Grasshopper file, the logic is defined.
The Rhino file is used to load and position vector images, so Grasshopper can use it.

Connect the robot to Grasshopper

Turn on the robot.

Connect the computer to the robot
  • Use an ethernet cable going over a switch. Connecting directly to the robot doesn't work.
  • Don't connect to the LAN of KASK. The robot won't be able to connect to the network. Use a separate switch or remove all the connections except the one going to the robot and the computer.
  • If you use a laptop: Use the MiniDisplay to Ethernet adapter that is labeled Formlab. I had another one fail (the same model), which is annoying to debug.
  • IP address: 192.168.185.99
  • Subnet masker: 0.0.0.0
  • Default Gateway: 0.0.0.0
  • Preferred DNS Server: 0.0.0.0
  • Alternative DNS Server: 0.0.0.0
Define the TCP
  • Use the wizard on the teaching pendant
  • Set the current TCP as default
  • Save the settings in the installation tab.
Get the current pose into Grasshopper
  • On the top of the sketch, switch to Real Robot
  • In the section Get data from real robot, enable geometry display.
  • Press Get Robot Position. You should see a 3D rendering of the physical position of the robot in Rhino.
    • Verify if it's the same pose as the real robot.
  • This defines the home position of the robot.
Define the work frame
  • Touch the TCP of the robot arm on 3 points of the work frame: left bottom, right bottom, right top.
  • After every position, in Grasshopper, click on Get Point in the 'Construct Frame With Robot' section.
  • When done, two grey area's show up in Rhino.
    • The light grey area is the place where the drawing will happen
    • The dark blue area is the place to put the vector image. Look at the numbers (0, 1, 2) for orientation.
Load vector file
  • in Rhino, import a vector file (SVG for example)
  • Position it in the dark blue rectangle. Look at the numbers (0, 1, 2) for orientation.
  • In Grasshopper, on the left of the plotting section select the curve-object under 'vector image'.
    • Right-click on it and select set curve or set multiple curves and select them in Rhino. Then click OK.
  • Use the Sim time dial to simulate the program.

Send the program to the robot

  • Click Upload in the 'send to robot' section.
  • The first time you might need to click 2x
  • It is successful when a popup appears on the teaching pendant

Run the program on the robot

  • Before the popup appears, go to the program tab and set the speed to 50%.
  • Click run on the popup and be ready to lower the speed or press the emergency stop button.
  • The program can also be stopped by clicking on the stop-icon on the teaching pendant.
  • The robot will move from it's current position to the home position, and from there to the targets defined in the program.
  • Don't go back to home after the last point, but move a few centimeters away from the last point instead.
  • The ability to insert subroutines (for example: after drawing a curve, pick up another colour pencil, or dip a brush in some paint, …)
  • ur10_robot_arm/drawing_with_the_ur10_v2.txt
  • Last modified: 2023/02/08 07:10
  • by formlab