Continued Development of a Structurally Smart Animatronic Figure
Background
ATA Engineering is a San-Diego based consulting company for aerospace, themed entertainment, consumer products, and more. In particular, ATA seeks to increase their capabilities in aiding the themed entertainment robotics industry. Figure 1 below shows some examples of active animatronic figures. With improved test-analysis correlation, ATA can provide better engineering consulting services to various themed parks to make their animatronic figures more realistic and reliable and bring more smiles to kids' faces all over the world!
Figure 1: Examples of animatronic figures in the industry (source for video)
Objectives
In order to help ATA reach their goals, a prior team of MAE 156B students constructed an animatronic figure in Spring 2019 as shown in Figure 2 & 3. Our team in Spring 2020 decided to name this robot Amelia. At the beginning of our project, there were numerous mechanical deficiencies in Amelia. These include high magnitude vibrations in the arm, a non-stiff torso bearing, low modularity, and heavy components. Therefore, continued development is required in order to improve the controls, testing, and analysis of Amelia. Having an in-house test bench, such as Amelia, will allow ATA to obtain non-proprietary data that they can present in articles, public forums, or industry conferences to help promote consulting services to themed-parks with their animatronic figures like the ones shown in Figure 1.
Figure 2: Old Design with Excess Vibration
Figure 3: Final CAD model
Due to the COVID-19 Pandemic, the scope of the project has been modified. Although hardware design improvements were not carried out, CAD models and drawings of new parts were created. Control improvements were also implemented in software and tested. Specific requirements for the project are listed below.
Original Project Objectives
Design Requirements:
Reduce vibration in the arm
Smoothen motion
Decrease stresses
Increase rate at which joints can be actuated
Design, fabricate, and implement flexible link for the upper arm to study deformation response
Design, fabricate, and implement fused (breakaway) link for the upper arm to study deformation response
Improve control for usability
Design Desirements:
Increase frequency of animatronic structure's first mode of vibration in retracted position to 10 Hz
Increase frequency of animatronic structure's first mode of vibration in extended position to 5 Hz
Lighten arm links/optimize motor performance
Make figure easy to disassemble for transport. Separate into three components: Torso, Shoulder, Arm
Modified Project Objectives Due to COVID-19
Design Requirements:
Reduce vibration in the arm
Smoothen motion
Decrease stresses
Increase rate at which joints can be actuated
Design flexible link for the upper arm to study deformation response
Design fused (breakaway) link for the upper arm to study deformation response
Improve control for usability
Design Desirements:
Increase frequency of animatronic structure's first mode of vibration in retracted position to 10 Hz
Increase frequency of animatronic structure's first mode of vibration in extended position to 5 Hz
Optimize motor performance
Figure 4: An overview of the control components
As seen in Figure 4, MATLAB receives commands from the user, performs calculations, and sends commands to the Arduino. The Arduino relays commands to the motors, which report back data to MATLAB such as position and load.
MATLAB is used to program the controller interface. We have 3 control settings to choose from:
1) Joint controller enables the user to control the angle of each individual motor. The user may use the keyboard or input a target position, and the arm will automatically move there.
2) Endpoint controller enables the user to control the XYZ coordinate of the hand. The user may use the keyboard or input a target position, and the arm will automatically move there.
3) Motion profile controller enables the user to import a time history of motor angles to execute a defined motion profile.
Kinematic Simulation - Enables user to preview a given defined motion profile before executing it. An example of a simulated motion profile is shown in Figure 5.
Figure 5: Preview of a simulated motion (click to view .gif)
Dynamic Model - By modeling the joint stiffnesses as torsion springs, we simulate the dynamic behavior, such as in Figure 6, of the robot to retrieve natural frequency and forces. The model allows for design verification and iteration to be performed with hardware modifications before actually implementing them onto the robot.
Figure 6: SolidWorks motion study of an example motion
FLEXMAG Link - The flexible and breakaway links have been combined into a single design. This modular link, shown in Figure 7, helps widen the range of the analysis of the robot. The link allows for changes to the natural frequency and for inputting a discontinuity in the robotic arm.
Figure 7: FLEXMAG link
This design allows:
Easy machining and installation
Interchangeability between magnets and springs
Insertion of springs with different stiffnesses
The link can be easily installed into the upper or lower arm and does not increase arm length. The hinge design also prevents the arm from falling to the ground.
Control Results
For a step response, the motors' default behavior is to move according to a trapezoidal profile. By implementing a 5th-order polynomial profile instead of a trapezoidal profile, the vibration is significantly reduced as seen in Figure 8 & 9. This is because the velocity and acceleration change more gradually. Figure 8 shows that for the example motion below, magnitude of the first vibration is reduced by 88%, and the duration of residual vibrations is reduced by 63%.
Figure 8: Trapezoidal motion profile (Left) vs Polynomial motion profile (Right)
Figure 9: Numerical comparison of motion profiles
The error between commanded position and empirical position has also been minimized, as shown in Figure 10, to ensure the arm can accurately follow a given motion profile. A steady state error of 1-2 degrees typically occurs, which is considered acceptable.
Figure 10: Commanded vs empirical position for shoulder joint with polynomial profile
Dynamic Model Results
Table 1 compares the theoretical and empirical resonant frequency of the arm in two different cases, as shown in Figure 11. This verifies the dynamic model and calculated spring stiffnesses.
Table 1: Resonant frequency of the arm
Worst Case
Best Case
Figure 11: (Top) Worst-case configuration; (Bottom) Best-case configuration
Table 2 compares the theoretical and empirical static loads on the elbow and wrist joints when the arm is fully extended.
Table 2: Steady-state torques in the arm