发明名称 一种针对空间多任务的避障路径最优逐次操作规划方法
摘要 本发明公开了一种针对空间多任务的避障路径最优逐次操作规划方法,通过寻找路径最优任务序列,然后寻找相邻任务点之间的最短避障路径,最后寻找对本体姿态扰动最小的各关节运动,实现空间多任务的路径最优逐次操作的规划;本发明利用自由漂浮空间机器人系统的运动学方程,借助混合粒子群优化算法,对空间多项任务进行路径最优的逐次操作规划,算法简单、计算量较少、且运行结果精度较高。本发明适用于空间操作系统连续执行多项任务,节省时间、节约燃料,进而有助于提高航天器寿命,为空间操作系统连续执行多项任务问题提供了一种新的思路。下面结合附图和实例对本发明进一步说明。
申请公布号 CN106054876A 申请公布日期 2016.10.26
申请号 CN201610389043.2 申请日期 2016.06.02
申请人 西北工业大学 发明人 朱战霞;赵素平;张红文;袁建平;方群;罗建军
分类号 G05D1/02(2006.01)I 主分类号 G05D1/02(2006.01)I
代理机构 西安通大专利代理有限责任公司 61200 代理人 陆万寿
主权项 一种针对空间多任务的避障路径最优逐次操作规划方法,其特征在于,包括以下步骤:步骤一、寻找路径最优任务序列根据各任务点的位置,寻找一条最优路径;即根据加权图G=(C,L),寻找一条花费最小的哈密顿圈;其中,C={c<sub>1</sub>,...,c<sub>n</sub>}为顶点集,即各任务点的位置,此处指三维坐标系下的坐标,单位为m,L={l<sub>ij</sub>|c<sub>i</sub>,c<sub>j</sub>∈C}为边集;D={d<sub>ij</sub>|c<sub>i</sub>,c<sub>j</sub>∈C}为加权集,此处指相邻任务位置点之间的距离,单位为m;若T={t<sub>1</sub>,...,t<sub>n+1</sub>}为可行任务序列,其中,t<sub>i</sub>∈C,i=1,...,n,t<sub>n+1</sub>=t<sub>1</sub>,则寻找距离最短的最优任务序列模型为:<maths num="0001"><math><![CDATA[<mrow><mi>min</mi><mi> </mi><mi>L</mi><mo>=</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></munderover><msub><mi>d</mi><mrow><msub><mi>t</mi><mi>i</mi></msub><mo>,</mo><msub><mi>t</mi><mrow><mi>i</mi><mo>+</mo><mn>1</mn></mrow></msub></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001008201640000011.GIF" wi="1157" he="126" /></maths>采用混合粒子群优化算法HPSO对寻找路径最短的任务点序列进行求解;粒子群优化算法通过模拟鸟群捕食行为来寻找全局最优解,根据如下公式更新每个粒子的速度和位置:<maths num="0002"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>v</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><mi>w</mi><mo>&CenterDot;</mo><msubsup><mi>v</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>+</mo><msub><mi>c</mi><mn>1</mn></msub><msub><mi>&eta;</mi><mn>1</mn></msub><mrow><mo>(</mo><mrow><msubsup><mi>p</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mrow><mo>)</mo></mrow><mo>+</mo><msub><mi>c</mi><mn>2</mn></msub><msub><mi>&eta;</mi><mn>2</mn></msub><mrow><mo>(</mo><mrow><msubsup><mi>p</mi><mi>g</mi><mi>k</mi></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><mi>k</mi></msubsup></mrow><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>=</mo><msubsup><mi>x</mi><mi>i</mi><mi>k</mi></msubsup><mo>+</mo><msubsup><mi>v</mi><mi>i</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msubsup></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001008201640000012.GIF" wi="1380" he="158" /></maths>其中k表示第k次迭代,<img file="FDA0001008201640000013.GIF" wi="46" he="62" />表示第k次迭代得到的第i个粒子的位置,<img file="FDA0001008201640000014.GIF" wi="46" he="61" />表示第k次迭代得到的第i个粒子的速度,<img file="FDA0001008201640000015.GIF" wi="46" he="61" />表示经k次迭代后得到的第i个粒子的最好位置,<img file="FDA0001008201640000016.GIF" wi="54" he="63" />表示经k次迭代后得到的群体所经历的最好位置;w为惯性因子,c<sub>1</sub>和c<sub>2</sub>为学习因子,η<sub>1</sub>和η<sub>2</sub>为[0,1]范围内的均匀随机数;步骤二、寻找相邻任务点之间的最短避障路径若两相邻任务之间存在不规则障碍物,则首先用最优尺寸的方体逼近该障碍物,然后寻找相邻任务点之间距离最短的避障路径,具体步骤如下:2‑1)用最优尺寸的方体逼近该不规则障碍物;2‑2)旋转两任务点,使旋转后的新点分别位于方体的上、下、左和右四个侧面内;2‑3)用直线连接旋转后得到的两新点,共得到上、下、左、右四个平面内的四条直线,分别与相对应的平面内的方形(逼近障碍物的最优方体在四个平面内的投影)有两个交点;2‑4)用直线依次连接原任务点、步骤2‑3)中得到的与方形的两个交点,即得到一条相邻任务间的避障路径;计算得到的四条路径,选择距离最短的一条,即为两相邻任务点之间的最短避障路径;步骤三、寻找对本体姿态扰动最小的各关节运动通过自由漂浮空间机器人系统的运动学方程得到各关节角变化情况,其运动学方程表示如下:<maths num="0003"><math><![CDATA[<mrow><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>v</mi><mi>e</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&omega;</mi><mi>e</mi></msub></mtd></mtr></mtable></mfenced><mo>=</mo><msub><mi>J</mi><mi>b</mi></msub><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>v</mi><mi>b</mi></msub></mtd></mtr><mtr><mtd><msub><mi>&omega;</mi><mi>b</mi></msub></mtd></mtr></mtable></mfenced><mo>+</mo><msub><mi>J</mi><mi>m</mi></msub><mover><mi>&phi;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mo>&lsqb;</mo><msub><mi>J</mi><mi>m</mi></msub><mo>+</mo><msub><mi>J</mi><mi>b</mi></msub><msub><mi>J</mi><mrow><mi>b</mi><mi>m</mi></mrow></msub><mo>&rsqb;</mo><mover><mi>&phi;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>J</mi><mi>g</mi></msub><mover><mi>&phi;</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001008201640000021.GIF" wi="1326" he="150" /></maths>其中v<sub>e</sub>和ω<sub>e</sub>分别表示操作系统末端执行器的线速度和角速度,单位分别为m/s和deg/s;v<sub>b</sub>和ω<sub>b</sub>分别表示操作系统本体的线速度和角速度,单位分别为m/s和deg/s;φ表示操作系统的关节角向量,单位为deg;J<sub>g</sub>表示广义雅可比矩阵;对公式(3)求伪逆,然后进行积分,得到各关节角;此外,在求解各关节角过程中,需要实时保证运动对本体的姿态扰动为零。
地址 710072 陕西省西安市碑林区友谊西路127号