六足机器人组装教程(逆运动学、步态规划、矩阵变换、FreeRTOS)

多足机器人系列使用说明书(组装教程)

V 1.0.0.

By Tibos

目录

一、序言.... 4

1.1 本文介绍.... 4

1.2 MG90S舵机.... 4

1.3 MG996R舵机.... 5

1.4 双轴舵机.... 7

1.5 本章小结.... 8

二、散件安装过程.... 10

2.1 本章节介绍... 10

2.1.1 六足机器人.... 10

2.1.2 四足机器狗.... 10

2.2 MG90S舵机-六足机器人... 12

2.2 MG996R舵机-六足机器人... 23

2.3 双轴舵机-六足机器人... 23

三、主板调试过程.... 24

3.1 本章节介绍... 24

3.2 各种功能测试... 26

3.2.1 航模PPM信号控制... 27

3.2.2 红外遥控器控制... 27

3.2.3 串口控制... 27

3.2.4 PS2手柄控制... 27

3.2.5 ESP32手机物联网控制... 33

3.2.6 激光雷达控制... 36

3.3 Hexapod F103双层主板.... 39

3.4 Hexapod F407双层主板.... 40

3.5 Hexapod F103四层主板.... 41

3.6 Hexapod F407四层主板.... 41

四、注意事项.... 43

4.1 本章节介绍... 43

4.1 MG90S舵机.... 44

4.2 MG996R舵机.... 44

4.3 双轴舵机.... 45

五、总结.... 46

六、更新记录.... 47

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介绍 - Arduino中文社区

点灯科技 (diandeng.tech)

参考第三方教程链接:

esp32cam blinker- CSDN搜索

blinker控制hexapod和图传功能演示_哔哩哔哩_bilibili

blinker的参数设置演示_哔哩哔哩_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信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值