Let's Make Robots!

Project ABE - XMOS Challenge

underwater exploration for lakes and reefs

- Summary -

More information within the weekend...

About Project ABE

 The main purpose of the project it's to create an autonomus vehicle to explore lakes and reefs. Aquatic Bot Explorer (ABE) its based on a ROV (Remotely Operated underwater Vehicles ) and AUV (Autonomus Underwater Vehicles ) class robots.
       This bot it's powered by an XK-1 processor by XMOS, several boards for sensing: pressure, temperature, depth, etc. Motor control, demux, ADC, etc. are developed.

1.1 Vehicle Design

ABE design consist of three DC motors with special water proof. The control system uses a Fuzzy algorithm for underwater stability, sensed by an accelerometer. three underwater proof servos are used to move each thrusters for different movements.  An illuminated system will be controlled by a light sensor, according to the ambient light. Other measures to consider are: temperature, pressure and water presence inside the bot, in this case will activated an special function to go back to the surface. In figure 1.1.1 its show the 3D model of ABE. The version 5 of ABE it is almost finished and under testing.

Fig. 1.1.1 - ABE 3D design.

In the Video shows the process of assembling ABE, this version uses a minimum of parts for ABE version 5.


2.1 Circuit Design

 The circuits used in ABE are several boards divided in two main areas: control and sensing. Each board contains the basic circuits to move the bot and obtain vital information from the enviroment. This boards are conected to the XK-1  (Figure 2.1.1)  The control board wich is used for the motors are in pins XD12 - XD23. The sensor and lighting control are in pins XD0 - XD11.

Fig. 2.1.1 - XK-1 pins locations to use for control and sensing boards.

All the boards are put together in cube arrangement that contains: main sensor board, control board, XK-1 and power board. This is ilustrated in figure 2.1.2.

Fig. 2.1.2 - PCB Arragement for X-BOX.

Power Board - The PCB uses 7805, 7809 to obtain 5, 9 Volts,output reference voltages and a small DC-DC converter.

Sensor Board - This PCB uses a LM35 for temperature sensing, a basic water precense sensor and a small power circuit to activate the lighting system and an accelerometer for position control sensor.

Main Sensor Board - The main use of this board, its to obtain analog data from the sensor to the XK-1, according to x-linkers[*] ,there is available code for MCP3208 , this  12-bit SAR ADC from MicroChip has 8 input pins, multiplexed to a 100 ksps ADC.  The board will use one of this IC, with an 4017 to multiplex ports to use for control purposes.

 Control Board - This board will take the signals from the XK-1 to control 4 DC motors and up to 9 servos. To achive this task, its use an 74hc595 to send signals control for two L293D. Also, a  4017 will multiplex the signal for the servos.

3 Algorithms Design

3.1 Basic Servo Control

Soon ..

3.2 Basic PWM - DC Motor Control



4 Simulation and Testing

4.1 -  Trhuster Test

 Soon ...


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Part of the waterproof concept its based on this nice tutorial from SoR...


How cool. Autonomous under water robot. Cool!

(I may not sound that intelligent, but it is what I have to say though :)

jeje... no problem fritsi... :)

Like what geir mentioned this will deffinatly need to be weighted and balanced to give a neutral buyancy at depth.

I think there are some model submarine sites that have some great products to help in this along with monitoring depth, controling depth and any water leaks(emergency ballest dump if needed). 

This looks pretty cool so far though, great work!

There exist equilibrium , the system its balanced. Right now I'm seeing how to maintain the ABE model at certains depths, I design a few algorithms that I will summarize them within the weekend, I got a lot of material that I will share in the official site very soon.

Emergency ballest  dump ...Could u give a bit more info about it>?


Very simple. Basically, the unit floats, period. Weights are added to obtain nuetral boyancy. You should have the ability to drop these weights in case of emergency. You are looking for a fail-safe here, in that in the event of a failure of thrusters or brains or batteries etc. the result is dropping of the ballest and the unit floats to the surface. Something as simple as keeping a relay clicked during normal opperation so if a failure happens, the relay defaults to it's normal position (unclicked) and drops the weights.


yep yep, right on the money CTC!
ok, now I got a clear picture of the configuration.
Great looking submarine.

What will you use to weight it down? Or will you use the thrusters to pull it under?

Have you got any more information on the thrusters and where you got them?

hello Geir, Well, I was planning to pull it using the thrusters as first instance, in the model I considered several ways for submersion, all this in a very simple manner  and the solution was using the thrusters: which I made using parts from different objects, I will post how I designed them, very soon.