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

  • 一、四足机器人单腿逆运动学原理
  • 二、四足机器人站立姿态控制原理

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

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

  1. 四足机器人学习笔记(足端轨迹规划)

    不管是基于位置控制还是力矩控制亦或是其他一些控制方式,均需要进行足端的轨迹规划,来使四足机器人能够成功跨越障碍物.因此对于四足机器人足端轨迹方法进行了汇总. 1. 摆线轨迹 若使用位置控制模式,可以将 ...

  2. 四足机器人单腿逆运动学解-几何方法

    四足机器人单腿逆运动学解-几何方法 视角分解 静止状态 运动状态 运动学逆解 求解gamma角 求解beta角 求解alpha角 matlab代码实现 古月居<四足机器人控制与仿真入门>学 ...

  3. 【现代机器人学】学习笔记五:逆运动学(Inverse kinematics)

    这节的内容是根据末端位姿,计算关节角度,也就是所谓的IK.IK其实是一个比较复杂的问题,远不止本节内容所述的这么简单.这节个人觉得还是偏向基本的概念了. 逆运动学解析法 6R PUMA机器人 这节文章 ...

  4. 并联四足机器人项目开源教程(一)--- 机器人学导论的学习

    这个是本人在大三期间做的项目 ---- 基于MIT的Cheetah方案设计的十二自由度并联四足机器人,这个项目获得过两个国家级奖项和一个省级奖项.接下来我会将这个机器人的控制部分所有代码进行开源,并配 ...

  5. 代码解释及MATLAB复现--灯哥四足机器人步态规划部分

    目录 一. 规划方案: 1.x轴规划 2.z轴规划 二.灯哥源代码 三.MATLAB复现 笔者在看灯哥较新版的四足机器人控制程序中,观察到他没有向往常一样使用的传统的摆线轨迹,而是采用分段多项式进行足 ...

  6. 四足机器人站立姿态解算-几何方法

    古月居课程四足机器人控制与仿真入门笔记,视频链接:link 四足机器人站立姿态解算-几何方法 参数定义 姿态解算 matlab程序 参数定义 定义机器人足端在长度方向的距离为l,在宽度方向的距离为w, ...

  7. 【ROS-Gazebo】开源四足机器人仿真模型pig_dog

    2019.6.23更新 本项目是基于ubuntu16.04,ROS kinect,在新版本上需要修改pid配置的yaml文件最后一部分的命名空间,在前面加上/pig_dog,否则无法找到路径. 我将写 ...

  8. 波士顿动力真的无可企及吗?一步步剖析四足机器人技术(一)

    四足机器人运动控制 第一章 序 第二章 运动状态 姿态控制 运动控制 第三章 步态 第四章 CPG控制网络 介绍 CPG模型分类 基于HOPF振荡器的CPG单元模型 CPG网络控制模型 Tips 参考 ...

  9. 【现代机器人学】学习笔记六:闭链运动学

    这一章的内容主要讲并联机器人的相关算法,内容在全书中属于比较少,仅仅介绍概念的章节. 恰好部门中有一位同事就是专门做并联机器人出身的博士,也请他帮忙看了一下内容,但他觉得写书的这个人可能也不是非常懂并 ...

最新文章

  1. 取代MybatisPlus?阿里推出了新 ORM 框架!(两者对比参考)
  2. ARP扫描工具arp-scan
  3. 死磕Java并发:J.U.C之Java并发容器:ConcurrentLinkedQueue
  4. RxSwift之深入解析特殊序列deallocating与deallocated的源码实现
  5. java开发原则_java开发中,大家处理异常的原则是什么,是如何处理的?
  6. 专栏订阅须知《必读》
  7. Android开发学习总结(三)——appcompat_v7项目说明
  8. ASP存储过程在开发中的应用分析。
  9. 微信公众号小程序开发
  10. paip..net VS2010提示当前上下文中不存在名称的解决
  11. php微博自动评论,新浪微博自动评论工具
  12. cdr添加节点快捷键_CDR快捷键大全
  13. Linux Ubuntu18系统下最简单开机自启动程序方法 | 九七的Linux
  14. python模拟上传图片_用python创建自己的等离子图片模拟
  15. 求多个数最小公倍数的一种变换算法(未看)
  16. 软件架构设计系列总结—写在前面
  17. PS网页设计教程XXIII——创建一个售卖iPhone 5应用程序的网站
  18. linux下c/c++读取txt文件,多行文件,且每行都用逗号隔开
  19. LK算法、LKH算法介绍及Python实现
  20. CPU卡多级UID读取

热门文章

  1. 计算机机房电路设计图,三室两厅电路设计图
  2. 百度飞桨小白逆袭大神被“虐”过程大公开--青春有你2 数据分析
  3. 如何设置浏览器登录ARP(中科院资源规划项目)进行财务报销
  4. JS写的随机数倒计时效果
  5. 【量子计算-基础物理】分子、原子、原子核、中子、质子、电子、量子、离子的区别
  6. 自学Unity之做一个MOBA游戏2——镜头移动
  7. 靠朋友圈疯狂砍价的拼多多今天上市了,创业3年市值1600亿!
  8. ffmpeg批量合并截取音频文件
  9. Python 编写简易东北方言小词典
  10. 【LaTeX技巧】 | LaTeX数学公式环境中添加删除线