the hardware design of the humanoid robot ro-pe and the self-localization algorithm in robocup

34
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

Upload: garth-bullock

Post on 30-Dec-2015

42 views

Category:

Documents


1 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

Page 2: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

RoboCup 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

Page 3: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Highlight

Page 4: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Design of the Robot

Page 5: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Hierarchy of the System

PC104

ARM PROCESSOR

USB CAMERA

SERVOS

Gyroscope

Accelerameter

Page 6: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Self-localization in RoboCup

Global localization problem-The robot is not told its initial pose, but has to determine it from the very beginning

Page 7: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Self-localization in RoboCup

Global localization problemKidnapped 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

Page 8: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Self-localization in RoboCup

Global localization problemKidnapped robot problemOther 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.

Page 9: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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.

Page 10: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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.

Page 11: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

Page 12: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Particle Filter Localization

Determine the probabilities qi based on observation mod

elResampling

Move all the particles according to the motion model of the previous action of the robot

Mor

e pr

actic

al p

art

(real

“trick

”)

Page 13: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Particle Filter Algorithm

(Probabilistic Robotics, C4 P98)

1. Algorithm particle_filter( St-1, ut-1 zt):

2.

3. For Generate new samples

4. Sample index j(i) from the discrete distribution given by wt-

1

5. Sample from using and

6. Compute importance weight

7. Update normalization factor

8. Insert

9. For

10. Normalize weights

0, tS

ni 1

},{ it

ittt wxSS

itw

itx ),|( 11 ttt uxxp )(

1ij

tx 1tu

)|( itt

it xzpw

ni 1

/it

it ww

Page 14: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Particle Filter for Self-Localization

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

While(sensor reset != 1){motionModel();sensorModel();{

updateWeight();} resampling();output();}

Page 15: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Initialization

Page 16: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Motion Model

This is the prediction partThe particle filter for self-localization esti

mates the robot’s poseOdometry-based Method

Take x for example:

p[m].x = p[m].x + deltaX *(1+gaussian)

1 ,m mi ix x x gaussian x

Page 17: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Motion Model

Simplified Leg ModelStep 1

hip_yaw = 0

cos _

cos _ _

cos _

sin _

sin _ sin _ _

OE OB hip pitch

ED BC hip pitch knee pitch

OD OE ED

z OA OD hip roll

y AD OD hip roll

x CD CB B D OB hip pitch BC hip pitch knee pitch

Page 18: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Motion Model

Simplified Leg ModelStep 2

hip_yaw = θ

_

cos sin cos sin

sin cos sin cos

'

hip yaw

x x x y

y y x y

z z

Page 19: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

Page 20: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Error for the Motion Model(1)

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

Page 21: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Error for the Motion Model(2)

Motion Real value Odom value Possible reason

Side step y:15cm y:3.1cm

Neglect of the AR joint effect, neglect of the length between HR and HP, AP and AR

Hugging θ:-0.785 θ:-1.8

Turn θ:2.36 θ:3.6

The collision of the feet themselves during turning

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

Page 22: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

Page 23: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Sensor Model

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

Page 24: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

1 ,m mi i seen expectedw w belief

1 1 2m mi iw w belief belief

Page 25: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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

Page 26: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Sensor Model

Update WeightdeltaTheta = fabs ( expectedTheta – perceive

dTheta) ;belief = distribution ( deltaTheta );p[i].weight = p[i].weight * beliefNormalize(p[i].weight);

Distribution PolicyNow we are using Gaussian distribution.

Page 27: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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.

Page 28: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Resampling

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

Page 29: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Final Estimation

Finding the Largest ClusterGive the best result but computational

expensiveCalculating the Average

May affect by the far away particlesBest Weight

Fastest way to give the result, suitable for the real-time system

Page 30: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

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.

Page 31: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup
Page 32: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup
Page 33: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup
Page 34: The Hardware Design of the Humanoid Robot RO-PE and the Self-localization Algorithm in RoboCup

Thank you