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:

 Design Desirements:

 Modified Project Objectives Due to COVID-19

 Design Requirements:

Design Desirements:

Final Design


Control Interface

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: 

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