Robotics Motion
Robotics Motion
Robotics Motion
Robot Motion
A mobile robot can move and sense, and must process information
to link these two. In this lecture we concentrate on robot movement, or locomotion. What are the possible goals of a robot locomotion system?
Speed and/or acceleration of movement. Precision of positioning (repeatability). Flexibility and robustness in dierent conditions. Eciency (low power consumption)?
Locomotion
AUV
Spider
Humanoid
fairly at surfaces.
yW
xW
xW World Frame W
2D
3D
world, and a robot frame R which is carried by and stays xed relative to the robot at all times.
Often we are interested in knowing the robots location: i.e. what is
Mars Rover
Segway platform with dynamic balance gives good height with small Mars Rover has wheels on stalks to tackle large obstacles.
Synchro Drive
three degrees of movement freedom). For instance, a car-like robot cant instantaneously move sideways.
Dierential Drive
speeds.
Wheels run at equal speeds for straight-line motion. Wheels run at equal and opposite speeds to turn on the spot. Other combinations of speeds lead to motion in a circular arc.
W R
If we dene wheel velocities (the translational speed at which they cover ground) vL and vR , and width between wheels is W :
Straight line motion if vL = vR Turns on the spot if vL = vR More general case: moves in a circular arc.
.
W 2
W (vL + vR ) 2 W ( vR + vL ) 2(vR vL )
v L t v R t = W R 2 R+W 2
= R (vR vL )
R=
(vR vL )t W
Car
Two motors: one to drive, one to steer. Cannot normally turn on the spot.
Tricycle
With a xed speed and steering angle, it will follow a circular path. With four wheels, need rear dierential and variable (Ackerman)
Robot Centre
s s Rd R L
Assuming no sideways wheel slip, we intersect the axes of the front and back wheels to form a right-angle triangle, and obtain: R= L . tan s
The radius of the path that the rear driving wheel moves in is: Rd = L . sin s
Robot Centre
s s Rd R L
In time t the distance along its circular arc moved by the drive wheel is v t , so the angle through which the robot rotates is: = L tan s v t v t sin s = . Rd L = v t sin s L
R=
Most common motors, available in all sizes and types. Simple control with voltage or pulse width modulation. For precision, encoders and feedback can be used for servo control
Gearing
DC motors tend to oer high speed and low torque, so gearing is
Gearing
The change in angular velocity between Gear 1 and Gear 2 is calculated by considering velocity at the point where they meet: v 2 = = 1 r1 = 2 r2 r1 1 r2
When a small gear drives a bigger gear, the second gear has higher
its proprioceptive sensors, such as motor voltages or wheel encoders. This information is usually known as odometry.
e.g. for very simple voltage/timing based estimation:
D = KV t Distance travelled is proportional to voltage and time. Here K is a constant to be calculated (from knowledge of electrics and geometry) or calibrated.
Calibration involves experimental motion and comparison with
ground truth.
Encoders give more accurate, measured odometry of the number of
wheel turns and this information can be converted in principle to linear distance by multiplying by a constant for wheel radius; but still we will normally calibrate for full accuracy.
Calibration
the real world with a real robot motion, it can be compared with ground truth measurement of how the robot has actually moved.
If there is a discrepancy over repeated trials, we can aim to improve
matters by altering the values of the constants in our expressions (such as K above) and then iterating.
and x = y = = 0.
Integrating Motion in 2D
2D motion on a plane: three degrees of positional freedom,
xW
ynew new
R y
x new
In the cases of both dierential drive and the tricycle robot, we were able to obtain expressions for R and for periods of constant circular motion. Given these: xnew x + R (sin( + ) sin ) ynew = y R (cos( + ) cos ) new +
Assuming that a robot has localisation, and knows where it is relative to a xed coordinate frame, then position-based path planning enables it to move in a precise way along a sequence of pre-dened waypoints. Paths of various curved shapes could be planned, aiming to optimise criteria such as overall time or power usage. Here we will consider the specic, simple case where we assume that:
Our robots movements are composed by straight-line segments
turns immediately to face the next waypoint and drives straight towards it.
The absolute angular orientation the robot must drive in is therefore given by: dy = tan1 dx Care must be taken to make sure that is in the correct quadrant of < . A standard tan1 function will return a value in the range /2 < <= /2. This can be also achieved directly with an atan2(dy, dx) function usually available in C (though not in RobotC!).
the robot is to move as eciently as possible, care should be taken to shift this angle by adding or subtracting 2 so make sure that < .
The robot should then drive forward in a straight line through
distance d =
2 + d 2. dx y
Practical Week 2
Location: Teaching Lab Room 202 Divide yourselves into groups; each group gets access to one Lego
Mindstorms NXT kit located in numbered drawers to which I have the keys.
I will note down the members of each group. One member of each
team who will be specically responsible for their kit, should make sure that it goes back in the drawer when it is not being used and looks after the keys.
There are PCs in Room 202 with RobotC installed these are
indicated by RobotC stickers on the monitors. You need to boot into Windows.
These are the important components; please look after them! 1 1 1 3 1 sonar (ultrasound) sensor Brick charger NXT motors sound sensor 2 light sensors 1 battery USB cable 2 touch sensors 1 compass sensor
The bricks will not start until the battery has a reasonable charge level.
We have spare parts if your kit is not complete.
RobotC
A comprehensive C programming environment for Mindstorms NXT
USB port. Run and monitor from RobotC with cable connected or disconnect and run on Brick independently.
Many sample programs included. Extra documentation at http://www.robotc.net/ Free trial version can be installed for 1 month your own PC.
40cm
40cm
xW
next week.
Please go straight to the lab now.