RapidRobot Software

An agile and intuitive solution to simulate, program, and control robots.

RapidRobot Software

RapidRobot is a plugin that allows our open RMP EtherCAT soft motion controller to be work with RoboDK’s Robot software user interface. The combination of RoboDK’s intuitive UI and our motion controls delivers a complete motion package for any robotic application.

Offline Programming

Simulation and Offline Programming of industrial robots has never been easier. Easily set up a virtual environment, create reference frames, targets and programs offline for many applications. You don’t need to learn brand-specific programming languages anymore.

Offline Programming (or Off-Line Programming) means programming robots outside the production environment. Offline Programming eliminates production downtime caused by shopfloor programming. Simulation and Offline Programming allows studying multiple scenarios of a work cell before setting up the production work cell. Mistakes commonly made in designing a work cell can be predicted in time.

Offline Programming is the best way to maximize return on investment for robot systems and it requires appropriate simulation tools. The time for the adoption of new programs can be cut from weeks to a single day, enabling the robotization of short-run production.


Offline Programming with RoboDK

RoboDK provides a user friendly Graphical User Interface to simulate industrial robots. Furthermore, with RoboDK’s API you can easily program and simulate robots through Python. RoboDK supports many robot controllers and generates the appropriate files for your robot. You can also customize your Post Processor.

Python is a programming language that lets you work faster and integrate your systems more effectively. Python’s syntax allows programmers to express concepts in fewer lines of code compared to other languages, making it friendly and easy to learn. The Python 3.4.1 version is automatically installed with the default installer.

Some RoboDK examples with Python are available as well as the RoboDK’s API reference for Python. The RoboDK API is also available for C# with a sample project and Matlab.


Robot Post Processor

The Post Processor defines how the robot programs should be generated. The conversion of the simulator movements to specific robot instructions is done by a Post Processor. Post Processors provide complete flexibility to generate the robot programs for specific requirements.

RoboDK provides post processors for most robot brands. Post processors can be easily created or modified. One Post Processor in RoboDK is simply a Python file that defines how the code should be generated.

Robot MachiningKUKA Robot machining

Use your robot arm like a 5-axis milling machine (CNC) or a 3D printer. Simulate and convert NC programs (G-code, APT or DXF files) to robot programs. RoboDK will automatically optimize the robot path, avoiding singularities, axis limits and collisions.

Send us a sample project and we will help you set it up in RoboDK!

Robot LibraryRoboDK robot library

You have access to many industrial robots, external axes and tools from over 20 different manufacturers. Easily use any robot for any application, such as machining, welding, cutting, painting, inspection, deburring, and more.

Don’t see your robot? Let us know and we’ll include it!

Robot AccuracyRoboDK robot performance test (ISO9283)

Your robot arm is not accurate enough?

Calibrate your robots to improve robot accuracy and improve production results. Run ISO9283 robot performance tests. Certificate robots with a ballbar test.

Universal robot UR3 drawingExporting Programs to your Robot

RoboDK Post Processors support many robot controllers, including:

  • ABB RAPID (mod/prg)
  • Fanuc LS (LS/TP)
  • Kuka KRC/IIWA (SRC/java)
  • Motoman Inform (JBI)
  • Universal Robots (urscript)
  • …and much more!

RapidRobot Examples

The following examples show some basic usage of RoboDK. The examples explained in this section are available with the default RoboDK download.

The station files for each of these examples can be accessed through File->Open, then, select the appropriate example in the default library folder.

  • Pick and place – Basic pick and place simulation.
  • Pick and place with Python – This example shows how to use Python to program a robot for pick and place.
  • Drawing with a robot – Draw an SVG image with your robot. Include 3rd party libraries to your project.
  • Robot milling – Use your robot like a CNC. Easily import NC-code (G-code or APT) and generate robot programs.
  • Conveyor belt – Simulate a conveyor belt or any other mechanisms using the Python API.
  • DXF to robot program – Convert DXF sketch file to robot programs.
  • Milling with external axes – Synchronize a robot with external axes for milling.
  • Painting – Easily create paths for robot painting or inspection
  • Spot welding – Spot welding and drilling can be easily accomplished with RoboDK
  • 3D Printing – 3D printing with an industrial robot in a few steps.
  • 2D Vision simulation – Simulate 2D cameras integrated with an automated line using RoboDK.


