PyParticleFilter

Home Lecture Blog Resources Project Discussion Group Assignments

Bringup Instructions

Here is the filter package: Attach:pyParticleFilterPackage2.tar.gz. You will also need the PS7 simulation package (if you don't still have it): Attach:uml_mcl.tar.gz.

  • Make sure both the uml_mcl and pyParticleFilter are untarred and in your ros path.
  • Run the getDeps.sh script in the pyParticleFilter directory. This will ask for root to install some packages, numpy, scipy and swig.
  • rosmake pyParticleFilter
  • roslaunch pyParticleFilter sim.launch

This should launch the sim and rviz with the robot wandering about localizing itself. Rviz should look something like this:

By default, the red arrows indicate particles, the green arrows are a history of your real position in the simulation and the blue arrows are a history of the particle filter's estimate of your position. Note that the filter as provided here does not do any sort of filtering or certainty estimates on its output, but feel free to add some!

I recommend you both have a look at the sim.launch file, and at the rxgraph of the running simulation to get a feel for how everything fits together. Essentially, the filter consumes a map, LaserScan and Twist(cmd_vel) messages to produce a PoseArray(particles) and Odometry(position estimate). All of the relevant parameters to the particle filter, motion model, and beam model are loaded using rosparam. The simConfig.yaml file in the pyParticleFilter directory contains the values used for the simulation as well as some basic comments about what each one does.

Troubleshooting

If rviz refuses to open with an Xwindow error, just Ctrl-C the launch and try again. This appears to be a common problem with rviz on some systems (my laptop does it) and only seems to happen on launch. If you find out how to fix this, please let me (and everyone else) know.

If you have any other problems, make sure all the python files in each package's node directory are executable, and that all your paths and dependencies are all right. If you are still having trouble after that feel free to ask for help on the list or shoot me an email directly (mmcguinn@cs.uml.edu).