• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
November 30, Projects
 

November 30, Projects

on

  • 618 views

Introduction to particle filters, using particles filters to play catch, multi-object localization using particle filters and physical simulation

Introduction to particle filters, using particles filters to play catch, multi-object localization using particle filters and physical simulation

Statistics

Views

Total Views
618
Views on SlideShare
600
Embed Views
18

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 18

http://correll.cs.colorado.edu 18

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Goal : is to reason the way humans do But this is what the robot really sees This plot is showing the particle filters for a scene that the robot is sensing
  • And by that I mean what if the objects could interact with the robot and be agents in their own right? Consider : This comm can either be passive or active. In passive…, In active the objects can actively make service request to the robot. A longterm motivating example is the dishwasher asking the robot to unload it. So these 2 factors really change the way we look at this problem. ….
  • And by that I mean what if the objects could interact with the robot and be agents in their own right? Consider : This comm can either be passive or active. In passive…, In active the objects can actively make service request to the robot. A longterm motivating example is the dishwasher asking the robot to unload it. So these 2 factors really change the way we look at this problem. ….
  • So the robot has the physics simulator which can serve as its conceptual knowledge of the world. It also has information about the geometries of the obj it senses. Finally, it continues to estimate the object locations using PFs. If you look at this model, we see that it is very similar to the way humans reason about their env and come to conclusions. But we are not quite sure how they use the conceptual knowledge to do that. So even with this powerful tool, the question still remains “what do we query the physics simulator about?”

