Journal of Sensor Technology and Application
Vol. 12  No. 01 ( 2024 ), Article ID: 78738 , 10 pages
10.12677/JSTA.2024.121004

基于AI视觉编程的四足仿生机器狗控制系统 设计

张蔡宇1,嵇王静2

1盐城工学院海洋与生物工程学院,江苏 盐城

2盐城工学院电气工程学院,江苏 盐城

收稿日期:2023年11月7日;录用日期:2024年1月1日;发布日期:2024年1月8日

摘要

四足仿生机器人因其对环境有很强的适应性并且还有很强的运动灵活性,可广泛运用于救灾、排雷、探险、军事等领域。基于此,本文研究并完成基于AI视觉编程的四足仿生机器狗控制系统设计。本文所设计四足仿生机器狗控制系统主要以ESP32单片机为主控单元进行硬件模块化设计,主要分为主控单元模块、舵机驱动模块、姿态传感器模块、LED灯光模块、电源电路模块等组成。同时,本文结合Arduino IDE软件程序编写舵机控制程序以及LED模块程序,来实现舵机的步进、转动和角度控制,同时机器狗可以利用ESP32内部集成的WiFi实现手机APP无线遥控功能,从而实现前进后退、左转右转、下蹲、握手、跳跃等动作。在完成系统软硬件设计的基础上,通过对实物样机的试验测试结果显示:本文所涉及四足仿生机器狗控制系统运行稳定,能实现前进后退、左转右转、下蹲、握手、跳跃等动作,具有功能完善、性价比高等特性,在桌面陪伴机器人和教育机器人使用方面具有一定的应用前景。

关键词

ESP32,四足机器狗,舵机控制,WiFi

Design of Quadruped Bionic Robot Dog Control System Based on AI Visual Programming

Caiyu Zhang1, Wangjing Ji2

1School of Marine and Bioengineering, Yancheng University of Technology, Yancheng Jiangsu

2School of Electrical Engineering, Yancheng University of Technology, Yancheng Jiangsu

Received: Nov. 7th, 2023; accepted: Jan. 1st, 2024; published: Jan. 8th, 2024

ABSTRACT

Quadruped biomimetic robots, due to their strong adaptability to the environment and strong mobility, can be widely used in disaster relief, mine clearance, exploration, and military fields. Based on this, this article studies and completes the design of a quadruped bionic robot dog control system based on AI visual programming. The quadruped bionic robot dog control system designed in this article mainly uses the ESP32 microcontroller as the main control unit for hardware modular design, which is mainly composed of the main control unit module, servo drive module, attitude sensor module, LED lighting module, power circuit module, etc. At the same time, this article combines the Arduino IDE software program to write the servo control program and LED module program to achieve the step, rotation, and angle control of the servo. At the same time, the robot dog can use the integrated WiFi inside ESP32 to achieve wireless remote control function of the mobile app, thereby achieving forward and backward, left and right turns, squatting, shaking hands, jumping and other actions. On the basis of completing the software and hardware design of the system, the experimental results of the physical prototype show that the control system of the quadruped bionic robot dog involved in this article runs stably and can achieve forward and backward, left and right turns, squatting, shaking hands, jumping and other actions. It has complete functions and high cost-effectiveness, and has certain application prospects in the use of desktop companion robots and educational robots.

Keywords:ESP32, Quadruped Robotic Dog, Steering Gear Control, WiFi

Copyright © 2024 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

http://creativecommons.org/licenses/by/4.0/

1. 概述

由于自然环境中存在很多地形是普通轮式机器人所不能到达的,所以足式机器人应运而生,轮式与履带式机器人仅局限于平滑路面运行,足式机器人的优势在于极强的地形通过能力,它更能适应野外环境。足式机器人可分为双足、四足、六足等。与双足机器人相比,四足机器人具有运动稳定、运动形式多样、承载能力强的特点,而与六足及以上机器人相比,四足机器人结构简单,运动模型容易建立,所以越来越多的四足机器人引起学者研究热情并将其应用到居民生活、生产、教育等方面 [1] [2] [3] [4] 。

