2023-2-9 20:58:34 [显示全部楼层]
3517浏览
查看: 3517|回复: 7

[项目] 麦小昆视觉寻线

[复制链接]
本帖最后由 rzyzzxw 于 2023-2-17 18:16 编辑

麦小昆视觉寻线图1

【背景】
麦小昆,一个活泼可爱的小车车。
在完成了四轮方向舵小车视觉寻线的初步探索后,我想尝试一下用他和二哈来进行视觉寻线。
麦小昆有较小的转弯半径,可以用DF的纸质场地,这样就能很方便的在教学活动进行麦小昆视觉寻线展示。
经过探索,找到了一个简单的算法写程序,达到了当前环境下比较稳定流畅的视觉寻线效果。

现在汇报如下。

【测试视频】


【器材】
麦小昆      1
麦小昆视觉寻线图2
二哈识图    1
麦小昆视觉寻线图3
寻线地图    1
麦小昆视觉寻线图4
锂电池     1(二哈供电用)
铜柱 螺丝等

【资料】20200420153959qgxlbp.pdf (dfrobot.com.cn)
一、HUSKYLENS 巡线实现逻辑
如何让麦昆在白底黑线的巡线地图上循着黑线运动呢?其实我们只需要知道麦昆相对黑线是什么位置,分下面三种情况:
1、当麦昆在黑线的偏右位置时,控制麦昆向左转弯;
2、当麦昆与黑线相对居中时,控制麦昆直行;
3、当麦昆在黑线的偏左位置时,控制麦昆向右转弯。
具体应该怎么实现呢?
我们将 HuskyLens 在巡线过程中屏幕上显示的信息剥离出来,抽象成下图的几何数学模型。

HuskyLens屏幕的分辨率是 320×240,屏幕左上角的O点为屏幕的坐标原点(0, 0),水平向右方向为 X 轴正方向,竖直向下方向为 Y 轴正方向,因此屏幕右下角的坐标为(320, 240)。上图中橙色虚线为屏幕的中轴线,这条线的横坐标值为160。上图屏幕中黑色的线,是 HuskyLens 摄像头“看到”的巡线地图线条,蓝色箭头为 HuskyLens 计算出来的线条方向,蓝色箭头的起点坐标为(x1, y1),终点坐标为(x2, y2)。

下面的程序中我们用终点x坐标x2相对中线位置来判断小车运行方向及确定运行速度。
二、二哈使用提示
  • 学习线条时,尽量把HuskyLens的位置调节到与线条平行。
  • 当更换场景时,请重新学习线条,以保证二哈能准确识别。
  • 光线暗时可以在常规设置中打开LED灯照明,这时光线改变,重新学习线条。
  • 识别的线条可以是任何与背景有明显色差的单色线条,建议线条与背景色有足够的色差,以保证巡线的稳定。
  • HuskyLens可以根据线条的颜色不同,进行多个线条的学习与巡线,但是线条必须是与背景有明显色差的单色线条。大多数情况下,巡线用的线条,只有一种颜色。为了保证稳定性,建议只对一种颜色的线条进行巡线。
  • 线条的颜色与环境光线有很大关系,建议巡线的时候,保持环境光线的稳定。
  • 学习线条:
    将HuskyLens屏幕上的“+”字对准目标线条。建议HuskyLens的视野范围内只有需要学习的线条,并且没有交叉线。尽量将HuskyLens与目标线条保持平行,然后HuskyLens会自动检测线条,并出现白色的箭头。然后短按“学习按键”即可,白色箭头变成了蓝色箭头。
  • 巡线追踪:
    当HuskyLens检测到学习过的线条时(即:同一种颜色的线条),HuskyLens的屏幕上会显示蓝色的箭头,箭头的指向表示路径预测的方向。


【程序设计】
mind+
套件
麦小昆视觉寻线图6
传感器
麦小昆视觉寻线图5

参考官方资料,有思路1和2。
思路1、当 HuskyLens 检 测 到 黑 线 在 屏 幕 的 左 边 时,我们将区间 [150,170] 设置为小车的直行区间,当起点坐标值 x1 在这个区间内时,控制小车直行;当x1<150 时,控制小车左转;当 x1>170 时,控制小车右转。

思路2、按照我们先前的优化思路,既然可以将屏幕分成 3 个运动调节区间,为什么不继续分为 5 个呢?黑线位置越趋近两边,转弯速度越大;黑线位置越趋近于中轴线,转弯速度越小。或者更进一步,直接分为 7 个运动调节区间呢。


官方参考程序:


思路2完成任务效果一定比1好。


