1.一种基于假设卡尔曼滤波的人体目标跟随方法,其特征在于,所述方法包括以下步骤:
1)通过移动机器与人的相对位置关系建立机器人跟随模型;
2)利用激光雷达获取目标的二维信息,提取出人体的腿部的几何特征,并用支持向量机方法来训练和识别;
3)应用假设卡尔曼滤波方法对机器人进行运动滤波,使移动机器人能够平稳运行;
所述步骤3)中,运动滤波包括以下步骤:(3.1)在每一时刻的估计位置附近选取多个假设的预测位姿,选取多个假设的预测位姿,记为:
i i+1 i+2
x(k|k‑1)={x(k|k‑1),x (k|k‑1),x (k|k‑1)...} (4)其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,i,i+1,i+2...为相应估计器的i i+1 i+2
索引,x(k|k‑1)为状态预测值,x (k|k‑1),x (k|k‑1),x (k|k‑1)...为k时刻的预测跟随状态;
状态初始化,获取机器人与人之间位置的初始状态 P(0|0), 为初始状态,而P(0|0)为协方差矩阵;
(3.2)状态预测,计算状态 以及P(k|k‑1):P(k|k‑1)=P(k‑1|k‑1)+Q(k‑1) (6)其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,i为第i个估计器,i T
为k时刻的预测跟随状态,Q(k‑1)的状态噪声方差阵,u (k‑1)=[u1(k‑1)u2(k‑1)]为控制输入,A为二维单位阵,为状态转移矩阵,B是将输入转换为状态的矩阵,P(k|k‑1)为k‑1时刻的协方差预测值,P(k‑1|k‑1)为k‑1时刻的估计值;
(3.3)量测更新,计算
T
Γ(k)=H(k)P(k|k‑1)H(k) (8)其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,i为第i个估计器, 为k时刻的预测观测, 为k时刻的预测跟随状态;H为二维单位阵,P(k|k‑1)为k‑1时刻的协方差预测值,P(k‑1|k‑1)为k‑1时刻的估计值,Γ(k)为中间变量;
(3.4)状态更新,计算
T ‑1
K(k)=P(k|k‑1)H(k)(Γ(k)+R(k)) (9)P(k|k)=P(k|k‑1)‑K(k)H(k)P(k|k‑1) (11)其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,i为第i个估计器,z(k)为实际的观测, 为k时刻的预测观测, 为k时刻的预测跟随状态, 为当前时刻估计的状态,H为二维单位阵,R(k)为状态噪声协方差矩阵,P(k|k)为k时刻的协方差值,P(k|k‑1)为k时刻的预测值,Γ(k)为中间变量;
(3.5)设计一种假设Kalman滤波器方法,在时刻k,由上一时刻的状态,来假设多个目标的可能状态,并通过马氏距离来找到最优的估计值,其中马氏距离由下式表示:其中,k表示当前离散化时刻,k‑1表示上一离散化时刻, 为当前时刻估计的状态,为当前时刻状态的预测值,ΣX为协方差矩阵;
i i+1 i+2
(3.6)对于x(k|k‑1)={x(k|k‑1),x (k|k‑1),x (k|k‑1)...}通过式(5),(6),(7),j j
(8),(9),(10),(11),(12)计算M (k),通过min{M (k)}得到对应的j值,从而得到最优的估计:
其中,k表示当前离散化时刻,j为假设的个数,k‑1表示上一离散化时刻,i,i+1,i+2...
i i+1 i+2
为相应估计器的索引,x(k|k‑1)为状态预测值,x(k|k‑1),x (k|k‑1),x (k|k‑1)...为kj
时刻的预测跟随状态,min{M (k)}为计算出的所有马氏距离中最小的那一个, 为当前时刻估计的状态, 为第j个状态估计值;
4)移动机器人控制器的设计;
所述步骤4)中,控制器的设计包括以下步骤:(4.1)在移动机器人人体跟随系统中,移动机器人的运动控制采用PID控制:T
其中,⊙为Hadamard积,k表示当前离散化时刻x(k)=[θ(k) d(k)] ,u(k)=[u1(k) u2T
(k)],u1(k),u2(k)为控制输入θk、dk为k时刻机器人的跟随偏角和跟随距离;KP(k)=[KP1(k) KP2(k)],TI(k)=[TI1(k) TI2(k)],Kp,TI分别为比例系数参数和积分系数参数,k=1,2...为时间序列;
(4.2)则移动机器人的左右轮速度为:其中,k表示当前离散化时刻,vL(k)为左轮速度,vR(k)为右轮速度,u1(k),u2(k)为控制输入。
2.如权利要求1所述的一种基于假设卡尔曼滤波的人体目标跟随方法,其特征在于,所述步骤1)中,通过移动机器与人的相对位置关系建立机器人跟随模型的方法包括以下步骤:
(1.1)考虑两轮差速轮式移动机器人,则系统的状态空间模型可描述为:x(k)=Ax(k‑1)+Bu(k‑1)+w(k‑1) (1)其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,xk为k时刻的跟随状态,xk=T
[θk,dk],θk,dk分别为移动机器人的跟随偏角和跟随距离,w(k‑1)是均值和方差阵分别为qT
(k‑1)和Q(k‑1)的状态噪声,u(k‑1)=[u1(k‑1) u2(k‑1)]为控制输入,A为状态转移矩阵,是将输入转换为状态的矩阵,其中Δt为系统运行周期,dr为两驱动轮间距;
(1.2)系统的观测方程为:
z(k)=Hx(k)+v(k) (2)T
其中,k表示当前离散化时刻,k‑1表示上一离散化时刻,系统状态观测z(k)=[θk dk] ,H为观测矩阵,v(k)是零均值且协方差阵为R(k)的高斯噪声且与过程噪声w(k)不相关。
3.如权利要求1或2所述的一种基于假设卡尔曼滤波的人体目标跟随方法,其特征在于,所述步骤2)包括以下步骤:(2.1)激光扫描出来的人腿形状为类圆弧形,考虑数据集 W表示激光聚类数据的宽度,即第一个与最后一个点之间的距离,G代表聚类数据的周长,即依次连接每个点得到的总的距离,D代表激光聚类数据的深度,θ表示最近的点和第一个点连接的直线以及和最远点连接的直线形成的角度,取G/W作为第五个特征;每一个输入xi表示腿部聚类数据的特征输入,且都对应一个方式标签yi∈{‑1,+1},SVM能够找到一个超平面来分离两类数据,非线性支持向量机是求以下对偶问题:其中,ai,aj为拉格朗日乘子,K(xi,xj)为核函数,yi,yj∈{‑1,+1},K(xi,xj)=exp(‑||
2 2
xi‑xj||/2σ)为高斯核函数,N为数据的总数;
(2.2)使用带高斯内核的支持向量机算法对训练集进行训练并在测试集上测试训练模型;计算精确率、召回率和F1‑score,得到最优的特征选择;
(2.3)应用支持向量机预测模型对运动区域中的聚类进行预测,得到对应的标签输出yi;判定相应的聚类是否为人体腿部数据并找到相应的腿部聚类,计算聚类中心。