四足机器人关键技术

1 舵机的分类

   器人的举手、抬腿是通过什么控制的?是舵机!舵机是位置(角度)伺服驱动器,适用于需要角度不断变化并可以保持的控制系统 [ 1 ] ^{[1]} [1]。从结构来看,舵机包括一个小型直流电机,加上传感器、控制芯片、减速齿轮组,装进一体化外壳。能够通过输入信号控制旋转角度 [ 2 ] ^{[2]} [2]
   根据舵机使用的电机不同,可以分为有刷舵机和无刷舵机;根据控制电路不同,可以分为模拟舵机和数字舵机。

1.1有刷舵机与无刷加粗样式舵机的区别 [ 3 ] ^{[3]} [3]

   1)电机有刷舵机使用有刷电机;无刷舵机使用无刷电机。
   2)工作原理有刷舵机换向器和线圈为转子,磁钢和碳刷为定子;无刷舵机定子为线圈绕组,转子为用此刚体。
   3)使用寿命有刷舵机易磨损、发热量大、热效率不高、需要经常更换碳刷;无刷舵机使用寿命长、热效率高。
   4)控制电路有刷舵机控制电路简单、器件少;无刷舵机控制电路体积大、重量重。

1.2模拟舵机与数字舵机的区别 [ 4 ] ^{[4]} [4]

   数字舵机(Digital Servo)和模拟舵机(Analog Servo)的机械结构相同,都是由马达、减速齿轮、控制电路等组成。二者的最大区别则体现在控制电路上。
   1)微控制器模拟舵机控制电路中无MCU微控制器;数字舵机控制电路中有MCU微控制器。
   2)控制电路原理模拟舵机由功率运算放大器等接成惠斯登电桥,根据接收到模拟电压控制指令和机械连动位置传感器(电位器)反馈电压之间比较产生的差分电压,驱动直流电机伺服电机正/反运转到指定位置;数字舵机由直流伺服电机、直流伺服电机控制器集成电路(IC),减速齿轮组和反馈电位器组成,它由直流伺服电机控制芯片直接接收PWM(Pulse Width Modulation)形式的控制驱动信号,迅速驱动电机执行位置输出,直至直流伺服电机控制芯片检测到位置输出连动电位器送来的反馈电压与PWM控制驱动信号的平均有效电压相等,停止电机,完成位置输出。
   3)功能与模拟舵机相比,数字舵机反应速度更快,无反应区范围小,定位精度高,抗干扰能力强。

2 IIC协议及PCA9685舵机控制

2.1 IIC总线协议

2.1.1 IIC总线结构

   I 2 ^{2} 2C总线由Philips公司开发的,是一种简单的双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
   I 2 ^2 2C总线由两根数据传输线及上拉电阻构成,数据传输线分别为串行时钟线(SCL)和串行数据线(SDA)。通过对SCL和SDA线高低电平时序的控制,产生I 2 ^2 2C总线协议所需要的信号进行数据的传递。在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平 [ 5 ] ^{[5]} [5]
   I 2 ^2 2C通信方式为半双工,因为只有一根SDA线,同一时间只可以单向通信。I 2 ^2 2C总线上的主设备与从设备之间以字节(8位)为单位进行双向的数据传输。
四足机器人关键技术_第1张图片

2.1.2 IIC总线特征

   I 2 ^2 2C总线上的每一个设备都可以作为主设备或者从设备,而且每一个设备都会对应一个唯一的地址,主从设备之间通过这个地址来确定与哪个器件进行通信。通常把CPU带I2C总线接口的模块作为主设备,把挂接在总线上的其他设备都作为从设备。
   I 2 ^2 2C总线上可挂接的设备数量受总线的最大电容400pF限制,如果所挂接的是相同型号的器件,还受器件地址位的限制。
   I 2 ^2 2C总线数据传输速率在标准模式下可达100kbit/s,快速模式下可达400kbit/s,高速模式下可达3.4Mbit/s。一般通过I2C总线接口可编程时钟来实现传输速率的调整,同时也跟所接的上拉电阻的阻值有关。
   I 2 ^2 2C总线上的主设备与从设备之间以字节(8位)为单位进行双向的数据传输。

