【仪酷LabVIEW AI工具包案例】使用LabVIEW AI工具包+YOLOv5结合Dobot机械臂实现智能垃圾分类
🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主
🎄所属专栏:『仪酷LabVIEW AI工具包案例』
📑上期文章:『【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv9实时目标检测(含源码)』
🍻本文由virobotics(仪酷智能)原创🥳欢迎大家关注✌点赞👍收藏⭐留言📝订阅专栏
文章目录
- 🧩前言
- 🧭一、垃圾分类系统介绍
- ⚒️二、LabVIEW工具包的介绍和使用
- 2.1 机械臂控制工具包
- 2.2 仪酷AI工具包
- 💻️三、环境搭建
- 🎨四、项目实践
- 4.1 相机的调用
- 4.2 AI算法模块
- 4.3 机械臂控制模块
- 4.4 垃圾分类系统
- 💻项目源码
- 🎯总结
🧩前言
Hello,大家好,我是你们的virobotics(仪酷智能),一个深耕于LabVIEW和人工智能领域的开发工程师。
之前很多朋友私信博主,希望可以写一些LabVIEW AI的应用案例,所以博主创建了一个新专栏【仪酷LabVIEW AI工具包案例】,之后,将会不定期在该专栏中更新汇集最新的AI工具包实践案例包括但不限于:工业瑕疵检测、文字识别、物品抓取分拣等创新应用,各位也可订阅此专栏,以便及时接收更新~
机械臂与LabVIEW视觉工具包的结合是现代工业自动化和机器人技术领域的重要发展方向之一。LabVIEW作为一种图形化编程环境,提供了强大的数据采集、分析和控制功能,而机械臂则能够实现高精度的运动控制和操作。将这两者结合起来,可以实现更加智能化和灵活的生产线,提高生产效率和产品质量。这种结合可以用于各种应用,如装配、品质检测、物料处理等,为生产线带来更高的效率和精度。
在本文中,将为大家分享Dobot机械臂和LabVIEW工具包结合YOLOv5实现垃圾分类,并将各种垃圾区分放入对应垃圾桶的整个过程。
🧭一、垃圾分类系统介绍
实现机械臂与视觉结合的垃圾分类过程,首先要熟悉机械臂的控制以及视觉分类的原理。只有将两部分的原理了解后,我们将两部分结合在一起才会更容易理解一些,本文的垃圾分类应用是在LabVIEW软件的控制下实现的,包括通过机械臂控制工具包对机械臂的运动规划及末端抓取任务,通过视觉工具包对摄像头的调用采集图像信息,通过AI算法工具包导入YOLOv5目标检测模型来实现目标检测功能。将三个工具包模块结合在一起就可以实现我们垃圾分类的过程。下面我将详细介绍我们的模块及系统。

⚒️二、LabVIEW工具包的介绍和使用
2.1 机械臂控制工具包
Dobot Magician SDK for NI LabVIEW 是上海仪酷智能科技有限公司(VIRobotics)为 Dobot Magician 量身打造的一款基于 LabVIEW 的图形化开发工具。
该 SDK 分为 Dobot_VI 和 Dobot_Serial 两种版本,一共包含约 270 个函数。每一种版本都可以在 LabVIEW 环境下控制机械臂的运动、配置运动参数、设置IO 状态、指导末端执行器的动作等等。再配合 LabVIEW 自带的其他编程函数,就可以让机器臂完成更加复杂且灵活多变的任务。这也是本 SDK 的优势之一。
在LabVIEW上安装该工具包,可以实现PC与Dobot机械臂的通信交互,包括自动校正,运动规划,末端控制,吸取抓住等功能。

2.2 仪酷AI工具包
在labview上安装AI工具包,可以调用USB或者网络摄像头,并将采集的图像经过算法模块实现目标检测、语义分割、图像分类、文字识别、人脸识别等任务。本次项目中,我们使用的是AI视觉工具包以及ONNX工具包。


💻️三、环境搭建
- 部署本项目时所用环境
- 操作系统:Windows 64
- LabVIEW:2018及以上 64位版本
- AI视觉工具包(techforce_lib_opencv_cpu):1.0.1.26及以上版本
- ONNX工具包GPU版(virobotics_lib_onnx_cuda_tensorrt)1.0.0.16及以上版本
- 仪酷Object Detection工具包(virobotics_lib_object_detection):1.0.0.5及以上版本
- 机械臂工具包:virobotics_lib_dobot_magician_sdk_for_ni_labview-1.0.0.14.vip
- 软件下载及安装
- AI视觉工具包下载与安装参考:
https://blog.csdn.net/virobotics/article/details/123656523 - ONNX工具包GPU版下载与安装参考:
https://blog.csdn.net/virobotics/article/details/124998746 - LabVIEW Object_Detection工具包下载与安装
https://blog.csdn.net/virobotics/article/details/132529219
🎨四、项目实践
4.1 相机的调用
部署相机的调用模块可对物体进行实时图像采集,除了USB相机,也可以使用网络相机记以及其他常见相机(比如海康相机)。

