Skip to content
visose edited this page Jun 28, 2026 · 30 revisions
Robots

Robots is a Rhino 8 and Grasshopper plugin, with a .NET API, for creating, checking, simulating, and saving industrial robot programs. It includes postprocessors for ABB, KUKA, UR, Staubli, Franka Emika, Doosan, Fanuc, Igus, and Jaka robots. Controller features vary by manufacturer, so a program can be valid for one robot family and rejected for another.

Robots is meant to help with offline programming, preview, and code generation. It is not a substitute for controller-side safety validation, real cell commissioning, or testing at reduced speed on the physical robot.

Start

If you are new to Robots, start with Getting started. It covers installation, installing a robot library, and making a first checked program.

If you already have Robots installed, use Workflow guide. It explains how to structure a practical Grasshopper definition, where checks happen, and what to review before moving code to a robot.

Choose a Path

Goal Read
Install the plugin and make a first program Getting started
Build a real Grasshopper robot definition Workflow guide
Understand units, coordinate systems, and the overall model Core concepts
Look up a Grasshopper component Components
Look up targets, tools, speeds, zones, frames, programs, and parameters Parameters
Understand animation, fly-by zones, duration estimates, and collision checks Simulation
Work with supported robot brands and controller-specific limitations Manufacturer support
Create or edit robot, tool, frame, display mesh, and collision mesh libraries Robot libraries
Save, transfer, upload, or run generated programs Uploading programs
Use Robots from .NET, Rhino scripts, or custom plugins Scripting
Diagnose a broken definition or installation Troubleshooting

Common workflows

Grasshopper programming

Use this when you want to create and save a robot program from a Grasshopper definition. The usual component chain is:

Load Robot System -> Create Tool -> Create Target -> Create Program -> Program Simulation -> Save Program

Add commands, frames, external axes, collision checks, and remote upload only when the cell needs them. See Workflow guide for the recommended validation loop.

Robot library work

Use this when a robot, positioner, track, tool, or frame is missing from the library. Libraries are pairs of XML and 3DM files. The XML stores controller and kinematic data; the 3DM stores display meshes and optional collision meshes. See Robot libraries.

Scripting and automation

Use the Robots NuGet package for .NET 8 applications outside Rhino, or Robots.Rhino when developing Rhino or Grasshopper plug-ins. See Scripting.

When Something Fails

Most failures should be handled at Create Program. Errors mean no controller code was generated. Warnings mean code may have been generated but something still deserves review. See Troubleshooting for common causes and the shortest path to diagnosing them.

Safety

Always review generated code before running it. Start with low speed, keep clear of the robot work envelope, and use the robot controller's normal safety systems. Simulation and collision checking can find many programming mistakes, but they cannot prove that a real robot cell is safe.

Clone this wiki locally