基于树莓派的六足机器人的设计与实现

2022-06-21 11:28:06卢健之赵垲杰杨泽平
物联网技术 2022年6期
关键词:树莓舵机电平

卢健之,赵 奕,赵垲杰,杨泽平

(华东理工大学 信息科学与工程学院,上海 200237)

0 引 言

21世纪以来,国内外对机器人技术的发展越来越重视。机器人技术被认为是对未来新兴产业发展具有重要意义的高技术之一。机器人在医疗服务、野外勘测、深空深海探测、家庭服务和智能交通等领域都有广泛的应用前景。在这些领域,机器人需要在动态、未知、非结构化的复杂环境中完成不同类型的作业任务,这就对机器人的环境适应性、环境感知、自主控制、人机交互提出了很高的要求。

本文设计的基于树莓派控制板的六足智能机器人,通过树莓派上编写的Python代码来控制6条机械腿,可以实现前进、后退和转向的功能,搭配摄像头和OpenCV提供的人脸识别库可以实现人脸识别功能。使用Web网页设计控制页面,开启FLASK服务器后,联网设备进入设计好的控制页面即可实现机器人的腿部控制和人脸识别。

该机器人具有以下创新点:

(1)设备拓展性:机器人选用树莓派系统,在树莓派上有着多个GPIO接口,可以拓展丰富的功能。除控制机器人的移动和摄像外,可以通过添加温度传感器、甲醛探测器、红外线传感器等,采集丰富的环境信息,使机器人达到真正意义上的智能。

(2)移动方式:区别于一般的可遥控移动设备,机器人采用六足机械足移动方式。经过对移动算法和硬件的优化,机械腿移动具有传统轮子移动所不具备的优势,如灵活性强,能够适应更复杂的地形环境,能够前往更多小车所不能前往的区域等。

(3)交互方式:通过网页端与机器人交互。通过搭建FLASK网站,使在同一局域网下的所有设备都能够访问和控制六足机器人,不论在手机还是在平板电脑上,只要输入IP就能够看到监控的实时画面并控制机器人移动。我们计划在之后的研究中,将FLASK架设到远程服务器中,以突破局域网的局限性,使任意设备都能通过公网的IP地址来访问和控制六足机器人,实现真正的远程监控、远程遥控。

(4)人脸识别:与传统的监控设备不同,此智能机器人具备人脸识别功能,开启该功能后,能够对出现在画面中的任意人脸进行识别,并记录结果,真正做到自动监管。

1 系统总体架构

1.1 系统主要功能

本六足机器人主要具有以下功能:

(1)六足机械腿移动:通过6条机械腿,共18个舵机完成机器人的移动。

(2)图像实时传输:通过摄像头获取图像并实时传输到后端。

(3)人脸录入:将图像中的人脸截取下来,然后存到相应的人脸库中。

(4)人脸识别:使用根据库中人脸进行训练得到的模型,识别图像中的人脸,返回识别结果。

(5)Web交互:提供网页前端与上述功能进行交互。即在网页中控制机器人的移动,显示监控图像、人脸录入和人脸识别的结果。

技术路线如图1所示。

图1 六足机器人的技术路线

1.2 功能概述及模块设计

智能六足机器人的系统功能框架如图2所示。

图2 系统功能框架

2 系统模块设计

2.1 六足移动模块

区别于一般的可遥控移动设备,机器人采用六足移动的方式。机器人的行走靠舵机提供动力,而树莓派控制板可以通过GPIO接口实现对舵机的控制,也可以使用连接在树莓派上的PCA9685舵机控制板实现。对于单个电机而言,可直接使用树莓派提供的接口,而多个电机协同控制时,通常使用PCA9685舵机控制板,通过控制PWM脉冲宽度调制信号控制舵机角度,原理如图3所示。

图3 PCA9685原理

PWM是脉冲宽度调制的缩写,通过对一系列脉冲的宽度进行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编码,即通过调节占空比的变化来调节信号、能量等的变化。占空比是指在一个周期内,信号处于高电平的时间占据整个信号周期的百分比,例如方波的占空比为50%。

六足步行机器人的步态是多样的,其中三角步态是六足步行机器人的典型步态。“六足纲”昆虫步行时,一般不是六足同时直线前进,而是将三对足分成两组,以三角形支架结构交替前行。目前,大部分六足机器人采用了仿昆虫的结构,6条腿分布在身体两侧,身体左侧的前、后足及右侧的中足为一组,右侧的前、后足和左侧的中足为另一组,分别组成2个三角形支架,依靠大腿前后划动实现支撑和摆动过程,前驱步态图示如图4所示,旋转步态图示如图5所示。

图4 前驱步态图示

图5 旋转步态图示

2.2 图像传输模块

树莓派接通摄像头拍摄图片,将每张图片由数字转换为字节格式,通过Socket通信发往PC。PC在接收到图片信息后,把文字转换为图片格式,提供给后续程序使用。开启网站后,树莓派持续通过Socket向PC发送图片信息,而树莓派还需随时接收PC可能发送的移动方向信息,所以在树莓派的程序中使用了双线程,一边向PC发送信息,一边等待接收PC的信息。两者之间的通信均需将需要发送的信息转换成字节格式,再通过Socket通信发向对方IP。接收到信号后,系统将字节格式转换为原格式。

2.3 人脸识别和录入模块

与传统的监控设备不同,该机器人搭载了人脸识别功能,开启该功能后,能够对出现在画面中的任意人脸进行识别,并记录结果。通过该功能,能够做到真正的自动监管。人脸识别功能的数据流程如图6所示。在进行人脸识别之前,需要先通过摄像头捕获图像,将检测到的人脸注册并储存到人脸数据库中,注册完成后对库中的人脸数据进行训练并储存训练文件。开启人脸识别功能后,系统会对检测到的人脸与训练生成的模型进行比对,并返回比对结果。

