Energid is pleased to present Actin 5.5.
New toolpath motion primitive with G-code support
A toolpath defines the tool orientation, trajectory, speed (or feed rate), and travel direction. Actin 5.5 supports toolpaths defined in G-code, an industry standard widely adopted by manufacturers that are familiar with CNC machining. The toolpath files can be generated in third-party CAD/CAM software packages based on part models. Actin will convert imported toolpath files into robot motion automatically.
User defined Motion Script functions
Users can now write custom functions in Motion Script. A list of Motion Script variables can be passed to the function by value or reference. The function body can include any supported motion script.
Ability to compose a Motion Script from multiple files
The new include command allows users to include pre-written Motion Script (.ecs) file into other Motion Scripts. Environment variables are supported when defining the filename parameter to the command. This will allow users to compose more complex scripts and reuse scripts in more advanced applications.
New Motion Script editor in Actin Viewer
Users can now use the motion script GUI plugin to more easily create motion scripts to task an Actin model. The interface now has “.ecs” file save, save as, and open options, as well as syntax highlighting, improved icons and layout, a toolbar quick access button, as well as context menu options to insert motion scripts from the current state of the model.
This context menu feature allows users to “teach” motion script by interacting with the model. When inserting a “move_pose” for example, users can move a manipulator’s “active” end effector to a desired pose, then insert a “move Pose”. the motion script will be inserted using the proper syntax, with the actively selected manipulator index, end effector set index, and end effector index, as well as the active end effector placement pose, and the active speed factor. This context menu behavior is supported through multiple motion types.
Users can also more easily define a pose from either a link frame or named frame. the “get_frame” command can be inserted after the user browses to the available frame with a gui widget. The proper “get_frame” syntax will be inserted to get the frame at the selected link in system frame.
Users can also insert the active joint position state, as well as the active end effector pose, end effector position, and end effector orientation. This is useful for modifying existing motion script, if updating motions is required.
Actin gRPC Services
gRPC is an open source, high- performance RPC framework developed by Google that can support many popular programming languages like Python, Java, and C++. gRPC utilizes Protocol Buffers, Google's data interchange facility for serializing structured data.
Actin gRPC services are written to complement the Actin Robot Control Framework (RCF). Prior to this release, the main external interface to a RT System Controller application was shared memory, requiring any client to be co-located on the same machine as the controller and making cross-language interaction difficult. With gRPC services, the clients and controller need only be on the same network, and the clients can be written in a variety of languages.
For this release, two gRPC services are being introduced to Actin RCF
For each of these services, reference clients written in C++ are also being provided. The Protocol Buffers IDL files for the services will also be available, allowing clients to be generated in any of the gRPC supported languages.
Enhanced documentation with updated training examples
The documentation has been updated to provide a better introduction to Actin concepts such as modelling, motion control, and tasking. The Actin Viewer documentation has been improved to emphasize its primary role of model tuning. the documentation for the training examples goes into further detail on how they could be expanded.
Actin reference design for Universal Robots e-Series robots
Added a reference design for the Robot Control Framework for Universal Robots e- Series robots. This reference design includes a simple QML UI that uses the new Actin gRPC services to transition the robot state, control the robot with Motion Script, and view its motion live in a rendered view. This is a great starting point for OEM integrations of UR robots leveraging the power of Actin for motion control.
Motion script enhancements
The following improvement to the Motion Scripts have been provided:
Boost version independence
The Boost libraries shipped with the Actin libraries are now fully namespaced to avoid conflict with client versions of Boost. This has the following impact:
Consumers of Actin APIs must adjust their code in the same respect.
This completion of Boost namespacing will allow the use of multiple versions of Boost in the same translation units as ecboost. Client code can use an independent version of Boost with non-actin APIs if desired. It also ensures that the ecboost version used by Actin can be upgraded independent of third-party Boost versions used by client code.
Conversion to Google Test
The boost unit test framework is dated; a paradigm shift to the Google Test framework (gtest) has occurred with the following advantages and features:
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.5.
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.