Building a Hexapod Robot: SONAR Measurement with FPGA

Part one of a project that will demonstrate the building of an FPGA/SoC-based hexapod robot.

One of the projects I am working on at the moment is an FPGA / SoC-controlled hexapod robot which is capable of walking and navigating around obstacles in its environment.

To navigate the robot will need to be able to detect the distance to objects. There are two ways this can be achieved: using stereoscopic cameras or an active sensor such as a ultrasonic range finder.

Ultrasonic range finders work by generating a high frequency signal, and then measuring the time of flight of the reflected signal to determine the distance to an object.

My plan for the hexpod robot is to use a Cora Z7 board to implement the motor control, navigation system, and user interface.

Key drivers for the overall project are size and power, as it will have to fit onto the chassis of the robot and be battery powered. This makes the Cora Z7 ideal.

The Cora Z7 board provides the ability to interface with Two Pmods and a Shield ChipKit connector. I will use the shield for the motor control interface and the control display / user interaction.

This leaves me with two Pmods, one of which will be used with a Pmod Sonar Sensor.

To detect distance, I will therefore be using the Pmod MAXSONAR and reporting the distance on the MTDS display.

This approach should enable the robot to measure the distance between 6 inches (2.54 cm) and 21 feet (6.45 meters) more than sufficient, I think.

What I need to do initially in this project is to create the basic measurement system and ensure it is accurate when measuring distance.”