2.1.3 IIC总线协议

1)起始和结束信号

   I 2 ^2 2C协议规定,总线上数据的传输必须以一个起始信号作为开始条件,以一个结束信号作为传输的停止条件。起始和结束信号总是由主设备产生。
   起始和结束信号产生条件:总线在空闲状态时,SCL和SDA都保持着高电平,当SCL为高电平而SDA由高到低的跳变,表示产生一个起始条件;当SCL为高而SDA由低到高的跳变,表示产生一个停止条件。
在这里插入图片描述

2)数据传输

   数据传输以字节为单位。主设备在SCL线上产生每个时钟脉冲的过程中将在SDA线上传输一个数据位,当一个字节按数据位从高位到低位的顺序传输完后,紧接着从设备将拉低SDA线,回传给主设备一个应答位,此时才认为一个字节真正的被传输完成。
在这里插入图片描述

3)地址指定

   I 2 ^2 2C总线上的每一个设备都对应一个唯一的地址,主从设备之间的数据传输是建立在地址基础上的。主设备在传输有效数据之前要先指定从设备的地址,地址指定的过程和数据传输的过程一样。大多数从设备的地址是7位的,协议规定再给地址添加一个最低位用来表示数据传输的方向,0表示主设备向从设备写数据,1表示主设备向从设备读数据。
在这里插入图片描述

2.1.4 IIC总线操作

   对I 2 ^2 2C总线的操作实际就是主从设备之间的读写操作。大致可分为以下三种操作情况:

1)主设备往从设备中写数据

   数据传输格式如下:(数据包括从机寄存器地址和需要写入寄存器的数据data)
在这里插入图片描述
   (1)主机发起开始信号;
   (2)主机发送I2C地址(7位)和写操作0(1位),等待确认;
   (3)从机发送确认;
   (4)主机发送寄存器地址(8位),等待确认;
   (5)从机发送确认;
   (6)主机发送数据(8位),即要向寄存器中写入的数据,等待确认;从机发送确认;
   (7)主机发起停止。

2)主设备从从设备中读数据

   (1)主机发送I2C地址(7位)和写操作0(1位),等待确认;
   (2)从机发送确认;主机发送寄存器地址(8位),等待确认;
   (3)主机发送开始;主机发送I2C地址(7位)和读操作(1位),等待确认;
   (4)从机发送确认;从机发送数据(8位)。
   (5)主机发送确认。

3)主设备连续往从设备读写

   主设备往从设备中写数据,然后重启起始条件,紧接着从从设备中读取数据;或者是主设备从从设备中读数据,然后重启起始条件,紧接着主设备往从设备中写数据。这种操作在单个主设备系统中,重复的开启起始条件机制要比用STOP终止传输后又再次开启总线更有效率。
在这里插入图片描述
   I 2 ^2 2C总线通信只需SCL和SDA两根线,即可供多个外设并联使用,通过每个外设的I 2 ^2 2C地址区分开来。从机的I 2 ^2 2C地址最低位代表读(1)或写(0)操作。

2.2 PCA9685舵机控制

2.2.1 PCA9685的特点

   PCA9685是一款基于I2C总线控制的16路LED背光调节控制芯片。每一路LED输出端均可自由调节PWM波的频率(40~ 1000Hz)和占空比(0%~ 100%)。通过输出不同占空比的PWM脉冲信号来控制舵机转动的角度,主要特点为 [ 7 ] ^{[7]} [7]
   (1)PCA9685可编程调节16路PMW脉冲的占空比以及高电平到来的时刻,分辨率为12位(4096)。
   (2)在快速模式下I2C总线的速率可以达到1MHz,SDA端口30mA的驱动能力可以在高总线负荷上使用。
   (3)PWM脉冲输出频率范围为40~1000Hz,内置的25MHz振荡器和外部时钟可以选择使用。
   (4)硬件地址被设计为6位,这样在同一个I2C总线上可以连接62个同一芯片;每个芯片有4个基于I2C总线的软件可编程地址,并且任一芯片可以被同时或单独寻址。
   (5)电压工作范围为2.3~ 5.5V,使用温度为-40℃~ +85℃。

