go_away

Author Topic: Fire Fighting Robot- Please HELP!!!  (Read 646 times)

0 Members and 1 Guest are viewing this topic.

Offline yasith1Topic starter

  • Beginner
  • *
  • Posts: 1
  • Helpful? 0
Fire Fighting Robot- Please HELP!!!
« on: May 08, 2013, 03:08:26 AM »
Hi all,

I'm designing a fire fighting robot for a project. The robot should find and blow a candle placed in a random place in a maze. I used a wall following algorithm which keeps a constant distance between wall and the robot. The algorithm I used doesn't allow the robot to go to the isolated partitions in the maze(as shown in the picture attached). Please suggest me an appropriate algorithm which enables the robot to go all the partitions in the maze.

regards.

Offline idee17

  • Full Member
  • ***
  • Posts: 71
  • Helpful? 1
Re: Fire Fighting Robot- Please HELP!!!
« Reply #1 on: May 08, 2013, 09:16:32 AM »
Will you post the code that you used, this will make solving your problem a lot easier. Posting robot source code is encouraged.  :)
There are 10 types of people in the world: those who understand binary, and those who don't.

Offline jwatte

  • Supreme Robot
  • *****
  • Posts: 1,343
  • Helpful? 81
Re: Fire Fighting Robot- Please HELP!!!
« Reply #2 on: May 08, 2013, 09:54:59 AM »
You will need three sensors: front, left, and right.
Then, build a representation of where the walls are as you navigate.
Build a map from the data you acquire as you navigate.
Once you have the map, you can identify areas that you haven't yet "seen" and navigate to there using basic graph search theory (breadth-first, A-star, Dijkstra, or whatever.)
In general, this class of algorithm is known as "SLAM" although this special case can be solved more simply than the general case.
I'd use a grid-based map representation with cells being about 1/4 the side length of the robot size. I'd classify a cell as "blocked" or "open," perhaps with a few levels of intermediate passability for uncertainty handling. (Might as well use a byte per cell)
Also, it's important the robot can navigate straight, to avoid skew! IMU sensors, GPS (assuming you are in a place where GPS can get a lock,) and encoders on wheels/motors to drive straight could all be very helpful.
It's unlikely that a microcontroller with limited RAM, like the Atmegas and PICs of the world, would have enough RAM to do a decent job of this; I'd recommend a small SBC like the Raspberry Pi or the BeagleBone/Black. (The RPi is available, well documented, and cheap -- that'd be my first option for this.)


 


Get Your Ad Here

data_list