如何设计ADAS系统功能状态机(一)

状态机模块在自动驾驶系统中扮演着关键的角色,它负责管理和控制各个功能的状态转换和行为执行。今天我们来聊聊如何设计自动驾驶系统的状态机。

0.闲谈

作为自动驾驶系统工程师,从参与项目开始,就必不可少的与状态管理模块打交道,因为状态机在系统运行的全功能周期内起管理作用。状态机这个模块,从技术实现角度来说,并没有什么难度,在网上有很多关于FSM(Finite-state machine)的介绍文章,有兴趣可以自行了解。但如何设计得巧妙、周到、精致,却很考验设计者的底蕴与对系统的理解。大部分的ADAS功能都需要状态机进行状态管理,笔者手中就有不下十几份状态机的设计文档,包括FCW/LDW/AEB/ACC/LKA/NOP/APA/AVP等等,设计大相径庭,但细细想来内核却大同小异。其中NOP功能的状态跳转还是比较复杂的,涉及横向、纵向控制与功能降级等逻辑,需要长期的雕琢与迭代才能设计出符合项目要求的效果。笔者最近也在负责APA功能的状态机设计,虽然比较简单,但还是想借此机会对状态机模块做一点总结,也是对以往工作的回顾。

1.模块概述

状态机模块的主要作用是跟踪系统的当前状态,并根据特定的事件和条件进行状态转换。它可以根据传感器数据、车辆状态和系统输入来判断当前功能的可用性和执行条件。状态机模块还能够监控系统的运行情况,及时响应来自驾驶决策或用户的指令,并根据需要触发相应的功能执行。

状态机模块通过定义和维护一组状态,以及状态之间的转换条件和行为,确保系统在不同的场景和条件下正确地执行相应的功能。例如,当检测到前方车辆与本车距离过近时,FCW功能会被触发,状态机模块会根据预设的逻辑条件和行为来切换到相应的预警状态,并触发声音或振动等警示措施。

状态机模块的设计需要考虑各个功能之间的优先级、依赖关系和冲突情况。它需要具备灵活性和可扩展性,以应对不同的道路情况和交通场景。比如cat-in、cat-out情景、自动变道时的变道空间判断等等。同时,状态机模块还需要具备高效的算法和实时性能,以保证系统的快速响应和可靠性。

总之,状态机模块在自动驾驶系统中扮演着决策和控制的关键角色。通过有效地管理和控制各个功能的状态转换和行为执行,状态机模块能够确保系统的稳定性、安全性和可靠性,它是实现ADAS功能的基础模块之一。

2.设计原理

状态机的设计原理是基于状态、事件和转换的概念。状态表示系统或功能在某一时刻的特定状态,事件表示触发状态转换的条件,而转换则表示状态之间的切换过程。

首先,需要定义系统或功能的各个状态。状态可以是具体的行为状态,也可以是抽象的控制状态。每个状态都代表了系统的一个特定方面或功能,例如“Standby”、“OFF”、“Parking”等。

接下来,定义触发状态转换的事件。事件可以是传感器的触发信号、用户的输入指令或系统内部的条件判断。通过检测事件的发生,状态机能够判断是否需要进行状态转换。

然后,定义状态之间的转换条件和行为。转换条件是判断是否可以进行状态转换的逻辑条件,例如满足一定的时间限制、特定的传感器数据或用户指令。转换行为是在状态转换时执行的操作,例如触发警报、调整车速或切换到下一个状态。

为了更好地设计和管理状态机,可以使用状态表和状态转换图。状态表是一个表格,列出了系统的各个状态和相应的转换条件。状态转换图则是通过节点和箭头表示各个状态和转换,直观地展示了状态之间的关系和转换规则。

EA示例 状态转换图

EA示例 状态表

在设计状态机时,需要确保其特性,包括确定性、完备性和可达性。

  • 确定性表示每个状态都有明确的转换规则,不会出现歧义或冲突。
  • 可达性表示系统能够从任意初始状态达到目标状态,确保状态机的可靠性和稳定性。
  • 完备性表示系统的所有可能状态都被考虑到,并定义了相应的转换规则。

通过使用状态机的设计原理,可以清晰地定义系统的各个状态和转换规则,确保系统在不同的条件下正确地执行相应的行为和功能。同时,状态机的设计原理也为系统的扩展和维护提供了便利,使得系统能够适应不断变化的需求和环境。

关注博主微信公众号:喵星智能车

  • 32
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ADAS(Advanced Driver Assistance Systems)技术栈包括以下几个方面: 1. 传感器技术:ADAS系统需要通过传感器来获取车辆周围环境的信息。常用的传感器包括摄像头、雷达、激光雷达和超声波传感器等。这些传感器可以捕捉到车辆周围的障碍物、行人、交通标志等重要信息。 2. 数据处理与感知:ADAS系统需要对传感器获取到的原始数据进行处理和感知分析。这包括计算机视觉、模式识别、深度学习等技术,用于实时识别和分析道路上的交通标志、行人、车辆等,从而为驾驶员提供准确的环境感知和预警功能。 3. 决策与控制:基于感知分析的结果,ADAS系统需要进行决策和控制以保证驾驶的安全性和舒适性。这包括路径规划、跟随控制、自适应巡航控制等技术,用于辅助驾驶员进行车辆操控和决策。 4. 人机交互与界面:ADAS系统需要通过合适的界面与驾驶员进行交互,传递信息和警报。这包括车载显示屏、声音提示、振动警示等技术,能够直观地向驾驶员展示当前环境的信息和系统的工作状态。 5. 数据安全与网络通信:ADAS系统需要保证数据的安全性和可靠性,同时与车辆内部和外部的网络进行通信。这包括数据加密、认证、网络协议等技术,用于保护诸如车辆信息、驾驶员行为等敏感数据。 ADAS技术的不断发展和应用,为车辆驾驶提供了更加智能和安全的功能,有望推动自动驾驶技术的进一步发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值