APP下载

水陆两栖智能清洁机器人系统设计*

2023-11-07万伟豪李子健李国豪李嘉岑

微处理机 2023年5期
关键词:树莓小车驱动

万伟豪,李子健,李国豪,张 硕,彭 程,李嘉岑

(南京工程学院自动化学院,南京 211167)

1 引 言

随着经济的发展,环保问题仍然是建设美好社会的一大重要难题。在城市中,类似易拉罐、塑料瓶、废纸团等生活垃圾也时常出现在路面上或是水面上,此时最适宜于水陆两栖智能清洁机器发挥作用,对路面和水面的垃圾进行清理。过去数十年中,机器人在各个领域都有了较大发展,用途广泛,智能清洁机器人在其中的发展尤为突出。智能清洁机器人本身作为一个独立的功能模块可运用到其余中小型智能机器人上,因其环境适应性强,在水面工作可极大节省人力物力。同时,智能清洁机器人通过神经网络的深度学习,可智能地对不同种垃圾进行分类和处理,解决环境问题的同时,对垃圾分类也提供了较为高效的处理手段。在此介绍一种水陆两栖智能清洁机器人的设计方案。该型机器人具有智能避障、智能识别、自动清洁等功能,可以替代人工完成陆地和水面清洁任务。通过神经网络的深度学习,通过微处理器,例如树莓派构成下位机进行功能实现。

2 机器人设计方案

所设计的智能清洁机器人,基本框架主要包括智能车车体框架以及内部以树莓派为基础的Linux操作系统,主要基于ARM 架构搭建。使用的树莓派型号为Raspberry 4B,其电路板实物及各部分功能如图1 所述。树莓派本质是一台嵌入式计算机,设计基于这一特性,以其作为基本框架,通过编写相关程序,来实现所设计智能车的视觉、目标拾取等动作。

图1 Raspberry 4B 电路板

在树莓派上完成搭建64 位Linux 操作系统后,为完成智能车的设计目的,采用OpenCV 函数库来实现部分功能。

OpenCV 函数库主要包括Cv(实现计算机视觉功能和完成计算机对图像的处理)、HighGui(包含各种简单函数的工具包)、Calib3b 和Photo(完成摄像机的成像和安装有关摄影计算的函数库),以及API(增加代码的运算速度)等模块。

3 硬件设计

所设计机器人的完成品是一架水陆两栖垃圾拾取小车,在陆地及水面进行垃圾拾取工作。小车的硬件部分主要包括车体、机械臂、控制模块、驱动模块、测距及测速模块、实时定位及导航模块等。

3.1 车体设计

车体由水路推进系统、防水外壳等组成。考虑到智能车需要在水中工作,车体需要加装聚氨酯发泡材料来实现较好的耐水性和抗腐蚀性。同时安装一对推进螺旋桨,实现智能车在水中的正常运动。在小车主体搭建完成后,需要加装防水外壳,避免水中工作时发生芯片短路。

为了保证垃圾夹取的可靠性足够高,选取3 自由度的机械臂来保证夹取空间范围的广度。机械臂的结构设计图如图2 所示。

图2 机械臂结构图

在机械臂前段增设一个可以旋转的连接轴,为机械爪赋予旋转能力,在夹取物品时即可灵活调整机械爪的角度,令接触更贴合。机械爪夹取端带有锯齿,保证夹取稳定可靠。

3.2 控制模块及驱动模块

控制模块以树莓派主板为主体部分,用以完成数据分析、视觉成像、物体识别等处理任务。由于树莓派主板的集成度较高,导致某些情况下主板的散热性能较差,为了确保产品能够在某些极端条件下正常工作,选择在主板CPU、内存芯片、USB 管理芯片上加装三块散热片。本设计安装了树莓派4B 双风扇外壳,确保产品能够更合理地固定在车体上,保持稳定,同时还能确保良好的散热效果[1]。

驱动模块选用BTS7960B 型高压双路H 桥直流电机驱动芯片。该芯片能够提供43A 电流输出,电流输出范围相比较其他电机驱动模块较大,在5.5V~27V 的范围内能够轻松驱动大功率直流电机且不易发生短路。驱动模块集成了多项保护机制,如过流保护、过热保护和电路短路保护等。

BTS7960B 驱动板如图3 所示。它的芯片内置了两路H 桥电路,可以实现正向、反向和制动等多种控制。输入控制信号为PWM 和两个电平信号(IN1和IN2)。该配置的响应速度较快,工作稳定性良好,能够满足大多数直流电机需要的驱动要求。另外,在过流或温度过高时,芯片会自动停止输出电流并发出报警信号。如果电机电路短路,芯片内置的FS 功能会自动切断输出并返回故障信号。为了使该设计在某些特殊工作地形也能较为平稳地运行并能快速改变行驶速度,设计了测速和测量行驶里程的功能。选取可装载在电机上的Hohner Automaton Z25M 光电编码器测速模块,该编码器的体积很小,其抗压性、耐用性及防污性都满足工作环境的要求[2]。

图3 BTS7960B 驱动板

3.3 导航与定位模块设计

