Download presentation
Presentation is loading. Please wait.
Published byValerie Allison Modified over 9 years ago
1
The 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
2
RoboCup and Team RO-PE RoboCup TM 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
3
Highlight
4
Design of the Robot
5
Hierarchy of the System
6
Self-localization in RoboCup Global localization problem -The robot is not told its initial pose, but has to determine it from the very beginning
7
Self-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 robot’s ability to recover autonomously form catastrophic localization failures
8
Self-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-like sensor. - Noisy perceptions and noisy odometry. - Computational resources are limited. But data needs to be processed in real-time.
9
What 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 system’s state from noisy environment.
10
What 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.
11
What 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
12
Particle Filter Localization Determine the probabilities qi based on observation model Resampling Move all the particles according to the motion model of the previous action of the robot More practical part (real “trick”)
13
Particle Filter Algorithm (Probabilistic Robotics, C4 P98) 1. Algorithm particle_filter( S t-1, u t-1 z t ): 2. 3. For Generate new samples 4. Sample index j(i) from the discrete distribution given by w t-1 5. Sample from using and 6. Compute importance weight 7. Update normalization factor 8. Insert 9. For 10. Normalize weights
14
Particle Filter for Self-Localization Loop initializeParticles(); //p[i] (x, y, theta, w) While(sensor reset != 1){ motionModel(); sensorModel();{ updateWeight(); } updateWeight(); } resampling(); output(); } output();
15
Initialization
16
Motion Model This is the prediction part The particle filter for self-localization estimates the robot ’ s pose Odometry-based Method Take x for example: p[m].x = p[m].x + deltaX *(1+gaussian)
17
Motion Model Simplified Leg Model Step 1 hip_yaw = 0
18
Motion Model Simplified Leg Model Step 2 hip_yaw = θ
19
Motion Model We do localization when the left leg just touch the ground This odometry gets the data from the motion commend sent to servo, it will not be affected by the control signal. It can be more accurate if the servo can feedback its position.
20
Error for the Motion Model(1) with the steps increased, the error increase. The largest error is 25%, happens at the 14th step.
21
Error 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
22
Sensor 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
23
Sensor Model We are only using the wide angle camera for landmark recognition, the information we can abstract from the camera is limited.
24
Sensor 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
25
Sensor 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)}
26
Sensor Model Update Weight deltaTheta = fabs ( expectedTheta – perceivedTheta) ; belief = distribution ( deltaTheta ); p[i].weight = p[i].weight * belief Normalize(p[i].weight); Distribution Policy Now we are using Gaussian distribution.
27
Resampling 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.
28
Resampling (A Particle Filter Tutorial for Mobile Robot Localization TR-CIM-04-02)
29
Final 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
30
Future 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.
34
Thank you
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.