Robot-Human Interaction with an Acrobot Robotic Arm in MotionSolve and Twin Activate
Overview
INTRODUCTION
Increasing payload capacity, reach, and precision are driving businesses to implement robotic arm to increase output and save money. However, as robotic arms by companies like ACROME, FANUC, and KUKA are applied in numerous fields, the risk to human safety increases. Researchers and engineers are developing control algorithms and safety features to minimize the risk. A large part of testing safety algorithms and safety features is using simulation to emulate real-world scenarios. Engineers can simulate scenarios where collisions could occur and evaluate performance in avoiding or minimizing the effects of the collision.
In this example, we will build a multibody dynamics model of an Acrobot robotic arm and a human body. The ACROME Acrobot is a 6 DOF robotic arm system designed to be a test bed for control systems. Precise actuators, high resolution encoders, and current sensors allow for position, velocity, or torque control. As the robot arm swings into a person, a load cell on the arm will measure the contact force and a control algorithm will minimize the force applied to the person. The model will utilize a dedicated multibody dynamics solver, MotionSolve, to handle the physics while a multi-disciplinary systems tool, Twin Activate, will handle the control system.
Understanding the Model Definition in MotionSolve
The MotionSolve model is built from CAD data imported into the program. Joints are built between each segment of the robotic arm to mathematically capture the relationships between each segment. The human body is fixed and rigid in this example, however, a potential next step is to model the bodies’ flexibility. A rigid body provides a worst-case scenario where the robotic arm has the least time to react before applying a significant force to the human. Contacts are created between the robot’s end effector and the body using an impact contact model. The impact contact model should accurately model the collision with a specified stiffness and damping.
The robot is controlled by Twin Activate, a 1D physics modeling tool with applications ranging from control systems to hydraulics. To communicate with Twin Activate, solver inputs and outputs must be created in MotionSolve. For a robot arm control system, the Twin Activate controller will need each joint’s position and velocity along with the contact force measured by the end effector’s load cell. Twin Activate will compute the torque each motor requires and send it to a solver input in MotionSolve. At each timestep in the simulation, MotionSolve and Twin Activate will communicate to accurately model the robot arm.
Understanding the Model Definition in Twin Activate
The Twin Activate controller uses a series of PID controllers to affect the motor torque. The process begins with a PID controller that takes the error in position and produces a reference velocity profile. The model implements an anti-windup control to prevent producing a velocity reference profile beyond the capabilities of the motors. A second PID controller takes the error in velocity and produces a reference current profile.
The controller implements a restriction in the contact force by limiting the current. If the robot senses a contact force above a desired limit, the robot decreases the maximum allowable current to decrease the motor torque and therefore the contact force.
After calculating the reference current, the controller uses a final PID controller to calculate the voltage passed to the motor and limits the voltage if it is higher than the motor is capable of handling. The voltage is passed to a DC brushless motor, modeled as a resistor and an inductor. The model accounts for back emf using the motors velocity and motor velocity constant. Note the motor model uses only voltage to control the motor’s torque. A more complete model could incorporate duty cycle as well, a capability of Twin Activate, but not necessary for this model. The current is measured and multiplied by the motor’s torque constant to convert to Torque which is passed to MotionSolve.
Pre-Requisite
SOFTWARE REQUIREMENTS
MotionView (2024 or newer)
MotionSolve (2024 or newer)
Twin Activate (2024 or newer)
MODEL FILES
Acrobot_Collision.zip (See Attachments)
Usage/Installation Instructions
MODEL SETUP & SIMULATION STEPS
- Open Acrobot_Controller.scm in Twin Activate.
- Open Model in the Context section of the tool banner.
- Change the value of contactcontrol_enabled to 1 to enable the control algorithm or 0 to disable the control algorithm.
- Select Run to perform the analysis.
- Open a new session in HyperView.
- Open the h3d result file found in the Results folder to view the animation.
Post-Requisite
RESULTS
The control algorithm reduces the maximum force the robot arm can produce on a person to approximately 20 Newtons. Without the control algorithm, the contact force peaks at 80 Newtons during the initial collision and continues to apply forces well above 20 Newtons. Although a simple example of a control system, alternative algorithms can be developed and tested using the same workflow.
In addition to the contact forces, the motor torques can be plotted. The 6th DOF is translational at the end effector and not manipulated with the control system. The control system creates noisy torque signals indicating the simple algorithm could use refinement to improve performance.
CONCLUSION
The integration of simulation in testing safety features and algorithms for robotic arms is becoming crucial for building better robots. Engineers can replicate real-world scenarios, including those with human interaction, and test new features while posing no risk to real people or equipment. Simulation cuts cost while making otherwise hazardous tests possible. In this example, we set up a 6 DOF robot arm and tested a simple control algorithm to limit the force the robot could apply to a person. More complex algorithms and safety features can be evaluated by adopting a similar workflow. Co-simulation between a multibody dynamic solver, MotionSolve, and a systems level tool, Twin Activate, leverage the advantages of both without compromising performance. Co-cimulation can be used from early conceptual design to high-fidelity validation to improve system performance and cut costs.
AUTHORS
John Dagg, Systems Engineering Intern
Christopher Fadanelli, Solutions Engineer – System Integration
Ananth Kamath Kota, Global Technical Manager – Systems Integration