Autonomous driving has become an important research area in recent years, and the corresponding system creates an enormous demand for computations. Heterogeneous computing platforms such as systems-on-chip that combine CPUs with reprogrammable hardware offer both computational performance and flexibility and are thus interesting targets for autonomous driving architectures. The de-facto software architecture standard in robotics, including autonomous driving systems, is ROS 2. ReconROS is a framework for creating robotics applications that extends ROS 2 with the possibility of mapping compute-intense functions to hardware. This paper presents AutonomROS, an autonomous driving unit based on the ReconROS framework. AutonomROS serves as a blueprint for a larger robotics application developed with ReconROS and demonstrates its suitability and extendability. The application integrates the ROS 2 package Navigation 2 with custom-developed software and hardware-accelerated functions for point cloud generation, obstacle detection, and lane detection. In addition, we detail a new communication middleware for shared memory communication between software and hardware functions. We evaluate AutonomROS and show the advantage of hardware acceleration and the new communication middleware for improving turnaround times, achievable frame rates, and, most importantly, reducing CPU load.
翻译:近年来,自主驾驶已成为重要的研究领域,相应系统对计算能力产生了巨大需求。异构计算平台(如将CPU与可重构硬件结合的系统级芯片)兼具计算性能和灵活性,因而成为自主驾驶架构的理想目标。在机器人领域(包括自主驾驶系统)的事实软件架构标准是ROS 2。ReconROS是一个面向机器人应用的开发框架,它扩展了ROS 2,使得计算密集型功能可映射至硬件。本文提出AutonomROS——基于ReconROS框架的自主驾驶单元。AutonomROS作为使用ReconROS开发的更大规模机器人应用蓝图,展示了该框架的适用性和可扩展性。该应用集成了ROS 2的Navigation 2功能包,以及自主研发的软件和硬件加速函数,用于点云生成、障碍物检测和车道线检测。此外,我们详细描述了一种新型通信中间件,用于软件与硬件功能之间的共享内存通信。我们对AutonomROS进行了评估,证明了硬件加速和新型通信中间件在缩短响应时间、提升可达到帧率以及降低CPU负载方面的优势。