APP下载

基于TC264 单片机的动量轮平衡循迹自行车系统设计与实现

2023-06-09王相超陈龙颜斌

电子制作 2023年8期
关键词:车模小车姿态

王相超,陈龙,颜斌

(杭州电子科技大学 电子信息学院,浙江杭州,310018)

0 引言

无人控制的情况下,类似自行车的两轮非机动车这一类欠驱动模型难以实现自平衡[1]。传统的脚踏式两轮平衡车采用单级角度环PID 实现平衡控制[2]。而自行车机器人则是基于动量守恒原理[3],在自行车上加装外置动量轮,通过对电机控制算法的设计,使动量轮合理转动产生回复力保持小车平衡[4]。在国外的相关研究中,对于自行车平衡控制器的设计多直接采取高维度的滑模控制器,结合复杂的非线性物理建模进行控制[5~6],其难点则是设计过程过于复杂繁琐。为了深入研究自行车机器人遇到的难题,本文在TC264 单片机主控下自主设计并实现了基于无刷电机控制的动量轮自平衡循迹自行车系统,通过类比四轴飞行器,设计三环串级PID 控制器[7],同时设计了摄像头图像处理算法,实现了高抗扰动、高速度的自平衡智能循迹系统。

1 系统总体方案设计

本系统的总体方案设计框图如图1所示,通过使用摄像头模块采集道路灰度图像,并使用图像处理算法进行道路元素识别,并控制舵机模块和后轮电机实现小车在道路上运行。使用陀螺仪模块结合姿态解算算法获取小车运行时的姿态角,结合串级PID 控制算法来控制动量轮转动实现小车平衡。此外,为了方便车模调试,添加了SD 卡、OLED、按键模块,SD 卡模块存储小车运行时采集的道路图片,通过UART 串口传输图像到电脑进行调试。OLED 模块配合按键模块,可以实现屏幕图像显示和参数调整功能。主控TC264 芯片采用TriCore2 双核架构,引脚数量多达144P,FLASH 空间达2.5MB,主频达200MHz,性能优越,足以实现本次复杂的系统设计。

图1 系统总体方案框图

系统实际图片如图2所示。

图2 车模图片

2 系统硬件电路设计

■2.1 硬件电路总体设计

硬件总体设计采用TC264 为运算核心的设计方案,整套硬件系统可共分为3 大模块,分别为单片机控制模块、传感器模块、电机驱动模块。

模块间的关系如图3所示。

图3 模块关系示意图

图4 主控芯片原理图

■2.2 主板单片机模块设计

主控模块的设计采用TC264 单片机,由于此单片机功率较大,在电源模式选择中选用外部3.3V、内部LDO1.3V电源模式供电。

外置无源晶振,通过负载电容计算公式:

再经过实际的测试,选用20MHz的无源晶振与22pF的负载电容构成晶振,如图5所示。

图5 晶振原理示意图

■2.3 摄像头模块电路设计

摄像头模块选择逐飞科技的总钻风MT9V032 全局快门数字摄像头,帧率可高达498 帧,具备高动态、全局快门、自动曝光等优点。摄像头接口电路如图6所示。

图6 摄像头接口电路

图7 后轮电机驱动模块电路

图8 无刷电机驱动模块电路

■2.4 电机模块设计

电机驱动电路一般采用驱动芯片和MOS 管组合搭建H 桥,对于后轮有刷直流电机我们采用两片全桥驱动芯片BTN7971,该芯片虽然导通内阻较大发热较严重、死区时间较短,但鉴于单车组速度较慢且不会出现正 反 转 情 况,BTN7971 可以说是非常优秀的选择。

驱动电路采用专用驱动芯片和MOS 搭建。驱动芯片采用国产EG2181,在价格便宜的同时还能提供较大的驱动电流。MOS 管采用英飞凌的BSC014N04LS。为了减少输出波形的震荡,适当加大了栅极驱动电阻、布局时减短了走线长度并且减少过孔的使用减少寄生电感,为了提高载流能力还采用了并联MOS的设计。

3 系统软件设计

