Small scale local positioning system for a yard vehicle

Hello. I'd like to build a small scale positioning system this year, for a countryside yard. A small vehicle using that system is supposed to cut grass, deliver produce (from a greenhouse, on command) to a location and several other things. The vehicle would move pretty slow.

What are my options and what can you recommend to me that is cheap? I think I'd need cm level precision for this.

Following is what I've thought of/found:

  1. Network of NRF24 modules
    I've thought of trying to use a network of NRF24 modules that could use time-of-flight to determine the distance based on how long it traveled.

    A transceiver on the vehicle could send out a message to other transceivers with current time and other receivers could send back the message after they calculate the difference between the time sent and time received.

    The issue I see here is that using RTC modules may not give a precise time on each of the transceivers and that may lead to inaccurate calculations. Another issue are obstacles between transceivers that could deceive how much distance there actually is.

  2. Ultrasonic positioning
    Ran into this thread Position tracking using ultrasonic markers - #12 by system and this repo GitHub - Aizeren/Ultrasonic-positioning: Positioning with Arduino and ultrasonic sensors and it made me wonder how feasible it is and what kind of precision can I get?

    Ultrasonic sensors are cheap but how would it fare against obstacles and how it would actually work.

  3. SLAM
    Too expensive in time and money.

  4. GPS
    Regular modules are not precise enough. RTK is too expensive.

Combined with any of these technologies I was planning to use an IR obstacle sensor to go around obstacles.
My knowledge of arduino and electronics is pretty limited.

Thank you for any help.

Very unlikley.

To get down to 1M accuracy you would need to time the arrival to and accuracy of circa 5nS and you want to do that with an Arduino ?

If there was a cheaper GPS type alternative to RTK, why would people use RTK for this type of application ?

and you want to do that with an Arduino?

I did say my knowledge of Arduino and electronics is limited.

The reason why I asked here is because of not understanding fully what my options are and how viable they are.

There is a link regarding some of your questions that may be helpful:

https://www.reddit.com/r/esp32/comments/or1efx/esp32s2_and_esp32c3_roundtriptime_distance/

For ESP32 there is library that provides Fine Timing Measurement (FTM):

https://github.com/espressif/esp-idf/tree/master/examples/wifi/ftm

So in theory (and principally) it is possible to use this to calculate the distance between two radios. However, even commercial solutions that try to go down to +/- 30 cm require significant software and installation support and sound experience of the topic...

see e.g. https://www.localino.net/en/localino-v3-0/

To achieve reasonable accuracy you must exactly know the positions of fixed meshed stations and do some math to calculate the location of a moving or static object.

The technology required depends highly on

  • accuracy required
  • update rate of the position
  • whether this is calculated at the moving object OR at the stationary installation (which then transmits the position to the object)
  • possible other technologies that may be used in parallel or in addition (GPS, IR beacons, image processing, guiding wires in the ground, US or Laser distance measurement, ...)

Ultrasound will quite likely not work with sufficient reliability outdoors.
Laser distance measurement can, but depends on reflectivity of objects.
Radio ToF requires a mesh of APs with wellknown positions that support FTM.

GPS is still the easiest way that can be used by non-professionals (and will still require sound experience in software and mathematics ...).

Indeed so, GPS RTK fits the bill, especially as the OP wants cm positioning accuracy .......

Agree, I evaluated all kinds of in- and outdoor positioning systems since 1996 for professional use and found that there is no "easy" and fully reliable technology on the market. There are lots of physical impacts to be considered which interfere with reliability and precision. The only way to (mostly) overcome the different technical flaws is to use independent technologies in parallel (e.g. inertia systems, optical/IR beacons and RF solutions) which impact cost, autonomy, size and weight ...

A well prepared and controlled environment is key to success. Not to talk about weather conditions ... :wink:

RaspberryPi cam should recognize robowheel on the yard and sending his position. a laser pointer can be as entrance marker

Easiest would probably be a buried wire system around the perimeter, and maybe a separate buried wire system for the dedicated path of the delivery system (something that allows the arduino itself to differentiate the buried wires). GPS could then serve to maintain a specific heading across the yard.

Note that for a mowing system, there needs to be a considerable safety concert, to insure the cutters will cease to operate quickly when anything unexpected is encountered.

A robot lawnmower isn't an unusual ask here. The usual conclusion is that you need more accuracy than GPS can provide and getting it is too expensive.

This is backed up by the lack of such products in the market- plenty of people have thought of it, but no one has been able to do it economically. Unless perhaps, you live in Austria, where there is a network of differential GPS stations to help farmers get that kind of accuracy.

Thank you for your thorough answer. I'll start saving for an RTK kit like this one simpleRTK2B Basic Starter Kit IP67, based on u-blox ZED-F9P

Sorry for reviving this post but I must ask for another project.

You mentioned

possible other technologies that may be used in parallel or in addition (GPS, IR beacons, image processing, guiding wires in the ground, US or Laser distance measurement, ...)

How would one set up guiding wires under ground for navigation? Just put it in ground and push a voltage through them to create an EMF and make a meter for it on the vehicle? If so how deep could the wires go (15cm possible?) and how would I go around creating a sensitive enough meter to detect the EMF using IoT devices (arduino, esp, modules etc)?

I found this which is very simple, but it seems like it wouldn't be nearly as sensitive as it should be. https://www.youtube.com/watch?v=y1Bke3750WE
Maybe something like this could do it? https://www.youtube.com/watch?v=1pRq9hw-6rk

See if you can find any details about the "invisible fence" that keeps pets inside a defined area using a buried wire.

Note that the manufacturers tend to be very coy about what it actually does because a collar delivers mild electric shocks, but you may be able to find out how the less contentious bits function.

Good question :slightly_smiling_face:

I have not developed something like that by my own, but buried the control cables for more lawn mower from Husqvarna company. Those wires can be layed out on the surface (and will be covered by gras over time) or put about 15 to 30 cm in the ground.

However, I found this Hackaday video on an autonomous robot

https://hackaday.com/2018/08/10/line-following-robot-without-the-lines/

and from there found also a shop that offers hardware for it:

https://www.robotshop.com/en/robotshop-perimeter-wire-generator-sensor-soldering-kit.html

No idea about the performance, but it is low expensive and worth a try ...

The technology behind is using HF signals that are detected by (in minimum) two sensors.

Here is what they call "a complete guide" to it:

https://www.robotshop.com/community/blog/show/diy-perimeter-wire-generator-and-sensor

with some valuable information about technology and application (down to the wire choice) ...

If you give it a try woud be great if you could share your experience :wink:

P.S.: Once I had my perimeter cable broken at some point ... I used an "old" portable AM radio, tuned it off any channel and went along the cable hearing the interference of the HF signal generator. This way I could detect the position of the cut within +/- 20 cm ... Just in case ... :wink:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.