Friday, November 19, 2010

Robots need love too.

The idea here is to take a 6 legged robot and make it climb slopes. An FPGA will interface to the robot controller (SSC-32, off the shelf robot) using RS232. Additional IR distance sensors will be added to the robot and mounted on a servo-motor. This allows them to rotate and locate objects.

The robot will scan the area, locate a ramp, move to an appropriate position and climb the ramp. The IR sensors will help it locate the ramp, and the FPGA will generate movement trajectories to move the robot to the ramp and climb up.

The FPGA has both a hardware and a software component. The IR sensors are connected to an external ADC, which clocks select lines in and data out at between 8 and 16 MHz. This is convenient because we can get up to 8 channels of data onto the FPGA using only 4 pins. We send it a clock signal, enable signal and serial select lines, and it feeds us 12 bits of digital data representing the current IR sensor output voltage. The data is filtered using a low pass (moving average) hardware filter, and then sent via FSL (Fast Simplex Link) back to the Microblaze processor.

Our software is responsible for controlling the robot. We store off-line generated trajectory tables for standard movements (rotate 10 degrees, move 3 cm etc.) in DDR memory, and then retrieve them when necessary. The required movements are determined by the data retrieved from the sensors. The sensors can scan the area, locate the angle of a nearby ramp and determine the distance to that ramp. This provides the required information for the trajectories to be generated.

No comments:

Post a Comment