• 收藏
  • 加入书签
添加成功
收藏成功
分享

基于ESP32的仿生导盲犬运动控制研究与实现

陈晓东 黄家晖 刘智睿 彭泽霖 李卓涛 袁知琪
  
安防科技
2021年15期
广州南方学院 广东省 广州市 510970

打开文本图片集

摘要:即今为止,全世界约有三千九百万盲人,两亿四千六百万人患有弱视,然而全球范围内合格的导盲犬数目远少于需求量。并且一只导盲犬的训练成本高达十三万至二十万人民币,训练周期长达十八个月,而工作寿命仅有八至十年。并且很多公共场合依然禁止导盲犬的进入,这也为盲人的生活带来的很大的困扰。这种导盲犬训练成本很高并且训练困难,为此我们设想制作一款既廉价又方便的仿生导盲犬,以此技术服务为盲人带来便利。本产品设计结构简单,初步系统设计与实现均采用器件为市场上常见器件,且价格较便宜,综合运用电路、电子技术、单片机、传感器等相关技术来完成,利用摄像头探测路障信息,通过反馈信息让ESP32等嵌入式设备产生相应控制信号,并控制仿生导盲犬做出相应的动作。

关键词:仿生导盲犬;ESP32;摄像头;探测路障,opencv算法;

1,绪论

该导盲犬能够探测前方障碍物和较深的坑并发出警报,盲人通过语音播报的转向判别行走方向,此系统待调试完成后可在家庭以及常规公共场合区域内使用。同时,为跟随十四五规划中的全面推进实现电气自动化智能制造和机器人技术思想路线,并且,国内对四足机器人的研究因起步晚、基础弱、水平低,特别是在系统理念、关键器件、基础术等方面存在较大差距等原因,在四足机器人的行进速度、负载能力等硬性指标上以及针对地形和扰动的自适应控制技术方面均和国外研究水平相差甚远,需要奋起直追,迎头赶上。

为了探究机器狗的民用化研究,研制出一款导盲犬的代替品“电子导盲犬”,利用可编辑控制器做出机器人的主控板,跟随互联网的潮流,利用传感器模块来实现导盲犬应有的功能,协同发展“云服务”与计算机边缘计算服务、医疗物联网和家居物联网。

2,仿生导盲犬整体结构设计

目前城市上的盲道或者正常道路上,识别物品较为复杂,就以ESP32来处理的话处理不来,所以本系统采用上位机和下位机的系统来控制仿生导盲犬的运动平衡及完成导盲犬应该完成的职责(引导盲人远离危险地带)。

机械运动部分结构采用12自由度的串联腿结构,来模拟生物犬的运动姿态,来更好的适应道路上的多元化道路元素。一条运动腿部上布置三个舵机,为了更好的做出生物犬上的动作。

舵机部分采用银燕es08mall舵机,最大输出1.8kg的扭矩,反应灵敏,耐用。不会像mg90s舵机一样,因为长期负载运行而过热,导致烧毁,反应也比mg90s舵机敏捷,能够更好的实现运动学的逆解,能够更好的让机械狗保持良好的运动姿态。

如图一实物串联腿所示,soilwork工程项目模型。

所以整一个运动结构舵机分成控制大腿和小腿的运动姿态,每一个条机械腿由三个舵机控制。小狗向前进的步态先按次迈出前腿的腿1和腿2,再迈出后腿的腿3和腿4,每一次迈出的步伐都要反馈当前舵机的编码器的信息,记录pwm脉冲的输出,以调节小狗的重心姿态。

3,仿生四足机器人的硬件设计

3.1主控MUU部分

本系统采用ESP32WIFI单片机模块来作为下位机的控制器,来控制舵机机械腿的运动姿态,该控制器具有集成了天线开关、射频 balun、功率放大器、低噪放大器、过滤器和电源管理模块,2.4 GHz Wi-Fi 加蓝牙双模芯片采用 TSMC 低功耗40nm 技术,功耗性能和射频性能最佳,安全可靠,方便扩展与树莓派4b应用opencv算法。本接着前期开发的项目用上了esp32作为控制用的mcu,本项目在原有的基础上强化的图像识别功能,减少本项目的工作量,故而继续采用esp32作为下位机的控制方案。框架如图2所示。

3.2舵机控制部分

舵机控制方案采用了pca9685舵机扩展板,本文设计的机器人中,十二自由度的仿生机器人需要控制八个舵机,势必会占用不少的主机资源,而且esp32的PWM输出通道不足以供应。所以本文选择采用pca9685这款舵机扩展板,pca9685这款是一款基于IIC总线通信的12位精度16通道pwm波输出的芯片,可用于控制舵机,只需要两根i2c线就可以控制十六路pwm,占空比和和周期都可控。该模块还可以利用单独输入的电源为舵机供电,所以有较大的舵机驱动能力。综上所述,本文采用pca9685模块作为仿生机器人上面的舵机驱动模块。

3.3姿态采集传感器部分

姿态传感器方案采用了mpu6050六轴陀螺仪,这是一款集成了3轴MEMS陀螺仪,3轴MEMS加速度计,以及一个可扩展的数字运动处理器 DMP,可用I2C接口连接一个第三方的数字传感器,比如磁力计。扩展之后就可以通过其 I2C或SPI接口输出一个9轴的信号。用来检测小狗的的姿态角度的X轴,Y轴和Z轴,来进行路况的自适应。

