mapping with zed odometry

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

mapping with zed odometry

hurin
This post was updated on .
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: mapping with zed odometry

matlabbe
Administrator
Hi Adams,

It seems to be a TF problem when using zed odometry. Just tried the latest zed_wrapper with this launch file and with/without zed odometry it should work:
<launch>
   <arg name="use_zed_odometry" default="false"/>
   <arg name="rtabmap_args"     default="--delete_db_on_start"/>
   <arg name="run_rviz"         default="false"/>

   <group ns="camera">
      <include file="$(find zed_wrapper)/launch/zed_camera.launch">
         <arg name="publish_tf" value="$(arg use_zed_odometry)"/>
      </include>
   </group>

   <include file="$(find rtabmap_ros)/launch/rtabmap.launch">
      <arg name="rtabmap_args" value="$(arg rtabmap_args)"/>
      <arg name="frame_id"     value="zed_center"/>
      <arg name="approx_sync"  value="false"/>
      <arg name="depth_topic"  value="/camera/depth/depth_registered"/>
      <arg name="rviz"         value="$(arg run_rviz)"/>

      <arg if="$(arg use_zed_odometry)" name="visual_odometry" value="false"/>
      <arg if="$(arg use_zed_odometry)" name="odom_topic"      value="/camera/odom"/>
   </include>
</launch>

Run with or without zed odometry:
$ roslaunch test.launch use_zed_odometry:=true

$ roslaunch test.launch use_zed_odometry:=false

The only problem I see is when ZED odometry gets lost, rtabmap cannot know it is lost, so it cannot trigger a new map to correctly add frames when odometry is estimating again. When zed odometry can estimate again, it continues from the last pose even if the camera has moved/rotated during the time it was lost. For meaningful comparison, make sure zed odometry is always able to track motion.

cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: mapping with zed odometry

hurin
CONTENTS DELETED
The author has deleted this message.
Reply | Threaded
Open this post in threaded view
|

Re: mapping with zed odometry

matlabbe
Administrator
Hi Adam,  

If tf between camera_link and zed_center is identity, yes it would give the same results.

Cheers,
Mathieu
Reply | Threaded
Open this post in threaded view
|

Re: mapping with zed odometry

Shram32
In reply to this post by matlabbe
Hello, matlabbe!
I'm using zed on Jetson tx2 with rtabmap and selected it as odometry source.
And I have a problem with tracking lost too. Is there any workaround? Can I say to rtabmap that odometry lost. Would visual odometry from rtabmap be efficient as odometry from zed which uses cuda?
Thank you!
Reply | Threaded
Open this post in threaded view
|

Re: mapping with zed odometry

matlabbe
Administrator
Are you on ros or standalone? In my memory, the example with Zed shown on this page worked ok: http://wiki.ros.org/rtabmap_ros/Tutorials/HandHeldMapping

With the jetson, maybe the framerate is lower. What is the frame rate of the published zed topics?

Cheers,
Mathieu