• 【ROS导航Navigation】五 | 导航相关的消息 | 地图 | 里程计 | 坐标变换 | 定位 | 目标点和路径规划 | 激光雷达 | 相机


    致谢:ROS赵虚左老师

    Introduction · Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程

    参考赵虚左老师的实战教程

    一、地图

    nav_msgs/MapMetaData

    • 地图元数据,包括地图的宽度、高度、分辨率等。

    nav_msgs/OccupancyGrid

    • 地图栅格数据,一般会在rviz中以图形化的方式显示。

    1.nav_msgs/MapMetaData

    1. time map_load_time
    2. float32 resolution #地图分辨率
    3. uint32 width #地图宽度
    4. uint32 height #地图高度
    5. geometry_msgs/Pose origin #地图位姿数据
    6. geometry_msgs/Point position
    7. float64 x
    8. float64 y
    9. float64 z
    10. geometry_msgs/Quaternion orientation
    11. float64 x
    12. float64 y
    13. float64 z
    14. float64 w

    2.nav_msgs/OccupancyGrid

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. #--- 地图元数据
    6. nav_msgs/MapMetaData info
    7. time map_load_time
    8. float32 resolution
    9. uint32 width
    10. uint32 height
    11. geometry_msgs/Pose origin
    12. geometry_msgs/Point position
    13. float64 x
    14. float64 y
    15. float64 z
    16. geometry_msgs/Quaternion orientation
    17. float64 x
    18. float64 y
    19. float64 z
    20. float64 w
    21. #--- 地图内容数据,数组长度 = width * height
    22. int8[] data

    二、里程计

    里程计相关消息是:nav_msgs/Odometry,调用rosmsg info nav_msgs/Odometry 显示消息内容如下:

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. string child_frame_id
    6. geometry_msgs/PoseWithCovariance pose
    7. geometry_msgs/Pose pose #里程计位姿
    8. geometry_msgs/Point position
    9. float64 x
    10. float64 y
    11. float64 z
    12. geometry_msgs/Quaternion orientation
    13. float64 x
    14. float64 y
    15. float64 z
    16. float64 w
    17. float64[36] covariance
    18. geometry_msgs/TwistWithCovariance twist
    19. geometry_msgs/Twist twist #速度
    20. geometry_msgs/Vector3 linear
    21. float64 x
    22. float64 y
    23. float64 z
    24. geometry_msgs/Vector3 angular
    25. float64 x
    26. float64 y
    27. float64 z
    28. # 协方差矩阵
    29. float64[36] covariance

    三、坐标变换

    坐标变换相关消息是: tf/tfMessage,调用rosmsg info tf/tfMessage 显示消息内容如下:

    1. geometry_msgs/TransformStamped[] transforms #包含了多个坐标系相对关系数据的数组
    2. std_msgs/Header header
    3. uint32 seq
    4. time stamp
    5. string frame_id
    6. string child_frame_id
    7. geometry_msgs/Transform transform
    8. geometry_msgs/Vector3 translation
    9. float64 x
    10. float64 y
    11. float64 z
    12. geometry_msgs/Quaternion rotation
    13. float64 x
    14. float64 y
    15. float64 z
    16. float64 w

    四、定位

    定位相关消息是:geometry_msgs/PoseArray,调用rosmsg info geometry_msgs/PoseArray显示消息内容如下:

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. geometry_msgs/Pose[] poses #预估的点位姿组成的数组
    6. geometry_msgs/Point position
    7. float64 x
    8. float64 y
    9. float64 z
    10. geometry_msgs/Quaternion orientation
    11. float64 x
    12. float64 y
    13. float64 z
    14. float64 w

    五、目标点

    目标点相关消息是:move_base_msgs/MoveBaseActionGoal,调用rosmsg info move_base_msgs/MoveBaseActionGoal显示消息内容如下:

    1.move_base_msgs/MoveBaseActionGoal

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. actionlib_msgs/GoalID goal_id
    6. time stamp
    7. string id
    8. move_base_msgs/MoveBaseGoal goal
    9. geometry_msgs/PoseStamped target_pose
    10. std_msgs/Header header
    11. uint32 seq
    12. time stamp
    13. string frame_id
    14. geometry_msgs/Pose pose #目标点位姿
    15. geometry_msgs/Point position
    16. float64 x
    17. float64 y
    18. float64 z
    19. geometry_msgs/Quaternion orientation
    20. float64 x
    21. float64 y
    22. float64 z
    23. float64 w

    路径规划相关消息是:nav_msgs/Path,调用rosmsg info nav_msgs/Path显示消息内容如下:

    2.nav_msgs/Path

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. geometry_msgs/PoseStamped[] poses #由一系列点组成的数组
    6. std_msgs/Header header
    7. uint32 seq
    8. time stamp
    9. string frame_id
    10. geometry_msgs/Pose pose
    11. geometry_msgs/Point position
    12. float64 x
    13. float64 y
    14. float64 z
    15. geometry_msgs/Quaternion orientation
    16. float64 x
    17. float64 y
    18. float64 z
    19. float64 w

    六、激光雷达

    激光雷达相关消息是:sensor_msgs/LaserScan,调用rosmsg info sensor_msgs/LaserScan显示消息内容如下:

    1. std_msgs/Header header
    2. uint32 seq
    3. time stamp
    4. string frame_id
    5. float32 angle_min #起始扫描角度(rad)
    6. float32 angle_max #终止扫描角度(rad)
    7. float32 angle_increment #测量值之间的角距离(rad)
    8. float32 time_increment #测量间隔时间(s)
    9. float32 scan_time #扫描间隔时间(s)
    10. float32 range_min #最小有效距离值(m)
    11. float32 range_max #最大有效距离值(m)
    12. float32[] ranges #一个周期的扫描数据
    13. float32[] intensities #扫描强度数据,如果设备不支持强度数据,该数组为空

    七、相机

    深度相机相关消息有:sensor_msgs/Image、sensor_msgs/CompressedImage、sensor_msgs/PointCloud2

    sensor_msgs/Image 对应的一般的图像数据,sensor_msgs/CompressedImage 对应压缩后的图像数据,sensor_msgs/PointCloud2 对应的是点云数据(带有深度信息的图像数据)。

    调用rosmsg info sensor_msgs/Image显示消息内容如下:

    (更新ing)

    2023.11.16

    渝北仙桃数据谷

  • 相关阅读:
    代码随想录第35天 | ● 01背包问题,你该了解这些! ● 01背包问题—— 滚动数组 ● 416. 分割等和子集
    CentOS7多种方式安装MySQL-5.7.X数据库
    深入理解Java集合框架:构建高效、灵活的数据管理方案
    7月 显卡选购指南矿难矿卡环境下选购选卡 AMD 6700 与6750xt 等解决方案
    ORACLE中SQL运算符的优先级
    SpringBoot Banner图修改
    二叉树问题——验证二叉搜索树
    【FreeRTOS】08 互斥信号量、优先级反转问题
    【Python仿真】基于EKF的传感器融合定位
    python函数进阶
  • 原文地址:https://blog.csdn.net/Akaxi1/article/details/134429247