corso robotica cecilia laschi -...
TRANSCRIPT
![Page 1: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/1.jpg)
Robot Control
Cecilia Laschi The BioRobotics Institute
Scuola Superiore Sant’Anna, Pisa
University of Pisa Master of Science in Computer Science
Course of Robotics (ROB) A.Y. 2016/17
[email protected] http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/rob/start
![Page 2: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/2.jpg)
Robot Control
Control of one joint motion: PID controller
Control of the manipulator motion: Trajectory planning
Motion control in joint space
Motion control in operational space
The Dexter Arm example: Mechanics, Kinematics, Control, Software
interfaces
![Page 3: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/3.jpg)
a
Scheme of a control system
Power amplifier
Motor
Encoder
Reducer mot +
mot -
Control unit
Position
Reference signal
JOINT Power supply
A control system provides a command in voltage or current to the actuators (motors) such that the joints reach a desired configuration
![Page 4: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/4.jpg)
a
Scheme of a control system
mot +
mot -
Opposite-sign voltages produce opposite
rotations of the motor
Motor
Encoder
Reducer
JOINT
![Page 5: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/5.jpg)
Scheme of a control system Encoder: sensor measuring
joint rotations, either as an absolute or a relative value. The measurement is given in “encoder steps”
Reducer: mechanism reducing the motor rotations with respect to the rotations of the axis mounted on the motor (ex. 1:k reduction)
Power amplifier: it amplifies a reference signal into a power signal for moving the joint
Control unit: unit producing the reference signal for the motor
![Page 6: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/6.jpg)
Relations between joint position and encoder position
q: joint angular position (in degrees)
: joint position in encoder steps
k: motor reduction ratio
R: encoder resolution (number of steps per turn)
𝑞 =𝜃 × 360°
𝑅 × 𝑘
![Page 7: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/7.jpg)
Control of one joint motion
Objective: move the joint from the
current position qi (in degrees) to the
desired position qf , in a time interval t :
qi qf
![Page 8: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/8.jpg)
Closed-loop (feedback) control The variable to control is measured and compared
with the desired value
The difference, or error, is processed by an algorithm
The result of processing is the input value for the actuator
Actuator
Sensor
Desired
value
-
Current position
e Control
algorithm
V
+
![Page 9: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/9.jpg)
PID control (Proportional, Integral, Derivative)
It is a closed-loop control in which the error is processed with an algorithm including Proportional, Integral and Derivative components.
The algorithm processes the error and provides an input to the actuator, with 3 components:
Proportional, producing a correction proportional to the error;
Integral, producing a correction given by the error integral in time;
Derivative, producing a correction which is a function of the error first derivative.
Not all closed-loop control systems use a PID algorithm
![Page 10: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/10.jpg)
PID control (Proportional, Integral, Derivative)
In a PID control system, the error is given to the control algorithm, which calculates the derivative and integral terms and the output signal V
Actuator
Sensor
Desired
value
-
Current position
e PID
V
+
![Page 11: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/11.jpg)
PID control (Proportional, Integral, Derivative)
Kp is the proportional gain or constant
Ki is the integral gain or constant
Kd is the derivative gain or constant
eq is the error, i.e. the difference between the desired position and the current position
dt
dee
qqe
dtteKeKeKV
q
q
adq
qiqdqp
![Page 12: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/12.jpg)
PID control
Proportional term The voltageV given to the motor is proportional to
the difference between the actual position measured by the sensor and the desired position
K * eq
V Motor qd
desired
position Robot
Encoder
+
-
qa (actual position)
eq
![Page 13: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/13.jpg)
PID control
Proportional term: The voltageV given to the motor is proportional to
the difference between the actual position measured by the sensor and the desired position
dt
dee
qqe
dtteKeKeKV
p
p
dp
qiqdqp
KP : proportional constant
adq qqe
![Page 14: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/14.jpg)
PID control
Proportional term: system behaviour
Desired position: 1
• The motor oscillates before converging towards the desired position
• The system may settle without cancelling the error
![Page 15: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/15.jpg)
PID control
Derivative term:
dt
dee
qqe
dtteKeKeKV
p
p
dp
qiqdqp
dt
dee
qqe
dtteKeKeKV
p
p
adp
qiqdqp
Error derivative in time
Kd : derivative constant
q
q
q
![Page 16: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/16.jpg)
PID control
Proportional and derivative terms:
• Oscillation reductions
• Reduction of settlement time
• The system may settle without cancelling the error
Desired position: 1
![Page 17: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/17.jpg)
PID control
Integral terms:
dt
dee
qqe
dtteKeKeKV
p
p
dp
qiqdqp
Error integral in time
Ki : integral constant
dt
dee
qqe
dtteKeKeKV
q
q
adq
qiqdqp
dt
dee
qqe
dtteKeKeKV
p
p
dp
qiqdqp
q
![Page 18: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/18.jpg)
PID control
Proportional and integral terms:
• The system settles and cancels the error Desired
position: 1
![Page 19: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/19.jpg)
PID control
Proportional, Integral and Derivative terms:
dt
dee
qqe
dtteKeKeKV
q
p
adp
qiqdqp
q
q
![Page 20: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/20.jpg)
PID control
Proportional, Integral and Derivative terms:
• Kp, Kd, Ki constants are set empirically or with specific methods
![Page 21: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/21.jpg)
Control of robot manipulator motion
Objective: to have the robot arm moving from a starting position to a final position, both expressed in operational space coordinates
In general, the control problem consists in finding the torques that the actuators have to give to the joints, so that the resulting arm motion follows a planned trajectory
![Page 22: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/22.jpg)
Trajectory planning
Objective: generate the reference inputs to the robot control system, which will ensure that the robot end effector will follow a desired trajectory when moving from xstart to xf
PATH: set of points, in joint space or operational space, that the robot has to reach in order to perform the desired movement
TRAJECTORY: path with a specified time course (velocity and acceleration at each point)
![Page 23: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/23.jpg)
Trajectory planning
Objective: generate the reference inputs to the robot control system, which will ensure that the robot end effector will follow a desired trajectory when moving from xstart to xf
INPUT DATA: Path definition
Path constraints
Constraints given by the robot dynamics
OUTPUT DATA: in joint space: joint trajectories
in operational space: end-effector trajectory
![Page 24: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/24.jpg)
Trajectories in joint space
Between two points: the robot manipulator must be displaced from the initial to the final joint configuration, in a given time interval t.
In order to give the time course of motion for each joint variable, we can choose a trapezoidal velocity profile or polynomial functions: Cubic polynom: it allows to set
the initial and final values of joint variables qi and qd
the initial and final velocities (usually null).
Fifth-degree polynom: it allows to set the initial and final values of joint variables qi and qd
the initial and final velocities
the initial and final accelerations.
![Page 25: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/25.jpg)
Trapezoidal velocity profile:
Constant acceleration in the starting phase
Constant cruise velocity
Constant deceleration in the arrival phase.
The corresponding trajectory is mixed polynomial: a linear segment connected to parabolic parts in the neighbourhood of the initial and final positions.
Trajectories in joint space
![Page 26: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/26.jpg)
Trapezoidal velocity profile
Position
Velocity
Acceleration
Note: velocities and accelerations at the initial and final times can be different from zero
![Page 27: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/27.jpg)
Trapezoidal velocity profile
2 tempoal
2
f
m
if
m
tt
qqq
First phase:
Second phase:
Third phase:
Posi
tion
Velo
city
Acc
ele
ration
![Page 28: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/28.jpg)
Trajectory interpolation
![Page 29: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/29.jpg)
Trajectories in operational space
The trajectory planning algorithm generates the time course of motion of the end effector, according to a path of geometric characteristics defined in the operational space.
The result of planning is a sequence of n-uples: (p(t),, (t), v(t), (t))
![Page 30: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/30.jpg)
Robot kinematics and differential kinematics
Kinematics
Differential kinematics
𝑥 = 𝑘 𝑞
𝑥 = 𝐽(𝑞)𝑞 𝑞 = 𝐽−1(𝑞)𝑥
𝑞 = 𝑘−1 𝑥 𝑥 =
𝑥𝑦𝑧𝜑𝜗
𝑞 =
𝑞𝑜𝑞1𝑞2𝑞3𝑞4𝑞5
Velocity space
𝑘 ∙ = equations of direct kinematics
𝐽(𝑞) = Jacobian matrix
![Page 31: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/31.jpg)
Robot kinematics and dynamics
Robot dynamic model
𝜏 = 𝐵 𝑞 𝑞 + 𝐶 𝑞, 𝑞 𝑞 + 𝐹𝑣𝑞 + 𝑔(𝑞)
𝜏 = torque
𝐵 = inertia term
𝐶 = Coriolis term
𝑔 = gravity terms
𝐹𝑣 = friction coefficients
![Page 32: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/32.jpg)
Robot control
Motion control can be done in
joint space
operational space
![Page 33: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/33.jpg)
Motion control in joint space
It can be used for moving the end-effector from xi to xd expressed in the operational space, without taking into account the trajectory followed by the end effector
The final position xd is transformed in the corresponding final position in joint space qd, by using the inverse kinematics transformation qd = K-1 (xd)
All joints are moved from the current position qi to the desired position qd
![Page 34: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/34.jpg)
Motion control in joint space
The trajectory of the end effector in the operational space is not controlled and it is not predictable, due to the non-linear effects of direct kinematics
![Page 35: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/35.jpg)
General scheme of robot control in joint space
![Page 36: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/36.jpg)
Motion control in joint space PD position control
Diagonal matrix
![Page 37: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/37.jpg)
Motion control in joint space PD position control
![Page 38: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/38.jpg)
Motion control in joint space PD position control
Setting the Kp e Kd parameter matrices:
Fast response: high Kp
Kd sets the best damping and guarantees a fast response without oscillations
The K parameters needs to be set independently for each joint
![Page 39: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/39.jpg)
Motion control in joint space PD position control with gravity compensation
![Page 40: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/40.jpg)
Motion control in joint space based on inverse dynamics
![Page 41: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/41.jpg)
Motion control in joint space based on inverse dynamics
![Page 42: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/42.jpg)
Motion control in joint space based on inverse dynamics
![Page 43: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/43.jpg)
Motion control in joint space based on inverse dynamics
![Page 44: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/44.jpg)
Motion control in operational space
In the movement from xi to xd the robot end effector follows a trajectory in the operational space, according to a planned time law.
e.g. linear or curvilinear trajectory
![Page 45: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/45.jpg)
Motion control in operational space
To make the robot follow a trajectory
(t, p(t), (t), v(t), (t))
To set joint velocities and accelerations in time, in order to reach the final desired position, expressed in Cartesian coordinates (Jacobian)
To set voltages and currents to give to the motors in order to apply to the joints the velocities and the accelerations calculated with the Jacobian
![Page 46: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/46.jpg)
Set the relations between the joint velocities and the corresponding angular and linear velocities of the end effector. Such relations are decribed in a transformation matrix (Jacobian) which depends on the robot configuration.
Differential kinematics
![Page 47: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/47.jpg)
Geometric Jacobian = transformation matrix depending on the current robot configuration J(q) = geometric Jacobiano p = linear velocity of the end effector = angular velocity of the end effector q = joint velocity
Differential kinematics
qqJp
v
.
.
![Page 48: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/48.jpg)
To find the joint velocities given the end effector velocity in operational space Integral numerical methods allows to find the q vector from the vector of joint velocities
J-1 is the inverse Jacobian
Differential kinematics
qqJp
v
pqJq
1
![Page 49: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/49.jpg)
Motion control in operational space based on the transposed Jacobian matrix
f = force at end effector
![Page 50: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/50.jpg)
Motion control in operational space based on the inverse Jacobian matrix
for small
displacements
![Page 51: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/51.jpg)
Motion control in operational space PD control with gravity compensation
![Page 52: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/52.jpg)
Motion control in operational space based on inverse dynamics
![Page 53: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/53.jpg)
Motion control in operational space
t
pf
pi
p(t)
t
p(t)
t
q(t)
J-1(p(t))
Position in operational space,
in time
Velocity of the end effector,
in time
Joint velocities, in time
Trajectory planning
(t, p(t),, (t), p(t), (t))
Joint velocities
(t, q(t)) J-1(p(t)) . .
![Page 54: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/54.jpg)
Force control Effect of
external forces
![Page 55: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/55.jpg)
Force control
![Page 56: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/56.jpg)
Force control
![Page 57: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/57.jpg)
Performance of a manipulator Payload: maximum load
Velocity: maximum velocity in operational space
Accuracy: difference between the position calculated by the control system and the actual position
Repeatability: measure of the robot capability to reach the same position (function of the control system and algorithm, in addition to the robot characteristics)
![Page 58: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/58.jpg)
KUKA KR 15/2
Dof: 6
Payload: 15 kg
Max. reach: 1570 mm
Repeatability: <± 0.1 mm
Weight: 222 kg
![Page 59: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/59.jpg)
PUMA 560
Dof: 6
Payload: 2 kg
Velocity: 1.0 m/s
Repeatability: <± 0.1 mm
Weight: 120 lb = 55 Kg
![Page 60: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/60.jpg)
Dexter Arm
Cable actuated
d.o.f.: 8
Workspace: 1200 mm x 350°
Repeatability: ± 1mm
Velocity: 0.2 m/s
Payload: 2 Kg
Weight: 40 Kg
![Page 61: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/61.jpg)
Manus
Cable actuated
d.o.f.: 6
Velocity: 0.2 m/s
Payload: 2 Kg
Power: 24V DC
Weight: 12 Kg
![Page 63: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/63.jpg)
The Dexter Arm
![Page 64: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/64.jpg)
The Dexter Arm
Workspace: 1200 mm x 350°
Repeatability: + 1mm
Velocity: 0.2 m/s
Payload: 2 Kg
D.o.f.: 8
Power: 24V DC
Weight: 40 Kg
![Page 65: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/65.jpg)
The Dexter Arm 8-d.o.f. anthropomorphic
redundant robot arm, composed of trunk, shoulder, elbow and wrist
designed for service applications and personal assistance in residential sites, such as houses or hospitals
mechanically coupled structure: the mechanical transmission system is realized with pulleys and steel cables
main characteristics: reduced accuracy,lighter mechanical structure, safe and intrinsically compliant structure
![Page 66: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/66.jpg)
The Dexter arm
Transmission system realized with pulleys and steel cables
Joints J0 and J1 are actuated by motors and driving gear-boxes directly connected to the articulation axis
Joints J2,..,J7 are actuated by DC-motors installed on link 1
![Page 67: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/67.jpg)
Transmission #6
![Page 68: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/68.jpg)
Transmissions #2-5 and 7
![Page 69: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/69.jpg)
Anthropomorphic structure
Shoulder
Elbow Wrist
Trunk
![Page 70: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/70.jpg)
8
7
6 5
4
2
1
x8
z8 z7x6
x7
z6
z5
z4
x4x5
x2x3
z3
z2
x0z1
x1
z0
3
Kinematic Configuration
![Page 71: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/71.jpg)
Denavit-Hartenberg Parameters
Joint
ai [mm]
di [mm]
i [rad]
i [rad]
1
0
0
/2
1
2
144
450
-/2
2
3
0
0
/2
3
4
-100
350
-/2
4
5
0
0
/2
5
6
-24
250
-/2
6
7
0
0
/2
7
8
100
0
0
8
![Page 72: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/72.jpg)
The Dexter Workspace
![Page 73: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/73.jpg)
Joint Ranges
![Page 74: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/74.jpg)
Control system
Power
drivers
Dexter
(actuators and
encoders)
Axes control
boards
PID
AD/DA
converter
Control
CPU
Volta
ges to
the
moto
rs
Encoder signals
PC
Refe
rence s
ignals
![Page 75: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/75.jpg)
Software architecture
ARM
Arm Controller
Command library
![Page 76: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/76.jpg)
Software interfaces
Current position reading
- In joint space:
bool read_arm_q (double* q)
q: pointer to a 8-double array containing the arm position in joint degrees
- In Cartesian space:
bool read_arm_c (double* p)
p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space
bool move_arm_q(double* q)
q: puntatore ad un array di 8 double contenente la posizione in gradi dei giunti del braccio
![Page 77: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/77.jpg)
Software interfaces
Motion commands
- In joint space:
bool move_arm_q(double* q)
q: pointer to a 8-double array containing the arm position in joint degrees
![Page 78: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/78.jpg)
Software interfaces
Motion commands
- In Cartesian space:
bool move_arm_c7(double* p, double elbow, double J0, double velocity)
p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space
Elbow: elbow angle in degrees
J0: final position of joint 0
Velocity: ratio of maximum velocity
Kinematic inversion on 7 dof
![Page 79: Corso Robotica Cecilia Laschi - unipi.itdidawiki.cli.di.unipi.it/.../rob/rob17-robotcontrol-handout.pdf · Robot Control Cecilia Laschi The BioRobotics Institute Scuola Superiore](https://reader030.vdocuments.mx/reader030/viewer/2022021515/5b168b0a7f8b9a776d8c84ae/html5/thumbnails/79.jpg)
Software interfaces
Motion commands
- In Cartesian space:
bool move_arm_c(double* p, double elbow, double velocity)
p: pointer to a 6-double array containing the end-effector position in mm and orientation in degrees, in Cartesian space
Elbow: elbow angle in degrees
Velocity: ratio of maximum velocity
Kinematic inversion on 8 dof