Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
ur10_robot_arm:ur10_robot_arm [2020/08/04 06:56] – [Define the grid] formlab | ur10_robot_arm:ur10_robot_arm [2025/09/08 03:00] (current) – [Connect to the robot] formlab | ||
---|---|---|---|
Line 4: | Line 4: | ||
Collaborative robot-arm | Collaborative robot-arm | ||
+ | References: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | ===== Software ===== | ||
+ | * [[ur10_robot_arm: | ||
+ | * [[ur10_robot_arm: | ||
+ | * [[ur10_robot_arm: | ||
+ | * Other possible control software | ||
+ | * Python | ||
+ | * [[https:// | ||
+ | ==== 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) | ||
- | ===== future tool heads ===== | + | Test the setup: |
- | * 3D scanner | + | * 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. |
- | * | + | |
- | ===== Brush attachment | + | ==== RoboDK |
+ | - [[https:// | ||
- | ===== 3D print attachment | + | - Direct computer-robot ethernet connection doesn' |
- | In development | + | ==== Grasshopper |
- | ===== Pen plotter attachment ===== | + | Grasshopper runs inside Rhino 7. In order to control the robot arm, a Grasshopper plugin is needed: Robots. |
- | ===== Webcam attachment ===== | ||
- | ===== DSLR attachment ===== | + | === Connect to the robot === |
- | ===== Hole drilling attachment ===== | + | (08/ |
- | {{: | + | Connect the Robot controller with an ethernet cable. |
- | This tool head was made to drill a grid of almost 500 holes into the base plate of the thermoform machine. | + | * Robot controller direct to the Mac |
+ | * Robot controller | ||
+ | * Robot controller to a network switch, which is connected to the main network | ||
- | ==== Physicial setup ==== | + | On the teaching pendant |
- | The program is made and executed on the teaching pendant. | + | * Select Static Address |
+ | * IP address: 192.168.185.99 | ||
+ | * Subnet Mask: 255.255.192.0 | ||
+ | * Default Gateway: 0.0.0.0 | ||
+ | * Preferred & Alternative DNS servers: | ||
- | {{:ur10_robot_arm: | + | On the computer, go to System Settings > Network > Ethernet > TCP/IP |
- | The Dremel is strapped to the upper arm of the robot and secured with zip ties, using a curved block of foam. | + | * Set ' |
+ | * IP Address: 192.168.185.88 | ||
+ | * Subnet Mask: 255.255.192.0 | ||
- | {{: | + | In the terminal, try pinging |
- | Slide the Dremel flex-arm in the 3D printed holder. Make sure it is attached | + | * '' |
+ | * If the ping returns data, you know the computer can reach the robot | ||
- | {{: | + | Now you can control |
- | I had a piece of wood on a table with a layer of thick cardboard underneath, but with the robot arm, it is possible to drill in walls, upright panels etc... (The cardboard | + | |
- | ==== Define the coordinate system of the stock material ==== | + | Current versions used: |
+ | * Rhino version: 7 (7.38.24338.17002, | ||
+ | * Grasshopper version 03/12/2024 build 1.0.0007 | ||
+ | * Robots (Visose) version: 1.4.1: [[https:// | ||
+ | * URRealtimeFeedback script for Grasshopper Robots: [[https:// | ||
- | {{: | + | Using a forked version |
- | Test the reach of the arm: can it get to the far corners? | + | |
- | {{: | ||
- | To define the coordinate system of the stock material, take the teaching pendant and go to '' | ||
- | * Add a plane and define the necessary points. In this case these are the corners of the sheet of MDF. | ||
- | * First point: this defines the origin of the feature. | ||
- | * Second point: this defines the Y axis. | ||
- | * Third point: this defines the X axis. | ||
- | Save the file with a clear name. | ||
- | ==== Define the grid ==== | ||
- | In this example, the drill makes a grid of 495 holes. The program is based on a wizard for palletizing. | ||
- | On the teaching pendant, load the following program: '' | + | === The Robots plugin === |
- | Let's define 4 points where the outer most actions of the palletising sequence will take place. These points will become the corner-holes. | + | == Installation == |
- | {{: | + | * In Rhino, go to '' |
- | In the program tree, click item '' | + | * Search for ' |
- | Click '' | + | * Select version '' |
+ | * Everything below version | ||
+ | * Briefly tested versions: | ||
- | {{: | + | == Robots.dll file == |
- | From the upper right drop down menu, select the feature you defined previously. | + | |
- | {{: | + | If Rhino keeps asking to locate |
- | To make the drill point straight down, click on one of the number boxes under '' | + | * On mac: cmd + i, under sharing & permissions, |
+ | * Location of the robots.dll file: | ||
+ | * '' | ||
- | {{: | + | == Guides == |
- | Change drop down menu '' | + | |
- | * Set RX to '' | + | |
- | * Set RY to '' | + | |
- | * Set RZ to '' | + | |
- | {{:ur10_robot_arm:griddril_define_grid_06_speed_web.jpg?600|}}\\ | + | * [[https:// |
- | Lower the speed for safety. | + | * There are a few example files in (' |
+ | * I followed this [[https://www.youtube.com/ | ||
+ | * Robots guide by [[https:// | ||
+ | * Drawing with robots [[https:// | ||
+ | * [[https:// | ||
- | Manually move the arm to the first position, using the on screen arrows. | + | I tried adapting |
- | {{: | ||
- | When arrived at the first position, carefully move the arm down so that the drill almost touches the wooden surface. Keep a millimeter of safety margin. | ||
- | Click '' | + | == Tips == |
+ | * The first target should be a joint target. Following ones can be cartesian targets. | ||
+ | == Upload script to robot == | ||
+ | * Small programs can be streamed directly to the robot with the 'Remote Connection' | ||
+ | * Send the program to the robot by clicking | ||
+ | * The arm starts moving without warning(!). | ||
+ | * With larger programs (1000+ targets(? | ||
+ | * Larger programs (2500+ targets) cannot be streamed. Use the 'Save Program' | ||
+ | * This file is created right away (it's streamed). | ||
+ | * 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 '' | ||
+ | * Upload to the robot via SFTP (place it somewhere in the map '/ | ||
+ | * Make a new program, add the script module, change it from line to file, and load the file from the programs folder. | ||
+ | * This doesn' | ||
+ | * 485 targets works | ||
+ | * 24673 targets already doesn' | ||
- | ==== Define | + | === URRealtimeFeedback plugin for Robots |
- | This is the sequence | + | This is a grasshopper file with some builtin scripts that allows to receive |
- | We will only be defining heights, since the X-Y location will be taken from the grid locations later. | + | |
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | == Setup == | ||
+ | * Do not connect to the LAN network of KASK. Instead connect | ||
+ | * Set the computer to a static IP address that is the same as the Robot' | ||
+ | |||
+ | |||
+ | * < | ||
+ | * or | ||
+ | * < | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Related ' | ||
+ | * Wirecutting with Grasshopper & Robots ([[https:// | ||
+ | ==== FTP connection ==== | ||
+ | * Use FIleZilla | ||
+ | * Host: '' | ||
+ | * Username: root | ||
+ | * Password: easybot | ||
+ | * Port: 22 (also works without entering anything here) | ||
+ | |||
+ | Location of program (URP) or script (URS) files: ''/ | ||
+ | |||
+ | |||
+ | ==== RoboDK ==== | ||
+ | - [[https:// | ||
+ | |||
+ | |||
+ | ===== Hardware | ||
+ | ==== Toolhead connector ==== | ||
+ | |||
+ | A suitable cable that mates to the toolhead connector is [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | ===== Broom handle attachment ===== | ||
+ | {{: | ||
+ | {{: | ||
+ | ===== 3D printer (Clay) ===== | ||
+ | In development | ||
+ | |||
+ | {{: | ||
+ | ===== 3D printer (Plastic) ===== | ||
+ | In development | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | ===== Pen plotter ===== | ||
+ | {{: | ||
+ | |||
+ | Used by [[http:// | ||
+ | |||
+ | [[Drawing with the UR10]] (RoboDK).\\ | ||
+ | [[Drawing with the UR10 V2]] (Grasshopper) | ||
+ | ===== Webcam attachment ===== | ||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | ===== DSLR attachment ===== | ||
+ | |||
+ | ===== Hole drilling attachment ===== | ||
+ | {{: | ||
+ | {{: | ||
+ | This tool head turns the robot into an automated hole drilling machine. Good for elaborate hole patterns that would be tedious to do manually. | ||
- | {{:ur10_robot_arm:griddrill_drilling_sequence_01_patternpoint_web.jpg? | + | Based on [[https:// |
- | Under '' | + | |
- | Position the drill about 1mm above the surface. | + | |
- | {{:ur10_robot_arm: | + | The 3D printed part attaches to a [[https://www.grip-gmbh.com/ |
- | Define '' | + | |
- | {{: | + | Download the 3D files {{ : |
- | * Define Down —> '' | + | Attach |
- | * Define Down —> '' | + | Attach |
- | * Define Up —> '' | + | |
- | * Define Up —> '' | + | |
- | * Define '' | + | |
- | ==== Define the pattern ==== | + | === Applications |
+ | * [[: | ||