通过三四章的学习,我们已经可以操作机器人来改变他的关节角度了,也就是说,我们可以让机器人跳舞咯,只需要编排好关节角度,在一定周期给信号就OK啦~~~~~当然也可以赋予一个random值让它乱动哦~~~至于具体怎么实现,这个我打算留给读者自行研究。在此不展开说明(因为展开了真的可以很长。。)

然而,但是。跳个舞你就满足了吗?这些关节之前到底隐藏着怎样的关系?比如说我想让一个机械臂去抓它面前的一个杯子,我应该怎么编排机器人的爪子才能到达那个点呢???这就是动力学解决的问题了。

传统动力学分为前向动力学和逆动力学,也就是forward kinematic 和 inverse kinematic.

前向动力学要解决的是,给出关节角度信息,求出末端关节的位置。

逆动力学要解决的是相反的问题,也就是给出末端关节要到达的位置(比如说机器人面前的杯子所在的空间坐标),求出每个关节对应的角度。

到这里,我们才真正开始进入机器人学的研究领域,接下来,我会结合John J. Carig的《机器人学导论》第三版进行说明,想真正入门的同学请务必把原著(或者中文翻译版)粗略地看一遍,对大部分人来不需要仔细看,有个概念就可以。

入门之前的入门: 空间位姿与坐标变换

相信本科时候不少同学都被线性代数所困扰,我们不仅需要熟记矩阵的计算方法,还要熟练运用各种公式和定理,那么问题来了,学这玩意除了应付考试还能干嘛??对的,对于大多数专业(比如我本科读的通信),学这玩意还真是没鸟用。专业课用不上,工作更用不上。。关键数学教材给出的一般只是抽象概念,我们都知道数学是一个工具,工具的作用就是为了解决实际问题,而数学教材一般只把这个工具抽象出来,脱离实际背景后导致学生只能通过死记硬背来掌握这门学科,这大概就是大部分人(包括本人)讨厌数学的原因。

说了这么多该回到正题了,在这里我们将用矩阵来做坐标变换(矩阵的本质就是用来描述变换的工具)

假设我们有一个机器人,为了描述每个关节所在位置,我们需要一个参考坐标系,这个参考坐标系一般称为机器人的基坐标(base_link),这个base_link一般放在机器人下面的中间处,如上图的nao的base_link就处于两脚之间,有了base_link,在机器人运动的时候我们就可以把目标坐标系转化为在base_link坐标系上的位置和姿态了。(ros的tf工具包就是用来专门处理这个事的,图中那一堆的坐标就是tf的可视化)

引用《机器人学导论》中第二章的原话:

可以看到坐标系之间的变换就是一个旋转操作(上面的R矩阵,R代表rotation,因此也称为旋转矩阵,它一般是一个3x3矩阵,每一行代表一个旋转分量) 加一个平移操作(上面的P,有时候也用T缩写,它一般是一个3x1向量,里面就是x,y,z方向上的平移量)。把旋转和平移合并起来后就可以就可以组成一个变换矩阵,套用书中原话:

有了这个概念,我们解正运动学就变得非常简单了。假设我们以机器人两脚间的base_link坐标为参照,要求机器人的手臂前端的抓取部分相对base_link的坐标,那么我们可以先从base_link乘以一个变换矩阵T变换到脚下的坐标,然后再乘一个变换矩阵T变换到机器人膝盖的坐标,然后一直乘下去就会得到我们想要的坐标。而这些变换矩阵都是可以直接从机器人身上获取的,比如变换矩阵的旋转变量就可以通过读舵机的编码器推算出角度,然后计算出来,而平移一般是固定的,因为机器人用的是刚性连杆。

正运动学是解决了,但在实际场景没什么用啊,虽然我是知道了机器人各个关节形成一定角度后他的手能到达那个位置,但我们要做的一般是已知东西在哪个位置,去求解机器人各个关节的值,好让机器人去抓这个东西。求解逆运动学问题由此而生,也就是常说解IK(inverse kinematic).

对于解逆运动学,我们不打算在这展开叙说(毕竟人家用了一整章去写,我在这里写一章内容不太现实,有兴趣的读者可以参考上述书籍)

需要注意的是,逆动力学的解一般是一个空间(自由度大于6的话解可能有无限多个),比如说,人的手就拥有7个自由度(7个关节,不算手指),当你想要控制手指到达某个目标地点的时候,你可以有超多的姿势~(你手臂的关节组合数),套用下图就是你想到达上面的点,既可以用左边的姿势,也可以用右边的姿势。

至于在实际应用中,一般都会有现成的库文件,只要我们设定要关节长度,角度限制等参数,然后给出目标坐标,这些库就可以帮我们求出每个关节对应的值,因此我们不需要自己每次去写低效率的求解程序,对于求解过程只要有个概念就足够了。(开源拯救世界!)

