第18课 无人驾驶应用实践
现在有一个交通场景如下图所示,接到任务需要设计程序使车辆自动识别交通卡并按卡片指示行驶。
移动方式自定义函数编程
以 M1 接口为例调试轮子的正反方向,高电平和低电平设置轮子方向。
PWM数值1-1023控制轮子速度(启动轮子的数值范围600-1023)
下图为测试单个轮子方向:
掌控板连接到电脑,点击上传到设备
测试到轮子方向后,设置每个轮子方向的自定义函数,方便设置车子的移动组合方式。
改写自定义模块名称为 M1 正,添加输入项(数字值)为 s1:
s1 可以拖动镶嵌到速度模块,M1 正转自定义模块函数设置完成,把 M1 正拖出来设置 600-1023 数值,轮子就以正方向转动。(注意接线方式不同,正反方向也不同)
重复以上步骤将 4 个轮子的正反方向设置出来,如下图所示:
车子移动方式组合自定义函数
参考上图麦克纳姆轮的移动方式,添加移动组合的自定义函数 (参考如下图)
设定智能识别卡片编程(移动篇)
1)设置开机显示为“启动 AI 人工智能”
在掌控模块的屏幕显示找到
把“Mind+”改为“启动 AI 人工智能”
2)设置通讯模式
选择通讯方式后,程序中的通讯方式应与拨码开关保持一致。前
面我们已经把拨码开关调为 I2C 模式(如图所示)
编程时应首先配置通讯方式,然后才可以进行其他的参数配置,使用过程中不可更改,每次切换通讯方式,需要重启小 MU。
在传感器模块找到视觉识别摄像头的初始化配置通讯方式。
初始化选择 MU00 端口选择 I2C,找到启用算法功能图形,选择
交通卡片功能。
3)算法性能设置
找到设置算法性能模块设置交通卡片
小 MU 视觉算法的运行分为两个阶段,一是算法处理,二是结果处理。
这两个阶段对算法的性能和速度起到关键的作用。
这两个阶段的不同的处理方法,每类算法都提供了 3 种性能选
项:速度优先,均衡性能,准确率优先。用户可以根据实际应用需求
来选择最适合的性能:
4)交通卡片识别设置
从控制模块找到图形
再从传感器模块找到
设置为交通卡片,嵌入执行图形
5)交通卡片识别(向前)
在检测到交通卡片执行程序内嵌入交通卡片算法执行动作,首先
在五种交通卡片识别设置找到算法交通卡片向前图形,有五种交通卡
片识别设置。
再添加一个执行模块,将向前算法图形嵌入
将向前程序嵌入到检测交通卡片里面去,设置屏幕显示,识别成
功后屏幕显示前进。
上传程序,拿出向前卡片识别是否成功。
6)交通卡片识别(向左、向右)
添加一个交通卡片向左、向右的算法程序嵌入到检测到交通卡片
程序中,设置屏幕显示左移、右移,赋予左移、右移动作设置 1000
速度,启动时间为 0.2 秒。(速度根据场上情况再作调整)
下图为参考示例程序:
7)交通卡片识别(掉头)
添加一个交通卡片掉头的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示掉头。赋予动作,为了让车子更平稳的掉头,首先设置一个停止动作,0.5 秒后再掉头,掉头需要使用顺时针转或者逆时针转,调整速度和时间让车子达到 180 度掉头并前进,测试时使用顺时针 600 速度转动 2.3 秒达到 180 度,最后在设置前进为 600 速度继续前进。
下图为参考示例程序:
8)交通卡片识别(停车)
添加一个交通卡片停车的算法程序嵌入到检测到交通卡片程序中,设置屏幕显示停车。赋予动作,识别卡片成功后车子需要停顿一下,然后顺时针转 90 度或者逆时针转 270 度,面向射击标靶。测试时的设置停止 0.5 秒后,逆时针 600 速度转动 1 秒达到 90 度,最后
停止。
下图为参考示例程序: