订阅博客
收藏博客
微博分享
QQ空间分享

简体转繁体,原创开发必读!人形机器人实时控制系统解密,笑气

频道:娱乐消息 标签:越南捕鸟王战争 时间:2019年11月08日 浏览:230次 评论:0条

本文依据优必选北研所高档算法工程师董浩,在「智东西公开课」的超级公开课优必选专场第三讲《实机遇蜀山战纪器人操控体系在人形机器人中的运用》的解说收拾而来。

在本次解说中,董浩老师从通讯、算力和软件三个维度剖析了人形机器人对实机遇器人操控体系的根本要求,并从硬件xunlei渠道、实时主站、多使命APP软件结构三个层面对优必选最新实机遇器人操控体系进行了深度的拆解剖析,从不同维度为咱们呈现了一套实机遇器人操控体系的全景图。

在算力层面,优必选实机遇器人操控体系可认为开发者供给最多三个主控板卡,每个板卡能够挑选Arm、DSP和X86不同的硬件渠道来进行装备,以满意不同场景下的算力需求;

在通讯层面,选用了EtherCAT实时高速以太网,能够确保操控体系和伺服关节之间的实时通讯和数据同步,确保不同算法能够在高动态的工况下发挥出最好的作用;

在算法开发层看,选用组件化、功用可扩展、开发松耦合、调度散布式的规划思维,使得每个开发者都能够独立开发、测验,有用降低了开发难度,完结高效的团队协作。

杨梓邑

以下是董浩博士的主讲实录,全文合计8721字,估量读完需求15分钟,本次解说提纲如下:

1、人形机器人对操控体系实时性和多自由度操控的要求

2、实机遇器人操控体系架构解析

3、Walker机器人在RoboCup竞赛中的运用体现和应战

主讲实录

董浩:咱们好,我是优必选北研所高档算法工程师董浩,很快乐能和咱们一同沟通。我今日共享的主题为《实机遇器人操控体系在人形机器人中的运用》,我将从以下三个方面来打开解说:

首要,我会介绍一下人形机器人对操控体系实时性和多自由度操控的要求,首要体现在人形机器人自由度比较多、传感器比较多以及对运动操控算法动态功用要求很高这几个方面;

其次,我会要点讲一下优必选实机遇器人操控体系的架构,将别离从硬件、实时体系以及软件三个方面来打开;

终究,我会将Walker机器人参与RoboCup2019竞赛中面对的应战,以及终究获得的成果,给咱们做一个共享,也会从运用的视点来论述一下这套体系带来的优势。

人形机器人对操控体系实时性和多自由度操控的要求

先从Walker新一代机器人说起。从上面这幅图,咱们能够看到Walker机器人一共有36个自由度,即36个一体化的伺服驱动单元,其间包含两个6自由度的腿,两个7自由度的手臂,两个4自由度的灵活手以及一个2自由度的头。一起还有十个传感器,包含六维力、IMU以及超声传感器等。

关于这样一个杂乱的散布式操控体系来说,双足和双臂的算法都要求操控体系和伺服关节之间的通讯要满意快,并且周期性的守时跳动还要满意小,这样才干确保算法在高动态的工况下发挥出最好的作用。

此外,实机遇器人操控体系还要求一切的伺服关节要同步运动,传感器的数据也要同步收集,然后确保算法的输入和输出都一直处于一个节拍,然后确保算法的功用。此外,一切算法都要满意实时性的要求,所以就要求在必定的时刻周期内完结核算,整个体系的算力要能确保杂乱的多使命算法APP都能够及时的完结。

从运动操控算法的视点来看,人形机器人的运动操控方针,首要包含结尾方位、结尾速度、结尾姿势和结尾力四个方面的操控。

结尾方位,包含双足和双臂的作业空间的结尾作业点。结尾方位、姿势和速度的操控首要是为了满意双足行走和双臂操作,对作业空间轨道的要求。结尾力的操控首要是为了完结对环境的习惯性,包含和人的物理交互,能够使得Walker机器人更安全、更鲁棒、更和谐。

