Remote TCP & Toolpath URCap FAQ
This section contains questions and answers about the Remote TCP & Toolpath URCap.
ACTIVATION AND COMPATIBILITY
Q: Which version of Polyscope includes the Remote TCP & Toolpath URCap?
A: Polyscope 5.6 and above.
Q: Which robots support Remote TCP & Toolpath URCap?
A: UR3e, UR5e, UR10e, and UR16e.
Q: Where can I find the Remote TCP & Toolpath URCap in Polyscope?
A: Go to Hamburger Menu > Settings > System > URCaps.
Q: Is there a charge for using the Remote TCP & Toolpath URCap?
A: No. It is offered as part of Polyscope to all the UR users at no charge. However, you must register the robot and activate the license.
Q: How can I activate the Remote TCP & Toolpath URCap?
A: The instructions on how to activate this URCap can be found on Hamburger Menu > Settings > System > URCaps > URCap Information.
- Step 1. Sign in at www.universal-robots.com/activate
- Step 2. Download the registration file to your USB drive
- Step 3. Plug your USB drive into the teach pendant and tap Activate to load the registration file
Here is a step-by-step tutorial video.
Q: How is the Remote TCP & Toolpath URCap compatible with other functions and nodes in Polycope?
A: The move nodes generated by this URCap are not compatible with other Polyscope nodes that can alter robot motion, for example, the force node, palletizing, conveyor tracking, online path adjustment. They can be used in the same program tree as long as they are separate from the Remote TCP & Toolpath nodes.
Q: I want to continue using Polyscope 5.3 to keep my existing programs running. Do you offer the Remote TCP & Toolpath URCap as a standalone product so that I can install it on my robot?
A: The Remote TCP & Toolpath URCap is bundled with Polyscope 5.6 and above. There is currently no plan to offer it as a standalone product.
G-code and Toolpath
Q: What is G-code?
A: According to Wikipedia, G-code is a language in which people tell computerized machine tools how to make something. The "how" is defined by G-code instructions provided to a machine controller (industrial computer) that tells the motors where to move, how fast to move, and what path to follow.
The Remote TCP & Toolpath URCap automatically converts imported G-code files into robot motions, eliminating the burden for the user to manually teach a series of waypoints to trace a complex trajectory.
Q: Which G-codes are supported by the Remote TCP & Toolpath URCap?
A: The Remote TCP & Toolpath URCap allows the user to import G-code directly into Polyscope. Here is a list of G-codes it currently supports:
- G00-03*: Rapid, linear, and circular/helical moves
- G17-19: Plane selection for circular/helical moves
- G20-21: inch/mm unit
- G68.2: Define tilted work plane
- G69: Cancel tilted work plane
- G90-91: Absolute/incremental programming
*Note: For G00 and G01, it is recommended to create multiaxis toolpaths using head axes instead of turntable axes. In terms of G-code, this means only using B and C axes for motions.
G-codes not in the above list are generally ignored by the URCap. In particular, the parser will ignore the following G-codes till the end of the line since they are usually followed with the same addresses used by G00-03 or G00-03 themselves.
- G28, G43-44, G53, G70-74
To avoid unintended moves, it is recommended to only use supported G-codes.
Starting from Polyscope 5.11.5, a set of M-codes is supported in NC files so that the robot can trigger its end-effectors while executing a toolpath move. For example:
- G4 P.5 -> Dwell for 0.5 second
- G01 X100 Y100 M62 P0 -> Set Port 0 high
- X200 M63 P0 -> Set Port 0 low
- G01 X100 Y100 M62 P1 -> Set Port 1 high
- X200 M63 P1 -> Set Port 1 low
- M66 P0 L3 -> Wait for Port 0 to turn high
- M66 P1 L4 -> Wait for Port 1 to turn low
- M66 P0 L3 Q5 -> Wait for Port 0 to turn high and time out after 5 seconds
- M66 P1 L4 Q7 -> Wait for Port 1 to turn low and time out after 7 seconds
For more instructions on how to use the M-codes to control end-effectors, please refer to this support article.
Q: Which software can I use to generate G-code files?
A: To generate G-code files compatible with the Remote TCP & Toolpath URCap, please select the appropriate post-processor in your CAD/CAM software. For example:
- Autodesk Fusion 360
- Post-processor: Universal Robots (up to 5-axis)
- SOLIDWORKS CAM
- Post-processor: M3AXIS-TUTORIAL
We also developed the Universal Robots Toolpath Generator for SOLIDWORKS, which is a SOLIDWORKS Add-in for generating 2.5-axis toolpaths for UR robots.
Q: Do you support any other toolpath formats besides G-code?
A: G-code is the most widely used format and has been around for a long time. It is currently the only format we support. If there are any other toolpath formats you would like us to support, please contact Technical Support using the Request Information from UR+ Partner button on the UR+ product page.
Q: I have a DXF file that defines the trajectory I want my robot to follow. How is this format different from G-code?
A: A DXF file defines the geometry only, which is just one aspect of a toolpath. Other important aspects are travel direction and tool orientation along the toolpath, which cannot be defined in a DXF file. Therefore, the URCap does not support DXF or similar graphic image formats.
Performance
Q: What is the maximum tool speed I can set when executing a toolpath move?
A: The tool speed can be set up to 250 mm/s. A warning message will be displayed if the robot cannot maintain the specified tool speed.
Q: How accurately can the robot follow an imported toolpath?
A: The accuracy depends on the user settings. If the corner radius is greater than 5 mm and the tool speed is below 200 mm/s, you can expect the accuracy of the TCP position to be +/- 1 mm. The accuracy could be higher with a larger corner radius and lower tool speed.
Other factors, such as robot model, TCP type (remote vs. regular), motion type (toolpath moves vs. linear & circle moves), tool acceleration, and payload, do not have a significant impact on path accuracy.
Programming
Q: Which applications can I use the Remote TCP & Toolpath URCap for?
A: This URCap was specifically developed for process applications, such as dispensing, gluing, deburring, and sewing. Other applications, such as polishing, welding, painting, and even machining and 3D printing may also benefit from this URCap.
Q: This is my first time to use the Remote TCP & Toolpath URCap. Where can I find instructions?
A: There are a few places you can check:
- The URCap itself embeds step-by-step instructions that guide you through the process.
- More detailed instructions can be found in the Polyscope User Manual, available for download from our Support Site.
- The Support Site also has a few technical notes and tutorial videos explaining how to set up real tasks. Please find the links on the right.
- If you still have questions about how to use this URCap, please contact Technical Support using the Request Information from UR+ Partner button on the UR+ product page.
Q: I finished creating a program with some toolpath moves, but the robot does not follow the trajectory on the part as expected. What can I do to fix the issue?
A: There are a few things we can check:
- The G-code file is generated based on a CAD model of your part. Make sure your CAD model is accurate, and the right features are selected when generating the toolpath.
- The robot executes a toolpath move based on the Part Coordinate System (PCS). Make sure the PCS is registered accurately.
- When using a fixed PCS, make sure the part is presented to the robot (regular TCP) or grabbed by the robot (Remote TCP) in a consistent manner. Any offset from the initial PCS registration will cause inaccuracy in motion.
Q: When I run a program that includes a toolpath move, the robot tries to flip its end-effector and keeps running into self-collision or joint limit. What is the problem?
A: Please double check the configuration of your TCP or Remote TCP. According to the G-code convention, the Z-axis of the tool is perpendicular to and pointing away from the part surface.
Q: When I play my program, an error message pops up, indicating the robot cannot maintain its tool speed. What shall I do?
A: Please try the following:
- Reduce your tool speed.
- Avoid sharp corners by adjusting your toolpath file or increase the blend radii.
- Make sure your robot is not close to any singularity.
If the program still does not run after these adjustments, please try to adjust your robot pose or change the location of your part or Remote TCP.
Q: On the Regular TCP Toolpath Move page, there is an option called “spin tool freely around its Z-axis”. What does this option do?
A: As the name suggests, this option allows the robot to spin the tool freely around the Z-axis of the TCP. When this option is on, the robot will automatically determine optimal joint configurations and avoid singularities if possible, which makes it easier for you to program the toolpath move.
Q: I want to trace a trajectory on a part that is not fixed to the same location in the workspace every time. Is there a way to adjust the robot motion based on the part position and orientation?
A: Yes. You can choose to use a variable PCS instead of a fixed PCS. Please create a pose variable as a PCS and use a URScript node to update this variable based on sensor input.
Q: Can I trigger I/O’s while the robot is executing a toolpath move? For example, turning a dispenser on and off?
A: If your robot is running Polyscope 5.11.5 and above, please refer to this support article. If the Polyscope version is below 5.11.5, please refer to this support article instead.
Q: Can I vary the tool speed along a toolpath? For example, I want the robot to slow down at corners.
A: Yes, if you choose to use the feed rate defined in the G-code file, the robot will use that as the tool speed. You can define different feed rates in the same G-code file.
You can also vary the tool speed on the fly while a program is running, using the speed slider or the URScript function mc_set_speed_factor(s).
Q: Can I make changes to the toolpath files from the teach pendant?
A: This function is currently not available. Please make any changes to your G-code toolpath file in your CAD/CAM software, generate a new G-code file, and import it into Polyscope.
Q: Can I dynamically adjust the robot motion based on feedback from a vision or force/torque sensor while it is running a toolpath move? Can I use the Remote TCP & Toolpath URCap with the Force node?
A: These functions are not available in the URCap. If your application requires closed-loop feedback control with an external sensor, please contact your local UR representatives for suggestions.
Q: Can I test a program with toolpath moves in URSim?
A: Yes. Please follow these steps to create a directory to store the G-code toolpath files.
- Open System Tools > XTerm in URSim.
- Go to root directory: cd /
- Create a new folder called "programs": sudo mkdir programs
- Grant permission to access "programs": sudo chmod guoa+wx programs
Then save your toolpath files in this newly created Programs folder. They will appear as imported toolpath files when you refresh the Toolpath page in the URCap.
Q: I am a URCap developer and want to embed some of the functionalities of the Remote TCP & Toolpath URCap into my URCap. Is there a way to do that?
A: Yes. The Remote TCP & Toolpath URCap comes with a URScript API. For more details, please refer to this support article.
Q: Which RTDE registers are used by the Remote TCP & Toolpath URCap?
A: The URCap is using input_int_register_24 to 27, input_double_register_24 to 31, timestamp, robot_status_bits, runtime_state, actual_execution_time, actual_q, actual_qd, actual_TCP_pose, target_speed_fraction, speed_scaling, output_double_register_24, and actual_digital_input_bits.