Actin simulation tools can load a model from a CAD format and automatically create a control system so you can interactively experiment with the simulated robot or execute parametric or randomized studies. Using the Actin SolidWorks plugin, you can convert any mechanism for Actin control and simulation. Mass properties can be taken from CAD for dynamic simulation.
Actin’s powerful constraint solving ability can be used for kinematic simulations that calculate the forward and inverse kinematics of high degree of freedom (over 100 DOF) robotic systems in real time. Actin can simulate the coordination between multiple robots of any type or manufacturer as well as attachments to other simulated robots, tooling, and objects, ideal for simulating tool changing systems and manipulating objects and grasping.
Actin provides an accurate 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.
Actin also offers powerful visualizations using high fidelity rendering tools. These images provide accurate camera feedback for simulation, and compelling visuals to help you explain and market your system. Actin now offers ray traced rendering using NVIDIA’s Optix Ray library.
Cameras and sensors
Actin supports the simulation of various sensors, including cameras, stereo vision systems, range sensors, and LIDAR. It also includes algorithms for analyzing captured images and using the results as information to feedback to the simulation for control. 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 the capability for making vision-based robotic control systems.
Components of Actin simulations 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. The toolkit includes a number of tools for easy and efficient mathematical and geometric calculation. These include three-dimensional vector math and matrix routines such as transformations. Conversion utilities for three-dimensional quantities are included. Orientations can be accessed and mutated 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.
The toolkit includes C++ classes for network communications. Sockets are implemented both for TCP/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 backend components to be implemented on different computers for remote supervision and teleoperation.
Actin’s ability to simplify difficult robotic control problems makes it the choice for current and next-generation robotics applications. As robotic mechanisms become more complex, so too must the software that controls them. Yet Actin allows this complexity to be hidden from the developer by a simple object-oriented interface. Some applications for Actin are the following.
Actin’s robotic simulation tools have been used to simulate a number of different robotic systems, both mobile and fixed including many that were ultimately controlled using Actin.
- Design validation
Use Actin to simulate robots as part of the design process. By using the Actin simulation tools, users can simulate the behavior of a system before ever manufacturing a prototype. Actin can be used for workspace evaluation, reachability studies, reasoning for manipulation and grasping.
Actin can also be used for dynamically simulating rigid body dynamics and calculating the frictional and contact forces/torques on the bodies in the simulation. Actin supports collisions between bounding volumes made from any number of primitive shapes such as spheres, lozenges, cubes, and more. Also supported is full mesh-mesh collision. This capability can be applied to dynamically simulate robot arms for payload and collision analysis. Actin can simulate joint actuators such as servos and motors, and take into account parameters including inertia, friction, gear ratio, torque, and gear backlash in order to test how a system will perform and how it will react to varying loads and conditions. Actin dynamic simulation can also be used to model robotic rovers to evaluate performance on different terrains.
A user can also interface with their own human machine interfaces to drive the simulation in order to evaluate them without hardware to control.
- Evaluate existing hardware
Actin can also be used to simulate and evaluate existing hardware to determine workspace and reachability, as well as what kind of performance can be achieved. Configure the simulation to match the specifications provided by the manufacturer. For example, given a set of joint velocity limits, Actin can determine the maximum end effector velocity.
- Evaluate Vision Systems
Use Action to simulate complex vision systems and evaluate their design before ever buying a camera. Input the relevant properties to the simulated cameras, and visualize what the real hardware will see. Test your camera layout for desired visibility of your system.
- Parametric and Monte Carlo Studies
Actin provides the 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 then tabulate the results of those changes. Results include measures of sensor saturation, visibility, speed, mobility, balance, end effector placement, and manipulation. A Monte Carlo 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 are 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, Monte Carlo studies can be used to perform parameter-optimization analysis to determine the best design values.
Energid’s Actin approach is multifaceted, with algorithmic, language, and software-implementation components. The core velocity framework is based on a number of unique, patented methods for iterative linearization and solution of the equations of motion. It is implemented using a tree structure. This tree structure exists in the C++ code and is defined using XML.
- Simulation Structure
The manipulator structure is described through a dichotomy: system and state. The system remains the same, time step to time step, while the state changes. The system is decomposed into any number of manipulators, each of which is represented through any number of links in a tree structure. Each link in the tree describing a manipulator holds the following information: 1) kinematic data, 2) mass properties, 3) actuation parameters, 4) physical extent, 5) surface properties, and 6) bounding volumes. The state is decomposed into a velocity and a position state, manipulator by manipulator. Separating system and state allows easy logging, check pointing, and storage of the dynamic information.There are many possible types of end effector constraints to associate with a link. Most end effectors are rigidly attached to some link on the manipulator, and they can be attached in any way. Point end effectors, for example, can be attached with any offset, and frame end effectors can be attached with any offset and rotation. Some end-effectors are not attached to a specific link—examples include center-of-mass constraint and spatial momentum constraint.
For more information, read our white paper.