Actin 5.0 Release Notes

2018 June 30

Energid is pleased to present Actin 5.0.

New Features

Simplified API for Robot Control

The new control system modifier architecture provides a simplified API for configuring and controlling a robotic system. This new API will allow developers to write fewer lines of code when accessing Actin's core features including system configuration (setting tool offsets and actuator properties) and motion commands (move in joint space and Cartesian space).

Robot Control Scripting Language

Actin's new robot control scripting language, called EcScript, is used used in combination with the new robot control API to provide a foundation for real-time robot controller development. EcScript is a fully featured scripting language with data types, operators, loops, control logic, and even simulation state lookups. Implemented in C++, EcScript is efficient and portable to most real-time operating systems.

EcScript commands can be easily serialized for interprocess communication and complex multi robot tasks can be built from basic motion and logic primitives.

Relative Motion Constraints

Relative motion constraints allow you to coordinate the motion of a robot's tool relative to any point on the robot itself, another robot, or the environment. This is useful in defining tasks that require multiple robotic arms, branching manipulators, or motions relative to another piece of automation equipment such as a positioner or conveyor.

The joint limit avoidance optimization can be used to drive a robotic manipulator away from joint limits as it achieves a target tool pose. Previously, Actin only allowed the specification of a single avoidance zone across all the joints. Link-based joint limit avoidance zones allow for greater flexibility tuning the behavior of your robotic system.

Joint Limits Using Hard Constraints

Modeling joint limits for robotic actuators is a crucial component for robotic control. Although there are many methods for avoiding joint limits, it is important to be able to handle cases where joint limits are encountered.

This feature now incorporates joint limits into Actin’s core velocity control optimization in the form of inequality constraints. With the joint limit constraint present, robotic manipulators are able to successfully move to a desired state without violating any joint limits.

Human Machine Interface Toolkit (Experimental)

The Actin Human Machine Interface (HMI) toolkit is now released as an experimental package. The HMI Toolkit is built on Qt QML for multi-platform UI development. You can now use QML to create modern user interfaces for your robotic system. The toolkit includes new QML packages that provide access to Actin features through QML properties like names of manipulators and links, system state, and motion commands. Rendering and visualization tools are also accessible from within QML to provide a rich user experience. Reference designs are provided for commonly required UI features like robot jogging controls, work-cell rendering, and contextual overlays.


New Developer Documentation with Tutorials and Videos

The Actin user's guide and API reference documentation has been unified into a single knowledgebase. We have also added a series of quickstarts guides, detailed developer guides, , exapmles, and tutorials. Each of these resources has been filled with either images, videos, or code samples to make learning the Actin SDK and the ActinViewer easier than ever.

Usability Improvements to ActinViewer

Actin Viewer has been improved to be easier to use and more stable. Improvements have been made to both it's model editing and motion control capabilities. Editing the motion constraints for each manipulator has been made much easier with the addition of a simpler GUI that allows creating and editing motion constraints, motion constraint sets, and tool offsets. It is now easier to observe and edit the collision exclusion map, because the GUI now updates in real time.

The behavior of the Manipulation Director has been made more consistent during file management and fewer mouse clicks are required to navigate the library of directions. Waypoint sequences now work with relative motion constraints and poses. This makes them useful for closed chain motions, hand-offs, and arm + positioner motions. Iconography has been improved and a help menu has been added with links to documentation. Example models have been added to help train users to quickly become proficient with Actin Viewer.

Enhanced Path Planning

Actin has gained roadmap RRT path planning. Roadmaps are predefined collision-free connected paths which help to dramatically speed up path planning calculations. This new features makes a huge difference if the workspace contains tight spaces or corridors.

Additionally, a new two-stage path planning feature uses Actin IK and collision detection engines to quickly determine feasibility of the goal end-effector placement and then use the path planner to plan the path to the goal. This allows the path planning process to fail quickly if the goal is not feasible and thus saves significant amount of time so the user can try different goals.

New Bounding Volume Shapes

Energid has enhanced the collision detection capabilities in Actin by implementing several new collision shapes. These shapes include the box lozenge, conical lozenge, cylindrical lozenge, and tetrahedral lozenge. Along with implementing basic geometry functions and visualizations, custom shape proximity and penetration functions have been provided for highly efficient collision detection.

These new lozenge shapes, in addition to the already diverse collection of collision geometries, grant the user increased flexibility and accuracy when constructing manipulator geometry and bounding volumes from primitives.

Higher Resolution Bounding Boxes

An option was added to build the Axis Aligned Bounding Boxes (AABB's) at the individual shape level. These bounding boxes are used for the broad phase collision detection step. Any two links whose AABB's are in collision is flagged for higher resolution distance calculations.

Previously, the AABB's were built at the link level. When a link contains many shapes, and large amounts of empty space, this can result in a large number of false positive collisions being identified. This results in unnecessary distance calculations, which can impact system performance. By fitting AABB's to individual shapes, the system can eliminate many of these false positive collisions.

Enhanced Error Handling and Dump File Generation

Actin has gained a new error handling subsystem which can be configured to raise and handle errors in three different ways: by directly triggering an attached debugger, by throwing and catching exceptions, or by using global error messages. The flexibility of this error handling subsystem allows you to quickly find and fix bugs during development without requiring the use of exceptions during deployment.

We have also integrated Breakpad dump creation which helps us to quickly and efficiently collect application state in the form of dump files. These dump files will provide us with detailed information that will help us to diagnose and fix problems quickly.

Performance Improvements to Collision Detection

In addition to the improvement in bounding box resolution, a number of changes were made to streamline our collision detection. These changes include the elimination of state copies, the use of more efficient data structures, and the addition of a hierarchical bounding volume approach. The latter is well suited for use on systems with large numbers of shapes.

Performance Improvements to the Control System

Several improvements were also made to the simulation and control engines to help accelerate calculations. Options are now provided to perform only a single control pass per time step, rather than the dual pass approach used in previous versions. This new option maintains the ability to avoid singularities, while reducing computational load. When using dual pass control, users can also choose to perform collision detection only during the final pass, rather than both passes. These changes can significantly decrease computation times for inverse kinematics and control.

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 resolved for Actin 5.0.


Control System

Path Planning

Manipulation Director

Manipulation Directions

End Effectors

Collision Exclusion

Collision Detection