3.4障碍传感器部分

本文采用的HC-SR04超声波测距模块,可提供2cm-400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。机械狗的测距以及转向,机械狗测距可以及时发现前方的障碍物,判断前方障碍物的距离,辅助视觉上面的识别。使机械狗可以及时转向,避开障碍物。

3.5树莓派4B图象识别部分

在图象识别方案上,本文系统采用树莓派4B与摄像头做为硬件处理核心和完成道路元素的识别,在核心程序上,系统主要采用openCV算法识别图像中一部分图像特征值,从而实现一部分物品和人物动作的识别。运用openCV算法可以同时实现路况的判断和对运动物体进行捕抓,扫描物品的轮廓进行物品的识别。让盲人了解前面的物品是什么,或者前面有什么障碍物阻挡,让盲人了解前方是否为危险地域,帮助盲人避开危险。

树莓派是一款基于ARM的微型卡片电脑主板,在本文设计中,树莓派承担着及其重要的角色,承担着特征图像和路况识别,发指令数据给esp32进行事件索引流程控制和通过wifi协议同上位机进行通讯。

4,仿生机器人软件设计部分

本文设计中的软件主要包括树莓派视觉识别和esp32的vmc运动控制算法。在原有的比赛项目的基础上的esp32的程序不作太多改变,着重于esp32和树莓派之间的板间通讯。

其中esp32主要负责输出pwm波形控制舵机协调性工作,同时也接收上位机的wifi协议里面的udp通讯。树莓派主要负责完成特征图像和路况识别,发指令数据给esp32进行事件索引流程控制和通过wifi协议同上位机进行通讯。

4.1 vmc总体步态算法部分

四轴机器人基于作用力与反作用力之间调整各条腿关节之间的舵机角度,从而实现姿态,位置和速度的控制。

在每个控制周期完成对机器人自身位置、姿态角、速度、足尖位置和雅克比矩阵的计算与状态估计,在完成对IMU数据的采集后进行中值滤波和低通滤波预处理,同时使用传感器标定参数对原始数据进行校正。通过姿态解算获取机器人的姿态角并得到机体坐标系下的加速度,为减少机器人与地面冲击对原始数据的影响进一步结合机器人模型和姿态解算结果观测机体角速度;使用运动学正解得到当前各足尖的位置并计算雅克比矩阵,通过对足端位置微分加低通滤波结合机器人模型得到里程计数据;进一步,基于卡尔曼滤波器融合里程计和外部定位传感器数据估计机器人连续实时的速度和位置,流程图如图3所示。

4.2运动模式控制

仿生导盲“犬”有两种运动模式选择,一种是计算机通过在同一个LAN下的网络进行连接发送前进方向命令,另一种就是全自动的根据树莓派二值化处理后的图像进行道路边缘提取并规划斜率路线。

第一种控制模式在代码里写好事件流程索引,在电脑上面发送指令数据完成对仿生机械狗的控制。

控制模式(0x11)为计算机WiFi通讯协议下发送数据包控制,(0x12)则为树莓派跑图像二值化处理后用边缘提取值规划前进的路线。

另一种是基于opencv二值化自动规划前进的路线,根据得到的二值化后的图像进行边缘坐标值的提取,算出每一行的中心点,算出正一条中心线的斜率,将得到的数值赋值给导航算法,大于一定的阈值选择向左或者向右偏移机体。而且为了更好的适应多种光线下的二值化图像,我们选用了大津法阈值(OTSU)来进行对不同曝光度的照片进行二值化阈值的选择。如图五上位机显示画面截图,接受二值化后的图像显示。

4.3 物品算法识别部分

本文设计的仿生导盲犬采用的是树莓派4B加摄像头完成对部分特征图像的识别。通过提取摄像头的每一帧作为采集图像,进行将彩色图像转化成灰度图,图像经过平滑处理,高斯滤波等,二值化后对要识别的物品进行规划大小,使用opencv的拉普拉斯边缘检测算子,再经过卷积去噪点的算法去除多余或者不合理的点,得到良好的物品轮廓图像,将识别到的物品轮廓等图像元素保存到数组里面来匹配物品特征图像的元素,只要在像素点具体的RGBA值的浮动范围就可以合理识别成该特征图像的物品。

5,总结

系统基于esp32开发的仿生导盲犬,利用超声波和摄像头等传感器采集环境数据,通过树莓派opencv,卷积去噪等算法的识别物品和规划引导盲人群体的前进道路。树莓派跟esp32之间通讯采用iic协议,将将处理好的道路信息规划成一次次预设写好的流程事件,发送数据给esp32执行。通过vmc算法进行步态解算,并保持仿生导盲犬平衡姿态,做到跟生物导盲犬一样执行给盲人群体引路的重要任务,同时也可以通过互联网连接仿生导盲犬进行人工指引,解决部分算法识别不准确的问题。

本文设计的仿生导盲犬针对当下导盲犬之“难”的问题,目标是代替导盲犬的工作,实现盲人群体手里有“狗”,出门不忧愁的愿景,让盲人群体更加为社会上的人们重视及给予关怀。

*本文暂不支持打印功能

monitor