Actin®  Version 5.3.0
Software for Robotics Simulation and Control
Actin Overview


You are probably reading this because you want to control, design, or validate a robotic mechanism. There are tasks you want to accomplish, and you would like programming tools to support you. This is what the Actin® toolkit provides. Actin is an intuitive C++ software toolkit for simulation and control of any robotic system. It allows you to control, design, and validate complex robotic mechanisms quickly.

For control, Actin calculates joint positions and rates that set robotic end effectors where you want them. It provides tools for geometric reasoning, supports cooperation of multiple robotic manipulators, and provides ways to visualize and interact with the system. It supports 3D rendering and can be used for network communications to control distributed systems.

Actin enables designers to create and test robotic systems quickly. Actin provides a library of actuators and other robotic components that can be used to quickly construct models for testing using Actin’s control systems. It includes a plugin to other design tools, such as SolidWorks, that enable fast testing integrated with designers’ favorite tools. Actin supports quick kinematic and dynamic tests to be completed.

Actin can be used to assess the performance of complete robot designs for application to particular tasks. It can be used to kinematically and dynamically simulate physical environments. It also supports simulation and Parameter Optimization analysis. Included are high-fidelity articulated dynamics and impact dynamics.

This section gives an overview of the capabilities in all of these packages. Specific capabilities to each version of Actin are provided in the package-specific documentation. Each package of Actin includes a set of libraries and header files that can be used with your C++ project to easily add manipulator-control and simulation capability. These toolkit components can be integrated into your existing code or used to build a new program. Linux, Windows and OS X are supported.

Actin Viewer can be used to load the simulation files. With the viewer, you can interactively place the end effector (by moving and rotating the red-green-blue frame shown), and the control system will automatically place the joints. This can be done with or without dynamic simulation. You can also change the view parameters, and save and replay paths.

Extensible Markup Language (XML)

Components are configurable using XML, and you can easily connect your code with components from the Actin toolkit to build XML-configurable C++ objects. In addition to reading and writing themselves in XML, all XML-configurable objects can write their own validating schemas. So if you use the Actin toolkit to build your system, you will also be designing an XML language that can be used with other commercial software products.

Mathematical and Geometrical Tools

The Actin toolkit includes a number of tools for easy and efficient mathematical and geometric calculation. These include three-dimensional vector math and matrix routines. Conversion utilities for three-dimensional quantities are included. Orientations can be set from quaternions, Euler angles, Rodrigues parameters, angle-axis, direction cosine matrices, and so forth. These are all optimized for performance. With the Actin toolkit, you do not have to re-implement these basic functions.

Kinematic Control

Actin calculates the joint rates or positions to give desired hand velocities or positions. All is done automatically, based only on the manipulator model description. This is the strength of the Actin toolkit—the ability to control almost any robotic manipulator using just its kinematic description. Manipulators with any number of links, any number of bifurcations (branches), nonstandard joint types, and nonstandard end-effector types are supported.

Dynamic Simulation

Actin provides dynamic simulation capability. This includes full and accurate Newton-Euler rigid body dynamics on all articulated links and impact dynamics between obstacles. Dynamics are calculated for nontraditional joint types, as well. Both the Composite Rigid Body Inertia (CRBI) algorithm and the Articulated Body Inertia (ARBI) algorithm are implemented. The CRBI algorithm is an Order(n3) method, which is efficient for mechanisms with few—less than 15 or so—degrees of freedom (DOF), while the ARBI algorithm is an Order(n) method, efficient for high-DOF mechanisms.

Dynamic simulation of a NASA K10 rover with 12 articulated joints.
Dynamic simulation of a Universal Robots UR10 for risk assessment support.

Parametric Studies

Actin provides capability for parametric and Monte Carlo studies. A parametric takes discrete steps through changes in initial state or system parameters and tabulate simulation results. The design of the parametric study includes 1) representation changes to the initial state and system, and 2) a representation of the results of the simulation runs. A parametric study will allow the user to easily change in fixed increments initial configurations, control parameters, surface properties, weights, lengths, end effectors, motor torques, and actuator effectiveness, and tabulate the results of those changes. Results include measures of sensor saturation, visibility, speed, mobility, balance, end-effector placement, and manipulation.


A study is performed by selecting random initial values for the system and state parameters. In addition, noise is input to sensor and actuator models. The noise models for the sensors and actuators is built into the classes that define them. The initial conditions for the system state are selected based on a set of probability density functions, as are the selected values for a time sequence of desired end-effector positions. In Actin, studies can be used to perform parameter-optimization analysis to determine the best design values.


Actin provides cross-platform rendering and visualization capability. Any manipulator can be viewed through an easy-to-use interface that pops up a window with an animation. Any number of manipulators can be shown in the visualization. The specular properties of polygons can be set, polygons can be bit mapped, and any number of lights can be configured. These tools provide capability for intuitive debugging and for creating human-machine interfaces for remote supervision and teleoperation.

Machine Vision

Actin includes a camera interface class for capturing images with any camera. It also includes algorithms for analyzing captured images and using the results as information to feed back to the controller. The toolkit includes camera calibration algorithms that allow for the automatic calculation of camera parameters, such as focal length and position/orientation. These tools provide capability for making vision-based robotic control systems.

Network Communications

The toolkit includes C++ classes for network communications. Sockets are implemented both for /IP and UDP/IP communications. A networking stream class is implemented to allow the transmission of XML data from one network location to another. This allows front-end and back-end components to be implemented on different computers for remote supervision and teleoperation.

Third-Party Integration

Actin supports integration with a variety of third-party software. It includes plug-in support for SolidWorks, integration with Matlab Simulink, Labview, ROS, and the ability to load formats from 3D Studio Max and VRML.

Created by Energid Technologies
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.