1.一种基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:包括双目视觉惯导里程计模块,所述双目视觉惯导里程计模块包含惯性传感器和双目相机,在警犬的侧身安装双目相机,双目相机内置惯性传感器,以双目相机的两个焦距中点为坐标原点o,x轴指向警犬前进方向,y轴指向警犬上方,z轴指向警犬前进方向的左侧,建立相机坐标系o-xyz;双目相机通过内置的惯性传感器输出相机位置参数;
相机位置参数包括偏航角θz,俯仰角θy,翻滚角θx、坐标原点o的当前坐标(x,y,z);
运用双目视觉惯导里程计模块,设计一种基于视觉惯导里程计的自适应参数警犬姿态估计方法,具体方法包括如下步骤:步骤1、首先,用警犬的站姿态进行初始化,同时计算出站姿态的识别范围;
步骤2、从初始化站姿态结束,检测相机位姿的改变:若相机的地面坐标(xz)未发生改变,即警犬未发生位移,则发生的是坐卧立站之间的静态姿态转换,静态姿态中通过分析相机坐标系的y轴变化和相机的翻滚角角度变化来识别警犬的静态姿态;若检测到相机的地面坐标(xz)发生改变,即警犬开始位移,则能识别到警犬的奔跑行走跳跃等动态姿态,通过分析相机坐标系的xz轴变化和相机的偏航角及俯仰角角度变化能获得警犬的轨迹、朝向和趋向,通过分析相机坐标系的y轴变化和相机的翻滚角角度变化可获得警犬的动态姿态变化,识别警犬的动态姿态;重复以上识别过程,检测警犬的静动态姿态之间的转换;
步骤3、在对警犬的静态姿态估计中,加入自适应参数学习算法。
2.根据权利要求1所述的基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:所述步骤1具体如下:初始化双目相机上的位姿坐标系,得到初步的y轴零点;在初始化的tini时间内每间隔Δt获得一次站姿态变换矩阵,保存在初始化站姿态变换矩阵数组中,在初始化站姿态变换矩阵数组中,以初始化y轴坐标数组和初始化θz角度数组为例,假设它们在初始化的静态站姿态中分别满足高斯分布:其中,ys、θzs分别为在tini时间内初始y轴坐标和初始θz角度的均值,σs1、σs2为分别为各自高斯函数的均方差,f(yi)、f(θzi)分别为第i个测得的初始y轴坐标yi、第i个测得的初始角度θzi在tini时间内的出现频率,其中i为在tini时间内测得的y轴坐标和θz角度的编号,范围为1到n;
将初始y轴坐标和初始θz角度分别进行高斯分布拟合,采用最优化估计中的最小二乘法来估算参数,令ys和θzs分别为初始化数组的平均值,R(yi)和R(θzi)为每个在tini时间内测得的y轴坐标和θz角度数值的频率:R(yi)=count(yi)/n
R(θzi)=count(θzi)/n
其中count(yi)和count(θzi)为ys和θzs在初始化数组中的出现频数,得到如下两个目标函数:通过求取min(L(σs1))和min(L(σs2)),得到满足高斯分布的σs1和σs2均方差,从而得到警犬站姿态的y轴坐标和θz角度的识别范围,同理得到其他位姿数据:
3.根据权利要求2所述的基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:所述步骤2具体如下:步骤2.1、若在t时刻警犬活动改变了位姿数据,结束初始化站姿态;
步骤2.2、间隔Δt时间重复获得当前的相机位姿变换矩阵,如果发现相机地面坐标(xz)未发生变化,则等到位姿变化停止时,将变化停止后的稳定变换矩阵和初始化的站姿态变化矩阵进行比较,检测位姿数据是否变化,完成警犬静态姿态的识别,等待下一次警犬活动;
步骤2.3、间隔Δt时间重复获得当前的相机位姿变换矩阵,如果检测到相机地面坐标(xz)发生变化,则获取对应的相机位姿变换矩阵,与Δt时间之前的相机位姿变换矩阵作比较,得到基于地面坐标系(xz轴构成面)上的距离变化Δx和Δz,计算瞬时速度并保存在速度数组中:将每次获得的动态变换矩阵和初始化的站姿态变化矩阵进行比较,将每次获得的瞬时速度和速度标准进行比较,得出警犬动态姿态的识别,等待下一次警犬活动:步骤2.4、将动态姿态变换矩阵存储在数组中,继续判断,如未有停止指令,重复进行步骤2.2和步骤2.3,通过不断测算进行警犬静动态姿态的估计。
4.根据权利要求3所述的基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:在所述步骤2.2中,将变化停止后的稳定变换矩阵和初始化的站姿态变化矩阵进行如下具体比较:(1)如果当前相机y轴坐标和θz角度落入站姿态识别范围内:
则输出为站姿态,将当前变换矩阵保存到站姿态变换矩阵数组;
(2)如果当前位姿落在如下的识别范围内,其他位姿数据在站姿态识别范围内相同:其中,h为警犬身上双目相机到地面的高度,
则输出为坐姿态,将当前变换矩阵保存到坐姿态变换矩阵数组;
(3)如果当前位姿落在如下的识别范围内,其他位姿数据在站姿态识别范围内相同:则输出为立姿态,将当前变换矩阵保存到立姿态变换矩阵数组;
(4)如果当前位姿落在如下的识别范围内,其他位姿数据在站姿态识别范围内相同:则输出为卧姿态,将当前变换矩阵保存到卧姿态变换矩阵数组;
(5)如果全部不符合,则输出为未知姿态,将当前变换矩阵保存到未知姿态变换矩阵数组以备查看。
5.根据权利要求3所述的基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:在步骤2.3中,将每次获得的动态变换矩阵和初始化的站姿态变化矩阵进行比较,将每次获得的瞬时速度和速度标准进行比较,具体比较步骤如下:(1)如果当前动态位姿落在如下的识别范围内:
则输出为奔跑姿态;
(2)如果当前动态位姿落在如下的识别范围内:
则输出为行走姿态;
(3)如果当前动态位姿落在如下的识别范围内:
则输出为跳跃姿态。
6.根据权利要求2所述的基于视觉惯导里程计的自适应参数警犬姿态估计方法,其特征在于:所述步骤3具体如下:步骤3.1、在识别过程中可获得一定数量的站坐卧立静态姿态的实际数据,将每一种静态姿态变换矩阵数组分别提取,依次进行警犬姿态的自适应参数学习计算;
步骤3.2、假设总共有n个变换矩阵,以一组测得的坐姿态的变换矩阵数组为例,同步骤
1将这一序列进行高斯分布拟合操作,令ysd、θzsd分别为坐标和角度的数组均值,使用最小二乘法获得其均方差σsd1和σsd2,此时得到初步的识别范围:步骤3.3、为防止自学习过程出现异常值和缺失值的影响,则将上述所得到的初步的识别范围更新为加常数的宽限范围:其中cy、cr称为加常数,一般根据不同姿态序列的实际情况使用不同的常数;
步骤3.4、搜索坐姿态变换矩阵数组,如果发现存在ysd[i]或θzsd[i]落入加常数区间:ysd[i]∈[y'sdmin,ysdmin)或ysd[i]∈(ysdmax,y'sdmax]θzsd[i]∈[θ'zsdmin,θzsdmin)或θzsd[i]∈(θzsdmax,θ'zsdmax]则更新步骤3.2中初步识别范围的上下限参数:
ysdmin=ysd[i]或ysdmax=ysd[i]
θzsdmin=θzsd[i]或θzsdmax=θzsd[i]将修改后的上下限参数ysdmin/ysdmax和θzsdmin/θzsdmax代入步骤3.3,更新加常数的宽限范围[y'sdmin,y'sdmax]和[θ'zsdmin,θ'zsdmax],获得最终的识别范围区间;
步骤3.5、识别范围自更新后,将使用了加常数c的宽限范围替代坐姿态等静态姿态中预设的y和θz的上下限范围,进一步精准限定静态姿态的识别范围。