张聚涛,孙 祥,王 超
(唐山学院教务处 河北 唐山 063000)
在20 世纪中期,随着计算机技术的迅速发展,以控制理论和计算机科学为基础的现代机器人技术开始逐渐兴起[1]。 然而,随着原子能技术的发展,机器人面临了新的要求和发展机遇。 虽然此时研发的机器人已经具备了可应用于生产的能力,但是智能水平相对较低,所以在机器人智能发展历程中,这一阶段被视为初级阶段。 随着时代的发展,机器人研发面临着许多需要克服的难关,其中最为重要的是如何提升机器人的自主性和适应性[2],这是一个关键问题。 这一问题的解决不仅需要从与人的关系方面考虑,还需要考虑机器人在环境中的适应能力。 希望机器人能够更加独立于人,并拥有更加友好的人机界面,以实现更便捷、高效的交互方式。 在长期的发展过程中,期望操作员只需提出要完成的任务,而机器人能够自动地制定出完成任务的步骤,并自主地实现自动化[3]。 总之,提高机器人的自主性和适应性,以及拥有友好的人机界面,是关键性问题。 探索机器人等各类机器人在一些特殊环境下发挥着重要的应用价值,因此进行设计研究十分必要。
探索机器人已经被广泛应用于海洋勘探和太空探索等众多领域。 尤其在考古挖掘方面,由于山洞狭窄,无法确定内部结构,工作人员往往不便进入[4]。 因此,研发更加智能、自主的探索机器人已成为当前的主要研究方向,单片机因具有低功耗、低成本和高性能的特点,所以基于ESP32 单片机来设计探索机器人,并通过加装摄像头以在手机端实时显示环境画面,能够完善地实现人们对于探索机器人的需求。
本设计主要包含主控模块、图像模块、控制模块、电源模块和移动终端5 个模块。 主控模块用于实时处理整个系统的输入数据;图像模块用于拍摄环境图像;控制模块用于操控机器人运动;电源模块用于供电,提供足够的电力,以保证整个系统可以在没有外部电源的情况下正常运行;移动终端指令通过主控模块处理后通过控制模块操控机器运动。 履带探索机器人整体设计思路如图1 所示。
图1 履带探索机器人设计思路
该设计采用Arduino IDE 与Android Studio 作为开发平台,使用SolidWorks 进行底盘建模,使用履带结构使之适应于大多数的复杂地形和坡度。 底盘建模设计如图2所示。
图2 底盘建模设计图
为了实现数据图像传输和控制指令发送的功能,选择采用ESP32CAM 单片机作为主控模块。 该模块具有低功耗、高度集成、易于开发等优点,并拥有4 GB(32 位)的地址空间,可用于数据总线和指令总线的传输[5],从而更好地支持这些功能的实现。
ESP32CAM 单片机的实物图如图3 所示。
图3 ESP32CAM 单片机实物图
为了实现拍摄环境画面的功能,选用OV2640 摄像头作为图像模块。 该摄像头采用CMOS 图像传感器,具有体积小、工作电压低等特点,能更好地支持所需功能的实现。
图像模块的实物图如图4 所示。
图4 图像模块实物图
图像模块接口电路如图5 所示。
图5 图像模块接口电路图
由图5 可知,图像模块共有24 个引脚,直接与ESP32-S 芯片连接,插上底板即可使用。 烧录代码后通过串口将返回显示图像的网络地址,从而可显示实时环境画面。
为了实现电机方向控制的功能,采用了L298 N 步进电机作为控制模块。 该模块具备卓越的驱动力、低热量输出和出色的抗干扰能力等优点[6],能更好地支持所需控制方向功能的实现。
控制模块的实物图如图6 所示。
图6 控制模块实物图
控制模块接口电路如图7 所示。
图7 控制模块接口电路图
由图7 可知,控制模块共有15 个引脚,其中VCC 电源采用5 V 供电,GND 需要接地。 OUT1、OUT2、OUT3 及OUT4 与两个电机相连。 IN1 到IN4 是逻辑输入引脚,分别与ESP32CAM 单片机的IO2、IO14、IO15 及IO13 引脚相连接。 ENB 和ENA 两个使能接口未被使用,只需使用跳线帽盖上即可。
主控模块用于处理图像数据与接收移动终端指令,其程序设计流程如图8 所示。
图8 主控模块程序设计流程图
由图8 可知,系统初始化后,会连接网络,连接成功后,图像模块开始拍摄环境画面。 同时,ESP32CAM 单片机将实时处理图像数据和来自手机APP 的控制指令。
图像模块用于对环境画面进行拍摄,其程序设计流程如图9 所示。
图9 图像模块程序设计流程图
由图9 可知,图像模块首先进行显示图像的初始化,然后连接网络。 如果连接成功,图像模块可以获取周围环境的图像,并通过网络通信协议将其上传至移动终端,用户可以查看该画面。 ESP32CAM 单片机负责处理上传的图像数据和网络通信协议。
控制模块是通过手机APP 来控制履带探索机器人的行动,其程序设计流程如图10 所示。
图10 控制模块程序设计流程图
由图10 可知,首先进行初始化,成功连接网络后,移动终端需要接入同一个局域网。 通过在移动终端上设置方向键,用户可以向后端发送高低电平信号,这些信号由ESP32CAM 单片机接收后,再写入控制模块的4 个引脚,这4 个引脚分别用来控制两个电机的运转方式。 单片机会根据读入的信号来判断机器人的下一步动作。
OV2640 摄像头是图像模块的核心,它能够拍摄探索环境的画面,方便进行调试。
图像模块拍摄环境画面效果如图11 所示。
图11 图像模块效果图
由图11 可知,周围环境的画面已被拍摄并上传至ESP32CAM 单片机,可以在移动终端进行查看,这表明图像模块正常工作。
驱动电机的转动被控制模块用来实现履带探索机器人的移动,其显示效果如图12 所示。
履带探索机器人实物如图13 所示。 经过测试,该履带探索机器人能够很好地完成指定控制行走及拍摄环境画面的任务,功能设计完整,表明该设计方案合理。
图13 履带探索机器人实物图
本设计基于ESP32 单片机实现了一款履带探索机器人。 该机器人可以拍摄周围环境,并通过移动终端实时显示画面。 此外,该机器人配备了远程控制功能,用户可在移动终端对机器人进行控制,以实现更加自由的探索。