仿斯坦福四足机器人的运动学逆解

1 引言

  仿斯坦福四足机器人的软件流程如下图所示。其中运动学逆解直接输出给舵机,控制机器人的运动,因此运动学逆解很重要。仿斯坦福四足机器人的运动学逆解_第1张图片

2 基本概念

2.1机械结构模型

  对于8自由度机器人,其机械结构模型如下图所示。图中两个并联大腿 L 1 L_1 L1杆分别由独立的舵机带动,假设这两个独立舵机位于同一点O(0,0),两个并联小腿 L 2 L_2 L2杆相交于足端Z(x,y)。两个舵机的转角即两个 L 1 L_1 L1与过O点的铅垂线的夹角分别为 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2
仿斯坦福四足机器人的运动学逆解_第2张图片

2.2运动学正解

  已知舵机转动角度求足端坐标,称为运动学正解。即已知 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2,求Z点的坐标(x,y)。

2.3运动学逆解

  已知足端坐标求舵机转动角度,称为运动学逆解。即已知Z点坐标(x,y),求解 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2

3数学建模

3.1规划足端轨迹

  机器人运动时,首先规划足端Z的轨迹。在该四足机器人中,足端采用摆线方程。
{ x = S [ t T m − 1 2 π s i n ( 2 π t T m ) ] y = H [ 1 2 − 1 2 c o s ( 2 π t T m ) ] \begin{cases} x=S[\frac{t}{T_{m}}-\frac{1}{2\pi}sin(\frac{2\pi t}{T_{m}})]\\ y=H[\frac{1}{2}-\frac{1}{2}cos(\frac{2\pi t}{T_{m}})] \end{cases} {x=S[Tmt2π1sin(Tm2πt)]y=H[2121cos(Tm2πt)]  其轨迹为下图中的黄色虚线。
仿斯坦福四足机器人的运动学逆解_第3张图片
  通过逆解得到 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2,再命令舵机根据 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2转动,使机械腿转到指定的位置,完成指定的动作。

3.2运动学逆解数学建模

3.2.1简化结构

  仿斯坦福机器狗的并联腿,机械是一个闭链的5连杆:2个大腿 L 1 L_1 L1、2个小腿 L 2 L_2 L2以及两舵机连线。
仿斯坦福四足机器人的运动学逆解_第4张图片
  为了简化计算,将两舵机简化为重合得一个点。
仿斯坦福四足机器人的运动学逆解_第5张图片

3.2.2运动学逆解数学建模

  建立数学模型,实际上是建立(x,y)和( θ 1 \theta_1 θ1, θ 2 \theta_2 θ2)的关系,即已知(x,y),通过建模求出( θ 1 \theta_1 θ1, θ 2 \theta_2 θ2)。再将 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2传递给舵机,使机器人实现:随着规划的足端坐标(x,y)运动。
  机械结构简化为下图。
仿斯坦福四足机器人的运动学逆解_第6张图片
  由OCZ构成的直角三角形可以求出虚拟腿长L和腿角 ψ \psi ψ
  虚拟腿长度: L = x 2 + y 2 L=\sqrt{x^{2}+y^{2}} L=x2+y2
  腿角: ψ = a r c s i n ( x / L ) \psi=arcsin(x/L) ψ=arcsin(x/L)
  由三角形OBZ根据余弦定理可求得连杆分离角 ϕ \phi ϕ
ϕ = a r c c o s ( L 2 + L 1 2 − L 2 2 2 L 1 L ) \phi=arccos(\frac{L^{2}+L^{2}_{1}-L^{2}_{2}}{2L_{1}L}) ϕ=arccos(2L1LL2+L12L22)  利用腿角 ψ \psi ψ和分离角 ϕ \phi ϕ求出 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2
{ θ 1 = ϕ − ψ θ 2 = ϕ + ψ \begin{cases} \theta_{1}=\phi-\psi\\ \theta_{2}=\phi+\psi \end{cases} {θ1=ϕψθ2=ϕ+ψ

3.2.3程序实现

利用Python编写程序及运行结果如下。
仿斯坦福四足机器人的运动学逆解_第7张图片

4 几点疑惑和建议

(1)简化模型的误差

  模型简化将两个舵机看成一个点来处理,如果机器狗的腿不够长,即两舵机间距不能忽略的情况下仍做此简化,会带来较大误差,从而影响机器狗运动的准确性。

(2)足端轨迹误差

  足端轨迹按摆线来处理是基于腿长不变这一前提的。然而随着机器狗运动姿态的变化,并联腿的长度会随之而变化。事实上,腿长会随着舵机转角 θ \theta θ的增大而减小。在改进的建模算法中应考虑这个问题。

(3)姿态平衡的控制

  运动学逆解求解的是机器狗在平面上运动步态的问题,当运动表面不平整,或某种原因导致机器狗姿态改变时如何恢复平衡,是后面需要解决的问题。

参考资料

[1] http://github.com/ToanTech/py-apple-quadruped-robot

你可能感兴趣的:(四足机器人)