Updated ros-pkg for RTAB-Map 0.8.0

Moved all nodelets and rviz plugins in "rtabmap_ros" namespace instead of "rtabmap"
Refactored rtabmap_ros messages (added convenient conversion methods in rtabmap_ros/MsgConversion.h)
Added noise filtering parameters for map_assembler node
Added variance parameter for map_optimizer node
Odometry nodes publish covariance matrices in odometry messages. Publish rtambap_ros::OdomInfo topic too.
This commit is contained in:
Mathieu Labbe
2014-12-14 16:44:13 -05:00
parent c91586ea57
commit dfe5cff0c0
74 changed files with 915 additions and 1088 deletions
+2 -2
View File
@@ -39,7 +39,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sensor_msgs/CameraInfo.h>
#include <nav_msgs/Odometry.h>
namespace rtabmap
namespace rtabmap_ros
{
class DataOdomSyncNodelet : public nodelet::Nodelet
@@ -126,5 +126,5 @@ private:
};
PLUGINLIB_EXPORT_CLASS(rtabmap::DataOdomSyncNodelet, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::DataOdomSyncNodelet, nodelet::Nodelet);
}
+2 -2
View File
@@ -38,7 +38,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sensor_msgs/CameraInfo.h>
namespace rtabmap
namespace rtabmap_ros
{
class DataThrottleNodelet : public nodelet::Nodelet
@@ -134,5 +134,5 @@ private:
};
PLUGINLIB_EXPORT_CLASS(rtabmap::DataThrottleNodelet, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::DataThrottleNodelet, nodelet::Nodelet);
}
+2 -2
View File
@@ -37,7 +37,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <cv_bridge/cv_bridge.h>
namespace rtabmap
namespace rtabmap_ros
{
class DisparityToDepth : public nodelet::Nodelet
@@ -136,5 +136,5 @@ private:
ros::Subscriber sub_;
};
PLUGINLIB_EXPORT_CLASS(rtabmap::DisparityToDepth, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::DisparityToDepth, nodelet::Nodelet);
}
+7 -7
View File
@@ -57,7 +57,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "rtabmap/core/util3d.h"
namespace rtabmap
namespace rtabmap_ros
{
class ObstaclesDetection : public nodelet::Nodelet
@@ -102,7 +102,7 @@ private:
{
if(groundPub_.getNumSubscribers() || obstaclesPub_.getNumSubscribers())
{
Transform localTransform;
rtabmap::Transform localTransform;
try
{
if(waitForTransform_)
@@ -115,7 +115,7 @@ private:
}
tf::StampedTransform tmp;
tfListener_.lookupTransform(frameId_, cloudMsg->header.frame_id, cloudMsg->header.stamp, tmp);
localTransform = transformFromTF(tmp);
localTransform = rtabmap_ros::transformFromTF(tmp);
}
catch(tf::TransformException & ex)
{
@@ -128,13 +128,13 @@ private:
pcl::IndicesPtr ground, obstacles;
if(cloud->size())
{
cloud = util3d::transformPointCloud<pcl::PointXYZ>(cloud, localTransform);
cloud = rtabmap::util3d::transformPointCloud<pcl::PointXYZ>(cloud, localTransform);
if(maxObstaclesHeight_ > 0)
{
cloud = util3d::passThrough<pcl::PointXYZ>(cloud, "z", std::numeric_limits<int>::min(), maxObstaclesHeight_);
cloud = rtabmap::util3d::passThrough<pcl::PointXYZ>(cloud, "z", std::numeric_limits<int>::min(), maxObstaclesHeight_);
}
util3d::segmentObstaclesFromGround<pcl::PointXYZ>(cloud,
rtabmap::util3d::segmentObstaclesFromGround<pcl::PointXYZ>(cloud,
ground, obstacles, normalEstimationRadius_, groundNormalAngle_, minClusterSize_);
}
@@ -189,6 +189,6 @@ private:
ros::Subscriber cloudSub_;
};
PLUGINLIB_EXPORT_CLASS(rtabmap::ObstaclesDetection, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::ObstaclesDetection, nodelet::Nodelet);
}
+7 -7
View File
@@ -53,7 +53,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "rtabmap/core/util3d.h"
namespace rtabmap
namespace rtabmap_ros
{
class PointCloudXYZ : public nodelet::Nodelet
@@ -154,7 +154,7 @@ private:
float cy = model.cy();
pcl::PointCloud<pcl::PointXYZ>::Ptr pclCloud;
pclCloud = util3d::cloudFromDepth(
pclCloud = rtabmap::util3d::cloudFromDepth(
imageDepthPtr->image,
cx,
cy,
@@ -195,7 +195,7 @@ private:
float cy = model.cy();
pcl::PointCloud<pcl::PointXYZ>::Ptr pclCloud;
pclCloud = util3d::cloudFromDisparity(
pclCloud = rtabmap::util3d::cloudFromDisparity(
disparity,
cx,
cy,
@@ -211,12 +211,12 @@ private:
{
if(pclCloud->size() && maxDepth_ > 0)
{
pclCloud = util3d::passThrough<pcl::PointXYZ>(pclCloud, "z", 0, maxDepth_);
pclCloud = rtabmap::util3d::passThrough<pcl::PointXYZ>(pclCloud, "z", 0, maxDepth_);
}
if(pclCloud->size() && noiseFilterRadius_ > 0.0 && noiseFilterMinNeighbors_ > 0)
{
pcl::IndicesPtr indices = util3d::radiusFiltering<pcl::PointXYZ>(pclCloud, noiseFilterRadius_, noiseFilterMinNeighbors_);
pcl::IndicesPtr indices = rtabmap::util3d::radiusFiltering<pcl::PointXYZ>(pclCloud, noiseFilterRadius_, noiseFilterMinNeighbors_);
pcl::PointCloud<pcl::PointXYZ>::Ptr tmp(new pcl::PointCloud<pcl::PointXYZ>);
pcl::copyPointCloud(*pclCloud, *indices, *tmp);
pclCloud = tmp;
@@ -224,7 +224,7 @@ private:
if(pclCloud->size() && voxelSize_ > 0.0)
{
pclCloud = util3d::voxelize<pcl::PointXYZ>(pclCloud, voxelSize_);
pclCloud = rtabmap::util3d::voxelize<pcl::PointXYZ>(pclCloud, voxelSize_);
}
sensor_msgs::PointCloud2 rosCloud;
@@ -266,6 +266,6 @@ private:
};
PLUGINLIB_EXPORT_CLASS(rtabmap::PointCloudXYZ, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::PointCloudXYZ, nodelet::Nodelet);
}
+2 -2
View File
@@ -51,7 +51,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "rtabmap/core/util3d.h"
namespace rtabmap
namespace rtabmap_ros
{
class PointCloudXYZRGB : public nodelet::Nodelet
@@ -162,6 +162,6 @@ private:
message_filters::Synchronizer<MySyncPolicy> * sync_;
};
PLUGINLIB_EXPORT_CLASS(rtabmap::PointCloudXYZRGB, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::PointCloudXYZRGB, nodelet::Nodelet);
}
+2 -2
View File
@@ -38,7 +38,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <sensor_msgs/CameraInfo.h>
namespace rtabmap
namespace rtabmap_ros
{
class StereoThrottleNodelet : public nodelet::Nodelet
@@ -170,5 +170,5 @@ private:
};
PLUGINLIB_EXPORT_CLASS(rtabmap::StereoThrottleNodelet, nodelet::Nodelet);
PLUGINLIB_EXPORT_CLASS(rtabmap_ros::StereoThrottleNodelet, nodelet::Nodelet);
}