2.2.2 PCA9685对舵机的控制

   PCA9685与舵机连接需要三根线:电源线、控制线和地线,其中控制线是PWM脉冲的输出端,电源线和地线为舵机内部的直流电机供电。舵机转动的角度和控制线PWM脉冲的宽度(占空比)成正比。1ms对应0°,2ms对应180°,脉宽在1~ 2ms之间变化时,舵机角度从0°~ 180°线性增长。因此,要实现对舵机的控制,需要在PCA9685正确的地址设工作模式、PWM脉冲的频率及占空比。
   (1)芯片访问地址的确认。PCA9685的访问地址由芯片的6位硬件地址引脚连接电平决定,最高位为1不变,最低位用于区分I 2 ^2 2C通信的读写模式,主控芯片通过该地址向PCA9685的不同寄存器写入不同数据,就可以控制PCA9685向舵机发送想要的PWM脉冲。
   (2)PMW脉冲频率的设置。PCA9685脉冲输出频率的范围为40~1000Hz,一般舵机控制需要的频率为50Hz。计算公式为:
prescale = round(osc_clock/(4096 × \times ×update_rate))-1
   其中prescal为向频率设定寄存器(地址为0XFEH)中写入的值,osc_clock为主控芯片的时钟信号25MHz,update_rate为期望得到的PWM脉冲频率,这里为50Hz。
   (3)脉冲宽度的设置。PCA9685的任一通道均有4个寄存器用于设置12位计数器来实现脉宽调节,分别用于控制高电平开始到结束的时刻,一般将LEDn_ON设置为0,如果脉宽为duty,则LEDn_OFF的计算公式为:
LEDn_OFF = duty/(1000000/(4096 × \times ×update_rate))

2.2.3 PCA9685控制多个舵机

   由于PCA9685的硬件地址被设计为6位,在同一个I 2 ^2 2C总线上可以连接62个同一芯片;每个芯片有4个基于I 2 ^2 2C总线的软件可编程地址,并且任一芯片可以被同时或单独寻址。
   PCA9685的访问地址由芯片的6位硬件地址引脚连接电平决定,最高位为1不变,最低位用于区分I 2 ^2 2C通信的读写模式,主控芯片通过该地址向PCA9685的不同寄存器写入不同数据,就可以控制PCA9685向不同的舵机发送想要的PWM脉冲,实现PCA9685对多个舵机的控制。

3 三点疑惑建议

   (1)四足机器人mini化设计重点需要考虑哪些因素,为什么?
   (2)3D打印如何选择材料以获得最佳性价比?
   (3)机器人跳跃、姿态平衡控制程序考虑的关键问题是什么?

4 常见四足机器人的特点

4.1波士顿动力Spot mini [ 8 ] ^{[8]} [8]

   SpotMini机器人共出现了四款。第一款SpotMini机器人没有头上的机械臂,也没有激光雷达。但是却完成了出门的动作;第二款SpotMini机器人有钻洞行为,在第一款SpotMini机器人的基础上加上了激光雷达;第三款SpotMini机器人能完成大部分任务,身体是钢铁结构,带有机械臂,带有视觉系统;第四款SpotMini机器人像是第二款的升级版,外部形态上通体白色的设计显得很高雅。下面以第三款为例分析。
   SpotMini是Spot机器人的新型且更加小型的机器人版本,加上机器臂是29.5千克,而且防水。一次充电可以跑90分钟,而且这个时间会随着完成不同的任务而有所浮动。因为SpotMini是全部电动的,没有任何液压系统在身体上,所以是波士顿动力机器人里面最安静的机器人之一,但是电动也意味着SpotMini的负重能力并不强。
它的身体上安装了大量的传感器,例如深度摄像机、姿态传感器、以及肢部的本体感受传感器。这些传感器可以帮助SpotMini完成各项复杂的动作以及巡航。这款机器人是可以自主地完成一些任务,但是很多时候需要人的协助来完成一些高难度的引导工作。
   机械臂也是SpotMini的一大亮点。SpotMini的机械臂小巧轻便,它的主要任务就是抓杯子,扔垃圾,帮主人拿饮料顺便卖萌欺负下主人什么的,或者摔倒之后辅助站立。机械臂的造型设计成蛇头的形状,具有超强的稳定性,不管SpotMini身体怎么运动,机械臂末端都保持相对稳定。
