This is my maze solving robot project which worked out pretty well. I have put up my whole project report that i submitted to my college but i have chucked out the exact code. if i get a good response and demans then i will surely give you all the exact working code of my project.
If you are interested only to learn about the algorithm and not worried about the design pl skip to the section 5 of this text.
1 INTRODUCTION
Atonomous robots have wide reaching applications.From Bomb sniffing to finding humans in wreckage to home automation.Major problems facing designers are power and reliable sensing mechanism and unfamiliar terrain obotic competitions have inspired engineers for many years.Competitions are held all around the world based on
autonomous robots. One of the competions with the richest history is micromouse . The micromouse competitions have existed for almost 30 years in the United States and it has changed little since its inception. The goal of the contest is simple. The robot must navigate from a corner to the center as quickly as possible.The actual final score
of the robot is primarily a function of the total time in the maze and the time of the fastest run.The specificatons for the micromouse event is specified in appendix A.
The Design incorporates various techniques to simplify the approach and make an effecient automated robot.
2 MICROMOUSE DESIGN AND HARDWARE
The Major criteria of micromouse design remained the size of the robot which will allow smooth 90-degree turns and U-turns possible. After detailed analysis regarding the maximum dimensions of the robot the initial dimensions to start with were
finalised as 10cm x 10cm.
The Micromouse hardware required two stages.
1. Choosing the type of motor
2. Building the chasis
The micromouse was made initially with a DC motor,since the strategy revolved around using very accurate sensors which can be easily used to regulate the non-linearity of the DC motor.DC motor has its own advantages of higher torque even at low cost motors.The initial design planned incorporated four 6F22 9v general batteries,which posed considerable weight considerations. This was tackled successfully by the use of a good gear system. The weight of the robot was planned to be lesser than 500gm
which would facilitate free motion of the robot even on rough surfaces.The number of wheels was a major factor of thought,A four wheeled robot would find it difficult to negotiate turns while giving a steady straight motion. the three wheeled robot was on cards that can negotiate turns with ease, Major disadvantage being ,it capable
of maintaing steady straight motion on straight runs. Sensing devices have been traditionally classified as “Over-thewall” or “Under-the-wall” . The original micromice used the red paintted wall top to determine the orientation,like a long wing like
sensor arrays extending over the walls.Recent designs avoid the large moment of inertia due to huge wing arrays of the sensors and have opted for low riding mice that measure the distance from inside the wall.The latter design was markedly superior, and permitted extremely compact designs.Sensor design will be discussed in section 3. In hardware consideration of the design it was decided to use optical sensors rather than the ground-contact(rolling) sensors. The mechanical design ot the micromouse was completed on paper, drawn with relative scale.
3 SENSOR
In order to execute the algoritm accurately and and prevent the robot from crashing into obstacles the robot has to see the environment it is moving in.There are major considerations on the design of the robot since varied approaches can be introduced in the way the robot sees its environment. One elaborate but accurate technique
is to measure the intensity of the optical wave and finding the distances of the robot from the obstacles at short distances. A very simple rather not so accurate technique is the move at accurate distances per move and keep counting the cells and keep the
robot aware of its current location in the maze.Major problem posing this approach was the fact that when a motion is set up after a halt the wheels would slip before they actually start covering their ground,what automotive engineers call “grip-slip” for a typical rubber tyre.The wheels selected for the design were plastic hard wheels
for easier design approach that offrerd more slip over smooth surfaces. It is obvious that we need some amount of wheel slip is necessary to exert the acceleration force.Worse,the actual grip slip is dependent on the surface type and all that is known is that the ground is black in color and it absorbs light.Thus to capitalise all the drawbacks
on the accurate movement of the robot, repeated testing was required to find average yet accurate motion. primarily it was decided to design short range sensors that can
just detect the presence of obstacles and not calculating the distance of the robot from the obstacle.A simple hardware approach essentially required more tedious programming technique. it was a trade off between hardware or software approach. It was decided to
tackle problems on software grounds than hardware.
3.1 Short Range IR Sensor
The short range IR sensors needed to be designed with a dynamic
range of 1-8cm. the Ir sensor designed was having one IR Led and
one Photodiode whose configuration is ass shown in the figure 1.
It can be noted that the angle of acceptance of the photodiode is small
compared to the beam angle of the IR Led.
Since the technique adopted does not involve measuring of the ambient light and measuring the difference, appropriate care has to be taken to prevent ambient light to disterb the ir sensor and inaccurately detect the presence of an obstacle while there was none due to infeference of ambient light , thus the ir sensors were placed far lower in the robot architecture such that the maze walls are solely enough to restrict most
of the extenal light disturbances that possibly can disturb our detecting system.the IR were places low far from the circuit site fixing it to the robot body.
The reqired number of IRs were five. Three sensors to detect the presense of walls on three sides namely front,left and right. and two sensors one on each sides to detect the inclination of side walls to the robot’s line of motion. The inclination sensors were based on the fact that IRs respond only within a particular range of inclination with side walls. in the designed inclination sensor the robot would recept an inclination error signal when
the robot in at an angle less than 72.5 degrees with rhe walls. Thus as
long as the sensors i,e robot was 90-degrees with the side walls there would be no eroor signal. If the robot was to deviate from its path and move at an angle towards the wall the inclination error sensors would be set high which can be detected and processed.
4 HARDWARE PLATFORM
The electronic design centres around a Microchip processor. the
PIC16F877 has 5 ports that make our interface with external hardwares
easier.PIC could be interfaced with external EEPROM memory to facilitate
extensive programming. To keep the hardware small and compact,
the inbuilt EEPROM code memory of 8k was used for programming and
the data memory of 256 bytes were used for runtime memory map storage.
Other data storage requirements are implemented on the 256 byte
RAM.
The processor is the only onboard programmable chip,other peripherals
included a shmitt trigger IC 74HC14N.the voltage levels from the
sensors were a change from 1.45v to 0.25 volts when an obstacle was
detected. The inverting schmitt trigger was interface to bring the detecting
signal to TTL logic.
The motor selection decided the type of motor driving hardware.
4.1 DC MOTOR DESIGN
In this type of design, two individual motors were used to drive the
wheels on either side. Appropriate reduction gears were used to optimise
speed. The motors needed to be driven in both forward and reverse direction
thus requiring circuitry to enable drive on either side with appropriate
control signals.
A normal relay was used to implement this, 2 unipolar 16v
relays were used to select appropriate motors and 2 bipolar 5v relays
were used to determine the direction of the motors.
4.2 STEPPER MOTOR DESIGN
Stepper motors require special driving mechanisms unlike DC motor
that are two terminal driving devices.Our robot was implemented
on a NEMA14 stepper motor and was driven with a serial pulse of 16v
, 500 mA supply. IC ULN2003 was ised as drivers. the microcontroller
port B was assigned for driving the motors and IC ULN2003 was interfaced
with the microcontroller port.
—————————————————————–
THE MAIN FUNDA
5 ALGORITHM
The maze solving algorithm implemented in the robot was self developed with improvements from the basic form of bellman flooding algorithm.The algorithm requires around 256 X 3 bytes of menory. The selected microcontroller for implementation had only 256 kbytes of memory, Thus a major memory crisis was to be tackled on the software basis. A very apt solution was to switch over to PIC 18FXXX series which have higher RAM and ROM memories. After appropriate analysis the problem statement was simplified to three rules which if followed would direct the robots to the centre of
the maze.
5.1 MEMORY MAPPING
The contest area has a matrix of 16 X 16 cells. the whole game area
is mapped into the memory of the robot assigning the values as shown
in the figure
SAMPLE MAZE
MAPPED SYSTEM IN MEMORY
As the cells are mapped with the numbers as sshown in the figure, at each cell the
robot is expected to take three decisions.
1) move to cell which it has gone to least
2)move to the cell that has minimum cell value
3)if possible the robot must try to go straight.
It is evident that these three conditions if followed at each cell position the robot will
reach the centre of the maze designated as ‘’0’
10
the mapping of the cell values in the memory requires huge memory ,
thus an alternative method was adopted to generate the cell values at
runtime.
ALGORITHM TO GENERATE CELL VALUES AT RUNTIME
unsigned short gen(unsigned short row1,unsigned short
col1)
{
if(row1>0x08)
{
nr = row1 – 0x09;
row1 = 0x08 – nr;
}
if(col1>0x08)
{
nc = col1 – 0x09;
col1 = 0x08 – nc;
}
return(0x0f – (col1-0x01) – (row1 – 0x01));
}
Eg, consider the cell location where row = 0x08 , col = 0x08
Evaluating in the formula we get the return value as ‘0’ which is the
cell value.
5.3 NAVIGATION ROUTINE
The robot was designed to move each cell by exact distance and then the
sensor reading is read by the processor. based on the values and applying
the three criteria discissed earlier the robot decides its next action
At every junction if only one side is sensed open then the robot has to
move only into that cell., decision comes into play only when there are two
or three sides that are open to navigate.The robot records each location
value as it proceeds towards the center. To come back to the starting point
it just traces the path back from the memory map.
CORRECTION
Since the robot cannot strickly hold to its straight direction,neither striclt
maintain a 90-degree turn the bot required software correction techniques.
as discussed earlier in the hardware techniques about the correction IR sensor,
the robot required to move in the other direction to the signal until the
signal was off. thus involving a few lines of coding.
5 SIMULATION
Simulation was done using PIC simulator IDE . The siumulator shows the
port pin logics and the EEPROM memory. as the code was run the appropriate
ligics were checked and the memory value was recorded.
6 CONCLUSION
MicroMouse is a prime example of engineering challenge that most theoretically
deviced solving techniques fail. the robot was designed to tackle most
practical probles encountered in real situations.The cross-disciplinary nature of
the project enabled us to learn elemnts of mechanical,control,signal and computer
engineering.
I guess you guys learnt a bit out of it. well this post comes from one of the readers (Mr.Subhobroto Sinha) of this blog who requested to post my projects. i have just copy pasted it from my scrap box. If possible will make individual points clear in future posts .Do comment about what you need to know
Click below for the processor schematic diagram
Hello there,
Many thanks for your rather inciteful post. I’m a university student and am currently building a maze-solving robot that’s slightly different from yours in this project in that motion is controlled by fans (driven by dc motors) and no actual wheels.
I would greatly appreciate more details on the orientation sensors and how exactly you used them to get the robot back into a straight orientation.. also perhaps how you were able to get the robot to move in exact steps in order to keep track of the cells in the maze.
Thanks once again!
I Really Enjoyed Reading Your Blog, I was wondering if you would like to Join My Contest The Keyword for this Contest is “carcasherdotcom seocontest” it’s Real simple to Join. The objective is to get top ranking in Google / MSN / Yahoo for the “keyword”, Each Month The Prize’s are $500 for Google, $200 for Yahoo, and $100 for MSN. Contest Ends December 31, 2007 on that date Grand Prize’s Will be Given to the Top Ranking Sites, and a $12,000 SEO Contract. To Learn More about are Contest read Our Blog http://carcasher-carcasherdotcom-seocontest.blogspot.com/
Thanks The World of SEO.
Hi
I am Arun i am student of computer branch i am intrested to made wll u help me little bit when i get some problem
Hi
the post made an interesting read
but can you give more info on the mechanical design of the bot and how do you make gearboxes?
can u put up the picture of the robot and can you put up a post about mechanical design of a robot in detail sometime coz the electrical design never take much time and it is the mechanical part which usually put newbies like me down thanx
P.S nice blog
Well first “ssalig” the first comment.. well i’l soon write up on those intricate adjustment details.
Secondly to arun well i’l surely help u when ever u get a problem in what ever u are making. but first do let me know what u are making.
then thyagarajan well i have got requests for what you’ve just asked.. i promise to upoad it soon. and about the pics of the robot see the “bot pictures” page to find one of my bot.
over all thanks for all your response.
i hope we do some thing at IIT with your algorythm thanks a lot
Micromouse is a featured contest at IIT bombay’s fest
Tecfest so you can always use the algos u C.
well, can u suggest a algorithm to find the longest path to solve a path…
its quite urgent
thnx
oops.. i thot people stived for the shortest path. still the above post doesn find the shortest or longest.. it just finds a path man. do let me know if u find one!!! 🙂
Dear sir,
I am fourth year student of Kathmandu Engineering College, Nepal. I am doing “Maze Solver Micromouse” as my academic project. I
I have completed mechanical and hardware part of the project but stopped at programming part.
I am trying ‘Flooding Algorithm’ but it is not working as accordingly. I would like to kindlly request you to help me by providing algorithm details and code if possible.
Thank You
Pradhyumna Dahal
Kathmandu Engineering College
Nepal
Hello Pradhyumna,
I am also from nepal and trying to build micromouse, i have the problem in programming part too, i m using sonar sensor and stepper motor with arduino microcontroller, could you help me with my project.
Thank you,
simran
Sure i can help u. i have given the algorithm in the post itself. the three points.
1) move to cell which it has gone to least
2)move to the cell that has minimum cell value
3)if possible the robot must try to go straight.
if u follow at each step u will solve the maze. i wrote this in 600 odd lines of code.
so u should look forward to implement this algorithm that i have explained in the post. incase u find it still difficult do mail me. i’l try to find my old code somewhere and send it to u by mail. mail me at madankumar.t@gmail.com
Dan.
sir,
we are a beginining stage of making a micromouse.
we had completed one phase of programming in c++(one navigation until you reach the destination). but waht confusing me,this .cpp file size is 22kb and on compiling it gives outputof(583kb). i want to know when we convert that code to assembly language to put into use it size will be reduced or not.
because microcontroller we are intersted in using have 64 bytes capacity. whether we are able to use that program in this microcontroller.
reply imeediately…….
can any body explain me the algorithm of maze more clearly or give some details about this.
@varun
.hex file is your output. try programming , you’l know 🙂 i think that should not be a problem and u can program.
@arif
i guess i aske du to mail me man. Thankyou.
Dear sir,
I am a second year student in raghu engineering college,visakhapatnam, andhra pradesh. I am very interested in solving the maze through algorithm and i had compleated. I am trying to solve with “flood-fill algorithm” but i am getting some problems.
I would kindly request to help me by providing details about that.
Thank you sir
Daniel Isaac Ithi
Raghu Engineering College
Visakhapatnam
Andhra Pradesh
Hi,
How to determine whther my bot has crossed a cell?
Sai
@Sairam
Thats like if you use a stepper motor you can be sure of the distance it moves. A normal contest dimension is 16.8cm so just make it move that distance during your trial runs and keep that many pulse counts on your stepper motor.
if in a Dc motor then you have ito incorporate some calibrations to your wheel rotations but that’s difficult.
i am not able to understand in detail bellman algorithm for solving the maze. bellman algorithm says that u start from centre with no 0 and u reach the starting point and u follow the path in reverse order. but how we will implement this.
what is robot does’nt know anything abt the maze. Its a all new maze for robot and he has to find the center and optimize it…
Nice post dude…
But What if robot does’nt know anything abt the maze. Its a all new maze for the robot and he has to find the center and optimize it…
This alog is for unknown maze only.
hey but i don think yr algo updates the flood matrix
shudn u update the matrix each time u see a wall?
Yeh it shud. and it does.
“As the cells are mapped with the numbers as sshown in the figure, at each cell the
robot is expected to take three decisions.
1) move to cell which it has gone to least
2)move to the cell that has minimum cell value
3)if possible the robot must try to go straight.”
Here the first step is essentially what u said it doesn . For the first step to serve its purpose it shud defenitely update a map everytime it comes across a cell.
But yes. i am not using anything ot note down the wall positions at each cell (u don need that)
I read your algo to generate cell value during runtime. I was not getting why u used terms like 0 cross 08, 0 cross 09 and also in the end in return bracket 0 cross 0f. Plz reply soon. Also tell me how to implement.
can u giv some tips on how to construct a micromouse using 8051 micro controller???
@NIKHIL 0 cross 08 is the hex value 0x08
@Faisal if you know avr,PIC , 8051 is similar. Well i guess i’m moving the other way!!. Okie compilers and programmers are available. Do check with your local market. Mail me i’l send you a E-book on that.
i am working on the grid navigator problem of iit kgp tech fest….can u tell me how to keep track of the distance moved by robot.the resources that i get here in nit dgp is limited…suggest me the solution of the problem considering this
If you are using a stepper motor , you will know that by calibrating signals according to the step size of the motor.
sir ,i am a first year ECE student.can u provide me the analysis of the circuit in short.pls reply me.thnk u.
sir ,i am a first year ECE student.can u provide me the analysis of the micmouse circuit in short and give a picture model of bot
.pls reply me.thnk u.
We are trying to write thesis on flood fill algorithm as a part of our project in final year.
I have tried my best to find out the algorithm…but have failed to do so..
from ur post i found that u have already made micromouse and u have algotihm ready wid u..if u can provide us the same that woulld be a great benefit to us to undersatnd the crux of algorithm. We also want to prepare the same in flash for demonstration and so we require proper coding for that
@madan: see the Ir sensor section and the stpper motor section on this site. Search for the words in the search on the site. Integrate both ciruits to make up the micromouse circuit.
@Ajay : Code is the worst type of help i can do to u. As far as the algorithm is concerned i guess its veryu clearly explained here. Now the help that i can offer is.. once you understand the algo from what u perceive, you may mail that to me.I can correct that if you are logically wrong somewhere. Alright is guess
Really its a very nice algorithm..
I really appreciate…
this is the 1st time i am doing this project on micromouse
i needed some algo to do this and this is wht i required
Thanks for ur reply…
I would like to explain the algorithm as understood by me.
I have also visited site http://www.micromouseinfo.com/introduction/algorithm.html
I understood basic thing what the algorithm is trying to do.
I did not get that when the mouse meet its dead end (All three sides enclosed so mouse has to take u turn) how the value of cell changes. You can even look at the site i have given above. See the link above and see if u can explain me how the cell value changes in whole travelled path of the mouse when mouse meet its dead end.
See if u can please provide us algorithm ….it would be helpful to us…
Else even if u can provide us the site or other material which can be helpful to us, please do that.
@Ajay : Well that site is pretty good to understand the “2nd” rule in my page here. The one thing that it doesn’t show is the way to help us use the “1st” rule. As you move from cell to cell,In your memory keep counting thenumber and save it refering to the cell.
NOTE: I’m Refering to that example itself.
See the following
Cell value : Save in memory:
4—————1
3—————2
2—————3
3—————4
4—————5
3—————6
2—————7
This way as you move each cell. This will by applying “1st rule” prevent you from cells that you have already visited and should have reached dead ends possibly.
i guess i’m clear.
Hi,
In which software floodfill algorithm is easily created?
ICC Avr or Bascom Avr??
Which one is easy to use??
writing your own code is the easiest 🙂
hello sir…
i had executed the code that u have given in this article for generating cell values at run time…but for some values of rows and columns the value differs…can u give some idea for generating maze values at run time for 5X5 mazes
???
HI Madhan ,
well the generation can be at your wish. not essentially 16 to 0 or 4 to 0 . it can be even 100 to 96 at the center. The mosr important point is that the destination cell must have4 the least value compared to all other cells.
hai madan, I’m trying to make a code for the maze using flood fill algorithm..But I confuse on how to start them.. can you give me your example code so I could see more clearly on how to make the code
Start of your code yourself. i’m just givin you the flow now
function right
function left
function straight
main
{
read sensors
chk conditions
{
right/left/straight
}
}
Hi
I am a student in high school and we have to design and build a maze bot. I have ideas and was wondering if I may see ur designs and code as a reference. I want to learn more about this algorithm and how one would code it and in addition any sensor placements or bot shapes, etc.
Thanks so much for any help
you can email me at martial_artist_3@msn.com
@Andrew
1) move to cell which it has gone to least
2)move to the cell that has minimum cell value
3)if possible the robot must try to go straight.
convert this to codes.
i just wanna ask progaming shld be done in assembley language or software
software . NO ASSEMBLY
hiiiiiiii…im neil…
the algo u have given its too easy, we applies it but still we have some problems…so can u plzzz do us favour by sending the algo…if u can ok plzzzz
hi ..this is rohan
m a postgraduate student………m planning to do this………i have already started but i have some problems so can u pls help me with the algo….thanks
in the above mapped fig.
suppose i just crossed cell no. 5 and moved to cell no.4 the next cell no also has no.4 what happens then will it move ahead…..
i enjoid reading ur blog… good one
thanx you for any help…
@panu
well if that is the only cell path available it will move straight.
@Neil
Algo was easy!!! still u wanted a algo. Well there cant be any prolems with it. if any pls discuss it here or mail me.
@Roshan
Too wide a help requested 🙂
HI. i am in a starting phase of building my micromouse.I have a problem with getting the shortest path. i have completed my h/w part.plz do help..
Hi karan,
just mail me your H/W part. based on that i’l tell u the shortest path.
hey madan.
i have tried to implement your algos.
but could not finish it.
can u please send me the code so that i can fill in the missing spaces….
my mail id is keyur_shah3@yahoo.com
thanks..
thanks for ur reply Madan..
give me the email id so that i could contact u..and if possible ur cell no..
@Karan
mail me at madankumar.t@gmail.com
hi!
i have taken up micromouse as my final year project. but iam having difficulties starting with the algorithm, especially the data types . so can you please suggest us something regarding the code. also can you tell me the type of microcontroller to be used.
thanking you.
how to make mouse walk straight?
i got problem in that
by using DC motor with encoder
always left faster then right
@dexders
Well normal technique to do that is keep an array of sensors extending over the top of the wall so that the bot is kept pareallel to the wall always.
Hi sir,
do u mind sending me the codes for reference? What if we need to solve spiral shaped maze ?
@Maurice ,
Even for a spiral maze , you should imaginarily split the maze into section and number it such that your destination gets the minimum cell value.
hi madan,
Is the IR Sensors mention in the other post same as the IR sensors mentioned in the maze solving robot ?
@ Maurice
yeah. it’s the same.
hi
i appreciate ur work here helping ppl on their difficulties
hi
can u suggest me the micro controller for micromouse project( cost and performance wise)
actually we were thinking of using the ATMEGA 16 for the project.we are quite confused about what to do.
sir if have details and ckt of running micromouse using atmega chip pls send me to chethancit@gmail.com
Sir,
We are designing and building a maze robot with almost the similar specification mentioned above. I would appreciate if I could use your design and code as a reference. Please email me at gankala8@yahoo.com
Thanks
hello,
i am begineer and making mine micromouse, but the mechanical part i am not getting , can u pls help. pls send this to mine id, surbhi.pundir@gmail.com
hai Madan,I’m currently taking final year project and doing micromouse. i had finished the code for maze follower but which means I check the sensor and if not detect wall at left turn left but how did you make the robot know the position and the weight of the maze..
1)The column and row of the maze (If we are using C++ we can use struct and array)
2)how to set the weigt so that the robot know the value of the cell.
I’m using DC motor, 20Mhz crystal clock, IR sensor(IS-471F). Microcontroller P16FF877A and using languge MikroC
Thank you
hi
myself bhaskar,i am a beginner and i want to make a micro mouse as my project in final year.please help me how to start.my mail id is bhaskarv87@yahoo.co.in
@Bhaskar,
If you read the article you have already started. Also u can ask the problem you are in and not how to do the project..
Good luck
hi madan
thanks a lot for this site…
well i went thru ur blog, very informative….
well i have a few doubts… can u help with the methode to update the map???… that is.. if two possible paths are there how will it know which apth is the shortesst…..
hello sir.i m making this as my final year project.so please give me complete description about its cost and algorithm required.at my mail -vikas_salmon@yahoo.com.for this i will be oblize to u.
sir,
i am a 3 semester student from NIT raipur (elec & comm) i am a beginner in µC and µmouse ……… so please help me with algorithm and sensors …….. plz
im 3rd sem student..im a beginner..i dont know anything about this..plz help me understand alogorithms..sensors..pic’s
plz..plz..thank you.
hi madan,
Thank you for giving such great help, i have completed my algorithm, but there is a problem:
– when i give sensor input to my algorithm it takes 500ms of processing time and after it gives the direction to move, and during this 500ms of time micromouse cant do anything because it doesnt know where to move.
Is this limitation of this floodfill algorithm or I am wrong with any of my logic, parallel processing is not possible in this case?
hi Nirav! Can I know, did you already completed the micromouse?
u can reduce the dealy and run without a delay. Its just about how much time you need to halt so that your sensors reading are acurate.
where can i get the codes example of this algo?
‘Rina’
i need ur help..as u hav done micro mouse
plz try to make contact..
rhyme2mickey@yahoo.co.in
hi
your blog has some valuable information for beginners n i really enjoyed going through it.
am a university student and am working on a micromouse whose design is similar to urs.
its having 3 ir proximity sensors :one in the front and on the other 2 sides.
am using dc motors and i seek some advice whether to use dc motor or stepper motor.
can you please give me the exact working code of your project.
i will be obliged to u.
plz mail me at:
avin_coolhunk@yahoo.com
thanx a lot…. very god info…
cud you please provide me with ur code…. so i cud learn further…please…thanx
please email ur code at mech.spce@gmail.com
hey thnx a lot… dis report of urs has really helped me a lot… cud u plz mail me da code u used… i mean da xact 1…
need components in Indian Rs visit http://www.onlinetps.com
you want pole sequence?
hi!! want ur favour plzzz
i have wriiten code for mouse upto much extent…
but it simply work on sensing the walls..i’m not understanding the subroutine u h’v
given for cell value genration n linkining it with rest of program..
how to define col1, row1 ..in prog…
plz if u could help me in understanding this part…
urgent reply…if u could mail me its detailed description…
sorry it was discontinued by two tabs.
k back to piont.
what to do if bot reaches already traversed point or a dead end?
– you can move bot to last left path.(for this u have to store leaving paths in a stack)
– or to nearest untraced point.
basically i took an array of size 256. stored 3 wall detecting sensors signol(as it is obvious bot back is always open)
always remember direction of maize and bot is universal. update accordingly and store signol accordinly.
you have to search for shortest path in 3 cases.
– when u reach to traversed pt or dead end(shortest path to nearest untraced or last left path)
– when u reach center(to start point)
how?
it ll search sortest of all known paths.
for searching u need 2 arrays a[n][2], b[n](a-for searching, b-for storing shortest result of search)
search starts at current nod of bot. so a[1][1] = nod, a[1][2] = signol at nod.
in signol u konw current pt contains how many ways. let say it has north&south(give search preferrence as for ur convenience) is u serch in north first, get the north side nod and signol sotr in a[2][1]&a[2][2] and check weather it is destiny(store a[][1] to b[] next when u store check for length and if it is short then only replace) if not continue search
stop searching only when all known possibilities are searched.
ok buddy i wish all the best try and try but never loose hope this should be the spirit of coding voyager good luck. (i am poor at english (as i am telugu medium student) try to undestand) byeeee…….
Hi Surya. I was so late, I’m sure everyone has moved on from this. If you have time, can you let me know what must I do to make sure the robot is always in the center after it makes a turn. Help me, a final year student.
my first mess was missed k i ll try later
@ Surya ,
Its so nice of you to have responded in such detail. Its getting hard for me to get time.. Thanks
hi sir ,this is nipun from nit hamirpur,,could u tell me how to enhance the speed of the toy car u provided in the workshop,,,i am trying to make a rc car using it,but the speed is damn slow to compete in any competition……..
Hardware Section http://www.onlinetps.com/ShowCategory.php?CategoryID=19
Flexible Nylon Thread Flexible Nylon Thread
Category: Hardware
Price: Rs.42.00
Motor Fittings Motor Fittings
Category: Hardware
Price: Rs.15.00
Castor wheel – Big Castor wheel – Big
Category: Hardware
Price: Rs.35.00
Castor wheel – Small Castor wheel – Small
Category: Hardware
Price: Rs.27.00
Gear Set Gear Set
Category: Hardware
Price: Rs.320.00
Sir,
I am a second year student in Jaypee Institute Of Information Technology,Noida.
I am doing a project on micromouse and i have done some projects in robotics before. I would be highly obliged if u send me the formal algorithm and details of your project please.
would be waiting for your reply
Thank you
When you need to control a DC motor clockwise or anticlockwise (such as a DC linear actuator) you usually need to be able to swap the polarity on the wires going to the motor. A double pole, double throw switch is used for this purpose but you have to wire it up correctly to reverse the polarity going to the Motor
http://www.onlinetps.com/ViewItem.php?ItemID=261
Hi,
I am a newbee to maze algorithms. I know this algorithm is for known maze only but what strategy would you suggest for an unknown maze. Do you have a sample code that I might be able to have a look at.
Regards,
Kushal Jain
hey man,
lovely post. Really enjoyed reading it.
Am stuck on another problem statement not related to this. But thought you might be able to help.
Well i need to know how to recognise my own players in a robo soccer match if i have a overhead camera, as they will all be same coloured. Thought you might be able to provide a solution.
Regards
Rupak
Hi i have started experimenting micromouse in 2005 when i m preparing it for iittech fest mumbai, from that time i learn various expects of developing that.I have guided several batches including three which qualified this year in this event. It generally be done only by dividing the responsibilities one by one. A lot of people in this site are needed clarification about algorithm generally micromouse wall follower aproach is the first basic approach to start with. Sensor and EYEs used for detection is also one of the major KEY here.But i really apprecitiate AJAY for providing as much as he can.
See my videos in http://www.aimssys.com
hi,
i am a university student, am just working on my project and i will need ur assistance, is there any chance i could see ur code and develop on that to suit what i wanted. Hoping to hear from u soon. Thanks
Pls do reply to bamis4u@yahoo.com
Thanks
hellos
o a, working on the software of the micromouse searching algorithm
but kinda stuck
as i duno when and how to start
do you have some sample codings i could refer to start out my project?
soo sorry i am only given 3 weeks to complete one and i am super new to it
help appreciated
i designing and building a maze robot with almost the similar specification mentioned above. I would appreciate if I could use your design and code as a reference. Please email me at mfaris1987@gmail.com
hi can u tell me something more about the algo
of the maze solver
we r working on the leco kt
hello!!!
i m wrking on micromouse .. cn u plzz tell me smthing abt algo n hardware part….
hi Buddy,
Firsly i thank u for the wonderful work that u r doing.I am planning to make a micromouse for the upcoming iit techfest.Right now i a am just collecting info regarding the same. i am a little confused about the maze block numbering thing. What kind of details do the participants have before the competition. On what basis is the numbering done? I wud appreciate it if u cud elaboratwe on the same.
hey itz realy helping bro..
i can u giv me da exct code so dat i can compare it wid mine n corrct it!!
MADAN SAYS:-
“move to cell which it has gone to least”
hi Madan will u plz do make more clear this statement to me??
i can’t understand this…
oh wow I am seeing my site after a long time now!! well I plan to renew the blog and start over all these things again..
@Nikhil
if the bot has 3 sides to pick and it has already gone through two of those cells before then clearly I must take the one that I have never visited before. That is the prority that it must follow.
hi there.
i m a newbie to this.
can u just give mw some idea about the programming in c..
it will be very helpful if u specify some sample codes for the micromouse
thanks in advance
hi this is mahesh
im
hi m be 3rd yr std dont hav that much knowlege abt alp or embeded c just learning i m doing micromouse progect my hard ware is complet,but im finding it difficult to construct algo n programing in assembly language plz help me i specially joind the assembly programing classes in puna 4 this project only but m afraid of getting failed in this project plz help me my id is rhythmdevine88@gmail.com plz
hi madan…i want to build a micromouse as my college project…can u tell me how much time on an average does it take to build one…and can u send me the code so that i can use it as refrence….my mail id is priyamvada.1987@gmail.com
hi…madan i doing my mini-project as micromouse. i am pretty confident in hardware section…but have less experience with algorithms and programming. i need ur assistance in coding. so can send me your code as reference..
Hi,
Can u tell me how to do this maze solving robot using AVR microcontroller. Moreover i need a complete source code for it.
For more discussion and doubts you can see this link
http://robocrazy.org/forum/index.php?board=11.0
MICROMOUSE (pdf)
Floodfill Algorithm
http://www.onlinetps.com/raghu/
http://robocrazy.org/forum/index.php?topic=97.0
HELLO MADAN,
i have done coding for object sensing robot for pic 16f877a , can u help me for doing coding for micromouse for same microcontroller or should i use the other microcontroller.
please do email me , it will b highly appreciable.
rgards,
MUDIT
Hi Madan,
Seems like u’ve half of “India’s engineering students fraternity” asking for help… Way to go dude.
I jst scribbled this one to appreciate the amount of effort and time that u have out into this post making it so very concise yet thought provoking and clear.
Thank you,
Regards,
Pratik Saptarshi.
dear madan..
im a final year ECE student..n this is my project,jst dat the mouse should solve the maze..not neccessarily usin the shortest path..cud u giv the exact code for the algorithm??
thanx a lot!
hi madan,
am a final year student…& am doing a project on “maze solving mouse”,am implementin using 8051 micro controller & ve done with mechanical part of it…..but havin lots of problem with the coding,…so can u help me by providing the code??
thanx a lot!
Respected Sir,
I have completed m hardware part of micro mouse,bt getting problem while doing the program.
which language should be used to construct the program?
Is C language preferable or shall i try some other.
Please guide m sir for constructing the program.
Website restored http://www.onlinetps.com buy online components for maze solving robots pay in INR
I didnt understand how u got the cell value 0 for col=0x08 and row=0x08.When col=0x08,col1-0x01 wil give the value 0x07,so is the case with row1-0x01,hence the return value will turn out to be 1 na????
din get da diff btw ur algo’s 1st line and da 2nd line.. 🙂
wat does *gone to least* signify??
hi madan……….can u plzzzzzzzzzzzz send me the code of micromouse in c……….i m making a project for my final year…so plzzzzzzz help me for the same………………
I am an engineering student .We are in the process of making a micro mouse as our project
I will be much obliged if u can tell me where i can get some help on the sample codes or if u can please provide us with the same.Please do replyyyyy……….
hi,
I have just started my research on micromouse,could any one suggest where to test the codes,probably which simulator to use and links to download the simulator
thanks
hey,
amazin post. was very informative. i was trying to build a line follower/maze solver and the post was really helpful.. i had just one other doubt. if you are usin a differntial drive system… can u use 4 wheels?? if so… can we implement the frint 2/ back 2 wheels as dummy wheels? or should we power all 4 wheels?
thanks again for the post… amazin how this thread as been rnnin for more than 3 years
josf
Hello Sir,
My name is Vidya Sagar.
Right now i am programming a Micromouse using modified flood fill algorithm. I see that u are a very helpful and friendly.
Please help me when i get some problems in the execution of my project.
Thanks a lot !
s4sagar.wordpress.com
sir,
just want to know why u chose to use the bellman flooding algorithm?
I need facts about the algorithm..
hard to find…need the information for our thesis..
thanks sir…
hello sir,
my name is anand gupta.
i am an engg. student i want to make the micro mouse in my minor project so i just want know about the cost of micro mouse and if u tell some more information about micro mouse and its application
hii frnds..i m making this robot.but i want to know the applications of this robot..i mean where this robot can be use in the future? plz reply fast…
sir pls tell me everything abt this project so that i could make this in my final year project
Dear madam,
I m finalo year engineering student of E&TC. This is my project. Can u tell if we can build d same project using 8051 based microcontroller…Plz send me the code & other material which will be helpful to me in doing this project….
Thank u…
dear sir,
we want to make micro mouse how should we start. can u please send us the detailed digram of it.
well, can u tell the logic for neglecting the closed loops in the maze. Actually I need the organized way of programing.
In which program should I write my code? I have bascom AVR but am not comfortable with it, becasue almost never used it. I know C++ very well, and can easily write my code there. But how to convert this code I make into something I can use in my AVR microcontroller? I mean, the files that are generated are .exe and .cpp . Now what shall I do to proceed?
I read that u can program AVR using C. Do you know how to go about that?
ya sure u can program using C. use WinAVR then compile it. u’ll get the .hex file which you can put in your uC.
ohk thanks….what is avr studio for then?
And how to exactly start with programming in WinAVR? I installed it, opened programmer’s notepad, and opened a new C/C++ file. Now what? Suppose it’s a basic program to display “hello world” on the LCD screen. How to do it?
Can u give the code or a link where I can find such codes?
AVRStudio for programming in assembly. and for your second post—-after u have written a program there, u have to put it in a directory where you have your “Makefile” file, give the name of the program and the AVR uC you are using there, and then goto programmers notepad>>tools and click make all.
P.S. for any other info or if you need the “Makefile” file etc.. mail me at reepjyoti@gmail.com rather than posting in this long dead forum. (no offense)
hiee
i am a 3rd year student of engineering.i want some perfect informations for making a micromouse.i had googled it but cant find a perfect data.so please help me…
Hi,
I and my frens are doing the micromouse project, but we are stuck in programming, we are planning to do programming using C, but we are not programmers, could you help me with the codes, in google we only find algorithms, but how to code we do not have idea. please help me.
I will really appreciate your help.
hello…can you also give some tips so as to how to deal with mazes with closed loops???please mail it to joe26219@yahoo.com …it would be great help as im working for a techfest on this problem…
Hi, i am a 3rd year ECE student.i want exact informations for making a micromouse.i had googled it but cant find a perfect data.so please help me…
Plz help me soon as we have micromouse event after 20 days…
Thanks for sharing! I would love to have a go at this!
hiii madan..raj here..i am making a micromouse robot by using ATMEGA16 for solving the wall..can u plzz give me the coding for it in c language?? i want it for my project.and i have too short time..so plz give me the code for it as fast as u can..thnx in advance..
hello Sir, my name is Gulshan..i am making a micromouse using ATMEGA16. Kindly give me the coding for it.
sir,
i am getting problems how stepper motors will get to know that is is in second box in micromouse…….plz…give me suggestions
Dear Sir,
Thank for your professional suggestion. I just want to enquiry any maze specific requirements. If I want to apply for the m-line algorithm or Flood Fill Algorithm to complete, would you mind to support the Java language to me?
Alex Fung
01-06-10
hi sir
myself Levin, very good info…
i would like to make a micromouse robot by using ATMEGA16. Kindly give me the coding for it. my email id is levinsjcharles42@gmail.com.
Hi Madan,
i’m Austin doing a 3rd year project, i have a Formula Flowcode micromouse(PIC18F4455) with me. I was wondering if it could solve the maze with algorithm. If it could solve with algorithm could you please send me a sample of the codes to my hotmail.kokseng__237@hotmail.com(2 underscore). Thank you very much.
Hi Madan,
i’m Austin doing a 3rd year project, i have a Formula Flowcode micromouse(PIC18F4455) with me. I was wondering if it could solve the maze with algorithm. If it could solve with algorithm could you please send me a sample of the codes to my email.kokseng__237@hotmail.com(2 underscore). Thank you very much.
hello sir,
i am making a micromouse for the 1st time and have made the chassis. i have also understood the algorithm. however i am facing great difficulty in converting the algo into the codes… i am just not getting that how does the mouse number the cell as the farthest or the nearest during its 1st run.
it would be immensely helpful if you can just send me a code as an example to show how this works. my id is arindambakshi@ymail.com
thanx
really nice this, thanks…
sir, pleas explain about the algorithm used for micro mouse
[url=http://www.nant.kabinburi.ac.th/moodle/z/16e78-colonic-hydrotherapy.php]ulcerative colitis[/url] body detox = [url=http://www.sib-bangkok.org/moodle/z/d2d0-body-cleansing.php]liquid supplement[/url] natural internal cleansing = [url=http://www.tulinarslan.com/moodle/z/f553e-colon-cleaners.php]colon parasite cleanse[/url] colon cleanse tv = [url=http://moodle.educan.com.au/z/aa46-clean-colon-naturally.php]internal cleansing program[/url] acne supplement = [url=http://www.cs.is.saga-u.ac.jp/lecture/moodle/z/1f03-clean-your-colon.php]detoxification diet[/url] colon detoxification
hello…….wanna ask ,is dat possible to make a micromouse with the help of microcontroller 8051
I am doing M.Tech in Information Technology from south university and am doing a project on ” Application of Decision making algorithm for maze solving by mcromouse” and i have done all implementation using 8051 micro controller with mechanical part of it, but have lots of problem with the algorithm & coding,…so may u help me by providing the “C” code & algorithm of flood fill??
Thanks a lot!
Shital MIttal
Mob-09314995908 / 08104810995
sir,i ned 2 know about the logic used in coding ..u can send me the code tooo…
thnk u
sir,
it is really very good.But if u can give us a idea of algorithm of a maze follower if there is not wall means it is a 2-D problem without using image processing.
good job…thnks for share
hi,
i did some part but stuck in the half way of doin.expecially the calculation of every cells after wall detection..mind send ur code?
thx
Good morning sir,
I am doing micromouse as my project using atmega32.I completed the hardware part.But now i have no idea about the software programming.Can you please help me with the modified floodfill code using C language and also with the details of how to dump it.Its really urgent.Thanking you in advance.Please mail me to tvssamhitha@gmail.com
which microcontroller suits for micromouse………
pic or atmega
cant we use 8051…..
plz explain the difeerences…….
hi madan……….can u plzzzzzzzzzzzz send me the code of micromouse in c……….i m making a project for my final year…so plzzzzzzz help me for the same………………
i use atmega 16 microcontroler.
hey i am faculty and i am helping my students in making projects. i checked your uploaded project, its pretty good. as you told that you can give exact code so i need code for reference.
Hi,
I am currently trying to build a Micromouse for my academic project. Really your blog help me a lot.. thanks man 🙂
plz send me the algo so i can omprove or edit according to my requirement
plz send me algorithm………..
Hi,
I am really impressed flow and the content of your micromouse article. I followed similar instructions regarding the hardware implementation except the controller.
I am using an arduino uno and pololu dc motor controller along with encoder feedback.
Even though the hardware is perfectly up and running, my software is not well designed. Since I am new to programming, takes a while to be familiar with floodfill algorithem and array manipulations.
If I can have your code, for the educational purposes, that would be greatly appreciated.
Can you plz send me the code at
cybermaitreya@gmail.com
thanks in advance.
I also need code for making micromouse. it wil be highly helpful of you to help a budding enginner to make his first ever project.
Thnaks.
my mail id: chahit93@gmail.com
hi dude ……………………ur project was awesome ……………….i too try a similar project like urs .pls send me full code ……………………..with design
hi madan.
really ur project is very interesting, even i also want to do the same project.
in order to complete my project i want some help frm u. if u hav any ebooks,materials regarding this,i kindly requesting u to plz send those materials n ebooks to my mail.
thanks in advance.
my mail id: srinivasmogallapu@gmail.com
Hi sir,
Ur work was excellent …can u plzzzzzz send me the code of micromouse in c for PIC18f452……….i m making a project for my final year…hope u send me as soon…..
Thanks in advance….mail to…………pt.tinson@gmail.com
my mail id: pt.tinson@gmail.com
umehwfjzjsef
I enjoy what you guys are usually up too.
This kind of clever work and exposure! Keep up the terrific works guys I’ve incorporated you guys to our blogroll.
sir, i want to use this algorithm for maze solving line follower robot…. i am having arduino uno and atmega 16 or 8 ,,plz send me the c language code for tackling issues regarding with autonomous line follower…thanks for ur concern
Greetings, I am interested in trying out your code for my maze solving micromouse. The information on your website has been very helpful in my reasearch for trying to create flood fill code. I am also using NEMA14 stepper motors with an arduino, though my maze is on a bit smaller scale. But if you would be willing to share that, I would greatly appreciate it.
Best!
Hi Sir,Im an Electronic engineering student,read your blog,very useful.You have mapped the maze for known source and destination,how it can be modified if only source is known.ie,explore all possible cells and find shortest pth to destination.I’m stucked in mapping cells dynamically.Thanks in advance.
http://www.rally-cars.com.pl/pradnica-i-pasek-klinowy
Purchasing a new or used auto might be a difficult procedure if you do not know what you are carrying out. By educating yourself about automobile buying before you go to the dealer, you possibly can make points much easier for your self. The following advice might help your next shopping getaway become more enjoyable.
Always bring a auto technician along when buying a fresh automobile. Vehicle sellers are popular for promoting lemons and you may not desire to be their up coming victim. When you can not have a mechanic to think about cars along with you, at least be sure that you have him evaluate your closing choice prior to buying it.
Know your restrictions. Before you start purchasing for your auto or vehicle, make a decision how much you can afford to pay out, and stick to it. Don’t forget to include interest in your calculations. You can expect to spend around 20 percent as a down payment at the same time, so prepare yourself.
Just before seeing a dealer, know what kind of motor vehicle you would like. Analysis all you options before store shopping so you can determine what works the best for your financial allowance and household demands. Do your homework to find out simply how much you ought to pay for a probable vehicle.
Before signing any contract make time to read through every collection, for example the fine print. When there is anything detailed that you simply do not understand, usually do not indication till you have an solution that you just comprehend. Unsavory salesmen can use a binding agreement to place numerous service fees that were not reviewed.
In the event you retain the preceding advice in your mind when that you just go purchasing a auto, you will certainly be more likely to get a better offer. Getting a automobile lacks to be a head ache. Simply use the tips using this article and you may have the car you want in a excellent value.
hi all
i’m Mongolian student
we first making this micromouse
but we have some problem
we cant understand how work ir sensor
pls help i need sensor beginner instructions, circult
thank you…
hi Madan, I’m here on 2017. I already have a good hardware and programming part but I have a problem with making a straight movement after the robot take a turn. Can you please help me?
GH TRADE CS GO DOTA 2
https://vk.com/business_dealer
Обмен скинов, Обзор сервиса, Продажа скинов без обмана, Trade Network, Сервис по обмену, Traders Community, Обмен скинов Дмитрий