系统软件设计部分由陀螺仪姿态解算、串级PID 平衡控制、图像采集与处理、舵机转向控制、后轮电机速度控制五大模块组成。系统程序流程图如图9所示,系统对各模块初始化完成后进行陀螺仪姿态解算与串级PID 平衡控制,使小车可以实现原地直立;原地直立保持一小段时间,系统进入稳定状态后进行摄像头图像采集与处理,结合舵机控制与速度控制模块,小车可以保持在道路正中间行驶;在判断到车库元素后,小车驶入车库中,系统停止运行。

图9 系统程序流程图

■3.1 四元数姿态解算算法设计

系统使用ICM20602 陀螺仪,通过设计四元数姿态解算算法来获取小车运行时的偏航角、俯仰角、横滚角,实现了收敛速度快、误差小、抗扰动强的姿态解算算法[8]。

四元数姿态解算的原理是通过求解可以表示三维空间旋转信息的向量具体表达式(1),得到四元数值q0,q1,q2,q3(2),再利用四元数表示三维空间姿态变换矩阵(3),将四元数表示的姿态角矩阵与姿态角变换矩阵(4)联立,即可用四元数值表示姿态角(5,6,7)[9]。

四元数值具体计算公式如(2)所示,∆t为陀螺仪采样周期,程序中设定为5ms,xω,yω,zω为测得的三轴角速度。

四元数表示的空间姿态变换矩阵如(3)所示。

姿态角解算结果如(4)(5)(6)所示,数值迭代即可计算得到三轴姿态角。

■3.2 串级PID 平衡控制思路

传统的PID 算法包括位置式PID 与增量式PID,单级PID 只有一个输入和一个直接输出。串级PID 控制器则是多个传统PID 控制器串联构成的系统,将一个PID的输出值作为另一个PID 控制器的输入,以此嵌套提升控制复杂度。

3.2.1 位置式PID 与增量式PID

位置式PID的原理公式如(7)所示,ek为当前时刻系统误差,K p K i Kd分别为比例,积分,微分系数。uk为输出值。

增量式PID的原理公式如(8)所示,ke与ek−1分别为当前时刻与上一时刻系统的偏差。 ∆uk为计算得到的输出增量。

3.2.2 自行车机器人串级PID 控制

本系统使用到了速度环、角度环、角速度环三环串联组成的串级PID 控制器,依据三个环控制响应速度的排序决定串联顺序。控制器结构如图10所示。其中角速度环采用式(8)所示的增量式PID,角度环与速度环采用式(7)所示的位置式PID。角速度环作为最内环,输出值直接作用于无刷电机,速度环响应速度最慢,作为最外环,输出作为角度环的输入。而角度环的输出作为角速度环的输入依次串联。

图10 串级PID结构图

■3.3 图像预处理设计

由于摄像头直接采集的原始图像为灰度图,而对于小车的循迹要求来说,只需一条循迹线即可。为了进一步压缩数据,系统使用了大津法(Otsu)对灰度图像进行高效快速的二值化。大津法的原理是利用类间方差最大化自适应筛选阈值,使得图像前景与背景得到最大程度的分割。使用大津法得到的道路二值化图像如图11所示。

图11 道路二值化图像

在边缘提取算法的设计上,为了降低算法对平衡控制时序的影响,保证算法运行的效率,本文采取了嵌套遍历的算法。基本思路是:从图像底部开始,在行中心位置左右随机生成一个起始点,从起始点到图像顶端开始纵向遍历,每次纵向遍历中嵌套一次左右横向遍历,每次横向遍历遇到黑白二色的分界点则停止。最终边缘提取得到的道路轮廓图如图12所示。

图12 道路轮廓图像

■3.4 自行车实际运行控制

3.4.1 自行车转向控制算法设计

由于自行车机器人转向完全依赖于舵机,因此精准高效的舵机控制算法至关重要。系统采用的舵机型号为S3010,驱动所需的PWM 频率为50Hz,具有扭矩大,响应速度快,控制精度高等优点。

在舵机控制算法的选取上,为了使得控制响应速度最大,输出扰动最小,采取了PD位置式PID 控制器。PID 控制律结构图如图13所示。输入值为道路中线的第20 行横坐标,目标值为整幅图像的中心横坐标93,采用式(7)去除积分项的位置式PID 进行转向控制,输出值为舵机PWM占空比。

图13 PID原理框图

但对于自行车机器人的转向控制来说,固定参数的PID控制器难以匹配各类道路元素,不利于应用在多复杂元素的道路上。为了保证自行车转向的流畅性,当小车行进至不同的道路元素时,适当地调整参数以保证过弯的连续丝滑。

3.4.2 自行车后轮速度控制算法设计

系统采用了去除式(8)中微分项的增量式PI 控制器对小车速度进行控制。控制器的输入值为编码器读取的后轮转速,目标值为根据不同道路设定的目标转速值,输出为后轮电机的PWM 占空比。采用增量式PI 控制器进行速度控制具有精度高,响应速度快的优势。

4 系统调试与车模实际运行

■4.1 串级PID 参数整定

从原理的要求上出发,进行串级PID 参数整定按照角速度环-角度环-速度环的顺序进行。在调试角速度环时,先调节参数I,到一定大小时,从平衡位置启动系统,车模能在原地保持3~5s的直立即可。然后调试角度环P,在运行两级串级PID的情况下,系统仍不稳定,但可以使车模保持10s 以上的直立即可。最后调节速度环P,参数合适的情况下,车模会在平衡位置附近来回摆动,但系统稳定,再依次调节角速度环P,角度环d,速度环I 消除系统输出抖动。最终确定的参数如表1所示。

表1

■4.2 车模在道路上实际运行与调试

4.2.1 长直道元素参数设置

长直道是车模行进时对平衡性能干扰最小的元素,此时降低转向环PD 参数,提高速度环目标值,可以让车模快速通过。记录的长直道元素图片如图14所示。

图14 长直道

4.2.2 弯道参数设置

车模在弯道内行驶时由于受到离心力和自行车系统惯性的影响,会不可抗的向转弯方向倾倒一定角度。并且转弯半径越小,过弯速度越快,相应的倾斜角度越大,越不利于平衡控制。因此,在弯道时需要降低转向环P 值,降低速度环目标值,让小车慢速、绕外圈通过弯道。记录的弯道元素图片如图15所示。

图15 弯道

图16 十字路口

图17 三岔路口

图18 驶入环岛

图19 环岛内

图20 驶出环岛

4.2.3 十字路口参数设置

车模在行进至十字路口时,经过图像处理,可当做长直道处理。

4.2.4 三岔路口参数设置

车模行进至三岔路口时,经过图像处理仍存在转向突变性,而保持一定速度下,车头突然摆动将打破车模平衡,经过实际运行时发现车模高速驶入三岔路口时容易摔倒,因此需要降低速度环目标值,减小转向环PD 以保证顺利驶入三岔。

4.2.5 环岛参数设置

车模驶入环岛与驶入三岔遇到的问题一致,同样由于突然的转向变化引起平衡不稳定。降低速度环目标值,减小转向环PD 减速驶入环岛。在环岛中与弯道处理一致,出环岛与入环岛处理一致。

5 结语

本文设计并实现了基于单片机的动量轮自平衡循迹自行车系统,利用大扭矩,高转速的无刷电机驱动动量轮,使用了串级PID 控制器与四元数姿态解算共同组成的平衡控制算法,实现了最大回复角17°的最终效果,同时在平衡性能上具备抗高频扰动,高响应速率,高稳定性的优势。此外,基于大津法研究了摄像头图像采集与道路识别算法,使自行车能够识别出环岛、三叉路口等复杂路段,结合了动态调整参数的舵机转向算法和后轮速度控制算法,让小车在道路上的运行兼具高速、流畅与稳定的特点。

猜你喜欢

车模小车姿态
大车拉小车
潮玩车模精准吸引“Z世代”
自制小车来比赛
攀爬的姿态
刘老师想开小车
全新一代宋的新姿态
跑与走的姿态
两轮自平衡小车的设计与实现
车展,没有车模看什么
汽车模型成收藏新宠