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负载方面的优势。