对于视觉系统,SpotMini机器人可能使用了三个视觉传感器。头部使用了MultiSense S7传感器进行前视,MultiSense SL传感器是一种三模态(激光、三维立体、视频)、高分辨率、高数据传输率、高精度的三维测距传感器。该传感器是适合使用在各种各样的机器人,自动化和传感应用,如自主车辆,三维映射和工作区的理解。MultiSense SL传感器封装在一个坚固的,紧凑的盒子里,采用低功耗的FPGA处理器,并预编程了因子校正。
   尾部采用了Velodyne VLP-16传感器,它保留了Velodyne在激光雷达领域突破的主要特点:实时、360°、3D远程以及反射率的校准测量。
   机器臂张开夹器的时候,里面是有摄像头的,而且可能这个摄像头也是完成抓取玻璃杯的主要传感器。

4.2 MIT 猎豹MIT

   猎豹机器人第1代能自主跨越障碍物、实现每小时30英里的高速奔跑。它的体型更大,但奔跑速度和跨越障碍物的能力很出色。
   MIT最新研发的第三代猎豹机器人,是重约90磅的四足机器人,体型大约有一只成年拉布拉多犬大小。它不依靠视觉和任何外部传感器,全凭控制算法,能够漂亮地纵身飞跃上桌,还能轻松爬上满是障碍物的楼梯,在突然被猛推或猛拉时迅速恢复平衡。猎豹3被设计来执行各种各样的任务,比如电站检查等。这些任务涉及各种地形条件,包括楼梯、路缘和布满障碍物的地面。通过远程控制机器人,可以更安全地完成危险、肮脏和困难的工作。
   猎豹3采用的是腿式,而不是轮子,能更好地在崎岖地形行走,它的稳定性十分可靠,甚至能依靠三只腿保持平衡。
   它不需依赖摄像头或任何外部传感器就能完成所有任务。它能灵活地“感觉”周围的环境,称为“盲眼运动”(blind locomotion),就像人能穿过黑漆漆的房间一样。机器人能够处理各种意想不到的行为,而不用依赖视觉。因为视觉可能会有噪音,会有些不准确,有时甚至完全不可用。如果太过依赖视觉,机器人必须非常精确地定位,导致行动很慢。机器人更多地依赖触觉信息。可以在快速移动的同时处理意外的障碍。
   猎豹3能够爬上楼梯,穿过崎岖不平的地形,在遇到意想不到的外力时能够迅速恢复平衡,这都要归功于两种新算法:接触检测算法和模型预测控制算法。
   接触检测算法:帮助机器人确定在腿的摆动踩地之间转换的最佳时间点,它要对每只腿连续地计算三种可能性:腿与地面接触的概率,腿撞到地面并产生力的概率,以及腿在中间发生摆动的概率。该算法基于来自陀螺仪、加速度计和腿部关节位置的数据来计算这些概率,这些数据记录了腿部相对于地面的角度和高度。例如,如果机器人意外地踩到一块木头上,它的身体会突然倾斜,从而改变了机器人相对于地面的角度和高度。这些数据会立即被用于计算每只腿的上述三个概率,算法将结合估计每条腿是否应该向下压地,还是应该抬起来并分开以保持平衡。
   模型预测算法:任你怎么踹怎么踢都不倒。猎豹3的这种无需视力的运动能力也部分归功于模型预测控制算法,该算法可以预测某条腿在踏出一步后应该施加多大的力。当任何一只腿接触到地面并施加了特定大小的力,模型预测控制算法会马上计算在未来的半秒内机器人的身体和腿应该处于什么位置。该算法被设计成每50毫秒对每条腿进行一次计算(或每秒计算20次)。在实验中,研究人员在机器人在跑步机上小跑时用脚踢和用力拉扯,并在它爬上满是障碍物的楼梯时用皮带猛拽。他们发现,模型预测算法使机器人能够快速产生反作用力,以恢复平衡并继续前进,而不会朝相反的方向摔倒。该团队已经为机器人添加了摄像头,以便为机器人提供周围环境的视觉反馈。这将有助于机器人绘制大环境的地图,并使机器人在面对较大的障碍物,例如门和墙时先在视觉上检测到。
   该团队已经为机器人添加了摄像头,以便为机器人提供周围环境的视觉反馈。这将有助于机器人绘制大环境的地图,并使机器人在面对较大的障碍物,例如门和墙时先在视觉上检测到。但目前,研究团队正在努力进一步改进机器人的无视觉移动能力。
   这项研究部分得到了Naver,丰田研究所,富士康和空军科学研究办公室的支持。

