基于树莓派的HyperMind Cat智能宠物的设计与实现

期刊: 创新科技研究 DOI: PDF下载

赵峻岭 曹顺 蔡闻哲 黄勃

上海工程技术大学电子电气工程学院 上海 201620

摘要

当下四足机器人是一大研究热点,在进入21世纪之后,科技的快速发展提升了人们的生活水平,对于机器人给人们代劳的意愿也是越来越强烈。2016到2017年的AlphaGo的出现代表着人工智能的正在崛起,而这一时代是大数据的时代,又是5G即将普及的时代,计算能力将不再成为瓶颈。对于目前在不断研究的四足机器人,这个时代是其发展的肥沃土壤。在国外,波士顿动力的四足机器人早已经从Big Dog 进化到了Spot Mini,甚至实现了双足行走。本文阐述了HyperMind Cat智能宠物的设计和实现。


关键词

HMCat;人工智能;模块化设计;仿生四足机器人;计算机视觉;树莓派

正文


引言

HyperMind Cat智能宠物,为典型的四足机器人,能够进行行走、坐立、转向等动作;拥有双目摄像头,能够进行双目测距和避障;具有语音识别功能,能够识别语音转化成指令。控制芯片使用树莓派[1]4B 4GB版本,操作系统为Raspbian。同时拥有通过蓝牙的简易远程终端控制程序,可查看运行状态、更改设置等。

HMCat被定义为智能宠物的原因是能够在开发过程中能明确目标,以简单的智能宠物为目的进行开发,并结合新技术,不断完善,其应用可以远远超过本文的设想和目标。

对于下文中所有出现的HMCat皆为该设计(HyperMind Cat智能宠物)本身。

1、HMCat设计

1.1外观结构设计

使用SolidWorks[2]进行建模,以猫为原型并且对其进行修改,先去除难度较高的尾巴进行开发,HMCat关节部分使用MG90S舵机驱动,每条腿都拥有3个舵机,具有两个方向的自由度,一共4条腿,能够实现前进、后退、转弯等动作,头部拥有1个用于控制旋转的舵机。在前一个设计中,由于身体过窄、腿过长,容易倒地,而舵机力量不够驱动如此大的身体,因此在这次设计中,调整身体比例,并且缩小整个身体,减轻舵机负担。为了减轻HMCat的重量和开发难度,大部分部件以复合木板为材料,低重量、低成本、高强度、易加工,刷上漆可以实现防潮,增加耐久度,而对于个别复杂度较高的部件则使用3D打印加工。树莓派位于背部,电池位于腹部,能够在最大程度上减少这两个部件所带来的重心偏高。头部搭载两个摄像头用于进行双目测距。以此设计出的机械结构如图1所示。

1.2硬件结构设计

1.2.1树莓派

本设计是以如图2所示的Raspberry Pi 4B作为主控制器,使用4GB内存版本,其计算能力足够强大,能够进行比较复杂的运算,拥有2USB 2.0接口和2USB 3.0接口。

对于HMCat使用树莓派4B的优点:

a. 树莓派4B提供了USB串口,拥有足够的速度接收双目摄像头的图像。

b. Raspbian拥有丰富的第三方库,提高开发效率。

c. 集成度高、可扩展性强、模块种类繁多,并且操作方便。

d. 相比树莓派3B+,可以在相同的功耗下拥有更强大的计算能力。

1.2.2 PCA9685 PWM模块

HMCat搭载的13个舵机通过树莓派输出信号进入16PWM输出模块PCA9685[3]驱动。树莓派和PCA9685通过协议连接,通信大致过程如下:

1)树莓派发起通信;

2PCA9685解析信号,读取对应的PWM值和输出位;

3PCA9685 PWM值输出到相应的输出位上,并且保持信号;

4)舵机收到PWM信号,将信号转换为对应的旋转角度,并且开始动作。

1.2.3 双麦克风模块

本设计使用ReSpeaker双麦克风模块。

1.2.4 摄像头

本设计的摄像头使用基于索尼IMX291 低照度感光芯片的KS2A418摄像头模组,拥有最高分辨率1080P,同时在MJPG格式下的最高分辨率可达到60帧,传输接口为USB,可以直接连接直树莓派的USB接口上。低照度摄像头能够在照明不良的情况下仍然拥有良好的亮度。

1.2.5 供电

电能存储单元使用的是23.7V 5000mAh聚合物锂离子电池[4],如图4所示。该类型电池在如今是应用及其广泛的可充电电池,在无线耳机、手机、电脑等电子产品中都能发现其身影,拥有内阻小、能量密度高等优点,比起18650电池,聚合物锂离子电池虽电池一致性略显逊色,但由于没有金属外壳,安全性相当高,质量小且能够自定义外形。

