外观结构
外观结构
机械狗运动部分是由以下部分组成:
- 四个具有2自由度的机械腿以及中间的主体部分实现的,机械腿的曲柄连杆结构保证了机械狗可以单独操作每一条腿的运动,每条腿上的两个关节由两个行星轮减速电机驱动,并放置在中间的主体部分。
- 下位机由带有串口扩展板的两个STM32单片机开发板构成,分为主控F405和从控F103,位于机械狗身体内部。
- 使用补充的3D连接固定件固定摄像头云台、开发板以及开发板电源
- 摄像头云台连接一块ESP32下位机控制摄像头的移动,再通过USB扩展坞将所有的线连接到开发板上,再使用Wifi模块连接到开发板上。
图1 机械狗外观结构图

父主题: 样例介绍
功能与原理介绍
图1 功能原理图

机械狗分为上位机即Atlas 200I DK A2开发者套件板,下位机即STM32和ESP32单片机,通过命令行以及手势语音等方式输入到机械狗上的各类传感器以及上位机上,在场景切换后进入到主函数,初始化各类硬件底层设备完成之后,就可以进入到各个场景对应的模块中进行信息拉取和推理进程了。以摄像头的为例,利用摄像头拉流到视频信息之后,输入到场景循环函数中,经过CV模型得到推理结果,再将后处理的结果回传到场景循环模块中,针对控制模块做动作下发,传递到STM32下位机上控制四足的运动,即可完成一个简单的流程。
父主题: 样例介绍
控制与运动部分
机械狗的运动控制部分的实现原理图如图1所示:
图1 机械狗运动控制原理图

- 在上位机(开发者套件)上部署离线推理模型后,在上位机上根据推理结果生成对应的运动控制指令。指令下发到STM32单片机上,由串口中断函数来进行串口数据传输的接收。在上位机端和STM32使用相同的校验码的生成和校验方式,如果串口处接收到是上位机发出的指令,则会进入到对应的中断函数中进行运动状态的改变和操作。
- 在下位机(STM32)的初始化过程中:
-
会开启多个任务序列,包括初始化电机零点位置、陀螺仪初始化、显示屏显示、LED灯显示、蜂鸣器初始化及串口发送数据初始化中断函数标记归位等操作。
-
主进程在完整这些操作之后,进入获取控制端以及四足行动的部分,在收取到上位机发出的指令后,下位机进行解析,获取机器狗的姿态全局变量参数以及运动的两个方向的线速度和角速度。
-
进入到机械狗的运动解析部分进行运算,解析接下来的运动需中每一个机械腿的运动位置,以及八个电机需要转到的目标位置,并下发指令到从控的STM32上,通过串口下发到电机处。其中的电机使用PID来编码,在整个姿态变化和运动的过程中,通过PID控制电机的目标位置和实际运动位置误差以及自我纠正误差。
-
同时,为了防止运动过程中机械狗摔倒,加入了陀螺仪的运算,且可以在显示屏上显示实际数据。MPU6050陀螺仪会计算平衡环的数值大小用来修正不同方向上的非水平位置变化,然后加入到机械腿的运动控制中。得到了控制机械腿的目标位置后,可以通过机械腿路径规划算法实现实时计算机械腿机械腿的运动位置,使机械狗能够稳步前进以及完成其他动作。
图2 运动控制时序图1

图3 运动控制时序图2

-
父主题: 样例介绍
循迹行走部分
机械狗的循迹行走部分的原理图如图1所示:
图1 机械狗循迹行走原理图

此部分功能的实现原理与智能车相似均基于偏移纠正模型和转向辅助模型。
- 偏移纠正模型:通过回归计算左右两条引导线,计算出两条引导线的中线,并与摄像头的底部求交点以及偏转角。理论角度偏转角为90°时说明机械狗在引导线内直线行走,不会走出引导线。若偏转角是钝角或者锐角,则说明机械狗需要依据实际的角度进行左转和右转的修正,如此循环就能够使机械狗在引导线内行走。
- 转向辅助模型:识别转弯标识以及调头标识。为了避免摄像头抖动导致的问题,判断的条件为:相邻的几帧均识别到相同的转弯标识才进行对应的动作。
通过两个模型的交替进行,再针对转向角和机械狗的速度做映射和微调,即可实现机械狗的循迹行走功能。
父主题: 样例介绍
Atlas 200I DK A2开发者套件
机械狗应用开发指南
在线提单