多足机器人系列使用说明书(组装教程)
V 1.0.0.
By Tibos
目录
1.1 本文介绍
机器人主板可用于六足机器人、四足机器狗等机器人。
欢迎加入粉丝群,887564874,分享技术好物!
使用机器人过程中出现任何问题,欢迎到粉丝群沟通、交流!
发现更多好货,获取开源资料!
本文将以三种不同的舵机来区分六足机器人的安装调试过程,分别是MG90S、996R、双轴舵机。三种舵机的机器人形状、大小、性能均不一样,程序略有不同,但使用相同主板。
本章节介绍三种舵机的基本信息,和通用控制方式。
1.2 MG90S舵机
实物介绍:
型号 | MG90S |
重量 | 14g |
转动角度 | 180度(左右各90度) |
使用电压 | 3V到7.2V |
舵机类型 | 数字舵机 |
使用温度 | -30度到+60度 |
结构材质 | 金属 |
适用范围 | 固定翼、机器人、模型等 |
图1.1 MG90S实物图
图1.2 MG90S尺寸
1.3 MG996R舵机
实物介绍:
型号 | MG996R |
重量 | 55g |
转动角度 | 180度(左右各90度) |
使用电压 | 3V到7.2V |
舵机类型 | 数字舵机 |
使用温度 | -30度到+60度 |
结构材质 | 金属 |
适用范围 | 固定翼、机器人、模型等 |
图1.3 MG996R实物图
图1.4 MG996R尺寸
1.4 双轴舵机
实物介绍:
型号 | 双轴舵机 |
重量 | 56g |
转动角度 | 180度(左右各90度) |
使用电压 | 4.8V到8.4V |
舵机类型 | 数字舵机 |
使用温度 | -30度到+60度 |
结构材质 | 金属 |
适用范围 | 固定翼、机器人、模型等 |
图1.3 双轴舵机实物图
图1.4 双轴舵机尺寸
1.5 本章小结
本章节介绍了三种不同的舵机,分别是MG90S、996R、双轴舵机。这三种舵机控制方式均为PWM控制。控制方式如下:
图1.5 舵机线的定义
图1.6 PWM占空比与舵机角度关系
了解了舵机控制原理,为后续的安装过程做下铺垫。
2.1 本章节介绍
本章节介绍三种不同舵机的安装过程,三种舵机使用的支架不同,安装方式也不尽相同。三种支架所用螺丝、配件在同文件夹中的清单中。
2.1.1 六足机器人
有一点需要注意,尽管使用的舵机不同,但安装过程中都需要先把舵机插入主板,给主板上电(使用电池供电,电池相关参数在群公告里有说明,最好使用3S-2700mah左右的XT60接口的航模电池),打开两个开关,控制信号正常后(指舵机受控制的转动),舵机转动后稳定,再安装舵机,将机器人调整为站立姿态,再进行固定。这一点是机器人能够正常行走的关键步骤之一。
可以到B站搜索六足机器人组装教程,网上内容较为详细,本文不再赘述。
在安装主板与舵机时,需要确保主板中的程序正常运行,具体为遥控控制函数正常运行,比如:HEXAPOD_Data_Processing()函数正常运行(表现为手柄正常通信,两颗指示灯不闪烁,手柄上的mode按键按下无法改变模式)、Lidar_Avoid()、nec_control()、blinkerControl()……以及步态规划函数、逆运动学计算函数正常运行,即:Gait_update()、Gait_plan()函数正常运行(表现为,进入STM32调试模式,观察Servo[]数组是否变化,是否不全为0)。
2.1.2 四足机器狗
机器狗不同于六足机器人,需要额外调节很多参数,这些参数主要是步长,步态周期等。参数在Inverse_K.c文件中,有如下图所示参数需要调整。
图2.1.2.1 机器狗所需调参截图
除此之外,机器狗的调试需要先设定两个变量。
主函数中包含两个变量:Gait_Mode、Mainstate_Mode,这两个变量分别代表机器人的状态和步态,在第一次调试的过程中需要将Gait_Mode的值赋值为0,表示此时的机器狗状态为静止,每一个舵机的角度为90°,此时可以调节舵机初始角度,让机器狗的状态调整为站立的姿态。调整好初始舵机角度后,再将Gait_Mode的值赋为2或者其他运动状态(一般为2),方可进行下一步调参。
图2.1.2.2 机器狗舵机接线
2.2 MG90S舵机-六足机器人
该舵机是三种舵机中尺寸、力矩、功耗最小的舵机,但拥有着较高的性价比,可以完整实现机器人的所用动作和步态,但承载能力较差,机身扩展能力较低。
使用MG90S舵机需要购买对应的打印件,完整打印件如下图所示:
图2.2.1 MG90S完整打印件图
首先,安装足尖,从打印件中找到这三份零件,按照图示安装好,每一份需要打两颗M2*6mm的螺丝,一共六份:
图2.2.2 MG90S足尖打印件组装图
第二步,安装tibia关节与femur关节的连接件,此部分会将两颗舵机连接为一个整体(安装舵机时,不要使用舵盘固定,在安装完成所有打印件后,最后调试舵机角度时再进行固定)。在材料包中找到如下图所示两个零件以及两颗舵机,按照图示将舵机与打印件材料装在一起。然后准备两颗M2*25mm的螺丝,按照图示将螺丝固定到打印件支架上(螺丝材料充足可以将四个螺丝孔都打入螺丝)。舵机轴的方向、朝向以及对称性均有要求,按照图示所示。安装过程如下图所示:
图2.2.3 MG90Stibia关节与femur关节打印件组装图
第三步,安装femur关节与coxa关节的连接件、足尖coxa关节的连接件。与此部分会将第一步的足尖安装到coxa关节的连接件、第二步安装的tibia关节、femur关节连接到coxa关节的连接件上。首先,从打印件中找到这五份材料,按照如图所示安装,注意安装会有方向限制,表现为,在安装舵机时,会让舵机的轴指向按照逆时针方向排列,具体如图所示。安装好后,需要在每一个安装位置打入四颗M2*6mm的螺丝。安装过程如下图所示:
图2.2.4 MG90S coxa关节打印件组装图
然后,组装第二步的舵机组件到coxa关节连接件,需要将舵机轴插入到三角形卡口的六边形洞里,然后将整个舵机卡入coxa关节连接件,如下图所示。此外,还要准备一颗M4*8mm的螺丝装入舵机轴的另一个方向,用于固定舵机组件与coxa关节连接件。与此同时,将第一步的足尖安装到舵机组件的另一边,同样的方式,同样需要打入一颗M4*8mm的螺丝用于固定。安装过程如同下图所示:
图2.2.5 MG90S 舵机组件与coxa关节连接件组装图
图2.2.6 MG90S 舵机组件与足尖组装图
第四步,组装coxa关节连接件。此部分作为机器人的髋关节,起到连接大腿、小腿到身体的作用。首先需要找到如图所示的两份打印件材料和一个舵机,然后将两份材料装到舵机的上下两面,注意材料有方向,如图所示。然后,准备两颗M2*25mm的螺丝,用于固定舵机。安装过程如同下图所示:
图2.2.7 MG90S coxa关节连接件组装图
第五步,将coxa关节连接件连接到身体。身体部分的打印件分为两部分,分别为body_top和body_dipan,先安装腿部与body_dipan,此操作将腿部和body_dipan进行连接,将六只腿均安装到body_dipan后,再将body_top安装到舵机上,安装好后,将腿部连接到coxa关节连接件,注意方向,此时,空位对准后,每一只腿打入两颗M2*6mm的螺丝,连接每一个舵机与主板。主板与身体的连接使用M3*6mm的螺丝(此螺丝需要自行准备)。安装过程如下图所示:
图2.2.8 MG90S coxa关节与身体组装图
第六步,整体舵机初始角度调试。这一步最为关键,由于在安装过程中没有使用舵盘固定舵机,目前机器人的状态应该是松散无力的,此时我们需要将舵机的信号线按照特定顺序插到主板的对应位置,此时先固定主板,将主板通电(注意需要接入电池,避免使用USB供电),打开两个开关(分别是主电源开关、舵机供电开关),通电后,舵机会转动,然后停止,程序中开机给出的舵机控制信号默认是站立的姿态的信号,此时我们只需要将每一条腿调整为站立的姿态,然后将舵机与打印件用舵盘进行固定,即可完成整个机器人的组装。注意此时舵机轴的方向应该是逆时针的。如下图所示:
图2.2.9 MG90S 舵机轴方向图
特定顺序如下图所示:
图2.2.10 MG90S 舵机接线顺序图
安装调试过程如下图所示:
图2.2.11 MG90S coxa关节连接件组装图
需要安装雷达的,参考第三章的功能测试的雷达测试部分安装过程。安装后效果如图所示:
图2.2.12 MG90S coxa关节连接件组装图
2.2 MG996R舵机-六足机器人
2.3 双轴舵机-六足机器人
3.1 本章节介绍
本章节介绍机器人遥控方式、主板、安装调试过程。目前有三种版本不同主板,分别是Hexapod F103双层主板、Hexapod F407双层主板以及Hexapod F407四层主板。新的版本正在开发中,敬请期待。
主板支持typec串口、swd调试接口调试,具体查看原理图。
机器人可用来控制六足机器人、四足机器狗等机器人。
主板标配运动学算法、不太规划、坐标变换等经典算法,采用LU9685舵机驱动芯片,板载三路供电,支持3.3V-500mA、5.0V-3A、5.0V-5A的电源输出方案,板载各种外设接口(OLED、PS2、USART等),电池电压检测,状态指示灯,电源指示灯等。
主板使用舵机的时候,必须使用电池供电,调试的过程中也要将type-c的接口插上,不能使用调试器的电源给主板供电。
当使用高负载供电时,比如996R舵机,此类舵机要求供电较高,机器人机械结构没调试好的情况下容易导致板载电源发热,此时需要安装外接电源,安装外接电源的示意图如下:
图3.1.1 外置电源模块接线示意图
四层板功能一致,但布局有所变化:
图3.1.2 外置电源模块接线示意图
图3.1.3 PS2接收器接线示意图
图3.1.4 F103主板示意图
3.2 各种功能测试
机器人支持多种控制方式,包括航模PPM信号控制、红外遥控器控制、无线/有线串口控制(WiFi、蓝牙等串口通信设备)、PS2手柄控制、ESP32手机物联网控制等。
已经做过的包含:Blinker手机图传控制 数据返回 激光雷达测距 激光雷达避障 热成像 颜色识别 PS2遥控 无线串口 循迹 超声波避障 超声波测距 红外避障等等功能
默认控制方式为红外遥控器控制方式,需要其他控制功能可以支持自定义。
3.2.1 航模PPM信号控制
3.2.2 红外遥控器控制
图3.2.2.1 红外遥控器控制方式
3.2.3 串口控制
串口控制,对于手机用户来说,可以是蓝牙控制,此时需要将蓝牙模块连接到主板的串口2接口,如下图所示:
图3.2.3.1 蓝牙模块安装示意图
此时手机需要下载一个蓝牙助手(询问群主或者交流群群友),用于连接蓝牙模块,发送控制信息和接收反馈信息,需要先进入按键控制窗口下,点击编辑模式,点击按钮进入编辑模式后打开HEX,然后修改各个按钮的发送值,修改完毕后,记得点击取消编辑模式。如下图所示:
图3.2.3.2 蓝牙模块按键键值示意图
第一次使用带蓝牙的板子时,在蓝牙调试助手中需要选择特征值,也就是第一次连接的时候弹出的窗口中选择:
按照以下步骤操作:
1.先打开控制板电源,舵机电源可以先不开
2.进入蓝牙APP 点击左下角设备连接
3.找到ESP32开头的设备
4.ESP32名字后面的灰色齿轮按钮(设置)
5.选择透传服务UUID
6.点击这一栏的下拉箭头,选中4fafc201开头的数据,就OK了 特征值就配对完毕了
同时,在程序中也要做出相应的修改,分别是初始化串口2的中断、编写中断服务函数。初始化中断使用HAL_UART_Receive_IT(&huart3, (uint8_t *)&aRxBuffer, 1);函数,中断服务函数主要是进行帧头帧尾校验,同时将控制信息取出。代码片段如下:
图3.2.3.3 串口中断代码片段图
3.2.4 PS2手柄控制
主流控制方案,该遥控器具有实时性高、错误反馈、按键多、操作自由等特点。
PS2手柄的使用需要注意,先打开手柄电源,再打开机器人总电源,确保机器人收到正确的控制信号。
接收器的安装需要注意正负极,安装需要一条6P的排线,连接好主板与接收器后,给主板上电,先按下主板的Reset按键复位系统,再次按下手柄上的START按钮,待手柄红绿灯都常亮时,方可进行遥控。需要注意的是,机器人只有在接收到正确的遥控指令后才可以运动,如果接收器没有与主板进行正确的通信,机器人无法运动,将一直保持站立的姿态。历史版本主板与PS2连接图如下:
图3.2.4.1.1 PS2手柄接收器安装示意图
图3.1.4.1.1 PS2接收器接线示意图
四层板使用CONN-SMD_1.25-6PWT接口,因此需要购买额外的转接排线:
图3.2.4.2 PS2手柄接收器安装示意图
手柄使用两节7号电池,将电池安装好后,打开下方开关,上方两颗红绿LED灯闪烁,当手柄与接收器连接成功后,两颗LED灯将不再闪烁,转为常亮,此时表明手柄与接收器连接成功。若要验证机器人主板与接收器通信是否正常,需要按下mode键验证,如果表现为红绿灯常亮,不会被按键改变,则主板通信正常,反之,则通信不正常。
图3.2.4.2 PS2手柄控制方式
图3.2.4.3 PS2手柄按键返回值
发现手柄接收不到正确信号,且如果手上有示波器,可对手柄信号进行检查,以下是手柄CLK、CS、DO、DI信号的正常波形,如果您修改代码后不能正常使用手柄,可对波形进行检查:
图3.2.4.4 CLK波形
图3.2.4.4 CS波形
图3.2.4.4 DO波形
图3.2.4.4 DI波形
如果需要进入调试模式,对机器人进行调试,比如观察舵机角度值、手柄反馈值等。需要准备一个J-link调试器(其他调试器理论上也可行,但推荐J-link,可以直接用,但需要改线,不能直接插在主板SWD口),然后连接到主板,进入KEIL5编程软件,编译下载代码,然后进入调试模式,快捷键是Ctrl+F5。
进入调试模式后,打开Watch窗口,在窗口中可以看到Servo[]数组,一共18个元素,分别对应十八个舵机的角度,默认打开主板后,舵机角度值为站立的角度,所以在安装舵机的时候,需要先打开主板供电,打开主板,打开舵机供电,插好舵机,这时候舵机转动的角度即为机器人初始站立姿态。调试界面如图所示:
图3.2.4.3 调试界面示意图
在最新的程序中,可以用手柄来控制各种模式,比如按下手柄的按键11,可以切换到雷达避障模式:
按下按键9后,可以切换回PS2控制模式:
3.2.5 ESP32手机物联网控制
这种控制方案,拥有手机控制、实时传输视频画面、扩展性强等特点。
手机需要下载Blinker软件,按照下面链接教程装好之后,将手机与ESP32连接至同一WI-FI,打开机器人总电源,等待系统启动成功,即可连接到机器人,手机方可显示实时视频内容和完成对机器人的控制。
将数据线插入这里的ESP32-CAM:
打开手机Blinker APP:
参考官方教程链接:
参考第三方教程链接:
blinker控制hexapod和图传功能演示_哔哩哔哩_bilibili
图3.2.5.1 ESP32手机Blinker控制方式
图3.2.5.2 ESP32手机Blinker控制处理函数
3.2.6 激光雷达控制
拿到雷达后,可以先用串口助手连接到乐动官方的上位机进行测试:
通过网盘分享的文件:乐动通用上位机-v3.0.5.zip
链接: https://pan.baidu.com/s/1PqgPRcHM4kvI30v35BiDbg?pwd=ri82 提取码: ri82
选择好正确的串口号就可以查看雷达返回的数据了
这种避障方案,使用LDS14激光雷达,拥有360°无死角扫描周边障碍物、精确度高、TOF激光测距、扩展性强等特点。后期可以将此激光雷达移植到ROS端,群内资料包含ROS相关SDK,欢迎下载、技术探讨。在使用F1系列的主板时,由于主板布局的影响,安装该雷达需要一个雷达支架,如下图所示:
图3.2.6.1 F103主板激光雷达转接板
雷达与F1主板之间的连接,通过串口3来进行通信,雷达使用5V供电,主板上设置有专门的串口接口,可用于雷达通信,原理图、PCB如下图所示:
图3.2.6.2 F103主板的串口
在进行连接的时候,注意从左到右分别接到雷达的对应IO口上如下图所示,MK1_TXD接到雷达的RX信号,MK1_RXD断开,不接,PGND接到雷达的负极,+5V接到雷达的5V正极。
图3.2.6.3 雷达接线示意图
3.3 Hexapod F103双层主板
主板PCB:
图3.3.1 F103主板PCB
特点:价格实惠、性价比高。
3.4 Hexapod F407双层主板
主板PCB:
图3.4.1 F407双层主板PCB
特点:性能强劲、扩展能力强。
3.5 Hexapod F103四层主板
板子标题: F103C8T6_ROS
PCB 标题: F103C8T6_ROS
时间: 2025-01-20 10:58:31
板子尺寸: 56.896mm x 85.852mm
层: 总计 24, 铜箔层 4
器件: 38
封装: 30
元件: 总计 133,顶层 131,底层 2
焊盘: 总计 577, 表贴 476,金属化孔 101, 非金属化孔 0
网络: 总计 125, 未布线 0
挖槽区域: 6
过孔: 总计 553, 通孔 553, 盲埋孔 0
铺铜区域: 19
导线长度: 2325.113mm
图3.5.1 F103四层主板PCB
特点:价格实惠、性价比高、性能强劲、扩展能力强、集成度高、最新版本。可使用最新代码。
3.6 Hexapod F407四层主板
主板PCB:板子尺寸: 64.516mm x 77.724mm
层: 总计 24, 铜箔层 4
器件: 45
封装: 36
元件: 总计 160,顶层 138,底层 22
焊盘: 总计 634, 表贴 525,金属化孔 109, 非金属化孔 0
网络: 总计 173, 未布线 0
挖槽区域: 4
过孔: 总计 281, 通孔 281, 盲埋孔 0
铺铜区域: 9
导线长度: 3165.308mm
图3.6.1 F407四层主板PCB
特点:性能强劲、扩展能力强、集成度高、最新版本。可使用最新代码。
4.1 本章节介绍
本章节介绍三种不同舵机、主板的安装过程中的注意事项,三种舵机使用的支架不同,控制主板中的程序有细节差异,安装中也有一些需要注意的地方。
严禁将航模电池的平衡充接口接入到板载SWD下载接口,此操作将直接烧毁主板,造成严重后果!
图4.1.1 航模电池平衡充接口图
图4.1.2 板载SWD下载接口图
4.1 MG90S舵机
注意舵机安装方向,一般机器人正面与自己正面保持同一方向,安装时,从上到下俯视机器人,大腿关节、小腿关节的舵机轴呈现逆时针方向排布,髋关节的舵机轴垂直纸面向外。
4.2 MG996R舵机
此舵机采用专用的机器人支架,参考教程文档中的《MG996R舵机机器人专用教程文档》。
4.3 双轴舵机
与MG90S的舵机安装方式一致。注意舵机安装方向,一般机器人正面与自己正面保持同一方向,安装时,从上到下俯视机器人,大腿关节、小腿关节的舵机轴呈现逆时针方向排布,髋关节的舵机轴垂直纸面向外。
时间 | 版本号 | 更新内容 |
20240711 | V 1.0.0. | 更新三种舵机介绍,三种主板,三种支架,首次进行教程编写 |
20240817 | V 1.0.0. | 更新ESP32控制 |
20241018 | V 1.0.0. | 更新MG90S舵机模型的安装教程 |
20241230 | V 1.0.0. | 更新PCB信息 |