4.2 AI算法模块
导入训练好的目标检测模型和标签文件,经过算法模块,可实现目标检测的功能,下图中为基于yolov5训练好的垃圾分类模型。

4.3 机械臂控制模块
对于机械臂的控制我们首先要分成三部分来完成,鱼头部分就是控制模块与机械臂的通信部署,鱼身部分则是进行运动规划,末端抓取的vi部署,鱼头,鱼身,鱼尾构成了我们机械臂进行自动化抓取的整个模块。

4.4 垃圾分类系统
当我们对三个模块进行了解部署后,将3个模块进行连接调用就生成了我们垃圾分类系统。

整个系统的运行效果可在B站搜索:**使用仪酷LabVIEW AI工具包+YOLOv5结合机械臂实现智能垃圾分类**进行观看学习。
💻项目源码
如需源码,请在一键三连并订阅本专栏后评论区留下邮箱
🎯总结
以上就是今天要给大家分享的内容,希望对大家有用。如有笔误,还请各位及时指正。后续我们将为大家更新更多关于AI模型在LabVIEW的部署案例,欢迎大家关注博主。我是virobotics(仪酷智能),我们下篇文章见~
如您想要探讨更多关于LabVIEW与人工智能技术,欢迎加入我们的技术交流群:705637299。进群请备注:CSDN
如果文章对你有帮助,欢迎✌关注、👍点赞、✌收藏、👍订阅专栏
推荐阅读
【YOLOv5】LabVIEW+TensorRT的yolov5部署实战(含源码))
【YOLOv5】手把手教你使用LabVIEW ONNX Runtime部署 TensorRT加速,实现YOLOv5实时物体识别(含源码)
【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测
【YOLOv8】实战二:YOLOv8 OpenVINO2022版 windows部署实战
【YOLOv8】实战三:基于LabVIEW TensorRT部署YOLOv8
【YOLOv9】实战一:在 Windows 上使用LabVIEW OpenVINO工具包部署YOLOv9实现实时目标检测(含源码)
【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv9实时目标检测(含源码)
👇技术交流 · 一起学习 · 咨询分享,请联系👇
相关文章:
【仪酷LabVIEW AI工具包案例】使用LabVIEW AI工具包+YOLOv5结合Dobot机械臂实现智能垃圾分类
🏡博客主页: virobotics(仪酷智能):LabVIEW深度学习、人工智能博主 🎄所属专栏:『仪酷LabVIEW AI工具包案例』 📑上期文章:『【YOLOv9】实战二:手把手教你使用TensorRT实现YOLOv…...
鸿蒙应用开发系列 EX篇:HarmonyOS应用开发者基础认证
文章目录 系列文章背景认证考试题库参考注意:题库会不定时的进行具备调整甚至整体轮换,此为2024.5月版本注意:题库中题目的选项每次都会随机顺序,请参考内容判断题单选题多选题系列文章 鸿蒙应用开发系列 篇一:鸿蒙系统概述 鸿蒙应用开发系列 篇二:鸿蒙系统开发工具与环…...
基于Linux中的 进程相关知识 综合讲解
目录 一、进程的基本概念 二、pid,ppid,fork函数 三、进程的状态讲解 四、进程的优先级 五、完结撒❀ 一、进程的基本概念 概念: ● 课本概念:程序的一个执行实例,正在执行的程序等 ● 内核观点:担当…...
前端高频面试题 5.08
事件委托 事件委托是前端开发中常用的一种优化性能和代码可维护性的方法,它基于DOM的事件冒泡机制。当一个元素触发事件时,这个事件会按照从顶层到底层的顺序传播,直到最底层的元素(通常是文档的根节点)。事件委托利用…...
python 的继承、封装和多态
1. 继承(Inheritance) 继承是面向对象编程中的一个重要概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以重用父类的代码,同时也可以扩展或修改父类的行为。 常用…...
数智结合,智慧合同让法务管理发挥内在价值
在当今这个信息化、数字化飞速发展的时代,数据已成为企业重要的战略资源。法务管理作为企业内部控制和风险防范的重要环节,其重要性不言而喻。然而,传统的法务管理模式往往存在效率低下、信息孤岛、反应迟缓等问题。在这样的背景下࿰…...
Ubuntu 安装docker
1: 卸载旧版本 如果你曾经安装过旧版本的 Docker,首先需要卸载它们: sudo apt-get remove docker docker-engine docker.io containerd runc2: 安装依赖工具 安装一些必要的工具,以便后续的安装过程能够顺利进行: sudo apt-ge…...
【北京迅为】《iTOP-3588开发板快速烧写手册》-第8章 TF启动
RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…...
Helm 模板流程控制
Helm 的模板语言提供了多种控制结构,以允许模板作者根据条件逻辑生成模板内容。以下是 Helm 模板控制结构的核心内容总结: 控制结构 Helm 模板支持以下控制结构: if/else:用于创建条件语句,根据给定的条件包含或排除…...
Kansformer?变形金刚来自过去的新敌人
1.前言 多层感知器(MLPs),也被称为全连接前馈神经网络,是当今深度学习模型的基础组成部分。 MLPs在机器学习中扮演着至关重要的角色,因为它们是用于近似非线性函数的默认模型,这得益于通用近似定理所保证的表达能力。然而,MLPs真的是我们能构建的最佳非线性回归器吗?尽管ML…...
今晚 19:00 | 从这两个问题入手,带你了解数据要素相关税务问题
五一假期已经结束,返工后当然是继续劳动啦~数据要素系列直播《星光对话》第三期也将在今晚19:00,继续跟大家见面。 本期直播,依然由 星光数智咨询总监 刘靖 主讲,带来:《数据要素相关税务问题解读》。 主要围绕两个问题…...
《QT实用小工具·五十一》带动画的 CheckBox
1、概述 源码放在文章末尾 该项目实现了带动画效果的多选框,鼠标放在上面或者选中都会呈现炫酷的动画效果,demo演示如下: 项目部分代码如下所示: #ifndef LINEARCHECKBOX_H #define LINEARCHECKBOX_H#include <QCheckBox> …...
PDT(police digital trunking )警用数字集群射频指标及测试方法
天线端口----测试传导 机箱端口----测试辐射 基本概念 传导测试方法 VBW3RBW 仪器设置 辐射测试方法...
《尿不湿级》STM32 F103C8T6最小系统板搭建(五)BOOT
一、BOOT是什么? 大多数初学者第一次接触BOOT总是对这个词感到不解,从哪冒出一个奇奇怪怪的东西还要接跳线帽,为什么要配置它才能进行串口程序的下载?为什么不正确配置会导致单片机无法正常启动…… boot,及物动词&…...
Java项目:基于SSM框架实现的高校专业信息管理系统设计与实现(ssm+B/S架构+源码+数据库+毕业论文+PPT+开题报告)
一、项目简介 本项目是一套基于SSM框架实现的高校专业信息管理系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…...
linux高性能服务器-线程池实现
文章目录 定义应用场景任务类型线程数量数据结构设计:任务设计:队列设计:线程池设计 接口设计 定义 线程池属于生产消费模型,管理维持固定数量线程的池式结构,避免线程频繁的创建和销毁 应用场景 当一类任务耗时&am…...
算法训练营第56天|LeetCode 583.两个字符串的删除操作 72.编辑距离
LeetCode 583.两个字符串的删除操作 题目链接: LeetCode 583.两个字符串的删除操作 代码: class Solution { public:int minDistance(string word1, string word2) {int size_1 word1.size();int size_2 word2.size();vector<vector<int>…...
首页最新 多IP浏览器防关联:如何配置多个独立且稳定的IP地址?
在互联网时代,IP地址的重要性不言而喻。然而,IP关联问题却成为一项令人担忧的隐私和安全挑战。针对这个问题,多IP浏览器是一种解决方案,可以帮助用户单独配置多个独立且稳定的IP地址,有效地防止IP关联。 一、IP关联是…...
电脑连接公司打印机教程
第一步:连接上公司Wifi 第二步:打开设置 第三步:安装打印机驱动程序 3.1 查看打印机型号 打印机上面有个贴纸,上面就写有哦 3.2 进入该网页 打印机驱动,打印机驱动下载 - 打印机驱动网 (dyjqd.com) 下滑点击这里下载࿰…...
JavaScript 中的 Promise.all
在 JavaScript 中,Promise.all允许我们并行地处理多个Promise,并且在所有Promise都成功完成或其中任何一个失败时才返回结果。 1. 什么是Promise.all? Promise.all是一个静态方法,它接收一个Promise对象数组作为参数,…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻
在如今就业市场竞争日益激烈的背景下,越来越多的求职者将目光投向了日本及中日双语岗位。但是,一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧?面对生疏的日语交流环境,即便提前恶补了…...
如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...
laravel8+vue3.0+element-plus搭建方法
创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
