Cye is currently the only home robot that can
reliably navigate around a home or office. In fact, it navigates better than most
research robots which cost upwards of $15,000.
Most hobbyist robots use range finding and other sensors to move
around and avoid most nearby obstacles. These robots never know where they are, and
generally just zip around randomly until they are retrieved, or their batteries run down.
|Cye, on the other hand, uses highly accurate positional sensors to
generate a map of your home or office (with a little human help). He can then track
his movements on this map (right) using a radio link to a PC. This means Cye knows
where he is at all times, and it is a simple matter for him to move from the living
room to the dining room, or from the kitchen to the den.
The secret behind Cye's navigation success is called "Dead
Reckoning". In robotics this means the ability to navigate using positional data
only. When you tell Cye to move to another room, your computer calculates a viable
path on the map, then sends coordinates for Cye to follow. As Cye moves, his encoder
sensors check the velocity/distance of each wheel 500 times per second -- this telemetry
data is then sent to the computer so the position of the robot can be tracked relative to
walls and other obstacles.
When I first received my Cye I was a little skeptical about some of
Probotics claims about navigational accuracy.
It took me only a few minutes to get things up and running.
First, I was instructed to find an open corner for Cye's base. Then I attached the
radio modem to the serial port on my PC, and installed a program called
"MapNZap"off the included CD-ROM.
I carefully placed Cye on his base/charger and was delighted to
hear him play a short tune as aknowledgement. Next, I moved to my computer and ran
MapnZap. After a brief initialization sequence I was prompted to choose the
robot's orientation, relative to my screen, and then the direction of the nearest wall,
relative to Cye. After making these selections I heard some noise and was surprised
to see Cye back off his base, move to the closest wall, and bump squarely against it.
Then he turned and came back near the charger. (Side note: I was
immediately impressed with how QUIET this robot is. My other 'bots have been pretty
noisy, but this one hardly makes a sound.) Cye was ready to start exploring!
||An overhead view of Cye was clearly visible in the middle of my
screen, on a
gridded but otherwise empty background. I left clicked on the robot icon, holding
the button, and saw my cursor jump to a spot in front of the robot. A line now
connected my cursor to Cye, and when I moved it both the icon and the actual Cye began to
creep forward. It was like pulling a toy with a piece of elastic; moving the cursor
quickly caused the line to grow longer and the robot(s) would move faster. Every
time Cye bumped something, a small dark spot appeared on my screen.
I maneuvered Cye around a piece of exercise equipment, through a
and into the hall until I couldn't see him anymore. I wanted him to come back, so as
an experiment I clicked on the homebase icon. Sure enough, the robot rolled through
the door, around the exercise machine and right up to the charger. I held my breath
as it turned and tried to dock, yet was dismayed to discover that it was slightly off and
had missed the charging station. "Ah well," I muttered, "That was
pretty darn close. I guess I can't expect the robot to dock every time."
I stood to retrieve it, then watched in amazement as Cye backed away, moved to the other
wall and squared against it, then came back and completed a PERFECT
dock. Apparently, bumping the wall the charger is on zeroes out accumulated errors
on one axis, and bumping the other wall (remember that the base must be placed in a
corner) zeroes out errors along the other axis. If Cye can get anywhere near his
base, he will dock with his charger every time.
|MapNZap includes drawing tools so you can complete the maps that
I actually found this process to be a lot of fun, and pretty good exercise. (You'll find
yourself jumping up from the computer to run into other rooms so you can see where Cye is
at, relative to walls, beds, and other obstacles.) The program contains a host of
other features, like hotspots, line paths, vacuum paths, checkpoints, etc.
Probotics makes some pretty bold claims about Cye's dead reckoning
capabilities. (Less than 5 degrees of orientation error after 50 feet of travel.)
But you might be wondering, "How good is it, really?" Let me relate
a quick story.
Last Friday I took Cye into my office and showed him to some friends. I added a
couple of hotspots to the office map I made earlier in the day, then threw together a
quick ZAP program to make Cye visit both hotspots, and return home. I ran the
program and Cye backed away from his charger, navigated around my desk, out the door, and
20 feet down a hallway. He then played a short tune, came back near my office, took
a left down another hallway and rolled to the second hotspot. Finally, he turned
around and came back to my office. For trips this long (about 100 feet) Probotics
recommends adding one or more "checkpoints" on a straight section of wall so Cye
can zero out errors; but I hadn't done that, so I held my breath as Cye entered the room.
I told everyone to watch how Cye will find his charger after he misses it on the
first attempt. Nope. The robot rolled right up to the charger and docked ON
THE FIRST TRY! Admittedly, this was rather lucky; but it illustrates just how
accurate this robot is. It's truly an amazing thing to see.