目录

1.安装MinkowskiEngine问题:

2. 安装 anygrasp_sdk

3. 获取License

4. 部署anygrasp服务


最近在利用Genmanip框架生成仿真数据,但需要安装anygrasp,官方给了教程 

相关配置:ubuntu22.04+cuda13.0+pytorch2.9.1+gcc12.3.0

1.安装MinkowskiEngine问题:

但是在安装MinkowskiEngine遇到了一些问题,当前服务器中配置是cuda13.0+pytorch2.9.1,然后在github issue中有人给出了解决方案,可以点此查看,然后按照此方案,最后执行安装时

python setup.py install --blas=openblas

遇到错误:error: command '/usr/local/cuda-13.0/bin/nvcc' failed with exit code 1

在这个博客中给出了解决方案:

ubuntu20.04安装MinkowskiEngine教程及避坑指南

报错的主要原因是因为cuda13.0和gcc版本不匹配,当前gcc版本是13.0,需要重新安装12.3.0版本

在官方页面:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html

可以查看cuda对应的gcc版本。

然后安装gcc12.3版本

# 1. 建议从清华大学的镜像源找到指定版本的包

https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/

https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.gz

然后解压:tar -xf gcc-12.3.0.tar.gz
进入解压文件: cd gcc-12.3.0
安装一些工具包:
sudo apt install build-essential

为了帮助 GCC 源编译,请安装 libgmp3-dev、libmpfr-dev 和 libmpc-dev 包:
sudo apt install libmpfr-dev libgmp3-dev libmpc-dev -y

# 2. 配置(使用您提供的参数)
./configure -v \
  --build=x86_64-linux-gnu \
  --host=x86_64-linux-gnu \
  --target=x86_64-linux-gnu \
  --prefix=/usr/local/gcc-12.3.0 \
  --enable-checking=release \
  --enable-languages=c,c++ \
  --disable-multilib \
  --program-suffix=-12.3.0

# 3. 编译(使用多核加速,可能需要几小时)
make -j$(nproc)

# 4. 安装
sudo make install

# 5. 添加到系统PATH
echo 'export PATH=/usr/local/gcc-12.3.0/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-12.3.0/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

# 6. 验证安装
在当前的python环境优先使用gcc12.3版本:
export CC=/usr/local/gcc-12.3.0/bin/gcc-12.3.0
gcc --version 就会输出12.3版本了

安装gcc12.3之后,再次执行安装:

python setup.py install --blas=openblas

等待安装完成,中间需要等待比较长的时间,没有错误,执行完成后,最后在python里import看看是否成功

$ python 
>>> import MinkowskiEngine as ME
>>> ME.__version__
'0.5.4'

安装成功!

2. 安装 anygrasp_sdk

之后安装 anygrasp_sdk

git clone https://github.com/graspnet/anygrasp_sdk.git
cd anygrasp_sdk
pip install -r requirements.txt

之后安装 pointnet2

cd pointnet2
python setup.py install

3. 获取License

AnyGrasp 目前只以闭源 SDK 的形式提供,需要申请 license 才能用

下载https://github.com/graspnet/anygrasp_sdk 项目,其中提到由于IP问题,目前只能以授权方式发布AnyGrasp的SDK库文件,需要填写申请才能获取相应文件,需要谷歌账号登录,然后邮箱需要使用教育邮箱,同时填写机器码。

# 1.下载anygrasp_sdk项目,进入license_registration 目录:

cd path/to/anygrasp_sdk/license_registration


# 2.to solve ifconfig issue
sudo apt install net-tools

# 3. 获取机器码
./license_checker -f

大概过一两天,邮箱就能收到相应的 license文件,包括以下三个文件:

checkpoint_detection.tar
checkpoint_tracking.tar
license/
   |-- licenseCfg.json
   |-- [your_name].public_key
   |-- [your_name].signature
   |-- [your_name].lic

把license压缩包解压,改名为license,在grasp_detection、grasp_tracking、license_registration文件夹各放置一份,进入到license_registration,执行以下命令:

# You can check license states via
./license_checker -c license/licenseCfg.json
显示如下:
[2025-12-11 16:30:54.104] [info] [FlexivLic] to verify license...
[2025-12-11 16:30:54.110] [info] [FlexivLic] public key xxx.public_key & signature xxx.signature are matched
[2025-12-11 16:30:54.110] [info] [FlexivLic] license license/xxx.lic check passed

然后在grasp_detection的gsnet_versions和license_registration的lib_cxx_versions,找到符合自己python版本的文件,然后进行改名放到grasp_detection目录下

# 文件改名
gsnet.cpython-310-x86_64-linux-gnu.so-->gsnet.so
lib_cxx.cpython-310-x86_64-linux-gnu.so --->lib_cxx.so

然后在grasp_detection执行测试命令: sh demo.sh,有下面输出则成功

[-0.3800217  -0.15607868  0.229     ] [0.3406217 0.2425703 0.61     ]
[0.47655499 0.46615526 0.36957011 0.31306624 0.25849855 0.25698301
 0.23997951 0.23209305 0.20437662 0.20322342 0.14972813 0.13736394
 0.13477902 0.13426076 0.13037908 0.12712221 0.11432476 0.11229827
 0.09463322 0.07871214]
grasp score: 0.4765549898147583

其中还存在numpy版本不对的问题,最后采用的numpy版本是1.23.5,安装时会出现和其他不兼容的错误,但是只要显示成功安装了即可。

4. 部署anygrasp服务

在GenManip的官方教程中,给出了server.py代码

from gsnet import AnyGrasp
from graspnetAPI import GraspGroup

其中需要用这两个,graspnetAPI直接pip安装即可,

sh demo.sh安装成功之后,就可以成功导入gsnet.

命令行输入:python -c "from gsnet import AnyGrasp"
输出如下,代表成功了
checking license on /home/zoomlion/Project/anygrasp_sdk/grasp_detection/gsnet.so
[2025-12-11 16:41:00.182] [info] [FlexivLic] public key xxx.public_key & signature xxx.signature are matched
[2025-12-11 16:41:00.182] [info] [FlexivLic] license /home/zoomlion/Project/anygrasp_sdk/grasp_detection/license/xxx.lic check passed                    .
license passed: True, state: FvrLicenseState.PASSED
/home/zoomlion/miniforge3/envs/anygrasp/lib/python3.10/site-packages/MinkowskiEngine/__init__.py:36: UserWarning: The environment variable                     `OMP_NUM_THREADS` not set. MinkowskiEngine will automatically set `OMP_NUM_THREADS=16`. If you want to set `OMP_NUM_THREADS` manually, plea                    se export it on the command line before running a python script. e.g. `export OMP_NUM_THREADS=12; python your_program.py`. It is recommende                    d to set it below 24.
  warnings.warn(
WARNING:root:Failed to import geometry msgs in rigid_transformations.py.
WARNING:root:Failed to import ros dependencies in rigid_transforms.py
WARNING:root:autolab_core not installed as catkin package, RigidTransform ros methods will be unavailable


 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