基于CanMV K230的工地巡检机器人

【CanMV K230】基于CanMV K230的工地巡检机器人

针对工地环境高风险、强干扰及人员管理复杂等问题,传统人工巡检方式存在效率低、覆盖范围有限及安全隐患大等不足。


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

应用的实现功能

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

RT-Thread使用情况概述

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

整体设计流程

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

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

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

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

硬件框架

嘉楠科技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)的高性能双核处理器芯片,内核为双核Xtensa®32-bit LX7,最高主频 240MHz,并集成丰富的GPIO、PWM、ADC、SPI、I2C等外设资源,其低功耗、高性能以及优秀的外围接口资源,使其成为运动控制与无线通信一体化系统的理想选择。步进驱动采用的是TB6612芯片,该芯片是常用于机器人和小型运动控制系统中的双通道直流电机/步进电机驱动芯片,内置短路保护和热关断保护功能,可以实现平滑的电机转速调节与方向控制。电源模块采用LM78M05将两节18650电池电压降压到5v,再通过AMS1117降压至3.3v给ESP32S3供电,以及给TB6612芯片提供电源。其移动平台的电路图和PCB图分别如图5和图6所示。


图5 ESP32S3的移动平台电路图


图6 ESP32S3的移动平台PCB图

机械结构

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


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

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


图8 N20电池座的尺寸图


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

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


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

软件框架

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


图11 软件系统整体流程图

建材识别

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


图12 模型训练流程

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


图13 砌体标注


图14 钢筋捆标注


图15 钢筋圈标注

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

图16 模型训练结果

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

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

控制与数据显示

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


图18 上位机整体界面


图19 工地环境监测

功能实现

建材识别功能

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


图20 砌体的识别1


图21 砌体的识别2


图22 砌体的识别3


图23 钢筋圈的识别1


图24 钢筋圈的识别2


图25 钢筋圈的识别3


图26 钢筋捆的识别1


图27 钢筋捆的识别2


图28 钢筋捆的识别3

安全检测功能

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


图29 安全检测1


图30 安全检测2


图31 安全检测3

工地环境可视化功能

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


图32 环境监测

演示视频

代码:通过网盘分享的文件:code_k230_wuboy19.zip

链接: https://pan.baidu.com/s/1pNjO0wFOT9wl6mQGRwUq5A 提取码: 941i

致谢

感谢RT-Thread社区和工作人员,让我能够有机会玩到K230,提供有价值的作品,以后有机会也希望能够多多体验高算力的产品,非常感谢RT-Thread社区和工作人员!!!

相关推荐
新智元40 分钟前
30 年数学难题,AI 仅 6 小时告破!陶哲轩:ChatGPT 们都失败了
人工智能·openai
自不量力的A同学40 分钟前
Mureka V7.6 和 Mureka O2 模型正式发布
人工智能
TechMasterPlus40 分钟前
调用千问大模型服务
人工智能·python
菠菠萝宝40 分钟前
【Java手搓OpenManus】-5- 工具系统设计
java·开发语言·人工智能·openai·agent·manus
新智元43 分钟前
OpenAI大溃败!GPT-5「换皮」GPT-4o,两年半预训练0突破
人工智能·openai
新智元1 小时前
终结OpenAI垄断的11人
人工智能·openai
Yeats_Liao1 小时前
华为开源自研AI框架昇思MindSpore Lite初探: 端侧推理快速入门
人工智能·华为
远瞻。1 小时前
【环境配置】【bug调试】pytorch3d 安装
人工智能·pytorch·3d·调试
渡我白衣1 小时前
哈希的暴力美学——std::unordered_map 的底层风暴、扩容黑盒与哈希冲突终极博弈
java·c语言·c++·人工智能·深度学习·算法·哈希算法