当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]在本项目中,我们设计并构建了一辆基于树莓派5的自主车辆,该车辆采用OpenCV车道检测、PID转向控制以及基于编码器的速度调节技术,在赛道上行驶并停靠在指定的停车标志处。最终参数通过反复在赛道上运行车辆,分析误差、转向占空比、比例响应和导数响应的曲线图,并选择能够最小化振荡同时确保车辆稳定完成赛道行驶的组合方式确定。

在本项目中,我们设计并构建了一辆基于树莓派5的自主车辆,该车辆采用OpenCV车道检测、PID转向控制以及基于编码器的速度调节技术,在赛道上行驶并停靠在指定的停车标志处。最终参数通过反复在赛道上运行车辆,分析误差、转向占空比、比例响应和导数响应的曲线图,并选择能够最小化振荡同时确保车辆稳定完成赛道行驶的组合方式确定。

我们如何确定分辨率、比例增益和微分增益:

我们通过反复测试和调整,确定了摄像头的分辨率、比例增益和微分增益,以在车道检测可靠性与实时控制性能之间取得平衡。摄像头设置为160×120像素,因为这一分辨率使树莓派能够获取足够的视觉细节,从而准确识别蓝色车道线,同时保持快速的图像处理和控制更新。比例增益设定为kp=0.04,通过实验调整:观察车辆偏离车道中心时的校正程度(kp=0.04可实现更平滑的车道居中)。较低的增益会导致转向校正不足和车道恢复延迟,而较高的增益则会使车辆出现剧烈振荡。微分增益设定为kd=0.004,通过调整此参数来抑制快速误差变化带来的振荡,从而在保持响应性的同时实现更平稳的车道跟踪。

我们如何处理停用文件:

为了检测红色纸张,我们使用 detect_red_pix() 函数来计算图像中红色像素的数量,然后将其与阈值 bound_perc 进行比较(当图像中有 25% 的区域为红色时触发停止)。我们使用一个全局变量来记录机器人遇到的停止次数。在每次停止之间,我们还会设置冷却时间,以避免重复触发停止。在第一个停车标志处,机器人停止运行,等待时间为 5 秒,之后恢复行驶;在第二个停车标志处,机器人停止并终止主程序。

本文编译自hackster.io

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