【深度学习】YOLO_World-SAM-GraspNet机械臂抓取仿真

 项目演示

GraspNet+YOLO

目录

GraspNet计算抓取姿态

YOLO-World目标检测

SAM图像分割

抓取仿真流程

项目实现(以下步骤均在虚拟环境下执行)

1 环境配置

2 编译并安装

3 下载GraspNet-baseline的权重(训练好的)

4 运行manipulator_grasp项目

5 运行YOLO_World-SAM-GraspNet项目


GraspNet计算抓取姿态

GraspNet能够基于点云数据生成抓取点及其对应的夹抓姿态,并输出置信度最高的结果,确保抓取的可靠性。

YOLO-World目标检测

YOLO-World是一种高效的目标检测模型,能够通过用户提供的文本提示识别任意目标类别。与传统的目标检测模型依赖于预定义的类别不同,YOLO-World 可以通过简单的文本提示,如 “检测飞机” 或 “查找街道上的汽车”,来实现对新物体的检测。

YOLO-World目标检测

SAM图像分割

SAM(Segment Anything Model)能够生成高质量的掩码图。是由MetaAI最新发布的一个图像分割领域的预训练模型。SAM的提出突破了分割界限,极大地促进了计算机视觉基础模型的发展。

SAM图像分割

抓取仿真流程

UR5机械臂通过深度相机获取场景的RGB图像和深度图。使用YOLO-World模型对图像中的待抓取物体进行目标检测,定位物体的边界框。然后利用SAM对检测到的物体进行图像分割,生成高精度的掩码图。深度相机提取物体的三维点云数据,基于点云数据,通过GraspNet模型计算抓取点及其对应的夹抓姿态,并选择置信度最高的结果。最后UR5机械臂根据计算出的夹抓姿态执行抓取动作,完成整个抓取任务。

项目实现(以下步骤均在虚拟环境下执行)

1 环境配置

创建虚拟环境

conda env remove -n mujoco_graspnet
conda create -n mujoco_graspnet python=3.9
conda activate mujoco_graspnet

进入虚拟环境后下载开源manipulator_grasp项目

git clone https://gitee.com/chaomingsanhua/manipulator_grasp.git
cd manipulator_grasp

下载graspnet-baseline项目

GraspNet-Baseline 是一个开源的抓取算法基准模型,它是 GraspNet-1Billion 大规模抓取数据集的基线模型。

git clone https://github.com/graspnet/graspnet-baseline.git
cd graspnet-baseline

修改requirements.txt

sudo gedit requirements.txt 

这里要指定numpy的安装版本为1.23.4。删除torch,我们后面自行安装

保存后执行安装指令

pip install -r requirements.txt

安装torch等所需的环境包

pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113
pip install spatialmath-python==1.1.14
pip install roboticstoolbox-python==1.1.1
pip install modern-robotics==1.1.1
pip install mujoco==3.3.1

2 编译并安装

2.1 编译并安装PointNet++自定义算子

  • PointNet++是处理3D点云的经典神经网络,需要自定义CUDA算子实现高效采样和特征聚合
  • VoteNet是基于PointNet++的3D目标检测框架
cd pointnet2
python setup.py install
cd ../

安装时发现报错:The detected CUDA version mismatches the version that was used to compile PyTorch.具体解决参考这篇文章:

报错解决:The detected CUDA version mismatches the version that was used to compile PyTorch._the detected cuda version (10.1) mismatches the ve-CSDN博客文章浏览阅读239次,点赞3次,收藏2次。Anaconda虚拟环境中,PyTorch版本与系统CUDA版本不匹配时,推荐在Conda虚拟环境中安装CUDA。确认问题已解决,这种方法避免了因Ubuntu版本限制而无法安装低版本CUDA的问题。_the detected cuda version (10.1) mismatches the version that was used to com https://blog.csdn.net/agentssl/article/details/147960670?spm=1001.2014.3001.5502若出现报错“cuda_runtime_api.h: No such file or directory.”参考这篇文章:报错解决:cuda_runtime_api.h: No such file or directory-CSDN博客文章浏览阅读242次,点赞9次,收藏5次。在conda虚拟环境中使用gcc编译依赖CUDA时报错fatal error: cuda_runtime_api.h: No such file or directory:使用conda安装的cuda是的,而精简版的cuda没有办法编译,会缺少头文件。缺少的头文件指的就是这部分提到的。而NVIDIA原版的CUDA Toolkit是完整版的CUDA,可以进行编译,且不缺少头文件。:将系统CUDA库的路径加入系统环境变量,使用系统CUDA的cuda_runtime_api.h(此解决方法同样适合。 https://blog.csdn.net/agentssl/article/details/147989459?spm=1001.2014.3001.5502

编译并安装基于PyTorch CUDA实现的k-最近邻(k-NN)算子:

  • k-NN算子:用于快速计算数据点之间最近邻关系的算法模块
  • CUDA加速:利用NVIDIA显卡进行并行计算加速
  • PyTorch扩展:为深度学习框架添加自定义C++/CUDA操作
cd knn
python setup.py install
cd ../

安装graspnetAPI工具包

git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI

修改setup.py,将sklearn替换为scikit-learn

sudo gedit setup.py

 