总结来说,人形机器人对操控体系的要求分为以下三个方面:

1、通讯,为了处理许多伺服关节的高速同步通讯问题,咱们选用了EtherCAT实时高速以太网,整个操控体系能够支撑不少于50个节点,一起还具有拓扑联系的习惯性,这关于Walker机器人是十分重要的。咱们知道,Walker机器人的内部空间是十分小的,所以伺服关节之间的走线要求就很高。在这儿,EtherCAT的优势就体现在以下两个方面:首要,伺服之间的通讯线缆能够选用一进一出的方法,削减了走线的空间;其次,能够选用星型衔接,简化四肢结尾通讯线缆的衔接联系,并且这样的网络作业方式也十分利于毛病排查,也便是说任何Ezgirl一个伺服关节的节点呈现反常,咱们都能够快速定位到详细是哪个方位。

2、算力,操控算法的方针是操控结尾的方位、姿势、速度和力,这就要求必求婚大作战需求具有多自由度的运动学、动力学算法。关于多体的运动学和动力学算法来说,跟着自由度的添加,核算的杂乱度会明显添加,并且在某些状况下运动学和动力学还不具有解析解,只能选用数值求解的方法,这样会导致核算的杂乱度进一步添加。

此外,Walker机器人未来的方针是要走进千家万户,这就要求有必要具有对杂乱环境的习惯性算法,包含走路时对地面的习惯性、手臂作业时对障碍物的习惯性、机器人在人机交互、人机协一起的习惯性。这些杂乱算法都对操控器的算力提出了巨大的应战。

终究咱们都知道处理器芯片的功用也在伴跟着摩尔定律高速开展,这也要求咱们操控体系的处理器能同步晋级,跟上芯片的开展速度,硬件架构要从模块化的视点来匹配晋级的要求。

3、软件,方才咱们说到的各种运动操控算法都会以独立的APP方法来运转,这就要求操控体系要供给一个实时的运转结构,能够满意不同运转周期的算法APP实时核算的要求,充沛运用硬件的核算资源,一起考虑到杂乱算法的不断晋级,为了能够完结算力的扩展和均衡,咱们选用了多主控板卡的架构,这也要求一切的算法APP能够运转在不同的主控板卡上进行散布式核算。不同算法APP之间还具有高速的实时数据交互才干。为了统筹功耗、本钱以及算力之间的平衡,咱们挑选了Arm、DSP、X86等多种主控板卡,这就要求算法APP有必要具有跨渠道才干,才干更好地运用硬件的核算资源。

实机遇器人操控体系架构解析

实机遇器人操控体系首要包含硬件、实时主站和多使命APP。

其间硬件是供给整个操控体系的通讯和核算的载体;实时主站是依据RTOS完结的一套满意实时性要求的EtherCAT主站协议栈程序,能够完结一切的EtherCAT的相关功用,是通讯功用的一个中心;多使命的APP是一套多线程的运转结构,能够将不同的算法封装到不同的APP中,以不同的周期在不同的主控板卡上实时运转,并且能够交流数据,当然它也是未来咱们进行算法、软件开发的通用渠道。

整个操控体系的架构如上图所示。最底层是一套多核异构的处理器硬件渠道,再往上是在Linux根底上打了实时补丁的LinuxRT实时操作体系,兼容Arm和X86硬件渠道。实时主站也便是EtherCAT相关的通讯的功用,多使命APP的结构首要包含机器人的中心使命,APP便是Robot Core Task和配套的SDK开发包,以及再往上层的感知接口,运动规划、步态生成、手臂操控、头部的动作、优化算法、环境交互、状况估量以及长途操控等一系列的算法APP,它们都会在一致的结构下运转,并且实时的进行数据交互。此外还会有一个APP办理进程,咱们叫它App办理使命,它具有实时的音讯中心、进程办理和体系log的功用,完结对各个A彩云之南PP的调度。

