发布询价单
您的位置:首页 > 资讯 > 综合资讯 > 正文

基于Spark与ROS的分布式无人驾驶模拟平台

2016-09-15 12:44 性质:转载 作者: 刘少山 来源:CSDN
免责声明:无人机网(www.youuav.com)尊重合法版权,反对侵权盗版。(凡是我网所转载之文章,文中所有文字内容和图片视频之知识产权均系原作者和机构所有。文章内容观点,与本网无关。如有需要删除,敬请来电商榷!)



  基于ROS的无人驾驶模拟器

  ROS是一种基于消息传递通信的分布式计算框架。它的通信模式可以抽象为一种message pool架构,消息发送节点调用advertise方法向指定Topic发送ROS message,消息接收节点调用subscribe方法从指定Topic接收ROS message。

  ROSBAG

  Rosbag是利用这一架构从Topic中录制并且向Topic中重新播放ROS message的工具,无人驾驶汽车在数据采集过程中使用的正是Rosbag。它的功能主要分为Record和Play两类。Record功能是在ROS中建立一个record节点,调用subscribe方法向所有或指定Topic接收ROS message,然后将message写入Bag文件。Play功能则是在ROS中建立一个play节点,调用advertise方法将bag中message按照时间节点发送至指定Topic。图2展示了一个LiDAR数据在ROS中回放的实例,在这个场景中,LiDAR数据是以10Hz帧率记录的。

图2 ROS BAG LiDAR数据回放

  Rosbag生成的数据格式是Bag,这是一个拥有两层逻辑结构的文件格式。如图3所示,上层的Bag类对上抽象提供了用户操作文件的方法,对下封装了对ChunkedFile的操作方法;ChunkedFile类主要对数据进行了分隔存储,而存储的数据为一条条ROS message,不仅包含文字信息,也包含大量的二进制数据,后者主要是无人驾驶汽车传感器发送的图片或3D点云文件数据。这就给传统的主要用来处理文字日志的分布式计算系统应用带来了新挑战。

图3 ROS BAG 结构图

  模拟测试数据集

  如前所述,我们主要关注基于真实数据回放的模拟器,数据量有多大呢?以来自真实世界的KITTI数据集为例(由KIT和TTIC在2012年启动的一个合作项目,网站为http://www.cvlibs.net/datasets/kitti/,更详细的介绍请参见《程序员》2016年7月刊《基于计算机视觉的无人驾驶感知系统》),KITTI的研究人员录制了6个小时的真实数据,数据量为720GB。但是6小时的数据仅够完成一些算法的简单验证,无人驾驶产品所需求的数据量远大于此。比如谷歌的无人车在过去几年中收集了超过40000小时的真实数据,总数据量估计超过了5PB。如此大量的数据,基于单机的模拟远不能支撑其处理,所以我们必须为基于真实数据回放的模拟器设计一个高效的分布式计算平台。

  计算量的挑战

  巨大的数据处理量对计算平台造成很大的压力。例如,KITTI数据整集6小时的原数据包括了超过1000000张140万像素的彩图,如果使用单机的基于深度学习的图像识别平台,每张彩图分析时间大概是0.3秒。这样,仅是分析KITTI数据集的图片,就需要超过100小时,而如果分析谷歌无人车级别的整体图片数据,在单机处理上就需要超过60万个小时。

网友评论
文明上网,理性发言,拒绝广告

相关资讯

推荐图文

关注官方微信

手机扫码看新闻