金融投资理财

手搓一个RT-Thread工地巡检机器人要几步? | 技术集结

本项目为RT-Thread嵌入式大赛获奖作品,基于CanMV K230的工地巡检机器人。K230芯片集成了两颗RISC-V处理器核心,双核玄铁C908。RT-Thread已全面支持XUANTIE系列的E,C与R内核,并推出电子书《XUANTIE开发实践指南》

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/make-bsp/xuantie/XUANTIE%E5%BC%80%E5%8F%91%E5%AE%9E%E8%B7%B5%E6%8C%87%E5%8D%97

目录

应用的实现功能

RT-Thread使用情况概述

整体设计流程

硬件框架

机械结构

软件框架

功能实现

演示视频及代码

演示视频链接:

https://www.bilibili.com/video/BV1ZhScB9E8j/?spm_id_from=333.1387.homepage.video_card.click&vd_source=b1fff0f773136d7d05331087929c7739

1 应用的实现功能

本作品基于RT-Thread系统,设计并实现了一套基于CanMV K230开发板的工地巡检机器人,融合AI视觉识别、嵌入式控制、Web通信,构建了适用于复杂施工场景的全天候自动化监测与建材识别方案。系统以CanMV K230作为边缘计算主控平台,充分利用其高性能NPU加速能力,部署了本地化运行的YOLOv5模型,实现了对钢筋圈(coil)、钢筋捆(rebar)及砌体(brickwork)等建材的精准识别与数量统计。同时,系统支持模型动态切换,通过加载安全帽检测YOLOv5模型,有效识别未佩戴安全帽的施工人员,显著提升工地安全管理水平。机器人底盘采用麦克纳姆轮全向移动结构,通过二维云台全方位覆盖作业区域,可将工地环境实时上传网页端,实现数据可视化监控。

b82de4a6-e4bc-11f0-8ce9-92fbcf53809c.png

图1 基于CanMV K230的工地巡检机器人整体外观图

2 RT-Thread使用情况概述

本作品采用的CanMV-K230 开发板,该开发板的开发语言为MicroPython操作系统是基于 RT-Thread Smart,代码有调用KPU,通过Kmodel本地YOLOv5进行识别工地建材和是否佩戴安全帽,同样采用了多线程处理图像识别与运动控制,以及环境数据传输等。整体图像识别帧率到30FPS以上,芯片的算力与目前市场上该价位的板子一致,比K210算力强很多。

3 整体设计流程

本作品从工地环境中高频巡检、人身安全、物料管理、安全监管等实际需求出发,确立以智能巡检、目标识别、环境监测、远程控制为核心目标的功能,并制定系统技术指标,完成工地巡检机器人的方案设计。根据系统整体方案,搭建基于K230开发板的软硬件平台。在模拟工地环境下,对机器人的基本运动,对建材种类和数量进行统计,对人员安全进行监测,可视化显示当前环境状态等功能测试,来评估机器人的性能。具体设计流程如图2所示。

图2 基于CanMV K230的工地巡检机器人系统设计流程

本作品是基于RT-Thread系统,CanMV K230开发板,构建了一个集AI视觉识别、智能巡检控制、环境数据采集、数据可视化于一体的工地巡检机器人系统,其整体框图如图3所示。基于CanMV K230的工地巡检机器人主要分为硬件部分和软件部分,其硬件部分主要由搭载KPU的CanMV K230开发板、立创EDA专业版所画板的运动控制平台、温湿度传感器和二维云台等构成,其软件部分包含WEB服务端、目标检测、温湿度可视化显示、运动控制等构成。

b84e554c-e4bc-11f0-8ce9-92fbcf53809c.png

图3 基于CanMV K230的工地巡检机器人整体设计框架

4 硬件框架

嘉楠科技Kendryte系列AIoT芯片中的最新一代SoC芯片K230为主控芯片,支持三路摄像头同时输入,典型网络下的推理能力可达K210的13.7倍。支持CanMV,可以直接使用Python编程,简单易用。可作为AI与边缘计算平台,适合物联网智能家居消费电子工业自动化;无人系统等领域的开发者使用。K230芯片集成了两颗RISC-V处理器核心,双核玄铁C908,7nm 制程工艺,主频高达1.6GHz,是全球首款支持RISC-V Vector 1.0标准的商用SOC,配备第三代KPU处理单元,专为图像、视频、音频处理和AI加速设计,提供强劲的本地AI推理能力。支持三路MIPI CSI视频输入,最大分辨率可达4K。K230支持常见的AI计算框架如TensorFlow和PyTorch。

