Hello,大家好,光天化日之下我又来撸狗了。距离上次撸狗已经过去了个把月时间了,那么这次又有什么新惊喜呢?
先来看一下本期的演示视频吧。
https://www.bilibili.com/video/av79068760/
什么?巡线?这也太简单了吧。不要急,听我慢慢道来。
哈士奇图形模块来了
上次视频里说了,DF 只给我提供了 HuskyLens (中文名:哈士奇)人工智能摄像头的通信协议,所以只能靠撸代码来体验哈士奇。你还不知道哈士奇是什么?更应该看一看上期的教程了。
上期回顾:撸狗初体验 | 手把手教你上手 HuskyLens 哈士奇人工智能摄像头
但是这次,我拿到了哈士奇的新狗粮!那就是哈士奇的 Arduino 库和 Mind+ 图形模块(Mind+ v1.6.2 测试版)。也就是说,我们现在只要轻松拖动图形模块,就可以很轻松地玩转哈士奇了,而且哈士奇的界面,终于支持中文了!
注意:哈士奇的图形模块和 Arduino 代码库目前处于工程测试阶段,正式版很有可能会发生调整和改动,请对照本文描述的原理酌情修改程序使用。
巡线介绍
既然有了这些功能,那么玩哈士奇就简单多了。所以这一期我将带大家来玩一玩哈士奇的视觉巡线功能!
为了配合完成巡线功能,我用激光切割给麦昆小车做了一个可调节支架,将哈士奇安装到了麦昆小车上,如下图所示。其中哈士奇的角度是可以旋转调节的。
智能车巡线,相信大家都已经很熟悉了,就是让小车沿着规定的轨道(通常是黑线,下图视觉效果图用了蓝线)、按照一定的速度进行移动。一般情况下,我们只需要使用普通的巡线传感器,就可以完成相应的功能。既然麦昆装上了哈士奇,我们这次就不用麦昆自带的巡线传感器来进行巡线了,我们来试试哈士奇视觉巡线有什么奇特的功效。
视觉巡线跟普通巡线传感器巡线有什么区别呢?采用普通巡线传感器时,一般根据线宽、巡线传感器的间距、巡线传感器的数量等,会有好几种巡线模式,我们这里以麦昆小车自带的双巡线传感器为例,这也是最常见的巡线模式。如下图所示,我们可以很容易就可以根据巡线传感器在黑线(视觉效果图用了蓝线)和白线上的位置来判断麦昆小车什么时候需要直行、什么时候需要左转、什么时候需要右转。
那么哈士奇视觉巡线的逻辑又是怎么样的呢?其实跟巡线传感器的逻辑非常类似,我们只需要知道小车相对黑线是什么位置就行了:
- 当麦昆小车在黑线的偏左位置时,控制小车向右转弯;
- 当麦昆小车在黑线的偏右位置时,控制小车向左转弯;
- 当麦昆小车与黑线相对居中时,控制小车直行。
在本文中,我们希望麦昆小车以尽可能快的恒定速度进行巡线,即麦昆小车的几何中心速度保持不变。
开始巡线吧
我们先来看一下,麦昆小车带着哈士奇巡线时,哈士奇屏幕上显示的信息。需要注意的是,为了巡线,我们需要将摄像头斜向下调节,这样能够看到离麦昆小车更近距离的黑线,巡线效果更佳。