赞
踩
近期,博主在古月居学习关于四足机器人的相关部分知识,从阳炼老师的四足机器人控制与仿真课程中学习到了很多内容,故在这里对四足机器人的四足运动控制部分进行相应的梳理。
目前,国内外的四足机器人大多为12自由度的机器人,每条腿包含三个自由度,一般使用的是无刷电机或者高精度舵机作为驱动机构,博主在这篇文章中,对四足机器人的单腿逆运动学原理,站立姿态控制原理进行了详细的介绍。
在控制四足机器人运动之前,首先我们要弄清楚四足机器人单腿的运动关系,简单的来说,以无刷电机作为驱动机构,驱动机构由髋关节电机,大腿驱动电机和小腿驱动电机组成。
如上图所示,定义如下关系
h:髋关节电机和大腿驱动电机对应中心点之间距离
hu:大腿杆件长度
hl:小腿杆件长度
//设电机顺时针转动,角度为正,逆时针转动,角度为负,定义
gamma:髋关节电机的转动角度
alfa:大腿驱动电机的转动角度
beta:小腿驱动电机的转动角度
当机器人单腿运动到上图所示位置时,通过足端相对于髋关节电机中心点之间的坐标相对关系可以求取各个电机的转动角度。
以图中为例,髋关节电机和小腿驱动电机的转动角度都是负的,大腿驱动电机的转动角度是正的。假设足端相对于髋关节电机中心点位置坐标为(x,y,z),从图中可以知道。
髋关节电机转动角度gamma=-arctan(y/z)+arctan[h/sqrt(y^2+z^2-h^2)]
根据对应运算关系,可以分别得到大腿驱动电机和小腿驱动电机的转动角度alfa和beta
lxz’=sqrt(y2+z2-h2+x2)
lxz’2=(hu+n)2+m2
hl2=n2+m2
n=sqrt[(lxz’2-hl2-hu2)/(2×hu)]
大腿驱动电机转动角度beta=-arccos(n/hl)
小腿驱动电机转动角度alfa=arccos((hu+n)/lxz')-arctan(x/sqrt(y^2+z^2-h^2))
通过以上的运算关系,在已知足端相对于髋关节电机中心点的坐标后,就可以通过单腿逆运动学解算得到各个电机转动的角度。
但是对于四足机器人而言,左边的两条腿和右边的两条腿所对应的坐标系是不同的,右边两条腿对应的应该是右手坐标系,而左边的两条腿对应的应该是左手坐标系。如果将四条腿都放在右手坐标系环境下,相应的,左边的腿在y轴上应该取负号。
四足机器人在运动过程中,身体部分的姿态会不断地发生变化。假如机器人足端已知保持与地面接触,且相对位置不发生变化,此时的身体姿态称之为站立姿态。
四足机器人的站立姿态控制,本质上是并联机器人的逆解。四足机器人存在许多冗余自由度。因此在解算出每条腿的位置向量后,还需要对每条腿做逆解运算,再得到四足机器人各个关节电机的转动角度,从而实现对四足机器人的控制。
四足机器人的空间结构如上图所示,结构参数定义如下
l:机器人足端在长度方向的距离
w:机器人足端在宽度方向的距离
b:机器人两前组基座原点中间的距离
O':身体部分几何中心
O: 地面坐标系原点
R是旋转矩阵,通过欧拉角数据得到,关于欧拉角与旋转矩阵的转换,我在另一篇博客中已经作了相应的解释,不清楚的小伙伴可以去看看,链接如下:
https://blog.csdn.net/weixin_45417246/article/details/115865595.
在上图中,因为研究的是四足机器人的站立姿态控制,因为O’是给定的,所以向量OB1和向量OO’ 是已知的。在上图的式子中,向量O’A1会根据旋转矩阵R做相应的改变,所以需要乘以旋转矩阵后再代入计算,最后得到足端相对于髋关节中心点的坐标向量A1B1,通过单腿逆运动学解算就可以得到对应的电机转动角度,从而实现了对机器人的控制。
以上就是四足机器人的单腿逆运动学原理和站立姿态控制原理的全部内容了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。