QArm - Lab 1 - Lab Procedure
QArm - Lab 1 - Lab Procedure
2. Move the QArm manipulator to the home position, and turn ON the unit using the power switch
located on the rear side of the base. Once powered, the manipulator should hold this position.
3. Launch MATLAB and browse to the working directory for Lab 1 – Low Level Control.
Exploration
Part 1
1. Open the Simulink model LowLevelControl.slx (Figure 1). In this part of the lab, you will tune the
proportional and derivative (PD) terms of the Wrist controller to examine their effect on performance
characteristics mentioned in the Concept Review.
Figure 1: Simulink model that controls the QArm in hybrid Position/PWM Mode
2. Before making any changes to the model, open the model’s Configuration Parameters and verify
that they are configured as follows:
3. Build and deploy the model using the Monitor & Tune action. Once started, the model will
command 0 rad angles to all four of the manipulator’s joints.
4. Set Cmd Select to 1 and you should see the wrist rotating.
5. Double click on the sub-system Wrist Controller and double click on Wrist Performance scope.
1
Figure 2: Simulink subsystem that contains Wrist Controller
6. At first glance ,it may seem that the measured position tracks the desired quite well, and that the
controller is doing a very good job. For safety, the maximum joint speeds for the base, shoulder, and
elbow are set to ±90 deg/s and the maximum joint acceleration is set to ±60 deg/s^2. Take a look
at the Wrist Performance scope. Do the speed and acceleration of the wrist meet the safety limit?
What action can you take to ensure that these conditions are met without changing the controller
gains?
7. Double click on the Wrist PWM Saturation block, adjust the upper and lower limit to bring joint speed
under 90 deg/s. Does the wrist joint acceleration get affected by this saturation? Why or Why not?
8. Double click on the Wrist PWM Rate Limiter block, adjust the rising and falling slew rate to bring joint
acceleration under 60 deg/s^2.
9. Now you see that the wrist joint is performing under the safety limit. However, the joint performance
becomes sluggish comparing to the position command. You will now tune the controller.
Figure 3 Example performances you should see after you satisfy all the requirements
11. Close the Wrist Performance scope and set Cmd Select to 0. You have reached the end of the first
part of the lab.
2
Part 2
1. In this part of the lab, you will learn the non-linear effects that are discussed in the Concept Review.
Double click on the Overall Control Performance scope located at the root level.
2. Set Cmd Select to 2 and you will see the elbow starts to move up and down. Are there assymetries
in the motion of the elbow joint as the lower arm moves down versus moves up? Why or why not?
Use the Overall Control Performance scope to see the difference,
3. Set Cmd Select to 0 so the arm goes home. The next 3 cases (3, 4, and 5) are going to explore the
shoulder’s motion under different configurations.
4. Turn on the 2nd and 6th signals in the Overall Contro Performance scope and you can turn off the 3rd
and 7th signals for better visibility.
5. Set Cmd Select to 3 and the elbow should go to -90 degrees. The arm is fully stretched out and the
shoulder oscillates between ±30 degrees with a 10 second period. Noted that the motion of the
shoulder is symmetric about the vertical axis and the response of the shoulder in the scope is
symmetric at the extremes (+/- 30 degrees). At each extreme, does the shoulder joint overshoot or
undershoot? Why?
6. Set Cmd Select to 4. The arm is still fully stretched out but now the shoulder oscillates between 15
and 75 degrees with a 10 second period. Is the response of the shoulder in the scope is symmetric
at the extremes (+15 and +75 degrees)? Why or why not? Take notes.
7. Set Cmd Select to 5. The elbow is set at 0-degree. The arm is now bent and the shoulder oscillates
between ±30 degrees with a 10 second period. In this case, the motion of the shoulder is symmetric
about the vertical axis. Is the motion of the shoulder joint symmetric at the extremes? Why or why
not? Take notes.
9. Close the gripper by clicking on the Manual Switch. Set Cmd Select to 6. The arm navigates between
2 positions close to the table. Which joints are changing when the end-effector is moving between
two points? What is the shape of the trajectory that the end-effector is following? How woud you
make the end-effector move along a linear path between two points?
10. Set the Cmd Select to 0, which makes the arm go back to the Home position.
12. With all models stopped, hold the arm, turn OFF the manipulator using the power switch at the rear
end of the base unit and gently move it to the rest position.