发明名称 基于激光雷达的四旋翼无人机自主定位及控制方法
摘要 本发明属于四旋翼无人机自主飞行控制研究的技术领域,为提出一套新的基于二维激光雷达的自主定位方法,及基于此定位方法及其它机载MEMS芯片的四旋翼无人机控制系统设计方法,为此,本发明采用的技术方案是,基于激光雷达的四旋翼无人机自主定位及控制方法,首先利用二维激光雷达进行无人机水平方向的初步定位,利用机载气压计得到无人机的高度方向的初步位置值;之后利用互补滤波算法,结合机载加速度计芯片,获得更高频率的无人机位置信息;最后基于此位置信息,应用于无GPS信号下的无人机控制系统。本发明主要应用于无人机自主飞行控制装置的设计制造。
申请公布号 CN103868521B 申请公布日期 2016.06.22
申请号 CN201410057861.3 申请日期 2014.02.20
申请人 天津大学 发明人 鲜斌;张垚;茹滨超;宋英麟
分类号 G01C23/00(2006.01)I;G05D1/10(2006.01)I 主分类号 G01C23/00(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 刘国威
主权项 一种基于激光雷达的四旋翼无人机自主定位及控制方法,其特征是,首先利用二维激光雷达进行无人机水平方向的初步定位,利用机载气压计得到无人机的高度方向的初步位置值;之后利用互补滤波算法,结合机载加速度计芯片,获得更高频率的无人机位置信息;最后基于此位置信息,应用于无GPS信号下的无人机控制系统;基于激光雷达的水平方向初步定位具体步骤为:1)三维环境模型向二维平面投影利用机器人运动学坐标变换方法,并结合机载惯性导航单元得到的欧拉角,将激光雷达扫描得到的参考图像及当前图像投影到水平面上,在这一平面上,再利用二维平面匹配方法进行位移及角度测量,从而得到无人机在水平方向上精确的位置信息,具体步骤如下,设激光雷达在时刻t,按逆时针顺序第i条激光束在三维空间中扫描测到点P<sub>i</sub><sup>l</sup>,其在激光雷达坐标系下定义为P<sub>i</sub><sup>l</sup>=[cos(θ<sub>i</sub>)r<sub>i</sub>,sin(θ<sub>i</sub>)r<sub>i</sub>,0]<sup>T</sup>,其中θ<sub>i</sub>代表该条激光束所在角度,r<sub>i</sub>代表该条激光束测得的距离,与此同时根据机载惯性导航单元,测得激光雷达所处滚转角为γ、俯仰角为β,则通过(1)式,将P<sub>i</sub><sup>l</sup>投影至世界坐标系中:P<sub>i3d</sub>=R<sub>pitch</sub>×R<sub>roll</sub>×P<sub>i</sub><sup>l</sup>              (1)其中<img file="FDA0000968560030000012.GIF" wi="1086" he="191" />最后将P<sub>i3d</sub>的Z轴分量置为0,从而得到采集图像中一个三维点P<sub>i</sub><sup>l</sup>在二维平面上的投影点P<sub>i2d</sub>,这里由所有投影点组成的图像即为三维环境模型在二维平面上的投影图像;2)迭代式无人机平面位移及转角初步估计方法利用1)中投影方法将无人机在不同时刻,不同角度下采集到的图像投影到同一平面上;而后利用迭代式方法对无人机平面位移及转角进行估计,因此需要选取两幅处于同一平面的图像进行比较,将其中一幅图像选定为当前时刻采集到的投影图像,另一幅参考图像根据换图策略进行选取;依据换图策略获得两幅比较图像后,需要利用迭代估计方法对无人机平面位移及转角进行估计;这里将所估计的参考图像到当前图像的变换关系定义为q,其包含由平面偏航角θ决定的旋转变换R(θ)及平移变换t,定义p<sub>i</sub>为激光雷达采集到的当前投影图像中一个点,定义<img file="FDA0000968560030000015.GIF" wi="57" he="52" />为利用所估计的位移及转角将点p<sub>i</sub>投影到参考图像中的点,定义<img file="FDA0000968560030000014.GIF" wi="53" he="70" />及<img file="FDA0000968560030000013.GIF" wi="57" he="70" />为参考图像中距离<img file="FDA0000968560030000016.GIF" wi="58" he="52" />最近的相邻点;设当前迭代次数为k且k&gt;0,迭代直至收敛或陷入迭代环,其每一迭代步描述如下:第一步,设置迭代初值:若第一次进入迭代程序,则其变换猜测初值q<sub>0</sub>定义为q<sub>0</sub>=(t<sub>0</sub>,θ<sub>0</sub>),利用机载惯性导航元件,通过测得参考时刻及当前时刻间偏航角的差值作为θ<sub>0</sub>,并设初始时间t<sub>0</sub>为0,之后每次迭代中,迭代初值q<sub>k</sub>=(t<sub>k</sub>,θ<sub>k</sub>)设定为上一步计算出的结果,θ<sub>k</sub>、t<sub>k</sub>分别为第k次迭代时的偏航角的差值及时刻;第二步,确定匹配关系:将选取的迭代初值q<sub>k</sub>应用于当前图像点p<sub>i</sub>上,得到该点在参考图像上的坐标<img file="FDA0000968560030000017.GIF" wi="79" he="52" />对于每一个<img file="FDA0000968560030000018.GIF" wi="79" he="52" />在参考图像所有点中寻找距离<img file="FDA0000968560030000019.GIF" wi="58" he="52" />最近的两个相邻点<img file="FDA0000968560030000022.GIF" wi="53" he="70" />以及<img file="FDA0000968560030000023.GIF" wi="93" he="70" />其中下角标j<sub>1</sub>、j<sub>2</sub>代表点<img file="FDA00009685600300000215.GIF" wi="53" he="70" />以及点<img file="FDA00009685600300000216.GIF" wi="58" he="70" />分别由激光雷达沿逆时针方向的第j<sub>1</sub>及j<sub>2</sub>条激光束采集得到,而上脚标i代表点<img file="FDA00009685600300000214.GIF" wi="53" he="70" />及点<img file="FDA00009685600300000213.GIF" wi="57" he="70" />与当前图像中的点p<sub>i</sub>相匹配,继而可将该匹配关系简化为&lt;i,j<sub>1</sub><sup>i</sup>,j<sub>2</sub><sup>i</sup>&gt;,定义该匹配关系为&lt;i,j<sub>1</sub><sup>i</sup>,j<sub>2</sub><sup>i</sup>&gt;,即当前图像中点i匹配于参考图像中线段<img file="FDA0000968560030000024.GIF" wi="183" he="79" />此方法需要首先确定参考图像中满足(2)式的点<img file="FDA00009685600300000212.GIF" wi="84" he="70" /><maths num="0001"><math><![CDATA[<mrow><msup><msub><mi>j</mi><mn>1</mn></msub><mi>i</mi></msup><mo>=</mo><mi>argmin</mi><mo>|</mo><mo>|</mo><msub><mi>p</mi><mi>j</mi></msub><mo>-</mo><msubsup><mi>p</mi><mi>i</mi><mi>w</mi></msubsup><mo>|</mo><msup><mo>|</mo><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00009685600300000217.GIF" wi="1165" he="93" /></maths>这里首先需要根据激光束分辨率设置初始搜索点,如式3所示;(∠P<sub>i</sub><sup>w</sup>‑ψ<sub>0</sub>)×[nrays/(θmax‑θmin)]                  (3)其中ψ<sub>0</sub>为初始扫描激光束角度,nrays为激光束总数,θmax‑θmin为起始及终止激光束角度差值,之后比较起始点前后两点与<img file="FDA00009685600300000220.GIF" wi="58" he="52" />的距离差,取距离较小的点所在方向开始搜索;如果当前点与<img file="FDA00009685600300000218.GIF" wi="58" he="52" />的距离已经超过了之前获得的最短距离,则终止此方向的搜索并转向起始点另一方向继续搜索;此后,当两个方向的搜索均达到终止条件时,得到最短匹配<img file="FDA00009685600300000211.GIF" wi="80" he="70" />最后选取<img file="FDA0000968560030000025.GIF" wi="53" he="70" />前后两点中,与<img file="FDA00009685600300000219.GIF" wi="58" he="52" />距离更近的那个点作为<img file="FDA0000968560030000029.GIF" wi="88" he="75" />这样便可得到有效匹配对&lt;i,j<sub>1</sub><sup>i</sup>,j<sub>2</sub><sup>i</sup>&gt;及其匹配距离;第三步,裁剪部分匹配对:首先裁剪掉重复匹配参考图中一点<img file="FDA00009685600300000210.GIF" wi="53" he="70" />的部分匹配对,建立一个数组存储所有与<img file="FDA0000968560030000026.GIF" wi="55" he="71" />有关的匹配对,通过遍历这些匹配对应的匹配距离,取出其中最小的距离值,之后裁剪掉大于该距离一定倍数的匹配对&lt;i,j<sub>1</sub><sup>i</sup>,j<sub>2</sub><sup>i</sup>&gt;,其后将剩下的所有匹配对按匹配距离长短排序,再按预设比例裁剪掉其中距离较长的匹配对;第四步,定义式(4)为误差函数J,<maths num="0002"><math><![CDATA[<mrow><mi>J</mi><mrow><mo>(</mo><msub><mi>q</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>,</mo><msub><mi>C</mi><mi>k</mi></msub><mo>)</mo></mrow><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><mrow><mo>(</mo><msup><msub><mi>n</mi><mi>i</mi></msub><mi>T</mi></msup><mo>&lsqb;</mo><mi>R</mi><mo>(</mo><msub><mi>&theta;</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo><msub><mi>P</mi><mi>i</mi></msub><mo>+</mo><msub><mi>t</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msup><msub><mi>P</mi><msub><mi>j</mi><mn>1</mn></msub></msub><mi>i</mi></msup><mo>&rsqb;</mo><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000968560030000021.GIF" wi="1238" he="109" /></maths>其中n<sub>i</sub>为垂直于线段<img file="FDA0000968560030000028.GIF" wi="150" he="70" />的法向量,C<sub>k</sub>为当前第k步所有有效匹配关系,该式可描述为求取变换关系<sub>qk+1</sub>=(t<sub>k+1</sub>,θ<sub>k+1</sub>),使得未被裁剪的所有匹配对中,点<img file="FDA00009685600300000221.GIF" wi="58" he="52" />到与其匹配的线段<img file="FDA0000968560030000027.GIF" wi="150" he="70" />的距离总和最短,对(4)式这一非线性方程求取极值,计算出无人机水平方向位置及转角的变化估计q<sub>k+1</sub>=(t<sub>k+1</sub>,θ<sub>k+1</sub>),若未满足迭代终止条件,则将此值设置为迭代初值,至第一步继续迭代运算,直至满足预设终止迭代条件。
地址 300072 天津市南开区卫津路92号