The new semester is approaching fast! And I’m under pressure to get everything lined up and ready. This time, I want the students of the INTRO (Infotronic) course at the Lucerne University of Applied Sciences and Arts to have some fun with building and programming Mini-Sumo Robots 🙂
INTRO Zumo Robot V2.9
From the earlier revision 2.1 things have been evolved a bit. On the right bottom the first Zumo robot, top Rev 2.1 and left the new Rev 2.9:
The new one is Rev 2.9 and has new features, and things are better arranged:
The above picture has the Pololu part numbers listed.
It is using a modular concept, where different sensors and modules can be added:
- Ultrasonic module for object detection and distance measurement on the front.
- I²C header for custom extensions.
- Additional 4 digital distance sensor on the side, e.g. for IR Proximity Sensors
- User button and user LED
- 2 quadrature position sensors.
- Buzzer
Otherwise, standard Pololu part items are used: the chassis, motors, H-Bridge, 5V Step-Up/Step-Down and 9V DC/DC converters, reflectance sensor array and the Zumo blade.
As a special feature, multiple wireless modules can be plugged into the board:
Schematics and Layout
Compared to the earlier version, the INTRO Robot V2.9 Motherboard Schematic and INTRO Robot V2.9 Motherboard PCB Layout has been improved:
Positive Effect of Proximity Sensors
The plus of the new robot is the usage of proximity sensors. If the proximity sensors on the side detect the opponent, the robot is turning toward the other robot. The code doing this in the Sumo task is very simple:
if (DIST_10cmLeftOn() || DIST_5cmLeftOn()) { /* sensors on the left detected something */ SUMU_TurnAngle(-90); /* turn left */ } else if (DIST_10cmRightOn() || DIST_5cmRightOn()) { /* sensors on the right detected something */ SUMU_TurnAngle(90); /* turn right */ }
In the following video, one robot uses the proximity sensors on the side:
As you can see in the video, the strategy might not succeed in the first attempt, but gives an advantage to win the combat 🙂
I’m using the front ultrasonic sensor to find the other robot, but that algorithm is not solid yet.
Summary
I’m very happy with the new robot :-). V3.0 will have some minor improvements:
- Moving the headers for the wireless modules so the reset button of the FRDM-KL25Z is easier accessible.
- Removing unused pins on the header for the Bluetooth module.
- Moving the headers for the Ultrasonic and I2C to the outer side of the board for better accessibility
- Moving user LED and push buttons so they are better accessible with the USB cable connected to the FRDM board.
Students will be able to build and assembly the robots hopefully without issues, and the SMD components are as such that things are not that hard to populate.
Rev. 3.0 is planned to put into production soon, and this time the PCB will be manufactured outside. That way it will have nice PCB silkscreen and solderstop mask :-).
PS: Many thanks to Andreas Albisser who worked hard to make the new INTRO Zumo Robot hardware possible!
Happy PCBing 🙂
Erich,
Excellent job. We have a similar system (larger) that we gave away to a group of educators for teaching programming, motion and course planning. The list of uses is almost endless.
LikeLike
Bill,
thanks! Yes, I think these systems are an ideal playground for many fundamental aspects of embedded systems: real time aspects, multiple things the same time (reentrancy), sensors (calibration, oversampling, …), design patterns (state machines, handshaking, client/server, …) and most important: something which blinks, sounds and makes moves is always fun 🙂
LikeLike
Erich, PM me a shipping address and I will send you one of ours. The Freescale University group will be getting a couple for play time also.
LikeLike
Hi Bill,
thanks for your offer! I have sent you my contact details.
Erich
LikeLike
Pingback: Zumo Robot Chassis PCB arrived! | MCU on Eclipse
How much difference do you think the IR Sensors on the side make? I’ve implemented a similar setup on my Arduino powered Zumo. However I can’t decide if it actually helps or not 🙂
LikeLike
The side sensors have two purposes for me: I’m using that robot as well for ‘maze solving inside walls’: here it helps me to follow the side walls (the wall is within 10-5 cm).
For the Sumo competition it does not help much if pointing to the side: it helps to detect an opponent approaching from the side, but 5 or 10 cm are too close: I need the 38 kHz high brightness Pololu IR sensors instead. Still working on the setup, but that’s my strategy 🙂
LikeLike
Thanks for the response 🙂 I’ve used the 38kHz sensors. You can see them on this image here: http://forum.pololu.com/download/file.php?id=1920
They were very easy to install, and are very sensitive.
The tricky part for me is making them sensitive sideways, but not affected by the track underneath. Although they work I think I need to move them a bit further out sideways.
LikeLike
Yes, I have them too, but not used them in a ‘battle’ yet. I saw better results with the ‘high brightness’ version of the sensor. You mean they were affected by the ruber band tracks? I would not have expected this. But you could use a black electrical tape or something to shield it?
LikeLike
Hello Erich!
I’m looking for instructions to use a ultrasonic sensor with FDRM KL25Z. Could you to indicate me some tutorial?
Thank you so much
LikeLike
Hi Jean,
have a look at https://mcuoneclipse.com/2013/01/01/tutorial-ultrasonic-ranging-with-the-freedom-board/
LikeLike