- Aug 1, 2004I generally get over my head about once a week. Perhaps someone has
some information that will get my project going forward.
The basic project: Between Kent Farnsworth and myself, we have an
RF-linked Hero 2000 setup that allows controlling the robot via a remote
host computer, using the robot itself running in its native BASIC from
the command line as a slave. We use C as the programming language on
the host. All the library programs have been written for mechanical
control of the robot's functions, such as motion, sonar scanning, etc.
The expanded project, phase 1: We have ported the "Grid Nav 1.0"
grid-based planner, written by Tucker Balch, in its totality. This
planner allows the Hero to navigate from point A to point B, self
planning its route around obstacles. We utilize the robot's own PID
system and odometry capabilities. It operates very effectively.
The expanded project, phase 2: Using work by Hans Moravec, as explained
very effectively by Prof. Crabbe at the US Naval Acadamy
we have implemented an certainty grid, utilizing a Baysian conditional
probablily approach, built up from sonar date. We display the results
on the host screen, and see that we get an excellent representation of
the local areas around the robot.
The expanded project, phase 3: This is the over-the-head part. In order
to make use of the certainty grid for simultaneous localization and
mapping, we think it will be most expedient to utilize a Hough transform
approach to both create the global map of the robot's world, and for use
in later self-localization of the robot within it. That's where I'm
What is needed is a Schaum's Outline-like straight explanation of the
Hough transform for generating straight and simple curved lines from an
occupancy grid (actually converted to an occupancy grid for this
purpose, which will then represent a coarse bitmap of the environment),
along with simple example applications written in C, or at least pseudo
The work I'm seeing which uses the above approach tends to use MAT-LAB.
We want to do it all self-contained in our own code.
Anyone have any pointers to something like this. Anyone doing similar work?
[Non-text portions of this message have been removed]
- Next post in topic >>