小型类人足球机器人硬件平台设计与实现
2020-12-25张重阳王君王子润金健燕必希
张重阳 王君 王子润 金健 燕必希
(北京信息科技大学仪器科学与光电工程学院,北京,100192)
0 引言
RoboCup 是1993 年由日本研究人员最先组织的机器人足球比赛,目的是通过研究使机器人参与到足球运动中,进而推动科学技术的发展。目前国内有十余个高校参与到此项目中。北京信息科技大学笔者所在的比赛队伍一直使用tiny210 为核心板,目前已经无法搭载更先进的视觉识别算法和定位算法,因此本文针对类人足球机器人的核心板运算能力不足的问题,对机器人硬件平台进行选型及设计。
目前国内类人足球机器人更多使用Nao、darwin 等国外公司生产的标准平台。由于规则[1]限制,标准平台机器人无法参加RoboCup 类人组的比赛,因此要参加类人组比赛,需要自行设计机器人的结构及硬件品台。
当前类人足球机器人硬件平台存在的主要问题为:机器人系统安装维护难度较大;性能无法满足识别定位等算法;控制板设计外设接口复杂,工作不稳定等。因此,本文提出了一种更适用于当前规则的类人机器人硬件平台的设计,将高性能处理单元作为类人机器人的硬件核心,提高了机器人的硬件处理能力,使之可搭载更先进的视觉识别算法和定位算法[2],并且根据新的核心板对控制板进行了设计,有效减小了硬件平台的体积和成本,同时显著提升了机器人在Robocup 机器人世界杯比赛中的竞争力。
1 类人机器人硬件平台总体框架
小型类人足球机器人的硬件平台主要包含核心板和控制板,核心板的主要功能为搭载机器人的识别、定位导航及决策的算法;控制板的主要功能为接收核心板发出的指令控制机器人的运动。对此,选用性能合适、性价比更高的硬件平台是进行整体硬件设计的前提。
为了便于进行开发及维护,本设计将机器人硬件平台分为核心板及控制板两部分。机器人的运动模块由20 个dynamixel 舵机组成。核心板搭载在ROS 框架下的软件部分,主要包含视觉模块、定位模块,决策模块等部分,分别实现机器人对目标的识别、自定位及目标定位和场上动作决策功能;同时向控制板发送控制指令。控制板搭载机器人特殊步态及全向运动步态,实现机器人对运动模块的控制,使机器人可以在场上完成行走、踢球等动作;同时,控制板集成机器人所需IMU 传感器,该传感器可以实时采集机器人位姿信息及运动信息,控制板可以将传感器采集的数据发送到核心板进行数据处理。
硬件平台设计需要较高的稳定性和可靠性,以保证机器人在不断电情况下可以连续运行,在调试时尽可能避免故障出现。硬件平台框架如图1 所示。
图1 硬件平台框架
2 机器人硬件平台设计实现
2.1 核心板选型
类人足球机器人是一个综合性强、多任务、高计算量的机器人平台,需要拥有在场上进行实时目标识别、定位的能力,并在此基础上进行机器人导航及路径规划,最后通过相应轨迹及运动学姿态计算实现对机器人的控制。因此,需要选用一块高性能的核心板作为机器人的“大脑”。
目前主流高性能嵌入式开发板有树莓派4、Firefly-RK3399、Nvidia-Jetson-TX2、Intel-NUC 等型号,这几款开发板均可进行高速度图形计算。
树莓派4 拥有1.5GHz 的64 位Cortex-A72 处理器,最高8GB 的LPDDR4 RAM,同时拥有板载USB、蓝牙及Wi-Fi 接口和一个40 个引脚的包含UART、IIC 等接口的排针。RK3399 拥有双核CortexA72+四核CortexA53的CPU 和最高4GB 的内存,同时搭载了一个四核ARM Mali-T860GPU,且内置低功耗MCU 及相应接口,也拥有USB、蓝牙和Wi-Fi 接口。Nvidia-Jetson-TX2 拥有双核ARM-A57、双核Denver 处理器和一个拥有256 个核心的GPU,使用小型开发板后可以拥有多种IO 接口及USB、Wi-Fi 接口,可以实现对高精度移动平台的控制。Intel-NUC 是一款x86 架构的主板,拥有i7 处理器及多种外设接口,但是其19V 供电65W 功耗不利于在小型类人机器人平台使用。
在对以上开发板进行实验时,笔者发现,Intel-NUC功耗过高,无法满足机器人运行的续航;树莓派4 在同时进行深度学习、定位导航及决策时,无法满足实时性;Firefly-RK3399 由于尺寸偏大,不符合机器人结构设计要求。因此选用尺寸小、性能强的Nvidia-Jetson-TX2 开发板作为机器人的核心板。
2.2 控制板设计
根据上述的设计分析,笔者需要设计基于Nvidia-Jetson-TX2(以下简称TX2)的控制电路。根据图1 所示硬件平台框架图,控制板需要在接收到核心板发出的决策信息后控制机器人的运动模块,使机器人做出相应动作;同时需要接收IMU 传感器的数据并发送到核心板。
笔者选用LPC1768 作为控制板的MCU,其本身包含512KB 的flash 存储器、64KB 的数据存储器、以太网MAC、USB 主机/从机/OTG 接口、8 通道DMA 控制器、4 个UART 等接口。
LPC1768 微控制器及外围电路设计包含:
1)复位和时钟电路;
2)存储器接口电路;
3)信号传输电路。
锁向环电压为3.3V,晶振频率为12MHz。复位电路采用复位按钮,当按键按下时,LPC1768 的复位引脚接地,系统实现复位。
在系统运行时,可能会出现被干扰或死机现象,因此加入复位按钮可以快速解决问题。使用AT45DB161D作为闪存芯片以保存机器人相关的步态信息,该模块与LPC1768 使用SPI 协议通信。
使用JY901IMU 模块为机器人提供运动信息,JY901与LPC1768 的通信采用FT232RL 芯片,实现TTL 转USB达到LPC1768 对IMU 的读写目的。LPC1768 采用RS485通信协议与舵机进行数据交换,达到控制舵机旋转及读取舵机旋转量的目的。使用P0[7]、P0[8]引脚控制RS485的收发使能信号,RXD3、TXD3 作为RS485 的数据收发引脚。
LPC1768 引脚资源分配如表1 所示。
表1 LPC1768 引脚资源分配
由于机器人要求在比赛过程中不可外接电源线,需要使用电池进行供电,对此要设计电源模块电路,以保证控制板、核心板的工作以及舵机的工作。笔者使用两个MOSFET 和两个开关分别作为机器人硬件平台和舵机的电源开关。如图2 所示为机器人电源开关设计。
图2 机器人电源开关设计
当机器人只进行软件调试时可以只打开硬件平台开关,在控制失当导致机器人步态扭曲时可以只关闭舵机开关,起到方便调试和保护机器人的作用。
机器人使用Dynamixel 舵机,其输入电压为10V-15V直流电源,控制板及核心板VCC 为+5V 直流电源,因此选用14.8V、10A 电池对系统供电。使用TPS5450 实现14.8V 转5V 和14.8V 转14VDC-DC。如图3 所示为电源转换电路。
图3 电源转换电路
图3 上侧VIN1 对应 图2 中VIN1,经 过TPS5450 实现14.8V 转5V 用于对控制板和核心板的供电。图3 下侧VIN2 对 应 图2 中VIN2,经过TPS5450 实 现14.8V 转10V-14V,此处可以通过调节滑动变阻器R11 进行控制。
3 硬件平台验证实验
使用类人足球机器人WALL.E 作为硬件平台的验证工具(图4)验证控制板(图5)是否满足设计需求,通过实验分析,验证了本文设计的类人足球机器人硬件平台的有效性和可靠性。
图4 机器人WALL.E
图5 控制板样板
1)验证硬件平台在搭载Yolov3 进行目标检测时的实时性是否满足机器人在实际应用中的需要。结果表明,机器人可以运行深度学习正常识别到目标,帧率保持在16fps 左右,满足机器人运行软件时的要求。图6 为硬件平台运行Yolov3 对足球和机器人进行识别。
图6 平台对机器人和球的识别
2)使机器人连续运行60min,记录机器人每次运行时发生故障时运行的时长,若在60min 内没有发生故障则不记录异常停止运行。笔者连续进行了10 次试验,数据显示由于硬件故障引起的机器人异常停止运行为0 次。此证明硬件平台在运行时满足设计可靠性要求。表2 为部分测试记录数据。
表2 硬件平台测试数据记录
实验证明,该硬件平台性能和可靠性满足比赛需求及设计需求。同时,这套硬件平台随队伍参加2019 年RoboCup 全国机器人挑战赛类人组技术挑战赛项目和4v4项目,分别取得冠军和季军的成绩。
4 总结及展望
本文论述了一种基于TX2 的机器人硬件平台设计,通过最终的实验结果证明,机器人整体性可以满足比赛及调试需要,核心板和控制板可以有效地对机器人进行控制。未来在新的硬件平台上,本设计亦可以实现更加先进的识别、定位导航算法。