2.c 有限状态机代码解析
category
type
status
slug
date
summary
tags
password
icon
书画一船烟外月,湖山十里镜中人
—宗召南
🏰代码及环境配置:请参考 环境配置和代码运行!
本节提供了有限状态机在变道场景中的代码测试
2.c.1 基于有限状态机的变道功能代码实现
在
tests/decision/fsm_test.py
中,首先我们定义了FSM的核心概念:状态,事件,动作(在变道功能中没有动作,因此不定义)和状态转移。其中状态包含:lane keeping, lane change waiting, lane change running, lane change finish和lane change cancel。
事件包含:lane change request, lane change safe, back to original lane等。
状态转移描述了不同状态之间的切换,需要注意的是避免陷入某个状态中无法切换,具体逻辑如下:
2.c.2 基于有限状态机的变道功能代码测试
测试中我们没有具体定义变道请求事件和变道安全性检测事件,这个可以根据自己需求进行完善。因此在
main
函数中,我们定义了一些基础变量:起始点,轨迹长度和分辨率等。调用接口并可视化如下:上一篇
动手学控制理论
下一篇
端到端-理论与实战视频课程
Loading...