1. 引言
平衡重式叉车作为重要的运输工具,在我国工业生产、物流运输等行业中扮演着极为重要的角色。
由于其工作环境恶劣、行驶工况多变,造成国内外叉车安全事故频发,对驾驶人员的生命安全造成了极大的威胁。通过查阅文献[1]发现,国内80%以上的叉车安全事故主要是由叉车侧翻造成的。叉车侧翻事故早已成为制约我国物流、工业等行业发展的重大问题。急需在不改变现有叉车结构的基础上,开发出一套切实可行的防侧翻控制方法,来扭转当前现状。为提高车辆的抗倾覆能力,国内外部分学者通过优化与设计机械结构提高车辆安全性。洪晓莉等人通过优化叉车门铰链点位置,达到提升车辆整体安全性能的目的[2]。莫易敏等人[3]通过侧翻建议模型对车辆关键结构进行优化,在未侵入客车生存空间情况下实现了车辆轻量化。此类方法虽然可提高叉车整体安全性,但需要对车辆结构与执行机构进行设计优化,项目总体投入过高。
为改变当前现状,也有部分专家学者通过优化控制算法提升车辆动态稳定性。Cheema S等人开发了一款软件用于研究负载、轴距大小、车速、顶部重量和倾斜度对叉车稳定性的影响[4]。Rebelle J设计了一种实验开发方法,该方法旨在评估叉车驾驶员在横向倾翻期间约束系统的有效性[5]。Milanowic M提出使用数值模拟评估叉车倾翻有效性,算法已用于提高叉车稳定性,同时减少运输时间[6]。康小鹏等人提出一种基于状态参数估计器的车辆估计系统,通过对横摆力矩的动态补偿提升车辆的抗侧翻能力[7]。吉林大学曾小华人等[8],根据线性二次型最优控制原理基于最优横摆力矩设计了抗侧翻控制系统,该系统能在一定程度上提升车辆侧倾稳定情况。黄卫红等人也提出基于LTR动态预测方法,实现重载车辆防侧翻滑膜控制[9]。Mobini F针对铰接车辆的平面运动,提出了一种新的非线性最优控制器,系统通过动态制动力分配实现侧倾过程中的稳定性控制[10]。
通过查找相关文献,发现大多数工程车辆防倾覆策略往往从被动安全控制入手,针对平衡重式叉车的主控安全算法的研究较少。为改变当前现状,提出基于强化学习的平衡重式叉车防侧翻设计,在设计过程中首先基于横向载荷转移率(LTR),将叉车运动过程分为安全区域、安全边界区域、异常区域三大工况,针对不同工况利用强化学习算法采取不同的减速防侧翻减速控制策略,最终达到提升平衡重式叉车的抗侧翻能力的目的。
2. 侧翻机理与侧翻模型
2.1. 平衡重式叉车侧翻机理
平衡重式叉车作为前驱后转向型特种工程车辆,车辆具有前驱后转向的底盘结构,车身后转向结构通过铰连接方式相连。图1为平衡重式叉车三角形稳定模型,叉车在行驶过程中需要保障重心M始终落在ABC三角形区域内,才能维持叉车正常工作。
Figure 1. Triangle stability model of counterweight forklift
图1. 平衡重式叉车三角形稳定模型
当叉车负载货物高速运行时,驾驶员由于视线不佳或其他原因引起的操作失误使得平衡重式叉车重心快速偏向AC或者BC边界,最终导致车身倾斜以及LTR急剧变化,造成不可逆转的安全事故。
2.2. 平衡重式叉车侧翻模型
为设计平衡重式叉车防侧翻系统,需对平衡重式叉车运动过程进行建模,为此本文参考Xia G的相关文献[11]建立三自由度叉车侧翻模型,模型结构如图2、图3所示,需要进行说明的是,车辆在侧翻模型搭建过程中需要充分考虑货物的质量以及高度以及叉车初始状态,上述相关因素都会对平衡重式叉车运行过程造成影响,一般情况下货物质量越重,质心高度越高越容易发生叉车侧翻事故。
该模型设计过程中忽略了非线性因素对于车辆的影响,假设左轮与右轮基于关于X轴对称,基于上述条件下可进行微分方程创建。为了更为有效地分析侧倾力对于平衡重式叉车的影响,仅关注侧向与横摆动力学,为此将关键参数沿着X、Y、Z三轴进行分解,其中Y轴、Z轴微分方程如下公式所示。
Figure 2. Triangle stability model of counterweight forklift (top view)
图2. 平衡重式叉车侧翻(俯视图)
Figure 3. Triangle stability model of counterweight forklift (side view)
图3. 平衡重式叉车侧翻模型(侧视图)
对于这个系统,对于叉车在X轴方向的运动,我们通常考虑车辆的纵向力平衡和速度变化。X轴方向的方程主要描述车辆在纵向上的加速和制动行为,车辆的纵向力平衡方程通常可以定义为:
(1)
其中,
为叉车质量,
为车辆在X轴方向的加速度,
为后轮产生的牵引力,
为制动力。
Y轴的横向运动微分方程通常用于描述车辆的侧向动力学。考虑到车辆的横向力平衡和质心的运动,可以写出如下的横向运动微分方程:
(2)
其中,
为叉车质量,
为质心的横向加速度,
为质心处的横向外力。
横向合力
通常由前后轮的侧向力贡献来表达,这可以进一步展开为:
(3)
其中,
为前前轮侧向力,
为后轮。
再引入转向角
和车辆的横摆角速度
,以及考虑前后轮侧滑角
和
,我们可以进一步展开为:
(4)
其中,u为车辆的纵向速度,
和
分别为前后轮的侧偏刚度,
和
为前后轮侧滑角。
在车辆动力学中,Z轴通常代表车辆的垂直轴,围绕Z轴的横向运动转矩平衡方程用于描述车辆的横摆运动。这个方程基于车辆在Z轴上的角动量守恒,反映了车辆在转向过程中各个力矩的平衡情况,Z轴的横向运动转矩平衡方程可以定义为:
(5)
其中,
是车辆围绕Z轴的转动惯量,
为车辆的横摆角加速度,a为车辆质心到前轴的距离,b为车辆质心到后轴的距离,
为前轮前向力,
为后论侧向力。
3. 基于强化学习的防侧翻控制
3.1. 侧翻边界判断
平衡重式叉车在运动过程中LTR可以准确反映出车身的侧倾情况,为了可以实时估计平衡重式叉车侧倾情况,本文采用AJP Miège [12]等人提出的实时估计算法,公式如(6)所示:
(6)
公式(6)中:
为叉车侧向加速;l为叉车左右轮距离;g为重力加速度;
为车辆重心到地面的距离;
为叉车车身重心到整体重心的距离;l为叉车车轮轮距;
为叉车侧倾斜角度。
在对LTR数据计算过程中所需要的侧向速度、加速度、以及车辆运动倾角数据,该部分数据主要由北斗新通公司提供的九轴陀螺仪测量获得。这里需要特殊说明的是叉车倾斜角度
可以通过卡尔曼滤波实时估计获得,这里不多加赘述。为有效识区分叉车运行情况从而更好的执行优化策略,本文直接根据叉车运动过程中LTR数据情况,对工况进行区分,划分情况如表1所示。
Table 1. Division of operating conditions of counterweight forklift
表1. 平衡重式叉车运行工况划分
序号 |
LTR情况 |
运行工况 |
1 |
LTR < 0.6 |
安全区域 |
2 |
0.6 < LTR < 0.7 |
安全边界区域 |
3 |
0.7 < LTR < 1 |
异常区域 |
3.2. 制动策略
平衡重式叉车一般只配备前轮刹车,在制动力分配过程中要根据叉车的运行速度、转向角度、叉车横摆角度、角速度、力矩分配情况做综合判断,单纯的抱死制动反而更容易引起侧翻事故。叉车转向示意图如图4所示。
Figure 4. Steering diagram of forklift
图4. 叉车转向示意图
当车辆处于转向不足状态下,叉车高速过弯下更容易倾翻向转弯反方向,此时为降低倾翻风险,可对叉车内侧单轮进行制动,为叉车转弯提供更大的向心力。当叉车处于转弯过度状态下时,叉车高速过弯极易倾翻至转弯方向,为此可对叉车外侧单轮进行制动降低侧翻风险。为改变当前现状,本文针对平衡重式叉车转向设计了制动力分配逻辑,情况如表2所示。
Table 2. Brake force distribution logic of counterweight forklift
表2. 平衡重式叉车制动力分配逻辑
序号 |
转向情况 |
转向状态 |
制动分配 |
1 |
左转 |
转向不足 |
右前轮 |
2 |
左转 |
过度转向 |
左前轮 |
3 |
右转 |
转向不足 |
左前轮 |
4 |
右转 |
过度转向 |
右前轮 |
这里需要说明的是,转向轮制动力矩的大小需要根据车辆状态、侧倾程度、车身速度做统一规划,以防引起更大的安全事故。
3.3. 基于强化学习的制动力分配
为提高平衡重式叉车防倾覆能力,本文将强化学习应用于叉车制动力分配之中。通过制动力的精确分配,提高叉车工作稳定性。强化学习制动系统如图5所示。主要由强化学习决策模块、制动模块、叉车侧翻模型、数据更新模型以及激励函数5部分组成。其中决策模块利用平衡重式叉车LTR数值、转向情况、转向状态,通过激励函数实现策略迭代学习,输出期望降低的单轮速度,最终结合执行模块,实现平衡重式叉车的紧急制动。
Figure 5. Decision making and distribution of reinforcement learning braking force
图5. 强化学习制动力决策分配
在进行模型搭建过程中需要输入侧倾角度
,叉车行驶速度u,叉车侧向加速
,横向载荷转移率LTR,上述状态变量可表示为公式(7):
(7)
激励函数决定了平衡重式叉车的制动力分配逻辑,在激励函数设计过程中需要根据当前状态时刻设计激励数据,将奖励数据输入强化学习决策模块,其中激励函数需根据叉车运行工况进行设计,这里需要说明的是,激励函数仅对安全边界区域、异常区域起作用,激励函数如公式(8)所示:
(8)
公式8:中
为叉车侧向加速度,
为叉车侧倾角度,u为叉车行驶速度,LTR为横向载荷转移率。
从公式8中可知,异常区域内的激励函数奖励情况远高于安全边界区域,通过奖励函数的方式达到紧急减速的目的,从而保障叉车的防侧翻能力。
为保障平衡重式叉车制动力分配的实时性,本文采用Actor与Critic强化学习决策模型,在系统运行过程中Actor模块可根据当前数据St,将相关动作输入到环境之中,与此同时Critic模块同时对值函数进行迭代优化,采取Actor与Critic决策模型最大的优势在于解决了单一模型训练不稳定的情况。
在制动策略设计过程中可以依据输出的期望减速度
计算长期回报数值,在Actor与Critic更新中,需要计算出预估回报,具体情况如公式(9)所示:
(9)
公式9中:
为预估回报情况,
为K时刻奖励,
为K时刻初始状态
为K + 1时刻状态。
为损失系数
为价值函数,
为制动策略。制动策略如图6所示。
Figure 6. Actor and Critic decision model
图6. Actor与Critic决策模型
在计算Critic模型中的价值函数和估计回报之间的数据偏差时,可采用梯度下降法迭代更新使得偏差数据向着收敛的方法移动,偏差L可用方程(10)进行表示:
(10)
公式10中:N为样本总数,
为样本状态与样本奖励,
为预估回报;
为制动价值评估函数,
为更新价值函数。
同理Actor模型在计算长期回报
可采用公式(11)进行计算,使得朝着梯度下降快的方向更新制动参数
。
(11)
在实际计算过程中,目标迭代函数在完成一个最小样本数据训练后,会采用缓慢更新算法进行数据刷新如公式(12)所示:
(12)
公式12中:
其目标制动价值参数;
为学习率情况;
为制动策略参数。
4. 算法验证
为验证所设计算法的有效性,本文基于博通(Broadcom) BCM2837B0芯片进行了控制器的设计,构建了一套完整的硬件测试平台。该测试平台的核心硬件包括北斗新通9轴陀螺仪以及叉车车载数据读取板卡。所选用的实验车辆为某国产平衡重式叉车,陀螺仪安装在叉车操作台下方,能够实时采集车辆的姿态信息、加速度信息和角速度信息。
在验证过程中,为确保算法在不同工作状态下的适用性和稳定性,选择了三种典型工况:空载、半载和满载。空载工况主要模拟叉车无货物状态下的运行特性;半载工况模拟中等负载下的性能表现;而满载工况则测试叉车在最大承载能力下的运行情况。针对这三种工况,进行了大量的实车测试,以全面评估所设计控制器及算法在不同负载条件下的性能表现。实验的工况设置详见图7,展示了在不同载荷状态下叉车的运行情况及相关数据的采集过程。
实验数据将对比分析不同载荷下的叉车姿态变化、平衡性以及车载数据的读取与处理,以验证算法在实际工况下的稳定性、准确性及实时性,从而确保所设计的控制器及算法能够满足叉车不同工况下的运行需求。
Figure 7. Forklift steering condition test
图7. 叉车转向工况测试
叉车测试车辆如图8所示,由于防侧翻控制算法任处于测试阶段,为保障平衡重式叉车试驾人员安全,在叉车两端分别安装了防护架由于防止意外发生。项目在测试过程中发现系统在不进行防侧翻控制时,在高速转弯过程中容易发生侧翻事故,为验证算法的有效性需要分别在空载、半载、满载状态下测试安全区域、边界区域、以及异常区域的抗侧翻能力。其实际工况如表3所示,算法能够有效接入,有效降低侧翻风险。
Figure 8. Counterweight forklift test vehicle
图8. 平衡重式叉车测试车辆
Table 3. Analysis of actual operating conditions of balanced forklift system
表3. 平衡重式叉车制实际运行工况分析
编号 |
载荷 |
转速(km/h) |
倾角度 |
LTR |
工况 |
算法状态 |
1 |
空载 |
10 |
3.5 |
0.55 |
安全 |
无 |
2 |
空载 |
15 |
6.2 |
0.64 |
边界 |
介入 |
3 |
空载 |
20 |
9.8 |
0.71 |
异常 |
介入 |
4 |
半载 |
10 |
4.0 |
0.62 |
边界 |
介入 |
续表
5 |
半载 |
15 |
7.5 |
0.70 |
异常 |
介入 |
6 |
半载 |
20 |
11.0 |
0.81 |
异常 |
介入 |
7 |
满载 |
10 |
5.0 |
0.66 |
边界 |
介入 |
8 |
满载 |
15 |
8.0 |
0.73 |
异常 |
介入 |
9 |
满载 |
20 |
12.5 |
0.84 |
异常 |
介入 |
5. 结论
本文提出的基于强化学习的平衡重式叉车防侧翻控制设计方法可有效降低平衡重式叉车LTR数值,同时具有改造成本低、可实用性高等优势,可以有效降低车辆侧翻风险,提高叉车工作安全性。
项目支持
浙江省教育厅一般科研项目(Y202353289),衢州市科技攻关项目(2023K045),衢州职业技术学院校级项目(QZYZ2305)。