PROJECT: Micromouse Robot Simulator

(above) a simulated Micromouse simulator (mms) by Mr. Mac World

(above) a simulated Micromouse simulator (mms) by Mr. Mac World

BACKGROUND - I often hear the difficulty of getting into robotics due to many barriers. The robotics require good understanding of electrical engineering, mechanical engineering, and software engineering. However, many people who enter into robotics (and mostly students who are eager to get started in robotics) buy a robot kit just to have it assembled, run a few line following programs, and have it sit in the shelf. I think the right approach is to get him started right into programming robots bypassing all the barrier due to mechanical issues, expensive actuators, and soldering mistakes. An open source micro mouse simulator seems to be the right tool for such use case. A beginner can just download the software package, copy it over to his computer, run the sim app with the choice of pre-made algorithms. Watch how each algorithm deals with the problem differently, and slowly apply his owning thinking and see the impact. As the knowledge grow, he can apply it to the hardware dealing with other mechanical and electrical problems, becoming a better engineer/scientist.

MICROMOUSE SIMULATOR - There are many simulators that are open source. The simulator makes it easy to write and try the maze-solving algorithm without a physical robot. One I chose is the mms (see above pic). mms runs without having to be installed and supports various languages including C/C++, Python, Java, and Arduino C library. Once packaged up, you can just tweak the main code to control the mouse robot and have the status displayed on the text window. This also have a rabbit/fast mode which will help you try your algorithm quickly.

PROJECT STATUS: In Progress

  • I got the application setup on my MacBook & ran the basic code that uses the popular strategy of following the left wall until it found the target (one of the maze that comes with the mms is designed to defeat this popular algorithm)

  • Currently working on designing an algorithm that mimics the AI Reinforcement Learning by implementing scoring system for the x-axis, y-axis, and movement. Rewarding 1 point as it gets closer to the center (the goal of the maze is get to the center) and loses 1 point as it gets further away from the center. This way the robot will have the tendency to favor moving to the center of the board (this is what a human does when he/she has to find something at the big department store) while favoring quicker search due to the movement counter.

  • This is just a vague idea, so I will have to write the codes and test it out utilizing the power of fast run mode.

  • Reference - WIP

One more thing - I always favor adding extra constraints while designing a solution for a tough problem. Below is the YouTube video of a toy robot for solving maze problem. What I really like is the fact the engineer/student did not look for ways to complain or replace the faulty hobby servos that is not accurate. Rather, he found a way to have the robot reset its position by gently bumping in to the wall before turning 90 degrees left or right ensuring accurate turn. I really do believe this way of cleaver thinking and utilizing everything around the problem (thinking outside the box) is what sets a great engineer apart. Great work and I’ve also learned a lot from this video as well.


Previous
Previous

RESEARCH: Robotis Turtlebot3 Burger

Next
Next

PROJECT: Yahboom Omniduino Smart Robot (Omnidirectional 4WD Mecanum Wheel Smart Robot Car + FPV Camera)