PS9

Home Lecture Blog Resources Project Discussion Group Assignments

PFL on the Bilibot

The goal of this assignment is port your particle filter localization algorithm from the Stage simulated world to the physical hallway in Olsen, and demonstrate its performance when running on the Bilibot.

There are at least three major stages of work involved in this. These are described below.

Files Needed

Implementation Steps

The following plan is recommended to accomplish this work.

1. Get Rviz PFL demo code to work.

1.1. Download Misha's rviz code, and get it running on your own local machine.
1.2. Modify the code so that the local viz displays on your desktop/laptop/or a lab machine, but with the remote random particle generator on a Bilibot. See the instructions for setting up two computers to share a ROS core, and the table below of robot names and IP addresses:
     bilibot-red1.cs.uml.edu        129.63.225.229
     bilibot-blue2.cs.uml.edu       129.63.225.228
     bilibot-green3.cs.uml.edu      129.63.225.227
     bilibot-red4.cs.uml.edu        129.63.225.226
     bilibot-red5.cs.uml.edu        129.63.225.225
     bilibot-blue6.cs.uml.edu       129.63.225.224

2. Get PFL in simulation running using Rviz.

2.1. Get your own PFL code running using Misha's rviz on your own machine. (Or, use provided solution code.)
2.2. Get this working across two machines: rviz on a local machine, simulated PFL on a Bilibot. At this point, the Bilibot should be “imagining” that it's driving around the hallway, and you should be able to see what's in its “mind” on your development machine.

3. Get real PFL running.

3.1. Remove stage, and get the Bilibot to localize in the hallway. (We'll block it off just after the ECG lab doorway.)
3.2. You will probably have to add some control code that prevents the Bilibot from getting stuck while it's driving around localizing.
3.3. As discussed in class on Mar 27, you will probably have to modify the beam model to get the PFL to work well. See the textbook for more.

To Turn In

You should turn in the following things:

  1. A video of the Bilibot driving around at the OS302 end of the hallway while it's doing localization.
  2. A screencap video of the Rviz localization visualization during Bilibot operation.
  3. Your code for accomplishing this.
  4. A 500- to 1000-word narrative of the major issues involved in the implementation.

Bundle these things up and turn in with:

 submit fredm ps9 <your files>

About Teams

You are permitted to work with one other person on this project. If you work in a team, the following rules apply:

  • Each partner each submit the work. One person cannot submit the work for the other.
  • Partners must separately write the summary narrative. In addition to explaining major implementation issues, the narrative must:
    • Identify the other partner.
    • Briefly discuss the nature of the collaboration; i.e., who did what.
  • Partners may submit the same robot demo video, screencap video, and code itself. The narratives must be written separately.

Demonstrations

(:youtube wHfmmmmPVbo:)

(:youtube P0xJJuxI1X8:)