T265 Tracking Accuracy
Hi,
I have been testing the tracking accuracy of T265 indoors as well as outdoors over different surfaces. Test is done by logging the pose data on a handheld tablet while walking around a loop. Error is calculated based on the distance between the start and end point of the loop. For outdoor tests, I also log cm level accurate GNSS positions, so I can check for scale errors as well (Loop closure error doesn't necessarily mean a good scale). Indoor loop was about 90m long and outdoor test about 150m.
Indoor accuracy was about 0.8% which is within the 1% stated accuracy of the module. However I am getting about 2.5% loop closure accuracy and -8% scale error in outdoor test walking over asphalt surface in an open-sky parking lot and really bad over grass in a park (25% error for loop closure and and a massive -38% scale).
I have seen this post (https://github.com/IntelRealSense/librealsense/issues/3970) but it looks like it mainly refers to indoors and their performance hasn't been good either (sometime 5%). I am more interested in outdoors environment with user holding a device with T265 attached to it and walking.
Has anyone tried outdoors and if so what sort of drift are you getting?
Thanks
Farshad
-
At the time of the T265's launch, an Intel representative said that the accuracy of the T265's SLAM is about the same as GPS at a range of 100 cubic meters. Whilst the primary application of T265 is likely to be indoors in locations where GPS may not be available, it has been used outdoors on a ground device and flying drone too.
Ground
https://www.youtube.com/watch?v=HTWkCYam79Y
Sky
https://www.youtube.com/watch?v=KOF9GndtruA
Some users asked whether it would be possible to disable loop closure to get better results. The Intel team suggested turning off pose jumping by disabling an instruction called RS2_OPTION_ENABLE_POSE_JUMPING
When pose jumping is enabled, it "allows the device to discontinuously jump its pose whenever it discovers its pose is inconsistent with one it has given before. For example, after walking in a circle or covering the camera (getting a small drift) and uncovering it".
https://github.com/IntelRealSense/librealsense/commit/de76d3a1bdd094100a3985e4dd3273e8e1fd2bb6
-
Thanks MartyG for your comments.
The statement that accuracy is the same as GPS is a bit of vague statement. I have access to GPS that is accurate to a few centimeter and other GPS that are accurate to a few meters- Also GPS does not have drift, so the length of travel is important in stating accuracy of a tracker, and whether re-localization is used in loop closure to correct for the drift at the end of the loop.
In my testing I have used the RS2_OPTION_ENABLE_MAPPING set to both enable and disabled with RS2_OPTION_ENABLE_POSE_JUMPING and RS2_OPTION_ENABLE_RELOCALIZATION also enabled and disabled but the best result I was getting are the ones I have reported.
The YouTube videos didn't really show the accuracy which was achieved (apart from a comment on the wheeled robot on a small path that did 'pretty amazingly' on the first loop and 'out of wack' after a couple of loops which isn't that scientific)
I appreciate any other comments or test results or suggestions as to how the tracking performance can be improved.
-
The link below has carefully constructed accuracy tests that somebody did with T265.
https://jaspereb.github.io/TestingRealsenseT265/
For wheeled ground robots, it is also highly recommended that wheel odometry inputs are used.
https://github.com/IntelRealSense/librealsense/blob/master/doc/t265.md#notes--known-issues
Please sign in to leave a comment.
Comments
3 comments