机器人操作系统(ROS)课件7.3多传感器数据同步.pptx

机器人操作系统(ROS)课件7.3多传感器数据同步.pptx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

机器人操作系统(ROS)

机器人操作系统(ROS)多传感器数据同步7.3

机器人操作系统(ROS)7.3.1message_filters程序库介绍message_filters是一个用于roscpp和rospy的实用程序库,类似于一个消息缓存器,当消息到达消息过滤器时,可能并不会立即输出,而是在稍后的时间点里满足一定条件下输出。message_filters库中包含有TimeSynchronizer时间同步器,它接收来自多个源的不同类型的消息,并且仅当它们在具有相同时间戳的每个源上接收到消息时才输出它们,也就是起到了一个消息同步输出的效果。对齐传感器数据时间戳有两种策略:①时间戳完全对齐策略(ExactTimePolicy)②时间戳相近策略(ApproximateTimePolicy)

机器人操作系统(ROS)7.3.2多传感器数据同步实验本实验使用相机和IMU,时间同步示意图如图所示,分别定义IMU、相机两个传感器节点,分别发布/imu/angle,/usb_cam/image_raw话题,对应的发布频率分别为100Hz和30Hz。通过TimeSynchronizer统一接收这两个话题,当两个话题的时间戳对齐时,进入callback回调函数。采用时间戳相近的对齐方式可通过设定一个时间参数,如0.1s,如果两个话题的时间戳相差在0.1s之内则认为已经对齐。数据同步的频率以频率最低的话题为准,即/usb_cam/image_raw的30Hz频率。基于TimeSynchronizer的时间同步示意图

机器人操作系统(ROS)7.3.2多传感器数据同步实验#!/usr/bin/envpython#-*-coding:utf-8-*-importrospyfromgeometry_msgs.msgimportPoseStampeddata_z=0.0defangle_publisher(): #ROS节点初始化 rospy.init_node(angle_publisher,anonymous=True) #发布话题,话题名为/imu/angle,类型为PoseStamped,队列长度为10 angle_pub=rospy.Publisher(/imu/angle,PoseStamped,queue_size=10) #设置循环的频率 rate=rospy.Rate(100) whilenotrospy.is_shutdown(): globaldata_z angle=PoseStamped() angle.header.frame_id=angle angle.header.stamp=rospy.Time.now() data_z+=0.01 angle.pose.position.z=data_z #发布消息 angle_pub.publish(angle) rospy.loginfo(Publshangle%0.2fdeg,angle.pose.position.z) #按照循环频率延时 rate.sleep()if__name__==__main__: try: angle_publisher() exceptrospy.ROSInterruptException: pass建立IMU发布节点(angle_pub.py):angle_pub.py的功能是模拟IMU不停地发布角度信息。它发布/imu/angle话题消息,类型为geometry_msgs/PoseStamped。

机器人操作系统(ROS)7.3.2多传感器数据同步实验#!/usr/bin/envpython#-*-coding:utf-8-*-importrospyimportcv2importnumpyasnpimportmessage_filtersimportosfromos.pathimportjoinfromsensor_msgs.msgimportImagefromgeometry_msgs.msgimportPoseStampedfromcv_bridgeimportCvBridge,CvBridgeError#初始化参数frame_id=0gps_id=0#设置保存路径,nu

您可能关注的文档

文档评论(0)

balala11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档