Old Project Description
Person Following

The basic idea is to have an application that allows the robot to follow a specific individual through crowds of people. The following outline divides the project into levels from the simplest project and adds on improvements with every subsequent number. The idea is to have a robot find a person in a room and follow him/her throughout the room at some distance and eventually approach the person and stop in front of him/her. I will use the blob detection and maybe the face detection applications which other students are designing at the moment. Some kind of mechanism will be implemented to prevent the robot from rapidly changing its position and possibly lower the error level from the laser sensor. Next another person will be put in the room and the robot will have to distinguish between the two people and know whom to follow.

1. Finding a single person in an empty room
       1.1. How do we designate the person to be followed? ( color? )
       1.2. Find and segment legs using the laser (distance and direction)
       1.3. Incorporate infomation from the face detector (disambiguation)
       1.4. Incorporate blob detection
              1.4.1. Single, unique garment to follow
              1.4.2. Red baseball cap, with no other red in the scene
2. Folwing a single person in an empty room
       2.1.Determine comfortable following distance
              2.1.1. Personal space issues
              2.1.2. Code to approcach and cme to a smooth stop
              2.1.3. Need to implement some form of hysteresis to prevent twitching
       2.2. Basic following at normal walking speed
              2.2.1.Continually evaluate distance and direction
              2.2.2. Move robot to correct position
       2.3. Filter position estimation
              2.3.1. Implement Kalman filter to deal with position of person
              2.3.2. Followi filtered position
       2.4. Predictive position estimation
              2.4.1.Add in predictive elemnt to Kalman flter, based on past motion
              2.4.2. Follow filteed position

3. Following a single person with another person present
       3.1. Static, non-interfering
       3.2. Moving randomly
       3.3. Crossing paths with the person being followed
4. Following a single person with multiple other people present
       4.1. Low density
              4.1.1.Two or  three people
       4.2. Medium density
              4.2.1. Four or more people
       4.3. High density
              4.3.1. Test at happy hour in Jolley Atrium
5. Incoporating other information 
       5.1. Colour histograms of person being followed
       5.2. Other sensors