robotics – aer 525s
TRANSCRIPT
1
AER 525 – ROBOTICS
Robotics Simulation Project
The MARS Manipulator The Modular, Autonomously Reconfigurable Serial (MARS) Manipulator is an 18-
Degree-of-Freedom (DOF) serial-link manipulator. It is a reconfigurable manipulator,
because through the locking of specific joints, it is able to physically emulate a variety of
lesser DOF robots, such as the 5-DOF SCORBOT manipulator.
To run the MARS Simulation, run the RobotSim application, and choose “MARS
Manipulator” under the “Robot” menu. A separate interface will appear after 30-60 sec.
depending on the CPU.
To visualize the robot’s current configuration, click on the “Activate Visualization”
button.
2
Kinematics
Experiment 1: Robot Configuration (10 points) Enter the initial positions of the 18 joints in the white boxes (or by playing with the
sliders) and lock the proper joints (by checking their corresponding boxes), so that the
final manipulator can be represented by the above schematic and DH table. (All joints are
revolute.) This manipulator is analogous to the SCORBOT manipulator that you will be
working with in the laboratory. You can save your configuration in the Simulation >
Robotsim_Matlab > Example of configuration folder by clicking the “Save” button. This
will be considered as the “home” configuration of the robot for this project.
Enter these selected values in the table below, and print a 3D view of the manipulator
from the visualization window. (The order of joints in the table is from the tip to the base
of the robot.)
Link a (m)
α (deg)
d (m)
θ (deg)
1 0 -90 0.26 0 2 0.24 180 0.26 0 3 0.19 180 0.22 0 4 0 -90 0 0 5 0 0 0.056 0
3
Joint Initial Value (m / deg) Locked Unlocked
A2 Roll
A2 Pitch
A2 Prismatic
A1 Roll
A1 Pitch
A1 Prismatic
B2 Roll
B2 Pitch
B2 Prismatic
B1 Roll
B1 Pitch
B1 Prismatic
C2 Roll
C2 Pitch
C2 Prismatic
C1 Roll
C1 Pitch
C1 Prismatic
Experiment 2: End-effector Positioning (20 points)
It is intended to find a set of joint angles such that the end-effector touches a flat
horizontal table 0.2±0.001m above the ground where the robot is mounted and as close as
possible to right underneath the end-effector position when the manipulator is at “home”
configuration (shown in the figure) without any orientation (i.e., same orientation as in
the home position shown above). Define a corresponding eT0 to satisfy this condition:
Ideal Matrix eT0 =
4
In order to find the joint angles for the above configuration, you can either use the
Inverse Kinematics model or, similar to the experiments you will be doing in the
laboratory, use a trial-and-error approach (either manually or through a user-defined
forward kinematics profile) to find the joint angles corresponding to the above
homogenous transformation matrix. Write them in the space below:
Joint Physical Joint Angle (deg) DH Joint Angle θ (deg)
Joint #1
Joint #2
Joint #3
Joint #4
Joint #5
Write the resulting eT0 for these joint angles:
Matrix eT0 =
Experiment 3: Workspace Identification (20 points)
In this experiment, it is intended to draw the workspace envelope of the robot that you
defined in Experiment 1. Choose a suitable input for each joint such that the robot will
pass the majority of points throughout its workspace. As a suggestion, start from a slow
sinusoid input for the first joint (considering the joint limits) and increase the frequency
for the consequent joints. Run the simulation and illustrate the workspace (for example,
by drawing the projection of the end-effector trajectory on the horizontal and vertical
planes.) How do the joint limits affect the workspace of the manipulator?
5
Dynamics
Experiment 4: Weight Effects (15 points)
Consider the straight upward configuration of the manipulator defined in the previous
experiments as shown in the figure below.
Determine the joint angle values corresponding to this configuration, and list them in the
table below:
6
Joint 1 2 3 4 5 DH Joint
Angle θ (deg)
Run the simulation by setting the joints as constant values. (This will pickup the current
physical values of the joints.) Check the “Graphs” by clicking in the “Graphs” button. An
interface appears, read the joint torque values and record them in the table below. Explain
the simulation results using visual inspection.
Joint 1 2 3 4 5 Torque (N.m)
Next, determine the joint angles corresponding to the straight forward configuration as
shown in the figure below, and enter the joint angles in the table below.
7
Joint 1 2 3 4 5 DH Joint
Angle θ (deg)
Repeat the simulation, and record the joint torque values in the table below.
Joint 1 2 3 4 5 Torque (N·m)
Compare the results of the two experiments, and explain why the torque values are
different, and also why the torque at joint 2 is larger than those at joints 3 and 4 in the last
table.
8
Experiment 5: Nonlinear Effects (15 points)
Fill in the joint angles in the table below which are corresponding to the configuration
shown in the figure below.
Joint 1 2 3 4 5 DH Joint
Angle θ (deg)
Define the motion of joint 1 as a sinusoid with a frequency of 1 Hz and an amplitude of
90o while keeping the other joints constant. Run the simulation, and record the torque
values in the table below:
9
Joint 1 2 3 4 5 Min Torque
(N·m)
Max Torque (N·m)
Discuss the causes of the torque at joint 2.
Set the same joint angles as above. Define the motion of joint 1 as a sinusoid with a
frequency of 1 Hz and an amplitude of 90o and joint 3 as a sinusoid with a frequency of
10 Hz and an amplitude of 45o while keeping the other joints constant. Run the
simulation, and record the joint torque values in the table below.
Joint 1 2 3 4 5 Min Torque
(N·m)
Max Torque (N·m)
Are these torque values different from the ones obtained in the previous experiment?
Why?
Next, design a test to find out the torque on joint 2 only due to the centrifugal forces.
Describe the test, run it, and show the results.
Set the joint angles as in the previous experiment, fix all joints except joint 4, and give a
sinusoidal motion to joint 4 with the frequency of 1 Hz and amplitude of 90°. Run the
simulation, and print the torque of joint 2. Discuss the causes of this torque.
10
Experiment 6: Payload and Mass Effects (20 points)
Run the simulation, and obtain the joint torque values corresponding to the “home
configuration.” Record them in the table below.
Joint 1 2 3 4 5 Torque (N.m)
Define a force vector as [0 2 0] at the end-effector. Run the simulation again and record
the joint torque values as raw values in table below. Subtract the torque in the above table
from raw values in table below and record the results as net values. Repeat this test for
various payloads mentioned in the table below. Note that these force and torque vectors
are defined in the root coordinate frame.
Joint Force Torque
[2 0 0] [0 2 0] [0 0 2] [2 0 0] [0 2 0] [0 0 2] Raw Net Raw Net Raw Net Raw Net Raw Net Raw Net
1 2 3 4 5
The net values in the above table are contributions of the payload to the joint torque. In
which case the net values for all five joints are zero? Why?
Find the payload (force and/or moment) which makes all joint torque values zero except
for joints 4 and 5.
Suppose all DH joint angles are zero (home configuration) except for joint 1, which
rotates at constant speed.
Could you change the mass of one link only without affecting the torque at any of the
joints?
Could you change the mass of two links without affecting the torque at any of the joints?
11
Controls
Experiment 7: PID Control (20 points)
In this experiment, it is intended to compare various PID controllers for the manipulator.
Start with the home position, and lock all joints except joint #2. Run a controls simulation
of 5 seconds with the following gains:
Kp = 200, Ki = 0, Kd = 5
Give a user-defined trajectory for joint #2 of a linear motion from 90o to 100o (physical
joint angle) for the first 0.5 seconds, followed by a constant displacement of 100o for the
remaining 4.5 seconds. The following is the syntax for the simulation GUI:
Time = [0 0.5 5]
Position = [90 100 100]
For simulations in this experiment, choose “coarse resolution,” which assigns a minimum
time increment of 0.001s for the solver.
Provide graphs of the joint displacement and torque, and discuss the graphs.
Run another simulation with the same gains, except this time with a Ki = 50.
Re-produce the same graphs, and discuss the results.
Next, play with the control gains and try and obtain a better response time, overshoot and
steady error. Provide the final control gains and graphs of the joint displacement and
torque. Discuss the results.
Kp = ________ Ki = ________ Kd = ________
12
Experiment 8: Trajectory Planning (30 points)
In this experiment, it is intended to design proper joint trajectories and servo controllers
to reach a desired end-effector pose.
Start with the home position, and then lock joints #1 and #5. Design a set of trajectories
for the remaining three joints that take the end-effector from the home pose and the one
determined in experiment #2 (touching the table). The trajectories should minimize the
acceleration required to reach the desired end-effector pose.
Run the controls simulation with proper gains designed to take the end-effector from the
home pose and the final pose in 3 seconds, and then maintain this pose for another 3
seconds (6 seconds of total simulation time.) Note that, due to the time required to run
this simulation, it is recommended to develop the trajectories using the forward
kinematics simulation first, before proceeding with the controls simulation. Further,
individual joints should be first tested one at a time (all other joints locked) choosing
coarse resolution, before proceeding with running the three joints simultaneously
choosing fine resolution. The coarse resolution can merely handle one unlocked joint at a
time, and it is meant for quick tests.
Record the designed joint trajectories (physical joint angles) and control gains in the table
below, provide graphs for end-effector position and orientation, and discuss the results.
Kp Ki Kd Time Vector Position Vector
Joint #2
Joint #3
Joint #4