a.a. 2006/2007home.deib.polimi.it/restelli/mywebsite/pdf/mobile-robotics.pdf · robots are closed...
TRANSCRIPT
A.A. 2006/2007
Roboticafor Computer Engineering students
Marcello RestelliDipartimento di Elettronica e InformazionePolitecnico di Milanoemail: [email protected]: 02-2399-3470 Mobile Robotics
2
From Industrial Robotics to Mobile Robotics
Industrial roboticscomplex robotssimple worldmanipulation in known environment
Mobile roboticssimple robotscomplex worldnavigation in dynamic environments
3
Robot Dynamics vs World Dynamics
In industrial robotics we need to model the robot functioning
this may be hard according to the simplifications adopted
In mobile robotics we need to model the environment
this may be impossible and depends from
possible events external sensors
4
Development of Mobile Robotics
The first autonomous robot was Shakey (1969)1970s: JPL Lunar rover: planetary explorationlate 1970s: CART followed a line on the road1980s: Automated Guided Vehicles (AGV) used in factories, based on magnetic and optic guides1994: Dante II. a six-legged robot explored a volcano1997: the Sojourner rover explored Mars1997: Honda presented the wonderful humanoid P31997: the RoboCup competitions began2001: Sony presented the humanoid Q-rio
5
Autonomous Land Vehicle (ALV)
We focus our attention on ALVvehicle that autonomously move on a plane surfacemay be equipped with robotic arms
we will focus on the navigation problemThree basic questions
Where am I?Where am I going?How do I get there?
To answer these questions the robot has tohave a model of the environmentperceive and analyze the environmentfind its position within the environmentplan and execute the movement
6
Industrial Robotics vs Mobile Robotics
There are several differences between industrial robotics and mobile robotics
A manipulator, typically, is an open kinematic chain, while a wheeled robot is a closed multiple chain, since it has at least two wheels on the ground. Also legged robots are closed multiple chains, but it opens when legs are risenManipulator joints have only 1 DOF, while wheels may have 2 (or even 3) DOFsIn manipulators all the joints are actuated with the aim of moving the end-effector, while mobile robots may have passive wheelsTo control the trajectory of the end-effector we need to control position, speed, and acceleration of each joint, while for mobile robots we need to control each DOF of each wheel
7
Applications of Mobile Robotics
Indoor Structured worlds
transportation: industry and servicescustomer support: museums and shopsresearch, entertainment, toyscleaning of large buildingssurveillance buildings
Outdoor EnvironmentsUnstructured worlds
spaceforestdeminingfire fightingagricultureconstructionminingsewage tubesunderwatermilitaryair
8
DOF for Mobile Robots
If a robot has an actuator for each DOF, then all DOF are controllableMobile robots often cannot control all the DOF related to their positionLet us consider the example of a car
A car has 3 DOFOnly two of them can be controlledSome motions cannot be doneThe two available DOF can get to any position and orientation in 2D
9
Holonomicity
A robot is holonomic if the number of controllable DOF is equal to the number of DOF of the robotA robot is non-holonomic if the number of the controllable DOF is smaller than the number of DOF of the robotA robot is redundant if the number of the controllable DOF is larger than the number of DOF of the robotExamples
a car is non-holonomica human arm (7 DOF) is a holonomic, redundant system
10
Effectors in Mobile Robotics
In mobile robotics effectors are mainly used for locomotion
legswalking, crawling, climbing, jumping, hopping
wheelsrolling
armsswinging, crawling, climbing
flippersswimming
and many others taken from biological examples
11
Locomotion
Concepts found in naturedifficult to imitate technically
Biped walking mechanism
not far from real rollingrolling of a polygonsmall steps -> circle
Fully rotating joints are not developed in nature
12
Characterization of Locomotion Concept
Locomotionphysical interaction between the vehicle and its environment
Locomotion is concerned with interaction forces and the mechanisms and actuators to generate themThe most important issues in locomotion are
stabilitycharacteristics of contacttype of environment
13
Mobile Legged Robots
The fewer the legs the more complicated becomes the locomotion
3 legs are required for static stabilityDuring walking some legs are lifted
the stability may be loosedFor static walking at least 6 legs are required
14
Number of Joints of Each Leg
A minimum of two DOF are required to move a leg forward
a lift and a swing motionsliding free motion in more than only one direction is not possible
Three DOF for each leg in most casesFourth DOF for the ankle joint
might improve walkingadditional DOF increase the complexity of the design and especially of the locomotion control
Each leg may be considered as a manipulator
15
Gaits
The gait is characterized as the sequence of lift and release events of the individual legs
it depends on the number of legsthe number of possible events N for a walking machine with k legs is N=(2k-1)!
For a biped (k=2) the number of possible events is 6For a robot with 6 legs N=39,916,800
16
Most Obvious Gaits
17
Examples of Walking Robots
18
Walking or Rolling?
Number of actuatorsStructural complexityControl expenseEnergy efficient
terrain (flat ground, soft ground, climbing...)Movement of the involved masses
walking/running includes up and down movements of COGsome extra losses
19
Wheeled Mobile Robots (WMR)
A WMR is a robot capable of locomotion solely through the actuation of wheel assemblies mounted on the robot and in contact with the surface. A wheel assembly is a device which provides or allows
motion between its mount and surface on which it is intended to a single point of rolling contact
Most robots use wheels for locomotionsimplicity of controlstability
If so, why don't animals have wheels?some do!!! some bacteria have wheel-like structurehowever, legs are more prevalent in nature
Most robots have three or four wheels (recently robots with two wheels have been produced)
three wheels are sufficient to guarantee stabilitywith more than 3 wheels a flexible suspension is neededselection of wheels depends on the application
20
Wheels Types
Standard wheel: two DOFrotation around the motorized wheel axlerotation around the contact point
Castor wheel: three DOFrotation around the wheels axlerotation around the contact pointrotation around the castor axle
Swedish wheel: three DOFrotation around the motorized wheel axlerotation around the contact pointrotation around the rollers
Ball or spherical wheel: three DOFsuspension technically not solved
21
Stability
Robots need to be stable to get their job doneStability can be
Static: the robot can stand still without falling overis achieved thorugh the mechanical design of the robot
Dynamic: the body must actively balance or move to remain stable
is achieved through control
For stability the Center Of Gravity (COG) of the body needs to be above the polygon support
22
Different Arrangement of Wheels
Two wheels
Three wheels
Four Wheels
Six Wheels
23
Characteristics of Wheeled Robots and Vehicles
Stability of the vehicle can be guaranteed with 3 wheelscenter of gravity must fall inside the triangle formed by the ground contact points of the wheels
Stability is improved by 4 and more wheelsthese arrangements are hyper-static and require a flexible suspension system
Bigger wheels allow to overcome higher obstaclesbut they require higher torque or reductions in the gear box
Most arrangements are non-holonomicrequire high control effort
Combining actuation and steering on one wheel makes the design complex and adds additional errors for odometry
24
Examples of Wheeled Robots
25
Motion Control
To control the movement of a wheeled robot we needkinematic/dynamic model of the robotmodel of the interaction between the wheel and the grounddefinition of the required motion (speed and position control)control law that satisfies the requirements
26
Mobile Robot Kinematics
Aimdescription of mechanical behavior of the robotsimilar to manipulator kinematicsmobile robots can move unbound w.r.t. the environment
we cannot measure the robot's positionposition must be integrated over timelead to inaccuracy in the position estimation
To understand mobile robot motion we need to understand wheel constraints
27
Kinematics Model
Goalgiven the geometric parameters of the robot, wheel speeds, steering angles, and steering speeds we want to establish the robot speedForward kinematics
Inverse kinematics
why not using the following formulation?
=[ xy ]= f 1, ,n ,1, ,m , 1, , m[1 n 1 m 1 m ]T= f −1 x , y ,
=[ xy ]= f 1, ,n ,1, ,m
28
Representing Robot Position
Fix an initial frameinitial frame: {X
I,Y
I}
robot frame: {XR,Y
R}
robot position:
mapping between the two frames
=[ xy ]R=R I=R [ xy ]R =[ cos sin 0
−sin cos 00 0 1 ]
29
Wheel Kinematic Constraints: Assumptions
Movement on a horizontal planePoint contact of the wheelsWheels not deformablePure rolling (v=0 at contact point)No slipping, skidding or slidingNo friction for rotation around contact pointAll the steer axes are orthogonal to the groundWheels connected by rigid frame (chassis)
30
Kinematic Constraints: Fixed Standard Wheel
Pure rolling constraint
Lateral movement constraint
[sin −cos −lcos ]R I−r =0
[cos sin l sin ]R I=0
31
Kinematic Constraints: Steered Standard Wheel
Pure rolling constraint
Lateral movement constraint
[sin −cos −lcos ]R I−r =0
[cos sin l sin ]R I=0
32
Kinematic Constraints: Castor Wheel
Pure rolling constraint
Lateral movement constraint
[sin −cos −lcos ]R I−r =0
[cos sin dl sin ]R Id =0
33
Kinematic Constraints: Swedish Wheel
Pure rolling constraint
Lateral movement constraint
[sin −cos −lcos ]R I−r cos=0
[cos sin l sin ]R I−r sin −r sw sw=0
34
Kinematic Constraints: Spherical Wheel
Pure rolling constraint
Lateral movement constraint
[sin −cos −lcos ]R I−r =0
[cos sin sin ]R I=0
35
Robot Kinematic Constraints
Given a robot with M wheelseach wheel imposes zero or more constraintsonly fixed and steerable and standard wheels impose constraints
What is the maneuverability of a robot considering a combination of different wheels?Suppose we have a total of N = Nf + Ns standard wheels
Rolling
Lateral movement
J 1sR IJ 2=0
t = [ f t s t ]
N fN s×1
J 1s= [ J 1fJ 1ss]
N fN s×3J 2=diag r 1r N
C 1sR I=0 C 1s= [ C1fC 1s s]N fN s×3
36
Mobile Robot Maneuverability
The maneuverability of a mobile robot is the combination
of the mobility available based on the sliding constraintsplus additional freedom contributed by the steering
Three wheels are sufficient for static stabilityadditional wheels need to be synchronizedthis is also the case for some arrangements with three wheels
It can be derived using the equation seen beforeDegree of mobility δ
m
Degree of steerability δs
Robots maneuverability δM
= δm
+ δs
Two robots with same δM are not necessary equal
37
Instantaneous Center of Rotation
Imposing the absence of lateral movement is the same as requiring the existence of the Instantaneous Center of Rotation (ICR)The ICR is the point of intersection between the wheel axles
For any robot with δM = 2 the ICR is always constrained to lie on a line For any robot with δM = 3 the ICR is not constrained an can be set to any point on the plane
38
Three-Wheel Configurations
39
Mobile Robot Workspace
Workspacehow the vehicle is able to move between different configurations in its workspace?
DOF: Degrees of freedomrobots ability to achieve various poses
DDOF: Differentiable degrees of freedomrobots ability to achieve various path
DDOF ≤ δM ≤ DOF
Holonomic robotsa holonomic kinematic constraint can be expressed as an explicit function of position variables onlya non-holonomic constraint requires a different relationship, such as the derivative of a position variableFixed and steered wheels impose non-holonomic constr.
40
Differential Drive Robots
It is the easiest configuration2 actuated wheels on same axle1 passive wheel
Inputdesired velocities
Outputwheel velocities
when vr = vl , R goes to infinity -> straight movement
when vr = -vl , R is zero, the robot rotates on itself
R L2=vR
R− L2=v L
=
v r−v LL
R= L2
vRv LvR−v L
=
v r−vLL
v=vrvL2
41
Kinematics of Differential Drive Robots
Forward kinematicsgiven the wheel speeds find the robot position
Inverse kinematicsfind the speeds to reach a given destinationthe problem has infinite solutionsthe equations for the constraints in the velocities cannot be integrated in a constraint for the positionparticular cases
when the wheel velocities are the same the robot moves straight
x t =∫ v t cos t dt=12∫ vL t v R t cost d t
y t =∫ v t sin t dt=12∫ v L t vR t sin t d t
t =∫ t dt=1L∫ v R t −vL t dt
42
Synchronous Drive Robots
It is a robot with simple kinematicsthree actuated steering wheelsall the wheels receive the same actuationtwo motors
one to make the wheels runone to make the wheels steer
the wheels have always the same directionrotations are around the robot center
it is possible to directly control θ
43
Kinematics of Synchronous Drive Robots
Forward kinematicsrotation around the center is equal to the angular speed ωthe movement speed is equal to the linear velocity vCIR is always at infinity
when the wheels steer CIR direction changes
Inverse kinematicswe use the special case
when v = 0 and the angular speed is ω during the interval δt, the robot turns of an angle equal to ω*δtwhen ω = 0 and the linear velocity is v then the robot moves forward for v*δt
44
Kinematic Control
The objective of a kinematic controller is to follow a trajectory described by its position and/or velocity profiles as function of timeMotion control is not straightforward since mobile robots may be non-holonomic systems
some solutions have been proposedopen loop controlfeedback controlkinematic position control
Most controllers do not consider the dynamics of the system
45
Open Loop Control
The trajectory is divided in motion parts of clearly defined shape
straight linesarcs of a circle
Control problempre-compute a smooth trajectory
Disadvantagesnot easy to pre-compute a feasible trajectorylimitations to robot velocities and accelerationsdoes not adapt to dynamical changestrajectory are not smooth
46
Feedback Control
Find a control matrix K (if it exists), with kij = k(t,e)
such that the control of v(t) e ω(t)
drives the error e to 0
K=[k11 k12 k 13k21 k 22 k 23]
[ v t t ]=K⋅e=K⋅[ xy ]limt∞
e t =0
47
Kinematic Position Control
The kinematic of a differential drive mobile robot described in the initial frame {xI, yI, θ} is given by
where the first two components are the linear velocity in the direction of xi and yI
let α be the angle between the xR axis and the vector connecting
the center of the axle of the wheels with the final position
[ xy ]=[cos 0
sin 00 1 ][ v]
48
Kinematic Position Control
Transform the coordinates into polar coordinates with its origin at goal position
System in the new coordinates
= x2 y2
=−arctan x y =−
[]=[−cos 0
sin
−1
0 −1][v] for ∈−2 ,2 ]
[ ]=[−cos 0
−sin
−1
0 −1][ v] for ∈− ,−2 ]∪2 ,]
49
Kinematic Position Control
It can be shown that with
the feedback controlled system
will drive the robot to the final positionThe control signal v has always constant sign
the direction of the movement is kept positive or negative during movementparking maneuver is performed always in the most natural way and without ever inverting its motion
v=k=k k
[ ]=[ −k cos−k alpa−kk sin
−k −k ]
50
Non-Holonomic Systems
Differential equations are not integrable to the final positionThe measure of the traveled distance of each wheel is not sufficient to compute the final position of the robotWe need to know also how this movement was executed as a function of time
non-holonomic
v t =∂ s∂ t=∂ x∂ t
cos∂ y∂ t
sin
d s=d x cosd y sin
d s=∂ s∂ x
d x∂ s∂ y
d y∂ s∂d
∂ s∂ x=cos ; ∂ s
∂ y=sin ; ∂ s
∂=0
∂2s∂ x ∂
=−sin≠0= ∂2 s
∂∂ x