Title: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup
1The Hardware Design of the Humanoid Robot RO-PE
and the Self-localization Algorithm in RoboCup
- Tian Bo
- Control and Mechatronics Lab
- Mechanical Engineering
-
- 20 Feb 2009 SMC
2RoboCup and Team RO-PE
- RoboCupTM
- is an international joint project to promote
artificial intelligence and robotics. - Team RO-PE
- RO-PE (RObot for Personal Entertainment) is a
series of small size humanoid robots developed by
the Legged Locomotion Group
3Highlight
4Design of the Robot
5Hierarchy of the System
6Self-localization in RoboCup
- Global localization problem
-
- The robot is not told its initial pose, but has
to determine it from the very beginning
7Self-localization in RoboCup
- Global localization problem
- Kidnapped robot problem
- - a well-localized robot is teleported to some
other position without being told
- - The kidnapped robot problem is often used to
test a robots ability to recover autonomously
form catastrophic localization failures
8Self-localization in RoboCup
- Global localization problem
- Kidnapped robot problem
- Other difficulties in the humanoid soccer
scenario -
- The field of view is limited, due to the
human-likesensor.- Noisy perceptions and noisy
odometry. - Computational resources are limited.
But data needs to be processed in real-time.
9What is Particle Filter
- Belongs to the family of Bayesian Filters (Bayes
Filter,Kalman Filter) - Bayesian filter techniques provide a powerful
statistical tool to help manage measurement
uncertainty - Based on the knowledge of previous state,
Bayesian filter probabilistically estimates a
dynamic systems state from noisy environment.
10What is Particle Filter
- Particle filters represent beliefs by a sets of
samples, or particles - It is a probabilistic approach, in which the
current location of the modeled as a density of
the particles. - Each particle can be seen as the hypotheses of
the robot being located at this posture.
11What is Particle Filter
- The main objective of particle filtering is to
track a variable of interest as it evolves over
time, typically with a non-Gaussian and
potentially multi-modal pdf - The particle filter algorithm is recursive in
nature and operates in two phases prediction and
update
12Particle Filter Localization
Move all the particles according to the motion
model of the previous action of the robot
More practical part
Determine the probabilities qi based on
observation model
(real trick)
Resampling
13Particle Filter Algorithm
(Probabilistic Robotics, C4 P98)
14Particle Filter for Self-Localization
- Loop
- initializeParticles() //pi (x, y, theta, w)
- While(sensor reset ! 1)
- motionModel()
- sensorModel()
- updateWeight()
- resampling()
- output()
15Initialization
16Motion Model
- This is the prediction part
- The particle filter for self-localization
estimates the robots pose - Odometry-based Method
- Take x for example
- pm.x pm.x deltaX (1gaussian)
-
-
17Motion Model
- Simplified Leg Model
- Step 1
- hip_yaw 0
18Motion Model
- Simplified Leg Model
- Step 2
- hip_yaw ?
19Motion Model
- We do localization when the left leg just touch
theground - This odometry gets the data from the motion
commend sent to servo,it will not be affected
bythe control signal. It can be more accurate
if the servo can feedback its position.
20Error for the Motion Model(1)
with the steps increased, the error increase.
The largest error is 25, happens at the 14th
step.
21Error for the Motion Model(2)
Like walking motion, the real distance has a
linear relationship with the number of steps, so
we can achieve better results through improve our
model or make correction.
Back to Particle Filter
22Sensor Model
- This is the update part
- In the whole field, we only use the two goals and
two poles for self-localization. The world model
is known. - We only take the angle from the landmark to the
front of robot into consideration
23Sensor Model
- We are only using the wide angle camera for
landmark recognition, the information we can
abstract from the camera is limited.
24Sensor Model
- Once a landmark is observed by the robot, the
function sensorModel() will be executed. The
weight for every particle will be updated
accordingly. - If several landmarks are observed at once, the
weight will be -
25Sensor Model
- We can get the expectedTheta through the position
and orientation of the particle and the world
model - if(blue_goal_found)
- /we can get the percievedTheta from camera, the
coordination of the landmark on the image, and
the position of the panning servo of the head / - updateWeight(blue_goal)
26Sensor Model
- Update Weight
- deltaTheta fabs ( expectedTheta
perceivedTheta) - belief distribution ( deltaTheta )
- pi.weight pi.weight belief
- Normalize(pi.weight)
- Distribution Policy
- Now we are using Gaussian distribution.
27Resampling
- The simplest method of resampling is to select
each particle with a probability equal to its
weight. - Select with Replacement
- Linear time Resampling
- Resampling by Liu et al.
28Resampling
(A Particle Filter Tutorial for Mobile Robot
Localization TR-CIM-04-02)
29Final Estimation
- Finding the Largest Cluster
- Give the best result but computational expensive
- Calculating the Average
- May affect by the far away particles
- Best Weight
- Fastest way to give the result, suitable for the
real-time system
30Future work
- Find out the condition to make sensor resetting,
or else sometimes the particle will converge to a
false point and cannot recover. - Including the distance information in sensor
model. - Try new resampling and weightUpdate algorithm.
31(No Transcript)
32(No Transcript)
33(No Transcript)
34Thank you