Hi all,
I am working on my own URDF in ROS2 navigation using cartographer.
During mapping, parts of the maps tend to duplicate and sometimes form in an almost fidgeting way. i have tried changing the values in the “.lua” parameter file, update rates etc,but that did not resolve the issue.
When i decreased the speed it works as intended, but sometimes it doesn’t.
Attaching images.
Trial 1:
Trial 2:
Trial 3:
I tested the same using Turtlebot3 and it works great, attaching:
also attaching the parameter files:
include "map_builder.lua"
include "trajectory_builder.lua"
options = {
map_builder = MAP_BUILDER,
trajectory_builder = TRAJECTORY_BUILDER,
map_frame = "map",
tracking_frame = "base_footprint",
-- tracking_frame = "base_link",
published_frame = "odom",
odom_frame = "odom",
provide_odom_frame = false,
publish_frame_projected_to_2d = true,
use_odometry = true,
-- use_nav_sat = false,
use_nav_sat = true,
-- use_landmarks = false,
use_landmarks = true,
num_laser_scans = 1,
num_multi_echo_laser_scans = 0,
num_subdivisions_per_laser_scan = 1,
num_point_clouds = 0,
-- lookup_transform_timeout_sec = 0.2,
lookup_transform_timeout_sec = 0.02,
-- submap_publish_period_sec = 0.3,
submap_publish_period_sec = 0.03,
pose_publish_period_sec = 5e-3,
trajectory_publish_period_sec = 30e-3,
rangefinder_sampling_ratio = 1.,
odometry_sampling_ratio = 1.,
fixed_frame_pose_sampling_ratio = 1.,
imu_sampling_ratio = 1.,
landmarks_sampling_ratio = 1.,
}
MAP_BUILDER.use_trajectory_builder_2d = true
-- TRAJECTORY_BUILDER_2D.min_range = 0.12
TRAJECTORY_BUILDER_2D.min_range = 0.05
-- TRAJECTORY_BUILDER_2D.max_range = 3.5
TRAJECTORY_BUILDER_2D.max_range = 5
TRAJECTORY_BUILDER_2D.missing_data_ray_length = 3.0
-- TRAJECTORY_BUILDER_2D.use_imu_data = false
TRAJECTORY_BUILDER_2D.use_imu_data = true
TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true
TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)
-- POSE_GRAPH.constraint_builder.min_score = 0.65
POSE_GRAPH.constraint_builder.min_score = 0.8
-- POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7
POSE_GRAPH.constraint_builder.global_localization_min_score = 0.9
-- POSE_GRAPH.optimize_every_n_nodes = 0.2
-- POSE_GRAPH.optimize_every_n_nodes = 0.2
I have been stuck on this a while, kindly support.