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

    【已解决】ros2 galactic 使用astra s相机运行rtabmap无法建图(可以生成单帧点云)

    已定时 已固定 已锁定 已移动 已解决
    ROS 2相关问题
    galactic rtabmap 无法建图
    4
    6
    1.2k
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • 张宏瑞张
      张宏瑞
      最后由 张宏瑞 编辑

      这边单独运行相机节点发布了rgb和depth数据,然后修改rtabmap.launch.py内部参数如下

      # Arguments
              DeclareLaunchArgument('stereo', default_value='false', description='Use stereo input instead of RGB-D.'),
      
              DeclareLaunchArgument('localization', default_value='false', description='Launch in localization mode.'),
              DeclareLaunchArgument('rtabmapviz',   default_value='true',  description='Launch RTAB-Map UI (optional).'),
              DeclareLaunchArgument('rviz',         default_value='false', description='Launch RVIZ (optional).'),
      
              DeclareLaunchArgument('use_sim_time', default_value='false', description='Use simulation (Gazebo) clock if true'),
      
              # Config files
              DeclareLaunchArgument('cfg',      default_value='',                        description='To change RTAB-Map\'s parameters, set the path of config file (*.ini) generated by the standalone app.'),
              DeclareLaunchArgument('gui_cfg',  default_value='~/.ros/rtabmap_gui.ini',  description='Configuration path of rtabmapviz.'),
              DeclareLaunchArgument('rviz_cfg', default_value=config_rviz,               description='Configuration path of rviz2.'),
      
              DeclareLaunchArgument('frame_id',       default_value='camera_link',          description='Fixed frame id of the robot (base frame), you may set "base_link" or "base_footprint" if they are published. For camera-only config, this could be "camera_link".'),
              DeclareLaunchArgument('odom_frame_id',  default_value='',                   description='If set, TF is used to get odometry instead of the topic.'),
              DeclareLaunchArgument('map_frame_id',   default_value='map',                description='Output map frame id (TF).'),
              DeclareLaunchArgument('publish_tf_map', default_value='true',               description='Publish TF between map and odomerty.'),
              DeclareLaunchArgument('namespace',      default_value='rtabmap',            description=''),
              DeclareLaunchArgument('database_path',  default_value='~/.ros/rtabmap.db',  description='Where is the map saved/loaded.'),
              DeclareLaunchArgument('queue_size',     default_value='20',                 description=''),
              DeclareLaunchArgument('qos',            default_value='2',                  description='General QoS used for sensor input data: 0=system default, 1=Reliable, 2=Best Effort.'),
              DeclareLaunchArgument('wait_for_transform', default_value='0.2',            description=''),
              DeclareLaunchArgument('rtabmap_args',   default_value='',                   description='Backward compatibility, use "args" instead.'),
              DeclareLaunchArgument('launch_prefix',  default_value='',                   description='For debugging purpose, it fills prefix tag of the nodes, e.g., "xterm -e gdb -ex run --args"'),
              DeclareLaunchArgument('output',         default_value='screen',             description='Control node output (screen or log).'),
              
              DeclareLaunchArgument('ground_truth_frame_id',      default_value='', description='e.g., "world"'),
              DeclareLaunchArgument('ground_truth_base_frame_id', default_value='', description='e.g., "tracker", a fake frame matching the frame "frame_id" (but on different TF tree)'),
              
              DeclareLaunchArgument('approx_sync',  default_value='true',       description='If timestamps of the input topics should be synchronized using approximate or exact time policy.'),
      
              # RGB-D related topics
              DeclareLaunchArgument('rgb_topic',           default_value='/camera/color/image_raw', description=''),
              DeclareLaunchArgument('depth_topic',         default_value='/camera/depth/image_raw', description=''),
              DeclareLaunchArgument('camera_info_topic',   default_value='/camera/depth/camera_info',description=''),
              
              # Stereo related topics
              DeclareLaunchArgument('stereo_namespace',        default_value='/stereo_camera', description=''),
              DeclareLaunchArgument('left_image_topic',        default_value=[LaunchConfiguration('stereo_namespace'), '/left/image_rect_color'], description=''),
              DeclareLaunchArgument('right_image_topic',       default_value=[LaunchConfiguration('stereo_namespace'), '/right/image_rect'], description='Use grayscale image for efficiency'),
              DeclareLaunchArgument('left_camera_info_topic',  default_value=[LaunchConfiguration('stereo_namespace'), '/left/camera_info'], description=''),
              DeclareLaunchArgument('right_camera_info_topic', default_value=[LaunchConfiguration('stereo_namespace'), '/right/camera_info'], description=''),
              
              # Use Pre-sync RGBDImage format
              DeclareLaunchArgument('rgbd_sync',        default_value='false',      description='Pre-sync rgb_topic, depth_topic, camera_info_topic.'),
              DeclareLaunchArgument('approx_rgbd_sync', default_value='true',       description='false=exact synchronization.'),
              DeclareLaunchArgument('subscribe_rgbd',   default_value=LaunchConfiguration('rgbd_sync'), description='Already synchronized RGB-D related topic, e.g., with rtabmap_ros/rgbd_sync nodelet.'),
              DeclareLaunchArgument('rgbd_topic',       default_value='rgbd_image', description=''),
              DeclareLaunchArgument('depth_scale',      default_value='1.0',        description=''),
              
              # Image topic compression
              DeclareLaunchArgument('compressed',            default_value='false', description='If you want to subscribe to compressed image topics'),
              DeclareLaunchArgument('rgb_image_transport',   default_value='compressed', description='Common types: compressed, theora (see "rosrun image_transport list_transports")'),
              DeclareLaunchArgument('depth_image_transport', default_value='compressedDepth', description='Depth compatible types: compressedDepth (see "rosrun image_transport list_transports")'),
             
              # LiDAR
              DeclareLaunchArgument('subscribe_scan',       default_value='false',       description=''),
              DeclareLaunchArgument('scan_topic',           default_value='/scan',       description=''),
              DeclareLaunchArgument('subscribe_scan_cloud', default_value='false',       description=''),
              DeclareLaunchArgument('scan_cloud_topic',     default_value='/scan_cloud', description=''),
              DeclareLaunchArgument('scan_normal_k',        default_value='0',           description=''),
              
              # Odometry
              DeclareLaunchArgument('visual_odometry',            default_value='true',  description='Launch rtabmap visual odometry node.'),
              DeclareLaunchArgument('icp_odometry',               default_value='false', description='Launch rtabmap icp odometry node.'),
              DeclareLaunchArgument('odom_topic',                 default_value='odom',  description='Odometry topic name.'),
              DeclareLaunchArgument('vo_frame_id',                default_value=LaunchConfiguration('odom_topic'), description='Visual/Icp odometry frame ID for TF.'),
              DeclareLaunchArgument('publish_tf_odom',            default_value='true',  description=''),
              DeclareLaunchArgument('odom_tf_angular_variance',   default_value='0.01',    description='If TF is used to get odometry, this is the default angular variance'),
              DeclareLaunchArgument('odom_tf_linear_variance',    default_value='0.001',   description='If TF is used to get odometry, this is the default linear variance'),
              DeclareLaunchArgument('odom_args',                  default_value='',      description='More arguments for odometry (overwrite same parameters in rtabmap_args).'),
              DeclareLaunchArgument('odom_sensor_sync',           default_value='false', description=''),
              DeclareLaunchArgument('odom_guess_frame_id',        default_value='',      description=''),
              DeclareLaunchArgument('odom_guess_min_translation', default_value='0.0',   description=''),
              DeclareLaunchArgument('odom_guess_min_rotation',    default_value='0.0',   description=''),
      
      
      

      运行的时候rtabmapiz控制台会报错

      util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      

      873196ed-7eed-4112-9137-cc039068b83b-image.png
      不建图 只显示单帧数据
      初学小菜鸟求解

      终端里面看起来视觉里程计也不太正常

      [rgbd_odometry-1] [INFO] [1663398187.567110256] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.010347s
      [rgbd_odometry-1] [INFO] [1663398187.576459463] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008404s
      [rgbd_odometry-1] [INFO] [1663398187.659465616] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012715s
      [rgbd_odometry-1] [INFO] [1663398187.668895425] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008550s
      [rgbd_odometry-1] [INFO] [1663398187.677696538] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007952s
      [rgbd_odometry-1] [INFO] [1663398187.761097371] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.011698s
      [rgbd_odometry-1] [INFO] [1663398187.770419207] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008257s
      [rgbd_odometry-1] [INFO] [1663398187.779528887] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008267s
      [rgbd_odometry-1] [INFO] [1663398187.859531168] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012646s
      [rgbd_odometry-1] [INFO] [1663398187.868233829] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007911s
      [rgbd_odometry-1] [INFO] [1663398187.877549215] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008469s
      [rgbd_odometry-1] [INFO] [1663398187.954169813] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.014044s
      [rgbd_odometry-1] [INFO] [1663398187.966101802] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.010370s
      [rgbd_odometry-1] [INFO] [1663398187.975220213] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008089s
      [rgbd_odometry-1] [INFO] [1663398188.061192398] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013515s
      [rgbd_odometry-1] [INFO] [1663398188.070477343] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008116s
      [rgbd_odometry-1] [INFO] [1663398188.154086911] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013209s
      [rgbd_odometry-1] [INFO] [1663398188.163276074] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008290s
      [rgbd_odometry-1] [INFO] [1663398188.171984495] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008008s
      [rgbd_odometry-1] [INFO] [1663398188.256393842] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012317s
      [rgbd_odometry-1] [INFO] [1663398188.266197199] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008756s
      [rgbd_odometry-1] [INFO] [1663398188.275826993] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008637s
      [rtabmap-2] [INFO] [1663398188.298330109] [rtabmap.rtabmap]: rtabmap (886): Rate=1.00s, Limit=0.000s, Conversion=0.0011s, RTAB-Map=0.0394s, Maps update=0.0011s pub=0.0000s (local map=1, WM=91)
      [rgbd_odometry-1] [INFO] [1663398188.353489587] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009776s
      [rgbd_odometry-1] [INFO] [1663398188.365871727] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.011197s
      [rgbd_odometry-1] [INFO] [1663398188.456308309] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012305s
      [rgbd_odometry-1] [INFO] [1663398188.465904362] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008395s
      [rgbd_odometry-1] [INFO] [1663398188.561805348] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.010105s
      [rgbd_odometry-1] [INFO] [1663398188.570939979] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007963s
      [rgbd_odometry-1] [INFO] [1663398188.580873370] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008837s
      [rgbd_odometry-1] [INFO] [1663398188.656436723] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.011586s
      [rgbd_odometry-1] [INFO] [1663398188.665989805] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008765s
      [rgbd_odometry-1] [INFO] [1663398188.674980852] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008231s
      [rgbd_odometry-1] [INFO] [1663398188.760119437] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012440s
      [rgbd_odometry-1] [INFO] [1663398188.769558146] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008428s
      [rgbd_odometry-1] [INFO] [1663398188.856946555] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.010834s
      [rgbd_odometry-1] [INFO] [1663398188.866650130] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008819s
      [rgbd_odometry-1] [INFO] [1663398188.958472057] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.010210s
      [rgbd_odometry-1] [INFO] [1663398188.969012183] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009272s
      [rgbd_odometry-1] [INFO] [1663398188.977962460] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008188s
      [rgbd_odometry-1] [INFO] [1663398189.060579573] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012241s
      [rgbd_odometry-1] [INFO] [1663398189.070776441] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008862s
      [rgbd_odometry-1] [INFO] [1663398189.164213736] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012140s
      [rgbd_odometry-1] [INFO] [1663398189.173621654] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008350s
      [rgbd_odometry-1] [INFO] [1663398189.258661907] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013464s
      [rgbd_odometry-1] [INFO] [1663398189.267545912] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007793s
      [rgbd_odometry-1] [INFO] [1663398189.278019196] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009486s
      [rtabmap-2] [INFO] [1663398189.300369068] [rtabmap.rtabmap]: rtabmap (887): Rate=1.00s, Limit=0.000s, Conversion=0.0007s, RTAB-Map=0.0393s, Maps update=0.0014s pub=0.0000s (local map=1, WM=91)
      [rgbd_odometry-1] [INFO] [1663398189.360101207] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007820s
      [rgbd_odometry-1] [INFO] [1663398189.416060394] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013199s
      [rgbd_odometry-1] [INFO] [1663398189.459732742] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013063s
      [rgbd_odometry-1] [INFO] [1663398189.564018531] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012771s
      [rgbd_odometry-1] [INFO] [1663398189.574200748] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008654s
      [rgbd_odometry-1] [INFO] [1663398189.583941935] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008913s
      [rgbd_odometry-1] [INFO] [1663398189.659493997] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012491s
      [rgbd_odometry-1] [INFO] [1663398189.668725600] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008498s
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:04.973) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.154) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.349) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.454) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.561) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.671) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.772) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:05.951) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.057) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.170) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.278) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.378) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.478) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.653) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.759) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.864) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:06.969) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.071) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.175) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.356) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.459) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.577) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.762) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:07.879) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.062) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.258) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.457) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.563) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.676) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.857) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:08.959) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.062) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.165) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.271) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.417) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.565) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid
      [rgbd_odometry-1] [INFO] [1663398189.678191080] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008484s
      [rgbd_odometry-1] [INFO] [1663398189.758836876] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012958s
      [rgbd_odometry-1] [INFO] [1663398189.768478489] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008805s
      [rgbd_odometry-1] [INFO] [1663398189.777609651] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008430s
      [rgbd_odometry-1] [INFO] [1663398189.862392836] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013230s
      [rgbd_odometry-1] [INFO] [1663398189.872169654] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008953s
      [rgbd_odometry-1] [INFO] [1663398189.881003328] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.007995s
      [rgbd_odometry-1] [INFO] [1663398189.959873730] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.011876s
      [rgbd_odometry-1] [INFO] [1663398189.969237688] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008533s
      [rgbd_odometry-1] [INFO] [1663398189.978436890] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008343s
      [rgbd_odometry-1] [INFO] [1663398190.064016056] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013015s
      [rgbd_odometry-1] [INFO] [1663398190.073340082] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008528s
      [rgbd_odometry-1] [INFO] [1663398190.082695849] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008457s
      [rgbd_odometry-1] [INFO] [1663398190.166727006] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.012962s
      [rgbd_odometry-1] [INFO] [1663398190.177161550] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009585s
      [rgbd_odometry-1] [INFO] [1663398190.186435954] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.008062s
      [rgbd_odometry-1] [INFO] [1663398190.266314901] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.013465s
      [rgbd_odometry-1] [INFO] [1663398190.276995540] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009441s
      [rgbd_odometry-1] [INFO] [1663398190.287504845] [rtabmap.rgbd_odometry]: Odom: quality=0, std dev=99.995000m|99.995000rad, update time=0.009064s
      [rtabmap-2] [INFO] [1663398190.308047364] [rtabmap.rtabmap]: rtabmap (888): Rate=1.00s, Limit=0.000s, Conversion=0.0006s, RTAB-Map=0.0400s, Maps update=0.0008s pub=0.0000s (local map=1, WM=91)
      
      
      小鱼小 1 条回复 最后回复 回复 引用 0
      • 张宏瑞张
        张宏瑞
        最后由 张宏瑞 编辑

        已解决,实际上是由于相机内参标定的问题,看了代码,Astra s相机内部默认使用了理想情况下针孔相机模型进行标定,默认没有坐标偏位,且fx=fy,这里由于我也是初学者,不是很了解(其实就相当于没有标定),此部分相关源代码如下所示:

          //以下为默认理想情况下相机内参计算方法,对于针孔相机模型,默认没有偏移,cx=cy=0,fx=fy,实际上这里发现投影矩阵p标定后差异较大
          // No distortion
          info->d.resize(5, 0.0);
          info->distortion_model = sensor_msgs::distortion_models::PLUMB_BOB;
        
          // Simple camera matrix: square pixels (fx = fy), principal point at center
          info->k.fill(0.0);
          info->k[0] = info->k[4] = f;
        
          info->k[2] = (static_cast<double>(width) / 2) - 0.5;
          // Aspect ratio for the camera center on Astra (and other devices?) is 4/3
          // This formula keeps the principal point the same in VGA and SXGA modes
          info->k[5] = (static_cast<double>(width) * (3. / 8.)) - 0.5;
          info->k[8] = 1.0;
        
          // No separate rectified image plane, so R = I
          info->r[0] = info->r[4] = info->r[8] = 1.0;
        
          // Then P=K(I|0) = (K|0)
          info->p.fill(0.0);
          info->p[0] = info->p[5] = f;  // fx, fy
          info->p[2] = info->p[2];      // cx
          info->p[6] = info->p[5];      // cy
          info->p[10] = 1.0;
        

        后续要先进行相机标定,使用camera-calibration标定相机后,修改参数
        351d28b8-3807-47b0-8202-b9423c6afede-image.png 替代文字

        rtabmap的视觉里程计即可正常运行
        ef434b0a-f93f-4b4b-8178-392329638c78-image.png

        1 条回复 最后回复 回复 引用 1
        • 小鱼小
          小鱼 技术大佬 @张宏瑞
          最后由 编辑

          @张宏瑞 在 ros2 galactic 使用astra s相机运行rtabmap无法建图(可以生成单帧点云) 中说:

          [rtabmapviz-3] [ERROR] (2022-09-17 15:03:09.565) util3d.cpp:1153::cloudRGBFromSensorData() Camera model 0 is invalid

          感觉是这个错误,没有点云数据

          新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

          张宏瑞张 1 条回复 最后回复 回复 引用 0
          • 张宏瑞张
            张宏瑞 @小鱼
            最后由 编辑

            @小鱼 是这个,后面查了下,是相机标定有问题,这里相当于判定内参错误,视觉里程计没运行,标定修改之后就正常了,感谢鱼哥😊

            L 1 条回复 最后回复 回复 引用 0
            • 张宏瑞张 张宏瑞 将这个主题转为问答主题,在
            • 张宏瑞张 张宏瑞 将这个主题标记为已解决,在
            • L
              liuxuA1 @张宏瑞
              最后由 编辑

              @张宏瑞 你好,想问下,相机标定了,还是无法建图,里程计出问题,会是什么原因。用的Astra s

              1 条回复 最后回复 回复 引用 0
              • 12235520201
                HPPEN FNISHER
                最后由 编辑

                大佬你好,请问我在ros1 noetic上使用astra pro运行rtapmap时初始化找不到相机是怎么回事呢:
                4392ac92-c102-4c88-b626-e9dc46ad3d20-image.png
                我已经安装了astra pro的openni2驱动,而且也按照官网文档运行了sample没有问题:
                926eb8ca-cd46-4547-8ecf-f8bec41ad7ba-image.png
                希望大佬能够解惑!

                1 条回复 最后回复 回复 引用 0
                • 第一个帖子
                  最后一个帖子
                皖ICP备16016415号-7
                Powered by NodeBB | 鱼香ROS