« Back to the Snake Project home page
Contents |
All of the control algorithms are run in C on a laptop computer which serves as the USB host. Commands are sent to a PIC microcontroller, which are then transmitted over I2C to the servo-controller.
The PIC enumerates itself as a USB to the USB host computer. The PIC provides several vendor-specific requests as a USB device, the most important of which is the I2C write vendor-specific request.
All the I2C write request does is take a servo command sent from the host computer to the servo-controller over the I2C protocol. The other vendor-specific requests are diagnostic in nature, turning on troubleshooting LEDs.
The SD-21 is an off the shelf servo-controller capable of controlling 21 different servos using PWM signals. It has a DIPP socket for a PIC to control it, or can be controlled over I2C.
The HS-81MG servo from Hitech serves as a transducer between electrical and mechanical systems, translating control logic to physical spine curvature. Please see the individual snake phase descriptions for a more detailed explanation of how we used the servos.