Map Below grid/ground

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

Map Below grid/ground

ipin
This post was updated on .
Dear All,

hoping you have have a nice day,
i wish to ask some question here which i couldnt figureout myself

actually, after some search, i did found one problem similar to mine here
Below-ground-flat-floor-detection

however the structure was a lot different.
therefore i want to know if anyone could help me here with this rtabmap
to bring my map above grid/ground

i had also search over rtabmap parameter but there is nothing i found such as setting the camera height or something similar


while from previous case above was solved by transformation, from camera_link to base_link....
but in my case, i dont know what to do...

my frame id now is t265_link

2nd question: why the octomap_grid on 2nd pic have gray line on the grid map?












Reply | Threaded
Open this post in threaded view
|

Re: Map Below grid/ground

matlabbe
Administrator
The map will be at the same height of the frame_id set in rtabmap. In general we set that frame to base_footprint so that occupancy grid is directly on the global xy plane.

The problem here is that t265 reference odometry frame may be the camera, not the base of the robot. You may look at the hack in this page http://wiki.ros.org/rtabmap_ros/Tutorials/Tango%20ROS%20Streamer#Turtlebot to offset Tango odometry frame (similar to T265).
Reply | Threaded
Open this post in threaded view
|

Re: Map Below grid/ground

gian
This post was updated on .
Hello Mathieu, I wish you have a good 2021 !

I'm trying to use your Tango hack for a t265 mounted on a robot a 0.7 from the ground

 
<!-- Adjust these transforms on where Tango is fixed on the robot (should be landscape to get laser scans right). When Tango odometry is used, we need to offset /start_of_service to actual camera pose, then set /base_footprint relative to /device  1.5707963267948966 -->
  <node if="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="device_base_link" args="-0.3 0 0 0 1.5707963267948966 0 device base_footprint 100" /> 
  <node if="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="odom_start_of_service_link" args="0 0 0.3 0 0 0 odom start_of_service 100" /> 
  <node unless="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="base_device_link" args="0 0 0.3 0 0 0 device base_link 100" /> 

I did the following modifications

device -> t265_link
start_of_service -> t265_odom_frame  ( is published by realsense manager)


  <node if="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="device_base_link" args="0 0 -0.7 0 0 0 t265_link base_footprint 100" />
  <node if="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="odom_start_of_service_link" args="0 0 0.7 0 0 0 odom t265_odom_frame 100" />
  <node unless="$(arg tango_odometry)" pkg="tf" type="static_transform_publisher" name="base_device_link" args="0 0 0.7 0 0 0 t265_link base_link 100" /> 


Do you think that these modifications are correct ?

Thanks a lot !
Regards
gian
Reply | Threaded
Open this post in threaded view
|

Re: Map Below grid/ground

matlabbe
Administrator
Hi, have a good 2021 too!

It seems okay, but it would be easier to see the difference when showing TF in RVIZ.
Reply | Threaded
Open this post in threaded view
|

Re: Map Below grid/ground

gian
Thank you Mathieu !
Regards
gian