The hardware design of the humanoid robot ro pe and the self localization algorithm in robocup
Download
1 / 34

smcpresentation - PowerPoint PPT Presentation


  • 206 Views
  • Uploaded on

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 RoboCup and Team RO-PE RoboCup TM

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'smcpresentation' - andrew


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
The hardware design of the humanoid robot ro pe and the self localization algorithm in robocup l.jpg

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


Robocup and team ro pe l.jpg
RoboCup and Team RO-PE Self-localization Algorithm in RoboCup

  • 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


Highlight l.jpg
Highlight Self-localization Algorithm in RoboCup


Design of the robot l.jpg
Design of the Robot Self-localization Algorithm in RoboCup


Hierarchy of the system l.jpg
Hierarchy of the System Self-localization Algorithm in RoboCup


Self localization in robocup l.jpg
Self-localization in RoboCup Self-localization Algorithm in RoboCup

  • Global localization problem

  • The robot is not told its initial pose, but has to determine it from the very beginning


Self localization in robocup7 l.jpg
Self-localization in RoboCup Self-localization Algorithm 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


Self localization in robocup8 l.jpg
Self-localization in RoboCup Self-localization Algorithm 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.


What is particle filter l.jpg
What is Particle Filter Self-localization Algorithm in RoboCup

  • 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.


What is particle filter10 l.jpg
What is Particle Filter Self-localization Algorithm in RoboCup

  • 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.


What is particle filter11 l.jpg
What is Particle Filter Self-localization Algorithm in RoboCup

  • 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


Particle filter localization l.jpg
Particle Filter Localization Self-localization Algorithm in RoboCup

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


Particle filter algorithm l.jpg

  • Algorithm Self-localization Algorithm in RoboCupparticle_filter( St-1, ut-1 zt):

  • For Generate new samples

  • Sample index j(i) from the discrete distribution given by wt-1

  • Sample from using and

  • Compute importance weight

  • Update normalization factor

  • Insert

  • For

  • Normalize weights

Particle Filter Algorithm

(Probabilistic Robotics, C4 P98)


Particle filter for self localization l.jpg
Particle Filter for Self-Localization Self-localization Algorithm in RoboCup

Loop

  • initializeParticles(); //p[i] (x, y, theta, w)

    While(sensor reset != 1){

    • motionModel();

    • sensorModel();{

      • updateWeight();}

    • resampling();

    • output();}


Initialization l.jpg
Initialization Self-localization Algorithm in RoboCup


Motion model l.jpg
Motion Model Self-localization Algorithm in RoboCup

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)


Motion model17 l.jpg
Motion Model Self-localization Algorithm in RoboCup

  • Simplified Leg Model

    • Step 1

      hip_yaw = 0


Motion model18 l.jpg
Motion Model Self-localization Algorithm in RoboCup

  • Simplified Leg Model

    • Step 2

      hip_yaw = θ


Motion model19 l.jpg
Motion Model Self-localization Algorithm in RoboCup

  • 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.


Error for the motion model 1 l.jpg
Error for the Motion Model(1) Self-localization Algorithm in RoboCup

with the steps increased, the error increase. The largest error is 25%, happens at the 14th step.


Error for the motion model 2 l.jpg
Error for the Motion Model(2) Self-localization Algorithm in RoboCup

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


Sensor model l.jpg
Sensor Model Self-localization Algorithm in RoboCup

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


Sensor model23 l.jpg
Sensor Model Self-localization Algorithm in RoboCup

  • We are only using the wide angle camera for landmark recognition, the information we can abstract from the camera is limited.


Sensor model24 l.jpg
Sensor Model Self-localization Algorithm in RoboCup

  • 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


Sensor model25 l.jpg
Sensor Model Self-localization Algorithm in RoboCup

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)}


Sensor model26 l.jpg
Sensor Model Self-localization Algorithm in RoboCup

  • 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.


Resampling l.jpg
Resampling Self-localization Algorithm in RoboCup

  • 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.


Resampling28 l.jpg
Resampling Self-localization Algorithm in RoboCup

(A Particle Filter Tutorial for Mobile Robot Localization TR-CIM-04-02)


Final estimation l.jpg
Final Estimation Self-localization Algorithm in RoboCup

  • 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


Future work l.jpg
Future work Self-localization Algorithm in RoboCup

  • 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.


Thank you l.jpg
Thank you Self-localization Algorithm in RoboCup


ad