在moveit中添加点云场景

本文介绍了在使用MoveIt进行避障功能测试时遇到的两个主要问题:一是无法直接导入.pcd文件,二是通过发布octomap给PlanningScene时显示问题。尝试了不同的方法,包括transformPointCloud、导入ply文件以及发布PlanningScene消息,最终通过配置sensor_moveit_config包成功实现了点云场景的添加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做完标定后,测试避障功能,都是坑

typedef pcl::PointXYZRGB PointT;
pcl::transformPointCloud(*cloud_in,*cloud,cam2rb);
pcl::copyPointCloud(*cloud_in,*cloud);
pcl::io::savePCDFileASCII ("cloud1_trans.pcd", *cloud); //pcl::io::savePCDFileBinary("cloud1_trans.pcd", *cloud); 

若以pcl::PointXYZRGB读取pcd文件,copy一份然后保存到硬盘,用pcl_viewer看不到保存的点云
而后以pcl::PointXYZ读取,便可以看到。之前遇到到这个问题,如果pcd文件不含有rgb信息但强行以pcl::PointXYZRGB读取会自动赋值rgb为黑色(0, 0, 0),而pcl_viewer背景为黑色,所以看不到任何点云。but这次我读取的是带有rgb信息的pcd啊…
这是小插曲,后面开始踩坑


坑一

方法:moveit自带的MotionPlanning可以直接import file

import file
试了下不能直接导入.pcd文件,但是可以直接导入.ply文件,所以直接运用
pcl::transformPointCloud(*cloud_in,*cloud,cam2rb);
得到基于机械臂base的点云,然后直接通过终端命令

pcl_pcd2ply xxx.pcd  xxx.ply

运行打开rviz

roslaunch ur3_moveit_config moveit_rviz.launch config:=true

import网上的standford bunny,效果如图:
bunny
import刚才生成的xxx.ply文件,报错如下:

eigen: too many iterations in Jacobi transform.
rviz: /build/ogre-1.9-mqY1wq/ogre-1.9-1.9.0+dfsg1/OgreMain/include/OgreAxisAlignedBox.h:252void Ogre::AxisAlignedBox::setExtents(const Ogre
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值