一 . autoware主体框架概述

2023-10-24 01:30
文章标签 概述 框架 主体 autoware

本文主要是介绍一 . autoware主体框架概述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

autoware主体框架

整体框架

在这里插入图片描述

Sensor(传感器)

Camera

  • PointGrey (FLIR) Grasshopper 3 (USB/GigE)
  • PointGrey (FLIR) Flea 2/3 (USB/GigE)
  • PointGrey (FLIR) Blackfly (USB3/GigE)
  • Baumer VLG-22C (USB3/GigE)
  • Baumer VCXU-24C (USB3/GigE)
  • Allied Vision Camera Mako G-319C (PoE GigE)
  • Generic UVC Webcam (USB2/3)

支持多个摄像头传感器,但应针对个别目的单独配置它们。Autoware 将每个摄像头分开,用于物体检测和交通灯识别等目的。 本质上,Autoware 不支持将多个图像连接成一个大图像。

Lidar

  • VELODYNE HDL-64E (S1/S2/S3)
  • VELODYNE HDL-32E
  • VELODYNE VLP-32C
  • VELODYNE VLP-16
  • VELODYNE VLP-16 Lite
  • VELODYNE VLP-16 Hi-Res
  • HOKUYO YVT-35LX (3D-URG)
  • HOKUYO UTM-30LX (TOP-URG)
  • SICK LMS511
  • PIONEER 3D LiDAR (yet to be released)
    可以通过 TF 将上述 LiDAR 扫描仪的多个单元组合起来,提供丰富的融合点云数据,以实现更精确的目标检测、跟踪和定位。

Radar

  • Delphi ESR
    Autoware 感知主要基于LiDAR 扫描仪。 Milliwave 雷达驱动器也可用于远距离目标跟踪。

IMU

  • Memsic VG440
  • Xsens MTi-300
  • MicroStrain 3DM-GX5-15
  • Novatel IGM S1 IMU
    目前,Autoware 的高级用户不看好IMU,因为由 3D地图和里程表增强的基于SLAM的定位在不使用IMU的情况下足够可靠。但是,我们认为 IMU 在某些场景中仍然有用,因此 Autoware 支持 IMU 驱动程序和数据集成到本地化模块中。

GPS/GNSS

  • Javad DELTA-3
  • MITSUBISHI AQLOC (only available in Japan)
  • Trimble NetR9
  • Leica Viva GS25
  • Applanix APX-15 UAV
    GPS/GNSS 接收器通常通过串行接口生成符合 NMEA 的句子(文本字符串),Autoware 完全支持这些句子。 因此,我们相信只要设备符合 NMEA 标准,几乎所有 GPS/GNSS 产品都将与 Autoware 兼容,并与现有的 nmea2tfpose 节点兼容。

Computing/Perception(感知)

Autoware的感知能力由Localization、Detection和Prediction组成。 定位是通过 3D 地图和 SLAM 算法结合 GNSS 和 IMU 传感器实现的。 检测使用具有传感器融合算法和深度神经网络的摄像头和 LiDAR。 预测基于定位和检测的结果。

Localization(定位)

  • Lidar_localizer(激光定位): 使用来自 LiDAR 的扫描数据和之前建好3D地图信息匹配,计算出 ego(自车) 车辆在全局坐标中的 (x, y, z, roll, pitch, yaw) 位置。 推荐使用正态分布变换 (NDT) 算法进行激光点云与3D地图的匹配,同时也支持最近邻迭代(ICP) 算法。
  • gnss_localizer: 将来自 GNSS 接收器的 NMEA 消息转换为 (x, y, z, roll, pitch, yaw) 位置。 这个结果可以单独作为自车的位置,同时也可以用来初始化和补充lidar_localizer的结果。
  • dead_reckoner: 主要使用 IMU 传感器来预测自车的下一帧位置,并对lidar_localizer 和 gnss_localizer 的结果进行插值。

Detection(检测)

  • lidar_detector: 从激光雷达读取点云数据,并实现基于LiDAR的障碍物检测功能。 障碍物检测是基于欧几里得聚类算法,该算法在地面上方找到 LiDAR 扫描(点云)的聚类。 为了对集群进行分类,还支持基于 DNN 的算法,例如 VoxelNet 和 LMNet。
  • vision_detector: 从摄像头读取图像数据,并提供基于图像的物体检测功能。 主要算法包括 R-CNN、SSD 和 Yolo,它们旨在执行单个 DNN 以实现实时性能。 支持多种检测类别,例如汽车和乘客。
  • vision_tracker: 为vision_detector 的结果提供了跟踪功能。该算法基于超像素,通过fusion_tools将图像平面上的跟踪结果投影并与3D空间中的lidar_detector的结果相结合。
  • fusion_detector(前融合):获取激光雷达的点云数据和来自相机的图像数据,并在3D空间中实现更精确的对象检测。 在融合数据之前需要校准激光扫描仪和相机的位置。当前的实现基于 MV3D 算法,与原始算法相比,网络略有扩展。
  • fusion_tools(后融合):融合了lidar_detector 和vision_tracker 的检测结果。 将vision_detector 识别的类信息添加到lidar_detector 检测到的点云簇中。
  • object_tracker(跟踪器): 预测由上述包检测和识别的对象的运动。 跟踪的结果可以进一步用于物体行为的预测和物体速度的估计。 跟踪算法基于卡尔曼滤波器,同时也支持粒子滤波器。

Prediction(预测)

  • object_predictor(障碍物运动轨迹预测): 使用上述对象跟踪的结果来预测移动对象(例如汽车和乘客)的未来轨迹。
  • collision_predictor(碰撞检测): 使用 object_predictor 的结果来预测自车辆是否涉及与移动物体的可能碰撞。 除了目标跟踪的结果之外,还需要路径点轨迹和自我车辆的速度信息作为输入数据。
  • cutin_predictor: 使用与collision_predictor 相同的信息来预测邻居汽车是否切入了本车的前方。

