智能物联网仿生四足机器人

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 一、题目智能物联网仿生四足机器人设计二、技术参数1. 机械、电路、程序相互配合,协同设计。达到了一个最优设计。在自主设计的机械结构基础上自研步态算法,实现仿生学设计。2. 搭载了手势识别传感器,用户可以通过不同的手势,与机器人进行实时交互。3. 通过串口通信实现与电脑上位机的通信。4. 选用 12 路舵机实现每只腿 3 自由度的四足机器人。5. 通过 ESP8266 实现无线网络通信。三、设计任务及要求1. 关于机械结构设计,设计机器人的外形结构、关节布局和材料选择,考虑机器人重心的平衡和稳定性。2. 关于运动控制设计,设计机器人的步态控制算法,使其能够实现正常站立及基

一、 电子元器件选型
1.1、 电机
在本次课程设计中,针对仿生四足机器人,我们选用舵机作为他的关节。选择合
适的舵机对于机器人的运动控制至关重要。
以下是选取舵机时需要考虑的几个因素:
1、扭矩(扭力):舵机的扭矩决定了其能够输出的转动力矩大小,足够的扭矩可
以使机器人具有较强的运动能力。选取舵机时需要根据机器人的大小和负载要求,选
择具备足够扭矩的型号。
2、速度:舵机的转动速度影响机器人的运动灵活性和响应能力。如果机器人需
要快速的动作响应,选择具有较高转动速度的舵机会更合适。
3、分辨率:舵机的分辨率指的是舵机能够精确控制的位置数量。较高的分辨率
可以使机器人的运动更加平滑和精确,所以在选择舵机时,较高的分辨率通常是一个
优势。
4、耐久性:舵机需要具备良好的耐久性,可以经受长时间使用和较高负载的要
求。选取具有可靠性和耐用性的舵机,可以提高机器人的稳定性和寿命。
5、通信接口:考虑到物联网的要求,选择具备合适的通信接口的舵机是必要的。
常见的接口包括 PWM(脉宽调制)、 I2C、串口等。根据项目需求和控制系统的设计,
选取适用的通信接口类型。
针对市面上较多的舵机,总和性能和成本我们选择 MG90S 舵机作为机器人的驱
动。 MG90S 是一款常见的小型舵机, 规格数据如下:
重量 13.6g, 尺寸为 22.8mm12.2mm28.5mm,工作电压 4.8V-6V。
工作扭矩: 2kg/cm,扭矩相对较高,可以提供较强的转动力矩,适合用于控制负
载较轻仿生四足机器人的关节,让机器人能够具备足够的运动能力。
反应速度: 0.11s/60°,可以实现快速的动作响应,使机器人的运动灵活性更强,
MG90S 舵机采用常见的 PWM(脉宽调制)接口,易于与控制系统进行集成,并兼
容多种控制板和单片机。通过方波控制,我们可以通过将运动离散分解实现速度调控。
同时 MG90S 舵机内部为全金属齿轮减速,具备较好的耐久性,可以经受长时间
使用和较高负载的要求,保证机器人的稳定性和寿命。
综上所述, MG90S 舵机在扭矩、速度、分辨率、耐久性和通信接口等方面具备
良好的特性,可以满足智能物联网仿生四足机器人的舵机需求。当然,在具体设计中,
还需要根据机器人的大小和负载要求进行进一步验证和优化,确保舵机的选型与机器专业综合课程设计说明书
5
人的需求相匹配。
1.2、 主控制板
我们选择嵌入式中常见的 STM32 作为机器人的主控制板,该处理器有以下特点:
1、 处理能力强大: STM32 微控制器采用 ARM Cortex-M 系列的处理器内核,具
有高性能和低功耗的特点。它能够处理复杂的算法和控制逻辑,并实现多任务操作,
满足智能物联网仿生四足机器人对实时性和响应性的要求。
2、 丰富的外设资源: STM32 微控制器集成了丰富的外设资源,例如模拟与数字
转换器(ADC)、通用串行总线(UART/I2C/SPI)、定时器、 PWM 输出、编码器接口等。
这些外设可以方便地与机器人的传感器和执行器进行连接和交互,满足机器人控制和
数据采集的需要。
3、 稳定可靠的软件生态系统: STMicroelectronics 提供了完善的开发工具链和软
件库,如 STM32Cube 软件开发平台、 HAL 库和标准库,以支持 STM32 的开发。这
些工具和库提供了丰富的示例代码、驱动程序和中间件,使开发者可以更快速地开发
和调试 STM32 的应用程序。
4 、 成 本效 益 高: 相 比于 其 他 微控 制器 , STM32 具有 较 高的 性价 比。
STMicroelectronics 提供了多种型号和规格的 STM32 微控制器,适应不同的需求和预
算。这使得选用 STM32 作为主控制板在成本上更具优势。
5、 开放性和广泛应用: STM32 是一种广泛应用于工业和嵌入式系统中的微控制
器。它有大量的用户和开发者社区支持,可以获取到丰富的技术文档、教程和经验分
享。同时, STM32 也与其他物联网平台和云服务相兼容,方便机器人与其他设备或系
统进行联网和互操作。
我们对所用用功能对应的串口进行列表:
编号 引脚 功用
1 Usart1/PA9 完成和电脑上位机的串口通信,我们可以将程序运行的步
2 Usart1/PA10 骤信息发送到电脑上位机,实现程序的调试。
3 Usart2/PA2 实现和 ESP8266 串口的通信,实现物联网通信的功能。
4 Usart2/PA3
5 Usart3/PB10 实现和舵机控制板通信的串口
6 Usart3/PB11
7 PB8 PB9 前 OLED 屏幕的 IIC 引脚
8 PB1 PB2 PB3
PB4 PB5 PB6
后 OLED 屏幕的 SPI 引脚
9 PA4 手势识别模块的外部中断引脚
10 PA0 PA1 手势识别模块的的 IIC 控制引脚
11 PC13 LED 灯的控制引脚
12 PA5/ADC1 测压电压的引脚专业综合课程设计说明书
6
13 PA12 PA15
PB7
控制一些外设的电源引脚
引脚共计 23 个
表格 1 主控板引脚分配
市场上最小系统板 STM32F103C8T6 采用 LQFP48 方式封装,一共拥有 37 个 I/O
引脚,被分为 PA (15 个)、 PB (15 个)、 PC (3 个)、 PD (2 个)、 PE (0 个)五个组, 3 个
Usart 串口, 所有 I/O 接口可以映像到 16 个外部中断,并且大部份端口都可以可以
兼容 5V 信号。 每个 I/O 端口可以接受或输出 8mA 电流,灌电流则可达到 20mA。
综上所述,选择 STM32 作为智能物联网仿生四足机器人的主控制板具有强大的
处理能力、丰富的外设资源、稳定可靠的软件生态系统、成本效益高以及广泛的应用
和开发支持等优势。这使得 STM32 成为一个理想的选择来实现机器人的控制和功能
需求。
以下是最小系统板的尺寸、引脚分布、外设分布:
图 1 最小系统板 STM32C8T6
图 2 STM32 外设分布
1.3、 降压稳压模块
因为我们的舵机控制板的工作电压在 5.6V 以上,所选电池电压大于 5.6V。而专业综合课程设计说明书
7
STM32 微控制器通常要求较低的供电电压,例如 3.3V。 并且舵机运转时会出现较大
电流波动, 通过降压稳压,可以将电池的高电压输出转换为适合 STM32 工作的稳定
电压。 同时 STM32 微控制器对输入电压的稳定性和范围有一定的要求。过高的电压
可能会损坏或破坏 STM32 芯片,影响其正常工作。通过降压稳压,可以确保 STM32
得到稳定、可靠的电压供应,避免因电压波动导致的故障或损坏。
降压稳压模块可以提供稳定的输出电压,并具有较好的抗噪声和抗干扰能力。这
些特性有助于确保 STM32 在各种工作条件下都能获得稳定的电源供应,提高系统的
稳定性和可靠性。通过降压稳压,可以将电源电压调整为适用于 STM32 的标准工作
电压,以便与其他外部设备或模块兼容。这样可以方便地连接和交互不同的硬件组件,
满足系统级设计的要求。
总结起来,使用电池给 STM32 供电时需要进行降压稳压的目的是为了提供适合
STM32 工作的稳定电压,保护 STM32 芯片免受过高电压的损害,提高系统的稳定性
和可靠性,并确保与其他设备的兼容性和通用性。
我们选用 LM2596S 直流可调电源模块,可进行 DC-DC 直流可调降压稳压。该模
块不同于市面上的 LM2596、 XL4005 降压模块,所用芯片在输入输出电压范围、输出
功率、效率上都要优于同类产品,功率可到 75w,性价比很高。 5A 大功率高效率降
压低纹波, 带有电源指示灯、 板载电压表,电压表可自校准, 不会存在电压表不准确
的问题。配有散热片、 铜柱等连接件。
可调输出电压: LM2596S 直流可调电源模块可以通过调节内部的可调电位器来
实现输出电压的调整。这使得我们可以根据需要,灵活地设置适合机器人各个电路部
分所需的电压。
高效率和低功耗: LM2596S 直流可调电源模块采用了开关电源架构,具有高效率
和低功耗的特点。相较于线性稳压器,开关电源减少了能量的损耗和热量的产生,提
高了整体能源利用效率。
稳定输出和保护功能: LM2596S 直流可调电源模块具有良好的输出稳定性,并带
有过载保护、过热保护和短路保护等功能。这些保护功能可以确保机器人在异常情况
下保持稳定和安全运行。
图 3 LM2596S 降压稳压模块
需要注意的是,在使用 LM2596S 直流可调电源模块时,要根据机器人各个电路专业综合课程设计说明书
8
部分的功耗需求来合理设置输入和输出的电压,以确保电源供应的稳定性和适应性。
同时,还应该对电源模块进行合理的散热和保护措施,以确保其长期稳定运行和可靠
性。综上所述,选用 LM2596S 直流可调电源模块作为智能物联网仿生四足机器人的
电源模块具有广泛的输入电压范围、可调输出电压、高效率和低功耗、稳定的输出和
保护功能,以及廉价易得等优点。这使得 LM2596S 成为一个适合用于机器人的电源
解决方案。
1.4、 显示模块
前显示屏采用 YX70838-0.96 寸蓝色 OLED 模块+7P,通过 SPI 控制。后显示屏
采用 YX70838-0.96 寸蓝色 OLED 模块+4P,通过 IIC 控制。 该模块拥有高对比度和鲜
艳的颜色, 可以呈现清晰、饱满的图像和文字。这对于机器人显示器件来说很重要,
可以使用户更容易识别和阅读显示的信息。 具有小尺寸和轻量化, 小巧轻便,适合用
于紧凑的机器人设计中。它可以提供足够的显示区域,同时不会占据过多的空间,有
利于机器人的整体布局和外观设计。
具有高刷新率和响应速度: YX70838-0.96 寸 OLED 显示屏具有较高的刷新率和
响应速度,可以实时更新显示内容。对于动态的机器人系统来说,快速的显示反应能
力是非常重要的,可以确保及时、准确地呈现机器人状态和交互信息。
低功耗: YX70838-0.96 寸 OLED 显示屏采用有机发光二极管(OLED)技术,具
有较低的功耗。在机器人的电源管理中,低功耗是一个重要的考虑因素,可以延长电
池寿命,提高机器人的工作时间和效率。
易于集成和编程: YX70838-0.96 寸 OLED 显示屏可以通过简单的串行通信接口
(如 I2C)与 STM32 等控制器轻松集成。同时,它支持常见的显示库和开发工具,提
供简便的编程接口和丰富的显示功能,方便开发人员进行图形和文本的显示设计。
综上所述,选择 YX70838-0.96 寸 OLED 作为智能物联网仿生四足机器人的显示
屏, 因为它具有高对比度、鲜艳的颜色、小尺寸、轻量化、高刷新率、低功耗以及易
于集成和编程等优点。这将有助于提供清晰、实时的显示信息,使机器人在用户交互
和状态显示方面具备良好的用户体验和可视化效果。
1.5、 无线通信模块
关于机器人的物联网功能的实现我们选用 ESP8266 作为机器人的通信模块,该
模块较为常见且有以下优点:
Wi-Fi 连接能力: ESP8266 是一款集成了 Wi-Fi 功能的芯片,可以轻松实现与无
线网络的连接。在智能物联网应用中,通过 Wi-Fi 连接,机器人可以与其他设备、云
平台或移动应用进行数据交互和通信。专业综合课程设计说明书
9
低功耗和高效性: ESP8266 芯片具有低功耗的特点,适合在电池供电的智能物联
网应用中使用。它采用先进的睡眠模式和功率管理机制,可以有效降低功耗,延长机
器人的工作时间。
强大的处理能力: ESP8266 芯片内置 32 位的处理器,具备较强的处理能力和运
算能力。这使得它可以处理复杂的通信协议和数据处理任务,为机器人提供高效的通
信和数据处理能力。
开发资源丰富: ESP8266 拥有广泛的开发资源和社区支持。有很多开源项目和库
可供使用,提供了丰富的示例代码和文档,方便开发人员进行快速开发和调试。
选择 ESP8266 作为机器人的通信模块,因为它具备 Wi-Fi 连接能力、低功耗和高
效性、强大的处理能力、丰富的开发资源以及成本效益高等优点。这使得 ESP8266 成
为一个理想的选择,可以轻松实现机器人与其他设备、网络和云平台的通信和数据交
互,为机器人提供更多的智能化和互联性功能。
1.6、 识别模块
为了增加机器人智能化功能,我们加入手势识别功能, 选择 YX66414-GS-2 手势
识别模块作为机器人的外部识别模块。
YX66414-GS-2 手势识别模块采用先进的图像处理算法和深度学习技术,能够实
时准确地识别人体手势。这可以提供高精度的交互操作,使机器人能够根据用户的手
势指令执行相应动作。模块支持多种手势,比如手势划动、旋转、挥动等。这意味着
机器人可以通过不同的手势指令来控制不同的功能和动作,提供更丰富的用户体验和
交互方式。
在快速响应和实时性方面YX66414-GS-2手势识别模块具有快速响应和实时性的
特点,可以在短时间内准确识别手势命令并迅速作出反应。这对于实时控制和交互的
机器人系统来说非常重要,可以提供更流畅、自然的用户体验。 并且该模块较为简单
集成和使用, YX66414-GS-2 手势识别模块提供了简单的接口和通信协议,方便与其
他硬件和控制器进行集成。它还提供了丰富的开发资源和示例代码,降低了开发和使
用的门槛,加快了系统的设计和部署进程。
应用广泛和可扩展性高, YX66414-GS-2 手势识别模块具有广泛的应用领域,可
以用于机器人、智能家居、虚拟现实等各种物联网场景。同时,它还支持固件升级和
功能扩展,可以根据具体需求进行定制和优化。
选择该手势识别模块作为机器人的识别模块,因为其具备高精度的手势识别、多
种手势支持、快速响应和实时性、简单集成和使用以及广泛的应用和可扩展性等优点。
它将为机器人提供更智能、交互性强的控制方式,丰富用户体验,并可以应用于多个
物联网领域。专业综合课程设计说明书
10
1.7、 驱动模块
我们选用幻卡的 16 舵机控制板作为四足机器人舵机驱动板,该板的参数如下:
外形面积尺寸 安装孔距尺寸 产品重量 USB 控制 控制舵机数量
58mm42mm 49mm34mm 18 克 支持 16
存储空间 信号隔离保护 外接单片机 开关内置 过流保护
16M 支持 支持 支持 支持
表格 2 舵机驱动板的数据
选用其有以下优势:
多通道控制: 该控制板可以同时控制多达 16 个舵机,提供了足够的舵机输出通
道,以控制四足机器人的各个关节。 我们机器人每只腿上三个自由度,共需要十二的
舵机,该控制板完全满足舵机控制需要。 这使得控制板能够实现对机器人四肢的精确
控制,使其能够模拟动物的运动,并实现多种姿态和动作。
高精度和稳定性: 该舵机控制板具备较高的控制精度和稳定性,可以精确控制每
个舵机的角度和速度。 该控制板 CPU 采用 ARM Cortex-M3 内核的高性能 STM32 单
片机,高精度控制 16 路舵机运动,速度可调, 这对于实现机器人的平稳行走、灵活
运动和精准定位非常重要,提供了可靠的控制基础。
丰富的功能和接口: 该舵机控制板提供了丰富的功能和接口,可以支持传感器的
连接和数据采集,以及与其他模块的通信。 简单的接线方式,控制板只有正负两路电
源接口, 通过与其他传感器和模块的配合,可以实现更多智能化的功能和交互方式,
如环境感知、路径规划等。
简单集成和使用: 该舵机控制板通常提供简单易用的控制接口和通信协议,方便
与主控板或其他设备进行集成。 支持串口通信,控制器可以跟别的单片机进行接,别
的单片机可以向控制板发送指令, 便于实现机器人的智能控制。 提供完整的通信协议,
提供了丰富的开发资源和示例代码,降低了开发和使用的门槛,加快了系统的设计和
部署进程。
成本效益高:相对于自行设计和制作舵机控制电路,选择该舵机控制板可以节省
开发成本和时间。控制板已经经过专业设计和测试,并提供了标准化的连接和控制接
口,使得整体系统的搭建更加简洁、可靠和高效。
安全性高: 带有 8 路过载保护,大大降低舵机堵转烧坏的风险,并且带有信号隔
离保护。舵机输出端与 CPU 隔离,避免舵机电流浪涌损坏 CPU。
综上所述,因为其具备多通道控制、高精度和稳定性、丰富的功能和接口、简单
集成和使用以及成本效益高等优点。这将为机器人提供强大的动作控制能力,同时降
低开发难度和成本,使得课程设计更具实用性和可行性。专业综合课程设计说明书
11
二、 硬件设计及制作
2.1、 三维模型设计
在本次课程设计中, 三维模型的建立是一个重要的步骤。下面是三维模型建立过程:
1) 设计概念
首先,需要明确机器人的外形和结构设计。根据机器人的功能需求和运动特点,
确定机器人的整体布局、关节结构和运动范围等。我们选择每只腿三自由度的结构,
意味着每只腿需要三个舵机,以舵机为连接将腿分为三部分对应动物的大腿、小腿和
足。机器人的主体,承载电池、控制板和模块,基于舵机的功率我们从轻设计。
2) 创建零部件
a) 腿部模型
基于舵机的尺寸和舵机自带的零部件,我们设计腿部零件。 在设计腿部零件时,
还要考虑机器人的整体重量平衡、力学特性和运动控制方案。综合考虑这些因素,设
计出合适的腿部零件,使机器人能够稳定地行走任务。
连接臂:连接臂是将舵机与腿部其他零件连接起来的部件。设计连接臂时,要考
虑到舵机旋转的角度范围和连接位置,确保腿部能够在合适的范围内运动。
图 4 腿部内中支零件
关节:在腿部的设计中,需要使用关节来增加机器人的灵活性和运动自由度。关
节可以通过连接件与舵机和其他腿部零件连接起来。它们应该具有合适的尺寸和材
质,以确保平稳的转动和连接可靠性。
图 5 腿部足部零件专业综合课程设计说明书
12
脚部结构:设计脚部结构时,要考虑机器人的稳定性和地面适应性。脚部结构考
虑灵活性和支撑的面积采用圆形倒角设计,以提供稳定的支撑和足部与地面的良好接
触。
b) 连接件
考虑到舵机的固定和运动问题,我们通过设计连接件来增加舵机另一端的转动
轴。
图 6 舵机连接件
c) 主体模型
主体考虑到连接腿部关节和承载电池、控制板和模块。
图 7 机器人主体
3) 组装和调整
将上述零部件组装在一起,以创建机器人的整体模型。在组装过程中,可以根据
实际需要进行零部件的调整和定位,确保机器人的部件之间能够正常连接,并且具有
期望的运动自由度。
图 8 机器人装配图 1专业综合课程设计说明书
13
图 9 机器人装配 2
4) 优化和检查
添加细节,如设计孔洞,便于自攻螺钉的装配。并对模型进行检查, 确保模型的几
何形状正确无误。最后将建立好的模型导出, 以便后续的制造或进一步的处理。
2.2、模型打印
首先关于材料的选择, 选择环氧树脂为 3D 打印件的材料。 该材料有以下其他材
料所不具备的优点:
1、 环氧树脂通常比传统材料(如金属、塑料等)更轻,可以减少机器人自身的重
量,提高机器人的运动效率和能耗性能。对于四足机器人而言,轻盈的结构可以降低
负载,提高机器人的行走速度和稳定性。
2、采用环氧树脂进行 3D 打印具有制造灵活性,可以实现复杂结构和细节的快速
制造。这使得我们可以根据具体需求设计和打印出适应机器人关键部件的个性化结
构,以提供更好的负载分布、刚度和强度,从而提高机器人的整体性能。
3、环氧树脂可塑性和可定制性好, 环氧树脂可以进行后续的切割、修剪和组装,
提供了更大的设计灵活性和个性化定制能力。这使得我们可以根据实际需求进行结构
调整和改进,满足不同应用场景下机器人的特定要求,如机器人外观设计、装配方式
等。
4、 成本效益高。 相对于传统的制造工艺,如铸造和机械加工,环氧树脂 3D 打印
技术具有较低的制造成本。这使得我们可以以较低的成本制造出高质量的机器人零部
件,降低整体项目的开发成本,并为学生提供更经济实惠的课程设计方案。
以下是打印的过程:专业综合课程设计说明书
14
图 10 3D 打印过程
2.3、装配走线
装配走线过程是将机器人的各个零部件组装在一起,并安装电子元件和传感器,
并进行走线连接的过程。
图 11 电源布线基本框图
上图是电源布线的基本框图,将 7.6V 的电池有稳压降压模块 LM2596S 降压稳压
后降为 6V 电压,供给给舵机驱动板。舵机驱动板给 12 路舵机供电,同时将 6V 降为
3.3V 给 STM32 及各个外设模块供电。
下图是智能物联网仿生四足机器人的控制基本框图,利用 STM32C8T6 的 3 个串
口实现与电脑上位机、 ESP8266、舵机驱动板的通信。同时利用开发板内部的 IIC 总
线控制后 OLED 屏和手势识别模块,利用内部的 SPI 总线控制前 OLED 屏。专业综合课程设计说明书
15
图 12 机器人控制基本框图
以下是一个简要的装配走线过程:
1、 将打印好的 3D 模型零部件准备好,确保它们符合设计要求,没有损坏或缺
陷。同时准备好所需的电子元件、传感器、接线材料和工具。
2、 安装电子元件和传感器, 根据设计要求,将电子元件(如控制板、 舵机驱动器
等)和传感器进行安装。按照预先配置的引脚,和相关的说明书或设计文档,正确连
接电子元件和传感器到机器人的相应接口。 使用适当的连线材料,根据接线图或设计
文档,连接机器人的各个电子元件和传感器之间的信号线路。这包括连接电机驱动器
和电机、连接传感器与控制板等。
图 13 安装接线过程
3、 连接电源线路:将电源线路连接到机器人的电子元件和传感器上。这包括将
电池连接到电源输入端、将稳压电源连接到控制板等。确保电源线路连接稳固可靠,
并遵循正确的极性连接。 在进行走线连接时,要注意保持走线整洁有序。使用束线带
或其他固定装置将走线束起来,防止杂乱和相互干扰。
4、测试和调试:完成走线连接后,进行测试和调试。确保机器人的各个电子元
件和传感器能够正常工作,并进行必要的调整和校准。专业综合课程设计说明书
16
图 14 装配完成
三、 代码编写
图 15 机器人值控制逻辑
上图为机器人值控制逻辑, 由于代码量较多,按模块分开简略叙述:
3.1、 串口 USART1—调试串口
通过和电脑上位的串口通信实现监测程序的实时步骤,并以此为反馈进行代码的
调试。
首先配置 GPIO 口, 配置 PA9 设置为推挽复用输出, 将 PA10 设置为浮空输入模
式。将 USART1 配置为: 波特率 115200,配置字长 8 位,停止位为 1,配置校验位并
设置相关的工作模式。在配置串口中断,设置串口中断程序,并是能串口。
以下是串口配置的代码:专业综合课程设计说明书
17
图 16 调试串口的执行过程专业综合课程设计说明书
18
3.2、 ESP8266 通信程序
同样我们先进行 GPIO 引脚的初始化,配置相关的时钟,发生 AT 指令配置
ESP8266 模块使其通过WIFI连接到网络上,在此过程我们通过电脑上位机和后OLED
屏幕监视程序进行到的步骤。专业综合课程设计说明书
19
图 17 ESP8266 接入到 WIFI 的显示过程
3.3、 舵机驱动程序
舵机控制板是控制机器人实现各种运动的重要模块。机器人需要控制同时控制
12 个舵机,因此舵机控制板需要有足够多的接口。我们选用了幻尔厂家的 16 路舵机
驱动板,该控制板能够通过串口控制数字舵机对多个舵机进行控制。该舵机控制板拥
有 16M Flash 容量,可同时操作 16 路伺服舵机,控制精度达 1us,可以对伺服电机
的信号进行隔离,保证运行的稳定性。同时支持联机操作,通过单片机向其发送串口
指令,可以控制舵机进行相应的动作。同时支持将动作组指令下载到控制板上,通过
发送特定的串口命令执行动作组。
我们选用 USART3 作为其的通信串口,我们首先进行串口的初始化,然后根据例
程代码向驱动板发生相关的报文来实现多路舵机的驱动。专业综合课程设计说明书
20
3.4、 前后显示屏的显示程序
我们选用两块屏幕作为机器人的显示,后显示屏采用 SPI 协议、前显示屏采用 IIC
协议。 后显示屏用来显示指令字母,我们通过编列行数、列数来实现指令一行一行的
更新显示。不过首先还是初始化 IIC 和 SPI,给屏幕发送相关的指令来初始化屏幕。专业综合课程设计说明书
21
后显示屏主要显示机器人的表情,我将相关的图片裁剪,二值化处理,对图片进
行脱模,将脱模文件加入到程序中完成表情的显示和更改。
图 18 图片取模处理
通过以上的程序完成,动画个表情图片的显示。专业综合课程设计说明书
22
图 19 OLED 屏幕显示
3.5、 手势识别模块程序
PAJ7620 手势传感器,能够识别 9 种手势,具有尺寸小,功能多,反应快,抗干
扰能力强等特点,最高每秒能够测量 240 次。内置红外 LED 和光学镜头,能在低光
和黑暗环境下工作。支持 I2C 接口通信,仅需两根信号脚即可控制。适用于智能家居,
机器人机交互等场景。 本次设计中用以进行与机器人互动。
使用外部中断监测 PAJ7620 手势传感器的中断引脚,当 PAJ7620 手势传感器监
测到手势时候, INT 引脚的电压会抬高触发外部中断。在该程序我们先进行 PAJ7620
手势传感器对应引脚外部中断的初始化, 再对 IIC 进行初始化,发送初始化指令。设
置外部中断程序并在 while 循环中加入监测的程序。专业综合课程设计说明书
23
3.6、 主程序
主程序主要完成以上程序的执行和重复,是机器人执行的直接程序。专业综合课程设计说明书
24专业综合课程设计说明书
25
四、 步态运动功能实现
通过观察蜘蛛的步态,独立自主编写步态算法。实现了机器人的前进,后退,
站立,挥手等基本动作。为了适应多种地形环境,日后还会继续进行拓展。在本次课
程设计中,机器人步态功能的实现是一个重要的部分。步态控制可以使机器人实现平
稳的行走、奔跑和其他运动模式。以下是一种基本的步态实现方案:
步态规划:首先需要进行步态规划,确定机器人每条腿的移动轨迹和相位关系。
步态规划的目标是使机器人保持平衡且正常移动。常见的步态包括慢步、快步、奔跑
等,根据设计要求调整步态参数。
腿部控制:对于每条腿,需要根据步态规划确定各个关节的角度或位置。通过计
算相应的舵机控制信号,将信号发送给舵机以控制关节的运动。这样可以实现机器人
腿部的协调运动。
姿态调整:为了保持机器人的平衡,需要进行姿态调整。通过使用惯性测量单元
(IMU)或其他传感器获取机器人的姿态信息,比如倾斜角度和加速度。根据姿态信
息,通过计算得到相应的控制信号,调整机器人的姿态,保持平衡。
步态控制策略:根据实际应用需求,可以采用不同的步态控制策略。常见的策略
包括开环控制和闭环控制。开环控制是基于预设的步态参数进行运动控制,缺乏对实
际环境的反馈。闭环控制则根据传感器的反馈信息来调整步态参数,使机器人能够更
好地适应外部环境。
研究最后步态算法解析:
图 20 步态算法解析(注意抬起前移和后移之间有 delay)专业综合课程设计说明书
26
图 21 动作代码(部分)
五、无线通信
机器人主要利用 ESP8266 通过 MQTT 协议接入到 ONENET 实现物联网功能,我
们可以在 ONENET 的官网上下发指令,也可以在手机上使用 APP 同样通过 MQTT 协
议接入到 ONENET,通过 TCP 连接向对应的话题发送指令也可以接收机器人通过话
题发送的指令借此可以得到机器人的状态数据。
图 22 机器人实现无限通信的基本框图
实现步骤分为以下几个方面:专业综合课程设计说明书
27
1、 注册账号和创建设备
首先在 ONENET 平台上注册账号,并创建一个物联网设备。为设备分配一个唯
一的设备 ID 和密钥,用于与设备进行身份验证和数据交换。
图 23 ONENET 网站
2、 准备硬件
将 ESP8266 模块与四足机器人的电路连接起来。 ESP8266 模块负责与 ONENET
平台进行通信。确保 ESP8266 模块正常工作,并通过串口或其他方式与 STM32 微控
制器进行通信。
3、 配置 ESP8266
使用适合的开发环境,编写 ESP8266 的代码。在代码中,配置 ESP8266 连接到
无线网络,并设置 MQTT 相关参数,如服务器地址、端口号、设备 ID 和密钥等。确
保 ESP8266 能够通过 Wi-Fi 连接到互联网。
我们通过相关的协议,分析相关的报文,将我们在 ONENET 平台上建立的设备
的 MQTT 相关参数构建到报文里。在 MQTT 协议中,报文由固定报文+可变报文+负
载所构成。
3.1、固定报文
由八位二进制构成: 高四位 mqtt 报文类型 低四位保留位 0
则 0001 0000 CONNECT 建立连接对应 10
3.2、 可变报文
CONNECT 的可变报文分为四个字段:协议名、协议级别、连接标志、保持连接
3.3、 负载
我们可以将我们连接的 MQTT 数据加入到负载中。
机器人 id: 1011655943---(对应 16 进制) 设备 id 31 30 31 31 36 35 35 39 34 33
手机 APP id: 1011681699---(对应 16 进制) 设备 id 31 30 31 31 36 38 31 36 39 39
产品 id: 35 35 34 30 34 30
密码---鉴权信息 31 32 33 34专业综合课程设计说明书
28
4、 实现 MQTT 功能
在 ESP8266 的代码中,引入 MQTT 库(如 PubSubClient),以便使用 MQTT 协议专业综合课程设计说明书
29
与 ONENET 平台进行通信。编写代码实现 MQTT 连接、订阅主题和发布消息的功能。
根据需要,可以定义自己的消息格式和主题结构。
5、 数据解析和交换
通过 MQTT 协议,将传感器数据从机器人发送到 ONENET 平台,或从 ONENET
平台接收来自远程控制的指令。在代码中,编写相应的函数和逻辑,实现数据的发布
和订阅。可以根据传感器数据进行状态监测、远程控制机器人或与其他设备进行数据
交互。
针对数据的解析主要使用 JSON 实现 MQTT 数据的转换可以方便地将数据格式
化为 JSON 字符串,然后在发送和接收时进行转换。下面是使用 JSON 实现 MQTT 数
据转换的步骤:
5.1、引入 JSON 库:首先需要引入一个 JSON 库,比如 ArduinoJson(适用于
Arduino 等嵌入式平台)或者 RapidJSON(适用于其他平台)。根据开发环境选择合
适的库,并添加到项目中。
5.2、数据编码为 JSON:将要发送的数据按照 JSON 的格式进行编码。你可以
创建一个 JSON 对象,并使用库的功能将数据填充到对象中。然后,将 JSON 对象
转换为字符串形式的 JSON。
5.3、发布消息:将 JSON 字符串作为 MQTT 消息的有效负载发送到指定的话
题中。
5.4、数据解码:在接收到 MQTT 消息后,可以使用 JSON 库对 JSON 字符串
进行解码,以获取其中的数据。
在上述过程中,我们使用 deserializeJson 方法对收到的 MQTT 消息的有效负载
进行解码,并将解码后的 JSON 对象存储在 jsonDoc 中。然后,我们从 JSON 对象专业综合课程设计说明书
30
中提取出数据,以供后续处理。
使用 JSON 实现 MQTT 数据的转换可以使数据更加结构化、易于理解和扩展。
你可以根据具体需求定义和解析更多字段,以满足课程设计的要求。
6、 运行代码
将编写好的代码烧录到 ESP8266 模块上,启动运行。确保 ESP8266 能够正常连接
到无线网络和 ONENET 平台,并能够进行 MQTT 通信。通过查看串口打印信息,确
认与 ONENET 的连接状态和数据交换情况。
7、 数据可视化与控制
在 ONENET 平台上,配置相应的数据流和控制命令,以实现对机器人的数据可
视化和远程控制。通过 ONENET 平台提供的图表、仪表盘或 API 功能,实时监测机
器人状态、获取历史数据和发送控制指令。
图 24 ONENET 指令的下发
同样手机 APP 通过 MQTT 向平台或机器人发送数据,机器人通过话题接收数据
而平台直接接收。
图 25 手机对机器人和平台发送和接收数据专业综合课程设计说明书
31
图 26 接入 ONENET
通过以上步骤,可以将智能物联网仿生四足机器人接入到 ONENET 平台,实现
与其他设备的数据交换和远程控制。这样可以实现对机器人的监控、管理和远程操作,
方便实现物联网应用功能。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
20天前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
36 1
|
1月前
|
传感器 监控 安全
未来家居生活的智能化革命:探索物联网技术在智能家居中的应用
【8月更文挑战第5天】当物联网技术遇上智能家居,一场关于便捷、舒适与节能的生活革命悄然拉开帷幕。本文将探讨物联网如何通过高度互联的设备网络,实现家庭环境的智能管理,提升居住体验的同时,促进能源的有效利用。
|
1月前
|
人工智能 算法 机器人
机器人版的斯坦福小镇来了,专为具身智能研究打造
【8月更文挑战第12天】《GRUtopia:城市级具身智能仿真平台》新论文发布,介绍了一款由上海AI实验室主导的大规模3D城市模拟环境——GRUtopia。此平台包含十万级互动场景与大型语言模型驱动的NPC系统,旨在解决具身智能研究中的数据稀缺问题并提供全面的评估工具,为机器人技术的进步搭建重要桥梁。https://arxiv.org/pdf/2407.10943
164 60
|
14天前
|
人工智能 网络协议 物联网
AIoT智能物联网平台技术架构
AIoT智能物联网平台的技术架构从终端设备到物联网平台可分为边缘侧网关、接入网关层、基础设施层、中台层和应用层。
50 14
|
30天前
|
机器学习/深度学习 传感器 物联网
使用Python实现深度学习模型:智能物联网与智能家居
【8月更文挑战第13天】 使用Python实现深度学习模型:智能物联网与智能家居
30 2
|
11天前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
28 0
|
1月前
|
机器人 TensorFlow 算法框架/工具
智能聊天机器人
【8月更文挑战第1天】智能聊天机器人。
56 2
|
23天前
|
人工智能 自然语言处理 安全
盘点国内:AI写作助手_ai智能问答机器人
AI写作助手是利用人工智能技术,特别是自然语言处理(NLP)技术,来辅助用户进行写作的工具。这类助手通过分析大量文本数据,能够理解语言的结构和含义,从而生成、编辑或优化文本内容。AI写作助手通常具有自动纠错、语法检查、内容生成和风格调整等功能,帮助用户提高写作效率和质量。
|
1月前
|
自然语言处理 监控 搜索推荐
使用 LangChain 创建高度互动和智能的聊天机器人
【8月更文第3天】随着自然语言处理(NLP)技术的进步,聊天机器人已成为企业和用户之间互动的重要渠道。LangChain 是一个强大的框架,旨在简化构建复杂语言模型应用程序的过程。本文将详细介绍如何使用 LangChain 框架创建高度互动和智能的聊天机器人,包括选择合适的语言模型、设计对话流程、上下文管理以及集成外部API和服务等内容。
74 0

热门文章

最新文章