ROS kinetic 升级 PCL1.9.0 以安装gpd库和gpd_ros

对于机械臂视觉抓取功能来说,比较传统的做法:由于之前的物体识别模块已经确定了这片点云对应的物体,如果我们有物体的3D模型,便可以直接用ICP算法将这片点云与物体的3D模型对齐。既然知道3D模型的位姿那就好办了。之后就是各种抓取姿态生成、力封闭之类的东西了。其他方法:利用RCNN在图像中定位了物体的大概位置,然后根据一堆点云做抓取,而不用知道物体的3D模型。

1、Using Geometry to Detect Grasp Poses in 3D Point Clouds
上面这个是ICRA 2015中的一篇论文,他们利用SVM分类器,直接对3D点云进行训练,判断其可抓取方向:感觉效果并不是特别好,需要较为完整的点云,同时训练库对结果影响也很大。
2、High precision grasp pose detection in dense clutter
这篇论文采用卷积神经网络训练一小片点云的可抓取性,上图按顺序依次是:彩色图片、点云图片、随机生成的抓取姿态、CNN判断可行的抓取姿态。据作者说抓取成功率相比于第一种方法提升了20%。

这两种方法,作者都已经将程序开源出来了,第一种方法是agile_grasp,在ROS中编译安装很简单,第二种方法是gpd_ros,这个包安装编译就有很多坑,首先gpd_ros依赖于gpd库,而作者提供的gpd2.0.0版本是基于c++14和PCL1.9的版本写的,所以对于ROS kinetic用户来说配置起来错误很多。最终要想编译gpd_ros成功,需要以下几个步骤:

  1. 下载编译PCL1.9

  2. 修改cmake版本

  3. 下载编译gpd

  4. 添加opencv依赖

  5. 编译gpd_ros

1. ROS环境下载编译PCL1.9

Ubuntu18.04下安装点云库PCL1.9.0_czychen1997的博客-优快云博客_ubuntu安装pcl库

现在在官网好像没法下载源码了,要到github下载才行:Release pcl-1.9.0 · PointCloudLibrary/pcl · GitHub ,下载源码之后,放到你想要的安装目录下,然后安装依赖

 sudo apt-get update
 sudo apt-get install git build-essential linux-libc-dev
 sudo apt-get install cmake cmake-gui 
 sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
 sudo apt-get install mpi-default-dev openmpi-bin openmpi-common  
 sudo apt-get install libflann1.8 libflann-dev
 sudo apt-get install libeigen3-dev
 sudo apt-get install libboost-all-dev
 sudo apt-get insta
### 如何在 ROS安装 pcl_ros 功能包 要在 ROS 环境中成功安装 `pcl_ros` 功能包,可以按照以下方法操作: #### 方法一:通过官方 ROS 软件源安装 对于大多数标准的 ROS 发行版,`pcl_ros` 已经被包含在默认的 ROS 安装包列表中。可以通过运行以下命令来安装该功能包: ```bash sudo apt-get update sudo apt-get install ros-$ROS_DISTRO-pcl-ros ``` 其中 `$ROS_DISTRO` 需要替换为当前使用的 ROS 版本名称,例如 `noetic`, `melodic` 或其他版本[^1]。 #### 方法二:手动编译安装 PCL pcl_ros 如果无法通过上述方式找到并安装 `pcl_ros`,可能是因为本地环境缺少必要的依赖项或者未配置正确的 ROS 软件源。此时可以选择手动克隆编译 `pcl_ros` 的源码仓。具体步骤如下: 1. **确认已安装 Point Cloud Library (PCL)** 如果尚未安装 PCL ,则需要先完成其安装过程。可通过以下命令实现: ```bash sudo apt-get install libpcl-dev ``` 2. **获取 pcl_ros 源码** 使用 Git 将 `pcl_ros` 从 GitHub 上拉取到工作空间目录下(假设您的 catkin workspace 名称为 `catkin_ws`): ```bash cd ~/catkin_ws/src/ git clone https://github.com/ros-perception/perception_pcl.git -b $ROS_DISTRO-devel ``` 3. **构建项目** 返回至根目录执行 Catkin 构建脚本以确保所有依赖关系得到满足,并最终生成可执行文件。 ```bash cd ~/catkin_ws/ catkin_make source devel/setup.bash ``` 当遇到某些特定错误提示时,比如提到缺失某类的情况,可以根据实际报错信息逐步定位所需额外安装的内容直至问题完全解决[^2]。 #### 示例代码展示如何转换PCD文件成图片流 下面给出一段简单的 Python 脚本例子演示调用 `convert_pcd_to_image` 命令的过程: ```python import os os.system('rosrun pcl_ros convert_pcd_to_image input_cloud.pcd output_image.png') print("Conversion completed successfully.") ``` 此段程序会读入名为 `input_cloud.pcd` 的点云数据并将之转化为 PNG 图像保存下来[^3]。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值