【四足机器人】学习笔记 单腿逆运动学和站立姿态控制

【四足机器人】学习笔记 单腿逆运动学和站立姿态控制

近期,博主在古月居学习关于四足机器人的相关部分知识,从阳炼老师的四足机器人控制与仿真课程中学习到了很多内容,故在这里对四足机器人的四足运动控制部分进行相应的梳理。
目前,国内外的四足机器人大多为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,通过单腿逆运动学解算就可以得到对应的电机转动角度,从而实现了对机器人的控制。
以上就是四足机器人的单腿逆运动学原理和站立姿态控制原理的全部内容了。

  • 7
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
STM32四足机器人设计是基于STM32微控制器的四足机器人的设计方案。STM32微控制器是一款强大的嵌入式系统芯片,具有丰富的功能和高性能。四足机器人是一种仿生机器人,它的动作和行为模仿了动物的四脚走动,可以具有较好的稳定性和适应性。 在STM32四足机器人的设计中,首先需要确定机器人的基本结构和尺寸。根据具体的应用需求,可以选用不同尺寸的机器人,例如小型的台式机器人或大型的工业机器人。然后,需要设计机器人的机械结构,包括四脚的连接方式、材料选择等。机械结构要考虑到机器人的稳定性和灵活性,以便机器人能够完成各种运动和动作。 接下来,需要设计STM32控制系统。控制系统主要包括电机驱动、传感器和通信模块等。电机驱动可以选择合适的直流电机或舵机,通过PWM控制电机的运动。传感器可以选择加速度计、陀螺仪、距离传感器等,用于感知机器人的姿态、位置和环境。通信模块可以选择无线通信模块,实现与外部设备的通信和控制。 最后,需要编写机器人的控制程序。程序可以使用C语言或者其他高级语言编写,并通过STM32开发环境进行编译和调试。控制程序需要实现机器人的运动规划和控制算法,以及与外部设备的通信和交互。 综上所述,STM32四足机器人设计是一个综合性的工程项目,涉及到机械设计、电子电路设计和软件编程等方面。通过合理的设计和调试,可以实现功能丰富、性能稳定的四足机器人

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值