【学习】在WSL2上完美复现GraspNet并可视化

参考

整篇教程主要参考:

  • 复现GraspNet
https://blog.csdn.net/2302_76921114/article/details/149504309?ops_request_misc=&request_id=&biz_id=102&utm_term=graspnet&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-3-149504309.142^v102^pc_search_result_base1&spm=1018.2226.3001.4187

该文章关于可视化部分和整合章节做的比较粗糙,已作针对性优化。
  • 桌面安装
https://docs.qq.com/aio/DSXd3a1RmaFRTZXBP?p=glD9eD1y2nrLwQnYCahvK0

一、准备环境

默认大家已经有了wsl2环境,没有请参考:https://www.cnblogs.com/quantoublog/articles/17674475.html

  • 更新
sudo apt update
 
sudo apt upgrade

sudo apt upgrade gcc g++
  • 安装miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
 
bash Miniconda3-latest-Linux-x86_64.sh 
  • 虚拟环境
# open3d库不支持py12及以上
# 后续所有使用python的地方,都使用 robot_grasp 环境
conda create -n robot_grasp python=3.10 
 
conda activate robot_grasp
  • clone grashnet仓库,安装相关依赖
# 找一个目录,我这里是~/source
git clone https://github.com/graspnet/graspnet-baseline.git

# 修改requirements.txt,删除torch,后续手动安装
pip install -r requirements.txt

conda install numpy scipy pandas matplotlib tqdm ipython jupyter
 
pip install open3d trimesh transforms3d h5py
  • 安装cuda、torch
# 查看 CUDA Version
nvidia-smi
# CUDA Version 标注能安装的cuda的最高版本

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77.01              Driver Version: 566.36         CUDA Version: 12.7     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 4060 Ti     On  |   00000000:01:00.0  On |                  N/A |
|  0%   43C    P5             11W /  160W |    2864MiB /   8188MiB |     35%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+

# 我这里显示12.7,选择了toch2.5.1
pip install torch==2.5.1
  • 测试torch
python

import torch
print("是否可用:", torch.cuda.is_available())
print("torch查看CUDA版本:", torch.version.cuda)

image-20251102221237350

这里CUDA输出的12.4,我们去下载cuda 12.4,链接:https://developer.nvidia.com/cuda-12-4-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=WSL-Ubuntu&target_version=2.0&target_type=deb_local

按步骤走(来自上面的链接,视具体版本而定):

wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin

sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600

wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda-repo-wsl-ubuntu-12-4-local_12.4.0-1_amd64.deb

sudo dpkg -i cuda-repo-wsl-ubuntu-12-4-local_12.4.0-1_amd64.deb

sudo cp /var/cuda-repo-wsl-ubuntu-12-4-local/cuda-*-keyring.gpg /usr/share/keyrings/

sudo apt-get update

sudo apt-get -y install cuda-toolkit-12-4
  • 报错:libtinfo5 but it is not installable
# 基本是ubuntu24.04出现这个问题
sudo apt update
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
  • 添加cuda环境变量
# 找到cuda安装位置
find /usr/local/cuda* -name nvcc
# 如 /usr/local/cuda-12.4/bin/nvcc
vim ~/.bashrc

# 添加以下内容
# >>> NVIDIA CUDA Toolkit 环境配置 >>>
export PATH=/usr/local/cuda-12.4/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
# <<< NVIDIA CUDA Toolkit 环境配置 <<<
  • 测试
nvcc --version                                                                                           

nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2024 NVIDIA Corporation
Built on Tue_Feb_27_16:19:38_PST_2024
Cuda compilation tools, release 12.4, V12.4.99
Build cuda_12.4.r12.4/compiler.33961263_0

二、GraspNet项目

  • 进入项目
cd graspnet-baseline
  • 安装pointnet2
cd pointnet2

python setup.py install
  • 安装knn
cd knn
 
python setup.py install
  • 安装graspnetAPI
cd 此项目之外
 
git clone https://github.com/graspnet/graspnetAPI.git
 
cd graspnetAPI
 
pip install .
  • 报错:The 'sklearn' PyPI package is deprecated, use 'scikit-learn'
# 修改 setup.py 将sklearn替换为scikit-learn
vim setup.py
# 依照自己graspnet-baseline项目实际路径进行mkdir和cp
mkdir -p  ~/source/graspnet-baseline/logs/log_rs/
mkdir -p  ~/source/graspnet-baseline/logs/log_kn/
cp ~/download/checkpoint-rs.tar ~/source/graspnet-baseline/logs/log_rs/checkpoint.tar 
cp ~/download/checkpoint-kn.tar ~/source/graspnet-baseline/logs/log_kn/checkpoint.tar 
  • 执行demo
# 到graspnet-baseline项目下
chmod +x command_demo.sh
 
./command_demo.sh
  • 报错: version `GLIBCXX_3.4.32' not found
sudo apt update
sudo apt upgrade gcc g++
# 检查是否支持GLIBCXX_3.4.32
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
# 重新安装knn
cd knn
python setup.py install
  • 报错:No module named 'torch._six'
# 修改导包
vim dataset/graspnet_dataset.py
# 将下面这行注释
# from torch._six import container_abcs
# 增加这一行
from collections.abc import Mapping, Sequence
  • 执行成功,报错:
[Open3D WARNING] GLFW Error: Wayland: The platform does not support setting the window position
[Open3D WARNING] Failed to initialize GLEW.
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.

这是因为没有桌面。

桌面安装教程:https://docs.qq.com/aio/DSXd3a1RmaFRTZXBP?p=glD9eD1y2nrLwQnYCahvK0

三、mujoco

安装非常简单,使用pip能一键安装

pip install mujoco

四、整合

  • 拷贝 graspnetAPI 和 graspnet-baseline 至 manipulator_grasp
cp -r ~/source/graspnet-baseline ~/source/manipulator_grasp
cp -r ~/source/manipulator_grasp/graspnetAPI ~/source/manipulator_grasp
cp -r ~/source/graspnet-baseline/logs ~/source/manipulator_grasp
  • 安装依赖
pip install spatialmath-python  
pip3 install roboticstoolbox-python
pip install modern_robotics
  • 执行
cd ~/source/manipulator_grasp
python main.py

五、效果

image-20251103090603336

image-20251103090627249

image-20251103090654804

posted @ 2025-11-03 09:14  小拳头呀  阅读(7)  评论(0)    收藏  举报