Inter-Process Asynchronous Communication in Autonomous Vehicle Based on Shared Memory
Author:
Affiliation:

Fund Project:

Fundamental Research Funds for the Central Universities (20143436); Program for Young Excellent Talents in Tongji University (2014KJ027); National Natural Science Foundation of China (41201379)

  • Article
  • | |
  • Metrics
  • |
  • Reference [19]
  • |
  • Related
  • |
  • Cited by
  • | |
  • Comments
    Abstract:

    Timely transmission of sensory data and control instructions is crucial between function modules of autonomous car systems. Socket-based message transmission mechanisms, e.g. LCM and IPC, are the de facto standard for this purpose because of their easy deployment and adaptability for distributed environment. However, they can no longer meet the increasing demands of high bandwidth for sharing large data packets, i.e. images and point clouds, among perception processing modules and the decision making module. The main reason is that socket-based mechanisms have to divide the large data packet into smaller data packets, which introduces extra costs for packing and unpacking, therefore results in high latency and low bandwidth. This paper proposes a new shared-memory-based inter-process message transmission mechanism. The shared memory segment is composed of a super block and several data blocks. The circular queues are deployed for fast scheduling data receiving and delivering. Meanwhile, the atomic operations are applied to improve the overall performance. Experimental results show that the average transmission delay of data packets of size 3MB is 2.5ms, which is drastically lower than LCM's 12ms and is also better than Sharedmem_transport's 3.9ms. The maximum throughput of this method is 1.1GB/s, which is much greater than LCM's 180MB/s and Sharedmem_transport's 600MB/s.

    Reference
    [1] Ferguson D, Baker C, Likhachev M, Dolan J. A reasoning framework for autonomous urban driving. In: Proc. of the IEEE Intelligent Vehicles Symp. (IV 2008). 2008. 775-780. [doi: 10.1109/IVS.2008.4621247]
    [2] Elkady A, Sobh T. Robotics middleware: A comprehensive literature survey and attribute-based bibliography. Journal of Robotics, 2012,2012:Article ID 959013. [doi: 10.1155/2012/959013].
    [3] Montemerlo M, Roy N, Thrun S. Perspectives on standardization in mobile robot programming: The Carnegie Mellon navigation (CARMEN) toolkit. Intelligent Robots and Systems, 2003,3:2436-2441. [doi: 10.1109/IROS.2003.1249235]
    [4] Gerkey B, Vaughan R, Howard A. The player/stage project: Tools for multi-robot and distributed sensor systems. In: Proc. of the Int'l Conf. on Advanced Robotics. 2003. 317-323.
    [5] Quigley M, Gerkey B, Conley K, Faust J, Foote T. Ros: An open-source robot operating system. In: Proc. of the Open-Source Software Workshop of the Int'l Conf. on Robotics and Automation. 2009. 1-6.
    [6] Huang A, Olson E, Moore D. Lightweight communications and marshalling for low-latency interprocess communication. Technical Report, MIT-CSAIL-TR-2009-041, CSAIL, 2009.
    [7] Li DY, Han W, Zheng SY, Jia P. VirtualSwitch: Distributed inter-process communication in the autonomous vehicle. Patent, 2015104048428, 2015.
    [8] Han J, Kim D, Lee M, Sunwoo M. Enhanced road boundary and obstacle detection using a downward-looking LIDAR sensor. IEEE Trans. on Vehicular Technology, 2012,61(3):971-985. [doi: 10.1109/TVT.2012.2182785]
    [9] Autonomous car development platform. 2017. http://www.nvidia.cn/object/drive-px-cn.html
    [10] Stevens WR, Rago SA. Advanced Programming in the UNIX Environment. 2nd ed., Boston: Addison Wesley Publishing Company, 2005.
    [11] Dantam N, Stilman M. Robust and efficient communication for real-time multi-process robot software. In: Proc.of the IEEERAS Int'l Conf. on Humanoid Robots. 2012. 3116-322. [doi: 10.1109/HUMANOIDS.2012.6651538]
    [12] Ethzasl_Message_Transport. 2016. http://wiki.ros.org/ethzasl_message_transport
    [13] Minix (mini-UNIX) file system. 2013. http://www.linux.org/threads/minix-mini-unix-file-system.4545
    [14] Sundell H, Tsigas P. Fast and lock-free concurrent priority queues for multi-thread systems. Parallel and Distributed Computing, 2005,65(5):609-627. [doi: 10.1016/j.jpdc.2004.12.005]
    [15] Alexonlinux. 2008. http://www.alexonlinux.com/multithreaded-simple-data-type-access-and-atomic-variables
    [16] Ma JG, Huang T, Wang JL, Xu G, Ye D. Underlying techniques for large-scale distributed computing oriented publish/subscribe system. Ruan Jian Xue Bao/Journal of Software, 2006,17(1):134-147 (in Chinese with English abstract). http://www.jos.org.cn/ 1000-9825/17/134.htm [doi: 10.1360/jos170134]
    附中文参考文献:
    [7] 李德毅,韩威,郑思仪,贾鹏.智能车分布式进程虚拟交换机通信方法.专利,2015104048428,2015.
    [16] 马建刚,黄涛,汪锦岭,徐罡,叶丹.面向大规模分布式计算发布订阅系统核心技术.软件学报,2006,17(1):134-147.http://www.jos.org.cn/1000-9825/17/134.htm [doi: 10.1360/jos170134]
    Related
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

陈存铜,赵君峤,叶晨,邓蓉,管林挺,李德毅.基于共享内存的智能无人车进程间消息异步传输机制.软件学报,2017,28(5):1315-1325

Copy
Share
Article Metrics
  • Abstract:3730
  • PDF: 7093
  • HTML: 1256
  • Cited by: 0
History
  • Received:July 27,2016
  • Revised:October 26,2016
  • Online: January 22,2017
You are the first2035257Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063