颜色巡线

1.实验目的

本教程将详细介绍如何编程控制机械狗实现自动巡线功能,但仅限于识别和跟随红、绿、蓝、黄这四种特定颜色的线路。首先需要为机械狗配备颜色传感器模块,该模块能够准确区分红色(RGB值约255,0,0)、绿色(0,255,0)、蓝色(0,0,255)和黄色(255,255,0)这四种预设颜色。在编程时,我们需要建立一个颜色识别阈值系统,当传感器检测到设定的目标颜色时(例如选择红色作为巡线颜色),机械狗的控制系统会通过PID算法调整左右轮速差,使其始终保持在颜色线上。特别注意的是,本教程的方法不适用于其他颜色,因为系统只预设了这四种颜色的特征值库。实施过程中还需要考虑环境光照条件对颜色识别的影响,建议在光线稳定的室内环境中进行测试和调整。

2.实验路径源码

首先进入机械狗的系统,结束机械狗大程序, 然后终端输入 进入到cd ~/DOGZILLA_Lite_class/6.AI Visual Interaction Course/01.color_line的路径下运行 follow_line.py即可。

3.实验现象

执行以上的命令后,机械狗就开始了颜色巡线的操作了。 默认巡蓝色的线,按下机械狗屏幕的右上角的按键或者键盘的小写‘k’键 都能切换巡线的颜色。 如图所示: image-2025031200001

图片的左上角是巡黄色的线,但只有蓝色的线条,所以机械狗是不会运动的,要通过按键使yellow变成blue,机械狗才会巡线

image-2025031200002

按下屏幕的左下角按键可以退出此程序。

4.主要源码分析

以上的巡线的pid参数,如果想要更改巡线的速度和pid数值,就在源码中更改这些参数即可。

这里是颜色的hsv参数,如果想要增加巡线的颜色,可在这里进行一个添加。然后结合理解代码的能力,添加自己增加颜色切换的功能