基于上述分析,本文研究并完成基于AI视觉编程的四足仿生机器狗控制系统设计。本文所设计四足仿生机器狗控制系统主要以利用ESP32单片机为主控芯片,辅以电源电路﹑舵机驱动模块﹑姿态传感器来实现对机器狗的控制,结合Arduino IDE编程软件,对各个模块进行编程控制。最终实现机器狗的前进/后退、左转/右转、下蹲、跳跃、握手等动作。

2. 系统总体设计

本文所设计控制系统分为两部分设计:硬件部分设计、软件部分设计。硬件设计对各模块进行器件选型然后再对各模块进行电路分析;软件设计采用Arduino IDE编程软件进行编程,编写舵机驱动程序进而控制机器狗的步态,最后对机器狗的各部分元器件进行组装调试。总体方案设计流程图如图1所示。

Figure 1. Overall scheme design flow chart

图1. 总体方案设计流程图

3. 系统硬件设计与实现

四足仿生机器狗控制系统的硬件部分分为主控单元模块(ESP32)、舵机驱动模块、LED灯光模块、电源电路、姿态传感器(ICM20948)、摄像头模块、USB下载电路等模块 [5] 。设计采用ESP32为主控模块中的核心,使用PCA9685芯片驱动舵机,该芯片通过IIC与主控ESP32单片机进行通信,进而控制舵机的各项活动。系统硬件总体设计方案如图2所示。

Figure 2. Overall hardware design of the system

图2. 系统硬件总体方案设计

3.1. 主控单元模块

主控单元模块使用ESP32作为主控芯片,ESP32是乐鑫信息科技推出的一款WiFi芯片,拥有40 nm工艺、双核32位MCU、2.4 G双模WiFi和蓝牙芯片,该芯片内部自带滤波器、晶振、Flash等电路模块,电路设计时减少了外部电路的设计。ESP32使用的是3.3 V供电,LAN_IN管脚外部连接着陶瓷天线,为了保证在芯片上电时可以稳定地工作,在EN管脚处还需要添加一个复位电路。复位电路的主要作用是在停电后,可以重新启动电路,它的电路结构很简单,只有100 nF的电容和10 kΩ的电阻构成,在本设计中,选择一个合适的电容。RC数值能够使MCU完成一个稳定的重置函数 [6] 。主控电路设计如图3所示。

Figure 3. Schematic diagram of the main control circuit design

图3. 主控电路设计原理图

3.2. 舵机驱动模块

本文所设计控制系统需要用到12个舵机,采用PCA9685芯片,该芯片产生12路PWM控制信号,每一路控制信号均可自由调节PWM波的频率和占空比 [7] [8] [9] ,进而控制舵机的转动。电路设计如图4所示。

Figure 4. PCA9685 circuit diagram

图4. PCA9685电路图

3.3. 摄像头传感器模块

由于本文所设计控制系统需要基于AI的视觉编程,所以在整个机器狗控制系统设计中需要添加一款摄像头来对图像进行采集与处理。本设计中摄像头的传感器选择OV9655芯片,该传感器自带130万像素,使用3.3 V供电,性价比较高 [10] 。图5为视觉传感器芯片。

Figure 5. OV9655 Sensor

图5. OV9655传感器

3.4. 姿态传感器模块

姿态传感器是一种用于测量物体姿态的设备,它可以用于测量物体的角度、方向和加速度等参数来确定物体的姿态。本文选取ICM20948芯片,内置运动数字处理引擎,可减少复杂的融合演算数据,减轻处理器的负荷,相比于MPU9250,精度更高,拥有更低的功耗,通过IIC通讯就能获取10轴数据 [11] 。该电路原理图如图6所示,由电源3.3 V接入,通过RT9193稳压芯片将电压降至1.8 v并将1.8 v电压接入ICM20948姿态传感器输入端。

Figure 6. Circuit schematic diagram of ICM9685

图6. ICM9685电路原理图

3.5. LED灯光模块

由于本文需要通过切换灯光颜色来显示不同的控制切换模式,所以选择WS2812芯片来控制LED光源,从而达到可切换不同灯光颜色的效果 [12] ,其电气原理图如图7所示。

Figure 7. Circuit diagram of LED lighting module

图7. LED灯光模块电路图

3.6. 电源电路模块

