0% found this document useful (0 votes)
40 views

Control of Industrial Robots Paolo Rocco, Costanza Messeri Motion Control of A Manipulator With Rigid Joints

1. The document describes how to control an industrial robot arm (UR5) to move along the x-axis for 0.4 m in 0.5 seconds using independent joint control with P/PI controllers and feedforward. 2. Key steps include defining the robot model, planning the trapezoidal velocity profile, using inverse kinematics to calculate joint positions, designing P/PI controllers for each joint, and simulating the overall system in Simulink. 3. Control is achieved by computing the inverse kinematics and direct kinematics at each time step to determine the joint positions/torques needed to track the desired end effector trajectory.

Uploaded by

Samo apk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
40 views

Control of Industrial Robots Paolo Rocco, Costanza Messeri Motion Control of A Manipulator With Rigid Joints

1. The document describes how to control an industrial robot arm (UR5) to move along the x-axis for 0.4 m in 0.5 seconds using independent joint control with P/PI controllers and feedforward. 2. Key steps include defining the robot model, planning the trapezoidal velocity profile, using inverse kinematics to calculate joint positions, designing P/PI controllers for each joint, and simulating the overall system in Simulink. 3. Control is achieved by computing the inverse kinematics and direct kinematics at each time step to determine the joint positions/torques needed to track the desired end effector trajectory.

Uploaded by

Samo apk
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

Control of industrial robots

Paolo Rocco, Costanza Messeri


Motion control of a manipulator with rigid joints
Consider the UR5 manipulator sketched in the picture. Assume the following
values for the geometrical and physical parameters of the links:
- DH parameters:

Link i 𝒅𝒅𝒊𝒊 [m] 𝒂𝒂𝒊𝒊 [m] 𝜶𝜶𝒊𝒊 [rad]

1 0.08916 0.0 𝜋𝜋�


2

2 0.0 −0.425 0

3 0.0 −0.39225 0

4 0.10915 0.0 𝜋𝜋�


2

5 0.09465 0.0 − 𝜋𝜋�2

6 0.0823 0.0 0

- Masses and positions of the centers of mass expressed w.r.t the reference
frame attached to the associated link :

Link i m [kg] 𝒑𝒑𝒄𝒄𝒄𝒄𝒊𝒊 [m]

1 3.7 [0 -25.61 1.93] ∗ 10−3

2 8.393 [212.5 0 113.36] ∗ 10−3

3 2.275 [119.93 0 26.5] ∗ 10−3

4 1.219 [0 -1.8 16.34] ∗ 10−3

5 1.219 [0 1.8 16.34] ∗ 10−3

6 0.1879 [0 0 -1.159] ∗ 10−3

- Inertia tensors expressed w.r.t. the reference frame attached to the associated link:

Link i 𝑰𝑰𝒊𝒊 [Kg*𝒎𝒎𝟐𝟐 ] Link i 𝑰𝑰𝒊𝒊 [Kg*𝒎𝒎𝟐𝟐 ]

1 84 0 0 4 16 0 0
�0 64 0 � ∗ 10−4 �0 16 0� ∗ 10−4
0 0 84 0 0 9

2 78 0 0 5 16 0 0
�0 21 0 � ∗ 10−4 �0 16 0� ∗ 10−4
0 0 21 0 0 9

3 16 0 0 6 1 0 0
� 0 462 0 � �0 1 0� ∗ 10−4
0 0 462 0 0 1
∗ 10−4
Assume that the motion is actuated through six motors connected to the links by means of rigid joints. Use the
following numeric values:
• Moment of inertia of the motors around their own axes (indicative values):
𝐽𝐽𝑚𝑚1 = 𝐽𝐽𝑚𝑚2 = 𝐽𝐽𝑚𝑚3 = 10−5 kg m2
𝐽𝐽𝑚𝑚4 = 𝐽𝐽𝑚𝑚5 = 𝐽𝐽𝑚𝑚6 = 5 ∗ 10−6 kg m2

• Reduction ratios: 𝑛𝑛1 = 𝑛𝑛2 = 𝑛𝑛3 = 𝑛𝑛4 = 𝑛𝑛5 = 𝑛𝑛6 = 100


Consider the robot initially at steady-state with the end effector located in the point (0.2, 0, 0) and oriented as
the base frame (frame 0). We want to design an independent joint control system (made by P/PI controllers
with speed feedforward), that allows to move the robot along the 𝑥𝑥0 axis for a 0.4 m displacement in 0.5 s, with
a maximum speed of 1 m/s, using a trapezoidal velocity profile.
How to proceed
1. Define the manipulator with the command SerialLink, taking care of defining all the geometrical
and physical parameters, including the moments of inertia of the motors and the reduction ratios;
2. Plan the trajectory, computing the acceleration time and the initial acceleration with the known
formulas:
𝑥𝑥𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑𝑑 𝑥𝑥̇ 𝑚𝑚𝑚𝑚𝑚𝑚
𝑡𝑡𝑎𝑎𝑎𝑎𝑎𝑎 = 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − , 𝑥𝑥̈ =
𝑥𝑥̇ 𝑚𝑚𝑚𝑚𝑚𝑚 𝑡𝑡𝑎𝑎𝑎𝑎𝑎𝑎

where 𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 and 𝑥𝑥𝑡𝑡𝑡𝑡𝑡𝑡 are the total travel time and the distance to cover, respectively, 𝑥𝑥̇ 𝑚𝑚𝑚𝑚𝑚𝑚 is the
maximum speed and 𝑥𝑥̈ represents the acceleration;

Compose in Simulink the


scheme that performs
trajectory planning. You
can use the solution
reported here, where the
acceleration profile is
defined first, as the sum of
four acceleration steps with
suitable values and
activation instants, while
the position profile is
obtained through double
integration;

3. Define a Simulink diagram that computes the


inverse kinematics, by exploiting the Simulink
block called MATLAB Function. Use the
provided inverse kinematics code and use the
block memory to keep in memory the previous
joint configuration of the robot and give it as
input to the provided inverse kinematics
function.
4. Design the speed and
position controllers for all
the joints (The complete
controller for axis one is
reported in the figure).
Make reference to the
following values of the
load side moments of
inertia: Jl1=1.548 kg m2,
Jl2= 1.8 kg m2, Jl3= 0.58
kg m2, Jl4= 1.76 ∗ 10−2 kg
m2, Jl5= 2.23 ∗ 10−3 kg
m2, Jl6= 10−4 kg m2,
where all the values
except for the sixth one
are approximated
considering the worst
case (max inertia w.r.t
the analyzed joint). For all the joints select a crossover frequency 𝜔𝜔𝑐𝑐𝑐𝑐 = 60 rad/s for the position loop
and a crossower frequency 𝜔𝜔𝑐𝑐𝑐𝑐 = 600 rad/s for the speed loop. Use the following values for the time
constants of the derivators:
𝑇𝑇𝑓𝑓𝑓𝑓1 = 𝑇𝑇𝑓𝑓𝑓𝑓2 = 𝑇𝑇𝑓𝑓𝑓𝑓3 = 1�260 s

𝑇𝑇𝑓𝑓𝑓𝑓4 = 𝑇𝑇𝑓𝑓𝑓𝑓5 = 𝑇𝑇𝑓𝑓𝑓𝑓6 = 1�700 s


Compose the Simulink diagram for the six joints as in the picture below and create a unique subsystem
which represents the actual Axis Control action.

SUBSYSTEM
Simulate the overall system with the following diagram (where the previously described subsystems have
been conveniently grouped):

Notice that both the position reference signal and the measure are scaled by the reduction ratios, like the
torque produced by the motor.
An additional block has been included in the diagram, which computes direct kinematics, by using again
a MATLAB Function. Again, use the provided Direct kinematics code.

You might also like