Any ideas for a homemade outdoor Local Positioning System

Hello all. 

I've been thinking about designing an autonomous lawnmower for a while now. I've pretty much got it all figured out in my head except for how to maintain accurate positioning. I'm figuring I need to have somewhere around 1ft (.3m) error in accuracy. I know how to do kalman filters using odometry, IMU, LIDAR scan matching, etc, but I need something to correct for drift and GPS won't give me accurate enough data, (plus my yard has massive trees covering it). I've started reading about Local Positioning Systems and was wondering if anyone here has any experience with them? 

There seems to be a bunch of different ways of doing it, but the way I think sounds the best is using RF transmit/receivers as beacons, and have a transmitter/receiver on my robot as well, pretty much setting up a miniature GPS network in my back yard. One difference between this and GPS would be that I would measure the round-trip time from robot to beacon, instead of the one-way flight time that GPS does, this way I wouldn't have to worry about time synchronization. 

It would work like this:

-robot sends out a signal and starts a clock

-beacon sees this signal and sends back its unique ID code back

-robot sees this ID code, and then stops the clock. I can calculate distance based on the time it took, and with three or more beacons in range of the robot I can do trilateration to get a pretty good estimate of where I am. 

I haven't figured out if the robot should send one signal for all beacons to respond to, or do them one at a time, that will depend on the speed of my logic device I guess. I'm still in the early stages. 

Anyone have any thoughts...specifically, does this sound feasible? Got any links to related projects? Specifically, I'm only interested in methods that can be used outdoors in noisy environments (IR is definitely out, ultrasonic may not work since it'll be on a lawnmower). 

Thanks, 

Aaron.

reference: "GPS-less Low Cost Outdoor Localization For Very Small Devices" by Nirupama Bulusu et al. It gives a great overview of LPS systems, but the system they propose in the paper doesn't sound very good to me. Seems like it would take too many beacons to get decent accuracy. 

The main problem I can see

The main problem I can see is that your RF signal round trip time will be very, very short.
Even if a beacon was 100m away, the flight time each way would only be 100m/(3x10^8m/s) = 0.33uS. Not only would the round trip time be very hard to measure with a common microcontroller, it would be extremely hard to measure the small difference between any two beacons.

Yeah, I couldn’t plan on

Yeah, I couldn’t plan on using a regular microcontroller for this. I’m not sure what type of hardware I would use, but I know it’s possible because people are already doing it…of course price is a big player here. 

I too have been thinking about autonomous lawn mowing.

When I did some reading on it, I ran across a paper that talked about getting the work done quickly and efficiently. The best plan was multiple bots given an area to cover and then let them mow their area however they see fit.

I am mulling over the idea of having multiple RFID tags in my yard to denote location. I have been thinking it could be useful, possibly in conjunction with other location aids.

You mentioned GPS and issues with trees. What about Assisted-GPS?

Never heard of Assisted-GPS

Never heard of Assisted-GPS until now. I’ll look into it a bit more but at first glance it looks like it could solve the tree problem but not the accuracy problem. 

Ideally I would like to use differential gps (RTK DGPS), but they are very expensive and I haven’t found any homebrew versions that look legit.

About the lawn mower in general: My goal is to have a mower that cuts the grass the way I want it to. I’d like to mow the yard once using remote control, while the mower is recording speed and pose data. Then I would llike the mower to be able to play the sequence back and mow the yard the same way I did. This way the yard looks better than those “wire-in-the-ground” robots that run about seemingly random. I would also add a way for the robot to detect if a new obstacle is in the way - then go around it and continue with the path, I’m thinking a lidar push broom, or even just a big bump sensor. If I do use lidar, I can also tilt it up and down so I can check for obstacles as well as use point cloud registration to aid in localization. 

I just thought of another

I just thought of another way to improve accuracy of a regular gps. I can borrow a differential GPS from work and create a landmark in my yard (this way I know it’s real position within a cm or 2). Then after I return the differential system, I can place a low cost receiver at the landmark. Then I can have a similar receiver on my robot, and send corrections form the stationary receiver to the mobile one! This sounds like it might work well.

