This robot is planned to feature high resolution encoder and will utilize ST's time of flight sensors for distance sensing. I plan to make heavy use of CAD and 3D printing to create a very compact and functional robot.
This robot, version 2, is designed to fix the hardware limitations that version 1 has. Version one was built during my freshman year at college and I'm currently a Junior. It should serve as a fun comparison to see how my skills have advanced.
In the Japanese micro mouse competition I figured out that most of the competitors use small motors with built in encoders. This would have been perfect for my robot too so I set out to try and find out where in the blazes they buy them from. Turns out most of them come from a Swiss company named Faulhaber. However these motors cost about 100$ a pop! Too much for me. I settled on Pololu's magnetic encoders.
These little guys will get me twelve tick per motor revolution which will then be multiplied by the gear ratio. With a 50:1 motor that's 600 ticks per wheel revolution!
I chose an STM32 chip for the micro controller since I have a STM32 dev board to play with. It should be a huge step up from an AVR. I choose freertos for similar reasons, I have experience with it on an ESP32.
For wireless debugging I'm planing to use a simple Bluetooth module that interfaces using UART. I'm looking at the
I'm not looking to make a robot that would be competitive on the international level. This bot is destined for the east coast competition which it not nearly as competitive. Should I accomplish my goals I believe it would be the best bot there, at least mechanically. The bot is also intended to be a platform for me to experiment and play around with creating a well integrated system. With the sensors I plan to place on it it should be able to be a little more than just a micro mouse robot.
Now with the motors selected I can start working on the design in CAD.
Work on version 1 began when I was in my freshman year at community college. It was my first diy PCB. I'm proud of the work I did then but it's showing it's age and limitations.
First thing you might notice is the bright magnet wire around the front of the robot. This was a bodge to fix ground lines for the vertical sensor boards. They needed fixing because I forgot to include them on the PCB. I originally used an I2C IR sensor for the distance sensing but these proved unreliable. Recently I upgrade to ST's time of flight sensor. So far they have proven far more reliable.
However the biggest issue on the robot is the encoders. Originally I used an optical sensor with a diy encoder wheel. The resolution of accuracy was just not there. However we eventual stetted for a magnetic quadrature encoder on the right wheel. Credit for this one goes to the robotics team at Montgomery College.
This worked but it still only got use 16 ticks per revolution or 1.1 cm per tick. It's workable, but better encoders is a major design goal for V2.
Originally the project did not include the raspberry pi strapped to the back of the robot. This was a late a addition. The idea here was that other team members would be able to code maze following code in python instead of C. While awkward this did work.
The encoders are just barely visible at the top of the image. In the middle is a gyro that was retro fit to the robot.
I do think this robot is probably capable of solving the maze. However at the same time I believe I can do a far better job with the deign the second time around.