next up previous
Next: Motion Detection Up: Deficiencies and Future Directions Previous: Drivetrain

Feelers and Touch Sensors

The second issue that can easily addressed is the addition of a touch sensors on the sides and rear of the bot in order to detect collisions when backing up or turning. The present design suffers in that it does not detect these collisions causing inaccuracies in the reported distance traveled. If it could detect these rear and sideways collisions, it could stop the motors immediately (after logging the contact) and take corrective actions.

The quickest sensor addition is simply putting a single touch-sensor/feeler combination on the rear of the bot. This would take a third touch sensor (the Mindstorms kit only has two) and could be connected to the RCX where the light sensor (for overhead radar) is currently connected.

A far better solution would be use one of the tricks another Lego enthusiast has found. By hooking three touch sensors to a single RCX input via three different resistors, and then monitoring the sensor level, there is a way to determine which of the three sensors was activated. By utilizing two of these three sensor combinations (on two RCX inputs), a bot could be built with 2 front, 2 side and 2 rear touch sensors, which would be a vast improvement over the present design. Furthermore, it would leave the third RCX input available (e.g. for a rotation sensor).

This last mentioned solution touches upon a method of sensor monitoring that should probably be implemented anyway. The easiest way to program the RCX to read touch sensors is in terms of a default threshold which allows for simple On/Off detection. A more sophisticated approach would be to monitor the level of the output from the sensors directly and then act accordingly as the value changes. By having more control over the threshold, the variability in sensor sensitivities might be accounted for in software instead of hardware (I had to tape a piece of paperboard to one of the feelers because I found that one of the sensors was significantly less sensitive than the other one).

One final improvement is the mounting of the feelers on independent axis. The current design has both the left and right feelers swinging about a common axle. This has a problem when the bot hits a flat surface head on as the force on both feelers fails to allow for rotation on the single axis, thus preventing the touch sensor from registering the obstacle. The easiest thing to do for the present design is to provide another axis up front and separate the feelers.


next up previous
Next: Motion Detection Up: Deficiencies and Future Directions Previous: Drivetrain

1999-08-09