1.一种带两级扰动补偿的动态视觉伺服控制方法,其特征在于,包括以下步骤:步骤1、设计基于虚拟视觉伺服的位姿与速度估计器;
步骤2、利用末端执行器运动模型和位姿与速度估计器结果,分别设计位置卡尔曼滤波器和旋转角卡尔曼滤波器,对估计结果进行滤波处理后重新合成位姿矩阵和速度矩阵;
步骤3、利用单关节动力学方程为机械臂各关节独立设计非线性自抗扰控制器;
步骤4、利用经验公式法为部分参数确定取值范围,引入沙猫群算法为自抗扰控制器进行参数整定;
所述步骤4中具体过程如下:
步骤4.1、初始化参数;假设沙猫的种群规模为N,所优化的参数的维数为n,搜索空间的上下限分别为ub、lb,迭代最大次数为T;自抗扰控制器中部分参数取值为α0=0.25,α1=0.5,δ0=δ1=0.01,其余参数用沙猫群算法进行整定,取值范围为β01∈[0,150],β02∈[0,7500],β03∈[0,12500],β1∈[0,500],β2∈[0,50],b0∈[0,5];
设置适应度函数:
J=∫((w1|e1|+w2|ez1|+w3|ez2|+w4|u|)*t)dt; (20)式中,J为适应度值,w1、w2、w3、w4为权重因子;e1为反馈误差;ez1、ez2为ESO所观测的角度q和角速度的误差;u为输入力矩;
步骤4.2、初始化种群;引入PWLCM混沌映射,进行PWLCM混沌种群初始化,如下所示:Pc=lb+(ub-lb)*xi+1; (22)
式中,xi为rand函数产生的随机数,xi+1为PWLCM混沌映射后的随机数,Fp为PWLCM混沌映射的整体函数,p为PWLCM混沌映射的控制参数,p∈(0,0.5),xi∈(0,1),i为当前迭代个体序号;Pc为沙猫个体的初始位置;
然后根据所设计的适应度函数计算沙猫个体的适应度值,选择最优的沙猫个体作为最佳位置Pbc,其余个体在后续迭代中向该个体附近移动;
步骤4.3、搜寻最优参数值,进行搜索行为和攻击行为;
假设SM模拟了沙猫的听觉特征,其值为2,听觉灵敏度rG表达式为:式中,t'为当前迭代次数,T为最大迭代次数;
为避免陷入局部最优,每只沙猫的灵敏度范围是不同的,其表达式为:r=rG*rand; (24)
式中,r表示每只沙猫的灵敏度范围,rand为0到1的随机数;
听觉灵敏度rG随着迭代次数的增加由2线性递减为0,因此引入一种非线性调整策略来描述沙猫种群的捕猎过程:式中,η为控制曲线非线性程度的参数;
利用公式(25)为rG赋值,根据η值不同,rG的曲线也发生变化;
W为控制搜索行为和攻击行为过渡的参数,其表达式为:
W=2*rG*rand-rG; (26)
当|W|>1时,沙猫进行搜索行为,每只沙猫根据最佳位置Pbc、当前位置Pc及灵敏度范围r更新自己的位置,因此沙猫能够找到其他可能的最佳猎物位置;
沙猫群搜索行为的数学模型为:
Pc(t+1)=r*(Pbc(t)-rand*Pc(t)); (27)式中,Pc(t+1)为沙猫群进行搜索行为后移动到的位置;
当|W|≤1,沙猫进行攻击行为,首先按照最佳位置Pbc和当前位置Pc来生成一个随机位置,其表达式为:Pr=|rand*Pbc(t)-Pc(t)|; (28)假设沙猫的灵敏度范围是一个圆,利用轮盘赌法给每一只沙猫随机选择一个角度θ,最后通过公式(29)实现攻击行为;
沙猫群攻击行为的数学模型为:
Pc'(t+1)=Pc(t)-r*Pr*cos(θ); (29)式中,Pc'(t+1)为沙猫群进行攻击行为后移动到的位置,Pr为随机位置;
步骤4.4、将当前迭代中的沙猫个体所代表的参数值赋给NLADRC控制器,并分别运行视觉伺服系统,按照不同的参数取值,系统会输出不同的性能指标,计算各自的适应度值;
步骤4.5、引入淘汰机制,将参数整定效果最差,即适应度最高的沙猫个体进行淘汰,并为了保持种群总数不变,根据当前沙猫群位置的区间随机生成新的个体;
步骤4.6、判断是否达到最大迭代次数,若没有达到,则进行下一轮搜索行为和攻击行为,继续寻找最佳猎物位置,即最佳参数值;若达到最大迭代次数,则结束沙猫群参数整定,得到当前迭代次数下的最优NLADRC参数值。
2.根据权利要求1所述的一种带两级扰动补偿的动态视觉伺服控制方法,其特征在于,所述步骤1中,被控对象为串联机械臂的视觉伺服系统,该系统为眼在手型,即相机安装在机械臂末端,该相机为真实相机;设定一个虚拟相机,虚拟相机所处位姿和所获取的图像均与真实相机相同,当真实相机到达新的位姿时获取当前真实图像,虚拟相机根据虚拟图像与真实图像中图像特征误差来进行运动,当误差收敛时虚拟相机与虚拟物体的相对位姿即真实相机与真实物体的相对位姿;具体过程如下:设m表示实际对象点Pj在图像平面上对应的图像特征,m*表示虚拟对象点P0在图像平面上对应的图像特征;
定义虚拟对象点的空间速度cVvir和虚拟图像特征的时间导数的关系为:式中,cP=[cx,cy,cz]为虚拟对象点P0在虚拟相机坐标系中的坐标,Δt为单位时间间隔,cw为虚拟对象点的角速度,I为单位矩阵,2dJ3d为二维点与三维点的变换矩阵,为一阶近似下的三维点交互矩阵,L1为二维点交互矩阵,即图像雅可比矩阵;
m*与m之间的图像特征误差evir定义如下:
evir=m*-m; (2)
使图像特征误差evir呈指数收敛的形式,则有:
式中,λ为虚拟视觉伺服中视觉控制律的增益;
将式(1)、式(2)代入式(3)中得到:
式中,为虚拟视觉伺服中图像雅可比矩阵的逆矩阵;
刚体作一般运动的任意位移都能够分解为平移增量δPi和旋转增量δθi,其表达式为:式中,v(t)为刚体线速度,i表示从t0时刻到ti时刻的i个时间间隔,k表示从t0时刻到tk时刻的k个时间间隔,vk为tk时刻到tk+1时刻间的线速度,w(t)为刚体角速度,wk为tk时刻到tk+1时刻间的角速度;线速度v(t)和角速度w(t)均为的分量;
δθi是绕特定旋转轴的旋转增量,其对应的旋转矩阵δRi通过叉乘矩阵[ ]×和矩阵指数exp()计算得到:δRi=exp([δθi]×); (7)
在持续时间iΔt=ti-t0内,通过采用速度指令cVvir和加速度指令按照刚体运动的位移增量δPi和δθi去控制虚拟相机实现对应的运动,则虚拟图像特征m*会更新为新的图像特征m',在多次重复操作之后最终在tj时刻图像特征收敛到m,此时evir最小,这时虚拟相机与虚拟对象点的相对位姿即实际相机与实际对象点的相对位姿;在估计位姿时,初始虚拟相机及虚拟图像的给定是任意的,而在估计速度时,将前一时刻的估计结果作为虚拟视觉伺服的初始给定,按照视觉控制规律得到位姿估计结果后,的累加值即为速度估计结果;
在已知实际对象点位姿的前提下,基于虚拟视觉伺服设计位姿与速度估计器,将当前图像特征m和初始虚拟相机位姿T0作为输入,最终得到真实相机位姿矩阵和速度矩阵由于相机安装方式为眼在手型,即可知机械臂末端执行器的位姿与速度。
3.根据权利要求2所述的一种带两级扰动补偿的动态视觉伺服控制方法,其特征在于,所述步骤2中,首先对于位姿与速度估计器输出的位姿矩阵和速度矩阵,将4×4的位姿矩阵,分解为位置向量t3×1与旋转矩阵R3×3,利用式(8)得到对应轴的旋转角:其中,θx、θy、θz分别为绕x、y、z轴的旋转角,R11为旋转矩阵中第1行第1列的元素;R21为旋转矩阵中第2行第1列的元素,R31为旋转矩阵中第3行第1列的元素,R32为旋转矩阵中第3行第2列的元素,R33为旋转矩阵中第3行第3列的元素;
然后,根据刚体运动学知识,分别得到末端执行器位置、旋转角与速度的状态空间方程,即末端执行器的运动模型;
六自由度机械臂末端执行器的位置的离散时间状态方程和输出方程表示为:式中,X是末端执行器的位置和线速度,U是末端执行器的线加速度,Y是估计器提供的位置和线速度估计结果,ξ是过程噪声向量,与系统动态特性和环境条件相关,η是测量噪声向量,与图像噪声、相机标定误差有关,协方差分别为Q和R,即p(ξ)∈N(0,Q),p(η)∈N(0,R),Ad,Bd,Cd是常数矩阵;
将位姿矩阵中的位置估计值和速度矩阵中的线速度估计值作为测量向量,利用状态空间方程设计位置卡尔曼滤波器:式中,是状态预测值,是状态估计值,Kk是卡尔曼增益,表示了状态最优估计过程中模型预测误差和测量误差的比重,∑是状态估计值的协方差矩阵,∑-是状态预测值的协方差矩阵;
六自由度机械臂末端执行器的旋转角的离散时间状态方程和输出方程表示为:式中,X'是末端执行器的旋转角和角速度,输入变量U'是末端执行器的角加速度,测量向量Y'是估计器提供的旋转角和角速度速度估计结果;
将位姿矩阵中的旋转角估计值与速度矩阵中的角速度估计值作为测量向量,设计旋转角卡尔曼滤波器:最后根据式(13)和(14)得到旋转矩阵,与滤波后的位置向量合成为位姿矩阵;
R=RzRyRx; (14)
式中,R为整体的旋转矩阵,Rx、Ry、Rz分别为x、y、z轴旋转角对应的旋转矩阵,i为x轴的单位向量,j为y轴的单位向量,k为z轴的单位向量;
将滤波后的线速度向量和角速度向量合成为速度矩阵。
4.根据权利要求3所述的一种带两级扰动补偿的动态视觉伺服控制方法,其特征在于,所述步骤3中,六自由度机械臂动力学方程简化为单关节动力学方程:式中,q为关节角度,为关节角速度,为关节角加速度,为总扰动,ω为外部扰动,τ为输入力矩,b为输入力矩的系数;
六自由度机械臂的每个驱动关节都单独设计非线性自抗扰控制器NLADRC,包括扩张状态观测器ESO、非线性状态误差反馈控制律NLSEF和干扰补偿装置DCD;
ESO用于估计系统的状态变量和总扰动具体为:
式中,z1为机械臂关节角度q的跟踪信号,为z1的微分信号,z2是关节角度q的一阶微分信号,为z2的微分信号,z3为系统总扰动的估计值,为z3的微分信号,e为关节角度的跟踪误差;β01、β01、β03为ESO的增益系数,α0、α1为用户定义的非线性因子,取值在0与1之间,δ0、δ1为用户定义的滤波因子,b0是补偿系数的估计;
ESO得到状态变量的观测值z1、z2和z3,视觉伺服系统给出关节角度指令qd和关节速度指令NLSEF以非线性的形式将其结合,利用fal函数构造非线性控制律,具体为:式中,e1为角度误差,e2为角速度误差,qd和是期望角度和期望速度指令,τ0为NLSEF的原始控制力矩,β1和β2是误差和误差微分的增益系数,α3为用户定义的非线性因子,δ2、δ3为用户定义的滤波因子;
在ESO估计到系统总扰动后,DCD对扰动进行补偿,具体如下:τ=τ0-z3/b0; (19)
式中,τ是机械臂的实际输入力矩,z3/b0是系统的总扰动补偿量。