文章目录
- 1.基本
- 2.rosbag
- 2.1录制rosbag包
- 2.2播放录制的ROS包
- 3.生命周期
- 4.ROS启动,roslaunch
- 5.ROS消息发布
- 6.ROS消息后台打印监控
1.基本
ros2 topic list #查看话题列表
2.rosbag
2.1录制rosbag包
ros2 bag record <topic_name> #记录单个主题消息
ros2 bag record -o <file_name> <topic_name_1> <topic_name_2>...<topic_name_n> #记录多个主题消息
ros2 bag record -a #记录系统内所有主题消息
记录多个主题消息的脚本 record.sh
#!/bin/bash
# 获取当前时间戳,用于生成唯一的文件名
timestamp=$(date +%Y%m%d_%H%M%S)
# 定义输出文件名
output_file="trajec_record_${timestamp}.bag"# 记录指定话题的数据到bag文件中
# for plot
ros2 bag record \/topic_name1 \/topic_name2 \.../topic_namen \-o $output_file
ros2 bag info <file_dir_name> #查看ros包的信息
2.2播放录制的ROS包
ros2 bag play <file_dir_name>
3.生命周期
plan_life.sh
ros2 lifecycle set topic_name configure
ros2 lifecycle set topic_name activate
PS:生命周期结点:
rclcpp::node --> 变为 const rclcpp_lifecycle::LifecycleNode::SharedPtr node
4.ROS启动,roslaunch
ros2 run node_name node_name #包启动
ros2 launch node_name node_name.launch.py #launch启动
5.ROS消息发布
ros2 topic pub --rate 10 /decision/motion_command std_msgs/UInt32 "{data: 45}"
ros2 topic pub --once /file_name std_msgs/String "{data: '/homeuser/file_name.csv'}"
6.ROS消息后台打印监控
ros2 topic echo /topic_name | grep "position" -C 4 #grep其中的关键字