November 30, Projects November 30, Projects Presentation Transcript

  • Particle Filters A Collaborative Explanation By: Neeti Wagle & Mikael Pryor
  • Dynamic system
    • We want to estimate the state of some system : x
    • Problem : x is hidden and cannot be directly observed
    • Instead, we can observe y
    x 1 x 2 x 3 y 1 y 2 y 3
  • Filtering
    • Use the posterior distribution to estimate from sequential observations.
  • Dynamic system
    • Key properties
    • Markov property : Future is independent of past given current state i.e.
    • Observation at time t depends only on state at time t
    x 1 x 2 x 3 y 1 y 2 y 3
  • Kalman Filtering Approach
    • x t is a linear function of x t-1
    • A is the state transition matrix
    • z t is linear function of x t
    • B is the measurement matrix
    • w t is process noise
    • v t is the measurement noise
    • Drawbacks :
    • Susceptible to poor measurements and incorrect updates; may never recover after divergence
    • Assume the state has unimodal distribution
  • Monte Carlo Approach
    • Simulate M random variables from a Gaussian distribution
    • Compute the average
    • Similar idea for particle filter…
    Miodrag Bolic, Lecture for the School of Information Technology and Engineering at the University of Ottawa, mbolic@site.uottawa.ca
  • Particle Filter Miodrag Bolic, Lecture for the School of Information Technology and Engineering at the University of Ottawa, mbolic@site.uottawa.ca
    • Let the proposal density be equal to the prior
    • Particle filtering steps for m=1,…,M:
    • 1. Particle generation
    • 2a. Weight computation
    • 2b. Weight normalization
    • 3. Estimate computation
  • Examples Sample space Posterior density Miodrag Bolic, Lecture for the School of Information Technology and Engineering at the University of Ottawa, mbolic@site.uottawa.ca Haris Baltzakis, November 2004, Kalman/Particle Filters Tutorial
  • Examples Source : Robotics and State Estimation Lab, University of Washington
  • Two Robots Play “Catch” By: Mikael Pryor [email_address]
  • Pong
  • Tracking The Ball
    • Where:
    • The depends on which paddle is tracking the ball.
        • Counterclockwise convention
        • + for the left paddle
        • - for the right paddle
  • Predicting Where The Ball Will Be
    • Prediction based on paddle position:
    • If the predicted position of the ball is above
  • Predicting Where The Ball Will Be (Cont’d)
    • If the predicted position of the ball is below
  • Random Error
    • Random Noise in how the ball moves
    • Random Error in the laser scanner
        • The scanner has a resolution of 0.36 degrees.
        • The scanner is only accurate to within + 0.01 meters
    • Random Error in odometry for the robot
        • The odometry could be off by as much as 36% of the distance traveled
        • Compensated for by doing relative odometry using laser scanner.
          • Only 0.01 m error as opposed to 0.36 m error
          • Uses the walls to localize the robot.
  • The Particle Filter
    • Random error can be modeled with a Gaussian Probability Density Function with the following properties:
  • The Final Product
  • Adding Excess Noise in X-Direction
    • Using a camera instead of a laser scanner.
    • The y-direction can be estimated accurately.
    • The x-direction is harder to estimate with one camera.
        • No depth perception
        • Size of the ball
    • The particle filter still works robustly in this scenario.
  • The X-Noise Final Product
  • OBJECT LOCALIZATION USING A PHYSICS SIMULATOR Neeti Wagle University of Colorado at Boulder
  • INTRODUCTION
    • Based on these particle filters, how does the world appear to the robot?
    Consider object localization using particle filters
  • INTRODUCTION
    • Norm : Localization of objects assumes that we know nothing about the environment
    • What if, the environment was “intelligent”?
    • What if, objects could communicate with the robot?
      • Add an RFID tag to each object
    • What if, objects could provide information about their geometries?
      • Store object geometry in the tag
  • INTRODUCTION
    • What if, the robot had conceptual knowledge about the world ?
      • Use a physics simulator
    • Question : How can the robot use
      • object geometries
      • what it sees
      • world knowledge (how the world behaves)
      • to have a better understanding of the world?
  • HYPOTHESIS
    • Using
    • object geometry, and
    • simulated physics
    • to localize objects with particle filters
  • OPEN DYNAMICS ENGINE (ODE)
    • C++ physics engine with
      • Spaces, geometries, rigid bodies, joints
      • Real time simulator
      • Collision detection system
    • Products that use ODE
      • Video games
      • Robotics simulators : Gazebo, Webots, OpenRAVE
    • Developed by Russell Smith
  • PHYSICS SIMULATOR PHYSICS SIMULATOR OBJECT GEOMETRIES PARTICLE FILTERS
  • MOTIVATION - 1
    • PARTICLE FILTER VIEW
    • OBJECT VIEW
    This configuration is not valid in the real world!
  • MOTIVATION – 2
    • PARTICLE FILTER VIEW
    • OBJECT VIEW
    This configuration is not valid in the real world!
  • KEY IDEA
    • Use the physics simulator to reject scenarios (particle filter hypotheses) where
      • Objects are overlapping/embedded in each other
      • Objects fall off when the simulation engine is run
    • Goal : Find a world model which adheres to
      • the particle filter hypotheses
      • laws of physics
  • ALGORITHM
    • Consider J N possible configurations , where
    • N : number of objects
    • M : number of particles in each particle filter
    • J <M
    • Step 1 : Use ODE collision detection to check if any objects are overlapping or embedded in each other
      • If yes, reject this configuration
    • Step 2 : Run the ODE simulation engine by advancing time. Stop the engine when all objects are stable
      • Calculate the mean squared distance of final configuration from starting configuration
      • If distance below acceptable threshold, accept the configuration
    • Output : Configuration with least mean squared distance -> valid world model
  • EXAMPLE 1
  • EXAMPLE 1
  • EXAMPLE 1
  • EXAMPLE 2
  • EXAMPLE 2
  • EXAMPLE 2
  • EXAMPLE 3
  • EXAMPLE 3
  • EXAMPLE 3
  • ADVANTAGES
    • Drops the “know-nothing-about-the-world” constraint which is too restrictive and unnecessary in intelligent environments
    • Takes a multi-object view of the environment
      • Significant in applications like grasping objects using a robotics arm
    • Can be integrated with OpenRAVE to plan grasping motion using inverse kinematics solvers
  • SHORTCOMING
    • Testing all hypotheses is exponential in the number of objects
      • Need a way to test only hypotheses with high likelihood
      • Goal : make this an “anytime” algorithm
  • IN THE PIPELINE
    • Developing a branch-and-bound method for testing the hypotheses in decreasing order of likelihood
    • Approach : Variation of the knapsack problem based on entropy
    • When time runs out it returns the best hypotheses found so far
  • FUTURE WORK
    • Visual validation :
      • Idea :
        • Save the N best world models’ as snapshots
        • Compare snapshots to a camera image to select the best hypotheses
      • Middle ground approach
    • Model using SIFT features instead of particle filters
  • SUMMARY
    • Aims to construct a object view of the world from individual location estimates
    • Uses a simulator to reject invalid object configurations – serves as robot’s conceptual knowledge of the world
    • Constructs 3D models of the world
  • QUESTIONS?