The world's first personal robot is finally here! Aimed more at the office than the home, Cye provides businesses with a modern and showy solution to a variety of office problems. Cye is mainly designed to do one of two things, carry things in his wagon or vacuum with his specially designed vacuum. Cye can do a variety of tasks though via his ZAP language - a simple drag and drop interface that allows the user to create their own mini-programs.
The first thing that struck me about Cye is its look - robots are cool, but to create one commericially there should be a certain aesthetic appeal to it. For me, Cye looks very sleek, modern, compact yet robust at the same time. As you can see from the picture, Cye lies very low but is fairly wide. The wagon also uses a similar design to Cye to keep the overall feel of the robot intact. Probotics produces the robot in a multitude of colours and combinations - a custom manufactuer has even produced a chrome version!
Second thing that struck me about Cye was the simplicity of setting the whole thing up. The only real requirement for Cye is to create a suitable homebase. Basically, you'll want a area about a metre across, with a corner (or suitable flat obstacle) a metre or so away. The charger is a small unit that Cye runs on to to charge up, with a suitably long power cable allowing you to hook him up (these chargers come in 240V and 120V versions). The radio pod Cye uses to communicate with your PC simply attaches to your COM port, and has its own mains adaptor so there is no need for batteries. So, why the homebase?
Mapping
The homebase is used to give the robot at least one point of reference. As Cye runs, he slowly looses accuracy in his positioning. Luckily, Cye knows this and tells the computer just how inaccurate he thinks he is. Now, after a certain level Cye will return to homebase. The reason the corner is necessary is so that Cye can perfectly correct himself, and find his way back to the charger. Setting up the homebase on the computer is incredibly simple using Probotics Map-N-Zap software. The software uses DirectX in a window (this was interesting from a programmers point of view) to show a map of Cye's surroundings. When you start up a new file, a wizard guides you through the homebase set up procedure. Now we can show the robot its surroundings.
The robot can be taught its surroundings by either drawing the surrounding area yourself and gauging the distances, or roaming the robot about bumping it into things. When the robot bumps into something it will register on your PC as an obstacle which you can then edit (or delete) as you feel appropriate. A really neat feature of Cye is that the more inaccurate it feels it is getting, the less sure it marks the position it is currently at. For example, when the robot starts out, it leaves a white trail behind, denoting an accessible area. When it hits a wall, a black mark is used to denote non-passable areas. As the robot moves around more and more, the trail becomes more and more grey as it progresses. Therefore, when it comes to calculating a path, it will choose the perfectly accessible places over unsure areas.
Cye's pathing algorithm is surprisingly complex, since he takes into consideration obstacle clearance, the shortest path, accuracy, and a variety of other criterion. Cye is often faced with imperfect maps - for example, maps that have not been fully created. Cye has then to balance between choose longer, explored paths or shorter, non-explored paths. Cye's path finder also takes full advantage of the checkpoints (if available) along the route to maintain accuracy.
Cye's path calculations are relatively quick (since they are calculated on your PC) even when dealing with complex areas like offices and large houses. With such large regions Cye may become relatively inaccurate without returning to homebase. What happens if the area is so big that Cye becomes inaccurate before the entire distance is travelled? Simple - you can set up checkpoints throughout the map, either checkpoints with a corner (attaining more accuracy) or without. Cye can then calculate the difference and update his position on the map accordingly.
In addition to all of this, the mapping software allows you to specify danger zones (top of the stairs, for example), vacuuming paths and various hot points ("Home base", "Coke Machine", "My Desk" etc.). Hot points are common places around the map that you label. The 'SR' (sound responsive) part of robot comes into play here - labels can have a certain number of claps associated with them. It is this kind of flexibility that really allows you to use Cye to his maximum potential. The flexibility doesn't stop there, though.
Zapping
Using the ZAP system, you can create quite complex procedures for Cye to follow. Here is one such example that comes with Cye:
- Start Program
- Wait until 1:00PM
- Check in at Filing Cabinet
- Go to Door at 80% speed
- Wait until nudged
- Check in at Henry's Office
- Go to Henry's Desk at 80% speed
- Wait until nudged
- Check in at Filing Cabinet
- Go to Stephan's Desk at 80% speed
- Wait until nudged
- Go to Home Base at 80% speed
- Stop Program
This is all done through a simple drag and drop interface and immediately executed by the robot. One of the few problems I have with Cye lies with the ZAP software though. You must have your computer on for the robot to run the program - the program is executing on the PC and instructions are sent to the robot. For most jobs, leaving the computer on is ok, but for example, if I wanted Cye to wait under the door at 7:00AM then drive into my room with my mail and wake me up (by beeping with its internal speaker) leaving the computer on all night could be a nuisance. This also means your COM port is constantly tied up if you need to use Cye, not just when you need to download something on to Cye.
These are but trivial points, though, and this great flexibility with Cye's programming means any office worker can program Cye to do their bidding. What about real programmers wanting to do a little fiddling of their own?
Further Flexibility?!
Indeed! Probotics supplies the CyeCom OCX control with their Map-N-Zap software so that any OCX-enabled software or programming language can utilize Cye. This means Cye can be controlled via Microsoft Excel, Visual Basic applications, Visual C++ applications - a real dream. On top of this, Probotics recently released their source code under the GPL allowing us to have a good look into the Map-N-Zap software itself. What more could you ask for?
Asking for More...
If I were to really nitpick at Cye and the Map-N-Zap software, here are some things I'd like to see. A printed manual (even at extra cost) of the CyeCom OCX control interface. I am one of those hardcopy freaks, and Probotics did such an excellent job with the manual (ring binded) I wanted something similar for CyeCom. I'd like to see more options on Map-N-Zap - more precisely, the ability to set whether Cye will automatically mark an obstacle. The number of times I had an obstacle marked when in fact it was merely a temporary obstacle (chair, suitcase, sister etc.) started to bug me a little. The ability to mark a perimeter - the maps are open, in that everywhere is accessible until proven otherwise.
In terms of hardware, I have little to fault. The only thing I'd say would be to make the home base a little more rugged. When Cye cannot dock properly on the homebase, he moves about a lot trying to secure a decent position. I found the charger prongs got a little bent out of shape at times.
Conclusion
Cye is an excellent robot, perfect for any office. With a quick learning curve, great interface, and the software and robot so flexible you could feasibly customize it for your own business purposes, Cye is a viable option for any company wanting a modern approach to an office maid - it'll impress the clients too! With the complete CyeSR package costing $995 (robot, wagon, vacuum and software - even a T-Shirt!) it is also a cheaper equivalent in the long term.
Reproduced from Generation 5 14 Apr 2000