Pick and place

This example shows a basic pick and place program where four balls are moved from one table to another using a pneumatic suction cup.

The tutorial shows basic interaction with RoboDK’s simulator for offline programming.

View pick and place simulation

Pick and place with Python

This example shows an advanced pick and place simulation. Moving the robot and replacing the objects is accomplished through Python.

The RoboDK’s Python API allows you to program any robot through Python. Additionally, you can interact with the simulator to create, modify or edit any objects or robots programmatically.

View pick and place simulation

Drawing with a robot

This example shows how to simulate a painting or a drawing application with RoboDK.

The robot is programmed to draw an SVG image. The drawing simulation is achieved using the Python API and a reference object “pixel” that is added to the board as the robot moves.

A 3rd party Python library is used to convert the SVG image to robot coordinates.

View drawing simulation

Drawing a picture with an industrial robot

Robot milling

The robot milling feature allows you to simulate and optimize any robot path for robot milling, robot welding, robot painting or inspection. You can easily generate robot paths along curves and points included in CAD files (STEP and IGES format supported).

With RoboDK you can also convert NC-code machining programs (such as G-code and APT files) to robot programs. RoboDK automatically avoids robot singularities, joint limits and collisions.

View milling simulation

Conveyor belt

Any type of mechanism, such as a conveyor belt, can be simulated using the Python API. This example shows how two Univeral Robots (UR10) work together feeding and taking parts from a conveyor belt.

View conveyor simulation

DXF to robot program

A robot path can be generated from a DXF file. This feature is useful for paths located on a plane, such as cutting in 2D for example. In this video we use a UR10 robot and a DXF file to generate a URscript program.

Robot milling with external axes

External axes can be modelled and synchronized with the robot. This example uses an ABB robot with an ABB turntable to machine a spherical object.

Robot painting

RoboDK can be used to generate paths along surfaces, for example, to generate zig-zag movements for painting applications or inspection. RoboDK automatically avoids robot singularities, joint limits and collisions.

Targets on a surface can also be created in a few steps (menu “Program”->”Teach targets on surface”).

Spot welding

Spot welding can be easily accomplished. It is also possible to import points or curves in text format, as well as machining programs (NC-code: G-code, APT, …). The same utility can be used to automate drilling a set of points.

This video is a spot welding demonstration using a Kuka robot and an HMD Technology weld gun.

3D Printing with a robot

3D Printing with robots can be easily accomplished in a few steps using RoboDK. A 3D object (such as an STL file) can be first sliced into different layer paths, then, the 3D printing robot program can be simulated.

You can generate the appropriate program for your robot once you are satisfied with the result. In this example we use a Nachi robot to 3D print a cubic object.

Camera Inspection

Two Universal Robots and a SICK 2D inspection camera perform a palletizing task. It is very easy to simulate 2D cameras integrated with an automated line using RoboDK.

By selecting the RoboDK menu: “Connect-Simulate 2D camera” you can see a preview of the camera. The camera can be held by a robot or static in the cell.

The camera settings can be adjusted manually or through the RoboDK API using Python scripting. Camera settings such as the focal distance, field of view, working distance or sensor size can be easily adjusted. The workspace of the camera can also be displayed.

100+ Customers Are Automating Today With Help Of Our Products and Team.

Contact Us So We Can Help You Start Automating Today!

RSI is here to provide you with more information and create an effective solution for your instructional needs. 


About Us


Contact Us




Knowledge Base



Motion Controller

Integration Services

Collaborative Robot

Robot Retrofit

Copyright © 2020 Robotic Systems Integration, Inc. ®