题目:UniDexGrasp: Universal Robotic Dexterous Grasping via Learning Diverse Proposal Generation and Goal Conditioned Policy
论文由北京大学王鹤研究团队与北京通用人工智能研究院、斯坦福大学、清华大学合作,提出了对于一个单独放置在桌面上的物体的点云输入,使用五指灵巧手进行抓取的方法。
他们将灵巧手抓取物体的过程分为两个阶段,第一阶段针对物体点云输入生成若干静态抓取手势,从中挑选一个作为目标手势之后,第二阶段使用基于目标手势的强化学习策略来执行抓取。
论文:https://arxiv.org/pdf/2303.00938
代码:https://github.com/PKU-EPIC/UniDexGrasp
数据集:https://mirrors.pku.edu.cn/dl-release/UniDexGrasp_CVPR2023
第一阶段手势生成算法
参考:https://zhuanlan.zhihu.com/p/650320613
# 安装cuda-11.3
sh cuda_11.3.0_465.19.01_linux.run --installpath=/home/cuda
pip install setuptools==56.1.0
# 重装 pytorch3d
conda uninstall pytorch3d
conda install -y https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch3d/linux-64/pytorch3d-0.7.2-py38_cu113_pyt1100.tar.bz2
unset LD_LIBRARY_PATH # 清除旧的环境变量
ln -s /data ./ # 软连接数据集
第二阶段抓取执行算法:
# 创建虚拟环境用于运行dexgrasp_policy程序
conda create -n dgp python==3.8
conda deactivate dgp
# 安装isaacgym
cd <PATH_TO_ISAACGYM_INSTALL_DIR>/python
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
# 测试 isaacgym
# cd <PATH_TO_ISAACGYM_INSTALL_DIR>/python/examples
# python joint_monkey.py
# 安装dexgrasp
cd <PATH_TO_DEXGRASP_POLICY_DIR>
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install tb-nightly -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com
pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple
# 安装 pointnet2_ops
git clone git@github.com:erikwijmans/Pointnet2_PyTorch.git && cd pointnet2_ops_lib/
python setup.py install
# OSError: /home/???/anaconda3/envs/dgp/lib/python3.8/site-packages/torch/lib/../../nvidia/cublas/lib/libcublas.so.11: undefined symbol: cublasLtGetStatusString, version libcublasLt.so.11 解决方案直接删除cublas包
# 测试
bash script/run_train_ppo_state.sh
# 可视化需要修改 run_train_ppo_state.sh(删除--headless, 添加--test); ppo.py (注释exit();解除注释for rendering下面内容);修改congfig.yaml迭代次数
抓取执行仿真测试