【机器人】复现 GraspNet 端到端抓取点估计 | PyTorch2.3 | CUDA12.1

GraspNet是通用物体抓取的大规模基准的基线模型,值得学习和复现。

本文分享使用较新版本的PyTorch和CUDA,来搭建开发环境。

论文地址:GraspNet-1Billion: A Large-Scale Benchmark for General Object Grasping

开源地址:https://github.com/graspnet/graspnet-baseline

1、安装torch2.3.1和cudatoolkit

首先创建一个Conda环境,名字为graspnet,python版本为3.10

然后进行graspnet环境

复制代码
conda create -n graspnet python=3.10
conda activate graspnet

这里需要安装pytorch2.3.1,cudatoolkit=12.1

复制代码
conda install pytorch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 pytorch-cuda=12.1 -c pytorch -c nvidia

pytorch2.3.1官网地址:https://pytorch.org/get-started/previous-versions/

2、安装CUDA12.1

首先需要安装好Nvidia 显卡驱动,后面还要安装CUDA12.1

输入命令:nvidia-smi,能看到显卡信息,说明Nvidia 显卡驱动安装好了

然后需要单独安装CUDA12.1了,上面虽然安装了CUDA12.2也不影响的

各种CUDA版本:CUDA Toolkit Archive | NVIDIA Developer

CUDA12.1下载地址CUDA Toolkit 12.1 Update 1 Downloads | NVIDIA Developer

然后下载cuda_12.1.1_530.30.02_linux.run文件

复制代码
wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda_12.1.1_530.30.02_linux.run

开始安装

复制代码
sudo sh cuda_12.1.1_530.30.02_linux.run

来到下面的界面,点击"Continue"

输入"accept"

下面是关键,在530.30.02这里"回车",取消安装;

这里X是表示需要安装的,我们只需安装CUDA12.1相关的即可

安装完成后,能看到/usr/local/cuda-12.1目录啦

复制代码
(base) lgp@lgp-MS-7E07:~/2025_project$ ls /usr/local/
bin   cuda-11.1  cuda-12.1  games    lib  sbin   src
cuda  cuda-11.3  etc        include  man  share

设置CUDA环境变量

复制代码
export CUDA_HOME=/usr/local/cuda-12.1

3、安装GraspNet相关依赖库

下载graspnet代码

复制代码
git clone https://github.com/graspnet/graspnet-baseline.git
cd graspnet-baseline-main

编辑 requirements.txt为:

复制代码
numpy==1.23.0
scipy
open3d>=0.8
Pillow
tqdm

开始安装Graspness相关依赖库

bash 复制代码
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

4、编译安装pointnet2和knn

这些两个的安装需要CUDA编译的,依赖于前面的export CUDA_HOME=/usr/local/cuda-12.1

首先来到graspnet-baseline-main工程中,安装pointnet2

bash 复制代码
cd pointnet2
python setup.py install

再安装knn

bash 复制代码
cd knn
python setup.py install

5、安装graspnetAPI

下载graspnetAPI 代码,进行解压,进入文件目录

bash 复制代码
git clone https://github.com/graspnet/graspnetAPI.git
cd graspnetAPI

需要修改 setup.py文件,将其中的sklearn替换为scikit-learn,并且numpy==1.23.0

然后进行安装:

bash 复制代码
pip install . -i https://pypi.tuna.tsinghua.edu.cn/simple

到这里安装完成啦~

6、模型推理------抓取点估计

跑一下模型推理的demo,看看可视化的效果:

输出Top1的抓取位姿,需要修改代码 gg = gg[:1]

python 复制代码
def vis_grasps(gg, cloud):
    gg.nms()
    gg.sort_by_score()
    gg = gg[:1]
    print(gg)
    grippers = gg.to_open3d_geometry_list()
    o3d.visualization.draw_geometries([cloud, *grippers])

分享完成~

相关推荐
一颗小树x10 天前
【机器人】复现 GrainGrasp 精细指导的灵巧手抓取
机器人·抓取·复现·灵巧手·graingrasp
明弟有理想3 个月前
Chrome RCE 漏洞复现
前端·chrome·漏洞·复现
木心10 个月前
graspnet+Astra2相机实现部署
python·数码相机·graspnet
carrot112231 年前
VULHUB复现log4j反序列化漏洞-CVE-2021-44228
log4j·vulhub·复现