为了使智能小车能够较为准确地提前预判其预设行驶道路上的行人或者障碍物,设计使用激光测距方法加以辅助。此处选取VL52L0X 型激光测距感器。该型产品测量障碍物以及勘测前方物体距离的精度较高。它通过四根杜邦线连接至树莓派的GPIO口(SDA、SCL、5V、GND)。其中的5V 和GND 接口是固定连接,另外两个接口通过在系统终端配置接口连接,使用相对灵活。相比其他的测距传感器,这样的连接方式也较为简便。

导航功能设计完成后,为了使智能小车能够准确地在工作区域内寻找并抓取垃圾或其他物品,采用RPLidar A2 激光雷达来实现智能小车的实时定位功能,实物如图4 所示。该型雷达与前一代相比,精度大幅提高,能够减少智能小车工作时的失误,同时还可完成较大范围的定位和导航,为智能小车提供更大的扫描范围。出于经济性考虑,此处未选取功能相似但成本较为高昂的A3 版本。

图4 RPLidar A2 激光雷达

4 程序设计

4.1 OpenCV 部分编程

针对智能小车的功能目标进行程序设计,首先选择最简单的实例,利用树莓派和OpenCV 实现智能小车对黄球的追踪。

4.1.1 图像采集与预处理

使用现有OpenCV 库所提供的cv.VideoCapture来进行摄像头的采集。采集到图像后,通过一系列的图像预处理操作,例如颜色空间转换、阈值化处理、图像滤波等,获取到需要的目标图像信息[3]。具体的实现方式可按照以下代码进行:

中华民族的伟大复兴最终一定表现为文化复兴。文化自信的提出标志着文化复兴的道路已经铺开,中国特色社会主义文化建设已经踏上新的历史征程;同时,还昭示着中国人开始致力于占据人类社会道义的制高点,在解决好中国问题的同时,还要给世界提供中国智慧。 中国是个小世界,世界是个大中国; 前现代、现代、后现代时间上继起,在中国却空间上并存;这一具有“世情”特色的中国国情,要求中国人承担“天降大任”的世界使命。有理由相信,曾经长期占据人类文化制高点的中国,一定会重登世界之巅,为人类的文化进步贡献出中国人的智慧与力量。

4.1.2 目标检测与跟踪

利用OpenCV 库提供的cv.findContours()函数进行目标轮廓的提取,并通过轮廓面积、长宽比等特征判断是否为目标。同时,还需要使用cv.KalmanFilter来实现目标跟踪功能。具体功能实现可按照以下代码进行:

在对图像阈值化处理的过程中,可通过更改设定数值,来实现智能小车对不同颜色目标的处理[4]。

4.2 控制模块部分编程

为了使智能小车根据目标位置和方向信息生成控制信号,在小车系统中,可以使用PWM 调节电机速度,使用电机驱动模块控制电机转向[5-6]。控制信号生成的实现可参考以下代码:

该部分程序实现的功能是令智能小车简单地向目标前进,并且根据距离调节速度。对于更高级更复杂的设计目标,还需要对其进行部分程序修改并完善图像库来实现[7]。

5 实地调试

在实际使用场景之下,按如下步骤对智能小车的目标完成情况进行调试:

第一步:数据采集与图像处理

第二步:垃圾分类

使用OpenCV 中的图像算法进行运算处理。该算法在图像特征提取、图像采集、图像处理与推理等方面都有非常完善的功能,可以快速准确地实现对垃圾分类的操作。

第三步:控制与执行

将处理后的图像特征输入垃圾识别算法中,并计算出所属类别。通过编程将驱动小车的控制信号输出到轮胎驱动系统,使小车能够按照要求对垃圾进行分类运输。

第四步:安全性检验

为确保垃圾分类小车的安全性,在程序设计中结合激光测距传感器,使智能车能够提前探测到前方的行人或者障碍物[8],做到安全运转,避免不必要的事故发生。

在实际调试中智能小车对垃圾物品的摄像识别效果如图5 所示。

图5 垃圾物体识别效果

6 结 束 语

树莓派是一款非常容易上手且便于携带的微型电脑,其预装Linux 操作系统中可供安装的函数库类型丰富,功能强大。以树莓派为基础的设计水陆两栖机器人系统,设计上都是围绕其自身特点,使其发挥最大优势。所设计机器人的内外部结构及相应的编程控制方法,均基于理论与实践相结合的原则系统化地设计完成,并在实用场合验证了其正确性,可为未来相关研究提供一种思路。以垃圾清除智能小车为形式的产品研究,只是智能机器人行业探索的一小部分,而智能机器人行业本身,也必将在发展中进一步融入现代工业社会,制造更多的发展机遇。

猜你喜欢

树莓小车驱动
基于模糊PI控制的驱动防滑仿真系统分析
大车拉小车
屈宏斌:未来五年,双轮驱动,砥砺前行
自制小车来比赛
轨旁ATC系统门控柜接收/驱动板改造
基于树莓派的骑行智能头盔设计
刘老师想开小车
两轮自平衡小车的设计与实现
基于树莓派的远程家居控制系统的设计
基于S3C6410的Wi-Fi驱动移植实现