Android phone following robot?

Hi all,

I'm new to robotics and arduino, but I have been wondering of making robot that would follow me during golf courses and carry my bag staying about 2-3 meters behind me.
Similiar producs have been made (shadow caddy) but the prices are way too much for my budget. I know some programming (PHP, HTML, javascript, VB) so I think I can handle the coding when I dig into it.
I know this is very big project and I do not have hurry with it. First I want to know if it is possible making robot to follow phone (maybe using Bluetooth and three receivers in robot which will analyse the location of phone and follow accordingly) Other option is that I will build separate transmitter and use something other that bluetooth.
I have yet not found a arduino motor controller that would be able to control app. 2x 80W motors so any help from here would be also appreciated.

Hoping to hear any suggestions of hardware to use etc. to help me to achieve my goals.

Thanks in advance!

I have yet not found a arduino motor controller that would be able to control app. 2x 80W motors so any help from here would be also appreciated.

80W at 1 volt and 80W at 1000 volts are quite different amounts of current. Help narrow that down a bit, OK?

First I want to know if it is possible making robot to follow phone

Not easily. The only indication that the robot might have is the signal strength from the phone. The signal strength is not necessarily linear, and is very small, anyway. Detecting the actual direction to the phone would require that the robot be able to wave a directional antenna around.

There really does not appear to be a cheap, easy to implement, "Hey, follow me" solution. At least not that the Arduino can implement.

Now, if you were to wire two IR emitters into the shoulders of your jacket, the robot could use two receivers and determine where you were with respect to itself.

The nice thing about this approach is that when you turn your back on the robot, it could stop, instead of running you over.

Although IR might not work too well on a sunny day, and, who plays golf in the rain. Don't bother answering that. I know that lots of crazy people do.

Similiar producs have been made (shadow caddy) but the prices are way too much for my budget.

It would be worth investigating how they work.

Hi,

Thanks for the reply.

