Drawing with the UR10 v2
Prepare the image
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.
Set-Up
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 theDocuments
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
orset multiple curves
and select them in Rhino. Then click OK.
- Use the Sim time dial to simulate the program.
Draw with the Robot
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.
Wishlist
- 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, …)