Robots of the future will be in the home, and ready to do whatever job we tell them to do. But they’ll need to know where they are within the house. Dead reckoning with accelerometers and gyroscopes are just a sufficient solution; what we really need is an indoor location service. For his Hackaday Prize entry, [Göran] is doing just that. He’s building a small device that will find its position with 10 cm precision, indoors.
[Göran]’s LPS Mini is built around a very interesting part – the Decawave DWM100. It’s a module that uses an 802.15 radio to trilaterate the distance from several ‘anchors’ to a tag. This, by itself, gives the LPS Mini a navigation system with 10 cm precision. Even higher precision can be accomplished with an IMU gathering accelerometer, gyro, and compass data, and even further with a tiny altimeter. The result is a tiny board that knows exactly where it is.
As far as practical uses go, these LPS Mini boards were used to move beds around an art exhibit at Hayward Gallery in London. While moving beds around an art gallery doesn’t sound like a game-changing invention, think about the uses for GPS in the 1980s – no one could have imagined a chip that would tell you where you are or that could keep a quadcopter on the right heading.
You can check out [Göran]’s video for the LPS Mini below.
https://www.youtube.com/watch?v=KBwRA4_oRe0&feature=youtu.be
I LOL’d at the “next step”: Putting the sensor on a cat along with a buzzer to establish a “fence” so that if the cat jumps on the counter, the buzzer goes off. “Only problem is I haven’t got a cat, but that’s a problem that is easily solved.”
Awesome.
Sounds like northern europe humor. I guess Finland or Sweden ;)
Spot on! Sweden it is! :-)
That is assuming that you can make something that can stay on the cat’s collar that can handle a few dozen scratching by the cat’s hide leg daily assuming that the cat tolerate the new collar at all.
Some problems don’t need solving.: -)
So what these modules cost and where I can buy them?
Just RF module costs $25 and IC costs $12.5. I think it’s a little bit pricey.
http://www.semiconductorstore.com/cart/pc/viewPrd.asp?idproduct=50013
Well this isnt a china clone, that’s reasonable price for a RF module.
Working on something similar. Just pairing it with a Teensy 3.2 instead. The altimeter is a smart touch. As for getting accurate positioning results the anchor positions are key. XY is easy Z is hard, so the altimeter comes in handy.
“XY is easy Z”
only if the anchor beacons are all in one xy-plane. Add one beacon on the ceiling (assuming up is Z+ or Z-) and you’re good.
Well, I mean that you need to know the correct positions of the anchors in order to get an accurate result of the tag location. Any error in anchor coordinates will reflect in the tag position (mainly in the Z position of the tag). It is relatively easy to determine anchor X, Y position as long as the anchors are in the same z-plane. Anchors can do this themselves using inter anchor distances. But how do you know they are in the same z-plane? Imagine mounting them in a field, measuring the distance to the ground will not give you a good Z unless the whole field is level.
A ceiling beacon can only help you with the choice of Z- or Z+ but will suffer from the same Z-pos problem as described above. Using the altimeter you will have a good indication of Zpos regardless of the terrain you are deploying your anchors in.
Right now I am not using the altimeter approach and measuring the Z by hand. X and Y are determined from the inter anchor distances (corrected by Z diff). But because of the manual Z measurement this still results in unreliable tag z-pos results.
You’re getting error because your beacons are on a plane and you are trying to make a calculation beyond that space. You are pursuing adding another beacon to augment that additional space. If you still used 3 beacons it would still be a plane and would not suffice. You would need at least 4 beacons to fully define additional space. The 4 beacons would use triangulation the same to determine relative positions. Please do not measure anything by hand. LOL
Yes I know hand measuring is bad. We are using a laser rangefinder, but still. That’s why I dig the altimeter approach.
As for xyz determination we use trilateration ( like GPS ) which uses the intersection of three spheres. If the spheres’ origins are correct and so are the distances, these would intersect in just one point. But since we live in an imperfect world it usually is two points. Adding a fourth sphere will only give us the correct one of these two results. But without the fourth sphere, choosing the right result is not an issue if the tag can for instance only be below the anchors ( like GPS again ). But I do not see how adding that fourth anchor can give us a more precise z result. I’d love to hear I am missing something here though.
Right now in practice it looks like the distance error is averaged over x and y and summed for z. ( xy position jumps are a lot smaller than z position jumps ). The better the anchor position is defined the less these errors get.
These modules are great and really have an impressive performance.
Adding more reference points will give you more precision by averaging the error. The z axis will benefit greatly by having reference point that is “directly” aligned to its axis displacement. It’s literally the same as adding an altimeter but using triangulation.
I am trying to make a similar setup myself. If you don’t mind sharing, how did you manage to interface the DW1000 with the Teensy? I attempted to patch the arduino DW1000 library, but so far no luck.
We still need to do that, but as the module talks to the uC via SPI it should be just a matter of configuring the right pins. Right now we still run the dev boards
Why don’t just use ESP8266 with little battery and few as Wi-FI towers and checking the strength of the signal ? It’s much cheaper solution in my opinion
Something similar to google Geo Location but in home.
http://www.codeproject.com/Articles/63747/Exploring-GoogleGears-Wi-Fi-Geo-Locator-Secrets
Cheap china wifi IC vs IC designed for professional use and specifically for usage in ranging and location. Dont you think that there will be big diffrences in usability?
because wifi signal strength is poorly correlated to distance from the receiver on the scales and within geometries that are important for this application, probably as evidenced by the other guy attempting this method which was featured a few days ago?
because walls
Seems like you could do also use IR beacons to do the same thing.
There should be a law against handheld camera use.
Yes! We need this law! In addition, we’ll need the lawmakers to provide every citizen with professional video, lighting, and sound equipment, and provide training to use said equipment to take good, professional, non-shaky videos. Let’s also outlaw cameras on phones because, seriously, how can we make solid videos while we are FaceCracking or Twitching?! Oh Oh – and mandate that every other camera has smooth-move technology! We don’t want sensitive people like [Rodney McKay] to be upset because of a little shaking video! Think of the children!!!!
(Y’know, I could have just replied saying we need to outlaw stupid comments like [Rodney’s], but writing this was much more satisfying.)
Great positioning system! But I’d rather like to comment on the art part of this project:
If an artist decides to make beds which move around automatically in an art space – and builds everything so that this actually works, I think this is really great!
But if an artist decides to make beds which move around automatically in an art space – and then hires someone to make this actually happen, I find it quite lame.
I’m not purposefully knocking it, but I just can’t see a robot in my home, it’s too cramped and there are stairs and all, even if you made an android as versatile ST:NG’s mr data it would be an inconvenience.
And small ones would make me trip over them, so I really don’t see it.
And the ceiling is plasterboard and would not be able to hold a hanging robot either.
And I expect it’s the same for an awful lot of people, especially in cities.