iPad RTAB-Map with AprilTags

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

iPad RTAB-Map with AprilTags

admi3ev
Hello,

I'm trying to use the RTAB-Map iOS app to track my trajectory in 6dof. I want each pose of this trajectory to be in a pre-defined world frame, that is consistent between multiple sessions using the same map.

It seems that RTAB-Map is capable of automatically detecting AprilTags, and using them to compute pose information in the world frame. According to this post you can pass in AprilTag poses in the world frame using the Markers/Priors parameter in ROS.

I have a few questions:
 1. Is my understanding correct that RTAB-Map will generate poses in world-frame coordinates, if properly set-up to use AprilTags?
 2. How would I go about setting this up the iOS app? I've found the parameters for detecting the AprilTag, but how can I pass in the AprilTag's world frame pose to the program?
 3. Is it possible to show the axes (rotation) of the body in the app viewer, as well as the tracked trajectory?
 4. Is there an official manual for the app somewhere that I am just missing?

Thank you!
Reply | Threaded
Open this post in threaded view
|

Re: iPad RTAB-Map with AprilTags

matlabbe
Administrator
Hi,

1. Yes, by using Marker/Priors. See also this post.
$ rtabmap --params | grep Marker/Priors
Param: Marker/Priors = ""                                  [World prior locations of the markers. The map will be transformed in marker's
                                                            world frame when a tag is detected. Format is the marker's ID followed by its 
                                                            position (angles in rad), markers are separated by vertical line 
                                                            ("id1 x y z roll pitch yaw|id2 x y z roll pitch yaw"). 
                                                            Example:  "1 0 0 1 0 0 0|2 1 0 1 0 0 1.57" (marker 2 is 1 meter 
                                                            forward than marker 1 with 90 deg yaw rotation).]

Param: Marker/PriorsVarianceAngular = "0.001"              [Angular variance to set on marker priors.]
Param: Marker/PriorsVarianceLinear = "0.001"               [Linear variance to set on marker priors.]

2. There is no option in the iOS app to set marker priors. I just created a feature-request for this. If you are able to rebuild the app, they could be hard-coded around this section.

3. If you set the view in Third-Person, you should see the frame of the device (like in this video). For the trajectory, do you mean showing frames for every poses in the trajectory? The frames of the detected apriltags should show up in the 3D view.

In this screen shot, the iPad is held in Portrait orientation, which is 90 clock-wise degrees rotated.

4. No official manual (only that video), it is a free open source sandbox app, you would have to ask Google about an option and you would find a post on this forum or on github that would be related. Well, the official documentation would be the list of papers about RTAB-Map at the top of this page.

cheers,
Mathieu