accessing bluetooth range information

Firmware/software/electronics/mechanics
Post Reply
6-H-05-T
Beginner
Posts: 12
Joined: Sun Mar 19, 2017 6:55 pm

accessing bluetooth range information

Post by 6-H-05-T »

For a school project I am attempting to have a Crazyflie play follow the leader with a small land-based robot. The thing is, it's well into the semester and I have yet to get my hands on the hardware, so I'm starting to get worried about if this will even be possible, and I was wondering if anyone on this forum could help me out.
What I would like to do is use put a bluetooth dongle on the robot and have the Crazyflie try to keep a minimum distance from it by detecting the range. This would not require the crazyflie to connect to it, just detect it.
So I guess my question is this: is it possible to access this data for use in my algorithm? Or does anyone have any other ideas for how to implement this?
Thanks in advance.
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: accessing bluetooth range information

Post by arnaud »

Hi,

First of all detecting range with bluetooth low energy is going to be very coarse at best, you might be able to know that you are near or far from the robot but not much more. The reason is that the main measurement you can have is the received radio power and this is dependent to a lot of environmental factor like antenna orientation, reflective material on and around the robot, and radio noise.

Even if you would manage to get an actual range, this is not enough to detect where the robot are located toward each other: the crazyflie could be anywhere on a sphere around the land robot. Maybe advanced algorithm using inertial sensors and the quad dynamic would allow to get a more precise position but this sounds hard.

If what you are after is to keep the crazyflie at a position behind the land robot, a solution could be to use a raspberry pi and a camera to detect the Crazyflie (the detection can be done in 3D with AR tag for example, we used AruCo previously with success).

Otherwise for ranging we now have the Loco Positioning System which is basically composed of radio that can range with decimeter precision, though as discussed earlier a single range is hard to use alone.
6-H-05-T
Beginner
Posts: 12
Joined: Sun Mar 19, 2017 6:55 pm

Re: accessing bluetooth range information

Post by 6-H-05-T »

gotcha. thanks.
I was hoping to design my algorithm to have the drone keep a constant altitude, thereby transforming the sphere of possible positions into a circle. And, the closer my target range is to my altitude, the smaller the circle. I'm not trying to be super precise here. Just want my drone to TRY to stay near my robot as it drives around randomly in a small enclosure. I have read some stuff that looks like I could use RSSI to detect its proximity to the bluetooth device on the robot.
We have ordered a breakout deck and a prototyping deck so we can add extra sensors, but we don't know how much we are going to be able to load this little guy down with, or if the sensors we have in my school's robotics lab (mostly from arduino kits) are going to work with it.
arnaud
Bitcraze
Posts: 2538
Joined: Tue Feb 06, 2007 12:36 pm

Re: accessing bluetooth range information

Post by arnaud »

Yes RSSI is the receive power I was talking about. The radio used in the Crazyflie can measure from -40dBm down to -100dBm or so if I remember well.

The problem is that even with a very accurate range, going from this possible circle to the actual estimated point will be challenging. With only the RSSI it will be very hard.

A random though that might help is to have some kind of optical sensor (like a couple of photodiode) to keep the Crazyflie oriented towards the robot, this would at least keep the axis to go towards or away from the robot fixed.

Anyway if you want to try the RSSI, the easiest is to use a Crazyradio: the Crazyflie sends back the RSSI measurement any time there is not down-link packet to send.
Post Reply