【决策状态机FSM(finite state machine)梳理】
背景:写论文需要,对需要有限状态机部分进行整理。论文内容是关于自动驾驶避撞决策。
参考Junior: The Stanford Entry in the Urban Challenge的有限状态机
- 1. 行为决策
- 1.1 基于规则的行为决策
- 1.2 基于强化学习的行为决策
- 2. 有限状态机FSM
- 2.1 基础知识
- 有限状态机四大要素:
- 有限状态机三集合:
- 2.2 斯坦福FSM
- 3. Matlab/StateFlow 构建有限状态机模型
- 需具备的知识
- 1. 状态框架
- 2. 状态动作
- 3. 状态转移标签
- 创建一个状态机的步骤:
1. 行为决策
行为决策主要分为两类
1、基于规则的行为决策
2、基于强化学习的行为决策
1.1 基于规则的行为决策
在基于规则的行为决策中,有限状态机法是最经典也是最具有代表性的方法,其具有实用性强、可靠性高和逻辑推理清晰等特点。有限状态机是一种离散的数学模型,用来研究有限个状态以及状态之间的转移。
优点:其具有易于搭建和调整,实时性好,应用简单等
缺点:其难以适应所有情况,需要进行针对性调整,其行为规则库易重叠而失效,有限状态机难以覆盖车辆可能遇到的所有工况而导致决策错误。
1.2 基于强化学习的行为决策
基于强化学习算法的行为决策方法主要是利用各种学习算法来进行决策,利用无人车配备的各种传感器,来感知周边的环境信息,传递给强化学习决策系统,此时强化学习决策系统的作用就相当于人脑,来对各类信息进行分析和处理,并结合经验来对无人驾驶汽车做出行为决策。如自动驾驶汽车公司Waymo 就通过模拟驾驶及道路测试来获取了大量的数据对其基于学习算法的行为决策系统进行训练,使得该系统对物体的检测性能得到了极大地提高,还可以对障碍物进行语义理解等
主要方法有:马尔科夫决策、Q学习算法、神经网络Q学习算法等
优点:其强大的数据训练集,可以减小环境的不确定性因素带来的影响
缺点:需要大量的数据来进行预处理,计算量大,实时性差。
2. 有限状态机FSM
2.1 基础知识
有限状态机是一种离散的数学模型,用来研究有限个状态及状态之间的转移
有限状态机四大要素:
**状态:**相对稳定,没有外部条件触发,一个状态会一直持续下去。
事件:
转移条件:
**动作:**不稳定,即使没有条件触发,“动作”一旦执行完毕就结束
有限状态机三集合:
有限状态集合
输入集合
状态转移规则集合
2.2 斯坦福FSM
主要参考的是Junior: The Stanford Entry in the Urban Challenge,DARPA亚军在junior的轨迹规划。文章共有33页,仅对FSM部分进行分析。
此文章使用的是分层有限状态机
共13个状态,此图省略两个TRAFFIC_JAM和ESCAPE。
下图为各状态的确定条件:
针对以上三图内容的个人理解
几乎所有状态都需转换至TRAFFIC_JAM和ESCAPE。
引入有限状态机FSM的有益效果:
增强以下事件的鲁棒性
- 对于道路阻挡,车辆会考虑借道行驶,如果对向车道也被阻挡了,那么就会执行U-turn,同时RNDF文件也会进行修正,全局路径也会重新进行评估。
- 当在路口中被挡住时,会调用hybrid A*算法,找到最近的可达出口。如图22所示。
- 单车行被挡住时,会调用Hybrid A*来到下一个GPS点,该特性使得车辆用稀疏GPS点就可以进行RNDF导航。
- 当试图到达检查点时,重复循环,错过当前检查点但并不会影响全局任务。该动作避免了检查点不可达时的无线循环。
- 当在停车场找不到路径时,临时删除地图。失败的原因可能是由于把已经离开的物体当做静态障碍物了。
- 所有场景下,超过一定时间就会使用hybrid A*导航到最近的GPS点,该状态下,就无视交通规则了。
3. Matlab/StateFlow 构建有限状态机模型
需具备的知识
状态机通常由状态名和状态动作构成
1. 状态框架
2. 状态动作
初始为非活动状态,entry 事件激活,关键字entry 或en
初始为活动状态,exit 事件进入非活动,关键字exit 或ex
初始活动状态,事件没有改变活动状态- during 动作,关键字during 或du 或on
处于活动状态,有驱动事件- on event 动作,关键字on event
处于活动状态或其子状态处于活动状态,bind 动作,关键字 bind
- 连接节点
3. 状态转移标签
(1) 注释
(2) 一个事件
(3)在 []中输入判断条件
(4) 在{}中输入满足条件后执行的动作
(5)在 /后输入转移的动作
所有的部件是可选的,但是一定要按如下顺序表达
创建一个状态机的步骤:
- 在simulink中添加Chart,进入Chart后在左侧菜单栏左键点击State,拖至界面即可
- 添加标签
- 添加转移
【决策状态机FSM(finite state machine)梳理】相关推荐
- 有限状态机FSM(Finite State Machine)及实现方式介绍(转)
原文:https://www.cnblogs.com/barrywxx/p/12860573.html 一.为什么引入有限状态机? 最近做一个项目,项目中很多实体(Entity),每个实体都有很多状态 ...
- 有限状态机FSM(finite state machine) 一
有限状态机FSM(finite state machine) 一 有限状态机又称有限自动状态机,它拥有有限数量的状态,每个状态代表不同的意义,每个状态可以切换到 零-多 个状态.任意时刻状态机有且只能 ...
- 有限状态机FSM(finite state machine) 二
有限状态机FSM(finite state machine) 二 延续上一篇继续有限状态机 上一篇中的状态切换判断是在每一个状态类的 OnExecute 方法中各种 if else 硬编码逻辑 当状态 ...
- 计算机态,(计算机)有限态自动机,FSM(finite state machine),音标,读音,翻译,英文例句,英语词典...
补充资料:ω-有限自动机 ω-有限自动机 ω-finite state automata 1094·.一youx一anz}dongJ-..有限自动机(.一rinite state automata)一 ...
- 有限状态机 FSM——Finite State Machine
有限状态机 1.状态机的结构 2.Mealy状态机和Moore状态机 3.用Verilog来描述可综合的状态机 实例 序列检测器 ADC采样控制电路 按键消抖 1.状态机的结构 其中F和G是两个有关状 ...
- 证明与计算(7): 有限状态机(Finite State Machine)
什么是有限状态机(Finite State Machine)? 什么是确定性有限状态机(deterministic finite automaton, DFA )? 什么是非确定性有限状态机(nond ...
- FSM(Finite State Machine,有限状态机)设计
有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机.Moore型状态机输出仅仅与现态有关和Mealy型状态机 ...
- 《计算机组成与CPU设计实验》5有限状态机的Verilog HDL描述(Finite State Machine,FSM)
多数控制逻辑都可以用有限状态机描述 状态机 状态机是组合逻辑和时序逻辑的特殊组合 时序逻辑用于存储状态 组合逻辑用于产生次态和产生输出 状态的数量是有限的,故称为有限状态机(Finite State ...
- 【FPGA入门教程】(七)FSM(Finite State Machine,有限状态机)设计
FPGA设计中,最重要的设计思想就是状态机的设计思想!状态机的本质就是对具有逻辑顺序和时序规律的事件的一种描述方法,它有三个要素:状态.输入.输出:状态也叫做状态变量(比如可以用电机的不同转速作为状态 ...
最新文章
- matplotlib画图、如何提高图像分辨率?
- 看看C# 6.0中那些语法糖都干了些什么(终结篇)
- 10 行 Python 代码写的模糊查询
- windows ubuntu Android studio安装好启动没反应解决方法
- 博弈论笔记:不完全信息与声誉
- MATLAB递归程序的调试方法
- 求C n m(从n个数中选m个数,有多少种组合?问题)暴力—递归——回归数学公式,三种方法,层层优化!
- java jdomxml 换行_jdom处理的XML Document 和String 之间的相互转化
- 数据传递型情景下事件机制与消息机制的架构设计剖析(目录)
- tp5在apache下能访问,但放到nginx下报404
- 蓝牙条码扫描枪如何选购
- 小萝贝控机大师工具推荐(一款在PC就能控制手机界面的工具)
- 谷粒商城之分布式基础之商品三级分类SQL代码
- 【Python量化】风险平价策略
- 论参加数学建模比赛的正确姿势
- 大数据时代如何通过区块链保证数据的稀缺性?
- 微信推送封面尺寸_微信公众平台图片尺寸是多少 如何设置
- 十二、适配器模式——解决充电的烦恼 #和设计模式一起旅行#
- Android之WiFi连接检测
- appium---第一个脚本--启动一个已存在的app