Help with Ultrasonic Beacon for Follow Me Robot

I'm planning on building a robot that is controlled via Bluetooth, but also is able to follow the user without as much disturbance. After doing some research, many popular methods are GPS tracking or IR Beacons. However, GPS lacks its ability of tracking indoors and IR Beacons have to be in a direct line-of-sight between the robot and user. In some posts that I have found, people made their own ultrasonic beacons where the user carries the beacon and the robot detects the origin of the beacon signal and follows it.

My main question is: Is there anyway to purchase/modify an ultrasonic sender/receiver rather than creating one? And is there an easier alternative to building a robot that follows the user indoors and can be in a small crowd of people? (I have the obstacle avoidance figured out, but I need help with the following)

Thanks!

Let me know any suggestions or answers to my questions. Any help that can be provided will be awesome!
If any further clarification is needed let me know.

In some posts that I have found, people made their own ultrasonic beacons where the user carries the beacon and the robot detects the origin of the beacon signal and follows it.

Could you link me to some of those posts that you have found on ultrasonic beacons so I could better understand what it is?

This is an example using ultrasonic sensors:

But the problem is that you must have line-of-sight at all times, same with IR sensors. You could use GPS, BUT if you want to create it indoors then it gets more complicated. I want to build a similar robot that works indoors but mustn't have a line-of-sight with the person at all times

Well, to do something like that the robot must have at least 2 methods of locating you. So, if the robot cannot follow you using beacons, then it must have another way to find you. This may require the robot to have even more knowledge if you want it to follow you when line of sight isn't possible and not using GPS if you want it to work indoors. Now, we have to figure out that second way...

SMM2:
Could you link me to some of those posts that you have found on ultrasonic beacons so I could better understand what it is?

This guy made his own sensors, but he didn't specify it for arduino.

Both of these forum posts use ultrasonic "transmitters/recievers" to communicate and follow.
https://forum.arduino.cc/index.php?topic=456842.0
https://forum.arduino.cc/index.php?topic=451490.0

Could anyone help summarize (if possible) how they made the transmitter and reciever for arduino?

On my robot I will add a servo where the sensor pans around to find the strongest point of the ultrasonic signal and the follow that direction. But how best should I do this with the above information? Thanks!!!

This guy built almost exactly what I want to build, however he doesn't explain how he modified the ultrasonic sensor.

To save your time from watching through the entire video (unless you want to) he explains the ultrasonic sensors at 3:53 ~ 8:44 and shows the ultrasonic beacon build at 15:41 ~ end.

To my understanding, the beacon sends a signal wirelessly to tell arduino board that the ultrasonic "transmitter" sent a pulse to the ultrasonic receiver, which tells the robot the distance and direction of the signal/person holding the beacon.

I'm trying to build this robot on a budget, so I'm thinking of using HC-SR04 ultrasonic modules and possibly a nrf24l01 module for the wireless communication. Will I need an arduino board for the beacon? The guy in the video didn't seem to have one. I feel like I sort of understand this, but the coding and modification of the sensors seems a bit foreign to me.
Thanks for any of your help!!!

Does anyone have any idea on how I would build this with a cheaper setup? Thanks!!!

In the video, the robot sends a wireless message to the ultrasonic transmitter module (on the wearer), telling it to emit a ping. The wearer's module must have a microprocessor of some sort.

On the robot, two ultrasonic sensors are used to determine the arrival time of the ping, and the robot steers in the direction of the sensor reporting the shortest arrival time.

It is a popular approach, and lots of people have made it work.

Hi,
Thanks for responding!
Would you or anyone have any idea how I could replicate this with a cheaper setup?
Thanks!

replicate this with a cheaper setup?

Cheaper than what?

jremington:
Cheaper than what?

In the Ben Heck Show, they used a xbee module for the wireless communication. However, xbee modules are quite expensive, so I was wondering if a nrf24l01 or some other cheaper wireless module would be able to replace the use of the xbee module.

In the video, the robot sends a wireless message to the ultrasonic transmitter module (on the wearer), telling it to emit a ping. The wearer's module must have a microprocessor of some sort.

Actually, in the video at 15:47 they start to talk about what they're transmitter will consist of and they actually aren't going to be using a micro controller of any sort but instead as shown in the note at 16:45 it states "By inverting the RS-232 signal, we can use it to directly trigger the pulse and avoid using a second micro controller." Doing it this way could save some space, money, and some code, though it would be a more difficult approach.

In the Ben Heck Show, they used a xbee module for the wireless communication. However, xbee modules are quite expensive, so I was wondering if a nrf24l01 or some other cheaper wireless module would be able to replace the use of the xbee module.

Yes, I do believe that you could use something like an nrf24l01 in place of an xBee module. Though you will need a micro controller for your transmitter unless you are willing to do it the way they did it. But, if you just get something like the Arduino Pro Mini and hook up the nrf and transmitter I definitely believe you could achieve the same as they did.

Hope this helps.

Also, it would be great if you could keep us updated on the progression of the robot including your successes and failures. I'm looking forward to how it will turn out in the end.