多核异构处理器硬件渠道,咱们学习了机箱的规划理念,一切的接口、电源、操控简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气板卡都是模块化的规划,选用板卡的方法刺进操控器的背板,并且支撑现场可替换单元(FRU),这样能够削减线缆衔接的不行靠性,易于装置和维护,也更便利操控整个操控器的尺度和分量,整个操控器的晋级和迭代未来也是比较便利的,可扩展性和可定制性也都比较高。

这套硬件渠道最多能够支撑三个主控板卡,每个板卡都能够挑选Arm、DSP、X86不同的硬件渠道来进行装备,经过不同的装备板卡组合,然后满意不同的算力、功耗以及本钱的束缚,与运用场景的适配度也比较高。

接口方面,支撑EtherCAT,CAN和485三种总线,根本涵盖了现在不同的伺服关节的接口品种。接口模块还能够针对各种传感器的处理接口独自定制开发,以快速的习惯不同运用场景的要求。

硬件渠道的全体拓扑联系如上图所示,首要分为接口模块、电源模块和三个主控板卡模块。

接口模块支撑EtherCAT、Ethernet、CAN、485、232、USB、WIFI、GPIO等常见的通用接口,一起也会将这些接口经过背板总线和各个主控板卡互联,能够确保每一个主控板卡上的GPIO、以太网和串口都能够导入到外简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气部接口里;

电源模块支撑48V输入,输出能够支撑24V、12V、5V、3.3V等多路电源,输出的电源接口首要用来给各种外部传感器、输入和输出设备进行供电,以前进整个体系的电源办理才干。

三个主控板卡别离支撑Arm、DSP和X86,简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气能够完结算力的扩展和均衡。在实践运用中,能够依据不同的场景需求来挑选不同的组合。在运用的数量上,能够只用一个板卡,也能够三个板卡都运用。在背板总线中有三条总线,别离是:

1、高速PCIE总线,担任完结主控板卡之间的高速数据交互,能够完结带宽超越2Ggps的通讯带yummy宽,确保在一切的实时APP在运转进程中充沛完结数据交流的功用;

2、I2C总线,用来监控和办理各个模块的运转状况;

3、电源总线,用来完结给各个模块进行供电。

在实时主站上咱们完结了一套完好的EtherCAT主站协议栈软件,也是一个比较通用的处理方案。在最底层,咱们经过修正以太网卡接口的驱动完结了一个实时的以太网接口驱动,能够在EtherCAT的数据链路层完结数据的实时收发功用。一起咱们还完结了一个EtherCAT主站的中心线程,能够完结PDO和SDO的功用,别离对应周期性的指令和非周期性的指令。此外还有一个XML文件解析器,能够将网络拓扑的装备文件解析成中心线程能够辨认的网络拓朴信息,然后完结对整个EtherCAT网络里一切从站的办理和操控。

这套实时主站能够支撑不少于50个从站节点依照1000Hz的通讯频率来同步运转,并且支撑散布式时钟DC,一起在1毫秒运转周期下,它最大的跳动是小于20微秒。实时主站的软件是兼容Arm和X86处理器硬件渠道的,也便是不论咱们挑选的主控板卡是Arm版别仍是X86版别相同都能供给EtherCAT的主站功用,后续咱们也会开发更深化的相似FOE这样的功用,然后经过实时主站软件,对下面一切的从站伺服关节进行固件晋级等一系列的配套功用。

多使命APP软件结构首要由四大块构成简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气,别离是Robot Core Task(机器人中心使命进程)、SDK开发东西包、不同miss148算法APP和APP办理进程。

中心使命APP首要担任完结机器人上一切关节的操控和传感器的处理使命,包含伺服关节的状况机切换、运动指令的下发以及方位、速度等状况信息的处理。一起还有一个安全维护算法,能够对一切下发给伺服关节的指令进行维护性的判别,防止由于算法的反常导致动作的反常,比方超出方位限制、超出速度限制、超出力的限制等一系列的束缚条件,还会有机器人关节间的磕碰检测,能够确保一切发给机器人的指令都是能够安全履行的,不会形成任何反常的成果。

