仿斯坦福四足机器人的运动学逆解
1 引言
仿斯坦福四足机器人的软件流程如下图所示。其中运动学逆解直接输出给舵机,控制机器人的运动,因此运动学逆解很重要。
2 基本概念
2.1机械结构模型
对于8自由度机器人,其机械结构模型如下图所示。图中两个并联大腿L1L_1L1杆分别由独立的舵机带动,假设这两个独立舵机位于同一点O(0,0),两个并联小腿L2L_2L2杆相交于足端Z(x,y)。两个舵机的转角即两个L1L_1L1与过O点的铅垂线的夹角分别为θ1\theta_1θ1和θ2\theta_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[tTm−12πsin(2πtTm)]y=H[12−12cos(2πtTm)]
\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[Tmt−2π1sin(Tm2πt)]y=H[21−21cos(Tm2πt)] 其轨迹为下图中的黄色虚线。
通过逆解得到θ1\theta_1θ1和θ2\theta_2θ2,再命令舵机根据θ1\theta_1θ1和θ2\theta_2θ2转动,使机械腿转到指定的位置,完成指定的动作。
3.2运动学逆解数学建模
3.2.1简化结构
仿斯坦福机器狗的并联腿,机械是一个闭链的5连杆:2个大腿L1L_1L1、2个小腿L2L_2L2以及两舵机连线。
为了简化计算,将两舵机简化为重合得一个点。
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)运动。
机械结构简化为下图。
由OCZ构成的直角三角形可以求出虚拟腿长L和腿角ψ\psiψ:
虚拟腿长度:L=x2+y2L=\sqrt{x^{2}+y^{2}}L=x2+y2
腿角:ψ=arcsin(x/L)\psi=arcsin(x/L)ψ=arcsin(x/L)
由三角形OBZ根据余弦定理可求得连杆分离角ϕ\phiϕ:
ϕ=arccos(L2+L12−L222L1L)
\phi=arccos(\frac{L^{2}+L^{2}_{1}-L^{2}_{2}}{2L_{1}L})
ϕ=arccos(2L1LL2+L12−L22) 利用腿角ψ\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编写程序及运行结果如下。
4 几点疑惑和建议
(1)简化模型的误差
模型简化将两个舵机看成一个点来处理,如果机器狗的腿不够长,即两舵机间距不能忽略的情况下仍做此简化,会带来较大误差,从而影响机器狗运动的准确性。
(2)足端轨迹误差
足端轨迹按摆线来处理是基于腿长不变这一前提的。然而随着机器狗运动姿态的变化,并联腿的长度会随之而变化。事实上,腿长会随着舵机转角θ\thetaθ的增大而减小。在改进的建模算法中应考虑这个问题。
(3)姿态平衡的控制
运动学逆解求解的是机器狗在平面上运动步态的问题,当运动表面不平整,或某种原因导致机器狗姿态改变时如何恢复平衡,是后面需要解决的问题。
参考资料
[1] http://github.com/ToanTech/py-apple-quadruped-robot
- 【零基础】斯坦福四足机器人DIY指引
- 四足机器人——3自由度机械臂正逆解(肘式+膝式)
- 为什么机器人运动学逆解最好采用双变量反正切函数atan2而不用反正/余弦函数?
- 【ROS-Gazebo】开源四足机器人仿真模型pig_dog
- 四足机器人 3.基于虚拟模型的动步态规划方法
- 机器人运动学-速度问题
- 如何制作一个自己的四足机器人
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(一)舵机-2
- 斯坦福联合DeepMind提出将「强化学习和模仿学习」相结合,可实现多样化机器人操作技能的学习
- 从Big Dog到Spot Mini:波士顿动力「四足机器人」进化史
- gazebo与ros:用gazebo_ros_bumper_plugin获取四足机器人足底力时遇到的问题
- 平面3连杆机器人正逆解
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(四)
- AI一分钟 | 浙大研发出“踢不倒”的四足机器人;富士康冲击A股上市,AI为最大卖点
- 工业机械人运动学正逆解,简单粗暴!!!!!!
- 四足机器人 1.稳定性标准
- 制作小型四足机器人(一)
- [机械臂运动学系列]机械臂及其笛卡尔坐标正逆解算(三)
- PVCBOT【14号A版】机械狗--四足爬行机器人
- orocod_kdl学习(二):KDL Tree与机器人运动学