发明名称 一种仿人机器人手臂作业动态稳定控制方法
摘要 本发明公开了一种仿人机器人手臂作业动态稳定控制方法,该方法通过辅助臂的最优分解动量运动实现机器人作业的动态稳定,保证机器人的全面稳定性:不跳动、不倾倒、不滑动,自动附带保证规划出的辅助臂关节角速度不超限,依据物理原理通过嵌入式高速计算机精密控制和调整机器人的动态稳定性,计算精确,安全可靠,反应迅速,使得机器人作业臂执行高速大范围复杂智能作业时能保持动态稳定,而且这种技术方案不针对特定的机器人结构,适应性广。既实现了高速大范围复杂作业,又能自主保持动态稳定。
申请公布号 CN102672719B 申请公布日期 2014.11.19
申请号 CN201210143001.2 申请日期 2012.05.10
申请人 浙江大学 发明人 张大松;熊蓉;吴俊;褚健
分类号 B25J13/00(2006.01)I 主分类号 B25J13/00(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 周烽
主权项 一种仿人机器人手臂作业动态稳定控制方法,其特征在于,该方法包括以下步骤:(1)根据实际情况选定合适的采样周期T;(2)将机器人姿态调零,通过传感器确认机器人质心在地面上的投影大致位于地面支撑域的中心;(3)根据动量公式计算机器人总动量:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>1</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>1</mn></msub></msub></mtd></mtr></mtable></mfenced><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>;</mo></mrow>]]></math><img file="FDA0000530852480000011.GIF" wi="897" he="173" /></maths>其中,P、L分别是三维线动量<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>P</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000530852480000012.GIF" wi="114" he="232" /></maths>和三维角动量<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>L</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000530852480000013.GIF" wi="114" he="232" /></maths>的简写;<maths num="0004" id="cmaths0004"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000530852480000014.GIF" wi="98" he="156" /></maths>是计算得到的机器人六维总动量,三维线动量和三维角动量;<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000530852480000015.GIF" wi="222" he="157" /></maths>分别是作业臂和辅助臂的动量;<img file="FDA0000530852480000016.GIF" wi="137" he="81" />分别是机器人作业臂和辅助臂七个关节角速度组成的七维向量;M,H分别是线运动惯性矩阵和角运动惯性矩阵,用于组成惯性矩阵;<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>1</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>1</mn></msub></msub></mtd></mtr></mtable></mfenced><mo>,</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000530852480000017.GIF" wi="354" he="173" /></maths>分别是作业臂和辅助臂七个关节对应的惯性矩阵;(4)根据动量定理和稳定性指标得到地面作用力/力矩约束方程组以及为了便于计算机处理的离散化力/力矩约束方程组:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mi>i</mi></msub><mo>-</mo><mi>T</mi><mo>*</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>&le;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>&le;</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mi>i</mi></msub><mo>+</mo><mi>T</mi><mo>*</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000530852480000018.GIF" wi="1330" he="173" /></maths>其中,F,M分别是三维力<maths num="0008" id="cmaths0008"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>F</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>F</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000530852480000019.GIF" wi="113" he="232" /></maths>和三维力矩<maths num="0009" id="cmaths0009"><math><![CDATA[<mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><mi>x</mi></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mi>y</mi></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mi>z</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA00005308524800000110.GIF" wi="134" he="232" /></maths>的简写,用于组成稳定性约束指标向量;<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>,</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000530852480000021.GIF" wi="263" he="157" /></maths>是机器人稳定性约束指标向量;<maths num="0011" id="cmaths0011"><math><![CDATA[<msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mi>i</mi></msub>]]></math><img file="FDA0000530852480000022.GIF" wi="112" he="158" /></maths>是当前机器人作业臂的动量;<maths num="0012" id="cmaths0012"><math><![CDATA[<msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub>]]></math><img file="FDA0000530852480000023.GIF" wi="137" he="158" /></maths>是前一个采样时刻机器人的击球臂和作业臂的总动量;(5)根据重力作用原理、ZMP稳定判据、惯性力原理和摩擦力原理确定动力稳定性约束指标向量,所述动力稳定性约束指标向量包括机器人重力失重/超重稳定性约束指标、机器人倾倒稳定性约束指标和机器人滑动稳定性约束指标;其中,所述机器人重力失重/超重稳定性约束指标包括失重指标和超重指标,所述失重指标为机器人自重的10%到30%之间;所述超重指标为机器人自重的20%到50%之间;所述机器人倾倒稳定性约束指标包括前后倾倒指标和左右倾倒指标,所述前后倾倒指标为机器人自重乘以支撑域前后方向最大长度的一半;所述左右倾倒指标取为机器人自重乘以支撑域左右方向最大长度的一半;所述机器人滑动稳定性约束指标包括平移滑动指标和旋转滑动指标,所述平移滑动指标为机器人自重乘以摩擦系数再乘以0.707,所述旋转滑动指标为机器人自重乘以两脚中心距的一半再乘以摩擦系数;(6)根据电机和减速器实际性能确定机器人两手臂各关节角速度约束指标向量:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mo>-</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>1</mn><mi>D</mi></mrow></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>1</mn><mi>U</mi></mrow></msub></mtd></mtr><mtr><mtd><mo>-</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>2</mn><mi>D</mi></mrow></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>2</mn><mi>U</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000530852480000024.GIF" wi="405" he="164" /></maths>由于机器人两手臂的对称性,<img file="FDA0000530852480000025.GIF" wi="293" he="81" />和<img file="FDA0000530852480000026.GIF" wi="73" he="81" />四者相等;(7)根据机器人辅助臂各关节允许角度和角速度范围和负载能力确定最优权重矩阵:最优权重矩阵为正定对角矩阵或单位对角矩阵;(8)根据步骤(4)、(5)和(6)得到力/力矩约束最优分解动量控制的机器人手臂作业动态稳定控制的不等式约束凸二次规划问题:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><munder><mi>min</mi><mi>x</mi></munder></mtd><mtd><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mi>T</mi></msup><mi>Q</mi><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub></mtd></mtr><mtr><mtd><mi>subject to</mi></mtd><mtd><mo>-</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>2</mn><mi>D</mi></mrow></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>&le;</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mn>2</mn><mi>U</mi></mrow></msub></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000530852480000031.GIF" wi="1243" he="173" /></maths><maths num="0015" id="cmaths0015"><math><![CDATA[<mrow><msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mi>i</mi></msub><mo>-</mo><mi>T</mi><mo>*</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mo>&le;</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>M</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr><mtr><mtd><msub><mi>H</mi><msub><mi>arm</mi><mn>2</mn></msub></msub></mtd></mtr></mtable></mfenced><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>&le;</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><mi>P</mi></mtd></mtr><mtr><mtd><mi>L</mi></mtd></mtr></mtable></mfenced><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>P</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>L</mi><mn>1</mn></msub></mtd></mtr></mtable></mfenced><mi>i</mi></msub><mo>+</mo><mi>T</mi><mo>*</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>F</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mi>M</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000530852480000032.GIF" wi="1305" he="174" /></maths>其中,Q为最优权重矩阵;在每个采样周期T内,通过计算机求解得到下一个时间点使得机器人保持作业动态稳定的辅助臂关节角速度运动规划命令;(9)将机器人作业臂关节角速度作业运动命令和辅助臂关节角速度运动规划命令同时发送给两手臂的关节执行器;其中,机器人作业臂作业时的动态稳定性由在步骤(8)第二个约束方程中的稳定性约束指标向量的约束下生成的辅助臂关节角速度规划运动来自动保证,也即保证机器人在作业过程中不跳动、不倾倒、不滑动,而辅助臂关节角速度的超限问题也由步骤(8)第一个约束方程的关节角速度约束指标向量来自动保证。
地址 310058 浙江省杭州市西湖区余杭塘路388号