随着科学技术的发展,机器人逐渐从荧幕上走入现实,但要达到影视中那样的智能和高端还尚需一段时间。个人看来,最符合我们对机器人印象的研发机构当属波士顿动力,该公司每年发布的机器人视频都足以震撼人们的眼球,与现实中人的运动能力越来越贴近。这一系列文章将深入学习波士顿动力机器人的技术细节,从根源处探索机器人世界的奥秘。
一、概述
波士顿动力公司(Boston Dynamics)是由美国马克·雷博特(Marc Raibert)于1992年创建的一家工程与机器人设计公司,最早因研发的大狗(Big Dog)而被世界闻名,而后每年都在创造新的技术高度。但是由于公司一心研发而无心商业,其运营方面一路生挫,于2013 年被 Google 收购并入Alphabet 旗下,而后又在2017 年被日本软银企业收购;近期在2020年12月又被韩国的现代汽车收购了80%的股份,商业发展道路可谓一波三折。但公司的核心在技术,毕竟技术才是导向标。 该公司发布了BigDog、LittleDog、PETMAN、LS3、Atlas、Spot、Handle等多个机器人,分别从机械结构、算法步态控制、动力系统耗能等方面更新迭代,图1 为已发布产品历史线,每一个产品都以视频发布(视频集链接)的形式公布。纵观发布的产品历史线,不难看出其核心在于发展腿式机器人以适应不同环境的使用,而技术的关键在于动力学和平衡状态的控制。足式机器人需要控制关节运动,并根据运动目的计算设计腿的移动序列、在移动过程中感知不同的地势以寻找有效支撑点,控制本体的平衡和稳定持续移动等。
图1 波士顿动力机器人产品历史线[1]
当前关于波士顿动力机器人的技术文章多停留在视频享受上,却鲜少有技术分析和复现。笔者的出发点便是为了深入学习技术,尽力解构核心技术。本文介绍较早的机器人——BigDog。 波士顿动力机器人公司研发的Big Dog以“一脚踹不倒”的视频而闻名,其开发目标是做一款世界最先进的户外应用四足机器人,提供给军方用于野外运输较大负荷的重物。2004年发布的BigDog外形[2]约1m高,1m长,0.3m宽,重90Kg,整体外观如图2所示,可以执行步行、小跑、起立、坐下等动作,具备攀爬25°& 35°斜坡的能力,能以1.8m/s的速度小跑,在岩石路上背负50Kg的负载时能以0.7m/s的速度步行,爬行的速度约为0.2 m / s,小跑的速度约为1.6 m / s(3.5 mph),奔跑的速度约为2 m / s(4.4 mph),在实验室时短暂时间内奔跑速度超过了3.1 m / s(7 mph)。
图2 Big Dog机器人[2]
大狗是由液压驱动作为动力传动系统,以A*路径规划算法作为自主导航的核心算法,配合机体集成的关节传感器、立体视觉相机、激光雷达、GPS天线等本体/环境传感器,实现复杂地形下的步态和平衡动力控制。下面从硬件结构、算法控制两方面解析这一款机器人。
二、Big Dog 机器人硬件架构
Big Dog的硬件架构主要包括机械本体结构、液压传动系统、传感器检测系统三部分。
1.机械本体结构
机械本体的各部分结构[3]示意图如图3所示,整体为四足结构,每条腿都有4个自由度(每个自由度的关节由液压执行器提供动力),分别包括一个小腿、一个动力膝关节、两个臀关节(x和y向)。液压执行器是由两级航空质量伺服阀调节的低摩擦液压缸,在每个执行器都安装有检测关节位置和力的传感器。在足端底部有力传感器,用于感知与地面接触力的大小;小腿腿部安装有弹簧,用于缓冲与地面的相互作用力,减少机身因为运动产生的颠簸。躯体部分搭载了电源、动力系统和传感系统等动力系统和核心控制部件。
图3 BigDog机器人结构[3]
2.液压传动系统
BigDog所用动力源是水冷的二冲程内燃发动机,可提供约15 hp的功率,发动机驱动液压泵,通过过滤器,歧管,蓄能器和其他管路系统向机器人的腿部执行器输送高压液压油,液压整体系统[2]如图4所示。安装在BigDog车身上的热交换器对液压油进行冷却,而散热器对发动机进行冷却以使其持续运行,在液路中还包括了检测油压、油温、流量等传感器。
图4 BigDog机器人液压系统结构图[2]
3.传感器检测系统
BigDog集成了大约50个传感器,分为本体传感器——感知身体状态(计量器、加速计、陀螺仪、油温)、环境传感器——监测环境条件(视觉、周围温度等)和身体-环境交互传感(测压元件、红外接触)等。具体地说,每条腿的足部安装有力传感器,用以感知地面接触力的大小;膝盖处安装有红外接近开关,用以检测道路遇到的障碍物;每个关节的执行器上集成有位置传感器和力传感器,用以检测关节的速度、位置、加速度等运动状态;躯干安装的惯性传感器测量身体的姿态和加速度;此外还集成了视觉相机、激光雷达、GPS天线等传感器,用以勘测周围地形环境,从而指导肢体做出相应的运动状态。机载计算机整合了来自这些传感器的信息,以估算BigDog在空间中的运动方式;其他传感器监视BigDog的液压,流量和温度,发动机转速和温度等。传感器安装示意图[5]如图5所示。
图5 BigDog传感器布局图[5]
三、机器人控制架构
机器人通过对传感器采集的信息进行处理,结合控制器内部植入的步态预设、路径规划、样条平滑等算法以控制BigDog的运动行为。控制计算机还记录了大量工程数据,以进行性能分析,故障分析和操作支持。内置的主控机执行低端和高端控制功能[3]。低级控制系统在关节处反馈位置和作用力,在腿之间分配负荷,以优化腿部关节的负荷能力。高级控制系统用以执行姿势控制算法,在响应基本姿势命令的同时协调机器人的运动学和地面反作用力,即在运动过程中调节身体的速度,姿势和高度,协调腿部的行为适应不同地形,同时还要实时调节地面相互作用力,以维持支撑、推进和牵引力。
图6 步态控制系统[3]
BigDog最早由人类操作员操控,该操作员通过操作控制单元(OCU)进行操作,OCU通过IP无线电与机器人进行通信。 操作员使用OCU提供高水平的转向和速度输入,以引导机器人按照预设的路径运动并控制行进速度。操作员可以控制机器人启动、停止、站立、蹲下、行走、小跑或慢跑等动作,而OCU的可视显示为操作员提供了操作和工程数据。 改版后用自主导航系统代替操作员。自主导航系统[4]包括硬件和软件结构,硬件装备了激光扫描、立体视觉系统、感知系统和导航算法,用以适应不同地形。如图7,图中ABCD是4个外界感知传感器,A是GPS天线,B是激光雷达C是相机D是IMU。E是本体传感器,用于检测关节部分的位置和力。
图7 自主导航系统硬件结构[4]
立体视觉系统是由一对立体摄像机,一台计算机和视觉软件组成。立体视觉系统可用于获取机器人前面的3D地形的形状,还可以查找前进的清晰路径。激光雷达用于引导机器人前进,系统控制如图8所示。
图8 立体视觉系统软件架构[4]
自动导航系统一般利用来自两个环境传感器(立体视觉和激光雷达)的数据识别障碍物,计算穿过障碍物或围绕障碍物的轨迹,并命令步态控制系统(图6)跟踪该轨迹。整个过程可以分为三个步骤。首先,对原始LIDAR扫描和相机图像进行处理,以在世界范围内生成点列表,这些点指示环境中的障碍。然后将这些点分段为不相交的对象,并随时间进行跟踪。其次,将这些对象组合到一个临时存储器中,该临时存储器用于构建机器人周围环境的成本图。然后,此成本图用于计划通往中间目标的路径,旨在确保路径使Big Dog与障碍物保持适当的距离,并确保路径在迭代过程中在空间上保持稳定机器人的路径跟踪算法会引导机器人通过发送速度命令给身体来进入规划中的路径,然后将腿部移动到指定的落地点。 导航系统的步态估计如图9所示,腿部的运动学信息提供运动学测程,立体视觉系统则跟踪视觉特征进行测程,两者都以IMU(惯性测量单元)为方向信息的来源,最后给定系统的步态姿势。雷达每隔13毫秒扫描一次,每次扫描都以机器人位置为中心同步周边环境信息,然后将生成的3D点云传递给分割算法。同样,视觉系统随时间累计视差图维持在以机器人为中心4m×4m的3D地形图内。
图9 导航系统的步态估计
由于地面的坡度和机器人身体的运动,LIDAR扫描仪数据的一部分将包括地面扫描。在外观上与地面相似的是来自较大/平整障碍物(例如墙壁)的物体。为了成功分辨这些障碍物并且导航绕开墙壁等,需要先对障碍物进行分割。LIDAR扫描仪提供的点和基于立体声的点地形图分解成不同的对象。稀疏的3D点云是通过合并单个点、随着时间变化迭代,将对象进行分辨。随着点云被分割,机器人能够适当地在中等坡度的环境中识别各种类型的变化和障碍物,包括树木、巨石、倒下的原木、墙壁等,主要确定树木和墙壁,如图10。
图10 识别的云图
将障碍点置入成本图中,执行A*路径规划算法[6]。由于传感器的限制,机器嗯的观测能力和障碍的识别能力有限,因此在每次扫描障碍时按照优化算法记忆每或删除每一次障碍点的记忆,通常需要满足:
其中,age(q)是当前时间与障碍物q最后一次被检测到的时间的差值;
是当前位置和障碍物q边界的最短距离。设置内存资源模式为
,其含义是物体检测30s之后以及距离障碍物至少15m远的点将被从成本图中删除。这种内存资源分配将导致障碍点从机器人的视觉中移除时,机器人会忘记距离远以及多次未看到的对象,从而不断更新地势图以在有限的内存空间中得到最有效的路径判断。
四、总结
本文简单介绍了波士顿动力机器人发展概况,重点阐述了BigDog的软硬件结构框架和部分技术内容。对于足式机器人而言,高性能和高可靠性的步态控制是核心内容,下一篇将以Little Dog机器人为样板,重点介绍步态算法技术。
参考文献
[1]Boston Dynamic.Product[EB/OL].https://www.bostondynamics.com/ [2]Playter, M. Buehler, M. Raibert, “BigDog,” Proc. SPIE 6230, Unmanned Systems Technology VIII, 62302O (9 May 2006); doi: 10.1117/12.684087 [3]Raibert M , Blankespoor K , Nelson G , et al. BigDog, the Rough-Terrain Quaduped Robot[J]. 2008. [4]D Wooden,M Malchano,K Blankespoor,A Howardy,AA Rizzi,M Raibert,Autonomous Navigation for BigDog, International Conference on Robotics and Automation.May 3-8, 2010. doi:10.1109/ROBOT.2010.5509226 [5]Buehler, R. Playter, and M. Raibert. Robots step outside. Int. Symp. Adaptive Motion of Animals and Machines (AMAM), Ilmenau, Germany, pages 1–4, Sep2005