本文主要有两种供电方式,一种是采用锂电池供电(额定电压为8.4 V),另一种是采用USB接口线进行供电。采用锂电池供电时,则需要将电压转换为6 V和3.3 V (6 V舵机供电,3.3 V主控和传感器供电)。

4. 系统软件设计

整体程序采用模块化函数的编程思想,根据硬件设计按照功能不同分好模块进行相应子函数模块编程。总体的软件流程分为三个时期:系统各模块的初始化、模拟信号的采集与读取、数据信号的控制与处理。

主程序首先对各个模块完成各自的初始化,包括ADC配置、GPIO配置、PCA9685初始化、ICM20948初始化以及WiFi通信初始化。WiFi通信采用AP模式,在此基础上建立一个Web服务器用来与小程序进行通信。第一次运行机器人时,需要在小程序中对舵机的位置进行校准,校准完成后数据保存在ESP32的Flash中,下次运行时自动读取校准结果。在正常模式下,机器人保持等待接收指令状态,机器人接收到指令后,根据指令执行相应的动作。仿生机器狗控制系统主程序流程图如图8所示。

Figure 8. Main program flowchart

图8. 主程序流程图

系统控制模块软件设计主要有舵机驱动控制程序、LED控制程序、WiFi连接程序等组成。在舵机驱动控制程序中,编写舵机步进、转动、角度控制的函数程序。PCA9685发送PWM信号来控制舵机的转动,通过调节PCA9685产生的16路PWM脉冲的占空比可调节舵机转动角度。具体舵机驱动控制程序流程图9所示。

Figure 9. Control flow chart of the steering gear

图9. 舵机控制流程图

前进/后退、左转右/转动作主函数程序:

Switch (val)

{

case1: moveFB = 1;Serial.println (“Forward”); break;

case2: moveLR = −1;Serial.println (“TurnLeft”); break;

case3: moveFB = 0; Serial.println (“FBStop”); break;

case4: moveLR = 1;Serial.println (“TurnRight”); break;

case5: moveFB = −1;Serial.println (“Backward”); break;

case6: moveLR = 0; Serial.println (“LRStop”); break;

}

下蹲-站起、握手、跳跃动作子函数部分程序:

else if (!debugMode && funcMode)