Computing/Decision(决策)

Autoware 的决策模块连接了感知和规划模块。 Autoware根据感知结果决定驾驶行为,以有限状态机为代表,从而选择合适的规划函数。 当前的决策方法是基于规则的系统。

Intelligence

  • decision_maker(决策): 订阅大量与感知结果、地图信息和当前状态相关的主题,以便发布下一时刻的状态主题。 这种状态变化将激活适当的规划功能。

State

  • state_machine(状态机):在预定义的规则内更改状态,与决策者进行协调。

Computing/Planning(规划)

Autoware 中的最后一个计算模块是规划模块。 该模块的作用是根据感知和决策模块的结果制定全局任务和局部运动的计划。 全局任务通常在自车启动或重新启动时确定,而局部运动根据状态变化进行更新。 例如,如果 Autoware 的状态设置为“停止”,则自车的速度计划在具有安全余量的物体前或停止线处变为零。 另一个例子是,如果 Autoware 的状态设置为“避障”,则自车的轨迹计划绕过障碍物。

Mission(全局规划)

  • route_planner: 搜索到目的地的全局路线。 路线由道路网络中的一组交叉点表示。
  • Lane_planner: 确定要与 route_planner 发布的路线一起使用的车道。 车道由一组路点表示,即多个路点,每个路点对应一个车道,由这个包发布。
  • waypoint_planner: 也可以用于生成一组到达目的地的航点。 这个包与lane_planner 的不同之处在于它发布一个单一的航点而不是一个航点数组。
  • waypoint_maker: 是一个实用工具,用于保存和加载手工制作的航点。 要将航点保存到指定文件,您可以在激活定位时手动驾驶车辆,Autoware 会记录行驶路径的航点和速度信息。 稍后可以从指定的文件中加载记录的航点,以使运动规划模块订阅它们以遵循该路径。

Motion(局部规划)

  • Velocity_planner(速度规划): 更新从lane_planner、waypoints_planner 或waypoints_maker* 订阅的航点上的速度计划,以便针对周围车辆和道路特征(例如停止线和交通灯)减速/加速。请注意,嵌入在给定航点中的速度信息是静态的,而此包根据驾驶场景更新速度计划。
  • astar_planner(A* 搜索算法): 实现了 Hybrid-State A* 搜索算法,该算法生成从当前位置到指定位置的可行轨迹。该软件包可用于在给定航路点上避障和急转弯,以及在停车场等自由空间中进行路由。
  • adas_lattice_planner:实现了 State Lattice 规划算法,该算法根据样条曲线、预定义的参数表和 ADAS Map(也称为 Vector Map)信息在当前位置之前生成多个可行轨迹。该软件包主要用于避障和变道。
  • waypoint_follower:实现了 Pure Pursuit 算法,该算法生成一组扭曲的速度和角速度(或只是角度),以通过匀速圆周运动将自车移动到给定航路点上的目标航路点。此包应与velocity_planner、astar_planner 和/或adas_lattice_planner 结合使用。发布的速度和角速度(或仅角度)的扭曲集将由车辆控制器或线控接口读取,最后自主车辆被自主控制。

参考:

https://github.com/Autoware-AI/autoware.ai/wiki/Overview

这篇关于一 . autoware主体框架概述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/271805

相关文章

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个?

跨平台系列 cross-plateform 跨平台应用程序-01-概览 cross-plateform 跨平台应用程序-02-有哪些主流技术栈? cross-plateform 跨平台应用程序-03-如果只选择一个框架,应该选择哪一个? cross-plateform 跨平台应用程序-04-React Native 介绍 cross-plateform 跨平台应用程序-05-Flutte

Spring框架5 - 容器的扩展功能 (ApplicationContext)

private static ApplicationContext applicationContext;static {applicationContext = new ClassPathXmlApplicationContext("bean.xml");} BeanFactory的功能扩展类ApplicationContext进行深度的分析。ApplicationConext与 BeanF

【编程底层思考】垃圾收集机制,GC算法,垃圾收集器类型概述

Java的垃圾收集(Garbage Collection,GC)机制是Java语言的一大特色,它负责自动管理内存的回收,释放不再使用的对象所占用的内存。以下是对Java垃圾收集机制的详细介绍: 一、垃圾收集机制概述: 对象存活判断:垃圾收集器定期检查堆内存中的对象,判断哪些对象是“垃圾”,即不再被任何引用链直接或间接引用的对象。内存回收:将判断为垃圾的对象占用的内存进行回收,以便重新使用。

数据治理框架-ISO数据治理标准

引言 "数据治理"并不是一个新的概念,国内外有很多组织专注于数据治理理论和实践的研究。目前国际上,主要的数据治理框架有ISO数据治理标准、GDI数据治理框架、DAMA数据治理管理框架等。 ISO数据治理标准 改标准阐述了数据治理的标准、基本原则和数据治理模型,是一套完整的数据治理方法论。 ISO/IEC 38505标准的数据治理方法论的核心内容如下: 数据治理的目标:促进组织高效、合理地

ZooKeeper 中的 Curator 框架解析

Apache ZooKeeper 是一个为分布式应用提供一致性服务的软件。它提供了诸如配置管理、分布式同步、组服务等功能。在使用 ZooKeeper 时,Curator 是一个非常流行的客户端库,它简化了 ZooKeeper 的使用,提供了高级的抽象和丰富的工具。本文将详细介绍 Curator 框架,包括它的设计哲学、核心组件以及如何使用 Curator 来简化 ZooKeeper 的操作。 1

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应