Warning: include_once(scripts/rss.php): failed to open stream: No such file or directory in /userfiles/CS/public_html/eclab/projects/robots/arc/local/config.php on line 92

Warning: include_once(): Failed opening 'scripts/rss.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /userfiles/CS/public_html/eclab/projects/robots/arc/local/config.php on line 92
Applied Robotics Club : GMUGrandChallenge - To Do browse

Status


Behaviors

  • Obstacle Avoidance
    • Brian's algorithm works pretty well. It uses a summation of vectors technique in which each sonar reading represents a vector (direction and magnitude). The summation of these vectors and a "goal" vector allows for obstacle avoidance to be combined with navigation.
  • People Avoidance
  • Obstacle/People Avoidance + Navigation

Data Fusion

  • Data from various sensors must be combined to produce an optimal solution to our position, heading, speed, etc.
    • Code is now in place to combine the GPS and wheel encoder estimates of our distance to the next waypoint. It's currently doing an equal weighted average, but an adjustable weighting factor is in place.
  • Kalman Filtering is one method used to accomplish this, but we must somehow combine different sensor measurements. This can be done by applying appropriate weights (that are proportional to the uncertainty) to each measurement.

For Brian: Couldn't find the right contact info and didnt know where to put this. Anyway the approach I would take is that if I am going to use the Kalman filter I would try to reduce the reading error in each of the sensor (compass, rotation). Then I would fuse them at the interval where I could get both of them. For the faster sensor I might get the average. So Compass=5 reading/second and wheel=1 reading/second. AdjustedReading = weight1*(5 filtered readings /5) + weight2*(wheel filtered reading)


Vision

  • Color blob detection: Simple option, but this could suffer from inconsistent lighting conditions.
  • Vanishing point detection: Utilize the lines on the sidewalk to steer the robot along the pathways.
  • Localization: Based on a database of "keypoints" of the campus buildings, we can derive our orientation.

Compass

  • Interface with Silicon Laboratories USB compass/inclinometer in Linux
    • Still need to extract inclination (i.e. roll and pitch) from data strings
    • Downside to this compass is that it only updates once per second
  • Interface with Daventech compass through brainstem using I2C.
  • Determine how to mount the compass to avoid interference from the motors, laptop hard drive, etc.

Get maps

  • This is important. If we don't have the maps in a usable format the robots can't go anywhere.
  • Once we get the maps, we need to come up with a standard format for them.
  • We now have maps and access to software to generate modified maps.

Determine how we want to create the graphs

  • Also which sort of path planning algorithms do we want to use. A*, B*, Djikstra, ......

Path Planning

  • Given the georeferenced raster data, we need to come up with a way to create a graph with waypoints for the nodes, and distance, width, etc. to describe the node links.

GPS

  • Determine how to mount the GPS receiver to see the most amount of satellites.
  • Determine which coordinate system to use...
    • Lat-Long: We know it's available directly from GPS, but must be converted to feet.
    • UTM: Measured in meters, may or may not be available from GPS. Easy conversion.
    • State Plane: Measured in feet, may or may not be available from GPS. Easy conversion.
    • I think we have to go with the Lat-Long coordinate system due to the likely fact that our GPS receiver only outputs lat-long.

Voice Dictation (i.e. Text to Speech) -Done

  • Using Festival speech libraries (most likely), we need the ability to have the laptop speak out status information.
  • Festival must be installed and configured to work in Linux, then integrating into our code should be trivial (use SpeechProxy class from Player libraries)

Voice Recognition

  • Would also be nice to have.

Wireless Connection

  • Set up ad-hoc wifi connection between Linux laptop and another machine for outdoor connection.

Fix Speed Racer

Speed Racer is in need of some overhauling to get it into proper condition to begin testing and programming.

Other pieces for localization need to be decided on. Currently it only has a very inaccurate wheel watcher on one of the back wheels


Get 'em running

There are more things than I have listed so far. Feel free to post things that you think are important to the completion of this project. Anything that you think we have taken a wrong turn with. This is the time to change things. -Conrad