Post on 04-Jul-2020
INTRODUCTION TO AUTONOMOUS
MOBILE ROBOTS
Lesson 2 – Locomotion and Hardware
Anders Lyhne Christensen, D6.05, anders.christensen@iscte.pt
Content
� Locomotion in Nature and in Robots
� Legged locomotion
� Wheeled locomotion
� Differential drive kinematics
Locomotion in Nature
Locomotion in Nature
Examples of different types of
robot locomotion
Spirit (NASA) ACM-R5 (Hirose)
NAO (Aldebaran Robotics)Quadrobot robot (Rus/MIT)
Grasshopper (Floreano/EPFL)
Issues in Ground-based Locomotion
� Stability� Number and geometry of contact points
� Center of gravity
� Static/dynamic stability
� Inclination of terrain
� Characteristics of contact� Contact point, size and shape
� Angle of contact
� Friction
� Type of environment� Structure
� Medium (e.g. water, air, soft or hard ground)
Legged motion
� Advantages� Adaptability and maneuverability on rough terrain
� Only a set of contact points are required (holes can be crossed)
� Legs can be used to manipulate objects (think football)
� Disadvantages: � Power
� Mechanical complexity
Degrees of Freedom
Two types of legs with 3 degrees of freedom
Robot example
Walking/galloping on four legs
Static walking with six legs
It is not always easy…
Wheeled
robots
with 2 or
3 wheels
Wheeled
robots
with 4
wheels
Wheeled
robots
with 6
wheels
Omni-directional
motion
Differential drive kinematics 1/3(x, y): Position in the global
frame.
θ: Orientation in the global frame.
ω: Rate of rotationvl : Velocity of left wheel.
vr : Velocity of right
wheel.
l: Distance between
the wheels.
ICC: Instantaneous Center
of Curvature.
R: Signed distance from
ICC to the midpoint
between the wheels.
Differential drive kinematics 2/3
lr
rl
vv
vvlR
−
+=
2
l
r
vlR
vlR
=−
=+
)2/(
)2/(
ω
ω
General description of a robot turning robot:
Differential drive robot:
Differential drive kinematics 3/3
Odometry and estimation errors:
Odometry is the use of data from the movement of actuators to
estimate change in position over time. Odometry is used by some
robots, whether they be legged or wheeled, to estimate (not determine)
their position relative to a starting location. [Wikipedia, January, 2010]
Potential sources of estimation errors:
- Motor calibration
- Acceleration
- Wheel size
- Slippage
- Surface
Robot hardware – Other actuators
Motors are the common among mobile robots, however, numerous other actuators exist, for instance:
� Pneumatic actuators
� Hydraulic actuators
�Thrusters
�Speakers
� Light emitting diodes
� …
Robot hardware - Sensors
Proprioceptive sensors measure values internal to the system (robot); for example, motor speed, wheel load, robot arm joint angles, battery voltage.
Exteroceptive sensors acquire information from the robot’s environment; for example, distance measurements, light intensity, sound amplitude. Hence exteroceptive sensor measurements are interpreted by the robot in order to extract meaningful environmental features.
Active sensors emit energy into the environment, then measure the environmental reaction. Examples of active sensors include laser scanners, ultra sonic sensors, infrared sensors.
Passive sensors measure ambient environmental energy entering the sensor. Examples of passive sensors include temperature probes, microphones, and CCD or CMOS cameras.
Sensors can be divided into 2 x 2 classes, namely proprioceptive vs.
exteroceptive sensors and active vs. passive sensors.
Today’s taskBuild a small application in Java that simulates differential drive
kinematics. The class should implement the following methods:
public class DifferentialDriveKinematics {
public DifferentialDriveKinematics(double leftWheelDiameter,
double rightWheelDiameter,
double distanceBetweenWheels)
public void nextStep( double angularSpeedOfLeftWheelInDegrees, double angularSpeedOfRightWheelInDegrees)
public double getX() ;
public double getY() ;
}
Assume that the robot starts at position (0, 0) and that nextStep() is called 10 times per second.
Today’s task
� Try to chance the wheel diameter slightly of one of the wheels and estimate the difference in terms of where a robot ends up after 10 seconds, 1 minute, and 10 minutes.
� Try to add a small amount of random noise to the robot’s motion.
� Try to compare the results of your computer simulation with the results on the real robot assuming different speeds.
Literature
“Introduction to Autonomous Mobile Robots”,
R. Siegwart & I. Nourbakhsh, Chapters 2 and 3.
“Walking Machines, an Introduction to Legged
Robots”, D.J. Todd, Kogan Page Ltd, 1985.