RoKiSim 1.7 :: Robot Kinematics Simulator

Screenshot 1        Screenshot 2         Screenshot 3

RoKiSim is a free multi-platform educational software tool for 3D simulation of serial six-axis robots developed at the Control and Robotics Lab of the École de technologie supérieure (Montreal, Canada). The user can jog the virtual robot in either its joint space or the Cartesian space (with respect to the tool frame, the base frame, or the world frame), show the various reference frames (according to both the Denavit-Hartenberg and the Modified Denavit-Hartenberg conventions), and visualize all possible robot configurations (solutions of the inverse kinematics) for a given pose of the end-effector. Orientations can be represented in any of several common Euler angle conventions (such as those used by FANUC Robotics, KUKA Robotics, Stšubli, and Adept Technology), as well as in unit quaternions (used by ABB Robotics).

The RoKiSim package comes with several popular industrial robot models (ABB IRB 120, ABB IRB 140, ABB IRB 1600/1.45, ABB IRB 4400, ABB IRB 6640, Adept Viper S650, CRS A465, FANUC LR Mate 200iC, FANUC LR Mate 200iD, FANUC LR Mate 200iD 7L, FANUC M-710iC/50, FANUC M-710iC/50S KUKA KR 5 sixx R650, KUKA KR 6 R900, KUKA KR 150 R3100, KUKA KR 160 R1570 nano, KUKA KR 270 R2700 ultra, KUKA KR 500, KUKA KR 1000 TITAN, Motoman MH5F, Motoman UP50N, PUMA 560, Stšubli RX90BL, Stšubli TX40, Stšubli TX200, Universal Robots UR5 and UR10) as well as with seven end-effector tools. It is relatively easy to add new robot models, and quite trivial to add new end-effector tools (in ASCII STL format). The package also comes with simulations of the three types of robot singularities (wrist, elbow and shoulder) for some of the robot models. A simulation consists of an ASCII file with a *.sim extension, containing a sequence of numerical values for the six articular variables, and another ASCI file with an *rks extension, specifying the robot and its tool.

The robot simulation software also comes with the ability to import object geometries and place them in the robot environment. An object must be defined in an ASCII STL file or an SLP file (same as STL format but allows a different color for each facet). A set consisting of a robot, an end-effector tool, objects and their poses with respect to the robot's base frame, a simulation file, as well as the choice of language and Euler angle convention can be saved as a station. An example of such a station is provided with the package.

The RoKiSim menu can be displayed in five different languages (English, French, German, Spanish and Catalan).

The software package also comes with the possibility to jog the robot in Cartesian mode using a Wii Motion Plus controller. Finally, RoKiSim can be interfaced with other software (e.g., Matlab) using internal socket messaging (IP, port 2001).

Download RoKiSim 1.7 for Windows

Download RoKiSim 1.7 for Mac OS X

Download RoKiSim 1.7 for Linux

While RoKiSim is, and will remain, freeware, it should not be distributed. We appreciate greatly your comments. Please continue to send them to

IMPORTANT: Since January 2015, RoKiSim is no longer supported. RoKiSim was developped by Albert Nubiola, who completed his Ph.D. in December 2014. He then started his own company that develops an elaborate OLP (off-line programming) software, called RoboDK. RoboDK includes all functionalities of RoKiSim and then more, and will remain free for academia. Load a robot and double-click on it to get the jogging window similar to that in RoKiSim.

Follow Ilian Bonev (@ibonev) on Twitter to stay informed about RoKiSim's latest developments.

User Instructions for the Windows version

Once you have selected your preferred robot model, Euler angle convention, menu language, and, optionally, an end-effector, objects and a simulation, you can save them as default by selecting the option "Save as default station" in the File menu.

Changing the view orientation

Playing simulations

To load a simulation, press Ctrl+D. Then, use the simulation panel at the bottom of the RoKiSim window (the visibility of this panel can be toggled by pressing F4) or the following shortcuts:

Taking a screen capture

RoKiSim does not provide a tool for taking a screen capture. You can, however, maximize your RoKiSim window, remove the unnecessary panels (F2 for the Robot control panel, F3 for the Objects panel, and F4 for the Simulation panel) and press Alt+PrtScn. Then you can paste the image in your favourite graphics program (e.g., GIMP) or directly into your word processing program (e.g., Microsoft Word or PowerPoint). In Windows 7, you may also use the Snipping Tool application to take a screenshots of a window, a rectangular area, or a free-form area.

Taking a screencast (video screen capture)

RoKiSim does not provide a tool for taking a screencast. You need to use a screencasting software. We use the products of TechSmith. Here is, for example, the result of a screencast using the popular freeware Jing: RoKiSim_Screencast.swf (you need Adobe Flash Player). We also use the free edition of Active Presenter, which can export your video in various formats. Here is, for example, a video that we were able to create five minutes after installing Active Presenter for the first time:

Changing the background color

To change the background color from blue to white and vice-versa, press Shift+B.

Changing the size of the reference frames

To change the size of the reference frames, press Shift+F.

Obtaining smoother surfaces

To render the surfaces smoother, press Shift+N. This operation will freeze RoKiSim for a couple of seconds. It should be repeated for each new robot.

Activating the TCP trace

To active/deactivate the TCP trace, press Alt+Y/Alt+N. To remove the TCP trace, press Alt+X. The default trace is a small reference frame. To change the trace to single points (the origin of the tool frame), press Shift+P. To change it back to reference frame, press again Shift+P. To change the size of these points or of the reference frames, press Shift+S. To change the colour of the points, press Shift+G.

Screenshot 1