Actin 5.1 Release Notes

Actin 5.1

Energid is pleased to present Actin 5.1.

New Features

Configurable Robot Control Framework

Our new robot controller development framework can be configured for use on a wide range of platforms including real-time operating systems. The framework’s modular design and XML configuration allows system developers to embed Actin’s advanced kinematic control capabilities into existing robotic systems with minimal programming and to more easily develop a completely new system from proof of concept through commercial deployment.

Simultaneous Position and Velocity Control

Motion constraints of the same manipulator can now be run in different control modes, such as position control or velocity control. This is particularly useful for bifurcating manipulators, where one branch runs in position control mode to reach a target position, while the other runs in velocity control mode to reach a target velocity.

Jerk Limiting

Jerk limiting allows point, frame, and joint motion to be specified with limits on the third time derivative of position. The time derivative in position is velocity, that of velocity is acceleration, and the time velocity of acceleration is jerk. With jerk limiting, the velocity profile is trapezoidal with rounded corners.

Limiting jerk is useful for preventing vibration in a robot because vibrational modes are stimulated less on path start, path stop, and velocity transitions. In Actin, jerk limiting can be turned on and off and the limits set within the individual constraints used for motion control.

Actin System Control Viewer Application

This new Actin application provides a view into the system control configuration, including the control threads, processes, data store, and multiple manipulators. Each manipulator has control tasks and a configured finite state machine. This application simplifies the display of the configuration information in a visual format that is easier to understand than reading the underlying XML files.

Custom Motion Scripts

Actin includes a variety of built-in motion scripts that allow robots to accomplish a wide range of tasks. The addition of custom motion scripts allows users to be able to create their own motion scripts that are customized for their specific needs. Users can also register these custom motion scripts within their applications and use them together with the built-in ones to accomplish even more. With custom motion scripts, the possibilities are endless.

Static Manipulators

Users can now specify objects in the simulation as static. These static objects (which must be fixed-base without any movable joints) can then be handled more efficiently by the collision detection and simulation systems. For simulations with many non-moving objects, this can provide a significant reduction in system performance, particularly when utilizing active collision avoidance. Objects can be dynamically switched between static and non-static while the simulation is running. 


Motion Script Introspection

EcMotionScriptObject now defines a pure virtual token method. Subclasses return their own token. This allows SDK users to get the specific type of an EcMotionScriptObject child. This allows user code to provide operators with detailed feedback of during the operation of a motion script.

Improved Adherence of State Machines to Industry Standards

The order of state machine action execution has been changed to match the SCXML standard. Upon transition, the current state's onExit actions are called, then the transition actions, which are followed by the target state's onEntry actions.

More Robust State Machine Operation

State machine transitions are now validated at configuration time to ensure that target state IDs match existing states. This ensures that configuration errors are caught at startup and not during runtime. 

Resolved Issues

Over the course of this release we have resolved a large number of issues. We are including an overview of the highest profile issues that have been fixed for Actin 5.1.

  • Path planner fails to find a path when there's an attachment and keeping previous collision exclusions is disabled.
  • When the collision exclusion plugin has been opened and a link is selected and highlighted, that highlight is lost after the plugin is closed.
  • Jogging widget GUI does not update when an end-effector is added through the motion constraint editor.
  • Change the default Windows install directory to "C:\Energid" rather than "C:\Program Files" to ensure that the user has full control permissions over included example projects.
  • Improve the Doxygen documentation in ecIOParams.h to make it easier for our users to learn how to create new Actin plugins.
  • An intermittent crash observed when adding or deleting multiple bounding volumes.
  • Update the applyVectorVelocityFilter to ensure that it stops the robot when the desired velocity is all zeros.
  • The motion script progress and status messages do not display correctly when motion script is run from the ipc controller interface.
  • A crash occurs when a user clicks on an exception block within the manipulation directory GUI.
  • Choosing the "Reduce Model" option after loading a simulation causes a crash.
  • Add a new paramScopedPtr function to EcPlugin which will return a shared pointer that holds a lock while it is in scope. This will automate mutex locking to make accessing resources less error prone.
  • Collisions are reported after updating the system configuration in the new Robot Control Framework. Internal collisions need to be updated after updating the system configuration.


  • Configurable Robot Control Framework
  • Simultaneous Position and Velocity Control
  • Jerk Limiting
  • Actin System Control Viewer Application
  • Custom Motion Scripts
  • Static Manipulators
  • Motion Script Introspection
  • Improved Adherence of State Machines to Industry Standards
  • More Robust State Machine Operation

Over the course of this release we have resolved a large number of issues. Read the resolved issue list to review the highest profile issues that we have closed.

Related Content