Skip to content

Core concepts

visose edited this page Jun 28, 2026 · 1 revision

Robots is a Rhino and Grasshopper toolkit for offline industrial-robot programming. The core loop is simple: load a robot system, define the objects used by the job, create targets, build a program, review warnings and errors, simulate, then save or upload controller code.

This page is the map. Detailed behavior for Target, Speed, Zone, Frame, Tool, Program, and the other typed objects lives in Parameters. Component-specific workflow notes live in Components.

Program flow

  1. Load a Robot System from a library.
  2. Define or load the Tool, Frame, Speed, Zone, and Command values needed by the job.
  3. Create Targets or Toolpaths.
  4. Create a Program from the robot system and target data.
  5. Review warnings and errors.
  6. Simulate motion and, when needed, check collisions.
  7. Save or upload generated controller code.

The same model is used from Grasshopper, Rhino scripts, and .NET applications.

Units

Grasshopper inputs and generated program data use fixed units, regardless of the Rhino document unit system.

Quantity Unit
Length Millimeters
Angle Radians
Weight Kilograms
Time Seconds
Linear speed Millimeters per second
Angular speed Radians per second
Linear acceleration Millimeters per second squared
Angular acceleration Radians per second squared

Robot library XML has a few legacy conventions of its own: revolute joint ranges, revolute joint speeds, and DH angle fields are written in degrees. See Robot libraries.

Coordinate systems

Robots uses a right-handed coordinate system.

  • World coordinate system: the Rhino document coordinate system. The Base input on Load Robot System places the robot system in this space.
  • Robot coordinate system: the robot base coordinate system. By default, robots are placed on World XY. The X axis points away from the front of the robot and the Z axis points up.
  • Tool coordinate system: the TCP coordinate system relative to the flange. The Z axis points away from the flange and the X axis points downward.
  • Frame coordinate system: the target work coordinate system. Target planes are interpreted relative to their frame. See Frame Parameter.

Coordinate systems

Object model

Object Role Details
Robot System The robot cell: arm, external axes, IO, meshes, controller family, and postprocessor. Robot System Parameter
Tool End effector data: TCP, load, centroid, preview mesh, collision mesh, controller tool references. Tool Parameter
Frame Work coordinate system, including optional coupling to an external mechanism or coordinated robot. Frame Parameter
Speed Speed, acceleration, external-axis, and optional time settings. Speed Parameter
Zone Stop point or fly-by approximation settings. Zone Parameter
Command Target or initialization action, such as messages, waits, IO, stop, or custom controller code. Command Parameter
Target A joint or Cartesian robot pose plus tool, frame, speed, zone, command, and external-axis values. Target Parameter
Toolpath Ordered targets passed as a single value. Toolpath Parameter
Program Checked target data, warnings, errors, simulation, duration estimate, and generated code. Program Parameter

Validation boundaries

Create Program is the main validation boundary. It checks target counts, axes, frames, tools, payloads, kinematics, motion support, command support, and postprocessor support before code is saved or uploaded. The detailed checklist and warning/error behavior are documented in Program Parameter.

Manufacturer support is not uniform. A program that is valid for one robot family can be rejected for another. See Manufacturer support.

Simulation scope

Robots programs contain a kinematic, non-dynamic simulation for reviewing sequence, reach, sampled motion, fly-by zones, and collision geometry. The detailed simulation scope and limitations live in Simulation.

Related pages

Clone this wiki locally