引言

  • 智能车比赛中,舵机、摄像头与电机组成的系统是核心控制单元。
  • 串级PID控制用于优化系统响应速度和稳定性。
  • 本文探讨串级pid系统中的:系统组成、三者输出值的获取、电机pid与舵机pid的简单实现简略介绍、串级PID控制原理。
  • 最终可实现对赛道的简单循迹

系统组成

摄像头模块
  • 负责赛道信息的采集与处理。
  • 通过图像识别获取赛道中心线或边界信息。
  • 输出偏差信号给舵机控制模块。
舵机模块
  • 根据摄像头提供的偏差信号调整车轮转向。
  • 直接影响车辆的行进轨迹。
  • 需要快速响应以应对赛道变化。
电机模块
  • 控制车辆的前进速度。
  • 根据赛道情况和舵机转向调整输出功率。
  • 与舵机协同工作以保持车辆稳定性。

简介

本文主要介绍摄像头+舵机+电机配合的整体框架与思路,至于其中细节,只粗略点出,并不会详细解释。

三者输出值的获取方法

1.摄像头图像处理

(1)中线提取方法(此处中线是指图像处理所得的此时在小车的视野里面的中线,即由提取的左右边界线平均所得的中线,并不是实际中线)

1.摄像头得到赛道图片。

2.图像处理得到二值化图像。

3.利用最长白列或者八邻域的方法对图像处理提取出左右边界(用数组存储),利用左右边界得到中线数组(对于最长白列与八邻域,此处不加以讲解,如有需要,可以评论区留言,若人多,我会再发一篇博客,对两种图像处理方法进行讲解)。

2.舵机

(1)角度得出方法

     steer = ((servo_pwm_info.duty/(float)PWM_DUTY_MAX*1000/(float)SERVO_MOTOR_FREQ) - 0.5)*90 - 中心角度值

        (2)公式介绍:steer为计算所得偏移的角度值;servo_pwm_info.duty为直接获取的舵机此时pwm值;PWM_DUTY_MAX为生成的CCR /(ARR + 1)中ARR不变,使得此时CCR / (ARR + 1)为1时的CCR值;SERVO_MOTOR_FREQ为此时控制舵机的pwm的频率;中心角度值为计算所得steer的参考线。

3.电机

        (1)通过编码器与ADC读取,可以得到一定时间内ADC的累计值,通过测量这一段时间t,再通过编码器的参数,即ADC每读取到一个值,编码器转过的角度与轮子周长的换算关系,可得到这一段时间所通过的路程s,s/t 即可得到此时的速度值(说明,这里只是提出一种速度获取方法,实际上,在pid控制中,我们其实并不需要得到速度,只需要一段时间所读取的编码器的值即可)。

电机pid与舵机pid的简单实现简略介绍

1.舵机(此处只采用简单的pid对舵机进行处理,而没有使用对环境适应度更好的模糊pid
,若有需求,可自行下去了解)
2.电机

串级PID控制原理

1.内环与外环设计

        (1)外环(位置环):摄像头采集的偏差信号作为输入。

        (2)内环(速度环):电机速度反馈作为输入。

        (3)通过双环结构实现更精确的控制。

对图文进行详细介绍:

1.将图像处理后所得的中线(由左右边线所得的中线)与赛道的中线(直接可以取整张图像的边线)。

所以舵机pid的Target = 赛道中值偏差 = 赛道边线 - 左右边界所得中线(mid[58])(此处是58,而不是60,是因为采用了滤波的思想)

2.舵机pid的out输入到阿尔曼差速模型(可自行下去了解,此处只展示简单模型与简单实现代码)中去,可得到需要输入到电机pid中的左右电机分别的速度Vl与Vr。

注:模型参考文章:STM32循迹PWM调速及阿克曼舵机转向_阿克曼转向与普通转向区别-CSDN博客

3.得到的Vl与Vr分别作为左右电机pid的Target输入,输出的pwm值进行具体的速度控制。

4.此时测得的转速可再由编码器测得,作为Actual输入到电机pid中,然后车辆的位置与姿态的变化,可再由摄像头得到,图像处理得到的中线可再于赛道中线进行差值。  

5.循环反复,即构成了摄像头,舵机,电机之间的串级pid模型,最终完成赛道循迹的功能。

总结

1.通过此篇博客,带领大家一步步的从输出值的获取,来实现分别的pid,分别的处理,最后进行整合,从而形成了串级pid的系统

结语

1.如果由什么问题,欢迎在评论区或者私信我指出

2.如果由什么地方不明白,欢迎在评论区或者私信我指出

3.谢谢大家,如果觉得对你有启发或者是由帮助的话,麻烦点个赞或收藏,你的赞或收藏就是对我最大的鼓励。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