Lec6-Dynamics Control

Download as pdf or txt
Download as pdf or txt
You are on page 1of 21

Dynamics & Control

Narendiran Anandan
Serkan Ergun

1
Dynamics
• What is Dynamics?
Dynamics provides a description of WHY things move.
Considers physical impact (forces, torque) generated in or applied on the robotic system

• A robot is a very complex multi-body system (several links connected through


actuators). For a robot with a fixed base, the dynamics may be formulated as:

2
Dynamics
What forces do you know?
Weight (m*g)
Friction, Normal force
Linear acceleration (m*a)
Rotary movement (centripetal acceleration)
Coriolis force

Electrical forces
Magnetic forces Compare to
Fluid/Gas forces types of
actuators
Thermal forces
Atomic forces
3
Dynamics

Linear Motion: Rotary Motion:


Displacement Angle
Linear Velocity Angular Velocity
Linear Acceleration Angular Acceleration

Mass Inertia
Force Torque
Momentum Angular Momentum

𝐹=𝑚𝑎 𝑇=𝐽𝛼

𝐿=𝐼𝜔
𝑝=𝑚𝑣

4
Statics Example
Consider the following 1 DoF robot: m=10kg, L=1m, m1=3kg, g ≈ 10 m/s²
What is the necessary torque T to keep the robot in place?

T m g

m1

5
Dynamics Example
Consider the following 1 DoF robot: m=10kg, L=1m, m1=3kg, g ≈ 10 m/s²
What is the necessary torque T to accelerate the robot with α=1/s² in counterclockwise (ccw) direction?
Hint: Consider the beam as long thin rod, and m1 can be considered as a point mass.

T m g

𝐽 = න 𝑟 2 𝑑𝑚
m1
𝑚

For uniform
distribution of
mass

𝐽 = 𝜌 න 𝑟 2 𝑑𝑉
𝑉 6
Dynamics
=[q1,q2,q3,….qn] correspond to joint angles Generalized: In the rotational domain
is the corresponding velocity (r,φ,z) vs. Cartesian (x,y,z)
is the corresponding acceleration

FG=m*g (only effective in


F=m*a “vertical” direction)

Coriolis and Centrifugal External forces in


force Fcen=m*v^2/r, Fcor=-2m generalized form T or
(ω x v) Cartesian Fc
Jc is called a Jacobian
matrix and is used for
mapping between different
domains 7
Link to control

A robot travels from a point P1 to a point P2. What do we need to provide?

• Joint angles to reach P2 and a set of convenient intermediate points (path


planning –covered later & trajectory)
• Speed to determine how fast we will go (again, we have to map cartesian
velocities in the rotational domain ), or the allowed time period
• (Acceleration, Jerk)
• Necessary forces to keep the robot moves (Torque)

What does our motor get as input?


• voltage, current (electrical power)
• other analog or digital input

How do we translate the information?


How do we make sure that the robot does “what it is told to do”? Controller
8
Types of Control
Can you name some examples for
open/closed loop controllers?

What is the difference in behavior?

Which one is preferred for operation in


robots?

9
Introduction to Robot Control
• What are the components of a control system?

• 1. Input
• 2. Process being controlled
• 3. Output
• 4. Sensing elements
• 5. Controller and actuating devices

• Find examples for each part

10
Closed loop control example

Thermostat example:
The temperature controller for your
living room is set to T=23°C

What is the reference?


What does your controller do?
Why do we even need a closed loop
control?
What effects can alter the output (room
temperature?)

11
Controller
• What does a Controller do:
• It maps an input (desired room temperature) to an output (supplied current to electrical heater/valve of your
heating cycle)
• It needs to consider the capabilities/ restrictions of your system (actuator) or environment.
• It needs to apply a control scheme (essentially how to ramp to the desired temperature) (PID – or all sub-
combination)
• It needs a certain tolerance level. (e.g. for a temperature of 23°C, what will it do at 23,1°C or 22,9°C)
• -> a set of logical rules
• It may need to consider different modes (e.g. fast heating, or energy saver). We call these „states“
• It may need to consider external influences (e.g. how to behave in case of an open window/door)