{

If (funcMode == 1)//模式1,平衡姿态

{

accXYZUpdate ();

balancing ();

GoalPosAll ();

}

else if (funcMode == 2)//模式2,下蹲–站起姿态

{

Serial.println (“stayLow”);

functionStayLow ();

funcMode = 0;

}

else if (funcMode == 3)//模式3,握手姿态

{

Serial.println (“handshake”);

functionHandshake ();

funcMode = 0;

}

else if (funcMode == 4)//模式4,跳跃姿态

{

Serial.println (“Jump”);

functionJump ();

funcMode = 0;

}

本文ESP32采用AP工作模式,运行小程序的设备需要与ESP32处在同一局域网下,小程序与机器人之间使用WebSocket进行通信。在控制页面下,能通过按钮对机器人进行操控,通过摇杆改变机器人的姿态。首先在程序中需要先重新设置WiFi名称与密码,调用Web应用界面程序。相关部分程序如下:

#include

#include “WebPage.h”

const char* AP_SSID = “WAVESHARE Robot”; //设置WiFi名称

const char* AP_PWD = “1234567890”;

//设置WiFi密码

void setAP ()

{

WiFi.softA P(AP_SSID, AP_PWD);

IPAddress myIP = WiFi.softAPIP();

IP_ADDRESS = myIP;

WIFI_MODE = 1; //处于AP工作模式

}

小程序的界面设计如图10所示。

“FORWARD/REVERSE”按键控制机器狗的前进与后退,“LEFT/RIGHT”控制机器狗的左转与右转,“STEADY”使机器狗处于平衡模式,“StayLow/HandShank/Jump”分别使机器狗执行下蹲、握手与跳跃动作,“ActionA/B/C”可开发其他动作。

Figure 10. Mini program interface

图10. 小程序界面

5. 系统测试

在完成本文所设计系统硬件设计及软件编程的基础上,对本文四足仿生机器人控制系统进行实验测试。首先将手机连接机器狗的WiFi,然后通过手机的小程序控制机器狗的动作。

长按“FORWARD”或“REVERSE”按键,实现前进/后退动作,动作如图11所示。

Figure 11. Forward movement

图11. 前进动作

长按“LEFT”或“RIGHT”按键,实现左转/右转动作,动作如图12所示。

Figure 12. Left/right turn

图12. 左转/右转

长按“Jump”按键,实现跳跃动作,动作如图13所示。

Figure 13. Jumping

图13. 跳跃

长按“StayLow”按键,实现下蹲站起动作,动作如图14所示。

Figure 14. Squat-Stand Up

图14. 下蹲–站起

长按“HandShake”按键,实现握手动作,动作如图15所示。

Figure 15. Handshake

图15. 握手

由上述测试实验结果可得:本文所涉及四足仿生机器狗控制系统运行稳定,能实现前进后退、左转右转、下蹲、握手、跳跃等动作,具有功能完善、性价比高等特性,在桌面陪伴机器人和教育机器人使用方面具有一定的应用前景

6. 结语

本文基于AI视觉编程的四足仿生机器狗的控制系统设计,系统整体划分为硬件设计和软件设计两大部分,两者都采用了模块化的思想进行模块化设计,硬件设计模块上主要功能实现集中在主控单元模块、舵机驱动模块以及姿态传感器模块,软件主要就是舵机驱动模块的程序编写。在完成了各个元器件的组装之后的实物测试,主要测试了机器狗的一些动作姿态,通过小程序与机器狗进行对接,在小程序中按下不同按键,机器狗实现不同动作的展示。由测试结果图可知,最终的功能都有效实现,本文设计的四足机器人使用ESP32作为主控芯片,通过PCA9685芯片驱动舵机,内置WiFi服务器,无须安装任何软件即可通过网络控制机器人。经实验验证分析可得:本文所涉及机器人运行稳定,功能完善,性价比高,在桌面陪伴机器人和教育机器人使用方面具有一定的应用前景。

文章引用

张蔡宇,嵇王静. 基于AI视觉编程的四足仿生机器狗控制系统设计
Design of Quadruped Bionic Robot Dog Control System Based on AI Visual Programming[J]. 传感器技术与应用, 2024, 12(01): 27-36. https://doi.org/10.12677/JSTA.2024.121004

参考文献

  1. 1. 刘耘彤, 李晓丹, 王晓磊. 一种新型四足机器人腿部机构设计与运动学分析[J]. 机械传动, 2023, 47(8): 83-89.

  2. 2. 方鸿磊, 李龙坤. 基于姿态控制的四足机器人Trot步态行走仿真[J]. 建模与仿真, 2023, 12(6): 5046-5062.

  3. 3. 梁蓝月. 四足机器人的环境感知及行为决策研究[D]: [硕士学位论文]. 成都: 电子科技大学, 2023.

  4. 4. 孙文凯. 基于深度强化学习的四足机器人运动控制方法[D]: [硕士学位论文]. 济南: 山东大学, 2022.

  5. 5. 詹书豪, 陈平平, 彭川. 基于ESP32的四足机器人的设计与实现[J]. 电子制作, 2023, 31(5): 16-20, 43

  6. 6. 高子航. 基于5G通信的四足机器人控制系统设计[J]. 电子技术, 2021, 50(5): 140-141.

  7. 7. 马鑫, 吴银川. 六足机器人控制系统设计[J]. 仪器仪表用户, 2023, 30(6): 14-18.

  8. 8. 李超. 基于永磁电机的二维修正舵机控制方法与实验研究[D]: [硕士学位论文]. 沈阳: 沈阳理工大学, 2022.

  9. 9. 刘沛, 林国源, 田晓旭, 等. 基于STM32F4的12自由度四足机器人设计与实现[J]. 辽宁工业大学学报: 自然科学版, 2020, 40(5): 296-300.

  10. 10. 曹钰. 高越障性多形态球形机器人的设计与仿真分析[D]: [硕士学位论文]. 北京: 北京建筑大学, 2023.

  11. 11. 柳建鑫, 卢进, 吴昌隆. 基于FPGA的压力传感器的标定设计实现方法[J]. 数字技术与应用, 2022, 40(10): 159-162.

  12. 12. 王琦锋, 李春树. 基于MQTT和ESP-NOW的智能家居系统[J]. 物联网技术, 2023, 13(7): 116-119.

期刊菜单