Detailed Tracking System - Area Based

I would like to attempt to build an arduino project within my living room (5m * 5m)

What I would like to build is a tracking perimeter in my living room. What I want to track is a mobile object which the size will be roughly no bigger than (200mm * 100mm).

The object will be running on its own using its own sensors which I can work out, but I havent been able to work out how to track it within 1-5 centimeters give or take, the more accurate the better.

What I have thought of so far is the following:

  • GPS and report the coordinates to pc through wifi, blutooth etc. but at the very best Ill get +/- 3 Meter accuracy thats too big a variance. but at the same time Im not in the market for a $1000 gps that will track an object to an absolute accuracy
  • Sonar Sensors - Great Idea and gotta admit it sounds kool, I dont think this will work as I cant ID the object the sound is reflected from. As far as I understand it
  • IR Distance Sensor - I thought this was exactly what I was looking for, then I thought of 'Direct Line of Sight'

The idea is to be able to track the mobile object or objects, live and to record the data to see where its been within the perimeter.

I have a software background so I think Im ok with the sketch side of things, theres heaps of software tutorials on net for reference =) just not that savvy with hardware.

Please let me know what you think, advice or tell me its not doable. I cant get this idea out of my head.

Thanks

The folks who work with swarms of quadcopters seem to rely on multiple video cameras and image processing to track the movements. This gives them absolute position within several cm.

The idea is to be able to track the mobile object or objects, live and to record the data to see where its been within the perimeter.

Where are you going to record this data? Will the data be in a spherical coordinate system, or are you trying to map to a cartesian coordinate system on the Arduino?

Will the tracking device be moving, too?

What kind of object is being tracked? Will it participate in being tracked, or not?

  1. Where are you going to record this data? Will the data be in a spherical coordinate system, or are you trying to map to a cartesian coordinate system on the Arduino?

  2. Will the tracking device be moving, too?

  3. What kind of object is being tracked? Will it participate in being tracked, or not?

  1. I was hoping to be able to send the data directly over the net to one of my web servers. There will always be an active internet connection within range of the perimeter. And the coordinate system spherical if possible.

  2. No the tracking device will not move and it can be multiple tracking devices. The perimeter will be moved but when tracking takes place the tracker will be in the same location at all times.

  3. The object being tracked will be a land vehicle (car/buggy) style platform, just the basics for now, wheels and motor allowing as much room for arduino gear to be mounted on the object being tracked. Eventually if I can pull this off and the arduino gear is not to heavy I would like to add a helicopter to the objects being tracked. Regarding the objects participation in the tracking, yes anything that needs to be mounted on the object to make the tracking possible.

Some of the vehicles being tracked will be programmed to hide, so in some instances the tracked vehicle will be behind or underneath something so not sure if tracking through cameras will work.

anyways I hope this helps =)

Thanks

Rather than trying to track multiple things externally, why not have each thing determine where it is in the room, based on it's surroundings and past experience?

Think about it: If you are in a room, you can tell where you are in that room fairly accurately; how far away from the walls and objects you are, what direction you are facing or about to head in, etc. You could then easily communicate this to others in the room, or to a "central" system (via a radio, perhaps).

So why not try to emulate this with each robot or device in the room. It could take a measurement with its sensors (it's going to need more than one type of sensor, by the way, if you are going the inexpensive route - ideally, you would use a LIDAR system, but we are trying to keep costs down - so maybe a combo sonar and Sharp IR sensor would work well, perhaps mounted on a rotating/scanning servo?), then take a guess at where it is at on an internal map (hint: it's first guess will be waaaaay off!), then it could move, then take another measurement, then update its guess, and so on. The more it moves around and measures, the greater it's probability of knowing where it is at in the environment. It will -never- know -exactly- where it is, but it -will- know, within a certain level of probability, close to where it is! Believe me - this really works!

Of course - it isn't easy - in fact, the basic algorithm I described is very hard to implement (plus you need to deal with massive uncertainties about the senor(s) themselves, etc). It is something that still hasn't been completely solved; it is a very fertile ground for research and investigation, with numerous real-world applications. It even has a name:

http://en.wikipedia.org/wiki/Simultaneous_localization_and_mapping (aka SLAM)

That wikipedia article is a good first look at what SLAM is all about. Be sure to also check out the "SLAM for Dummies" link at the bottom of the article as well.

Finally, if you are really serious, I encourage you to participate in this online course as well:

http://www.udacity.com/overview/Course/cs373/CourseRev/apr2012

Note that the above course requires you to be somewhat familiar with linear algebra, statistics/probability, as well as Python (as the course uses Python for the programming portions). It is a free, work at your own pace course. Well worth it if you really want to learn the basics of SLAM, path planning, and a whole host of other Artificial Intelligence concepts...

plus you need to deal with massive uncertainties about the senor(s) themselves

Especially if you are a senorita.