The Project goal is to design and manufacture a four legged remote controlled robot. Autonomous control is currently not an objective however at a later stage I’m planning to add some decision making capabilities parallel to remote control. The robot is moving ahead by lifting one leg at the time and constantly shifting the center of gravity (CG) away from the leg about to be lifted. All processing and calculation is done on the control board mounted on the robot. The remote control (RS232 over Bluetooth) is only required to steer the robot to the desired direction.
Hardware:
Chassis: CNC milled using T-6061 aluminum. I’ve designed the robot with Alibre parametric modeling software (CAD) for the toolpath I’ve used OneCNC (CAM).
Servo Control Board: 3.1” x 2.0” dual core PCB designed with Eagle Layout Editor and factory manufactured using BatchPCB services.
FSR Sensor and case: Custom designed for the Interlink 0.2 Inch Force Sensing Resistor (FSR). The spherical part is milled from Delrin the other FSR pieces are milled from aluminum. The FSR properties makes is possible not only to sense touch event but to read the (approx.) weight on each leg. The Ball design can pick up touch event when the leg is hitting objects (ground) from an angle.
The robot is controlled by two microcontrollers an Atmel ATmega168 and an AVR32.
The ATmega168 is responsible for the following functions:
1 Provide PWM signals for the 12 servos (Current chassis design only supports 8 servos)
2 SPI Master
3 Receive and process servo positioning data from the AVR32 over SPI
4 Send current servo positions to AVR32 over SPI
5 Store Min, Max position and initial position values for each servo (data stored in ATmega’s EEPROM but can be reprogrammed with AVR32 RTOS over SPI )
AVR32 functions:
1 RTOS OS
2 SPI Slave
3 basic shell to program robot, collect diagnostic data
4 read and interpret ADC – FSR touch sensor data
5 read and interpret ADC – Accelerometer X,Y tilt sensor data
6 send coordinated servo positioning data to ATmega over SPI
7 perform all calculations required for smooth walking experience
8 provide RS232 (over Bluetooth) connection to RTOS shell
9 reset ATmega168
10 provide TWI interface for control daughterboard (autonomous mode extension)