人工智能
最新课程
- TI 高压研讨会
- 从零开始学 PSpice® for TI 仿真工具 - 手把手操作实训课程
- 高压系统功能安全简介
- 揭秘高压应用安规中的电气间隙和爬电距离
- 管理微型逆变器中的电源转换挑战
- 比较三相工业系统的交流/直流电源转换拓扑
- 隔离认证概述及其对高压设计的意义
- 在基于 GaN 的电源中实现钛金级效率
- 提高 800V SiC 牵引逆变器效率和功率密度的主要设计注意事项
- 如何设计安全可靠和高效的储能系统
热门课程
TI-RSLK 模块 7 - 讲座视频 - 有限状态机线路跟踪器
大家好,我是
在上一个视频中,
有限状态机,具体来说,
控制器问题。
在本视频中,
状态机示例,该示例
那就是,
如何打造一个
移动的系统。
所以地面上会有
会配有传感器,
能够沿这条线路移动。
还记得吧,有限状态机的
一个系统。
该系统将会有输入。
它将会有状态,
也就是我们认为将会成真的情况。
它还会有输出,
那么,我们要解决的
非常简单的简化版本的
在桌子上沿一条线路移动。
实际的机器人
但是,我们今天在这里
而且它们是二进制传感器。
所以,如果这里的这个
则输入为
如果该传感器没有看到
则看到的是
所以
1,0
0,1
使用有限
能够解决
如果我没有看到任何线路,
还是偏右了呢?
我们将使用
来区分迷路的
情况
偏左还是偏右。
我的电机
我将会有两个电机,
您将在本课程中
驱动型机器人。
如果我想
同时驱动两个电机。
稍后,我们将在课堂上
所有方面。
但简单来说,
那么便会直走。
现在,向右转
我不想急转弯。
我只想平缓地右转,
因为我将会假设
我要采用的
我将会驱动左侧电机,
所以,如果
我将会降低
电机的速度。
具体的做法是,
为
这便是我用以
左转的方式则
显然,我将会将右侧
持续为
但对于左侧电机,我将会减慢
这将会实现
这便是我将会
好的,如果我得到
但是在这个特殊的示例中,
所以,记住,解决
或者说策略,
所以,我将会考虑
我可以使用各种状态。
这个便会在这里被编码。
我实际上是在线路上。
我现在在
此外,还有
就像我说的,
也有可能偏右。
在这里这个特定的示例中,
这些全部都是
在实验中,或者
您将会用到的
但是,在这里,
说明如何将我的想法
实际代码中。
在找出这些状态后,
关于这些状态,
如果我在
我便会想要直走,
此时,引擎
有限状态机引擎
完成各个循环,
我将会等一会儿,
我必须给它
我将会提供输入。
然后,我将会
和输入来选择
这将会是
让我们直行,
我们将会直行。
我将会输出、等待、
等待、输入、转入次态、输出、
输入、转入次态。
我在线路上。
然后,我将会
所以在这个虚拟
实际上是直行的。
但这条线路
所以,在几十、
直行之后,
我最终将会
现在,只有两个选择。
我可以走到偏左
下面将说明
当偏离路线时,
如果我将会
走到偏左的位置,
将会变暗,
现在,我正处于偏左状态。
在看到该情况时,
我过去一直在线路上。
然后,我会查看我的输入。
我看到左侧传感器的信号消失了。
我知道现在
但在这个简单
对此,我该怎么办呢?
我该怎么做?
我想右转。
我将会放慢速度。
我想右转。
所以,我将会降低
我将会放慢这个电机的速度。
所以,我将会放慢
使左侧电机
所以,这个电机
这个则会
这将会实现
由于我偏左了,
所以,我的状态是
我的措施是,通过
实现平稳右转。
换句话说,
将会处于高电平。
这个电机将会
这便是我为
提供的功率
左侧电机满功率,
机器人将会平稳右转。
同样,机器人需要
所以,如果我右转、
我将会平稳右转,
这样,我刚刚
现在,我看到两个传感器都已开启。
那么,我将会如何做呢?
现在,我回到了
中央状态。
所以,我将要
此时,我将会重新
我将会移动,好的,
转入次态、输出、等待、输入、
这里的虚拟机器人
但线路是弯曲的。
下面将说明
位置时的情况。
之前我在线路上。
现在,我偏右了。
所以,我现在处于偏右状态。
我的意思是,
代表我的位置偏右的状态。
我想要做什么?
好吧,我想要左转。
我们已经了解了
则与之相反。
所以,我将会驱动
功率驱动右侧
功率驱动左侧电机。
这将会导致
现在,我是偏右的。
我想要平稳左转,
从而重新找到线路。
就像前面的数千次操作
等待、输入、转入次态。
但是,这次我将会
如果我想,
所以,我将会左转。
我现在仍然偏右。
我将会左转。
我现在仍然偏右。
类似地,我将会驱动
我现在仍然偏右。
仍然偏右。
然后,嘣--
我找到线路了。
所以,我之前在
之前是。
现在,我正从偏右
中央状态,该状态让我知道
我将会做我在线路上时
那就是直行。
好的,我会直行。
这基本上
我说过,真实的
将拥有不只
在实验中,您将会
但是,我只是想
这些便是我的状态。
我将会开始
但是,现在我列出了这些状态。
由于这是一个
因此,将会有一个结果
我将会驱动
如果我将会在中央,
如果偏左,
如果偏右,
这便是我将要
接下来要做的是,
我将其称为延迟或等待。
但是,如果我们
那么等待的时间将是
如果您的机器人
大约
这个时间便是
所以,我们将会以
常数来运行
我们将会以稍快的速度
如果比响应时间快太多,
所以,我们将会
该有限状态机一次。
注意,整体目标是
输入模式
1,1
偏左、偏右
这些是简单的状态。
但是这两个是较为复杂的状态。
传感器给出
但是,我有可能是
也有可能是
区分这两个
我实际上将会
以及我为什么
好的,重申一下,
每个状态都有
中央、偏左和偏右。
每个状态都有一个输出。
每个状态都有一个时间延迟。
然后,每个状态
是输入的函数。
如果我采用的是
我将会有
由于我采用的是
延伸出
00,
这便是我的状态图
我们将会
同样,根据
使用图表,还是图形
这二者是
您可以选择上述任何一种方式。
实际上我已经
因为事实
这是状态转换表。
这是状态转换图。
因为事实证明
是完全相同的。
它们之间的
好的,同样,我是
然后是时间延迟。
这将会是
现在,我只是
事情的直觉来进行设计
对吧?
以下便是我们
如果我之前在线路上--
我之前在
并且现在看到的输入
我现在仍在线路上。
我现在仍在
所以,如果我之前在线路上,
那么,我便是在线路上。
所以,我将
这一个,
好的,我之前是
传感器变成了
好的,我回到了线路上。
所以,我将要
如果我偏右,
那么我现在
将会回到线路上。
状态与输出
有一个一一
换句话说,
都只有一个
不是这样的。
其实同一个输出
而正确的说法是,
有且只有一个输出。
但反过来说就不正确了。
每个输出不一定
但这里这个例子比较简单。
如果我看到线路,这便
所以,我将要
这是状态转换图。
如果您要绘制
这是状态转换表。
如果您要绘制转换图,
如果我在线路上
所有那里的
这里这个是
好的,我现在
看到线路
这里这个,我在偏右
这是这个
好的,3、2、1。
这就是映射
我说过,
有一个一一对应的映射。
这是这个
这方面很简单。
现在,我已经开始
在这里向您展示
这将会是
这是我将会放在
实际代码,它也是
我们来解决一个难一点儿的问题。
如果我在线路上,
左侧的传感器死机了,
这是左侧传感器,
发生了什么?
这意味着
我最终偏左了。
我将会编码
这个箭头,这里
并且看到的是
如果我偏左了,
会发生什么。
这便是我将会
我将要进入
如果输入
这边这个箭头就是这个
所以,这是一个
在实验中您将需要
因为它有一个错误
但是,这里的
在两个状态之间轮换,
实现平稳的右转。
所以,右侧电机
在这里右侧和
我们偏左了。
所以,我们想要右转。
为了做到这一点,
并使左侧电机保持高电平。
我将会在
条目。
我将会每次
让我们来看看这个。
这便是我们在
这是我们曾尝试
那就是,如果
我知道我偏左了,
我是在偏左位置
现在完全黑屏了。
我处于迷路状态。
我知道,我之前
而且现在我完全
那么我有很大的
我不可能
它不会跳,
也不会飞。
所以,我不可能偏右。
所以,一定是偏左。
同样,这在
在状态转换表中
在状态转换图中
形式。
接下来,在转弯时,
我将会急转弯。
我们实际上将会
停止右侧电机
并向右急转弯。
我们现在偏左。
我们将会
方法是使一个电机完全停转,
下面说一下另外一种情况。
现在我偏--
之前我在线路中央。
现在,右侧
右侧传感器黑屏
同样,表格中的
这个转换图中的
如果我之前
好的,然后我们
之间来回切换
同样,如果
如果输入为
之间循环,导致一个
另一个则停止。
就像偏左时一样,
判断偏右的依据是,
我之前处于
现在我看到完全黑屏了。
我现在迷路了。
我将会认为我处于偏右位置。
我将会完全
使机器人
因为我现在偏右。
同样,这三者是
这里的这个箭头代表
这个点和
我们已经介绍了一些奇怪的情况。
这一个并不奇怪。
它表达的是
这些才是真正的奇怪。
有时,我们不得不
您不得不为
但是其中的一部分
我在线路上。
然后,嘣
假设您使用的是
假设您的教授
这种情况
上一秒您还在线路上,
下一秒就完全
这便是我们选择
您无法使其
这太快了,机器人实际上
但是我们不得不进行猜测。
所以我将会进行猜测。
偏左还是偏右,
我随意选择一个。
这里是另外两个
因为控制器的
移动速度快得多。
那就是,我之前
现在,传感器表示,
我在这里假设
这是我的线路。
我的机器人沿着
移动。
类似地,我之前
现在,我又偏左了。
所以这是一些奇怪的情况,
但无论如何我们得
将这些东西整合在一起,
我们便得到了
状态转换表。
而在
这里的每个箭头
条目。
很明显,这是一个
完全相同的信息。
所以,我将会以
快得多的速度
这里是实际的
我实际上会将这些
机器人将会沿线路
我说过,使用
效果会更好。
而且真实
实际上有
但是,它的代码
将会与我们在交通信号灯
让我来全程演示一下。
好的,这是我的
同样,每个状态都有
和四个次态,
总共只有三个状态。
这是一种基于指针的
实际名称是指针。
这里是我们刚刚
其中包括输出值、
次态,其中次态会因
10
好的,该状态机
就像我说的,这个在
我将时钟
到第
简单来说,
然后,我们将会
同样,我们将会在
模块
但是,电机输出是
时间延迟,我们将会
如何使实际的
然后是在第
如何运行传感器输入,
所以,这里是读取输入。
然后,这是
给出了现态、
也就是
以及次态。
好的,最后总结一下,
有限状态机。
在上一个讲座
我真的觉得这是
因为您可以
方式解决
类型的问题
这种抽象方式也可以
您知道的情况
还取决于之前的输入。
希望您喜欢本次实验。
在您的职业生涯中,
这些有限状态机
一个极好的工具。
- 未学习 TI-RSLK 模块 1 - 讲座视频 – 使用 CCS 在 LaunchPad 上运行代码
- 未学习 TI-RSLK 模块 1 - 实验视频 1.1 – 安装 tirslk_maze
- 未学习 TI-RSLK 模块 1 - 实验视频 1.2 – 安装 CCS 和调试
- 未学习 TI-RSLK 模块 1 - 实验视频 1.3 – 运行 TExaS 逻辑分析仪
- 未学习 TI-RSLK 模块 1 - 实验视频 1.4 – 运行 TExaS 示波器
- 未学习 TI-RSLK 模块 2 - 讲座视频 – 电压、电流和功率
- 未学习 TI-RSLK 模块 2 - 实验视频 2.1 – 测量电容器的阻抗
- 未学习 TI-RSLK 模块 2 - 实验视频 2.2 – LED (I,V) 响应曲线、指数关系
- 未学习 TI-RSLK 模块 3 - 讲座视频 - ARM Cortex M 架构
- 未学习 TI-RSLK 模块 3 - 讲座视频 - ARM Cortex M 组件
- 未学习 TI-RSLK 模块 3 - 实验视频 3.1 - 调试解决方案、可视化、断点和单步执行
- 未学习 TI-RSLK 模块 4 - 讲座视频 - C 语言编程
- 未学习 TI-RSLK 模块 4 - 讲座视频 - 设计
- 未学习 TI-RSLK 模块 4 - 讲座视频 - 调试
- 未学习 TI-RSLK 模块 4 - 实验视频 4.1 - 调试解决方案、可视化、变量、单步执行
- 未学习 TI-RSLK 模块 4 - 实验视频 4.2 - 调试解决方案、可视化、断点、单步执行
- 未学习 TI-RSLK 模块 5 - 讲座视频 - 电池和电压
- 未学习 TI-RSLK 模块 5 - 实验视频 5.1 - 测量电池的电压和电流
- 未学习 TI-RSLK 模块 5 - 实验视频 5.2 - 连接电机驱动器和配电板
- 未学习 TI-RSLK 模块 6 - 讲座视频 - GPIO MSP432
- 未学习 TI-RSLK 模块 6 - 讲座视频 - GPIO 编程
- 未学习 TI-RSLK 模块 6 - 实验视频 6.1 - 演示反射传感器的工作原理
- 未学习 TI-RSLK 模块 6 - 实验视频 6.2 - 演示实验解决方案 - 测试线路传感器
- 未学习 TI-RSLK 模块 7 - 讲座视频 - 有限状态机理论
- 未学习 TI-RSLK 模块 7 - 讲座视频 - 有限状态机线路跟踪器
- 未学习 TI-RSLK 模块 7 - 实验视频 7.1 - 运行 FSM 启动代码
- 未学习 TI-RSLK 模块 7 - 实验视频 7.2 - 运行解决方案代码 - 设计更好的 FSM
- 未学习 TI-RSLK 模块 8 - 讲座视频第一部分 - 开关
- 未学习 TI-RSLK 模块 8 - 讲座视频第二部分 - 连接输入和输出 - LED
- 未学习 TI-RSLK 模块 8 - 实验视频 8.1 - 连接开关和 LED 以及调试
- 未学习 TI-RSLK 模块 9 - 讲座视频 - SysTick 计时器 - 理论
- 未学习 TI-RSLK 模块 9 - 讲座视频 - SysTick 计时器 - PWM
- 未学习 TI-RSLK 模块 9 - 实验视频 9.1 - 演示通过调整占空比来运行检测信号
- 未学习 TI-RSLK 模块 9 - 实验视频 9.2 - 演示通过运行正弦波输出来调整功率
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - 理论
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - 中断
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - SysTick 中断
- 未学习 TI-RSLK 模块 10 - 实验视频 - 演示运行线传感器和黑匣子记录器
- 未学习 TI-RSLK 模块 11 - 讲座视频 - 液晶显示屏
- 未学习 TI-RSLK 模块 11 - 实验视频 11.1 - 演示 LCD 界面
- 未学习 TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 物理
- 未学习 TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 接口
- 未学习 TI-RSLK 模块 12 - 实验视频 12.1 - 演示电机基础知识
- 未学习 TI-RSLK 模块 12 - 实验视频 12.2 - 演示机器人以预设模式移动
- 未学习 TI-RSLK 模块 13 - 讲座视频 - 周期性输入
- 未学习 TI-RSLK 模块 13 - 讲座视频 - 脉宽调制
- 未学习 TI-RSLK 模块 13 - 实验视频 13.1 - 通过计时器产生的 PWM 输出来旋转电机
- 未学习 TI-RSLK 模块 13 - 实验视频 13.2 - 测量中断延迟
- 未学习 TI-RSLK 模块 14 - 讲座视频 - 实时系统 - 理论
- 未学习 TI-RSLK 模块 14 - 讲座视频 - 实时系统 - 边沿触发中断
- 未学习 TI-RSLK 模块 14 - 实验视频 14.1 - 使用边沿触发中断为碰撞开关提供实时响应
- 未学习 TI-RSLK 模块 15 - 讲座视频 - 数据采集系统 - 理论
- 未学习 TI-RSLK 模块 15 - 讲座视频 - 数据采集系统 - 性能测量
- 未学习 TI-RSLK 模块 15 - 实验视频 15.1 - 使用 ADC 测试红外距离测量
- 未学习 TI-RSLK 模块 16 - 讲座视频 - 转速计 - 输入捕捉
- 未学习 TI-RSLK 模块 16 - 讲座视频 - 转速计 - 接口
- 未学习 TI-RSLK 模块 16 - 实验视频 16.1 - 测试转速计以测量速度
- 未学习 TI-RSLK 模块 17 - 讲座视频 - 控制系统
- 未学习 TI-RSLK 模块 17 - 实验视频 17.1 - 演示控制系统 - 积分控制
- 未学习 TI-RSLK 模块 17 - 实验视频 17.2 - 演示控制系统 - 比例控制
- 未学习 TI-RSLK 模块 18 - 讲座视频 - 串行通信 - UART
- 未学习 TI-RSLK 模块 18 - 讲座视频 - 串行通信 - FIFO
- 未学习 TI-RSLK 模块 18 - 实验视频 18.1 - 演示 UART
- 未学习 TI-RSLK 模块 18 - 实验视频 18.2 - 命令解释器
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 无线
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 理论
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 简单网络处理器
- 未学习 TI-RSLK 模块 19 - 实验视频 19.1 - 演示 BLE
- 未学习 TI-RSLK 模块 19 - 实验视频 19.2 - 与机器人通信