RAFS - Localization Details
Localization Details
Localization is the main part of this release. The robot must know exactly
where it is, and that is a major problem to solve. If you tell a robot to move
forward five feet, that does not necessarily mean the robot will go exactly
five feet straight forward. Many factors come into play with making the robot
be off of its destination. For example, one tire could have more pressure in
it, or one wheel motor could work just a little faster than the other.
Apply Localization to Object Recognition Wander
This step will involve applying the Markov Localization routines and Gradient
Path Finding to the object recognition module. With this extension, the robot
should be able to traverse greater areas of the room.
Testing new Object Recognition Wander
We will test the robot’s new navigation functionality to see how it behaves
in various areas of the room. This may expose certain areas of the room that
are particularly difficult to maneuver in. Upon completion of this work, we
should know if specific areas of the room require special attention.
Plot Located Chairs on EB2029 Map
In release 1 we detected chairs and logged the coordinates in relations to
the robots current position. This was not much help because the coordinates
were not such that we could revisit the chair with any sort of accuracy. With
this improvement, we will construct a list of visited chairs and their coordinates
in relations to the global map. This will allow us to revisit chairs more easily
using setGoal function in the gradient path-finding library.
Polish EB2029 Map with New Saphira Tools
A new version of Saphira/Aria came out during this release. This unexpected
software release triggered the need to evaluate the improvements to this suite
of tools. One major improvement was the laser-mapping package. This new software
will be used to refine our map and research the world file export option.
Devise Module Interaction Schema
This aspect of the programming has not been adequately addressed so far. Some
time will be spent devising a schema that will enable our code modules to run
concurrently and interact with each other. For example, the object recognition
module will interrupt the wander module to assume control of the robot.
Write New Wander for Localization/Gradient Path Finding
We thought it would be best to rewrite this action to accommodate the new
technologies used. This will entail generating a random point in the room and
setting the point as the gradient path-finding goal. If the robot sees a chair
along the way, object recognition will take over.
Fully Integrate New Code Modules
Release 2 will generate 2 new code modules and utilize 2 modules from our
prototype. This stage will involve invoking and controlling these modules using
the module interaction schema. Upon completion, we will have several code libraries
interacting with each other to perform a complex action.
Briefing on Localization to the Rest of the Group
After the localization exercises are complete, Peter and Matt will present
the basic ideas of the program to J.D. and Brad. Rather than having them shoulder
all the research themselves, Peter and Matt will bring them up to speed with
a series of tutorial sessions.