图6 识别流程

人脸检测算法主要采用人脸Haar特征值算法。如图7所示,使用Haar特征模板遍历图像,并使用积分图的方法计算模板中白色矩形遍历的灰度值的和,减去黑色矩形遍历的灰度值的和,即为该人脸的Haar特征值。

图7 Haar特征值模板

人脸识别主要使用LBP算法。如图8所示的计算是在一个3×3的正方形上展开,将正方形的中心点作为基点,在附近区域找到所有像素值与其进行对比,将对比结果进行量化。接下来需要将这些量化结果进行处理,即根据不同的位置将这些值进行加权并相加,最后得到的值就是中心点局部二值模式对应的值。

图8 LBP算子

如图9所示,通过预处理将人脸图像分块,采用LBP算子提取人脸特征并生成直方图,用以描述人脸。采用局部二值模式提取人脸特征,提取的局部纹理特征十分稳定,在很多情况下都拥有不变的特性,有助于分类。

图9 提取LBP特征

3 系统实现

3.1 Web控制系统

控制网站如图10所示。网站共分成4个界面,分别是主界面、远程遥控界面、人脸识别界面和人脸录入界面。

图10 网站界面

主界面:左边部分显示摄像头的实时监控画面,右边一栏显示当前视频流的帧数、分辨率等信息。

远程遥控界面:除左边显示的摄像头画面外,右边设置了方向圆盘,通过点击圆盘上的按钮,可以控制机器人进行前进、后退、转向和初始化等动作。

人脸识别界面:进入人脸识别界面后,如果画面中未检测到人脸,网页将继续显示当前摄像头的画面;如果画面中检测到人脸,网页会显示处理后的图像,即将人脸用蓝色方框框出,并在左下角显示识别到的人脸的名称以及识别结果的置信度。检测到人脸后,点击网页右侧的信息框,信息框中也会显示人脸的名称和置信度。

人脸录入界面:使用者可以通过该界面将自己的脸录入到人脸数据库中。在右侧栏输入使用者的ID后,系统开启人脸检测,并自动捕获50张检测到的人脸图像,保存到人脸数据库中。捕获完毕后,系统会自动对人脸库中的数据进行训练,并生成训练结果文件,以待人脸识别程序调用。

3.2 系统开发平台

树莓派3B+控制板作为机器人的主控板,也是本机器人设计的核心,树莓派具有强大的性能和丰富的扩展接口,其操作系统对于一般应用的处理游刃有余,丰富的扩展I/O接口可以通过连接各传感器和舵机等硬件设备实现不同的功能。树莓派采用Python语言,其简洁性和扩展性十分适合机器人的功能实现。采用PCA9685舵机控制板通过脉冲实现对舵机的控制。

模块接口和系统间接口使用IC协议进行通信。SDA:数据线,IC协议允许在单根数据线上进行双向通信,这条线既可以发送数据,也可以接收数据。SCL:时钟线,这里所说的“时钟”的作用就是协调硬件之间的传输节奏,做到步伐一致。在IC通信中,当时钟线的电平拉高后,数据线的内容就不能改变,即SCL为高电平时,不能写数据,但可以读。当SCL下降为低电平后,才能向数据线(SDA)写入数据。

IC通信以Start信号开始,以Stop信号结束。

传送开始信号的方法:拉高SCL和SDA电平,在SCL处于高电平的情况下拉低SDA的电平。

传送结束信号的方法:拉高SCL电平,在SCL处于高电平的情况下,拉高SDA的电平。

无论是开始信号还是结束信号,SCL都处于高电平,由于时钟线拉高将固定数据线上的内容,因此在开始和结束信号中不能传输数据。在SDA上,开始信号和结束信号相反,Start时电平拉低,Stop时电平拉高。SCL接PH4,SDA接PH5,VCC接3.3 V,GND接地,V+供电,在驱动大功率舵机时可不接,但外接电源的2个端口要接正负极,否则无法供电。

PC和树莓派的系统开发平台汇总见表1、表2所列。

表1 系统开发平台——PC

表2 系统开发平台——树莓派

4 结 语

随着互联网的普及与发展,万物联网的趋势越来越明显,物联网给人们生活带来的便利也越来越多。本文设计的机器人以树莓派为中心,集行走、图像传输、人脸识别和远程遥控等功能于一体;同时,基于树莓派自身良好的拓展性,通过在机器人上连接光敏传感器、红外传感器、气敏传感器等,也能够使它成为一个多功能探测机器人。

猜你喜欢
树莓舵机电平
含齿隙弹载舵机的全局反步模糊自适应控制
自动化学报(2019年6期)2019-07-23 01:18:36
基于树莓派的骑行智能头盔设计
电子制作(2019年11期)2019-07-04 00:34:32
基于dsPIC单片机的飞艇舵机控制实现
电子制作(2018年1期)2018-04-04 01:48:14
基于树莓派的远程家居控制系统的设计
电子制作(2017年17期)2017-12-18 06:40:43
基于高速同步485总线通信的多通道舵机控制器设计
NPC五电平Z源逆变器的设计研究
响应面法优化红树莓酒发酵工艺
中国酿造(2016年12期)2016-03-01 03:08:19
基于三电平光伏并网逆变器控制系统的研究与实践
基于NPC三电平变换器的STATCOM研究
电测与仪表(2015年2期)2015-04-09 11:28:58
基于云模型的舵机同步控制