图4 CanMV K230硬件资源图

由于K230开发板的PWM引脚有限,两个PWM引脚用于控制二维云台的移动。ESP32S3的移动平台用于机器人的水平方向的全方位移动,主要由乐鑫科技公司的ESP32S3芯片、步进电机驱动、电源模块等构成。ESP32-S3是一款集成Wi-Fi和低功耗蓝牙(BLE)的高性能双核处理器芯片,内核为双核Xtensa32-bit LX7,最高主频 240MHz,并集成丰富的GPIO、PWM、ADC、SPI、I2C等外设资源,其低功耗、高性能以及优秀的外围接口资源,使其成为运动控制与无线通信一体化系统的理想选择。步进驱动采用的是TB6612芯片,该芯片是常用于机器人和小型运动控制系统中的双通道直流电机/步进电机驱动芯片,内置短路保护和热关断保护功能,可以实现平滑的电机转速调节与方向控制。电源模块采用LM78M05将两节18650电池电压降压到5v,再通过AMS1117降压至3.3v给ESP32S3供电,以及给TB6612芯片提供电源。其移动平台的电路图和PCB图分别如图5和图6所示。

b872fffa-e4bc-11f0-8ce9-92fbcf53809c.png

图5 ESP32S3的移动平台电路图

b87e3c30-e4bc-11f0-8ce9-92fbcf53809c.png

图6 ESP32S3的移动平台PCB图

5 机械结构

本作品利用Solidworks设置固定件来连接工地巡检机器人各个零件,例如K230开发板的固定、N20电机的固定、二维云台的连接等,下面将对工地巡检机器人的核心机械设计进行介绍。

b88e2fdc-e4bc-11f0-8ce9-92fbcf53809c.png

图7 K230开发板和二维云台固定支撑3D设计图

为确保移动平台运行过程中的稳定性与抗震性,本作品的移动平台采用上下紧凑机构,底部打印厚度为5mm的底盘支撑,顶部打印3mm的顶部支撑,顶部与底部将N20电机紧紧扣住,防止出现振动位移,其中底部设计的M2通孔位置根据图8的N20尺寸图所设计,其余M3的通孔用于固定连接ESP32S3的移动平台PCB。连接部分的3D设计图如图9所示。

b8991bd6-e4bc-11f0-8ce9-92fbcf53809c.png

图8 N20电池座的尺寸图

b8a581b4-e4bc-11f0-8ce9-92fbcf53809c.png

图9 N20电机的固定以及移动平台的连接3D设计图

为了实现对摄像头视角的动态调节与多方向覆盖,本系统设计并3D打印制作了二维云台结构件,用于安装并控制K230开发板实现水平与垂直方向的转动,满足在工地复杂环境中灵活调整监控角度的需求。二维云台主要由底部固定座、连接支架和摄像头安装板构成,打印件采用PLA材料进行打印,具有足够的结构强度与刚性,既能稳定承载摄像头重量,又能保持运动灵敏性和低摩擦。二维云台3D打印设计图如图10所示。

b8b1370c-e4bc-11f0-8ce9-92fbcf53809c.png

图10 二维云台的3D设计图

6 软件框架

工地巡检机器人的软件系统主要分为机器人客户端和WEB网页端两大部分,其中机器人客户端包括二维云台的控制、ESP32S3移动平台的控制、建材识别与安全检测深度学习算法本地推理、工地环境温湿度获取等。WEB网页端主要包括二维云台与移动平台的控制界面、建材识别与安全检测开关、温湿度可视化显示以及功能开关控制等。机器人客户端和WEB网页端是通过TCP协议进行通信,该协议能够保证机器人控制与检测目标过程中低延迟高效率,长连接即可双向通信,比传统Ajax轮询更节省带宽和CPU资源,对服务器压力较小,尤其适合边缘计算设备或嵌入式系统中使用。软件系统整体流程图如图11所示。

b8bd41dc-e4bc-11f0-8ce9-92fbcf53809c.png

图11 软件系统整体流程图

建材识别

