@@GaryMcKinnonUFO yes, in the first run it memorises the maze, calculates the fastest way via an algorithm and than runs it, multiple attempts with removing dust from the wheels that is collected from the maze ground. actually saves .5 seconds with is significant with a runtime of 3.594 seconds
At first I wasn't sure what the point was cuz the speed of the first run of a robot in a maze will always be relatively random. Then I started realizing that whenever it retraced any straightaways it had already gone through, it went faster cuz it knew it could go faster. Turned out this was more of a mapping precision coding type of competition. Pretty awesome to watch.
@@doyourownresearch7297 it's smart, and something that happens in real life too, you would want to avoid crossing lots of roads when runnings or rough terrain.
I think I've done something similar in when I attended Ai and machine learning classes, I think that in the first pass the mouse does a basic search for the target (it can be as basic as a breath first search or a deep first search, provided you handle cycles in the latter case) a more refined way could be using some heuristics in the first pass (I'm a bit rusty on that but I clearly remember that there are some strategies that can statically improve efficiency in the first pass). Once the first pass has been done, you have in memory a graph which will certainly include the starting and the ending node, hence provided that you have constructed well that representation, it become as easy as performing any shortest path algorithm of your liking (like Dijkstra's). It's entertaining show to watch a physical thing do the job, but from a computer science point of view these are the basics.
@@alasuisi It is impossible to use any heuristics in the first pass because you don't know where the goal is. The interesting part of the problem is traveling the shortest distance while path-planning at the same time, as algorithms such as BFS can make your mouse jump have to keep moving across the map. A DFS would work better, but there might be a better algorithm that that.
@@jonathanyang1423 I was assuming that the position of the goal was k known, clearly if that's not the case then you cannot use an heuristic, but also, from the perspective of the agent, there is also no certainty that the solution set is finite, hence a dfs may theoretically never terminate. If we assume that since you can see that the maze is finite and that you are allowed to do informed search, then you can use A* for example with an heuristic as your choice like Euclidean distance or Manhattan distance, also if I remember correctly A* with a constant heuristic basically reverts to BFS
@@alasuisi Yes, DFS may not terminate, which may be a problem. Another problem is that it may not even give the optimal solution. Btw A* with 0 heuristic is Uniform Cost Search (although I guess its the same thing as BFS in this situation). However, A* may not be the best algorithm to use, as it still jumps around a lot (as in you maybe expand one node than another node that is a lot farther away).
That's the way I drive ALWAYS I wish more people understood this simple mathematics fact That's why delivery companies in the US always take right hand turns
It's the same as going for a run and avoiding crossing busy roads but the ability to decide which is more efficient with minimal to no testing is amazing
@@michaelblair5146 I could certainly be wrong, but my guess is that this task is not preformed using any machine learning (also known as statistical learning) algorithms, but instead uses mapping, positioning, control and error correction, and shortest path algorithms which have been well tuned for the particular hardware.
@@HummusPvm If you think that this machine(mouse) learns something new and explore maze to find solution using some maze algorithms, yes you are right. If you think that this mouse is using any algorithm from AI branch called 'Machine Learning' then, you are wrong.
The mechanical precision of this mouse is outstanding. The wheels alignment must have been absolutely spot on as well as the servos calibration. I have an ancient Heathkit Hero Jr robot from the early 80's and despite my best efforts absolutely refuses to go in a straight line :) We've come a looong way since...
He checked and readjusted the wheels but its more likely they readjusted the wheel so often they did it quickly out of efficiency rather than rushing/nervous
There's def an IMU in there and probably encoders on the wheels + other sensors for precise odometry. There's no way it's staying that lined up with the course just by counting on no slippage on the wheels.
Servos have been superseded by DC motors with accelerators/gyros now that the latter are miniaturized e.g. MPU6050. Dust on the wheels reducing traction is a big problem, hence the cleaning between each run.
HINT: For greater dramatic impact, show the times AFTER the mouse finishes. This blew my mind, but it would’ve been even better if I didn’t know the second run would only take 4 seconds. Amazing!
I was still pretty amazed but I agree. My mind would have been blown instead. It’s amazing this little thing can path find and map out it’s surroundings. I’m wondering why it sometimes will go back to the start instead of spinning around celebrating its win. Maybe it’s just randomized.
@@luridftwgaming8983 It crashed or the wheels lost traction, probably by picking up some dust. This bot is really really light, and keeping its wheels from spinning is tough. It probably uses wheel input to tell where it actually moved, so once it slips, it loses its bearings.
@@luridftwgaming8983 Its because when it is spinning around, it is because it lost its 'footing.' It isn't celebrating, it is stuck. It only weighs a few grams, even a little bit of dust will make it spin out, that's why he's rolling the wheels with sticky tape between runs.
This is actually the easiest part. Just keep a map of where you have been and use eg. the left hand rule: place the left hand on the wall and then just follow the path with your left hand always touching the wall thereby mapping all the walls. If you figure out, that in the area you have already explored there are no more uncharted areas, go back to the last position which has the possibility of leading into already uncharted territory and continue from there. Finding a way through this map to the goal actually is also not that hard. There are various algorithms to do that: find a way in a cellular arrangment, where path from one cell to one or more of the surrounding cell is blocked. (eg. Djikstra, eg. Lee algorithm) What impresses me is, that his algorithm actually takes the dynamics of the mouse into account (acceleration, deceleration) and that the mouse figured out that it can travel the diagonal at full speed. One of the hardest parts is actually to make sure, the mouse runs in a straight line at all times no matter if one of the wheels slips or not. Also it is hard to make it turn exactly the correct angle in order to be perfectly aligned for the next leg at full speed.
@@JonatasAdoM That is because within an algorithm you can control everything. While at the "interface" to the real world, this is not doable. You cannot control if the surface is perfectly level, if there are some dust particles on the floor, wheels have diameter tolerances, motors do not respond in exactly the same way to the voltage, optical sensors have to deal with stray light and so on and so on. You can imagine programming as "creating a perfect world". All things behave exactly as you designed them and how you programmed them. Of course there are programming errors, no doubt. Sometimes one started with the wrong idea and figures out that the idea does not work. That happens. No doubt about it. But still: A computer does EXACTLY what you tell him to do. If he doesn't, then the recipe you used was faulty, but there are no outside effects giving you troubles. Real physical world is different.
@@kallewirsch2263 That only works for simply connected mazes though. Are all the mazes closed in this comp? There are other algorithms for mazes that are not simply connected though, of course.
I drew this maze in a pygame pathfinding program I made last year and almost found the exact same path the mouse used. My A* heuristic doesn't consider a cost for turns or allow for diagonal travel and I had to block a shorter path along the right side of the maze (from video's perspective) to get (almost) the mouse's path (it cut the diagonal short by going up in the middle of the maze). The shortest path isn't always the fastest path!
Did you notice the fact that '2016' is part of the maze? ;) (the diagonal route is obviously intentionally put there by the designers of the maze to test for a mouse's ability to deal with that as well instead of only thinking in 'straight' blocks and lines)
We all time traveled forward in time from 2011 into 2016 and then in 2019. In fact, we're all time travelling right now. On top of time travelling micromouse can do a maze in less than 4 seconds after second try.
@@falshion1837 actually is a fusion of computer science, physics and engineering. The really fast ones are not just aerodynamic the also have suction fans to hold them to the floor so they can decelerate and turn faster. It’s all about having the mouse that can determine how to get to the centre and back the quickest.
As a former software engineer, I am curious why they don't run a 'mapping' run by using the Rule of Rights when navigating a maze. That is, you always follow the right-hand wall, as it will always lead to the goal; and then continue mapping the rest of the perimeter by continuing past the goal still applying the Rule of RIghts, then map to the inner section(s). I am imagining the mapping process would be slower, hence why they use the methods they do? Fascinating to see how it maps, even though it feels 'random', there is clearly a process for data collection, and an algorithm for mapping routes as new wall data is mapped and an 'as many straight lines as possible' final path determination. EDIT: I just realized that the goal could be a 'floating' space not connected to any other wall(s). This changes my inquiry.
It depends on the competition rules. For example, the IEEE 2020 rules stated, "The destination square will be positioned so that a wall-hugging mouse will NOT be able to find it."
Key tip! If you put the video on full screen then hold your phone right. You will see 2016 on the board. Or if you just look you can see it right there.
As Sam Vaknin said they did studies in 2007 how badly the affect of social media is.... it was bad in 2007....said some people work with computers better than with humans....This video shows it...... and he said today they dont do these studies of mental health because, he thinks the Google advertissing etc... so they dont care.
Robotics is starting to move and progress faster and faster! I can't wait to see what the future holds for these programs that help the robot to 'learn things.'
@@GeorgeTsiros I have nothing against dfs, but it is too plain and overly expensive for no particular reason. This is exactly why Dijkstra's algorithm (in its straightforward implementation) is mostly just a technical insight in today's engineering practices (likely A*) and is rarely used even in the most basic of games. And this kind of algorithm is pretty advanced compared to any dfs or bfs. These kinds of devices have very little processing power, and I'm guessing that the virtuosity of this competition lies in the software hacks, to massively speed them up, and not in the hardware. The most expensive and tricky parts of these algorithms are typically the solvers for minimum spanning trees and/or maintaining priority queues, and then having a flexible and reliable heuristics all of which is practically science in itself. Then again, I'm only speculating based on what little I know about all of this.
@@milanstevic8424 compared to the scale of time these devices operate on, any kind of sophisticated algorithm would not provide benefits. Consider even the fastest speed it moves nodes. 10 squares per second? Even on a 10MHz uC having 1 mil instructions available to toy with for one new square is luxury... and i'm pretty sure they're not using some decade old AVR like i'm used to. Bought a $10 dev board the other day... half a meg flash, 128k ram, 100 MHz and onboard DMA? Holy crap. Too bad i can't program it... too complicated and top complex. Anyway. Seriously though, my comment was mostly humorous. Of course they'd use a more sophisticated algorithm..., why not?
While it was searching the first time, I thought I would try my hand at figuring out what route it would take, and I was pleasantly surprised that I was right!
The interesting part is that it mapped the maze and learned. At first I thought it was just doing a simple if, than, else loop to navigate, but it found the optimal route and applied it. Once it knew the best way to go, it was little surprise that it could do it that way with scary speed and precision. Impressive, for sure. The implications of actively learning microrobotics are kind of mind boggling. If that little mouse communicated with a little drone, it could find the optimal route through the maze before it even moved at all.
Exactly. It is what the mouse has to do in a first run - learn. You may check out the rules of the contest at www.micromouseonline.com . If the mouse knows the maze in advance that would be algorythm so called "wave propagation" Lee's algo maze route finder (which was actually computed basis known facts abt maze and used on a final speed run in this video). I was surprized that mouse seems to be using Moore neighborhood (i.e. learning 8 directions) because running diagonal at the end. Programming mouse behaviour is actually not a big problem, almost same as tracing pc cards
At first I was really confused why it was stupidly making successive turns that put it back where it was, but then after awhile I realised it was mapping out the entire field before making runs to the goal.
First time around, the hunter-seeker will slowly learn its environment, until it is familiar with every nook and cranny. Then it goes into hiding until the Muad'Dib comes home. It will only spring into action, with furious speed, once he is at his most unaware. But Muad'Dib is omniprescient, and can see a thousand possible futures unfold at once, so in the last second, he pulls away from the poisonous dart, while he reaches out with his strong fingers to snap it in half with a soft and dry crack.
This year My Team participated in this in a University Competition (we are still in 12th) and Got 2nd Position ❤️ (For the people who know: Our Project was STM/Arduino Based and We used 3 Ultrasonic sensors and it was made on a 4WD (4 wheel drive) using L298 motor Driver so it was not this fast because it was a bit big. Total cost was about Rs4500 approx and We won Rs5000 and Some Respect+)
@@FBI_most_wanted_Grape_dangler How do you get the Idea... Allah is Not Happy with technology I think Technology have been proven very useful for Islam I can give you examples if you want. "It's not the things that are bad It's how you use them."
@@Muhammad_Waleed don’t worry about allah he has his two left hand and his shin to worry about. and what’s up with momo eating an obvious poisoned lamb in kaibar? like wtf man?!
It records its steps as it moves throughout the maze, drawing a picture of its position at each point of direction. Once it has found its way, it then calculates the best route to take, accelerating diagonally in various long straight lines to achieve optimum results. Impressive. It would take humans a long time over 1 hour to do this maze.
Could you build one with 3 lasers coming out straight ahead, and at 45 degree angles, on the front? Then it could detect the small dead end areas without actually going in them. Some sort of colour detection could also let it know if it's facing a clear run to the white area, so it can run straight in.
Apperently the mouse weighs less than 5 grams, so thats a good question. Could you add these features without adding weight, or very little, as too not break the rules of the competition, or interfere with manuverability.
First attempt: When Mickey goes shopping in the mall with Minnie The rest of the attempts: Mickey when Minnie calls him and said she was alone in the house