ROS保存路径,将cartographer的路径点/trajectory_node_list话题数据保存为txt和excel文件,并画出轨迹图

前言

按需求,我们在使用cartographer的时候不单单需要保存map数据,还需要保存carto计算出来的机器人轨迹,今天就来写一个保存路径list的程序吧

数据格式

我们先来看看carto输出的轨迹是什么格式的,如下

a@a:~$ rostopic info /trajectory_node_list 
Type: visualization_msgs/MarkerArray

然之后我发现网上关于这个数据格式的介绍还是比较少的,没办法了,只能自己仔细看看咯

使用rostopic echo看一下具体怎么呈现的,以下是一次消息格式

---
markers: 
  - 
    header: 
      seq: 0
      stamp: 
        secs: 1658918845
        nsecs: 318227513
      frame_id: "map"
    ns: "Trajectory 0"
    id: 0
    type: 4
    action: 0
    pose: 
      position: 
        x: 0.0
        y: 0.0
        z: 0.05
      orientation: 
        x: 0.0
        y: 0.0
        z: 0.0
        w: 1.0
    scale: 
      x: 0.07
      y: 0.0
      z: 0.0
    color: 
      r: 0.20712989568710327
      g: 0.11549998074769974
      b: 0.7699999809265137
      a: 1.0
    lifetime: 
      secs: 0
      nsecs:         0
    frame_locked: False
    points: 
      - 
        x: 0.0
        y: 0.0
        z: 0.0
    colors: []
    text: ''
    mesh_resource: ''
    mesh_use_embedded_materials: False
  - 
    header: 
      seq: 0
      stamp: 
        secs: 1658918845
        nsecs: 318227513
      frame_id: "map"
    ns: "Trajectory 0"
    id: 1
    type: 4
    action: 0
    pose: 
      position: 
        x: 0.0
        y: 0.0
        z: 0.05
      orientation: 
        x: 0.0
        y: 0.0
        z: 0.0
        w: 1.0
    scale: 
      x: 0.07
      y: 0.0
      z: 0.0
    color: 
      r: 0.20712989568710327
      g: 0.11549998074769974
      b: 0.7699999809265137
      a: 0.5
    lifetime: 
      secs: 0
      nsecs:         0
    frame_locked: False
    points: 
      - 
        x: 0.0
        y: 0.0
        z: 0.0
    colors: []
    text: ''
    mesh_resource: ''
    mesh_use_embedded_materials: False
  - 
    header: 
      seq: 0
      stamp: 
        secs: 1658918845
        nsecs: 318227513
      frame_id: "map"
    ns: "Trajectory 0"
    id: 2
    type: 4
    action: 0
    pose: 
      position: 
        x: 0.0
        y: 0
ros2 launch fishbot_cartographer cartographer.launch.py [INFO] [launch]: All log files can be found below /home/jian/.ros/log/2025-06-13-16-16-40-873567-jian-desktop-142958 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [cartographer_node-1]: process started with pid [142960] [INFO] [occupancy_grid_node-2]: process started with pid [142962] [INFO] [rviz2-3]: process started with pid [142964] [cartographer_node-1] [INFO] [1749802601.096533376] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/home/jian/map_ws/install/fishbot_cartographer/share/fishbot_cartographer/config/fishbot_2d.lua' for 'fishbot_2d.lua'. [cartographer_node-1] [INFO] [1749802601.097094912] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1749802601.097142560] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1749802601.097449568] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1749802601.097484864] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1749802601.097745408] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1749802601.097785824] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1749802601.098087424] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1749802601.098130304] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1749802601.098339872] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1749802601.098373632] [cartographer_ros]: I0613 16:16:41.000000 142960 configuration_file_resolver.cc:41] Found '/opt/ros/foxy/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1749802601.598864000] [cartographer_ros]: I0613 16:16:41.000000 142960 submap_2d.cc:187] Added submap 1 [cartographer_node-1] [INFO] [1749802601.598990720] [cartographer_ros]: I0613 16:16:41.000000 142960 map_builder_bridge.cc:132] Added trajectory with ID '0'. [occupancy_grid_node-2] [WARN] [1749802602.096275008] [occupancy_grid_node]: submap_slices and last_frame_id is empty [rviz2-3] [INFO] [1749802602.787882976] [rviz2]: Stereo is NOT SUPPORTED [rviz2-3] [INFO] [1749802602.788471200] [rviz2]: OpenGl version: 4.6 (GLSL 4.6) [rviz2-3] [INFO] [1749802602.880118944] [rviz2]: Stereo is NOT SUPPORTED
06-15
ros2 launch turtlebot3_cartographer cartographer.launch.py [INFO] [launch]: All log files can be found below /home/lmw/.ros/log/2025-07-18-09-48-59-500828-lmw-5641 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [cartographer_node-1]: process started with pid [5642] [INFO] [cartographer_occupancy_grid_node-2]: process started with pid [5644] [INFO] [rviz2-3]: process started with pid [5646] [rviz2-3] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [cartographer_node-1] [INFO] [1752803339.559861915] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/turtlebot3_cartographer/config/turtlebot3_lds_2d.lua' for 'turtlebot3_lds_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560025666] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560036424] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/map_builder.lua' for 'map_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560058467] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1752803339.560065200] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/pose_graph.lua' for 'pose_graph.lua'. [cartographer_node-1] [INFO] [1752803339.560129361] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560136428] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder.lua' for 'trajectory_builder.lua'. [cartographer_node-1] [INFO] [1752803339.560153753] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560160339] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_2d.lua' for 'trajectory_builder_2d.lua'. [cartographer_node-1] [INFO] [1752803339.560230636] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1752803339.560237619] [cartographer logger]: I0718 09:48:59.000000 5642 configuration_file_resolver.cc:41] Found '/opt/ros/humble/share/cartographer/configuration_files/trajectory_builder_3d.lua' for 'trajectory_builder_3d.lua'. [cartographer_node-1] [INFO] [1752803339.567384057] [cartographer logger]: I0718 09:48:59.000000 5642 map_builder_bridge.cpp:136] Added trajectory with ID '0'. [rviz2-3] [INFO] [1752803339.745942516] [rviz2]: Stereo is NOT SUPPORTED [rviz2-3] [INFO] [1752803339.746029175] [rviz2]: OpenGl version: 4.6 (GLSL 4.6) [rviz2-3] [INFO] [1752803339.756064181] [rviz2]: Stereo is NOT SUPPORTED
最新发布
07-19
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值