修改后开始安装

pip install .
cd ../

3 下载GraspNet-baseline的权重(训练好的)

在manipulator_grasp文件夹新建logs/log_rs文件夹,将下载好的权重checkpoint-rs.tar放进log_rs,如图

4 运行manipulator_grasp项目

进入manipulator_grasp文件夹,运行主函数

python main.py

出现报错

Traceback (most recent call last): File "/home/song/hjx/manipulator_grasp/main.py", line 19, in <module> from graspnet_dataset import GraspNetDataset File "/home/song/hjx/manipulator_grasp/graspnet-baseline/dataset/graspnet_dataset.py", line 12,https://download.pytorch.org/whl/torch_stable.html ModuleNotFoundError: No module named 'torch._six'

修改graspnet-baseline/dataset/graspnet_dataset.py 即可。

# 原代码(旧版PyTorch)
from torch._six import container_abcs
# 修改为(适配PyTorch 2.x)
import collections.abc as container_abcs

修改后再次运行

关闭Open3D窗口,机械臂开始执行抓取,如下图所示

5 运行YOLO_World-SAM-GraspNet项目

安装额外的环境包

pip install ultralytics==8.3.98
pip install git+https://github.com/openai/CLIP.git

下载开源代码

这里感谢大佬分享https://pan.baidu.com/s/1NNeS5C_9irYVFHOGCWR0ZQ 提取码: rri4

运动代码过程中发现苹果抓取效果不是特别好,初步认为是因为位置摆放太远

修改苹果位置:

通过VScode打开项目,修改红框位置即可

进入YOLO_World-SAM-GraspNet文件夹运行:

python main_yoloWorld_sam.py

 在命令终端输入待抓取物体,第一次运行命令会下载模型,如图所示

随后会生成目标检测结果、SAM掩码图以及预测抓取姿态

项目成功运行!

制作不易,对您有帮助的话就点赞收藏支持下,感谢感谢~

参考文章

(二)Graspnet在mujoco的仿真复现(操作记录)_mujoco机器人仿真复现-CSDN博客

03-15
<think>好的,用户想了解或使用WinHex工具,询问它的使用方法和下载方式。首先,我需要确认用户的需求是什么。WinHex是一个十六进制编辑器和磁盘编辑器,常用于数据恢复、计算机取证等场景。用户可能需要进行磁盘分析、文件恢复,或者处理低级数据操作。 接下来,我需要检查提供的引用内容。根据引用[1],用户已经提到了使用WinHex工具,并且有下载链接。不过,引用中的链接显示的是WinHex的官方网站,可能需要确认链接是否有效。同时,引用[2]到[4]的内容似乎和WinHex无关,但用户可能在其他上下文中提到过这些,所以需要专注在引用[1]的信息上。 用户的问题分为两部分:使用方法和下载。关于使用方法,我需要简要介绍WinHex的主要功能,比如十六进制编辑、磁盘克隆、数据恢复等,并给出基本步骤。例如,打开文件或磁盘、进行编辑或分析、保存更改。同时,提醒用户谨慎操作,避免数据丢失。 关于下载,引用[1]中提到了下载地址,但实际检查提供的引用链接是否正确。根据引用[1],正确的下载链接应该是WinHex的官方网站。我需要确保提供的链接准确,并且指导用户如何从官网下载,避免第三方下载带来的风险。 另外,需要注意用户可能对计算机取证或数据恢复不熟悉,所以解释时要简明易懂。同时,强调软件的合法使用,遵守相关法律法规。可能还需要提到系统兼容性,比如支持哪些Windows版本,是否有64位版本等。 最后,考虑到用户可能需要进一步帮助,生成相关问题,如系统兼容性、替代软件、数据恢复步骤等,这样用户可以根据自己的需求继续探索。</think>### WinHex工具使用与下载指南 #### 一、WinHex简介 WinHex是由X-Ways公司开发的十六进制编辑器及磁盘编辑工具,支持文件恢复、磁盘克隆、内存编辑等功能,适用于数据恢复、计算机取证等领域[^1]。 #### 二、下载方法 1. **官网下载** 访问[WinHex官方网站](https://www.winhex.com/winhex/),选择对应系统版本(Windows/Linux) *注意:需购买许可证,试用版功能有限* 2. **功能模块** - 十六进制文件编辑 - 磁盘扇区级访问 - RAID重组与内存分析 - 数据擦除与哈希校验 #### 三、基础使用步骤(以文件恢复为例) ```python # 伪代码示例:文件头特征扫描 def file_recovery(disk_image): file_signatures = { "JPEG": b"\xFF\xD8\xFF", "PDF": b"\x25\x50\x44\x46" } scan_clusters(disk_image, file_signatures) ``` 1. 启动WinHex后选择"Open Disk"加载存储设备 2. 使用"Search → Find Hex Values"定位文件特征码 3. 通过"Recovery → Recover File"尝试恢复数据 4. 导出恢复文件前验证哈希值 #### 四、注意事项 - 操作前建议创建磁盘镜像(`Tools → Clone Disk`) - 修改原始存储介质可能导致数据不可逆损坏 - 支持NTFS/EXT4等20+文件系统解析
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大大龙将军

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值