ROS使用笔记

文章目录

  • 1.提取bag中固定topic或者固定时间段数据
  • 2. 提取pcd数据
  • 3. 记录数据
  • 4. service & action
  • 5 roslaunch文件

1.提取bag中固定topic或者固定时间段数据

rosbag filter my.bag out.bag "topic == '/tf' or topic == '/tf2'"
rosbag filter my.bag out.bag "t.to_sec() >= 123444.77 and t.to_sec() <= 234545.88"

2. 提取pcd数据

rosrun pcl_ros bag_to_pcd <input_file.bag> <topic> <output_directory>

3. 记录数据

rosbag record /topic_name1 /topic_name2 /topic_name3
rosbag record -O filename.bag /topic_name1

4. service & action

ROS中的topic为同步通讯,service为异步通讯机制,service在要求异步而且响应时间不定的场景下有先天的劣势,如果服务端迟迟没有响应,那么客户端程序将处于阻塞状态,直到超时,这会使操作变得相当耗时。
action实现了一种类似于service的请求/响应通讯机制,区别在于action带有反馈机制,用来不断向客户端反馈任务的进度,并且还支持在任务中途中止运行。 客户端给服务端抛出一个目标,然后客户端就可以去干别的事情了,在任务执行期间,客户端会以消息的形式,周期性地接收到来自服务端的进度反馈,如果没有终止任务的话这个过程会一直延续到收到最终的结果。当然也可以随时终止当前的操作,开始一个全新的操作。

5 roslaunch文件

"projfolder" default="/home/joe/workspace/testData/playground"/>

"projpath"  type="string" value="$(arg projfolder)/"/>

"rosbag" type="play" name="player" output="screen" args="--clock $(arg projfolder)/20190311playgroundloopcut.bag --topics /velodyne_points" />

有关param的全局与局部获取

你可能感兴趣的:(ROS使用笔记)