五 跳个舞你就满足了吗?--机器人动力学相关推荐

  1. 你觉得跳广场舞的都是一群什么样的人?

    我觉得跳广场舞的主要是一群正常的退休老年妇女.硬要说她们有什么不一样,或许可能有以下几个方面: 一是喜欢跳舞. 许多人小时候在学校时就曾经参加过班级.学校的文娱活动和演出,老了看到社会流行广场舞,很自 ...

  2. 机器人为你跳钢管舞,如此“销魂”

    作者 | 神经小刀 来源 | HyperAI超神经(ID:HyperAI) [导语]近日,法国的一家俱乐部为了周年庆典,邀请了跳钢管的机器人前来助兴.这两个跳艳舞的机器人,是经由一位艺术家,通过废弃材 ...

  3. 维汉一家亲 60岁维族大妈免费教市民跳新疆舞(图)

    乔金红在教市民跳新疆舞.本报记者 宗兆宣 通讯员 宋旭涛摄 60岁的维吾尔族大妈乔金红在海口免费教市民跳新疆舞 "远方的客人快下马,请你尝块哈密瓜:远方的客人快下马,请你尝块哈密瓜--&qu ...

  4. 人老了,到底是应该多运动还是多静养?跳广场舞要注意啥?

    中老年人每天没事干,忙活了大半辈子当然要好好的享受一下老年生活.不论生活精彩与否,最重要的还是想要一个健康的身体安度晚年.有些中老年人开始锻炼身体,没事干的时候跳跳舞,有些中老年人认为老了就不要再折腾 ...

  5. [继续八卦]微软CEO史蒂夫·鲍尔默学跳猴子舞

    微软现任CEO鲍尔默,做销售出身,向以简单粗暴.激情洋溢闻名.Internet上流传着关于这位仁兄的一些有趣视频--感谢YouTube,这些视频现在传播甚广. 还是从"很久很久以前" ...

  6. NowCoder每天下班都会经过万达广场,那里有很多大妈伴随着很high的音乐,在跳广场舞,脖子扭扭,屁股扭扭,乐哉,乐哉! 在广场上,大妈大婶排成 m 排,n列的队伍,其中有一个大妈所在的行中年龄最

    NowCoder每天下班都会经过万达广场,那里有很多大妈伴随着很high的音乐,在跳广场舞,脖子扭扭,屁股扭扭,乐哉,乐哉! 在广场上,大妈大婶排成 m 排,n列的队伍,其中有一个大妈所在的行中年龄最 ...

  7. 五自由度简单机械臂运动学及动力学分析|基于MATLAB机器人工具箱Rvctool

    五自由度简单机械臂运动学及动力学分析|基于MATLAB机器人工具箱Rvctool 1.机械臂要满足其抓手能在0.50.50.5立方米的工作空间内活动,终端抓手要能横向以及纵向抓到这个空间内每一个点(死 ...

  8. 《机器人动力学与控制》第五章——速度运动学之机械臂的雅各比矩阵 5.0 导言

    文章目录 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 参考文献 <机器人动力学与控制>第五章--速度运动学之机械臂的雅各比矩阵 5.0 导言 ...

  9. 26岁年薪百万!华为最新“天才少年”曝光:B站博主,爱跳街舞

    最近,据电子科技大学披露,2022年秋季校园招聘中,该校博士研究生宁博宇进入华为,成为"天才少年"项目一员,年薪百万. 宁博宇表示:"我只是一个普通学生,这次入选是我运气 ...

最新文章

  1. htcd816+android密码,HTC Desire 816刷机解锁教程
  2. ASP.NET MVC实践系列9-filter原理与实践
  3. 查看表扫描次数,并对比索引对表查询的作用
  4. GPU并行计算OpenCL(3)——图像处理
  5. mysql 正则匹配 捕获组_常用正则表达式 捕获组(分组)
  6. 使用event.keyCode来判断是否为数字
  7. gdt描述_GDT全局描述符表
  8. 易用宝项目记录day5-shiro
  9. 钢铁企业的能耗管理现状和管理建议
  10. 在CTeX上编码论文《杂谈勾股定理》及论文式样
  11. java真幻想三国志攻略_《真幻想三国志》剧情详尽攻略一
  12. 最全分布式文件系统 HDFSYARNMapReduce详讲
  13. 微信小程序富文本处理
  14. js打印页面指定区域内容
  15. 润乾报表数据填报中的合法性校验
  16. tiktok设备注册
  17. 带你探索元宇宙鲜为人知的另一面
  18. java实现DES加解密算法
  19. nvm最全面的下载安装教程
  20. python 开发网站过程_Django框架下Python网站开发过程综述

热门文章

  1. 嵌入式开源项目哪里找
  2. 达梦数据库常见问题汇总
  3. 2019CCPC秦皇岛 K MUV LUV UNLIMITED(博弈)
  4. 计蒜客——闯关游戏 SPFA找最长路
  5. VisualStudio如何添加使用自定义皮肤控件Cskin
  6. STM32F030K6T6 TIM6能不能用?
  7. 计算机高级系统设置无法设置,进入高级系统设置启动和故障恢复设置
  8. OPJ-1067 取石子游戏 解题报告(数论) 取石子游戏,betty定理
  9. 国家税务总局电子税务局一些操作步骤记录
  10. 傅里叶变换性质公式推导