4.3 宇树科技 [ 9 ] ^{[9]} [9]

   宇树科技发布了四足机器人“莱卡狗”,8辆“莱卡狗”合力竟然拖动了一辆载人面包车,一只狗可以拉5个人。“莱卡狗”可能应用于包括安全巡逻、危险环境检查、搜索和救援或交付等领域,将其命名为Laikago旨在向第一个上太空的俄罗斯流浪狗“莱卡”(Laika)致敬。
   “莱卡狗”运动时机身3轴力控制,使得正向最大拉力达到25N,这个数据还可以通过编程提升。“莱卡狗”能在草地、上下坡度20度左右的草坡、松软小石块地形进行自适应行走,行走时可以控制机器人前后、左右、上下运动,以及偏航角、俯仰角、横滚角等,运动过程中也能保持很高的稳定性。另外,可以根据“莱卡狗”12个关节的输入力矩实现“莱卡狗”对外力的跟随。
   站立时“莱卡狗”高0.6米、长0.56米、宽0.35米,重25kg,额定负载能力约为5~12kg,50.4V/13,000mAh的锂电池组一次充电后可使用4小时。“莱卡狗”还具备非常强劲的动力系统,总瞬时最大功率可达18KW,功率质量密度为0.8KW/kg(起跑时为0.45KW/kg)。

4.4 蔚蓝公司 [ 10 ] ^{[10]} [10]

   蔚蓝发布的第一款四足机器人形态的个人机器人是阿尔法机器狗AlphaDog。该量产四足机器人行走速度超过3米/秒,可见其运动控制技术之强,同时也是世界上第一个定位为通用型四足形态的个人机器人产品。
   2020年初,蔚蓝再次带来升级版产品——阿尔法机器狗C系列和E系列。
   阿尔法机器狗采用先进的软硬件技术架构、机械设计、智能算法和运动控制算法。同时,蔚蓝采用了开放的业界标准,使得阿尔法机器狗能够无缝集成和连接各类其他先进技术。阿尔法机器狗是一款能够开发各类应用的高性能机器人移动平台。
   阿尔法机器狗能够奔跑、跳跃、腾空、落地、举物、搬运、拉车等。通过集成人工智能、物联网、5G、虚拟现实/增强现实、智能驾驶、群体智能等技术,阿尔法机器狗可以帮助守护家人。如帮助守护个人财产、为盲人导航、在公园或小区里进行治安巡逻、将快递或外卖直接送到家门口、在工厂或危险场景下进行设备检查工作、甚至进行人道主义挽救生命。
   阿尔法机器狗设计采用计算机开放架构,可以进行各种应用的开发,实现想象力。

参考文献

[1]https://baike.baidu.com/item/舵机/2382414?fr=aladdin
[2]https://www.zhihu.com/question/357818544/answer/953562113
[3]http://www.xjishu.com/zhuanli/60/201621472040.html
[4]https://blog.csdn.net/weixin_42562514/article/details/89435815
[5]https://www.cnblogs.com/aaronLinux/p/6218660.html
[6]http://www.lunwenstudy.com/htgongcheng/134586.html
[7]http://www.lunwenstudy.com/htgongcheng/134586.html [8]https://blog.csdn.net/qq_25241325/article/details/80898991
[9]http://www.elecfans.com/d/1050688.html
[10]https://www.gg-robot.com/art-68640.html

你可能感兴趣的:(四足机器人)