Micro Mouse
Micro Mouse
Micro Mouse
MICROMOUSE CHALLENGE
OBJECTIVE
Participants are required to code an autonomous self-contained bot on ROS to be simulated on
Gazebo, Micromouse, which can get to the centre of a maze in the shortest possible time. A
micromouse essentially comprises of a drive motor or motors to move it; a steering and turning
method and sensors to detect the presence or absence of maze walls which has to be specified in
the URDF and sensors or control logic to oversee the action of the rest and keep the vehicle 'on
track' or to solve the maze.
COMPETITION RULES:
● Participants have to submit their code to organizers two days before the day of the
competition. Code from all contesting teams shall be collected before the maze is
unveiled.
● After the maze is unveiled, the mouse handler is given 3 minutes, before the start of
his/her run, to make any adjustments (if any) to the mouse sensors and calibrate the
sensors. However, NO selection of strategies must be made and NO information on the
maze configuration should be entered or captured into the memory. Any participant doing
so will be disqualified immediately.
● Each contesting micromouse is allocated a total of 7 minutes of access to the maze after
the 3 minutes of sensor adjustment time. The maze-time clock will commence after the
expiry of the 3 minutes time limit even if the handler is still making adjustments to the
sensors.
● Any time used to adjust a mouse between runs is included in the 7 minutes.
● The time taken to travel from the start square to the destination square is called the "run"
time. Travelling from the destination square back to the start square is not considered a
run. The total time taken from the first activation (after calibration is done or calibration
time is over, whichever is less) of the micromouse until the start of each run is also
measured. This is called the "maze" or 'search' time. If the micromouse requires any
manual assistance at any time during the contest, it is considered "touched". Scoring is
based on these three parameters.
● The micromouse may make up to 7 runs.
● The starting procedure of the mouse should be simple and must not offer a choice of
strategies to the handler. For example, a decision to make a fast run to the centre as time
runs out must be made by the micromouse itself. The starting procedure should be
submitted to the judges when the mouse is registered on the day of the contest.
● Do not make any assumptions about the amount of sunlight, incandescent light, or
fluorescent light that may be present in the world configuration.The run timer will start
when the front edge of the mouse crosses the start line and stops when the front edge of
the mouse crosses the finish line. The start line is at the boundary between the starting
unit square and the next unit square. The finish line is at the entrance to the destination
square.
● Every time the mouse leaves the start square, a new run begins. If the mouse has not
entered the destination square, the previous run is aborted. For example, if a mouse
re-enters the start square (before entering the destination square) on a run, that run is
aborted, and a new run will be deemed begun, with a new time that starts when the
starting square is exited.
● The mouse may, after reaching the destination square, continue to navigate the maze, for
as long as their total maze time allows.
● If a mouse continues to navigate the maze after reaching the destination square, the time
taken will not count toward any run. Of course, the 7-minute timer continues to run. When
the mouse next leaves the start square, a new run will start. Thus, for better "Run time", a
mouse may make several runs without being touched by the operator. It should make its
own way back to the beginning to do so.
● The judges reserve the right to ask the operator for an explanation of the Micromouse.
The judges also reserve the right to stop a run, declare disqualification, or give
instructions as appropriate (e.g., if the structure of the maze is jeopardized by continuing
operation of the mouse).
Note: The judges have the discretion to request a micromouse to retire early if by its lack of
progress it has become boring
● A contestant should not feed information on the maze to the micromouse. Therefore,
changing code or downloading programs is NOT allowed once the maze is revealed.
However, contestants are allowed to:
○ Adjust sensors (gain, position etc.)
○ Change speed settings
○ Make repairs
● A contestant should not alter a mouse code in any manner once the final run has started.
The judges shall arbitrate.
● The contestants should be prepared with the algorithms and code listings to convince the
judges that any alteration they do in the total 3 minutes span does not add topological
information about the maze to the mouse.
JUDGING
● Winners will be decided on the basis of shortest official time which is calculated as:
Official Time = Best Run Time + Touch Penalty + Search Penalty
● Search Penalty = 1/30th of the Search Time, in seconds
● Touch Penalty= (N/5)*(Best Run Time) Where N = Number of touches prior to the best
run.
● For example, if a micromouse, after being on the maze for 4 minutes starts a run that
takes 20 seconds to reach the destination after being touched twice ; the run will have an
Official time of 20 + (2/5)*20+ 1/30th of (4 x 60 seconds) = 36 seconds
● If the micromouse does not reach the center of the maze then judges/organisers will
make a qualitative assessment of the micromouse's performance, based on distance
achieved, 'purposefulness' versus random behaviour and quality of control.
SUBMISSION POLICY
While submitting your ROS Application(s) make sure to keep all the ROS Packages that you are
going to use in a folder and name the folder techfest-micromouse.
● If you are using third party ROS packages make sure to include that in your
techfest-micromouse folder.
● A single ROS Launch file called final.launch should be present in pkg_tf_micromouse
which should load all the necessary ROS nodes, RViz and Gazebo Simulation to solve the
Maze present in arena.world which can be found in the pkg_tf_micromouse ROS package.
● You can modify the final.launch present in the pkg_tf_micromouse ROS package as per
your need.
● While evaluating your submission we will build your package(s) and launch your
final.launch file. So, make sure all the necessary nodes are present in your submission and
are launched by the launch file.
● Before you submit make sure to screen-record your run on your system. Upload this video
on YouTube. While uploading it on YouTube make sure to “Unlist” it.
● Include a README.md file in your techfest-micromouse folder. This README file should
have the link to your YouTube video.
● Once your techfest-micromouse folder is ready, zip it and name the zip file as
<your-team-id>-techfest-micromouse-submission.zip and submit it to the email ID
micromouse@techfest.org with the subject Micromouse Challenge: team id ( For example
- Micromouse Challenge: MC1234)
NOTE: Zip the entire Techfest-micromouse folder and not its contents.
TIMELINE
RULES
● Every team has to register online on the official Techfest website for the competition.
● A Team ID will be allocated to the team on registration which shall be used for future
references.
● The code may be checked before the race and will be discarded if an instance of
plagiarism is detected.
● Judges' decisions shall be treated as final and binding on all.
● The organizers reserve the rights to change any or all of the above rules as they deem fit.
● Change in rules, if any will be notified to the registered participants.
CERTIFICATE POLICY
● Certificate of excellence will be awarded to the top 5 teams.
● E-Certificate of participation will be given to all the teams qualified for the finale except the
top 3 teams.
● Disqualified teams will not be considered for any certificates.
The Winners will have to mail the following information (immediately after the announcement of
results) to kunal@techfest.org
SUBJECT
Micromouse Challenge, team id- your position (example: Micromouse Challenge, MC211234 – 1st
position)
BODY OF MAIL
1. Account Holder’s Name
2. Account Number
3. Bank name and Branch name
4. IFSC Code
5. Bank Passbook as proof