【仪酷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对象数组作为参数,…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
学校招生小程序源码介绍
基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码,专为学校招生场景量身打造,功能实用且操作便捷。 从技术架构来看,ThinkPHP提供稳定可靠的后台服务,FastAdmin加速开发流程,UniApp则保障小程序在多端有良好的兼…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比
在机器学习的回归分析中,损失函数的选择对模型性能具有决定性影响。均方误差(MSE)作为经典的损失函数,在处理干净数据时表现优异,但在面对包含异常值的噪声数据时,其对大误差的二次惩罚机制往往导致模型参数…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