状况监控是对当时机器人一切硬件模块的严重信息进行实时监测,遇到任何反常状况就会进行告警和记载,包含有些关节过载了、有些传感器超出量程了、外部有了反常的磕碰和触摸等,对机器人进行全方位的安全监控和处理。

运动方式办理算法首要是为了满意包含行走、操作以及人机交互等动作的需求,能够对不同的使命来调度和处理不同的算法APP发送的指令进行交融,并在处理今后发送给关节。

多使命APP能够理解为将机器人的硬件履行端、传感端与算法进行阻隔,使得一切的算法研究人员能够不必重视底层的硬件怎么交互,直接开发算法来完结相应的功用即可。并且底层一切的硬件能够随时晋级、迭代,不会影响上层算法程序的施行进程。

SDK开禁欲发包供给了一套和机器人的伺服关节以及传感器进行数据交互的接口,以及开发各种通用阴阳代理人的机器人算法包的接口,使得上层APP的开发人员能够经过很友爱的编程方法来完结相应功用。

上层完结的各种算法APP用来完结运动各个方面的使命,首要包含:

感知接口,担任与感知部分进行数据交互,接纳感知决失望教室策和指令,一起回传机器人的简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气状况;

运动规划则是依据感知决议计划发过来的使命指令,相似于走到什么方位、操作什么物体等,来规划出双足行走和双臂运动以及头部动作的指令输入,以供给给后续的算法来进行处理;

步态生成是依据运动规划发送的指令生成双足的运动轨道,然后操控双足完结行走。手臂的操控相同也是依据运动规划发送的操作和抓取指令来生成双臂的运动轨道,完结操作抓取。相同,运动规划也会告知头部往什么方位去看,盯梢什么方位的物体等,这样就会实时的生成一个头部的运动轨道,来完结相关使命。上面这一行首要是一些运动规划方面的使命,而下面这一行便是一些相关的操控双彩网算法,包含一些优化算法,会依据完结的使命方针,查找寻优来得到一条最佳的运动轨道。

环境交互首要是依据与环境触摸的力和方位的状况来完结一些和婉的控薨制作用,终究到达机器人与人和环境是一种安全的交互方法,这儿会用到相似于阻抗操控、和婉操控等相关的操控算法;

状况估量会将一切传感器的信息进行交融,归纳的估量出机器人的一些运动状况,作为其他操控算法的输入量;

长途操控便是完结遥操作的功用,能够经过远端的核算机来操控机器人上的关节,完结在关节层次或许在作业空间层次的一种运动。

右边这个图是一切算法APP运转周期的散布。

首要在最底层,1000Hz是优先级最高、实时性要求最强的一层,包含了前面说到的中心使命、状况估量以及环境交互等算法。这些算法都是要依照最快的周期来处理各种传感器数据,并且给伺服关节发送指令,一起也是满意机器人与环境交互的时分,是以最快的反响来做出运动上的一些调整;

在200Hz的层次上,首要是完结感知方面的一些数据交互以及步态、手臂和头部的一些动作规划;

在1Hz层次上,首要是完结运动规划的算法,包含一些途径的规划、手臂操作的途径规划等,一般称之为中期规划;

而在0.1Hz层面,会跑一些优化算法,都是比较耗费核算资源的,一起也是为了在长时刻的运动中能够给出一个优化过的动作途径,作为后续一些运动的参阅轨道。

APP Manager办理进程,首要是进行一切APP之间音讯的注册和收发处理。功用方面能够完结一切APP的调度,包含发动、暂停、停止等。

体系log功用,会把一切APP在运转进程中发作的各种运转状况的信息,包含反常的信息、犯错的信息等维护信息悉数log下来,以供开发人员在过后进行相关的剖析。

SDK算法包现在首要完结了以下九个方面的功用:

根底数学东西包,能够完结一些矩阵运算、线性变换、矩阵分化等根底功用,并且一切操作符的方法,咱们都学习了MATLAB的操作方法,所以这些东西对用户是十分友爱的;

