Skip to content

3.7 视觉巡线车

3.7.1 造型介绍

  这款 AI 视觉巡线车是积木智能行驶小车,车头装有 WonderLens 视觉摄像头充当 “眼睛”,左右车轮分别搭载 360° 舵机实现差速驱动。整体积木组装简单,结构拆分清晰,方便我们接线调试。当摄像头实时捕捉黑色椭圆轨迹、读取黑线偏移位置信息后,程序自动调节双舵机转速修正车身姿态,让小车沿着轨迹自动平稳巡线行驶,是能直观感受 AI 视觉轨迹检测与闭环差速控制的智能实训小作品。

3.7.2 学习目标

  1. 学会使用 WonderLens 模块开启视觉巡线功能,掌握黑线坐标、偏移量数据读取方法。

  2. 熟练编写双 360° 舵机差速调速程序,通过调整左右舵机转速完成车身方向修正。

  3. 掌握闭环巡线逻辑编程,实现小车持续稳定沿黑色椭圆轨迹自主行驶。

  4. 搭建完整小车造型并调试巡线算法,具备简易 AI 视觉轨迹跟随类作品制作能力。

3.7.3 积木搭建

PDF 未正常显示? 在新窗口打开

3.7.4 设备接线

将 WonderLens 视觉模块接线插入 ESP32 主控器 接口;

将左侧 360° 积木舵机接线插入 ESP32 主控器 接口,舵机 接线要插入S1的 引脚处;

将右侧 360° 积木舵机接线插入 ESP32 主控器 接口,舵机 接线要插入S2的 引脚处。

示意图:

3.7.5 程序编写

(1) 程序原理图

(2) 添加扩展库

  • 在 “扩展” 中选择”传感器“添加 “WonderLens” 。

(3) 核心代码块解析

指令块所在类别功能说明
对比左侧数值与自定义数值,输出大于判断的布尔结果
创建自定义变量用于存储数据
读取自定义变量内存储的数据
为指定自定义变量赋予自定义数值
控制指定接口的舵机按照设定速度进行转动
切换视觉摄像头对应的 AI 视觉工作模式
刷新摄像头画面并读取当前视觉模式的识别数据
判断画面内是否存在巡线线条并返回布尔结果
判断画面中是否识别到指定编号的线条并返回布尔结果
读取指定编号线条对应的选中坐标、角度、偏移等数据

(4) 完整程序展示

  1. 启动时,初始化 WonderLens 视觉模块接口 P1 并切换为视觉巡线功能;

  2. 在主程序中循环执行:更新并获取视觉模块识别结果,当识别到线 ID 1 时,将获取的线路角度存入变量"Angle"、线路偏移存入变量"Offest";

    • 当 "Angle" > 30,设置舵机 S1 以 40 的速度转动、S2 以 30 的速度转动;

    • 当 20 < "Angle" <= 30,设置舵机 S1 以 50 的速度转动、S2 以 - 30 的速度转动;

    • 当 10 < "Angle" <= 20,设置舵机 S1 以 50 的速度转动、S2 以 - 40 的速度转动;

    • 当 "Angle" < -30,设置舵机 S1 以 - 30 的速度转动、S2 以 - 40 的速度转动;

    • 当 - 30 <= "Angle" < -20,设置舵机 S1 以 30 的速度转动、S2 以 - 50 的速度转动;

    • 当 - 20 <= "Angle" < -10,设置舵机 S1 以 40 的速度转动、S2 以 - 50 的速度转动;

    • 当 - 10 <= "Angle" <= 10,设置舵机 S1 以 50 的速度转动、S2 以 - 50 的速度转动;

    每次循环等待 0.01 秒。

  • 程序源文件存放于「附录文件」目录内的「程序文件」,可前往该处下载压缩包获取。

3.7.6 程序下载

3.7.7 扩展提升

拓展任务 1:RGB 灯光巡线状态预警 + 终点自动停机

  1. 项目目标:根据黑线偏移状态匹配不同灯光提示,识别终点标识后整车停止并声光提示。小车居中对准轨迹时 RGB 绿灯常亮;轨迹向左偏移则左侧彩灯闪烁预警;轨迹向右偏移则右侧彩灯闪烁预警;摄像头识别到终点标记后,小车立刻停止行驶,蜂鸣器播放提示音,RGB 彩灯全彩常亮。

  2. 实现思路:读取黑线偏移坐标,搭建多分支条件判断;正常居中、左偏、右偏分别绑定对应 RGB 灯光逻辑;新增终点特征识别判断分支,触发后关闭双舵机、启动蜂鸣器音效、点亮彩灯。

  3. 挑战点:黑线偏移数据实时稳定读取,灯光随轨迹偏移同步切换,终点识别不与巡线逻辑冲突,多外设同步运行无卡顿。

拓展任务 2:脱离轨迹延时缓停保护

  1. 项目目标:小车完全脱离黑色轨迹后不会立刻抱死车轮,保持低速微调 3 秒,倒计时结束后双舵机停机、彩灯全部熄灭,防止小车冲出赛道。

  2. 实现思路:新增计时变量,摄像头检测不到黑线时启动倒计时;倒计时内低速小幅修正方向,计时归零后停止舵机、关闭 RGB 灯光。

  3. 挑战点:计时功能不打断摄像头实时轨迹检测,调速、灯光、计时逻辑互不干扰。

拓展任务 3:除了视觉巡线车,本节课轨迹识别的思路还能改造出哪些智能小作品

  1. 轨道分拣机器人:保留视觉巡线识别代码,将双舵机行走机构替换为分拣拨片,沿轨道识别物料并分类推送。

  2. 轨迹追踪提示灯:去掉行走舵机,搭配点阵屏与 RGB 灯,追踪轨迹偏移实时显示文字预警。

  3. 通用改造思路:不用修改摄像头黑线轨迹识别核心代码,只更换输出硬件,新增对应硬件控制指令,依靠 “识别轨迹偏移量实时调整执行机构动作” 的逻辑,就能做出不同智能作品。

3.7.8 课后问答

问题 1:舵机接线时,橙色信号线必须接对应 S 口白色引脚,接错会出现什么问题?

:S1、S2 接口白色引脚是专门传输控制信号的引脚,舵机依靠该信号控制车轮转速与转向。如果橙色信号线接到电源或接地引脚,主板无法给舵机发送控制指令,会出现两种故障:一是对应一侧车轮舵机完全不动,小车无法修正轨迹、无法正常巡线;二是舵机不停抖动、乱转,严重时会发热损坏。同时程序里控制小车差速调速、轨迹修正的代码全部失效,无法实现自动巡线功能。

问题 2:视觉模块可以正常识别黑线轨迹,但小车左右车轮完全不动,无法巡线,请给出最常见故障和排查方法。

:1. 接线故障:左右舵机橙色信号线未分别插在 S1、S2 白色信号引脚。排查:断电后对照图纸分别核对两侧舵机三根线接线顺序。

  1. 程序故障:双舵机差速调速、轨迹修正代码没有放进 “检测到黑线轨迹” 的循环分支内。排查:打开程序,将左右舵机转速控制、延时修正指令移动到轨迹识别有效分支内。

  2. 硬件损坏:单侧 / 双侧舵机故障或 ESP32 的 S1、S2 接口损坏。排查:分别更换完好舵机接入 S1、S2 测试,依旧不动则更换主板其他舵机接口测试。

3.7.9 技术支持与产品讨论

如果您在产品使用过程中遇到困难,欢迎您通过如下方式向我们反馈:

表单未正常显示? 在新窗口打开

如果您在产品体验后有更好的创意,欢迎您进入幻尔社区将您的创意分享: