Advertisement

Quick Links

6 DOF Hexapod
Laboratory Guide
Hexapod
Quanser Inc.
2016

Advertisement

Table of Contents
loading

Summary of Contents for Quanser 6 DOF Hexapod

  • Page 1 6 DOF Hexapod Laboratory Guide Hexapod Quanser Inc. 2016...
  • Page 2 Fax: 1-905-940-3576 Printed in Markham, Ontario. For more information on the solutions Quanser Inc. offers, please visit the web site at: http://www.quanser.com This document and the software described in it are provided subject to a license agreement. Neither the software nor this document may be used or copied except as specified under the terms of that license agreement.
  • Page 3: Table Of Contents

    Contents Introduction Running the 6 DOF Hexapod Calibration Homing Joint-Level Position Control World-Space Position Control Brake Bypass Earthquake FFT Analysis Hexapod Controllers Background Modeling Position Controller Design Downloading New Earthquakes System Requirements Overview of Files Setup script: setup_hexapod.m Creating an Earthquake: make_quake_xyz.m v 1.3...
  • Page 4: Introduction

    1 INTRODUCTION This laboratory manual describes how to use the Quanser 6 DOF Hexapod QUARC controllers. See the 6 DOF Hexapod User Manual [2] for information about the hardware setup (i.e., connections) and specifications. Topics Covered Calibrating the Hexapod on power up.
  • Page 5: Running The 6 Dof Hexapod

    2 RUNNING THE 6 DOF HEXAPOD This section explains how to use the supplied models with the QUARC software to run the following controllers on the Hexapod: 1. Calibration - Runs an auto routine on all the drives and resets the encoders to zero. Required after system power up.
  • Page 6: Homing

    Before running Hexapod_Joint_Control.mdl, Hexapod_World_Control.mdl, or any other position-based experiments, the stage of the 6 DOF Hexapod must be in the HOME position. This is defined when each base joint is at its mid- stroke position. The Hexapod_Home.mdlSimulink model, shown in Figure 2.2, is ran with QUARC to center all the linear joints at the base.
  • Page 7: Joint-Level Position Control

    Figure 2.2: Simulink model used to home the Hexapod using QUARC. Follow these steps to home the system: 1. Make sure the red button is in the upper position to enable the amplier. The amplier cannot be enabled when the button is in the lower position. Twist the button to ensure it is in the enabled position. 2.
  • Page 8 Figure 2.3: Simulink model used to command joint-level positions to the 6 DOF Hexapod using QUARC. The joint commands can be found inside the Desired Joint Reference \Desired Joint Reference subsystem block shown in Figure 2.4. The home reference of 176.5 mm is applied to each joint .
  • Page 9: World-Space Position Control

    3. Open the Simulink model called Hexapod_Joint_Control.mdl, shown in Figure 2.3. 4. Run setup_hexapod.m in MATLAB (note: script is ran automatically when Simulink model is ran). 5. Click on QUARC | Build to generate the controller. 6. Run the QUARC controller by going to QUARC | Start. 7.
  • Page 10 Figure 2.5: Simulink model used to command world-space positions to the 6 DOF Hexapod using QUARC. The end-effector world coordinate commands are given in the Desired Position Reference subsystem block shown in Figure 2.6. The setpoint for each of the end-effector’s axes - X, Y, Z, Pitch, Roll, and Yaw - can be set to either a sine wave or square wave.
  • Page 11 Figure 2.6: Hexapod world coordinate position commands Caution: Make sure the Hexapod is at the HOME position before running this experiment! If the joints are not at the mid-stroke or center position, then go through the homing procedure in Section 2.2. Follow these steps to run the controller: 1.
  • Page 12: Brake Bypass

    Note: The Slider Gain values are actually reset to the home reference automatically when the controller is stopped. The signal amplitude gains are all reset to 0 and the frequency gain blocks are set back to 1 Hz. However, because this is performed after the controller is stopped, it does not physically move the platform back to HOME.
  • Page 13: Earthquake

    3.3. The user can also specify and create a pre-defined compound sine wave trajectory. Figure 2.8: Simulink model used to command earthquake to the 6 DOF Hexapod using QUARC. Caution: Make sure the Hexapod is at the HOME position before running this experiment! If the joints are not at the mid-stroke or center position, then go through the homing procedure in Section 2.2.
  • Page 14 4. The command position (and acceleration) must first be loaded into the MATLAB environment. Select your earthquake record and run the make_quake_xyz.m script to load the scaled data. For more information about using the make_quake_xyz.m script, see Section 4.3. 5. Click on QUARC | Build in Hexapod_Earthquake.mdl to generate the controller. 6.
  • Page 15: Fft Analysis

    Note: As explained in the Hexapod User Manual [2], if a limit switch is triggered the amplifier automatically stops accepting any motor/joint commands in that direction. However, position commands in the opposite direction are still accepted (e.g., joint can be moved back to home). 2.7 FFT ANALYSIS This section shows how to evaluate the power spectrum of the commanded and measured Hexapod position and acceleration signals using the fft_eval_pos.m and fft_eval_acc.m scripts.
  • Page 16: Hexapod Controllers

    Figure 2.11: FFT of desired and measured acceleration along x-axis after running Northridge earthquake 4. In both the fft_eval_pos.m and fft_eval_acc.m scripts, you can adjust the frequency range by adjusting the f_min and f_max variables: 2.8 HEXAPOD CONTROLLERS This section briefly describes some of the blocks used the Simulink models that are supplied with Hexapod, to be used with QUARC.
  • Page 17 Figure 2.12: Hexapod library used in QUARC controllers supplied 2.8.1 Position Reference As shown in Figure 2.13, the Hexapod positions commands are smoothed in the Home Reference \Trajectory Smoothing subsystem. The Linear Trajectory block takes in the desired position of each joint, the initial joint po- sitions as well as the maximum allowed speed for each joint.
  • Page 18 setup_hexapod.m This is done by keeping a minimum distance between them. The separation distance can be set in in the min_separation variable. Note that this is defined as the distance between the joint center to joint center - not the side to side distance. Furthermore, each joint is limited to maximum and minimum position using a Simulink Sat- uration block.
  • Page 19 Figure 2.14: Hexapod IO API subsystem The Hexapod HW API subsystem, depicted in Figure 2.15, includes the hardware blocks that interface directly to the hardware actuator and sensors. The HIL Read Timebase block reads the six encoders, status of all six amplifier drives (e.g., if a fault occurs), and the encoder velocities.
  • Page 20 Figure 2.15: QUARC blocks used to interface to Hexapod actuators and sensors The Hexapod IO API \Hexapod IO subsystem, shown in Figure 2.16, interfaces Hexapod position controller to the the hardware I/O explained above. For instance, it converts the encoder counts to joint linear position (i.e., multiplied by the encoder resolution and motor shaft circumference constant).
  • Page 21 2.8.3 Position Control The Hexapod implements the PID-based controller described in Section 3.2 in the PID subsystem block, shown in Figure 2.12. The control force, i.e., effort required to attain the desired position, is converted to current for the amplifier in the Hexapod IO subsystem. The joint velocities used in the PID controller can be generated through hardware or software.
  • Page 22 World Position Routing: The yellow trace displayed in this plot is the measured position of the top stage and the purple plot line is the commanded or desired position. The axis to be displayed on the scope - X, Y, Z, Roll, Pitch, or Yaw - can be selected using the Position Index block (values between 0 and 5).
  • Page 23: Background

    3 BACKGROUND 3.1 MODELING The dynamics between the applied force to the linear position of each joint can be represented by the transfer function q(s) = F (s) (3.1) where q(s) = [q(t)] is the Laplace of the joint position q(t), F (s) is the Laplace of the applied linear force, and M is the total mass being moved by the motor (i.e., both pre-load and payload).
  • Page 24: Downloading New Earthquakes

    The cut-off frequency, ω , is for the second-order filter that is used to compute the desired joint velocity and accel- eration. Caution: These are the default PD control gains that are used in the 6 DOF Hexapod software controller and should NOT be tuned by the user unless it is necessary for application-specific reasons.
  • Page 25 7. Click on the Save Original Unscaled Time Series Records button. 8. Save the ZIP file to your PC and extract its contents to the 6 DOF Hexapod\Controllers folder. This par- ticular record contains the measured acceleration for three different direction: NGA_no_1105_HIK000.AT2, NGA_no_1105_HIK090.AT2, and NGA_no_1105_HIK-UP.AT2.
  • Page 26: System Requirements

    [3] to see what versions of MS VS and are compatible with your version of QUARC and for what operating system. Required Hardware Quanser 6 DOF Hexapod. Note: already includes integrated amplifier and data acquisition (DAQ) device. Before Starting Lab Before you begin this laboratory make sure: QUARC is installed on your PC, as described in [4].
  • Page 27: Overview Of Files

    Sample Mendocino earthquake acceleration data file (direction 000). NGA_no_825_CPM090.AT2 Sample Mendocino earthquake acceleration data file (direction 090). NGA_no_825_CPM-UP.AT2 Sample Mendocino earthquake acceleration data file (direction UP). Table 4.2: Additional files supplied with the 6 DOF Hexapod v 1.3 HEXAPOD Laboratory Guide...
  • Page 28: Setup Script: Setup_Hexapod.m

    Follow these steps: 1. Load the software. 2. In the Current Directory window, go to the 6 DOF Hexapod files on your PC (copied from the 6 DOF Hexapod CD). 3. Open the setup_hexapod.m script shown below: HEXAPOD Laboratory Guide...
  • Page 29 4. Run the setup_hexapod.m script (click on Debug | Run in the Editor menu bar or on the Run icon in the Editor v 1.3 HEXAPOD Laboratory Guide...
  • Page 30: Creating An Earthquake: Make_Quake_Xyz.m

    PEER Ground Motion website, as explained in Section 3.3. Follow these steps to run the make_quake_xyz.mfile: 1. Load 2. In the Current Directory window, go to the 6 DOF Hexapod files on your PC (copied from the 6 DOF Hexapod CD). 3. Open the make_quake_xyz.m script.
  • Page 31 5. Run the make_quake_xyz.m script (click on Debug | Run in the Editor menu bar or on the Run icon in the Editor tool bar) to generate the earthquake wave. This will generate a plot similar to Figure 4.1. The desired acceleration and recorded earthquake acceleration is shown in the top plot (in gravitational units) and the scaled position setpoint in the bottom plot (in centimeters).
  • Page 32 The Northridge earthquake had a maximum displacement of 16.92 cm and this was scaled down to 2.5 cm (as set by x_max). In order to achieve the same acceleration, the time of the generated trajectory is compressed from 39.98 to 15.37 seconds. 7.
  • Page 33 REFERENCES [1] Quanser Inc. QUARC User Manual. [2] Quanser Inc. Quanser 6 DOF Hexapod User Manual, 2016. [3] Quanser Inc. QUARC Compatibility Table, 2016. [4] Quanser Inc. QUARC Installation Guide, 2016. v 1.3 HEXAPOD Laboratory Guide...

Table of Contents