运动学,包含正运动学和逆运动学,别离完结了方位的正逆运动学和速度的正逆运动学,加速度的正逆运动学以及质心的正逆运动学,这些都是机器人运动操控必不行少的根本功用;

动力学层次别离完结了固定基和起浮基的串联正动力学,并联正动力学以及串联逆动力学和并联逆动力学,也为机器人操控打造了坚实的根底;

体系辨识,完结了单关节的辨识和整个Walker机器人体系质量特色的辨识,关于动力学里一些参数的调整有很好的协助,能够让咱们得到的成果更符合实践机器人的作用;

轨道生成,现在完结了三角函数、样条曲线、摆线等不同的曲线函数,能够用来做机器人许多轨道生成的参阅;

阻抗操控完结了惯性的、容性的、阻性的等不同的阻抗操作符功用,这样上层APP开发工程师在做阻抗操控的时分,能够很简单地完结阻抗操控的作用,而不必自己再去写这部分代码;

状况估量,完结了一些常见的各种滤波器算法,包含卡尔曼滤波,还有一些根本的带通、高通和低通滤波器,可认为后边做机器人的状况估量供给一些根本的东西。

简略来说,多使命APP软件结构具有四个重要的特色:

算法的组件化,即一切完结不同功用的算法都是以APP的方式开发和运转,能够多人协作,也能够独立的进行测验和调试,然后有用地前进开发的功率和质量;

功用可扩展,未来跟着机器人完结使命杂乱度的不断添加,能够不断的扩展新功用,开发新的算法APP,体系也能够不断的去习惯愈加杂乱的场景;

调度散布式,首要是指一切的算法APP都能够散布式的运转在不同的主控板卡上,依据对核算资源的需求进行分配,完结算力均衡,也能够确保日本小女子体系全体的实时性;

开发松耦合,即算法是以APP方式进行开发,能够散布式的运转在不同的主控板卡上,便于开发人员独立来完结作业,愈加有利于团队的协作开发。

Walker机器人在RoboCup竞赛中的运用体现和应战

本年是优必选和清华大学火神队联合组队参与RoboCup竞赛的第三年,跟着Walker机器人不断的晋级,咱们的成果也在不断的前进。

RoboCup竞赛的方针是期望能够在2050年前后组成一支机器人足球队,去打败当年人类的世界杯足球冠军。这个竞赛也相当于经过一套比较简单点评的规范渠道来促进人工智能和机器人技能的开展。RoboCup竞赛现在已经成为世界上等级最高、规划最大、影响力最广泛的机器人赛事,它不仅是一项归纳性的世界活动,也是学术成分很高的赛事。

或许咱们会觉得机器人足球队打败人类足球冠军仍是一件十分遥不行及的工作,可是作为亲历者而言,咱们十分有决心来完结这个方针。乃至在本年的RoboCup学术大会上,这项赛事的创始人之一(Manuela Velos蚂蚁短租o)提出了一个愈加急进的新标语,便是争取到2050年的时分,机器人能够成为世界杯足球冠军的一员,也便是说机器人能够和人类联合组队去攫取冠军,这对咱们来说会是一个更大的应战。

就咱们参与的人形机器人竞赛而言,这个赛事分为Kid-Size、Teen-Size和Adult-Size三个组别,别离对应儿童组、青年组和成年组,对应的机器人高度别离便是40~90cm,80~140cm,130~180cm,而对应的机器人数量别离为4V4、3V3、2V2,咱们参与的是成人组竞赛,也是未来机器人打败人类足球队的终极载体。

咱们在本年的竞赛中拿到了技能应战赛的亚军、Drop-in竞赛的亚军以及2V2足球竞赛的第三名。技能应战赛界说了四个技能应战项目,经过各个项目终究的排名来核算总的排名,首要是为了鼓舞开展机器人的一些单项才干。Drop-in竞赛即每个队会出一个机器人,组成两个机器人的联队,然后和另一个联队去进行竞赛,终究依据每个队的机器人的进球状况来进行排名。2V2的竞赛便是依据足球竞赛规矩来进行2V2的对立。

