Hacker News new | past | comments | ask | show | jobs | submit login

I've competed in Micromouse for years and my mouse and I appear in snippets in this video.

Happy to answer questions.




Are the "smooth cornering" solutions, presented at the end, complex enough to apply to a full size autonomous performance car? I am thinking about pursuing this area for my diploma, but I am not sure whether I will be able to complete prototyping stage if I can't afford a full scale vehicle for it.


I think autonomous performance cars are using different but related techniques. I am not close enough to what the autonomous performance cars are doing to say where things are in terms of the state of the art but I think there is opportunity.

For Micromouse, there are several methods people use. One is to create a trapezoidal angular velocity profile while holding the forward speed constant. The trapezoidal profile parameters are determined through iterative simulation.

Another approach - the one I use - uses cubic spirals which is described in: Smooth Local Path Planning for Autonomous Vehicles by Yutaka Kanayama and Bruce I. Hartman. What is amazing about this technique is that it is closed form, is like four or five multiply and adds and executes in trivial time on (even) an 8-bit processor. For my latest entry, I have a more sophisticated scheme where I try to maximize the load on the tires and the lateral and longitudinal loads are asymmetric.

In this article: http://www.dtweed.com/circuitcellar/xottenda.htm#183 - David Otten describes a scheme where he controls the rotational velocity such that the load on the tires is maximised.

I think you can get very far with simulations and then trying it on a RC car and then on a real car.

A few years back, there was some amazing work that was done at Stanford where they developed tire models and a controller that could handle sliding modes.

I encourage you to explore because if nothing else, you will learn.



Are there a set of rules and open source base micromouse that I can take and create a competition in my country?


Absolutely.

Please take a look at the repos at:

https://github.com/ukmars

https://github.com/ukmars/ukmarsbot <- this mouse was shown in the Veritasium video. It is exceptionally low cost and easy to assemble, source parts for and there is enough code in the repo to make good progress.

I hope you do this!


What programming language do you use? Are there SDKs for interfacing with the sensors and motors?


I use C. I write all the code from bare metal i.e. no OS and I write my own routines to initialize and use the hardware.

I could use the routines that the MCU manufacturer provides but when I've tried, I've found that I spend a large amount of time understanding the API and what they are doing and writing the drivers myself is faster.

Take a look at this code base: https://github.com/ukmars/ukmarsbot


If I want to watch/read more, where should I go?


I would first read the David Otten Circuit Cellar article, then look at the UKMars repo and https://micromouseonline.com/


Rt


The Russian state controlled news channel?


I guess it varies somewhat, but how much does an average competitive mouse costs?


Depends on where you draw the line.

I think one can be made for under $50 USD.

MCU: $5 PCB: $5 Sensors: $8 Motor driver: $3 Battery: $5 Misc. electrical components: $5 Motors: $4 3D printed parts: $15


What are some barriers to going faster?


This eventually evolves into a controls problem i.e. reading the sensors and then driving the motors and keeping the mouse in control.

With the use of a fan, the limit is now how much down force can you generate and then can you drive the wheels to take advantage of that. And then how much time do you have to maximize this loop.


Perhaps I missed it in the video, but are the mice driving fully autonomously? That is, are they using vision or other sensors to detect the walls and then are they performing path planning? It all seems blazingly fast.

Or is there some pre-programmed aspect to their paths? Surely it's not dead reckoning?


There was a very brief mention in the video, but this link goes into more detail: https://micromouseonline.com/micromouse-book/rules/. The score of each run factors in 1/30th of the time spent to search. There is a separate period where the mouse can search, and then it goes through the maze at high speed using the route it planned prior. Obviously if you spend a massive amount of time searching, that will impact your score but it seems to prioritize the later, faster runs in terms of scoring.


The mouse is fully autonomous. At the start, the mouse only knows that the coordinates of the goal and that the goal is some combination of to the right and front of the start square.

Currently mice use reflective infrared sensors. The reflected infrared light is used to estimate the distance. Based on this reading, one can determine the position of the mouse and the presence/absence of the wall. This information is used to create a maze map and to navigate.

The Circuit Cellar article mentioned in this thread is an awesome comprehensive introduction to micromouse.


Do you have to be a college student to compete?


Did you have an prior experience with FIRST or other robotics competitions?


I did not.

Funny story - I was in college and the IEEE chapter was having a meeting with free pizza. I went to the meeting but went into the wrong room and in that room they were having the Robotics club meeting. I was intrigued enough to sit through it and wanted to do this. One of the the presenters said that no one had yet made a working mouse at our college. I was determined that I would be on the team that was the first. And we were!

FIRST is a fine competition.


Why did you not answer any questions even though it's seven hours later now?


seventeen now


Twenty two now


LOVE THE ENTHUSIASM! I hope you all will make some mice.

I'll watch this thread for more questions.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: