鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    在仿真环境中,cartographer使用odom建图的时候,机器人向前行驶,rviz中显示机器人不动,map往后行驶,tf显示map和base footprint在一起,odom在往后行驶

    已定时 已固定 已锁定 已移动 未解决
    综合问题
    cartographer建图 gazebo 仿真
    1
    1
    58
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 小丑汪小
      WOW995
      最后由 编辑

      b2ec0b47-e5e7-44bd-ae30-483385b89753-screenshot-20250422-114158.png /home/ubuntu/Pictures/screenshot-20250422-114158.png
      在仿真环境中,cartographer使用odom建图的时候,机器人向前行驶,rviz中显示机器人不动,map往后行驶,tf显示map和base footprint在一起,odom在往后行驶,下面是使用的lua参数,

      include "trajectory_builder.lua"
      
      options = {
        map_builder = MAP_BUILDER,
        trajectory_builder = TRAJECTORY_BUILDER,
        map_frame = "map",
        tracking_frame = "base_link",
        -- base_link改为odom,发布map到odom之间的位姿态
        published_frame = "odom",
        odom_frame = "odom",
        -- true改为false,不用提供里程计数据
        provide_odom_frame = false,
        -- false改为true,仅发布2D位资
        publish_frame_projected_to_2d = true,
        -- false改为true,使用里程计数据
        use_odometry = true,
        use_pose_extrapolator = false,
        use_nav_sat = false,
        use_landmarks = false,
        -- 0改为1,使用一个雷达
        num_laser_scans = 1,
        -- 1改为0,不使用多波雷达
        num_multi_echo_laser_scans = 0,
        -- 10改为1,1/1=1等于不分割
        num_subdivisions_per_laser_scan = 1,
        num_point_clouds = 0,
        lookup_transform_timeout_sec = 0.2,
        submap_publish_period_sec = 0.3,
        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.,
        publish_tracked_pose = false,
      }
      
      
      -- false改为true,启动2D SLAM
      MAP_BUILDER.use_trajectory_builder_2d = true
      TRAJECTORY_BUILDER_2D.submaps.grid_options_2d.resolution =0.02
      
      -- 0改成0.10,比机器人半径小的都忽略
      TRAJECTORY_BUILDER_2D.min_range = 0.3
      -- 30改成3.5,限制在雷达最大扫描范围内,越小一般越精确些
      TRAJECTORY_BUILDER_2D.max_range = 30 --3.5
      -- 5改成3,传感器数据超出有效范围最大值
      TRAJECTORY_BUILDER_2D.missing_data_ray_length = 3.
      -- true改成false,不使用IMU数据,大家可以开启,然后对比下效果
      TRAJECTORY_BUILDER_2D.use_imu_data = false
      -- false改成true,使用实时回环检测来进行前端的扫描匹配
      TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matching = true 
      -- 1.0改成0.1,提高对运动的敏感度
      TRAJECTORY_BUILDER_2D.motion_filter.max_angle_radians = math.rad(0.1)
      
      -- 0.55改成0.65,Fast csm的最低分数,高于此分数才进行优化。
      POSE_GRAPH.constraint_builder.min_score = 0.65
      --0.6改成0.7,全局定位最小分数,低于此分数则认为目前全局定位不准确
      POSE_GRAPH.constraint_builder.global_localization_min_score = 0.7
      
      -- 设置0可关闭全局SLAM
      -- POSE_GRAPH.optimize_every_n_nodes = 0
      
      return options
      
      1 条回复 最后回复 回复 引用 0
      • 第一个帖子
        最后一个帖子
      皖ICP备16016415号-7
      Powered by NodeBB | 鱼香ROS