建材识别主要是对工地巡检机器人的周围建筑器材,即钢筋圈(coil)、钢筋捆(rebar)和砌体(brickwork)进行三种对象的分类与目标识别。机器人采用YOLOv5算法进行本地推理,建材识别模型训练流程主要分为数据采集、模型训练、量化部署、实时推理、结果回传五个步骤,具体流程如图12所示。

b8c890be-e4bc-11f0-8ce9-92fbcf53809c.png

图12 模型训练流程

数据采集与标注:图像采集尽量覆盖不同的视角、光照和背景复杂度,以增强模型在实际环境中的鲁棒性。图像采集完成后,使用开源图像标注工具LabelImg对图像进行目标检测标注。LabelImg提供了图形化界面,通过使用鼠标框选目标框,并输入目标类别(brickwork标注0,rebar标注1,coil标注2)。三种建材标注分别如图13、14和15所示。

b8d3fe54-e4bc-11f0-8ce9-92fbcf53809c.png

图13 砌体标注

b8e5f956-e4bc-11f0-8ce9-92fbcf53809c.png

图14 钢筋捆标注

b8f464e6-e4bc-11f0-8ce9-92fbcf53809c.png

图15 钢筋圈标注

模型训练:基于YOLOv5的深度学习目标检测算法对建材数据集进行训练,借助NVIDIA RTX 4060 GPU对数据集进行80次epoch的加速训练。训练平台框架为PyTorch深度学习框架,采用的是适合边缘部署的轻量化YOLOv5n模型。

b90180f4-e4bc-11f0-8ce9-92fbcf53809c.png

图16 模型训练结果

模型量化与部署:通过docker使用nncase将onnx模型量化部署为Kmodel模型。

b90cda8a-e4bc-11f0-8ce9-92fbcf53809c.png

图17 模型量化转化为Kmodel模型

控制与数据显示

整个上位机界面包含运动平台控制、云台控制、建设识别与安全建材开关和工地环境可视化显示如图18和19所示。

b918b832-e4bc-11f0-8ce9-92fbcf53809c.png

图18 上位机整体界面

b9255ed4-e4bc-11f0-8ce9-92fbcf53809c.png

图19 工地环境监测

7 功能实现

建材识别功能

基于CanMV K230的工地巡检机器人对三种建材(砌体、钢筋圈和钢筋捆)的识别效果,通过CanMV IDE进行展示,在实际场地效果会更好。

b936104e-e4bc-11f0-8ce9-92fbcf53809c.png

图20 砌体的识别1

b9496bf8-e4bc-11f0-8ce9-92fbcf53809c.png

图21 砌体的识别2

b95b2c44-e4bc-11f0-8ce9-92fbcf53809c.png

图22 砌体的识别3

b95b2c44-e4bc-11f0-8ce9-92fbcf53809c.png

图23 钢筋圈的识别1

b97997ce-e4bc-11f0-8ce9-92fbcf53809c.png

图24 钢筋圈的识别2

b986daba-e4bc-11f0-8ce9-92fbcf53809c.png

图25 钢筋圈的识别3

b99763f8-e4bc-11f0-8ce9-92fbcf53809c.png

图26 钢筋捆的识别1

b9a4ea50-e4bc-11f0-8ce9-92fbcf53809c.png

图27 钢筋捆的识别2

b9b4966c-e4bc-11f0-8ce9-92fbcf53809c.png

图28 钢筋捆的识别3

安全检测功能

基于CanMV K230的工地巡检机器人对工人安全的检测效果,通过CanMV IDE进行展示,在实际场地效果会更好。

b9c20392-e4bc-11f0-8ce9-92fbcf53809c.png

图29 安全检测1

b9d61e22-e4bc-11f0-8ce9-92fbcf53809c.png

图30 安全检测2

b9e8ab00-e4bc-11f0-8ce9-92fbcf53809c.png

图31 安全检测3

工地环境可视化功能

服务端接收来自CanMV K230的工地巡检机器人对工地环境的数据。

b9255ed4-e4bc-11f0-8ce9-92fbcf53809c.png

图32 环境监测

8 演示视频及代码

演示视频链接:

https://www.bilibili.com/video/BV1ZhScB9E8j/?spm_id_from=333.1387.homepage.video_card.click&vd_source=b1fff0f773136d7d05331087929c7739

代码仓库:https://github.com/wuboy19/RT_Thread_competiton

  • 随机文章
  • 热门文章
  • 热评文章

相关推荐