NagyCNC

Cad Design, CNC Machining, Robotics

Robotics
Tetrapod PDF Print E-mail
Written by James Nagy   
Sunday, 03 May 2009 19:18

Project Scope:

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: 4 Futaba S3114 servos and 4 TowerPro clone 9gram servos

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.

Accelerometer: 5g accelerometer board (Sparkfun.com)

 

 

Control Architecture:

 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)

 

Block Diagram:

 

PCB design:

Breadboarding:

FSR Sensor Mounting Design:

Chassis design:

Servo Controller Board test:

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.

FSR - touch sensor test:

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.

Accelerometer - tilt sensor test:

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.

Basic steps:

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.

RTOS:

  

JavaScript is disabled!
To display this content, you need a JavaScript capable browser.


Last Updated on Friday, 30 July 2010 04:54
 


Joomla 1.5 Templates by Joomlashack