11. Why Localization Is Important?
● Autonomous car – crashes
● Robot in a factory – breaks everything
● Robot in a hospital – gives pills to the wrong
patient
● ...
13. Two Questions
● Imagine
– you woke up in an unknown city
– You can not speak to anybody
– You have to go to an address in that city
14. Two Questions
●
What does the World look like?What does the World look like?
●
Where I am?Where I am?
15. Answers
● What does the World look like?
– Map
● Where I am?
– Localization method
16. Answers
● What does the World look like?
– Map
● Where I am?
– Localization method
● Find your place on Map based on sensed data
– Sensors
● Sensing surroundings
20. Simplify the map
● Elevation map
– Topography: graphic representation of a feature of
points of a map
– Geographic topography: the points are geographic
points
– Elevation map: the feature is the height above or
below of the Earth's sea level
– Graphic representation: coloring
39. Your turn!
● Make pairs
● Choose 2 maps and some robots
● One (A) puts the robot somewhere
● The other (B) tries to figure out, where the robot
is
40. Your turn!
● REPEAT
– A tells to B the sensor value (Black/White)
– B thinking and put robots to the appropriate places
in their map
– IF B is sure about the location of the robot, tells it to
A
● If B fails, new round with same roles
● If B is right, game ends, change the roles
– ELSE B tells to A :move the robot (step right/step
left)
42. Problems of localization
● Algorithm is not fail-safe
● There is no exact data in the Real World
● Sensors behave strangely
● Switches bounce
● Moves are not exact
43. Problems of localization
Localization can not be exact, just a guess with
more or less preciseness
To solve this:
Probability theory
https://www.udacity.com/course/cs373
44. Histogram Localization
● What we did (without proper steps)
A histogram shows the probabilities of the
location of the robot
66. Demonstration
● Sensors not perfect
– ultrasonic sensor data
● Switches bounce
– Switch and Logic Analizer
– How to solve bounces?
– Consequences of debounce (video)
● Histogram Rotary Encoder
Hinweis der Redaktion
ROBOcUP COMPETITIONS WITH FULLY AUTONOMOUS, COOPERATIVE ROBOTS
Brazlian
Localization: a process to determine its position on a map
I will teach you a piece of software which is a fundemantal part of every moving robot, especially of the google self driving car
What do you think?
Imagine autonomous car. What do you use for localization?
Accuracy: theoretical worst case is 7.8 m with 95% confidence
Jamming:
GPS is subject to interference from both natural and human-made sources. For example: solar flares, radio stations, electricity, terrorists,
Uncovered areas: underground, indoor, underwater, urban area, between high buildings
Tokyo
Accuracy: theoretical worst case is 7.8 m with 95% confidence
Jamming:
GPS is subject to interference from both natural and human-made sources. For example: solar flares, radio stations, electricity, terrorists,
Uncovered areas: underground, indoor, underwater, urban area, between high buildings
Tokyo
Lombard street, San Francisco
Highway, 404, Ontario, Canada
Lane width: 2.7 m – 4.6 m. Typically 3.7 m for interstate highways.
With 10 ms of accuracy, a car can be everywhere, even on the pavement or the lanes for opposite direction.
For safe driving, the accuracy must be at least 10 cm, not 10 m!
I'd like you to create these two questions.
What do you have to have?
What do you need to know?
kuki
3D
X/Y: position
Colors: elevation/altitude
How high is the point above the Sea-level
Numbers: easier to process than colors
Without measuring, we can say, that we are somewhere on the map.
We can be Equal probability on every place.
So we are totally unsure about our location.
Without measuring, we can say, that we are somewhere on the map.
We can be Equal probability on every place.
So we are totally unsure about our location.
Let's measure!
Measure from the red window
What can be our location based on the measured distance from the ground?
We are more sure about our position than at the start, but it is not enough.
Airplane has moved to the right 1
We have to update our belief of our location based on the moving
SPEAK about moving is not perfect, so our belief should be decreasing. Show this with coloring more bars.
Let's measure!
Based on the distance from the ground, the elevation is 4.
Update our belief!
Our belief is pretty sure, but let us move on to the right 1 block!
SPEAK about move uncertainty!
But assume, now the move is exactly 1 to the right.
Let's measure. Unfortunately, our belief has not been more certain.
Let's move to the right!
Let's measure. Unfortunately, our belief has not been more certain.
Let's move to the right!
Update belief of your location based on the sensed data and your map
Update belief according to your move
Instrument panel
Imagine a corridor, where the robot should find a room.
The landmarks are the doors. The robot can sense if there is a door in front of itself or not.
The robot can move only sideways, left or right. The size of one robot-step is the same as the size of a door.
We can create a map of doors and no-doors and we can code it with ones and zeroes.
DRAW the doors
The robot (wall-e) can move sideways. Moreover, if it is moves toward one-end of the map, it magically enters into the other side of the map, in both direction.
Update belief of your location based on the sensed data and your map
Update belief according to your move
Let's imagine, that A (who owns the robot), sometimes pick up the robot and put it into a random place on the map.
Let's imagine, that A does not behave according to the commands. Sometimes does not move, sometimes moves 2 steps or in an opposite direction.
Easy to implement
Runs fast for 1D case (moving only on one axis)
Unfortunately, it consumes much memory for higher dimensions
For an airplane, the location is X,Y,Z, however the direction is other 3 dimension (yaw, pitch, roll)
Where we use rotary encoders?
Hi-Fi
Car radio
Micro wave ovens
PC Mouse
Light dimmers
Fan – rotational speed controller
Any knob could be an encoder
Worn out
Gunk
Contacts
Surface scratchy, scarred, not smooth
We should code differently all the 8 sectors. For the sake of simplicity, we are choosing binary coding. How many bits we need? How do you code the sectors?
How many tracks will be?
What is resolution? How many clicks are per revolution?
How many sensors needs it?
The More the number of sensors are, the more expensive the encoder is.
Reduce size, number of sensors, number of electorinc parts.
Number of tracks.
One sensor
One encoder
What will happen with a robot on a bad map?
What are the attributes of a good map?
Which one is better than the others?
What are the attributes of a good map?
How can we compare the maps?
Is there the best of maps?