Accurate yaw detection - IMU or external reference? - Page 1
Forum section: electronics / projects

author: huub8
author_rank: Contributor
timestamp: October 10, 2019, 02:36:54 pm
content: Hi all,I have a system of ultra-wideband transcievers (using chips from Decawave) that allows me to de accurate indoor positioning (20mm max deviation).I'm using this sytem to locate a kind of remote control. The thing is, I also need to know in which direction this remote control is pointing while moving it. To be more precise, I want to know what the spot is that it is pointing at using its inbuild lidar sensor. The angle therefor needs to be pretty precise, as the spot could be several meters away.Using an IMU I believe I'll be able to accurately calculate the roll and pitch (correct me if I'm wrong), but yaw is a problem. A magenetometer on its own is not that accurate too, so I have been reading about sensor fusion algorithms, such as the madgwick one. This does give me a yaw measurement, but I'm not sure how accurate it will be. Does anybody have any experience with this?Maybe something with directional antennas?And, if this does not work, could you think of a way to have my beacons be part of the orientation algorithm? They are at fixed locations anyways.I'm trying to find a way to use the signals of one or more of the to locate my remote. If needed, it is possible to add more to the beacons then just the ultra-wideband transciever.

author: hagster
author_rank: Frequent Contributor
timestamp: October 10, 2019, 03:20:33 pm
content: You need a 9DOF sensor. The accelerometer will tell the system which way down is and the magnetometer will help with heading. A lot of sensors will combine this together internally to give you a fused Euler orientation.Using quarternions to rotate your pointer will make things easier...honest.The worst part will be the magnetometer accuracy as this can be swayed by nearby objects. Perhaps you could have a calibration target that detects when it's being pointed at.

author: huub8
author_rank: Contributor
timestamp: October 10, 2019, 04:09:19 pm
content: Yes I do need a 9DOF sensor, but that is essentially what I was talking about (3 axis accelerometer and 3 axis gyro in the IMU, and an magnetometer). But then you still have the problem with for example changing magnetic fields in a room.I just found this article which is very interesting, it basically discusses all the 9DOF sensors out there now:https://github.com/kriswiner/MPU6050/wiki/Affordable-9-DoF-Sensor-FusionSo it would be great if i could somehow not rely so much on the magnetometer, but instead on my fixed beacons.

author: hagster
author_rank: Frequent Contributor
timestamp: October 10, 2019, 07:27:18 pm
content: Could you put a vertical retro reflector strip in the enviroment and look for a a high intensity return on the lidar? Not all Lidar will provide this output, but some do.Or switch between two antennas on your decawave and try to work out the positional difference. I assume the relative accuracy on a local scale is better than the global 20cm

author: DaJMasta
author_rank: Super Contributor
timestamp: October 10, 2019, 10:07:23 pm
content: I'd say look into VR tracking technologies. It's usually a combination of both for the best results, but commercially available controllers generally are very stable in terms of positioning and directional accuracy. The first generation Vive, for example, uses fixed location tracking beacons, but I don't know if they're used for the controllers, maybe just the headset. The controllers also each track with IMUs and are very accurate - well under 1cm in operation - because you need to be able to leave them somewhere, put the headset on, and then pick them up without actually seeing them, and it does work consistently.Still other implementations use an integrated IMU plus visual feedback from a camera - it could be that an image of the controller and some processing to determine its orientation relative to the camera could zero your calibration sufficiently to overcome magnetometer issues.It could be that the external modules do reference the controllers as a sanity check, but even if you just boot up an app on your phone that shows you the orientation readout for its integrated IMU..... they are pretty accurate and consistent.