思路3、参考2的程序,我进行优化,将屏幕分为320个调节区间,用映射将箭头终点x坐标x2的取值范围0-320和两轮的速度建立联系。
麦小昆视觉寻线图7
麦小昆前面的万向轮主要起支撑作用,小车运行的方向和速度都要依靠两个后轮的正转速度差来完成。
  • 当前头终点x2坐标在屏幕左侧时,预示黑线方向向左变化,小车要左转,并且x2越接近0,左转的速度越大(更小的左轮速度和更大的右轮速度。)
  • 当前头终点x2坐标在屏幕右侧时,预示黑线方向向右变化,小车要右转,并且x2越接近320,右转的速度越大(更小的右轮速度和更大的左轮速度。)
  • 麦小昆程序中的电机速度范围是0-255,如果将这个速度值充分应用,就可以达到最大的直行速度和最大的转弯速度。

上面的小结是测试成功后的心得,探索的过程中经历了多次失败。
在写帖子时对程序的稳定性进行了耐久性测试,在写这行字前二哈耗尽了给它供电的电池的电后小车脱线了(换电后小车又恢复了寻线运行)。
我对继续测试的稳定运行充满信心。

程序如下:

麦小昆视觉寻线图8
以80为直行速度,+-80得到速度范围0-160。
记录这个函数是因为它让我取得了第一次稳定流畅寻线测试成功。
麦小昆视觉寻线图9
为了得到更大的直行和转弯速度,将速度范围0-255充分应用后,得到寻线2函数,这时直行速度约127。
麦小昆视觉寻线图10
映射的应用是程序算法的重点,感谢官方文档的启发。

完整程序:
麦小昆视觉寻线图12
麦小昆视觉寻线图13
【小结】
1、二哈识图寻线的功能很有趣,值得大家继续探索。
2、麦小昆电池容量小,二哈识图要通过usb单独供电,IIC的通信线要接到麦昆IIC口。
3、麦大昆电池容量大(漂流给别的老师了),等漂回来后再做测试。
4、实线比虚线寻线稳定(不脱线),麦小昆视觉寻虚线不打算做了。
5、可以用黑色易擦白板笔在浅色地板上画细线条寻线,效果也很好。

【附件】
下载附件麦昆二哈寻线.zip


【提示】后续学习与探索发在回复中,请伙伴们不要留言。感谢。

rzyzzxw  版主
 楼主|

发表于 2023-2-9 21:29:00

本帖最后由 rzyzzxw 于 2023-2-11 20:19 编辑

讨论:
PID 调速算法,PID 全称比例、积分、微分控制,它是一种闭环控制系统,闭环控制是根据控制对象输出的反馈来进行校正的控制方式,它能够根据测量出的实际值与计划值之间的误差 Error,按一定的标准来进行纠正。
如何继续优化程序?

回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2023-2-11 19:44:39

rzyzzxw 发表于 2023-2-9 21:29
讨论:
PID 调速算法,PID 全称比例、积分、微分控制,它是一种闭环控制系统,闭环控制是根据控制对象输出 ...

HuskyLens摄像头系列 | 写给小学生看的视觉PID巡线算法
https://mc.dfrobot.com.cn/thread-300508-1-1.html?fromuid=727937
(出处: DF创客社区 - 分享创造的喜悦)
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2023-2-13 21:27:37

1月13日学习笔记
晚上,再次学习铁熊老师的文章:HuskyLens摄像头系列 | 写给小学生看的视觉PID巡线算法
https://mc.dfrobot.com.cn/thread-300508-1-1.html?fromuid=727937
麦小昆视觉寻线图1
根据公式,可以看到 PID 分为 3 个部分:比例调节(P)、积分调节(I)、微分调节(D)。
麦小昆视觉寻线图2
按照陈老师的程序,照抄如下,帖子刚发的时候就读过几遍了,虽然上过小学,可是硬是没读懂,记得当时照样子抄了程序,也不没有成功寻线,放弃了探索。
这一次又读,并且一句句写程序一句句理解,竟然对上面P寻线部分读懂了。
并且发现,我上面帖子中映射的算法,和P寻线是异曲同工的,难怪能够稳定的寻线。
有一点不同,我在程序中仍然用了我的思路,用终点的x坐标x2来求Error。感觉效果挺好的。
麦小昆视觉寻线图3
第一次的尝试,直线速度取了120。
当我理解了程序后,Kp直接用120/160=0.75。
麦小昆视觉寻线图4
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2023-2-13 21:32:34

本帖最后由 rzyzzxw 于 2023-2-14 16:18 编辑

然后,我知道,麦昆的车轮速度范围是0-255,为了能充分利用,下面程序中直线速度用255的一半127.5。
这时,Kp取127.5/160=0.79。速度应该的微弱的提升。
测试效果同样很棒。
麦小昆视觉寻线图1

下载附件麦昆二哈寻线P.zip
回复

使用道具 举报

rzyzzxw  版主
 楼主|

发表于 2023-2-25 15:59:48

同学们想看麦小昆视觉寻手绘线路,录一个呗。
材料:
马克笔
一张大白纸(等这张大纸找了几天,最后是用了真地图的反面画的。)


回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-12 21:26:27

厉害厉害
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-7-12 21:27:45

小车泰裤辣!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail