Login  Register

what is the function of slam2d

classic Classic list List threaded Threaded
9 messages Options Options
Embed post
Permalink
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

what is the function of slam2d

Masoumeh
158 posts
hi mattieu,

what does SLAM2d is? and what does it do?
In https://github.com/introlab/rtabmap_ros/blob/master/launch/demo/demo_husky.launch, number 4.

         4) 3DoF mapping with 3D LiDAR
            $ roslaunch rtabmap_ros demo_husky.launch lidar3d:=true slam2d:=true
you mentioned this setting, but when i activate it, i have a lot of jerky movement in the velodyne_points in rviz. it is not matched with the 2d map!

I want to know more about it
thanks
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

Masoumeh
158 posts
hi mattieu,

would you please help me to understand what does this parameter do??
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

matlabbe
Administrator
4465 posts
When you set slam2d:=true for this launch file, it sets "--Reg/Force3DoF" to true:

$ rtabmap --params | grep Reg/Force3DoF
Param: Reg/Force3DoF = "false"   [Force 3 degrees-of-freedom transform (3Dof: x,y and yaw). Parameters z, roll and pitch will be set to 0.]

On graph optimization, we only optimize x,y,yaw parameters.
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

Masoumeh
158 posts
Dear Mattieu,
when i activate slam2d, in Rviz i can see that the robot is start moving a lot. why?
totally, when is it better to activate slam2d?
I am using rtabmap as map provider and 2 instances of robot-localization package. I want to do navigation based on gps.

thanks
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

matlabbe
Administrator
4465 posts
A video of the issue could help to see the problem. slam2d enables 3DoF optimization, input odometry poses should also be 3DoF to work.
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

Masoumeh
158 posts
Dear Mattieu, I have uploaded into youtube:
https://www.youtube.com/watch?v=NoCABfVNqRc

thanks
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

matlabbe
Administrator
4465 posts
Hi,

Do you have more than one odometry? It is like there are multiple nodes publishing on same TF. Is icp_odometry using guess_frame_id? I would check if the input guess is valid first.
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

Masoumeh
158 posts
This post was updated on Jan 20, 2022; 11:22am.
when i activate icp-odometry, guess_frame_id is also activated.

 it is the setting that hase been defined in https://github.com/introlab/rtabmap_ros/blob/master/launch/demo/demo_husky.launch

in the main launch file (https://github.com/introlab/rtabmap_ros/blob/master/launch/rtabmap.launch) it has been set:
param name="guess_frame_id"    type="string" value="$(arg odom_guess_frame_id)"

and when i activate icp_odometry, guess_fame_id is activated as well, because:
(pay attention to the second line in the following part)
 
    <arg if="$(arg icp_odometry)" name="icp_odometry" value="true" />
    <arg if="$(arg icp_odometry)" name="odom_guess_frame_id" value="odom" />
    <arg if="$(arg icp_odometry)" name="vo_frame_id" value="icp_odom" />
    <arg unless="$(arg slam2d)"   name="wait_imu_to_init" value="true" />
    <arg if="$(arg lidar3d)"      name="odom_args" value="--Icp/CorrespondenceRatio 0.01"/>

How can i identify that two topics are publishing the same thing??

Thanks a lot
Reply | Threaded
Open this post in threaded view
| More
Print post
Permalink

Re: what is the function of slam2d

Masoumeh
158 posts
In reply to this post by matlabbe
Dear Mattiue,
again I have this problem:
https://www.youtube.com/watch?v=M1KqZTKvekI

would you please guide me what to do? how can i fix it?
Note:
I have used rtabmap as map provider, and two instances of robot-localization pkg. I have merged /rtabmap/odom and /rtabmap/localization_pose with the global odometry information, for the case that gps is not available, it moves based on rtabmap. I have 3d lidar, rtk-gps, imu, wheel odometer

kind regards