依据现在RoboCup竞赛开展的趋势来看,整个竞赛首要有以下四个方面的应战:

1、更大的场所,本年竞赛的场所从上一年的6m*9m添加到了9m*14m,面积扩展1倍还多,这样的改变会给感知、定位导航、运动等算法带来更大的应战,包含要辨认更远间隔的球、标志点,在更少的信息输入下完结本身的定位和导航,更木香的成效与作用大的场所就需求更高的运动才干、行走速度以及踢球力气都要加强,不然就会输掉竞赛,乃至无法完结竞赛;

2、更快的竞赛节奏,规矩中关于竞赛的各种中止时刻也进行了缩短,意味着机器人有用运动时刻在增多,对机器人的续航才干也提出了应战。机器人需求处理的竞赛信息也在增多,一起一切参赛队的机器人运动才干的提高带来了球的运转速度也会越来越快。这样导致感渝新汇知算法对球的辨认难度也越来越大;

3、更剧烈的对立,各个参赛队的机器人运动才干都在提高,导致竞赛中会呈现更多的机器人之间的物理触摸和对立,这对机器人的平衡操控提出了很高的要求。由于规矩中明确指出,假如机器人发作磕碰后倒地的话,维护员假如对它进行维护,机器人就要被罚进场30秒,而假如机器人在竞赛中有很好的磕碰后恢复才干,就会有很大的优势。

4、更多机器人,成人组的竞赛从曩昔的1V1到现在的2V2,下一年可能会晋级到3V3,机器人数量的添加会要求简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气更多的协作算法、更安稳牢靠的无线通讯、更准确的定位信息以及更准确的运动才干,比方机器人之间的传球才干会成为竞赛的一个巨大的应战。

针对这些应战,技能应战赛的四个项目也就随之确认,所以我这儿就要点共享一下咱们在技能应战赛上获得的一些成果。

首要是High Kick ,这个项目要求机器人要能够将球踢高,以球终究飞过的最高间隔作为排序的依据,获益于Walker机器人精准踢球的运动规划,以及伺服关节的高功率密度和操控器对它同步性操控的精准度,终究完结了0.4米的高度,拿到了这个项意图第一名;

第二个是High Jump ,也便是跳动,朴实在比较机崂山器人的弹跳才干,更准确来说是要比拼伺服关节的爆发力,以及落地之后的缓冲白度操控算法。要知道关于跳动竞赛来说,假如落地操控没有做好的话,会在跳动落地今后发作损坏的状况,所以关于操控器层面来说,要在最快的时刻内涵落地的时分把缓冲算法的功用都完结,对机器人发作一个很好的维护。终究Walker在这个项目完结了0.275秒的滞空时刻,拿到了High Jump项意图第一名;

第三个是Push Recovery ,这个项目检测的是机器人身体的平衡抗干扰才干,竞赛要求在机器人在原地踏步进程顶用必定质量的重物去碰击机器人,依照终究接受的分量、有用的碰击间隔来排名。在这个项目有一点比较惋惜的当地是,尽管Walker机器人接受的分量和等效的间隔都是最大的,可是由于竞赛终究的简体转繁体,原创开发必读!人形机器人实时操控体系解密,笑气成果还要除以机器人的分量,由于Walker机器人的分量有一点偏高,所以终究拿到了Push Recovery项意图第三名;

终究一个是Goal-Kick from Moving Ball,即传球应战,也是一切项目里难度最大的一项,它的要求是由人或许一个机器人将球传给另一个机器人进行射门操作,相似于咱们人类开角球的进程,终究依据完结的成功率来排名。这个项目检测了十分归纳的才干,包含机器人对运动中的球的辨认、猜测以及踢球的视点和力气的准确操控,成功完结该项意图难度十分大。咱们终究拿到这个项意图第二名,后边会有精彩视频,能够来看一下终究的作用。

好的,我今日首要共享内容就讲到这儿,谢谢咱们!

完好回放

超级公开课优必选专场第三讲全程回放包含主讲环节与问答环节两部分回放:

智东西