当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]系统采用基于OpenCV的图像处理技术,实时检测车道线并估算车辆轨迹。根据这些信息,计算出转向角度,使车辆保持在车道中央行驶,并通过PID控制器确保转向行为平稳稳定。

系统采用基于OpenCV的图像处理技术,实时检测车道线并估算车辆轨迹。根据这些信息,计算出转向角度,使车辆保持在车道中央行驶,并通过PID控制器确保转向行为平稳稳定。

电子元件安装在机器人框架的顶部。此外,我们还设计了一个3D打印的摄像头支架,以便更轻松、更可靠地调整角度。至于电机编码器,我们将其安装在车体后部,使车辆能够自主行驶,在直线和弯道中均能保持稳定可靠的性能。

硬件设置

电子元件安装在机器人框架的顶部。此外,我们还设计了一个3D打印的摄像头支架,以便更轻松、更牢固地调整角度。至于电机编码器,我们将其安装在车体后部。

软件设置

系统运行在搭载Raspbian Bookworm的Raspberry PI 4B上。在内核之上,我们实现了一个编码器模块,用于计数脉冲并计算转速(RPM)。程序其余部分运行在应用层,主要使用Python编程语言,并依赖一些库,包括OpenCV、Matplotlib和YOLOv5。

车道检测

车辆沿着用蓝色胶带标记的车道行驶,该标记通过集成在OpenCV中的基于视觉的处理流程进行检测。首先,每一帧图像都被转换为HSV颜色空间,以实现对不同光照条件下的鲁棒性颜色分割。随后应用遮罩,将对应车道标记的蓝色区域分离出来,并定义感兴趣区域(ROI),以便聚焦于图像下方、车道位置预期所在的部分。

从遮挡图像中提取检测到的像素坐标,并利用这些坐标估计车道几何形状。当左右车道边界均可见时,对两侧分别拟合二阶多项式,然后通过两曲线的平均值计算出中心轨迹。

最后,这条中心线用于计算一个转向角度,控制系统随后利用该角度来调整车辆的方向。

转向与速度PID控制

车辆的转向由一个PID控制器控制,该控制器以期望方向(正前方)与视觉系统估计的角度之间的差值作为输入。该误差用于计算校正量,并将其映射为驱动转向伺服电机的PWM信号。

为了实现速度控制,光学编码器可实时测量电机的转速。这种反馈使得闭环PID控制器能够通过调节电机的PWM信号来控制车辆速度,即使在负载或路况发生变化时,也能保持恒定的速度。

PID参数通过反复实验进行调整。我们首先通过手动移动机器人在轨道上进行测试,以优化转向控制器,随后再调整速度控制器。在两种情况下,均通过分析测量值与目标值的对比图以及随时间变化的误差来评估性能,从而不断优化增益,以实现稳定且响应灵敏的行为。对于每个控制器的Kp、Ki和Kd,我们先通过调整Kp实现快速响应,然后调整Kd以修正误差,当曲线显示过度振荡时,则调整Ki。

停止标志检测

除了车道跟踪外,系统还能检测轨道沿线的红色标记,这些标记用作停车信号。这些标记由地面上的红色纸方块组成,并通过HSV颜色空间中的颜色分割进行识别。检测到的红色像素总面积被用作一个简单的指标,以判断是否有标记存在。

当检测到的红色信号超过预设阈值时,车辆将启动停止动作。第一个检测到的标记会使车辆暂时停下,然后恢复行驶。当检测到第二个标记时,车辆会完全停止,结束运行。采用标志位方法可确保每个标记仅被计数一次,防止同一信号被多次检测。

车道保持与停车检测

机器人能够沿车道行驶,且不会超出车道超过6英寸。此外,机器人在第一个红色方框处停下,继续移动直到检测到第二个红色方框后,程序即结束。同时,我们从第一人称和第三人称视角分别记录了机器人的运动过程。

物体识别

除了车道跟踪外,我们还在树莓派上使用内置摄像头,通过YOLOv5实现了目标检测。为此,我们使用了Ultralytics官方仓库,并根据我们的设备进行了适配。输入图像被调整为320×320像素,以在检测性能和计算成本之间取得平衡。

为了评估系统的性能,我们首先对单个测试图像进行推理,测量了预处理、模型推理和非最大值抑制(NMS)所花费的时间。结果表明,吞吐量约为 3.8 FPS。虽然该数值可作为参考,但在实时流媒体中实际性能可能会因额外的延迟、摄像头瓶颈以及内存开销而有所差异。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在工业伺服控制系统中,增量式PID因其天然的抗积分饱和特性,成为位置/速度环的主流选择。结合RTOS(如FreeRTOS)的多任务架构,既能保证控制周期的确定性,又能实现复杂的上层逻辑。本文将基于STM32平台,分享从代...

关键字: RTOS PID控制器 伺服电机

该项目是作为 ELEC 424 期末项目的一部分而开发的,在此项目中,我们设计并制造了一辆能够保持车道并进行停车检测的自主遥控汽车,其功能是利用计算机视觉实现上述功能。我们的系统利用 OpenCV 来处理来自车载摄像头的...

关键字: 自动驾驶 OpenCV 速度编码器

这是一款为 ELEC 553 课程的期末项目而开发的自主车道保持遥控汽车。它采用了车道保持流程,能够在蓝色车道间行驶,并在红色标记处停车,还具备使用 Ultralytics YOLO 进行物体识别的功能,以检测周围物体。

关键字: 计算机视觉 树莓派 5 摄像头

如今,穿孔卡片已几乎被人遗忘,使用这种卡片的最后一批机器早在 80 年代就已退役。不过也有一些例外情况,一些工业设备至今仍得以保留,并且在小范围内仍在使用这种卡片。

关键字: OpenCV 读取器 Python

德国波恩2026年5月7日 /美通社/ -- DHL快递今天宣布推出AI物品识别功能,这是国际快递行业的一项首创。该创新功能运用先进的计算机视觉技术,对客户上传的物品照片进行...

关键字: AI 计算机视觉 视觉技术 人工智能

在工业视觉检测场景中,某汽车零部件厂商曾面临严峻挑战:基于CPU的缺陷检测系统处理单帧图像需200ms,导致生产线节拍严重受限。通过采用Vitis HLS将OpenCV算法移植至FPGA,系统性能提升至5ms/帧,检测精...

关键字: Vitis HLS OpenCV

计算机视觉领域,OpenCV 5.0的发布标志着技术演进的重要里程碑。这款历经四年打磨的开源库,通过架构重构、硬件加速和跨平台支持三大核心升级,将机器视觉开发效率提升至新高度。本文将从DNN模块优化、硬件加速突破和跨平台...

关键字: 计算机视觉 OpenCV 5.0
关闭