1.一种适用于复杂未知环境的自适应SAC‑PID方法,其特征在于,包括如下步骤:步骤一、利用机器人仿真平台搭建循线机器人的环境;
其中,机器人仿真环境包括带RGB相机的移动机器人模型和路径模型,并将移动机器人置于路径的起始位置 (x0,y0,z0)为路径起点坐标;
步骤二、基于深度强化学习Soft Actor‑Critic,简称SAC,构建深度神经网络模型;
其中,所述深度神经网络模型包括:决策网络π(φ),状态价值函数网络V(ψ)和动作价值函数网络Q(θi),i∈{1,2};φ,ψ,θi分别为决策网络,状态价值函数网络和动作价值函数网络的参数;
步骤三、定义移动机器人循迹时的状态表征值;
其中,所述移动机器人状态表征值包括:轨迹中心线上均匀取由远及近的五个像素点的横纵坐标值(xi,yi),i∈{1,2,3,4,5};轨迹斜率和移动机器人的实时曲率之差ec;移动机器人的实时线速度vt和角速度ωt;
步骤四、在步骤一中搭建的仿真环境中训练深度神经网络模型,具体包括如下子步骤:
4.1:构建并初始化步骤二中的四个深度神经网络模型;初始化一个空的经验回放池R;
构造两个结构相同的增量PID控制器,分别为主控PID控制器和辅控PID控制器;设置回合数为n=0,总回合数为N,令初始时刻t=1;
4.2:利用步骤一中的RGB相机获得h×w的RGB图像It,并预处理It得到路径跟踪信息,并根据步骤三得到t时刻的状态st=[x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,ec,vt,ωt];
4.3:将步骤4.2中的st输入决策网络π(φ),根据式(1)输出六维PID参数Kt={kmp,kmi,kmd,kcp,kci,kcd},{kmp,kmi,kmd}是主控PID控制器的比例、积分和微分参数,{kcp,kci,kcd}是辅控PID控制器的比例、积分和微分参数;
其中,εt是从一个正态分布N中采样的噪声向量, 是决策网络高斯分布的均值,是决策网络高斯分布的方差;从而根据式(2)计算移动机器人的角速度:ωt=ωt‑1+Δωm+ηΔωc (2)其中ωt‑1是t‑1时刻的角速度,Δωm为主控PID控制器的输出,可由式(3)计算得到,Δωc为辅控PID控制器的输出,可由式(4)计算得到,η为比例系数;
Δωc=kcp[ec(t)‑ec(t‑1)]+kciec(t)+kcd[ec(t)‑2ec(t‑1)+ec(t‑2)] (4)其中em=x4,em(t),em(t‑1)和em(t‑2)分别是t,t‑1和t‑2时刻的em;ec(t),ec(t‑1)和ec(t‑2)分别是t,t‑1和t‑2时刻的ec;
4.4:根据步骤4.3中的em(t)计算移动机器人的线速度:vt=‑ax|em(t)|+bx (5)其中,ax和bx为限制移动机器人线速度的系数;
4.5:移动机器人执行角速度ωt和线速度vt,记录执行动作后重复步骤4.2得到移动机器人观测的状态st+1,并根据st+1和式(6)计算奖励函数r(t),根据式(6)记录回合结束标志F;
其中s(w),v(w)分别是第w个回合时循迹的路程和平均速度;β1,β2,β3分别是em(t),em(t‑1)和em(t‑2)的比例系数;ζr,ζv,ζs分别是每一项的权重系数;g为正奖励常数;
4.6:将元组(st,Kt,rt,st+1,F)存入经验回放池R中;
4.7:设定采样数量为b,当前经验回放池R中的元组数量d,若b
4.8:在R中随机采样b条元组,首先把式(7)作为损失函数,利用梯度下降算法更新状态价值函数网络V(ψ)的参数:
其中Qθ(st,Kt)为 再根据式(8)利用梯度下降算法分别更新和
是值函数网络参数ψ的平均值;最后根据式(9)利用梯度下降更新策略网络:其中 是
4.9:若F=1,则t=0,进入下一回合,回合数n+1,待回合数n≥N,完成训练,导出训练后的模型π(φ),V(ψ)和Q(θi);若F=0,则t+1,进入步骤4.2,继续在此回合内进行交互;
步骤五、将仿真训练完成的策略网络模型参数导入实际机器人模块中,通过传感器实时获取如步骤二所述的移动机器人的状态表征值,将状态向量输入策略网络,根据式(1)得到最优的六维PID控制器参数;底层PID控制器接收上述参数,根据公式(2)和(4)输出角速度和线速度值控制移动机器人循迹。
2.根据权利要求1所述的适用于复杂未知环境的自适应SAC‑PID方法,其特征在于,步骤4.2具体包括:
S1、将RGB图像It处理为二值图像 并从图像 底部从左至右,从下至上寻找黑线边界生长点,分别为左底部边界点plb和右底部边界点prb;
S2、以步骤S1中的左底部边界点plb和右底部边界点prb为种子点,从下至上区域生长,找出图像 中黑线的左右边界像素点,在生长的过程中,需要判断边界点pij是否为黑线交叉像素点,其中i,j分别为横坐标和纵坐标值,i∈{0,…,w‑1},j∈{0,…,h‑1},若判断pij不是黑线交叉像素点,视pij为左边界像素点或右边界像素点并依次存入左边界像素点集合Pl和右边界像素点集合Pr;否则,则进入S3;待生长至pih‑1后停止生长;最后组成和 具体判断是否为黑线交叉像素点的规则:其中τ为pij的24邻域内的像素值总和,τ1和τ2为阈值;
S3、利用步骤S2中的Pl和Pr的边界像素点,多项式拟合至上一黑线交叉点,并将拟合后的像素点存入Pl和Pr中,最后返回步骤S2;
S4、取出Pl和Pr中像素点pl,0,pr,0,pl,1/n,pr,1/n,pl,2/n,pr,2/n,pl,3/n,pr,3/n,pl,4/n,pr,4/n,pl,n和pr,n,由此分别求得黑线中心线像素点 和其中 为pl,0和pr,0的中心点, 为pl,1/n和pr,1/n的中心点,依次类推;
S5、将步骤S3中的It经过透视变换后得到htop×wtop的俯视图It′,重复步骤S1至步骤S2,得到I′t中的左边界像素点集合 和右边界像素点集合S6、根据步骤S5中的P′l和P′r,求出I′t中黑线中心线像素点集合并选取p′c,0,p′c,2/n和p′c,n三个像素点,并求出I′t中黑线曲率cl;同时由速度传感器得到移动机器人的实时曲率cr;
S7、将五个中心线像素点归一化后组成st的前十个维度;根据式(11)求出曲率误差ec作为st的其中一个维度;
ec=cr‑cl (11)
将t时刻的移动机器人线速度vt和角速度ωt作为st的最后两个维度;则st表示为:st=[x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,ec,vt,ωt] (12)并选取x4作为em。
3.根据权利要求1所述的适用于复杂未知环境的自适应SAC‑PID方法,其特征在于,移动机器人的控制框架采用分层的控制结构,深度强化学习网络模型作为移动机器人的上层控制器,负责实时调整最优的PID参数,双增量式PID控制器作为移动机器人的下层控制器,负责根据偏差信息输出移动机器人的角速度指令。