I will still look into Assisted-GPS though because I think it may be needed.

This is an old thread, but I

This is an old thread, but I came across this paper that was pretty interesting: 

An Outdoor High-Accuracy Local Positioning System for an Autonomous Robotic Golf Greens Mower (you need IEEE access)

Here is the website for the company that did the paper: http://www.precisepath.com/

They use a beacon system using Ultra Sound, Infrared, and Radio (the radio is only for communication / time sync). They also do temperature and wind speed corrections on the Ultra Sound. They get about 3 cm accuracy. The Infrared is used for orientation and the Ultra Sound is used for position. Looks pretty neat, but I think it would still be pretty pricey to recreate it, they use alot of sensors…but each individual sensor is low cost. 

Question

I was building a robotic lawn mower myself, until I came across a deal for a commerical one I just couldn’t pass up.

If your robot has a pre-programmed path (Either by remote the 1st time out, or programming the micro for your yard), and it does detect something new in the path, how will it handle that, and how will it know that it went around the obstacle?  I am guessing that is why you want a RF beacon so it knows where it’s at? 

I know it seems wrong, but the in ground system and the random paths of the commerical lawn bots really do work and really do work quite well. It takes them longer to mow the yard then a person, but that really isn’t important, the goal is “I” don’t have to be out there doing it. Yes, every now and then it might miss something, but it goes out every day or every other day or however you program it and it will get everything. They really are quite good at what they do.

But I also wanted something that would tell the bot where it was at in the yard, and I thought about using RFID and taging various locations in the yard.

Safety should be a big concern with a robotic lawn mower, (IMHO much more so then where in the yard the bot is) 1st curious kid that comes into the yard and it could be all over.  Not to meantion small rocks, branches from trees, etc (small things the sensors would not see, and maybe stuff you wouldn’t see either if you were mowing yourself)

Remember there is a spinning blade under that bot, I would make it safe before I worried about anything else.

Just my 2 cents worth.

LeRoy, KD8BXP

 

Ancient post, but I have a plan to prototype using two image recognition cameras (such as pixy2) at 90 degrees mounted on the mower. Start the mower in one corner of an intended square, call it south west, with signposts centered on the opposite sides from the corner that the mower starts in (North and East). The robot will begin moving straight north until either of the signposts is no longer recognized, at which point it will move one mower width East, and then one mower width South. If both signs are again recognized, it will begin moving South, again keeping both signposts within view. Again, when one sign is out of view, the robot will stop, move east, then north one mower width each, and check for symbol recognition. If at any time neither symbol is not recognized, I’ll probably get the robot to spin 360 to re-establish, then shut down if not found. I’ll probably use radar obstacle avoidance, but mainly the mowing area will be set by the distance that the signs are placed apart, which will be dependant on the field of view of the cameras. I’m thinking Hexapod.

2 Likes

Hi Everyone. I have done a lot of research on autonomous operation of lawn mowers; both residential and commercial. Volta out of Italy has the most technologically developed residential mower ( Volta Mora ) that i can find using its AI technology to mow grass surfaces only. There are a few autonomous commercial mower startups that use GPS/ GNSS guidance technology , however, after you purchase their hardware kits and software , you have to subscribe to a monthly service for GNSS accuracy correction, cloud access, security, etc. I personally think the technology exists today to accurately guide mowers without the use of GPS/ GNSS.

I recently attended CES in Las Vegas, their is lots of AI software out their, however, not many software companies seem to be focusing on construction and property maintenance applications ( lawn mowing and snow blowing ) . Intel RealSense Lidar , 3D Depth camera , and Tracking Camera seem to be the first step to allow " Teach and Learn Technology " at an affordable cost .