对于HMCat,聚合物锂离子电池通过串联方式连接,两端平均输出电压达到7.4V左右,串联一个小电阻接入PCA9685给舵机供电,电池两端再经过如图5所示的DC-DC降压模块降至5V接入树莓派,其理论负载电流可达3A。双目摄像头和语音模块由树莓派的USB直接供电。而聚合物锂电池通过如图6所示的TP5100锂电池充电模块使用串联充电模式充电。图7为以上述方式进行连接的硬件关系。

1.3程序结构设计

该设计是基于Raspbian操作系统,使用NodeJS Python混合开发,可跨平台运行。控制台程序。

1.3.1 NodeJSPython

NodeJS 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。得益于其非常强大的异步非阻塞I/O特性,所有I/O操作都可以瞬间发起,并且无需等待即可往下执行。也正是由于这点,HMCat主程序选择NodeJS开发,同时其高代码容错性能够提高开发效率。

Python是一种跨平台的计算机程序设计脚本语言,其应用范围非常广泛,具有丰富强大的第三方库、高度可扩展性,且学习成本较低,是如今比较主流的编程语言之一。

NodeJS相比Python,速度快、容错性较高,但学习成本也比较高,第三方库丰富程度比Python低。因此两者混合开发,以NodeJS为主,Python为辅,能够取长补短。两者直接使用标准输入输出通信。

1.3.2 模块化编程

HMCat主程序引入模块化的概念,将不同功能的模块分别运行于不同环境,而非将所有模块都集中运行于同一脚本程序内,所以即使运行过程中出现各种各样的问题也不会干扰主程序以及其他模块正常运行,可以随时加载/卸载某一模块,能够节省更多调试时间。 控制逻辑如图8所示。

1.3.4 双目测距

本设计使用了OpenCV计算机视觉库,用于双目测距[5],图4所示为双目标定过程 

由于树莓派的计算能力有限,而双目测距又是性能消耗大户,因此选择800x600分辨率下使用速度较快的BM算法并且降低帧率。图10所示为BM算法下的测距效果。

    

1.3.5 手机APP

HMCat使用蓝牙或WIFI作为HMCat和终端的连接桥梁,使得可以通过智能手等终端更便捷地发送指令。安卓上的APP是使用Android StudioJava语言开发的一个简易小程序。HMCat上则以Python开发蓝牙服务端。

1.3.6 语音识别

为了减少树莓派运算负担,语音识别使用联网的百度语音识别 API,通过Python请求API,发送音频流,经过识别后得到返回的结果。

1.3.7 步态控制

步态控制是四足机器人运动的核心,由于其完整模型过于庞大以及复杂,该项目使用较简单的低速步态控制模型,该模型在行走时的单周期腿部控制顺序如图11所示。

12所示分别为步行时、左转向过程中对于四肢的控制流程。“左前2上抬”中“左前”对应HMCat左前肢,“2”对应肢体上从下往上数第二个舵机,“上抬”为大致动作,动作幅度视实际情况而定。

 

2、HMCat展望

就目前的供电而言,我们无法做到类似于生物一样,整个身体就是一大块高能量密度的电池,如果未来能够提高电池的储能密度,续航时间能够大幅度提高,能够实现更长时间的复杂应用,例如:快递送货上楼、高强度的搜救活动等。

2013年到2014年是由3G过渡到4G的时代,在此之前,人们对4G的相比较于的3G的应用的提升、解决3G网存在的技术缺陷讨论水深火热,也有人已经预言4G业务的智能化促进物联网的发展[9],如今当我们正站在4G5G的跳跃点上,同样地,当时的我们被现在4G的发展和应用所惊艳的感觉也会出现在5G的发展和应用上,届时四足机器人将会和5G网络接轨,成为5G + 云计算四足机器人”,高带宽、低延迟、大连接数、强移动性提升意味着我们可以通过机器人发送数据到云服务器进行计算,再回传至机器人,这是4G时代的梦想,将会在5G时代实现。对于HMCat而言,其本身就是一个带AI功能的人机交互接口,若使其作为物联网的交互接口,将会是一组优秀的搭配。除此之外,在医学领域,HMCat可以携带仪器,在地震救援中具有一定优势;在快递行业,能够担任分拣工作,降低分拣员的劳动强度等。在教育事业中,可以孩子成长的好伙伴。

参考文献:

[1] 柯博文. 树莓派(Raspberry Pi)实战指南[M].北京:清华大学出版, 2015:142,175

[2]李一帆.匠心设计 创新智造——达索系统推出SOLIDWORKS 2019[J].金属加工(冷加工),2018(12):25.

[3]李强, 霍淑珍, 郑伟. 基于I2C通信的PCA9685在舵机控制 中的应用[J]. 科技创新与应用, 2018(28): 173-174.

[4] 钱伯章.聚合物锂离子电池发展现状与展望[J].国外塑料,2010,28(12):44-47.

[5]王江波,常璐瑶,杨昆,李建源,朱梦涵.基于树莓派的双目测距技术研究[J].仪表技术,2020(03):36-39.

[6]姚若辉.中国移动4G技术的未来发展趋势展望[J].科技展望,2015(4).


...


阅读全文