笔记.md 2.7 KB

参考资料

  1. hdl_graph_slam包中的 README.md 文件
  2. CSDN博客:hdl_graph_slam

消息类型

话题:/scan

Type: sensor_msgs/LaserScan

发布频率: 20 hz

angle_min, angle_max:雷达扫描的最小角度和最大角度

angle_increment:扫描点之间的角度增量,用来确定扫描的分辨率

time_increment:扫描点之间的时间增量,如果每个扫描点对应一个测量时间,则可以用来计算扫描的频率

scan_time:完成一次扫描所需要的时间

rangle_min, rang_max:雷达测量的最大和最小范围(距离),距离范围外的反射波视为无效

ranges:包含每个扫描点测距值的数组。数组的长度对应扫描分辨率,每个值表示从雷达到检测到的物体的直线距离

intensitiess:每个扫描点的反射强度值数组,可以用于判断物体的材质或用于后期处理,如滤波等

2024-09-25 08-35-49 的屏幕截图

后端实现, 节点名称: hdl_backend

Node [/hdl_backend]
Publications: 
 * /hdl_graph_slam/map_points [sensor_msgs/PointCloud2]
 * /hdl_graph_slam/markers [visualization_msgs/MarkerArray]
 * /hdl_graph_slam/odom2pub [geometry_msgs/TransformStamped]
 * /hdl_graph_slam/read_until [std_msgs/Header]
 * /rosout [rosgraph_msgs/Log]

Subscriptions: 
 * /aligned_points [sensor_msgs/PointCloud2]
 * /clock [rosgraph_msgs/Clock]
 * /laser_odom [nav_msgs/Odometry]

Services: 
 * /hdl_backend/get_loggers
 * /hdl_backend/set_logger_level
 * /hdl_graph_slam/save_map

何师兄给的数据中, 回放的时候是有里程计数据的,话题名称是/odom 但后端不用这个数据,是用前端匹配的/laser_odom

自己实现的/laser_odom的消息:

---
header: 
  seq: 3616
  stamp: 
    secs: 1626936142
    nsecs: 297182351
  frame_id: "odom"
child_frame_id: "laser"
pose: 
  pose: 
    position: 					位置
      x: -22.39583396911621
      y: 3.211024045944214
      z: 0.0
    orientation: 				朝向,这里错了要改
      x: 0.0
      y: 0.0
      z: -0.8115295767784119
      w: 0.584311306476593
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
twist: 
  twist: 
    linear: 
      x: 0.0
      y: 0.0
      z: 0.0
    angular: 
      x: 0.0
      y: 0.0
      z: 0.0
  covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
---