首页 > 编程语言 >算法高级(46)-波士顿动力机器人ATLAS

算法高级(46)-波士顿动力机器人ATLAS

时间:2022-10-19 15:35:29浏览次数:74  
标签:46 模型 机器人 CPG Atlas ATLAS 波士顿


一、引言

如果说阿尔法狗是对人类智力的碾压,那么,波士顿动力研发的机器人,正在挑战的是仿生学。

波士顿动力公司(Boston Dynamics)一致在专注于机器人的研发,每一次波士顿动力放出视频都会引起网友的围观惊叹,包括机器狗开门,户外慢跑跨越障碍,爬楼梯、避让行人、判断路径等都不在话下。

旗下 ATLAS的表现无疑震惊了不少人,功能型人型机器人能够在各种情况下保持身体的稳定性,这对于人型机器人发展的意义不言而喻。

二、ATLAS的发展历程

2008年3月18日,波士顿动力公司释放了一段关于新一代的机械狗的录像,在这个录像当中,机械狗能够穿越​​结冰​​​地面,并且能够在被​​侧踹​​之后恢复平衡。

2013年7月11日,ATLAS首次向公众亮相,还比较笨拙,步履蹒跚,就像人类的幼儿。需要外接电源,拖着长长的尾巴,后来经过改进去掉了外接电源,走起路来常摔跟头。

2016年2月份,当Atlas机器人再次出现在人们的视野中时,它变了,它已经可以完成独立雪地行走,平衡能力已经很强大了,摔倒了还能爬起来,还能主动打开房门,已经可以搬运货物,

2017年11月,再次出现时,它的技术推进速度开始让人震惊。展示了一波双腿跳远,双腿立定跳高,还有后空翻技能。

2018年5月份Atlas机器人再次升级,惊呆了。它可以野外在草地上慢跑了,轻松跨过类似于横木的障碍物。Atlas的的腿,伺服和液压线已经都嵌入到了结构中。Atlas不仅能够单脚跃过障碍物,还可以连续跳上多层平台。

2019年9月24日,波士顿动力公司在网上公布了双足机器人Atlas最新进展视频。继表演跑酷、后空翻等绝技之后,Atlas又掌握了一项新技能:体操。

三、设计理念

Atlas 看上去就和一个人一样,而 SpotMini 就像是一条狗。

波士顿动力在说明中指出:这个测试,不会刺激或者伤害机器人。

  • 不会刺激,应该是说即便以不优雅的行为对待机器狗,它也不会被激怒反扑到你身上。
  • 不会伤害,代表即便是激烈的干扰行为,也没有对机器人的硬件以及软件系统造成损害。

波士顿动力并不过分追求毫厘之间的精确度,他们追求的是功能的精确性。Atlas 是亚稳态的,因此它在绝大多数时候都是稳定的。处于亚稳态,意味着 Atlas 需要像人类一样保持直立。但即便是 Atlas 所做的后空翻,也只需要 “非常粗略的计算”。当它着陆时,它会对计算做出修正,不需要完美无缺,足够好就行了。

四、ATLAS中蕴含的算法

众所周知,动物最常见的运动方式是节律运动,即按照一定的节奏、有力度地重复、协调、持续进行的动作,是低级神经中枢的自激行为。生物学上,动物的节律运动控制区被认为是分层并且模块化的,其控制以中枢模式发生器为中心,既可以接受来自高层的高级神经中枢的主观控制,也可以响应来自躯体各种感受器官的反射,这就是CPG控制机理。

前人已经按照CPG控制机理建立了不同形式的数学模型,它们能够产生的周期振荡的信号,使其能够满足节律运动的特点。

目前比较经典的CPG模型可划分为以下两大类:

  1. 基于神经元的模型:Matsuoka神经元震荡模型、Kimura模型等,该类模型生物学意义明确,但参数较多,动态特性分析比较复杂。
  2. 基于非线性振荡器的模型:Kuramoto相位振荡器、Hopf谐波振荡器等,该类模型参数较少,模型比较成熟。

