用MATLAB编程实现逆运动学算法

运动学是对运动的研究,不考虑运动的原因,如力和力矩。逆运动学是一种帮助定义机器人达到期望位置的运动的方法。例如,为了完成一项手术任务,在医疗手术中使用的机械臂需要从初始位置到所需位置的精确运动。

机器人运动学涉及到推导方程来描述机器人的关节参数和末端执行器之间的解析关系。推导运动方程有两种方法:

  • 正运动学。给定关节角度值,正运动学方程计算机器人末端执行器在坐标空间中的位置。
  • 逆运动学。给定机器人的末端执行器位置,逆运动学方程计算将末端执行器移动到该位置所需的关节角度。

插图显示双连杆机械臂末端执行器与所需的位置和角度θ1和θ2.

利用逆运动学方程计算出机器人的关节角后,就可以得到机器人的运动轮廓雅可比矩阵将末端执行器从初始位置移动到最终位置。雅可比矩阵有助于定义机器人的关节参数和末端执行器速度之间的关系。

使用MATLAB®和符号数学工具箱™,您可以:

  • 将机器人的末端执行器位置和关节参数象征性地定义为正弦和余弦函数
  • 求解关节角度的逆运动学方程,生成运动廓线
  • 将系统雅可比矩阵作为符号表达式进行计算,得到关节与机器人速度之间的关系
  • 将导出的表达式转换为MATLAB函数块并创建Simulink金宝app®或Simscape™模型来模拟机器人
  • 生成等价的C代码来与其他应用程序合并

有关更多信息,请参见MATLAB符号数学工具箱

参见:符号数学工具箱,机器人编程,旋转矩阵,积分,Arduino编程使用MATLAB和Simulink金宝app,Arduino工程装备

密歇根大学开发基于模型设计的两足机器人控制