图漾相机-ROS2-SDK-Ubuntu 3.X.X版本编译
文章目录前言1.PercipioViewer软件调试相机参数1.1 PV软件保存相机参数1.2 保存参数注意事项1.3 FS/PM带SGBM参数相机调参说明1.3.1 disparityNum和disparityOffset参数调整技巧1.3.2 matchWinW和matchWinH参数调整技巧1.3.3 P1和P2参数调整技巧1.3.4 uniqueFator和uniqueAbsDiff参数调整技巧1.4 推荐使用相机2.3.X.X版本 Camport ROS2 SDK 介绍2.1 3.X.X版本 Camport ROS2 SDK源文件介绍2.2 3.X.X版本 Camport ROS2 SDK工作流程2.2.1 包含头文件2.2 2 初始化 ROS2 节点2.2.3 创建节点对象2.2.4 创建发布者对象并实现发布逻辑2.2.5 启动 ROS22.3 3.X.X版本 ROS2 SDK环境配置与编译2.3.1 Ubuntu 20.04 下ROS2 Foxy环境配置与编译2.3.2 Ubuntu 22.04 下ROS2 Humble环境配置与编译2.3.3 编译文件检查3 3.X.X版本 参数配置3.1 单相机配置3.2 解析percipio_camera.launch.py文件3.3 多相机配置3.4 打开相机3.4.1 方法一配置camera_ros.py3.4.2 方法二使用Rviz23.5 测试3.X.X版本 Camport ROS2 SDK3.5.1 参数测试3.5.2 相机测试3.5.3 Storage 参数加载测试4.QoS策略说明4.1 SYSTEM_DEFAULT4.2 DEFAULT4.3 PARAMETER_EVENTS4.4 SERVICES_DEFAULT4.5 PARAMETERS4.6 SENSOR_DATA4.7 QoS配置对应的策略4.8 在使用过程中该如何选择QoS配置5.ROS2加载相机参数5.1 如何查看相机SDK版本5.2 加载storage函数接口5.3. 如何获取相机内参6.3.X.X版本 Camport ROS2常见问题汇总6.1 process has died -11报错6.2 编译过程中缺少camera info manager6.3 编译过程中提示缺少“image publisher”6.4 ROS2报错缺少“diagnostic_updater“,CMake did not find diagnostic_updater。6.5 Ubuntu 24.04下搭配Jazzy 编译出错6.6 编译官网3.6.75 SDK 提示属性报错6.7 3.6.66版本SDK加载参数顺序问题7.补充资料7.1 colcon7.2 ros2 topic7.2.1 ros2 topic hz7.2.2 ros2 topic echo7.2.3 ros2 topic bw7.2.4 ros2 topic info8.其他学习资料前言官网ROS2 3.X.X版本编译文档链接https://doc.percipio.xyz/cam/latest/getstarted/sdk-ros2-compile.html官网ROS2 4.X.X版本编译文档链接https://doc.percipio.xyz/cam/latest/apiguides/sdk4.0-ros2-compile.html国内gitee下载SDK链接https://gitee.com/percipioxyz/camport_ros2国外github下载SDK链接https://github.com/percipioxyz/camport_ros21.PercipioViewer软件调试相机参数新版本的PercipioViewer2.6.1支持把调试好的参数保存进相机Storage区具体操作如下图漾相机保存参数配置1.1 PV软件保存相机参数1.打开目标相机2.根据实际情况调整相机属性以达到最佳效果。3.在设置完相机参数后关闭所有相机取流。4.点击菜单栏 Tools Parameters进入 Camera parameters configuration 页面保存参数设置注1此界面只有PercipioViewer 2.6.1j及其以上版本才有同时在进行保存参数前需要关闭相机各个组件取流。注2当前保存相机参数至相机storage的方式只能保存各个组件下的Controls下的属性功能一些图像后处理方式暂未保存至相机storage区内。1.2 保存参数注意事项1.在打开相机取流的时候无法进行参数保存需要关闭相机取流后再进行保存参数。2.无法保存相机Device组件里的触发属性,。3.无法保存深度图和点云图的质量评估及后处理功能。4.无法保存Color组件的校正畸变以及AutoISP功能。5.相机系统层的属性无法保存如对时设置接收包比例图像重传等功能。1.3 FS/PM带SGBM参数相机调参说明诸如FM855-E1FM815-IX-E1PS800PS802等带有SGBM参数的相机需要进行如下操作才能打开SGBM参数:相机参数说明连接而SGBM参数主要作用如下1.3.1 disparityNum和disparityOffset参数调整技巧disparityNum视差范围。disparityOffset最小视差值。使用场景客户想要更改预定义的深度范围近远端值。调整方向:深度范围减小 disparityNum大概率减小。深度范围远端往相机端缩进 disparityOffset变大反之亦反。而disparityNum和disparityOffset参数设置计算公式如下disparityNum(baseline*fx)/depth_thres.first-(baseline*fx)/depth_thres.second15;disparityOffset((baseline*fx)/(depth_thres.second))-DISPARITY_TRANSLATION;计算公式里的每个参数的具体含义如下完整的计算表格从本帖子置顶位置下载。1.3.2 matchWinW和matchWinH参数调整技巧matchWinW匹配块横向大小matchWinH匹配块纵向大小使用场景针对被测物要测量的特征针对的是平滑面还是物体细节进行细微的调整。调整方向一般的预设置的匹配块大小可认为是一个全局考虑的值深度图越需要平滑的匹配块大概率是从预设值向大调整反之亦反。注意事项请首先按照 matchWinW matchWinH 的方式进行调整一般匹配块大小必须是奇数且大于等于31.3.3 P1和P2参数调整技巧P1控制视差平滑度的第一个参数。P1_scale控制视差平滑度的尺度参数。P2控制视差平滑度的第二个参数。使用场景 需要调整深度图平滑度的情况。调整方向P1越大越倾向于生成连续的视差图。 P1scale作用在平滑度上P1sacle范围是[0~1]越大就越平滑。 P2越大越倾向于消除小的视差变化。P2必须大于P1。注意事项建议先调整P1sacle后P1再P2。1.3.4 uniqueFator和uniqueAbsDiff参数调整技巧uniqueFator唯一性检查阈值最优与次优的比值约束。uniqueAbsDiff唯一性检查阈值绝对值差阈值。使用场景被测物有杂点、飞点、空洞过多等情况。调整方向后处理约束参数调整过小会产生杂点或飞点过大则会产生大片空洞。 一般uniqueAbsDiff比uniqueFator约束性更强。1.4 推荐使用相机推荐原因如下2.3.X.X版本Camport ROS2 SDK 介绍2.13.X.X版本Camport ROS2 SDK源文件介绍Camport ROS2 SDK 的目录目录包含了camport3includelaunchsrc。1.README.md简述了 ROS2 编译过程。2.src/percipio_camera/CMakeLists.txtCmake 编译系统的规则文件。3.src/percipio_camera/camport3包含 Percipio SDK 的库文件和头文件。4.src/percipio_camera/include包含头文件。5.src/percipio_camera/launch包含 ROS2 的启动文件用于启动节点和配置参数。6.src/percipio_camera/package.xml描述功能包清单的文件包括功能包的名称、版本号、作者信息、许可信息、编译依赖等。7.src/percipio_camera/src包含主要的源代码文件包括节点实现、相机驱动等。2.23.X.X版本Camport ROS2 SDK工作流程2.2.1 包含头文件包含必要的 ROS2头文件例如 rclcpp。2.2 2 初始化 ROS2 节点使用rclcpp::init(argc, argv); 初始化 ROS2。2.2.3 创建节点对象使用rclcpp::Node::make_shared(“节点名称”)创建节点对象。2.2.4 创建发布者对象并实现发布逻辑使用node-create_publisher消息类型(“话题名称”, 队列大小);创建发布者对象。实现发布逻辑例如在回调函数中发布消息。2.2.5 启动 ROS2使用ros2 run 包名 节点名运行指定的 ROS 2 节点。使用ros2 launch 包名 launch文件名启动包含多个节点的 launch 文件。2.33.X.X版本ROS2 SDK环境配置与编译主要针对ubuntu20.04对应ROS2 Foxy以及ubuntu22.04对应ROS2 Humble两个版本的系统进行操作。2.3.1 Ubuntu 20.04 下ROS2 Foxy环境配置与编译环境配置与编译步骤第一步设置编码sudo apt updatesudo apt install locales sudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALLen_US.UTF-8LANGen_US.UTF-8exportLANGen_US.UTF-8第二步:添加ROS源的公钥sudo apt updatesudo apt install curl gnupg lsb-release sudo curl-sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgecho deb[arch$(dpkg--print-architecture)signed-by/usr/share/keyrings/ros-archive-keyring.gpg]https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release echo $UBUNTU_CODENAME) main | sudo tee /etc/apt/sources.list.d/ros2.list /dev/null第三步:安装ROS2-foxysudo apt update sudo apt upgrade sudo apt install ros-foxy-desktop sudo apt install python3-colcon-common-extensions sudo apt install ros-foxy-camera-info-manager sudo apt install ros-foxy-image-publisher sudo apt install ros-foxy-diagnostic-updater第四步:设置环境变量source/opt/ros/foxy/setup.bash echo source /opt/ros/foxy/setup.bash~/.bashrc第五步:camport3_ros2目录下编译SDKcd~/ros2_ws/src/camport_ros2/colcon build--event-handlers console_direct--cmake-args-DCMAKE_BUILD_TYPERelease sudo echosource ./install/setup.bash~/.bashrc source~/.bashrccolcon build 说明–event-handlers console_direct这个选项指定了事件处理程序。console_direct表示直接在控制台输出构建事件的详细信息。这样可以更清楚地看到构建过程中的每一步和可能的错误信息。–cmake-args -DCMAKE_BUILD_TYPERelease这个选项传递了额外的 CMake 参数。在这种情况下-DCMAKE_BUILD_TYPERelease设置了 CMake 的构建类型为 Release。这意味着构建将进行优化适合发布版本而不是调试版本。编译后生成以下文件夹build中间文件和目标文件。install可执行文件、库文件、头文件和其他资源文件。log包含编译和运行时生成的日志文件。2.3.2 Ubuntu 22.04 下ROS2 Humble环境配置与编译环境配置与编译步骤第一步:设置编码sudo apt updatesudo apt install locales sudo locale-gen en_US en_US.UTF-8sudo update-locale LC_ALLen_US.UTF-8LANGen_US.UTF-8exportLANGen_US.UTF-8第二步添加ROS源的公钥sudo apt updatesudo apt install curl gnupg lsb-release sudo curl-sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpgechodeb [arch$(dpkg --print-architecture) signed-by/usr/share/keyrings/ros-archive-keyring.gpg] https://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu $(source /etc/os-release echo $UBUNTU_CODENAME) main|sudo tee/etc/apt/sources.list.d/ros2.list/dev/null第三步安装ROS2-humblesudo apt update sudo apt upgrade sudo apt install ros-humble-desktop sudo apt install python3-colcon-common-extensions sudo apt install ros-humble-camera-info-manager sudo apt install ros-humble-image-publisher sudo apt install ros-humble-diagnostic-updater第四步设置环境变量source/opt/ros/humble/setup.bash echo source /opt/ros/ humble /setup.bash~/.bashrc第五步camport3_ros2目录下编译SDKcd~/ros2_ws/src/camport_ros2/colcon build--event-handlers console_direct--cmake-args-DCMAKE_BUILD_TYPERelease sudo echosource ./install/setup.bash~/.bashrc source~/.bashrccolcon build 说明–event-handlers console_direct这个选项指定了事件处理程序。console_direct 表示直接在控制台输出构建事件的详细信息。这样可以更清楚地看到构建过程中的每一步和可能的错误信息。–cmake-args -DCMAKE_BUILD_TYPERelease这个选项传递了额外的 CMake 参数。在这种情况下-DCMAKE_BUILD_TYPERelease设置了 CMake 的构建类型为Release。这意味着构建将进行优化适合发布版本而不是调试版本。2.3.3 编译文件检查编译后会生成buildinstalllog。1.build这个目录包含了编译过程中生成的中间文件和目标文件。包括对象文件.o、依赖文件等。 该目录在每次编译时都会被更新。2.install这个目录包含了安装后的文件。包括可执行文件、库文件、头文件和其他资源文件。 该目录用于运行时使用包含了所有需要的文件和依赖项。3.log这个目录包含了编译和运行时生成的日志文件。包括编译日志、运行时日志和错误日志等。 这些日志文件对于调试和诊断问题非常有用。33.X.X版本参数配置在 launch 文件(percipio_camera.launch.py/multi_cam.launch.py)中配置相机启动时加载的参数。通过 launch 文件只能配置部分参数如需配置相机的所有参数可选择使用 PercipioViewer 提前将相机参数配置写入Storage后续打开相机后参数便是配置好的状态。设置步骤请参见参数配置管理3.1 单相机配置camport_ros2-main/src/percipio_camera/launch/percipio_camera.launch.py用于配置相机启动时加载的默认参数。如指定相机的SN或IP、组件配置(配置color和depth的分辨率、ToF相关参数等)。注意当前连接相机的方式有两种相机SN、相机IP。3.2 解析percipio_camera.launch.py文件1.触发属性建议根据实际情况设置DeclareLaunchArgument(device_workmode,default_valuetrigger_off),#trigger_off/trigger_soft/trigger_hard注该属性属于设备Device组件属性无法保存进相机Storage区域建议根据实际情况配置。2.图像重传建议设置为true如不设置网络状态较差时容易丢帧。DeclareLaunchArgument(gvsp_resend,default_valuetrue),注该属性属于设备Device组件属性无法保存进相机Storage区域建议设置为true。3.相机掉线重连建议设置为true相机掉线后可自动重连。DeclareLaunchArgument(device_auto_reconnect,default_valuetrue)注该属性属于设备Device组建属性无法保存进相机Storage区域建议设置为true。4.TOF相机属性这些属性可以保存进相机storage区域可以不设置。DeclareLaunchArgument(tof_depth_quality,default_valuemedium),#basic/medium/highDeclareLaunchArgument(tof_modulation_threshold,default_value-1),DeclareLaunchArgument(tof_jitter_threshold,default_value-1),DeclareLaunchArgument(tof_filter_threshold,default_value-1),DeclareLaunchArgument(tof_channel,default_value-1),DeclareLaunchArgument(tof_HDR_ratio,default_value-1),3.3 多相机配置camport3_ros2/install/percipio_camera/share/percipio_camera/launch/multi_cam.launch.py1.用于配置相机启动时加载的默认参数。如指定相机的SN或IP、组件配置(配置color和depth的分辨率、ToF相关参数等)。2.如果要添加第三台及以上需要在下图红框处添加相关的代码可以仿照第一、二台填写。3.4 打开相机第一步:修改下面文件camport3_ros2/install/percipio_camera/share/percipio_camera/launch/percipio_camera.launch.py然后发布ros2 launch percipio_camera percipio_camera.launch.py第二步:观察出图效果3.4.1 方法一配置camera_ros.py方法一重新开一个终端将camera_ros2.py复制到camport3_ros2目录下并打开camera_ros2.py进行编辑。修改下图内容中的红框为 launch中camera name参数的值。执行命令python3 ./camera_ros2.py下图为该程序的用法。3.4.2 方法二使用Rviz2方法二重新开一个终端运行Rviz(Robot Visualization)执行命令ros2 run rviz2 rviz21.打开RVIZ界面2.配置深度图3.打开深度图/彩色图/红外图4.配置彩色点云图并打开彩色点云图注使用默认的参数打开的为对齐后的彩色点云。5.配置原始点云图并打开原始点云图而如果想要添加原始点云图并显示首先需要打开camport_ros2-main/src/percipio_camera/launch/percipio_camera.launch.py进行如下编译设置完成后重新编译之后点击 add, 添加 “PointCloud2”命名为Point Cloud。勾选在页面左侧新增的Point Cloud并在设置项中设置“PointCloud2 Topic”为“/camera/depth/points”。即可打开原始点云图。3.5 测试3.X.X版本Camport ROS2 SDK3.5.1 参数测试支持配置的参数如下所示名称描述camera_nameTopic 名多相机情况下通过该名称区分相机serial_number相机 SNdevice_ip相机 IPdevice_auto_reconnect设备重连color_enableColor 图使能color_resolutionColor 分辨率color_formatColor 分辨率格式color_qosColor 服务质量color_camera_info_qosColor camera info 服务质量depth_enableDepth 图使能depth_resolutionDepth 分辨率depth_formatDepth 分辨率格式depth_qosDepth 服务质量depth_camera_info_qosDepth camera info 服务质量depth_registration_enableDepth to Color 使能point_cloud_enable点云图使能color_point_cloud_enable彩色点云图使能point_cloud_qos点云图服务质量left_ir_enable左 IR 图使能left_ir_resolution左 IR 分辨率left_ir_format左 IR 分辨率格式left_ir_qos左 IR 服务质量left_ir_camera_info_qos左 IR camera info 服务质量right_ir_enable右 IR 图使能right_ir_resolution右 IR 分辨率right_ir_format右 IR 分辨率格式right_ir_qos右 IR 服务质量right_ir_camera_info_qos右 IR camera info 服务质量tof_depth_quality深度质量tof_modulation_threshold激光调制光强tof_jitter_threshold抖动过滤tof_filter_threshold飞点滤波tof_channel调制频率tof_HDR_ratio高动态范围比1.上述配置参数需在测试时自行添加至 launch中。以添加color_format为例添加DeclareLaunchArgument(color_format,default_value)之后修改default_value以设定图像格式。2. xxx_format可配值参考/camport3_ros2/src/percipio_camera/src/percipio_device.cpp StreamFormatMapper format_mapper_list[]3.5.2 相机测试通过下表所列出的相机测试不同组件的属性是否可以设置值比如Color组件下彩色相机的分辨率和格式Depth组件下相机的分辨率和格式、ToF特有属性参数IR组件下的相机的分辨率和格式等。相机型号主要测试项FS820-E1Color: 1920x1080、1280x720、640x360Depth: 1280x800、640x400、320x200FM815-E1Color: 2560x1920yuyv、2560x1920bayer12、1920x1440、1280x960、640x480PM801-E1Color: 2592x1944Depth: 1280x960、640x480、320x240TL430-E1TL460-S1-E1ToF 特有的参数depth quality、tof modulation threshold、tof jitter threshold、filter threshold、tof channel、HDR ratioTM461-E2RGBD 对齐Depth: 640x480、320x240、160x120IR: mono16 640x480、1280x960depth quality、tof modulation threshold、filter threshold、tof channelFM830-R1是否可以打开 usb 相机TM260-E2Depth: 240x96、240x96xyz3.5.3 Storage 参数加载测试ROS2 SDK支持打开相机后加载相机Storage配置参数参数均可通过Percipio-viewer进行配置。测试方法如下1.确认相机的fetch_config.xml中有storage 组件。2.使用Percipio-Viewer 2.6.1 及其以上版本软件(支持保存相机参数的版本)打开相机修改各个组件下Controls下的参数然后保存参数到Storage。3.使用ROS2打开相机观察出图情况。保存相机参数具体操作可参考如下链接https://doc.percipio.xyz/cam/latest/viewermanual/operation.html#save-params-label4.QoS策略说明QoS服务质量策略是一种网络流量管理机制用于控制和优化数据包的传输。ROS2 可设置6种QoS 配置其含义如下所示4.1 SYSTEM_DEFAULT含义ROS2系统的默认QoS配置通常等同于 DEFAULT。适用场景一般话题通信无特殊需求时使用。典型配置Reliability: RELIABLEDurability: VOLATILEHistory: KEEP_LAST (depth10)4.2 DEFAULT含义ROS2推荐的默认QoS配置与 SYSTEM_DEFAULT 类似。适用场景适用于多数普通话题如控制指令、状态信息。典型配置Reliability: RELIABLEDurability: VOLATILEHistory:KEEP_LAST (depth10)提供可靠的消息传递最多保留 10 条最新消息。4.3 PARAMETER_EVENTS含义用于参数动态更新的事件通信。适用场景当节点参数变化时ROS2会通过该 QoS 发布事件通知。典型配置Reliability: RELIABLEDurability: VOLATILEHistory: KEEP_LAST (depth1000)参数变化可能较频繁故历史深度较大4.4 SERVICES_DEFAULT含义ROS2服务(Service)的默认QoS。适用场景客户端-服务器Service/Client通信。典型配置Reliability: RELIABLEDurability: VOLATILEHistory: KEEP_LAST (depth10)4.5 PARAMETERS含义用于参数服务器Parameter Server通信。适用场景节点与参数服务器之间的交互如 get_parameter/set_parameter。典型配置Reliability: RELIABLEDurability: VOLATILEHistory: KEEP_LAST (depth1000)4.6 SENSOR_DATA含义传感器数据的高频、实时通信 QoS。适用场景摄像头、激光雷达、IMU 等传感器数据流。典型配置Reliability: BEST_EFFORT允许丢包以降低延迟Durability: VOLATILEHistory: KEEP_LAST (depth10)4.7 QoS配置对应的策略两种Reliability 之间的区别如下4.8 在使用过程中该如何选择QoS配置1.需要低延迟如实时图像传输 → SENSOR_DATA2.需要可靠性如关键配置信息) → DEFAULT 或 SYSTEM_DEFAULT3.参数或服务通信→ 使用对应的专用配置。5.ROS2加载相机参数使用前提需要将相机SDK升级到3.6.66及以上版本5.1 如何查看相机SDK版本打开如下链接camport_ros2-main\src\percipio_camera\camport3\lib\linux\lib_x64可以查看对应SDK版本5.2 加载storage函数接口在PV软件中进行保存参数后运行官网版本的ROS2程序程序会自动从相机Storage区读取保存的参数。5.3. 如何获取相机内参待补充6.3.X.X版本Camport ROS2常见问题汇总6.1 process has died -11报错具体报错如下图3-1所示图3-1 process has died报错问题原因之前的版本矫正图像畸变使用了opencv库 在StreamDistortionMaplnit相关函数那里会报错如出现此问题可联系图漾技术更换去除opencv版本的SDK。6.2 编译过程中缺少camera info manager解决方式如下sudo apt-get install ros-foxy-camera-info-manager6.3 编译过程中提示缺少“image publisher”这个是缺少ROS图像处理管道image_pipeline安装即可我的是ROS2-foxy根据自己版本更改。解决方式如下sudo apt install ros-foxy-image-pipeline6.4 ROS2报错缺少“diagnostic_updater“,CMake did not find diagnostic_updater。解决方式如下sudo apt install ros-foxy-diagnostic-updater6.5 Ubuntu 24.04下搭配Jazzy 编译出错解决方式打开如下路径camport_ros2-main/src/percipio_camera/src/percipio_camera_node.cpp按照下图修改问题即可解决。6.6 编译官网3.6.75 SDK 提示属性报错这些错误log 都是4.0才更新后去掉的新版本可以联系图漾技术获取。6.73.6.66版本SDK加载参数顺序问题3.6.66版本SDK出现在percipio.launch中配置参数但是实际还是percipioviewer软件中的参数如果percipioviewer和launch设置参数是PercipioViewer中的参数launch中的会被覆盖后面的版本跟这个是反的7.补充资料7.1 colconcolcon就是ros2中用来编译功能包的工具ros1中是catkin简单来说colcon是cmake的更高级的封装1.程序在cmake编译是这样的流程cmake指令依据你的CMakeLists.txt 文件,生成makefiles文件make再依据此makefiles文件编译链接生成可执行文件2.colcon是将cmake与make的编译方式做了一个封装的指令工具, 规范了工作路径与生成文件路径它会自动生成install和build和log文件夹# 在一个CMake项目里 mkdir build cd build cmake..make make install # # 使用colcon colcon build #编译工作空间的所有功能包7.2 ros2 topicros2 topic 命令用于管理 ROS2 话题Topic包括列出、发布、订阅、查看话题等。topic不一定是一对一的通信它也可以是一对多、多对一或者多对多的。该命令又包含多个子命令bw显示话题使用的带宽delay显示话题的延迟基于消息头中的时间戳echo输出指定话题的消息find输出给定类型的可用主题列表hz打印话题的平均发布率info打印有关话题的信息list输出可用的话题列表pub向指定话题发布消息type打印话题的类型。7.2.1 ros2 topic hz查看话题发布数据的速率ros2 topic hztopic_name7.2.2 ros2 topic echo查看数据在话题上发布的情况ros2 topic echotopic_name7.2.3 ros2 topic bw显示所查阅主题的带宽ros2 topic bwtopic_name7.2.4 ros2 topic info查看话题的详细信息ros2 topic infotopic_name8.其他学习资料1.动手学ROS22.ROS2 中文网教程3.FishROS2教程