Home > Articles > Programming > Java

  • Print
  • + Share This
This chapter is from the book

Alternate Communication Uses

We've created some basic communications projects, but really we have only scratched the surface of what can be done. For example, we could have tried to make social robots that interact with each other. This can be achieved by having RCX robots send data to one another through the serial port, which is not at all different from communications between the IR tower and RCX. There are also ways to improve navigation using the IR tower that we have not explored yet. The following section describes some of these possibilities, but I leave it up to you to implement your own vision.

So far in this book we have tried navigation using three types of technology: timing, rotation sensors, and an electronic compass. All of these methods use dead reckoning to navigate, with compass navigation being the most advanced. According to author Marc D. Hauser in his book Wild Minds (Henry Holt & Company, 2000), all navigating animals use dead reckoning, without exception. It is impressive that an animal as small and simple as an ant can so accurately navigate across large areas of terrain searching for food. The Tunisian desert ant has an amazing ability to navigate large distances from its burrow, a small hole in the sand. It forages around the desert looking for any food source it can find, but the catch is it can only stay outside its burrow for about two hours, otherwise it will die from exposure to the sun. If it can't find its way home after that amount of time, it will fry. The desert sand has no physical features to navigate by, so the ant uses the angle of the sun relative to itself to determine the orientation it is facing (similar to the function of a compass). It even takes into account the fact that the sun slowly migrates across the sky. The ant wanders around in a zig-zagging, criss-crossing pattern until it locates a food source. Once it does, the ant makes a straight line back for home—which can be up to 500 m away—quite a distance when you are only a few millimeters long.

Let's contrast this with the RCX robots we have developed in this book. Each of them also uses dead reckoning to navigate with computer precision, but the accuracy of the coordinates deteriorates with time traveled. Even the compass robot accumulates errors in the distances traveled. Even though the compass angle does not deteriorate, small errors in the angle will add up. Given the same task as the Tunisian desert ant, our RCX counterpart would fail miserably. So how can an ant get such accurate results, finding a small dime-sized hole after so much travel? Apparently within a few meters of the hole it switches from dead reckoning to positional navigation—using fixed points on the surface o navigate by. In the case of the ant, these landmarks can be semipermanent features such as rocks, pebbles, or even scent markers. Once it gets to an area of the terrain it is familiar with, it can close in on the hole. Ironically, if you pick up the desert ant and transpose it by several meters, it will not be able to find its way home. So how can we use this type of impressive navigation with our robot?

With the limited sensors and internal memory of MINDSTORMS robots, it is difficult to recognize external objects in the real world. Even with sophisticated video cameras, algorithms, and tons of memory, visual recognition is not yet perfected. Objects just look so different depending on the direction of the viewer, and changes in lighting also throw off recognition. However, there is one object the RCX has no problem recognizing: the IR tower. With the position of the IR tower known and the serial port set to short range, the robot should be able to recalibrate position by detecting the IR tower. I won't go into details on how to implement this, but if you find this topic interesting it could be good project to tackle.

  • + Share This
  • 🔖 Save To Your Account