I have not desided the voltage of the system, but around 12V-24V should be fine. (I'm thinking of using LiFePo4 batterys but that does not really matter i guess).
I was thinking that would it be possible to send time data from phone via Bluetooth and have several receivers on robot to determite location. similiar to GPS, but other way around?
Not the cheapest method i know but does anybody know if it can be done?

Thanks!

If I understand you correctly, there are three parts in your project :

  1. Electrical motor driver , the easiest part, and better to leave it as last stage after two others designed.
  2. Distance measurements, also shouldn't be any problem, I separate this part just as safety control, to prevent human been hurt, by robot running over.
  3. Localization. The main part, there were a few discussions on this forum, you can try a search engine. Was no simple solution found, AFAIK, but some ideas were promising.
    RF approach, Zigbee or BT as you suggest, Wi-Fi etc, less likely to get results, simply because the speed of RF wave is too high.
    3*10^8 m/sec, it's about 1 meter in 3 nanosecond. Times resolution is definitely above arduino can do (62.5 nanosecond),
    I'm not saying it's not possible, but it would require external hardware (atomic stability generators ), and it won't be hobbyist level project with low budget.
    Using sound, or ultrasound looks more realistic way.

Hi again.

Been thinking a bit and ultrasound could be the right approach for this.
I found following sensor and I'm wondering if this could be used in my project: SRF02 Ultra sonic range finder
While these sensors are quite cheap, I still want to be sure I can do what needed with these sensors:
have 1 sensor sending pulse from my belt
and have 3 (or more) sensors reading the distance to my belt.

Can someone please confirm or suggest better and or cheaper sensor.

Thanks!

have 1 sensor sending pulse from my belt
and have 3 (or more) sensors reading the distance to my belt.

Unless you have some other synchronising mechanism (could be as simple as an IR strobe), the receivers have no way of knowing when the transmit pulse was sent, so they can have no idea of range, only relative time-of-arrival of the received pulse at each of the receivers.

have 1 sensor sending pulse from my belt
and have 3 (or more) sensors reading the distance to my belt.

You seem to have a misunderstanding about how an ultrasonic sensor works.

One sensor sends a pulse, then measures the time to get an echo back. The time is a function of the distance to the nearest object that reflects electromagnetic waves in the spectrum that the sensor uses.

If you attach one of those to yourself, you'll know how far behind your golf bag toter is.

If you attach three of them to the golf cart toter, It will know how far stuff is in three directions.

How that information will help the golf club toter know which direction YOU are going, and follow just YOU, I can't see.

Not much use if the golf club toter locks in on a tree.

Hmmm, just came across :

May be it is not very expensive for golf players after all?

@PaulS:
Some of the Devantech SRF0x sensors can be used in "listen-only" mode.
A "master" transmitter can send a pulse and the others be commanded to listen for the returns.

I can imagine a system using multiple receivers and time-of-arrival to provide rough direction, but as I said, you need to know when the master transmitted (either by RF or optical means) to provide range.

I wander, why there is no similar ultrasound radar on a market?
Scanning radar with phase array would be nice shield navigation/collision avoidance for robot.

output.pdf (107 KB)

AWOL:
@PaulS:
Some of the Devantech SRF0x sensors can be used in "listen-only" mode.
A "master" transmitter can send a pulse and the others be commanded to listen for the returns.

I can imagine a system using multiple receivers and time-of-arrival to provide rough direction, but as I said, you need to know when the master transmitted (either by RF or optical means) to provide range.

This is exactly what I'm trying to do.
I'm no expert, but could it be possible to send data withing the signal with on-off keying or similiar method?

I'm no expert, but could it be possible to send data withing the signal with on-off keying or similiar method?

Not unless you're really prepared to go off-piste.
The Devantech receivers are very simple, and can detect the presence of a return signal, but don't have the DSP "poke" to extract any information from the signal.
You could add a cheap 4xxMHz tx/rx pair to the system to provide the sync function.

AWOL:
You could add a cheap 4xxMHz tx/rx pair to the system to provide the sync function.

OK so I could have tx/rx pair to send time data at the same time sending sonar signal and program could attach these two information pieces together?

You don't need "time data", just a pulse at the same time (or a fixed time offset) as you trigger the ultrasonic transmitter on the object you want to follow.
Think about the thunder and lightning analogy - you can tell how far away the storm is by noting the time between the flash of the lightning, which reaches you at a speed of 1 metre every 3 nanoseconds, and the sound of the thunder which reaches you at a speed of 340 metres per second.

OK, I get it now.
So in princible this is already working in theory.

So I need:

For position detecting.

I will leave the rest for later when this side of the project is working.

So in princible this is already working in theory

Well, that's an admirably optimistic approach!

Question: :roll_eyes:

Is arduino fast enought to do below mentioned position calcutation from ultrasound and RF signals? I was already advised that arduino can't calculate differences from RF, but what about ultrasound?
My friend was suspicious about it, so I would love to know if arduino can handle it before I go and buy one.

He also mentioned that he would do it with GPS. (I would have software on phone for my location and arduino would have it's own and be phone would send it's position via bluetooth to arduino.) but is it enough accurate? I do use a software on my phone to measure distances to greens and usually it is pretty accurate. (app. 2-3 meters but this is also dependent of accurately mapped greens..)

Actually it would not cost much more to go with GPS, but as far as I know, would require more coding. But main point is that this could also work, I guess??... Does anyone have experiense on similiar approach?

Thanks!

1 Like

The ultrasonic sensors have all the required hardware to do the calculations so the arduino just waits for a signal from the sensor And yes the arduino can do gps. BTW though not related to ardunio and as you are not in a hurry you can do this better using image processing + sensors for distance calculation OpenCV is available for android phones so you can just write code for it and plug in your mobile into the robot and let the magic happen it would be a cheap and better solution

I've been thinking that kind of approach also. One problem thou is that I want to keep my score on my phone on different program. I guess this sensing program can be running in background and working only when attached to the dock on robot.

Do you have some good links available where I can read more about this approach?
Thanks!