组装步骤
锁定追踪部分
图1 机械狗锁定追踪时序图1

图2 机械狗锁定追踪时序图2

图3 机械狗锁定追踪时序图3

- 在启动主程序后,首先进行摄像头和共享内存的初始化,拉流后在运动控制器端初始化,获取STM32和ESP32的端口信息。
- 其中,外设的连接端口号ttyUSB*中具体的号码是由拔插的先后顺序决定的,所以需要提前查询端口信息并返回到主程序中。而后在追踪任务的进程中初始化,再开启两个手势识别和人体检测的模型进程,分别进行初始化,然后在控制端下位机设置舵机的角度,调整到方便机械狗追踪的角度,将识别锁定追踪目标的状态初始化为解锁,锁定计数归零。
- 在拉流分发的进程中开启循环获取frame并放入共享内存中,然后再启动循环并开始并行的手势识别和人体识别的推理进程。此处使用两个消息队列来防止手势识别和人体识别出现异帧不同步的情况,将两个过程同步之后返回两个bboxes,分别是手势和人体的识别框存储数据,再利用如下公式来判断锁定的目标框:
- 在出现比值大于0.9的帧时,计数器值加1,在连续五帧都超过这个比值后,将锁定目标的FLAG置为True,然后设置舵机的信息,进行目标的锁定追踪;若在已经锁定目标的状态下就需要锁定到该框并且使用卡尔曼滤波的方式进行目标框的匹配,进而推算出要追随的目标,即使在有多人存在的场景仍然可以准确追踪到目标。
- 在超过20帧没有识别到目标之后以及出现解锁的手势超过5帧之后就会将机械狗的下位机中的运动FLAG设定为停止,然后上位机上的解锁标志回归为解锁,并且下发动作,然后等待下一个锁定的手势出现,继续追踪新的目标。
父主题: 样例介绍
准备组件
机械狗所需配件如表1所示:
须知
当前样例仅在Ubuntu OS适配验证过,未在openEuler OS适配验证,推荐烧录镜像时,烧录Ubuntu OS镜像。
表1 机械狗配件表
| 名称 | 数量/个 | 是否需要单独购买 | 规格 |
|---|---|---|---|
| 开发者套件及电源适配器 | 1 | 否 | 唯一 |
| 机械狗裸机 | 1 | 是 | 裸机 |
| 摄像头两轴云台 | 1 | 是 | 两轴云台精简版 |
| 广角摄像头模组 | 1 | 是 | 118°广角无畸变模组 |
| ESP32机器人开发板 | 1 | 是 | 主板+Type-C数据线 |
| 38400mah移动电源 | 1 | 是 | 12V9V5V三输出 |
| 单头六角铜柱 | 40 | 是 | M2.5*7+6 |
| 单头六角铜柱 | 40 | 是 | M4*7+6 |
| 防松螺母 | 40 | 是 | M4 |
| 防松螺母 | 40 | 是 | M2.5 |
| 圆头螺母 | 40 | 是 | M4*5 |
| 圆头螺母 | 40 | 是 | M2.5*5 |
| [3D打印支撑板](https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/Atlas 200I DK A2/DevKit/samples/23.0.RC2/e2e-samples/RobotDog/机械狗额外结构.zip)(下载文件后通过3D打印) | 6 | 是 | 唯一规格 |
| USB扩展坞 | 1 | 是 | 单USB转4口USB3.0 |
| Micro USB数据传输线 | 1 | 是 | 一定要有数据传输功能,不可仅为充电线 |
| USB Wifi模块 | 1 | 是 | - |
父主题: 样例组装
组装步骤
-
首先将机械狗裸机平放在地面上,然后将3D打印好的三个支撑板用单头六角铜柱和防松螺母固定在机械狗的裸机上平面上,具体的位置如图1 安装固定所示:
图1 安装固定

从上到下依次为摄像头承载板、开发板承载板以及电池仓,按照图中的螺丝与单头螺柱位置固定即可。
-
将电源放入到电池仓中,使用电池挡板固定,如图2所示:
图2 安装电源

-
将开发者套件从底板上拆下并固定到3D打印出来的开发板承载板上,如图3 固定开发板所示:
图3 固定开发板

-
将两轴云台上原有的普通摄像头拆下,替换上无畸变的广角摄像头模组,再将云台安装到摄像头承载板上,如图4 安装广角摄像头模组所示:
图4 安装广角摄像头模组

其中上半部分的舵机连接到ESP32上的26号接口,棕色线接地靠近5V一侧,下半部分的舵机连接到ESP32上的25号接口,棕色线接地靠近5V一侧。
-
总体的接线方式如图5所示:
图5 接线图

-
将各个电源线连接好后,需要使用一根Micro USB数据线连接到机械狗内部的主控F405一侧的MicroUSB端口,另一端连接到插到开发板上的USB扩展坞上,再将USBWifi模块插到开发板的USB接口上,将USB摄像头和ESP32接到USB扩展坞上,即可完成接线。
图6 接线图

父主题: 样例组装
地图绘制
机械狗的自动行走依赖于模型的训练,因此需要设计一张地图,用于自动行走的模型训练过程和推理结果验证。此处提供地图设计方案,开发者可以直接使用此地图,也可以自行设计其他版本的地图。
图1 样例地图

须知
地图规格
- 道路宽度:60cm。
- 完整地图的尺寸:约3m * 4m。
- 停车位:30cm * 40cm。
制作建议
- 使用Photoshop等画图软件制作地图。
- 建议使用表面不太光滑的材质,如果地图表面过于光滑则容易使机械狗腿部打滑。另外光滑的表面会产生强烈的反光,影响机械狗通过摄像头采集的画面质量,进而干扰图像识别的任务。
父主题: 运行环境准备
配置无线Wifi模块
- 确保路由器和开发者套件已按6中所述连接。
- 参见登录开发者套件选择任意一种登录方式使用root用户(默认密码为Mind@123)远程登录开发者套件。
- 参见[通过USB WiFi网卡联网](https://www.hiascend.com/document/detail/zh/Atlas200IDKA2DeveloperKit/23.0.RC2/Hardware Interfaces/hiug/hiug_0012.html)配置USB WiFi设置。
父主题: 运行环境准备
在线提单