Author Topic: New project!  (Read 1457 times)

0 Members and 1 Guest are viewing this topic.

Offline nahuaTopic starter

  • Beginner
  • *
  • Posts: 6
  • Helpful? 0
New project!
« on: June 14, 2009, 04:49:12 AM »
Hello,

I'm a first year student of robotics and now with the exams finished I wanted to start my own new project which I am sure I will need your help for. I have been reading this forum and every tutorial since I joined a couple of months ago and it really helped me for some projects for uni so I thank everybody for making a good forum and webpage just like this one. I first hope this is the right part of the forum where to put it as I mainly need help with the software.

What I'm planning to do is to make my lawn mower at home "autonomous" so I don't have to do it when I go back :P. I know, it might be a big thing and thats why I will be starting from a small prototype and if it work I will then make a 1:1 scale of the lawn mower prototype and if it then work I will move to modify my lawn mower.

what I'm planning to do is to make the robot move through a map (the garden) but in a special sequence. So I would like it to go forward, parallel to the wall, when it finds the end of the garden, move 90 degrees go forward parallel to the wall until the garden ends then move 180 degrees and go back and more or less like that.

Now knowing the basis of how it should work Ill give a more detailed description: I will use a frontal sonar to detect when it is at "x" cm of the wall and to find obstacles. it will also have 2 encoders which I was planning to use the disc method with photoresistors for the first prototypes to measure the distance and then go through the map. Then, 2 IR sharp sensor on each side for obstacle avoidance and to measure the distance between the walls. For all that I might use the arduino duemilanove as its quite simple to use and i have been using it for the last weeks.

I will explain now the first prototype and as soon as it work I will move to the next step, as I learned in robotics, the best way to make something work is to start from the most simple thing. Thats why, I bought a cheap 20cm RC car and used the structure of it, the wheels and the battery. Then, I put 2 servo motors on the back wheels. For now, I put an IR sharp as the front sensor. The next step is to put the encoders for which I will print a disc with black and white stripes and then buy 2 photosensors: http://www.active-robots.com/products/sensors/sensors-fairchild.shtml. With that I should be able to move a certain distance, see objects and move through a simple programmed map.

The first objective of this first prototype is to be able to move through the path I want it to move with the most accuracy possible. I will just make it run in my room with the same pattern as the lawn mower it should move (go forwards until reached to the last slot of the map, detect distance and move 180 degrees). If it works, later I might use a compass to make that turn as it should be more accurate than the encoders when turning.

As I will progress in this project I will start putting some picks and sketches which I have, but all in paper :P. What I would need now while I finish constructing the  modified car is you to recommend me a program for this type of mapping (A*? wavefront?) and if the sensor and disk for the encoders would be good enough for this task.

any help or comment would really be appreciated! I'm looking forward for your  comments as I have been thinking on this project for a while! and I didn't want to put much on it, even though I couldn't! until I finished the exams. I have quite more to detail about this but I don't want to make a massive post that nobody would be interested in reading so Little by little I will be making some more detailed comments.

thanks a lot! and please comment!

Offline Webbot

  • Expert Roboticist
  • Supreme Robot
  • *****
  • Posts: 2,154
  • Helpful? 110
Re: New project!
« Reply #1 on: June 18, 2009, 01:05:35 PM »
If its a lawn mower then A* and wavefront may be inappropriate. They are 'goal seeking' whereas a lawn mower just needs to traverse the map. Do you want your mower to cut the grass in stripes (unlikely as it probably has no roller to flatten the grass into visual stripes) or just to make sure that the whole lawn is covered?

Could use a perimeter wire to make sure it stays on the lawn.

Webbot Home: http://webbot.org.uk/
WebbotLib online docs: http://webbot.org.uk/WebbotLibDocs
If your in the neighbourhood: http://www.hovinghamspa.co.uk

Offline nahuaTopic starter

  • Beginner
  • *
  • Posts: 6
  • Helpful? 0
Re: New project!
« Reply #2 on: June 23, 2009, 05:49:52 AM »
thanks for the reply :)and sorry for been that late!

I thought about the wire, but is quite a big garden, its a possibility of course. You wouldnt use encoders + compass? any other great ideas?

and you are right about those algorithms, my idea is to make it that way so it covers all the garden just as the same way as I always did. In which way I could do this instead? The reason why I was thinking to use goal seeker algorithms is because, as it is quite a complex garden, I thought in dividing it  in sectors, and the robot, when it reaches a certain point where it will recalibrate with something (maybe the wire) and know that that sector is over and starts again with the new sector without much error.

thanks.
« Last Edit: June 23, 2009, 06:05:08 AM by nahua »

Offline Trigger_Happy

  • Beginner
  • *
  • Posts: 5
  • Helpful? 0
Re: New project!
« Reply #3 on: June 23, 2009, 11:36:30 PM »
Think of your garden as a giant irregular closed shape that your robot is integrating (mowing in this case), so you can break your garden into thin rectangular segments (ie. width of your mower and the length of the given segment).

My question is this : "Do you have to follow a spiral path to mow your garden?" if the answer is no, then all you need to do is to make your mower go forward and when it reaches an obstacle, turn left or right (depends on where you start) by 90 degrees, move forward by the width of your mower turn again in the same direction as before and go straight (These are values you can fix yourself as you know the speed of your motor and you have an internal clock, this saves time and money cause you don't need expensive sensors to judge the distance you've traveled or your current angle). Now the next time you reach an obstacle your bot turns in the other direction etc etc. This method assumes that your garden is one giant unit which is not broken up by small paths into different sectors otherwise you'll have to use another method apart from obstacle avoidance to fix the periphery of your garden.

to illustrate my point:
http://pathfinder.scar.utoronto.ca/~dyer/csca57/book_P/img185.jpg

But, please note this will give you a VERY STUPID bot which can easily get misguided if it goes over a patch of dense weeds and gets dislodged from it's original course.

I hope this helps.

Offline nahuaTopic starter

  • Beginner
  • *
  • Posts: 6
  • Helpful? 0
Re: New project!
« Reply #4 on: June 26, 2009, 10:53:11 AM »
thanks for the reply. Really, what you say is part of what I was planning to do, starting with a simple thing like that going forwards, if it finds and obstacle, try to avoid it, keep on running straight until it gets to the end of the garden, turn 90 go forwards and so on. You mentioned velocity and clock, and I mentioned using encoders, which would be a bit more difficult but, a bit less stupid isnt it?

thanks. Any more ideas?

 


Get Your Ad Here