Multi-View Picking: Next-best-view Reaching for Improved Grasping in Clutter论文复现
这篇paper是继GG-CNN之后的工作,发表在ICRA2019上,本文完成了一个基于视觉的闭环抓取,相对于之前的看好了位置再去抓取有很多的好处,例如:
- 开始就不需要很高的检测精度,因为相机在臂上,本来也是动态的检测,因为可以实时的调整。
- 由于是动态的检测抓取框,因此抓取的物体可以移动或者旋转,因此可以对动态的目标进行检测。
- 可以在不同的视角观察一个物体,因此这样可以更好的选择抓取的位置。
接下来开始尝试复现代码,本文采用的是Franka Panda和realsense D435的配合完成任务的,通信采用的是ROS,这里采用两台电脑完成,一台安装Ubuntu Realtime Kernel,专门用来控制franka,另一台则是安装Nvidia显卡驱动来运行Realsense。
首先是该项目的地址这里是我修改后的,源代码缺失一些东西不能够运行,视频,这里首先安装一些依赖
- ROS Kinectic
- Franka ROS
- RealSense ROS
在完成了安装之后呢,就可以把后面两个的github地址下载到你的ROS工作目录的src下,然后是需要拿到franka的官方库,这里最好是买Franka的时候别人给的,因为网上的版本可能是最新的,不一定和自己的要求一致,libfranka和franka ros版本不一致将会导致报错。
具体步骤如下(这里建议相机的安装按照我的另一篇博客):
//首先进入ROS工作空间,我这里是
cd /home/dj/catkin_ws/src
//前面的安装ROS直接看ROS Kinectic就好,按照流程走一便
//这里是下载franka ros
git clone https://github.com/frankaemika/franka_ros/tree/0.5.0
//下载RealSense,注意型号别错了
git clone https://github.com/IntelRealSense/realsense-ros#installation-instructions
//下载项目
git clone https:https://github.com/USTCzzl/mvp_grasp/tree/dj
这样都下载好了,接下来就是编译。
作者的github写的是
Clone this repository into your ROS worksapce and run rosdep install --from-paths src --ignore-src --rosdistro=<your_rosdistro> -y and then catkin_make/catkin build.
我这里直接报错,然后google之后找到了解决方案。
//这里先安装其他依赖,首先到src的上级目录下
cd ..
//然后是
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y --os=ubuntu:xenial
//这里应该编译直接通过,但是为了防止libfranka版本和franka ros不对应,我采用了
catkin_make -DCMAKE_BUILD_TYPE=Release -DFranka_DIR:PATH=/path/to/libfranka/build
source devel/setup.sh
这样编译通过后,到项目目录下
cd src/mvp_grasp
//安装python依赖项
pip install -r requirements.txt
这样的过程在两台电脑上都要做一遍,hhh。
这样配置好了之后就是让两台电脑和机械臂通信,这里采用的是ROS,具体的教程可以看教程,两台电脑能够通信之后,就可以开始尝试了。