资料介绍
描述
垃圾战争
每年人类总共倾倒超过 20 亿吨垃圾,到 2050 年有望超过 34 亿吨/年。目前这直接影响到超过 6100 万人,约占温室气体排放量的 5%。
几乎一半的浪费是食物浪费,其中 40% 是由于质量标准过分强调外观而在零售和消费者层面造成的浪费。尽管有如此大量的垃圾来自食物,但其中只有一小部分被堆肥(当食物垃圾被放入垃圾填埋场时,它会产生甲烷而不是二氧化碳,参见堆肥与垃圾填埋场)。此外,由于体力劳动成本增加或缺乏全行业采用,许多用于升级回收食物浪费的方法根本没有实施。
单流回收的发展提高了回收率,因为消费者不必手动进行分类,并降低了回收厂的成本(只有一个收集系统)。然而,由于未经批准的材料或不干净的可回收物(回收厂清洁可回收物的成本通常太高)被放置在单流垃圾箱中,污染增加,这也导致回收材料的质量下降。
在过去几年中,随着边缘人工智能和物联网的兴起,已经开发了许多新产品来帮助解决浪费问题。其中一些包括 Alphabets X 的 Everyday Robot、Tomra 的 Container Deposit 以及对放入其中的物品进行分类的“智能垃圾箱”。虽然这些产品正在缓慢地帮助解决其中的一些问题,但采用起来可能很慢而且成本很高。
该项目将展示一些开发低成本开源废物管理系统的方法和流程,为回收行业的民主化开辟了可能性。虽然这不是一个端到端的项目和演示(由于资源有限),但它将讨论对废物类型进行分类所需的组件以及处理它们的建议方法。
建议系统
该项目提出了一个机器人操作系统 (ROS) 节点系统,可以使用和组合这些节点来构建一个功能齐全的系统,以最大限度地减少和处理浪费。当前的特别重点是减少与食物相关的浪费。使用 NVIDIA Jetson Nano 是因为其外形小巧且功耗低,使这些工作负载能够在边缘处理并本地化到手臂。
下面是一个 ROS 节点系统,用于对产品进行分类以最大程度地减少浪费。多光谱相机用于收集单个产品或产品集合(例如,系统监控已上架的大量产品)的 NIR 图像。该数据被送入成熟度指数节点,该节点量化给定项目的成熟度。决策引擎然后决定如何处理它,指示末端执行器或执行器(或可能是人类)进行相应处理。有关此系统的更多信息如下所示。
目前的废物流需要大量人力和大型机器来分类废物。这些方法仅适用于具有更多“价值”的废物流(即单流可回收物)。一系列带有定制末端执行器的机械臂(例如,特定的末端执行器取决于贵重物品的类型,例如金属、纺织品等)可以处理额外的废物流。
虽然这些手臂比大型设施中运行的快速运行的气动系统慢得多,但在分散的废物经济中,这些手臂可以用来收集更具体的有价值的物品。它们也更灵活,能够分拣更多种类且用途更广泛(气动系统很大,通常只能分拣一种材料)。
相机执行首次通过对象检测和分类以确定对象的初始值。如果该物品是为该手臂指定的特定物品,则可以使用末端执行器内置的微型光谱仪对其进行进一步的材料分类。这可用于确定材料的成分,以便在其最终位置进行精细选择和沉积。
这样的系统可以从普通废物流中增加有价值的可回收物,对材料分类提供更精细的控制,从而产生更高价值的产品,并最大限度地减少人力劳动,从而实现更循环的经济。
在 Jetson Nano 上开始使用 ROS
由于其模块化设计和宽松许可,该项目的模块将使用机器人操作系统创建。它还允许模块更容易地集成到更大的系统中。使用 NVIDIA Jetson 是因为它是一个功能强大但体积小的 SBC,能够在其内置的 128 个 CUDA 内核上运行计算和其他机器学习任务。
请参阅 Jetson Nano启动说明以获取加载 Jetson Nano 开发工具包 SD 卡映像。
在大多数情况下,我们将使用 PIP 方法从源指令中遵循 ROS 。我们还必须从源代码构建所需的包。
初始更新和安装 pip
sudo apt update
sudo apt upgrade -y
sudo apt install python-pip -y
安装依赖并初始化rosdep
sudo pip install --upgrade setuptools
sudo pip install -U rosdep rosinstall_generator wstool rosinstall
sudo rosdep init
rosdep update
创建用于构建ros的catkin工作区
mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws
rosinstall_generator ros_comm --rosdistro melodic --deps --tar > melodic-ros_comm.rosinstall
wstool init -j8 src melodic-ros_comm.rosinstall
解决依赖关系,构建工作区并获取它
rosdep install --from-paths src --ignore-src --rosdistro melodic -y
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
source ~/ros_catkin_ws/install_isolated/setup.bash
传感器:多光谱相机
多光谱相机能够看到超越我们人类所能看到的东西。通过观察特定波长的光,我们可以识别独特的特征。这对于分选植物性食品特别有用,因为成熟度特征出现在近红外 (NIR) 区域。
可以从这样的系统中建立一个减少易腐烂食物垃圾的系统。从超市常用的先进先出 (FIFO) 做法过渡到根据产品成熟度推出产品的系统可以减少食物浪费。通过监控已经出炉的农产品,系统可以监控成熟度并有选择地去除即将成熟的农产品(从而防止成熟连锁反应)
通过遵循与 Microsoft HyperCam 类似的方法,我们可以创建便宜(低于一百美元)的 NIR 多光谱成像设备。使用Raspberry Pi NoIR相机是因为它没有红外滤光片(这使我们能够看到高达 1000 纳米左右的波长)。连接到简单晶体管驱动电路的不同波长的 IR LED 网格允许我们使用Jetson GPIO库控制我们想要检查的波长。
上图显示了用多光谱相机拍摄的不同波长的成熟鳄梨。与 830nm 相比,890nm 在成熟和未成熟区域之间具有最高的对比度,830nm 仅非常轻微地显示出这种差异。
蓝色滤光片阻挡蓝色波长,但允许我们感兴趣的 NIR 波长,因为传感器的蓝色通道对这些波长敏感。通过仅查看此通道,我们可以将蓝色换成 NIR。
这可以在 opencv 中完成
#... load image
(r, g, b) = cv2.split(img) # Split channels of image
nir = cv2.merge([b,b,b]) # merge only blue into NIR channel
cv2.imshow("NIR", nir) # or only show the blue channel with grayscale selected
通过在不同的通道中组合这些图像,我们可以比较每个波长的细节差异。例如,下图显示通道 e、c 和 f 合并为 RGB 图像。
您可以在我的网站上找到构建所需 ROS 包的依赖项列表。从源代码构建所需的所有依赖项都可以在我的网站上找到。为了获得更高的光谱分辨率,我们需要使用光谱仪。我使用Sparkfun Triad Spectroscopy传感器做了一些实验。
该传感器在 NIR 范围内只有几个通道,光谱分辨率相对较低,约为 40nm。
为了创建能够进行准确材料分类的高分辨率设备,我们需要使用能够在宽波长范围(高达 2000nm 左右)、超过 1000nm 并具有高光谱分辨率(大约 20nm 或更小)的传感器). 例如,使用Hamamatsu MEMS-FPI光谱传感器构建的传感器能够实现 1350 至 1650 nm 的光谱范围和 18 nm 的光谱分辨率(对于 C14272)。该设备足够小,可以嵌入机械臂的末端执行器中,允许在运动过程中同时进行分类。然而,获得这个模块对于爱好者来说是具有挑战性的。
我使用 AS7265X 传感器创建了一个小型数据集。这可以作为包含类然后通道的 csv 文件使用。该数据可以传递到分类器中以推导材料成分
对象检测:暗网和 ROS
为了执行对象检测和初始分类,我们可以使用Darket 的 ROS 节点并训练一组自定义权重来指定专用模型。带有 YOLOv3 Tiny 的 Darknet ROS(roslaunch 文件在我的存储库的分支中)在 Jetson Nano 上以大约 10-15fps 的速度运行。
可以将边界框和分类输入到价值引擎中,以具体选择目标项目类型。然后可以使用某种形式的机械臂收集这些信息以供进一步分析。
显示 yolov3-tiny 配置的 ROS Launch 文件示例
<launch>
<arg name="network_param_file" default="$(find darknet_ros)/config/yolov3-tiny.yaml"/>
<arg name="image" default="camera/rgb/image_raw" />
<include file="$(find darknet_ros)/launch/darknet_ros.launch">
<arg name="network_param_file" value="$(arg network_param_file)"/>
<arg name="image" value="$(arg image)" />
include>
launch>
要使用 Darknet 构建专门的分类器,我们可以遵循pjreddie 的训练 CIFAR10 。所使用的数据集应该围绕所需的价值项目进行训练,以获得最佳效率。如JK Jung 的 TensortRT ONNX YOLOv3所示,在 TensorRT 上运行暗网可以产生更高的帧速率。
价值引擎和末端执行器
ROS节点中的价值引擎(单流排序)是为执行排序的实际硬件提供一个目标。它以两阶段方式运行,初始值(通常具有较低或较低的特定概率)随后是用于高置信度材料成分分类的特定分类器(利用光谱仪),以便可以将其放入正确的容器中。
这导致更高质量的输出被重复使用,这很重要,因为回收或废物设施的输出必须与原始材料竞争。这对于回收纺织品等敏感材料也很重要。
末端执行器必须专用于它们需要收集的材料。这就是价值引擎具有初始分类的原因,以便它可以传递到正确的子系统。
进一步探索
去中心化、民主化的废物和回收过程的目标需要大量的工作。该项目只是探索了一些传感器和使用设备对边缘物质进行分类的方法。
还探索了其他用于材料分类的传感器,例如雷达,它们可能是光谱仪的低成本替代/增强。
- 基于ROS的机器人本体控制器 1次下载
- 基于运行ROS的机器人 2次下载
- 机器人操作系统EtherCAT威廉希尔官方网站 研究综述 1次下载
- 三宝机器人软件操作系统v2.20.33.100下载 3次下载
- 基于机器人操作系统的市内运输自动导引车系统 3次下载
- 基于机器人操作系统的代价地图自适应膨胀半径算法 6次下载
- 一个开源的拟人机器人仿生手系统HRI-hand 0次下载
- 怎么样才能使用ROS系统实现机器人视觉导航识别算法的设计 18次下载
- 机器人操作系统的资料简介 13次下载
- 机器人操作系统入门课程讲义资料免费下载 5次下载
- 主流机器人有哪些操作系统详细资料大盘点
- ROS教程之ROS机器人操作系统基础知识概述资料免费下载 18次下载
- 实例分析机器人微操作系统 0次下载
- 机器人操作系统(ROS)简介及其特点介绍 16次下载
- ROS是什么?机器人操作系统ROS的介绍 14次下载
- 机器人语言系统包括三个基本状态 106次阅读
- FreeRTOS:一个迷你的实时操作系统内核 828次阅读
- 用于ROS移动机器人高集成电源解决方案(一) 948次阅读
- ROS完成ROS和ROS2中各个组件向openEuler的适配 1719次阅读
- ROS2+OpenVINO™ 实践教程 2499次阅读
- 机器人控制系统概念与系统特点 5171次阅读
- 基于RTX51操作系统实现地面移动机器人控制系统的设计 2891次阅读
- 一文了解机器人控制系统 5036次阅读
- RT-Thread如何使用串口或者无线和ROS连接 5164次阅读
- fireflyROC-RK3308主板ROS简介 3665次阅读
- 机器人控制系统分类_机器人控制系统有哪些 2.6w次阅读
- 遥控操作的焊接机器人控制系统组成结构 1015次阅读
- 基于PLC的机器人伺服运动控制系统设计详解 1.5w次阅读
- 机器人控制系统一文让你全看懂 7431次阅读
- 如何设计一个小型嵌入式操作系统 9351次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多