ToF (Time-of-Flight, see “Tutorial: STMicroelectronics VL6180X Time-of-Flight LIDAR Sensor“) sensors are fun: they measure the time the light takes to travel to an object and back again. That way they can measure the distance to object with a millimeter accuracy. An ideal sensor for a battle robot: 🙂
The standard distance with the VL6180X is to measure objects up to 20 cm. I have now extended the VL6180X with a scaling mode so it can measure 1x, 2x or 3x distance. With 2x it measures up to 40 cm with 2 mm accuracy, and in 3x mode up to 60 cm with an accuracy of 3 mm. That makes it perfect to be used as sensor on a Sumo robot :-).
The standard Sumo robot we use in class uses the Pololu chassis and metal blade:
I wanted to add multiple ToF sensors to the robot so it can detect the other Sumo robot during a battle. For this I decided to remove the metal blade and instead use a 3D printed holder and blade for the sensors.
The first thing is a printed holder which holds the two front sensors behind the blade:
That holder holds two sensors which are connected to the ToF sensor shield on the robot. The Shield allows to address each sensor individually (as they share by default the same I²C address) plus features a FET to power the sensors on and off.
Screws go up through the carrier to attach the blade:
The carrier for the ToF sensors is sitting on top of the Pololu infrared sensors:
Because the default metal front blade does not fit for the ToF sensors, a new one has been created as 3D model:
Below with the front blade mounted:
Two covers on the top protect the two other ToF sensors:
The three front sensors work very well and are able to detect other robots up to 50 centimeter away which is all what I need.
I’m not that happy with the two other sensors on the default shield as they expose the robot to the sensors of other robots. But key is to detect the other robot first, and for this the two front sensors hopefully will make that happen :-).
3D printing is great, but it is an iterative process: have an idea, design and print a part, then iterate again until finished. Below is the pile of testing parts:
Next week the robot will be trained. The 3D printed front blade seems to be very robust, but I have to see how it stands against all the other robots with metal blades 🙂
The 3D models are available on Thingiverse: https://www.thingiverse.com/thing:2335121
Happy Sumoing 🙂
- Time of Flight sensors: Tutorial: STMicroelectronics VL6180X Time-of-Flight LIDAR Sensor
- Pololu Metal Blade: https://www.pololu.com/product/1410
- Pololu VL6180X ToF sensor: https://www.pololu.com/product/2489
- Files on Thingiverse: https://www.thingiverse.com/thing:2335121