• Your controller detects a increasing mismatch in room temperature (window fully open in winter). How should
it react?
12
What’s a PID controller?
Your thermostat is set to 25°C, but your room temperature is
at 20°C. Your controller wants to react as fast as possible and
sets the target temperature directly to 25°C (blue curve).

That’s where a PID controller kicks in: It transforms the sharp


transition of the input to a “softer”.
Heating as fast a possible may cause an overshoot and trick
your controller in needing to cool down again.

Ever driven a car? You are approaching a road cross and the
traffic lights show red. How do you adjust your velocity?

Or vice versa: You just made it to the Autobahn (German


Highway/Freeway) – How do you adjust your throttle?

P… Proportional
I…. Integral
D… Derivative
Do these curves look familiar?
The controller considers the 1st derivative and the integral of Hint:
your control variable. Image Sources: (e.g. damper in a car) 13
en.wikipedia.org
PID Controller

Source:
en.wikipedia.org 14
Robot Example
Think of a wheeled autonomous robot service robot travelling between two locations in an
(indoor) factory. The environment and the path is known, but humans may randomly be in the
robot‘s workspace.
• What type of actuators does it need?
• What sensors would you recommend?
• What should the controller(s) do?

15
Concept of Control Systems
• State - output produced by a robotic system is known as a state. Normally we denote it by x, and the state
depends on its previous states, stimulus (signals) applied to the actuators, and the physics of the environment.
The state can be anything pose, speed, velocity, angular velocity, force, etc.
• Estimate - Robots cannot determine the exact state x, but they can estimate it using the sensors attached to
them. These estimations are denoted with y. It is the responsibility of the robotic engineer to select good
enough sensors or to calibrate the sensors well such that they can produce y ~ x.

• Reference - the goal state we wish to achieve; it is denoted using r.


• Error - the difference between the reference and estimate is known as the error (denoted as e)

• Control Signal - the stimulus is produced by the controller and is known as the control signal. It is denoted using
u. It is applied to the actuators.
• Dynamics - it is also called as the system plant/system model. It denotes how the system will behave under non-
static conditions. Dynamics are affected by the environment that may change (not always linear). For example,
floor type (concrete/wood), the air drag, slope and etc.

16
Multiple Controllers
• A robot can have one or more controllers for various purposes. For example one controller
for cruise control, another controller for controlling the linear motion of the robot hand, and
one for rotation movement of the hand and etc.

• We need the controllers because the dynamics (system plant) vary with the time.
• Due to the operation of the robot, e.g., robot moves on different ground materials or perform its tasks in
different poses
• It is required to understand the physics of the environment well!

17
Summarized Key Requirements
• The controller should reduce the error closer to zero, e=0, It should bring the estimation to
the reference, y=r

• They need to be robust! They should not depend on things we don’t know. If there are
changes in the robot’s environment, controllers should be able to adapt to it

• They must be stable, meaning they should not go out of control

• They need to be smooth in their movements

• The controller needs to be responsive. It should be fast enough to get the output to the
reference level within a satisfactory time

18
Summary
“In summary,
we give a reference state to a controller. The controller also has a/multiple sensor feedbacks.
The reference state and sensor feedback are used together to generate the control signal. This
control signal is fed to the “System”. The system dynamics determine how the system behaves
to this control input. Hopefully, the “System” will reach our desiredreference state if the
controller is well defined.”

19
Real Mobile Robots

• Until recently, robots were mainly used in „closed environments“ with fixed tasks and
more or less known (constant) environments
• In a real deployment, the problem is more complex
• The world is changing
• Robots update the knowledge about the environment
• localization, mapping and navigation

• New decisions have to made based on the feedback from the environment
• Motion planning is a part of the mission re- planning loop

• How to deal with real-world complexity?


• Relaxing constraints and considering realistic assumptions

20
Planning & Control

Source: Jan Faigl, 2020,


Path Planning

21

You might also like