在保证能够输出稳定的周期性震荡信号的前提下,那些形式简单、参数较少、计算量小、便于分析、易于实现的CPG模型是更好的选择。根据这一个原则,我们选取了HOPF振荡器作为CPG的单元模型。

五、ATLAS反抗视频

使用了动作捕捉设备,由人类演员完成。

参考:​​“波士顿动力机器人 Atlas” 暴力反击人类真相​

六、总结

当机器人在各方面都超越人类的时候,人类存在的价值又在哪里呢?细思极恐。

或者,人类的价值并不在于身体,而在于思想。


我的微信公众号:架构真经(关注领取免费资源)

算法高级(46)-波士顿动力机器人ATLAS_javascript

参考文章

  1. ​http://scholarsupdate.hi2net.com/news.asp?NewsID=27066​
  2. ​https://www.thepaper.cn/newsDetail_forward_4531109​
  3. ​https://cn.technode.com/post/nodebang/2247494637​
  4. ​http://scholarsupdate.hi2net.com/news.asp?NewsID=27066​
  5. ​https://www.hbdushi.cn/2019/0929/357320.html​

标签:46,模型,机器人,CPG,Atlas,ATLAS,波士顿
From: https://blog.51cto.com/u_14351881/5770204

相关文章

  • CF946F
    设\(f_{i,j,k}\)表示在串\(F(i)\)的子序列中,\(s\)中区间\([j,k]\)作为子串的出现次数之和。则有两种转移:一种是子序列完全包含在\(F(i-1)\)或\(F(i-2)\)中,一种......
  • NC14602 xinjun与阴阳师
    链接:https://ac.nowcoder.com/acm/problem/14602来源:牛客网**题目描述**xinjun是各类手游的狂热粉丝,因随手一氪、一氪上千而威震工大,现在他迷上了阴阳师。xinjun玩手游......
  • 46. 全排列
    classSolution{public://dfsvector<vector<int>>res;vector<int>path;//只能是全局变量boolflag[100];intn=0;voiddfs(intu,v......
  • 【LeetCode】1464. 数组中两元素的最大乘积(C++)
    1464.数组中两元素的最大乘积(C++)​​1题目描述​​​​2示例描述​​​​2.1示例1​​​​2.2示例2​​​​2.3示例3​​​​3解题思路​​​​4源码详解(C++)​​......
  • CF1468H
    首先判掉\((n-m)\bmod(k-1)\ne0\)的情况,显然是无解的。考虑消去的最后一步,必然是以\(b\)中的某一元素为中位数进行的。于是得到了一个必要条件:存在一个\(b_i\),满足......
  • 46.动态联编和静态联编
    1.动态联编和静态联编(重点难点)1.静态联编编译器会根据函数调用的对象类型,在编译阶段就确定函数的调用地址,这就是静态联编(早绑定)2.虚函数在普通成员函数前面加virtual,......
  • winioctl.h(10326): [C4668] 没有将“_WIN32_WINNT_WIN10_TH2”定义为预处理器宏,用
    一般为Windows中的宏和UE4冲突所致在模块的xxx.Build.cs里面添加这个:bEnableUndefinedIdentifierWarnings=false;转自:https://blog.csdn.net/boonti/article/detail......
  • CF463C 题解
    题目传送门题目分析贪心练手好题。首先,国际象棋中象的走法是斜着走,也就是这样:通过上面的图我们不难看出,如果一个象在黑格,另外一个在白格,那么它们之间一定不会互相攻击......
  • CF1468A
    设\(f_i\)表示以第\(i\)个结尾,强制选第\(i\)个所能得到的最长几乎上升序列的长度。则\(f_i=\max\limits_{j\lti,a_j\lea_i}\left\{f_j+1+w(i,j)\right\}\)。其......
  • CF1746D(记忆化搜索,DP,贪心)
    CF1746D(记忆化搜索,DP,贪心)https://codeforces.com/contest/1746/problem/d题意给一棵树,树上每个点有一个权值\(s_i\),有一个整数\(k\)。表示从根节点出发的简单路径的......