I cannot help but think that there must be a way to develop a lower cost solution to autonomous commercial mower guidance using SLAM technology . you can purchase pre developed software to use with the Intel Sensors . The software will drive the machine. I still think that " Teach and Learn " technology will be the best bet. You can install the " Teach and Learn " technology on your machine, drive the machine as you normally would to mow the entire lawn, and then have the machine repeat the path that you "taught it " . The machine can be programmed to mow on a predetermined schedule. Robotics and " teach and Learn " technology is so far advanced now that its just a matter of time before someone invents and commercializes this lower cost guidance technology. Its a 20 million dollar idea !

I am willing to work with you on this idea and any others . i am very passionate about lawn mower and snow blower autonomous guidance technology.

i agree that there are still safety concerns with mowers and snow blowers. However, those safety concerns are not insurmountable.

I look forward to your thoughts

Thank you !

1 Like

i made a lawn robot a couple years ago and want to get back to working on it this summer.

my approach was to use one of those sensors that has acceleration, rotation, and magnetic. along with keeping track of wheel rotation. and a couple usb camera’s for training and future obstical avoidance. raspberry pi doing most of the work with teensy controlling the wheel motors. two front wheels and one wheel in back that turned. my intention was to map my yard recording mower orientation about every 1/4" (or maybe 1/2" can’t remember). after map is made it would use primarily wheel ticks for location but map matching (based on orientation) for correcting drift. that was the plan. problem was generating maps is very difficult and time consuming. i tested with only 20feet by 20feet square in back yard. used optical targets so that mower would drive in straight line accross square section. would drive both directions along one path, then move targets 1 inch and repeat. after i created the map i then drove robot (by romote control) in square area and logged data. then on pc computer i was able to map match and find location robot covered when driving via remote control with some succsess. like with a fair amount of tunning i think it correctly determined location accept for a couple points (if i remember correctly).

any way, i gave up because i could not think of better way to generate maps. maybe someone has good idea for this ? or maybe this approach is just not good :slight_smile:

I am also very interested in low cost 1/8th acre to several acres of precision positioning (within 2 to 3 inches) . I prefer open source type projects. What I think is needed is a lawnmower sized WALKING robot but it would perform many landscape and agricultural tasks, including gathering and responding to data from land based environmental sensors, planting annual seeds (covercrops, vegetables and flowers), mowing, edging, plant and animal ID, though integration with other IA assisted services, etc (SEE: www.iNaturalist.org, and https://farm.bot/). Under many high production ag systems line of sight would not be an issue and wonder why laser positioning systems are not affordable. ??? I would love more discussion on this.

I played around with a locating system for an old roomba. The basic idea was that I had a laser beam spinning around, and it would hit target that I had placed in the room. These targets were retro-reflective material, so that the laser beam would be reflected back to the source, so it cold be easily detected with a photo-transistor light sensor.

Also, I planned to put some vertical black stripes over the retro-reflective tape, in a simple bar code. That way, the robot could know which target it hit. Some robots use cameras to view “fiduciaries”, a type of coded target. But, this laser scanner I planned was MUCH simpler in regards to the processing of the data. In my system, you do need to program the location of the targets.

I realized that the laser beam needed to not just be a dot, but a vertical line, so that I could be sure that it would hit my targets. I was going to have the laser aimed up, and then a mirror above it would spin and cause the laser beam to rotate around. But, that caused the laser line to also spin. So, it would be best to have the laser itself spin.

With this set-up you can identify the targets, and determine the angles between the targets that it sees. With the known location of the targets, being able to see any 3 of them should allow you to determine your position pretty accurately. Note that if you are moving when you do a reading, then that will affect your accuracy, unless you can figure out how to manage your movement between readings of targets.

-Joe

People have built various systems on our Precise ( ±2cm) Indoor “GPS” - from lawnmower to advanced swarm robotics.
We have been partnering with Robotshop since 2015 or so. Thus, you can get the system from them as well.

For more information, please, see Indoor positioning technologies review or corresponding video: Indoor positioning technologies review - YouTube.