Actin  Version 5.5.1
Software for Robotics Simulation and Control
Actin Introduction


Actin® is Energid’s robotic software toolkit that offers a robot-agnostic way to simulate, task, and control complex robotic systems. It is a full life-cycle product, offering tools to help you at every stage of development [], from evaluating initial system designs to tasking and controlling the deployed system.

Actin's core features are a general kinematics and dynamics model, that can be used to control or simulate any type of robotic mechanism that can be modeled as branching chains of rigid links. This includes robot arms, humanoid robots, delta robots, positioners, stewart platforms, and more. This model can be generated from CAD.

On top of the general kinematics model, Actin includes a motion control framework for forward and inverse kinematics. This allows for motion control of any point on a link with however many degrees of constraint are required. Actin can also constrain motion relative to another link, making coordinated motion possible. Actin handles kinematic redundancy with configurable optimizations, such as joint limit avoidance and collision avoidance.

Actin provides tasking libraries that allow scripting out joint motions, end effector motions, tool paths, path planning as well as other interactions like attachments, tool offsets, and I/O. These can be sequenced in series or parallel. The Actin Libraries are designed for cross platform integration with robots, sensors, and actuators.

The Actin SDK (summarized in the image below) is designed to provide users with powerful and robust software tools that enable three key capabilities in robotics: modelling, motion control and motion planning. That’s easy to say, but much harder to do, especially when you factor in additional complications like sensors, motion and path planning, so let’s dive in to some of the core components of Actin, and see how it all comes together.



Modelling entails the steps necessary to develop a simulation of the robotic system []. This includes defining the joints of the manipulator (and their associated motions), the shape of each link, and other key properties of the system and its environment. Kinematic (mechanism motion) simulation is a powerful and efficient tool that lets users see exactly how their robotic systems will move and where they can reach given a set of joint and link configurations. For customers with more advanced needs, Energid can provide services to help you use features like dynamic simulation to help simulate the forces and torques exerted by the system, particle simulation to model interaction with granular materials, and sensor simulation to help you pick the best way to provide feedback to your system.

Motion Control (Local path Planning)

The Local Path Planning module is at the core of the entire Actin ecosystem. It includes the motion constraints that can be applied to the system, along with the inverse kinematics system and control optimization options. Essentially, it converts the desired tool motion to the joint motions required to achieve it. Almost every other component interacts with this in one way or another (by either feeding information to it, or relying on information from it). This is a “local” path planning method, because it does not contain any higher level information about the system. Rather, it only generates the joint motions necessary to move the tool in a straight line to the destination point. Obstacles or other constraints may cause it to get stuck, even when a viable path exists. Local path planning is where many of Actin’s most powerful features originate. The ability to detect and react to impending collisions is a part of the local path planner. Users can select whether or not they wish to stop before the collision, or use extra degrees of freedom in the manipulator to actively dodge the collision. The ability to constrain robot motion in unique ways, and avoiding joint limits and singularities are also handled by the local path planner. You can read more about our approach to inverse kinematics and path planning here [].

Motion Planning

The motion planning layer abstracts control one step further, allowing the user to define a sequence of motions and other commands (such as turning on and off tools or looking at sensor input) that are then executed by the robot. Desired end effector positions from this component can be passed to the global path planner to determine the desired motions. In addition the C++-based API, we have developed EcScript: our own robotic motion scripting language [] that allows users to easily define motions and actions in a text-based system. Actin’s motion planning tools also include global path planning capabilities.

Global path planning takes in all available information about the environment, and generates a path that moves the tool from a starting point to the desired destination. It navigates around obstacles or other constraints, and will return a path to the solution if one is available. This path is composed of many small intermediate steps, each of which is passed, in turn, to the motion control system. To learn more about global path planning, and see how it compares to local path planning, click here [].

Actin also provides a set of tools and the Robot Control Framework, that helps you make the most of the SDK. These include tools for configuring and analyzing your system, developing interaction components like GUI’s, and communication interfaces to help integrate Actin with the rest of your system.


All of the tools above aren’t useful if they can’t convey the information they represent in a meaningful, intuitive way. Actin lets users visualize systems both locally and remotely.(For example, users can visualize the current state of the robot not only on the computer running it, but on other machines that share the network as well. This allows users to fully understand the behavior of the entire system, rather than being forced to focus on a narrow part of it. Actin can also offer fully ray-traced scene renderings for users who need to generate images that wow their audience.

By the way, you may be wondering where we came up with the name “Actin”. The Oxford English Dictionary describes actin as “a protein that forms (together with myosin) the contractile filaments of muscle cells, and is also involved in motion in other types of cells.” In other words, actin (in biology) is a nearly universal protein that helps us and every other living thing move. We want Actin (the software) to become a nearly universal tool that helps robots move.

Why is Actin Important?

Actin provides a host of control and tasking capabilities (like active collision avoidance) that aren’t available anywhere else. But several of the key advantages of Actin are even more basic. First, Actin is not tied to any single robot manufacturer, and gives you unparalleled freedom to add capabilities to off-the-shelf systems. Actin makes it easy to add s your own degrees of freedom (such as actuated rails and turntables) to the design. All of these can then be tasked and coordinated from a single software environment, and are automatically included in the motion controller. Second, Actin is a supported solution. Open-source solutions like the Robot Operating System (ROS) are great for some applications. However, users are left on their own to develop and deploy robot systems with it. If something goes wrong, there is no help line. With Actin support options, your developers can focus on developing and deploying the best robotic solution, rather than internet searches for compiler errors. This can accelerate your time-to-market, and provides peace of mind for end users.

Technical Support
Energid Technologies Corporation