Wireless positioning project

Hi everyone, I would like to build a robot that could position him self on a table, with help of X and Y cordinates. My thought is to have 4 senders/recivers at each corner. And one sender/reciver on my robot that will recive and send cordinates.

I have some expirence of programing 8bit microcontrollers and step motors.

My question is: Wich wireless device is easyest and good for my project? (e.g. bluetooth, WiFi, RF…)

Wich micro controller is the most suitable for my project?

Thanks in advance

They all use RF!

The Nordic nRF24L01+ would be suitable. You won’t be able to get position data with it, of course, you will need some sort of sensor system.

I saw that bluetooth module is much cheeper than nRF24L01+. What is the downside of using blutooth module in this project? Wich one of the techniques is easiest to implement (with less effort)? thanks

jana:
Hi everyone, I would like to build a robot that could position him self on a table, with help of X and Y cordinates. My thought is to have 4 senders/recivers at each corner. And one sender/reciver on my robot that will recive and send cordinates.

I have some expirence of programing 8bit microcontrollers and step motors.

My question is: Wich wireless device is easyest and good for my project? (e.g. bluetooth, WiFi, RF…)

Wich micro controller is the most suitable for my project?

Thanks in advance

I think the XBee modules' serial port extension is plug and play simple. All the error correction and protocols are done, to include transparent serial port wireless extension, and sensor sample transmission is built-in if you wish.

getting location accurate to a few inches is impractically difficult unless there’s a “track” or some such with known references.

As long as the 4 corner points are fixed, you can get a reasonably accurate position by triangulation using the received signal strength. The received signal strength is Inversely proportional to the distance between the sender and receiver.

I would probably use XBees for the project. They will calculate the received signaling strength for you.

I have a similar project in development myself.

Paul

Signal strength is not very accurate for positioning. To be even reasonable,clear line of sight is needed, along with short distances, and an implementation that minimizes the effects of antenna radiation pattern variations.

The speed of light is about 300 000 000ms. I think that it would be hard to get a resolution/accuracy and preciceion under 5m with ZigBee, unless I get a microcontroller with speed above 200Mhz.

Does a packet that has been sent via RF arive at speed of sound or does it take litle bit longer than that?

Why not use ultrasonics? Time-of-flight is feasible, due to the low velocity of sound compared with RF…

There will be some obsticales located at the same plane as the robot, thats the reason I could not do with US sensor.

jana:
There will be some obsticales located at the same plane as the robot, thats the reason I could not do with US sensor.

Can you mount sensors (and/or other components) at an elevation high enough from the table’s suface to maintain line-of-sight with your robot? (e.g. hanging from the ceiling, or attached to poles around the table)

Thing is though that I wanted a bot that could position him self with RF, if that’s not possible for less than 2000$, then I give up the idea.

I seriously doubt you can achieve accurate positioning on such a small scale (to less than one meter accuracy) with RF. The two major RF location determination techniques are (a) time-of-flight and (b) signal strength.

Signal strength is easy to use but provides very poor precision, especially when there may be obstacles in the way creating extra attenuation and multipath signals which will completely throw off the location calculation.

Time-of-flight (TOF) and the specific realization as time difference of arrival (TDOA, which is how GPS works) can provide very reliable measurements but at short ranges (less than 100 m?) will require highly specialized setup. I seriously doubt you can get within one meter accuracy on your budget. See the forum thread [Localization for more.

I would consider ultrasonic range sensors if you can, or perhaps putting some sort of 2D position reference in place either on the floor or above the area you are using. Some ideas:

  • A matrix of IR LEDs, each transmitting a unique pattern encoding its position (would have to use time-multiplexing to avoid interference between LEDs)

  • Multiple ultrasonic transmitter references around the table, or perhaps above it suspended from the ceiling? You can use triangulation with multiple references to resolve a more accurate position.

  • Print a grid on the floor and use optical sensing to track position (maybe use an optical mouse sensor?).

  • Use a matrix of inductively coupled position references in the floor, such as passive RFID tags with an RFID reader in the robot.](Localization - SparkFun Electronics Forum)

Hi There,

I’m not terribly sure that you can achieve what you’re shooting for on a small budget. I work in a satnav group at a university where we have people using the signals from space, terrestrial beacon signals, as well as experimenting with ranging to cellular towers, and UWB radios.

The most promising technology for what you are attempting is the UWB radio since they give good ranging performance over short to moderate ranges, however I don’t know if you can get them for less than a few thousand dollars and I’m not sure even how legal they are.

I wish you good luck and encourage you to consider the ultrasonic approach mentioned - it’s conceptually the same approach as the RF one, it just relaxes some of the really tough design constraints.

There are a number of ways of doing what you want to do. A common, but complex, one is to sent three or more microwave signals between the unit and the corners of the table, and compute the round-trip time of flight (or phase angle). Practically, you want something in the 5.8 Ghz range to get the antenna size small enough to be unobtrusive. You might be able to do it at 2.4 ghz with ceramic chip antennas. You can get accuracies down to a few mm’s, if you work at it.

A cheaper way might be the way GE Medical systems in Lawrence MA used to use to track position in an operating room for surgery. They had a set of orthogonal magnetic fields, at low (<100KHz) frequency, and the moving object would intersect the fields and report its position. Maybe there are some research papers on it somewhere on the web. That would be cheaper, as you do not need microwave transcievers!

