Final Report: Arachnae II

 Electrical Subsystems



The robot control system is divided into smart subsystems all linked together with a low speed serial network (two-wire 2400 baud rs232c). This design allows local processing with relatively small and cheap controllers where it is needed. High level communication on the serial network is only on demand.

The following paragraphs gives an indepth description of each subsystem or node in the network.


Overview and Architecture

All of the controllers used are members of the Parallax Basic Stamp family, namely Basic Stamp 1 for those tasks which doesn't require high performance or many I/O ports whereas the Basic Stamp 2/SX is used for functions with either high performance demands or needs for higher number of I/O ports.

Figure7.1 below gives an overview of the fundamental structure of the complete controller network whereas figure 7.2 shows the arrangement of the several nodes on the robot itself.

Figure 7.1: Schematic of Arachnae II's controller network


Figure 7.2: Arrangement of controllers and sensory on Arachnae II's body


Serial Network

The subsystems interconnection is formed by a two-wire 2400 baud serial communication line.
Though the line is fast enough at the moment to transmit the few bytes per command it is planned to replace this low speed communication line by a somewhat faster RS485/422 serial bus. This will be necessary on the implementation and usage of a ultra sonic range system at the latest.


Power Distribution

Not really a node which performs any useful tasks it serves as a stabilizer for the two supply voltages for controllers and servo motors. It simply consists of a pcb with a few power supply connectors and two 2200 uF capacitors on it.
See here a photo.


Master Control Processor

The Master Control Processor actually is a Basic Stamp 1 scalable with a second controller of the same type to increase computing performance if needed.
This subsystem serves only as a supervisor for its underlying network, that is, it both administers the network and schedules messages to the proper target systems.
For the future it is planned to implement all the behavioral computation on it.
See here a photo of the mcp.


Master Motion Controller

The Master Motion Controller is a satellite controller with two responsibilites. The first is to receive global locomotion commands via MCP from the navigational subsystem NP3 and compute suitable step sequences. The second is to send the result to its six subordinated leg control processors which then actuates the servo motors.
The controller itself is a Basic Stamp 2/SX due to the high performance requirements.
See here a photo of the MMC.


Leg Control Processor

The Leg Control Processor is actually built of two separate controller boards. One Basic Stamp 1 acting as a bus interface controller (biu) and one servo control processor (scp) consisting of a Basic Stamp 2/SX. The biu connects to the serial interface and both receives step/gait commands from and transmits acknowledge and error messages back to the master motion controller. It checks the received data for validity and sends them over a local serial high speed bus to the scp. This receives the step commands, computes a proper trajectory based on the command information and actuates the three servos for its leg. If an error situation occures it is sent back to the mmc.
See here a photo of a lcp. At the right is the bus interface unit biu followed by the servo control processor scp at the left. The two controller boards are mounted on a backplane which also holds the servo driver unit circuitry sdu.


Sensor Processing Unit

Working as a slave to the master control processr the sensor processing unit or spu serves as a master for its undelying network of dedicated sensor subsystems.
It receives requests for sensor readings either from the navigational subsystem np3 or from the master control processor. If a data request is received it checks the address and sends a communication request itself on the serial line. The addressed sensor subsystem performs the reading and, if necessary, a precalculation and returns the result. The spu itself checks the result for validity concerning limits and ranges and transmits either the preprocessed data or an error message if something failed.
See here a phot of the spu.


Tactile Proximity Sensor Controller

The Tactile Proximity Sensor Controller tpsc is the last hope if all other range detecting sensors like usrc and iirc fails by any reason. It detects any collision with obstacles in its drive way by using a bunch of feelers or 'whiskers' which passively scans the space up to 20 cm before the robots head. Though the sensor system can handle up to eight feelers at once only four are used at the moment.
The program runs as a task in the spu.
See here a photo of the sensor subsystem while here is a detailed view of a single feeler.


Ultra Sonic Range Controller

The ultra sonic range controller is based on a polaroid 6500 sonar device controlled by a Basic Stamp 2 due to the rigid timing constraints. Though not implemented yet it is designed and constructed.


Infrared Range Controller

The infrared range controller subsystem consists of two sharp gp2d02 distance measuring sensors mounted at the head of the robot.
Though the sensors were actually part of the first implementation of the sensory they are not implemented yet due to problems on bringing them to work (that is, to return measures others than always 255).


Inclination Sensor Controller

Another important part of a mobile robot. A tilt sensor measures the current magnitude of inclination which may be useful on avoiding dangerous situations while walking on slopes.
Though already designed and built-up it is not implemented yet. The chosen design has a very low resolution, that is, it checks only for exceeding a certain inclination (preset to 15 on x and y in the plane).


Temperature Sensor Controller

Used for behavioral algorithms. Any robot which shall behave like an insect must have some sort of reactive and reflexive way of acting. One of these is performed by a certain reaction to ambient temperature (we call this K-phobic and K-tropic). To simplify the design of the sensor system we used an integrated, programmable thermometer/thermostat chip 1620 from Dallas Semiconductor.
The program runs as a task in the spu.
See here a photo of one of the two sensors mounted on the digital compass carrier..


Light Sensor Controller

The light sensor controller is, like the tsc above, used for implementing simple and fundamental behaviors. Based on a simple cds it measures ambient light by rotating the photo cell 180 degree from the left to the right in steps of 30. This readings are then the basis for any behavioral algorithms.
The propram runs as a task in the spu.
See here a photo of the sensor on its rotating carrier.


Proprioceptive Sensor Controller

The proprioceptive sensor controller measures only the levels of the two supply voltages for both digital and analogous circuitry. Though not implemented yet, it is designed, built-up and read for use. It continously measures the voltage levels and pulls an input port on the master control processor to low (some sort of interrupt) to indicate a low-voltage condition. The mcp then performs a proper action (visit the next charger or so).


Navigation and Path Planning Processor

The navigation and path planning processor actually is the heart of Aachnae. It creates a topographical map based on the range data coming from the ultra sonic range detector subsystem. Since even a Basic Stamp 2/SX isn't powerful enough neither to hold such a large dataset needed for maps nor to perform a suitable path planning a pc is used for this job. It is planned for a future revision of the control system to use a single board pc (possibly equipped with flash disk(s)) mounted on arachnae to to the map processing onboard. At the moment all data from the range detection system are transmitted on a serial line to the pc which performs both the map generation and path planning. The outcomes of this process are sent back to the robot where they are the basis for gait adjustments and step sequence calculations.
This feature is fixed part of the next revision of the control system.


Digital Compass

The digital compass is a sensor subsystem which is primarily based on the 2-axis compass and magnetic sensor module from Precision Navigation, Inc. It is controlled by a Basic Stamp 2 microcomputer due to the high computing constraints and high number of I/O pins needed. Its is programmed to output heading (also called yaw or azimuth) in bcd format with a resolution of 1 which seems to be really enough for this application.
See here a photo of the compass.


Go to cover Go to Control SystemGo to ConclusionsGo to AppendicesDisplay Help

Last updated: 26.6.1999