1.一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,包括步骤:步骤1.搭建互补滤波器,消除加速度计和磁力计的高频噪声以及陀螺仪的低频噪声,设计离散型卡尔曼滤波器,用四阶龙格库塔法求解四元素微分方程,并通过四元素与欧拉角的换算关系求得当前时刻的用欧拉角表示的姿态角,构建出此过程的状态方程;
步骤2.在状态方程和观测方程中,读取当前陀螺仪数据,并计算状态量的预估计,由加速度和磁力计算出的姿态角数据,以及计算测量过程中的残余;
步骤3.计算卡尔曼增益,并更新系统的状态估计以及误差协方差,等待采样时间Δt,返回执行第一步进行下一时刻角度的估计;
步骤4.搭建水下软体作业手运动学控制增量预测模型,设计动态矩阵预测控制器,设此时为[0t]时间内的n时刻,数据手套捕捉的人手关节位置 为当前时刻的坐标值,水下软体作业手关节的位置ψ作为上一周期中的坐标值;
步骤5.用数据手套捕捉的人手关节位置 减去水下软体作业手关节的位置ψ得到一个增量,经过模型参数修正水下软体作业手运动学模型;
步骤6.将ψ的值输入到水下软体作业手运动学模型中,预测出下一时刻水下软体作业手坐标的预测值 然后在下一周期重复此步骤,并设置限制条件,进行滚动优化实现对水下软体作业手的位置跟踪控制。
2.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤1通过四元素与欧拉角的换算关系求得当前时刻的用欧拉角表示的姿态角,构建出此过程的状态方程具体步骤为:步骤1.1:根据陀螺仪输出的角速度数据建立四元素微分方程,其计算公式为:即:
其中:ω表示角速度,ωx、ωy、ωz表示角速度分量,Q表示姿态角, 表示四元素分量;
步骤1.2:通过四阶龙格库塔法求解上式微分方程可得当前时刻的姿态四元素;
步骤1.3:通过四元素与欧拉角的换算关系下可求得当前时刻的用欧拉角表示的姿态角。
3.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤2计算状态量的预估计以及计算测量过程中的残余的具体步骤为:步骤2.1:在状态方程和观测方程中,读取当前陀螺仪数据;
有缆水下机器人(ROV)数据手套卡尔曼滤波状态方程:θk+1=θk+[ωk‑ωerr_k]·Δt+vk (3)有缆水下机器人(ROV)数据手套卡尔曼滤波观测方程:其中:θk为第k时刻目标的姿态角,ωk为第k时刻陀螺仪输出的角速度,ωerr_k为第k时刻陀螺仪输出角速度的误差,vk为输入噪声,Δt为系统的采样周期,θk+1为已知θk时刻的角度的情况下由陀螺仪数据估计出的在k+1时刻的角度值,ωk为第k时刻陀螺仪输出的角速度,εk是随机信号,yk+1为k+1时刻的变量值;
步骤2.2:由于陀螺仪进行姿态解算产生的误差主要来源于积分积累,而且陀螺仪测量当前时刻的角速度较为稳定,因此可以将陀螺仪的角速度测量误差视为常量,即ωerr_k+1=ωerr_k (5)步骤2.3:对于系统而言,θk和ωerr_k为系统观测的状态,ωk为系统输入变量,则陀螺仪建立的系统状态矩阵方程为:
其中:A和B为系数矩阵,xk+1为k+1时刻系统状态向量,vk是随机信号,属于正态分布的白色噪声,vk~N(0,Q);
步骤2.4:根据系统的状态方程(1)和(4)可得系统的状态矩阵如下:步骤2.5:由系统的状态矩阵(7)和观测方程(4),可得状态量到观测量的增益矩阵:H=(1 0) (8)
其中:H为观测量的增益;
步骤2.6:加速度计和磁力计的姿态角数据yk,即量测方程为:yk=Hxk+εk (9)其中:xk为k时刻系统状态向量;
步骤2.7:测量过程中的残余:其中,sk为残余, 为预测之差, 为先验估计;
步骤2.8:先验估计的误差协方差:xk=Axk‑1+BUk+vk (11)其中:A和B为系数矩阵,Uk为系统输入量;
根据状态方程可以由系统在k‑1时刻的状态xk‑1对当前状态做先验估计,即卡尔曼滤波器的预测部份,此时得到的系统状态值为先验估计值,存在一定的误差;
步骤2.9:此时,由(9)得,量测方程为:yk=Hxk+εk (12)其中:H为系数矩阵,xk为k时刻系统状态向量,εk是随机信号,属于正态分布的白噪声,εk~N(0,R);
步骤2.10:此时基于系统k‑1时刻对过程的k时刻进行的先验估计为 对其利用量测方程进行校正后状态的后验估计为 则有:式中测量变量yk及其预测之差 是测量过程的革新,反映了预测值与真实值之间的偏离程度。Kk是卡尔曼增益,其作用是使过程的后验估计误差协方差最小;
T
Pk∣k‑1=APk‑1A+Q (14)其中:Pk∣k‑1为先验估计的误差协方差。
4.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤3计算卡尔曼增益,并更新系统的状态估计以及误差协方差,等待采样时间Δt,返回执行第一步进行下一时刻角度的估计具体步骤为:步骤3.1:卡尔曼增益Kk:
T T ‑1
Kk=Pk∣k‑1H[HPk∣k‑1H+R] (15)其中:R为自适应接纳圆半径;
步骤3.2:更新状态,即当前状态 以及此状态下的误差协方差为:步骤3.3:误差协方差Pk:
Pk=(1‑KkH)Pk∣k‑1 (17)步骤3.4:等待采样时间,返回执行第一步进行下一时刻角度的估计。
5.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤4搭建水下软体作业手运动学控制增量预测模型;设计动态矩阵预测控制器,设此时为[0 t]时间内的n时刻,数据手套捕捉的人手关节位置 为当前时刻的坐标值,水下软体作业手关节的位置ψ作为上一周期中的坐标值具体步骤为:建立手指单向弯曲运动学模型:
j
其中:Pij为各关节铰链的中心点,即连接点; 表示第i个手指上的连接点从j坐标系向j‑1坐标系转化时的齐次坐标变换阵;θij为单向弯曲关节的转动角度;Lij为各关节杆长,s、c为sin、cos的简写;xi和yi分别表示各个手指坐标系原点在手掌坐标系中的坐标值。
6.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤5用数据手套捕捉的人手关节位置 减去水下软体作业手关节的位置ψ得到一个增量,经过模型参数修正水下软体作业手运动学模型,具体步骤为:步骤5.1:对手指单向弯曲运动学模型在期望路径点(ψR, )处进行一阶泰勒展开线性化处理,得到如下的预测模型:
其中: A、B为雅可比矩阵;
步骤5.2:对模型进行线性化和离散化处理,得到控制增量形式的状态空间模型:其中: γ表示输出
量。
7.根据权利要求1所述的一种基于数据手套的水下机器人软体作业手位置跟踪方法,其特征在于,所述步骤6预测下一时刻坐标值;对控制增量、控制量、输出量进行限制,并进行滚动优化的具体步骤为:
步骤6.1:将ψ的值输入到水下软体作业手运动学模型中,预测出下一时刻水下软体作业手坐标的预测值 然后在下一周期重复此步骤;
步骤6.2:设置约束条件,在当前时刻及预测时域内,对控制增量、控制量、输出量进行如下限制:
γmin≤γ(k+i)≤γmax,i=0,1,2,…,Np (27)其中:NC表示控制时域,Np表示预测时域, 表示k+i时刻的控制增量,表示k+i时刻的控制量,γ(k+i)表示k+i时刻的输出量, 表示控制增量最小值,表示控制增量最大值, 表示控制量最小值, 表示控制量最大值,根据手指弯曲性能选取。γmin表示输出量最小值,γmax表示输出量最大值;
步骤6.3:进行滚动优化使未来一段时间内被控变量与期望值偏差最小。
式中,γ表示当前时刻的输出值,γref表示自适应视线法处理后的期望值, 表示控制增量,Q和R表示权重矩阵,选取主对角线的值为整数并小于100的对角矩阵,J表示性能指标。