biff44:
There are a number of ways of doing what you want to do. A common, but complex, one is to sent three or more microwave signals between the unit and the corners of the table, and compute the round-trip time of flight (or phase angle). Practically, you want something in the 5.8 Ghz range to get the antenna size small enough to be unobtrusive. You might be able to do it at 2.4 ghz with ceramic chip antennas. You can get accuracies down to a few mm’s, if you work at it.

That sounds really complex and expensive in terms of microware RF electronics and processing, but it’s not something in which I have experience.

biff44:
A cheaper way might be the way GE Medical systems in Lawrence MA used to use to track position in an operating room for surgery. They had a set of orthogonal magnetic fields, at low (<100KHz) frequency, and the moving object would intersect the fields and report its position. Maybe there are some research papers on it somewhere on the web. That would be cheaper, as you do not need microwave transcievers!

Very interesting. Magnetic fields would be really fantastic for this since they will not be obstructed by most objects as RF or ultrasound would.

There are a couple of companies making tags that one wears or are on equipment, that sense the magnetic flux lines produced by several fixed known-location flux sending units. They do the math to calculate position in x, y and z. Amazingly accurate. Costly.

Used in law enforcement/military training situations to record movements of trainees and even their weapons’ pointing.

I’m currently working on this idea. I have combined Ultra Sonic + magnetic field + RF.

I have some ideas, but I’m still in idea stage, and testing my ideas in simple applications.

I have a similar project, also looking for direction (no pun intended).

I need to calculate position from one rollingbot (transmits position) to another rollingbot (receives position and reacts).

What kind of sensor is available to get accurate positioning?

What kind of wireless signal should I use?

How un-accurate is using signal strength?

Thanks!

N_N

Nora:
I have a similar project, also looking for direction (no pun intended).

I need to calculate position from one rollingbot (transmits position) to another rollingbot (receives position and reacts).

What kind of sensor is available to get accurate positioning?

What kind of wireless signal should I use?

What kind of sensor is available to get accurate positioning?

I don't know of anything simple/practical for indoors where GPS may not work. If you build both rollingbots, perhaps your best chance is an ultrasonic ranger if the other 'bot has surfaces that will reflect well no matter the orientation - unlikely. An ultrasonic beacon sent every x amount of time by each bot and received by others, if synch'd to better than a millisecond - can work. That gives you range but not bearing. So it's a tough problem.

Nora:
How un-accurate is using signal strength?

Very unpredictable due to non-line-of-sight and multi-path. And the inverse square law in RF transmission (google that).

Nora:
Thanks!

N_N

Concept: not for the novice…

Ultrasonic pinger on each 'bot.

All 'bots are initialized via wired or wireless means to get a common time sync, accurate to a few tens of microseconds, and won’t drift apart much in synch for x amount of time, where x is an exhibition time plus setup/prep.

Each 'bot pings in an assigned time slot.

There are 3+ ultrasonic receivers symmetrically located on the perimeter of the operations area. All feed ping-detection signals to a central microprocessor. This micro is told where the receivers are in 3 dimensions, as some x,y,z numbering system, say, relative to the center of the exhibit area, or relative to one of the receivers. The micro is also given the assigned time slots of the 'bots. The micro can now do the math to locate each pinger. The math is trig and corrections/calibration tables. Each 'bot must ping in the assigned time slot within a few microseconds and not drift over the operational duration.

The receivers’ range might be limited to about 10m or so. The accuracy might be a foot or so, due to the ultrasonics.

This has been done - for tracking people indoors who wear such emitters.

Another scheme is for the emitters to be IR diodes, in time-synch, and the receivers are TV cameras where the video is digitized into 2D rasters. Photogrammetry can calculate location given x and y in the raster and the focal length of the optics of the camera, plus the camera locations and pointing angles. I’ll guess that the accuracy will be limited by the calibration and constants, not the sensors, but should get a few inches at say 20m range.

Doing this trilateration via RF is impractical for low cost reasons - beginning with the fact that RF propagates at about 1 nanosecond per ft, and measuring time differences at that precision is $$$$$$$.

Signal strength is very inaccurate due to noise, multipath, and the inverse square law.

[EDIT] Sorry, I didn’t read the last part of Stevetech’s message in time.

I really think using a (web)camera looking at the robot arena from above is the cheapest and most reliable in terms of positioning errors. The other obstacles in the arena will be just as visible as the robots. No obstructions of line of sight. The images of the camera would need to be analysed and converted to X,Y coordinates for the robots on a pc or something. This is probably the hardest part to program, dealing with perspective. If the resolution of the camera is not too low you could also get robot orientation if you put a recognisable patern of LEDs on top of the robots and (movable) objects. An L-shaped triangle of same colored LEDS, or just 2 different colored LEDs some space apart, would suffice. To enhance resolution you could use sub-pixel coordinates of a LED-spot (by calculating the center-of-intensity, like center-of-gravity) as opposed to just searching for maximum pixel intensity.

Communicating the coordinates could easily be done with Bluetooth or Xbee. The PC could have a unit connected to it’s USB or RS232 port. The robots on their U(S)ART. Iirc, both types of modules have the ability to adress receiving robots indiviually with some sort of destination- or MAC-adress. How much current the tranceivers require, or their operating voltages, would decide which are best for your particular robots.