MRPT  2.0.0
Classes | Functions
mrpt::ros1bridge Namespace Reference

Detailed Description

ROS message: http://docs.ros.org/api/sensor_msgs/html/msg/NavSatFix.html MRPT message: https://github.com/MRPT/mrpt/blob/master/libs/obs/include/mrpt/obs/CObservationGPS.h.

ROS message : http://docs.ros.org/api/sensor_msgs/html/msg/Range.html MRPT message: https://github.com/MRPT/mrpt/blob/master/libs/obs/include/mrpt/obs/CObservationRange.h.

ROS message: http://docs.ros.org/api/sensor_msgs/html/msg/Imu.html MRPT message: https://github.com/MRPT/mrpt/blob/master/libs/obs/include/mrpt/obs/CObservationIMU.h.

Conversion functions between ROS 1 <-> MRPT types.

Classes

class  MapHdl
 Methods to convert between ROS msgs and MRPT objects for map datatypes. More...
 

Functions

bool fromROS (const sensor_msgs::NavSatFix &msg, mrpt::obs::CObservationGPS &obj)
 Convert sensor_msgs/NavSatFix -> mrpt::obs::CObservationGPS. More...
 
bool toROS (const mrpt::obs::CObservationGPS &obj, const std_msgs::Header &msg_header, sensor_msgs::NavSatFix &msg)
 Convert mrpt::obs::CObservationGPS -> sensor_msgs/NavSatFix The user must supply the "msg_header" field to be copied into the output message object, since that part does not appear in MRPT classes. More...
 
mrpt::img::CImage fromROS (const sensor_msgs::Image &i)
 Makes a deep copy of the image data. More...
 
sensor_msgs::Image toROS (const mrpt::img::CImage &i, const std_msgs::Header &msg_header)
 Makes a deep copy of the image data. More...
 
bool fromROS (const sensor_msgs::Imu &msg, mrpt::obs::CObservationIMU &obj)
 Convert sensor_msgs/Imu -> mrpt::obs::CObservationIMU // STILL NEED TO WRITE CODE FOR COVARIANCE. More...
 
bool toROS (const mrpt::obs::CObservationIMU &obj, const std_msgs::Header &msg_header, sensor_msgs::Imu &msg)
 Convert mrpt::obs::CObservationIMU -> sensor_msgs/Imu The user must supply the "msg_header" field to be copied into the output message object, since that part does not appear in MRPT classes. More...
 
bool fromROS (const sensor_msgs::LaserScan &msg, const mrpt::poses::CPose3D &pose, mrpt::obs::CObservation2DRangeScan &obj)
 ROS->MRPT: Takes a sensor_msgs::LaserScan and the relative pose of the laser wrt base_link and builds a CObservation2DRangeScan. More...
 
bool toROS (const mrpt::obs::CObservation2DRangeScan &obj, sensor_msgs::LaserScan &msg)
 MRPT->ROS: Takes a CObservation2DRangeScan and outputs range data in sensor_msgs::LaserScan. More...
 
bool toROS (const mrpt::obs::CObservation2DRangeScan &obj, sensor_msgs::LaserScan &msg, geometry_msgs::Pose &pose)
 MRPT->ROS: Takes a CObservation2DRangeScan and outputs range data in sensor_msgs::LaserScan + the relative pose of the laser wrt base_link. More...
 
tf2::Matrix3x3 toROS (const mrpt::math::CMatrixDouble33 &src)
 
tf2::Transform toROS_tfTransform (const mrpt::poses::CPose2D &src)
 
geometry_msgs::Pose toROS_Pose (const mrpt::poses::CPose2D &src)
 
tf2::Transform toROS_tfTransform (const mrpt::math::TPose2D &src)
 
geometry_msgs::Pose toROS_Pose (const mrpt::math::TPose2D &src)
 
tf2::Transform toROS_tfTransform (const mrpt::poses::CPose3D &src)
 
geometry_msgs::Pose toROS_Pose (const mrpt::poses::CPose3D &src)
 
tf2::Transform toROS_tfTransform (const mrpt::math::TPose3D &src)
 
geometry_msgs::Pose toROS_Pose (const mrpt::math::TPose3D &src)
 
geometry_msgs::PoseWithCovariance toROS_Pose (const mrpt::poses::CPose3DPDFGaussian &src)
 
geometry_msgs::PoseWithCovariance toROS (const mrpt::poses::CPose3DPDFGaussianInf &src)
 
geometry_msgs::PoseWithCovariance toROS (const mrpt::poses::CPosePDFGaussian &src)
 
geometry_msgs::PoseWithCovariance toROS (const mrpt::poses::CPosePDFGaussianInf &src)
 
geometry_msgs::Quaternion toROS (const mrpt::math::CQuaternionDouble &src)
 
mrpt::poses::CPose3D fromROS (const tf2::Transform &src)
 
mrpt::math::CMatrixDouble33 fromROS (const tf2::Matrix3x3 &src)
 
mrpt::poses::CPose3D fromROS (const geometry_msgs::Pose &src)
 
mrpt::poses::CPose3DPDFGaussian fromROS (const geometry_msgs::PoseWithCovariance &src)
 
mrpt::math::CQuaternionDouble fromROS (const geometry_msgs::Quaternion &src)
 
bool fromROS (const sensor_msgs::Range &msg, mrpt::obs::CObservationRange &obj)
 Convert sensor_msgs/Range -> mrpt::obs::CObservationRange. More...
 
bool toROS (const mrpt::obs::CObservationRange &obj, const std_msgs::Header &msg_header, sensor_msgs::Range *msg)
 Convert mrpt::obs::CObservationRange -> sensor_msgs/Range The user must supply the "msg_header" field to be copied into the output message object, since that part does not appear in MRPT classes. More...
 
bool toROS (const mrpt::obs::CObservationStereoImages &obj, const std_msgs::Header &msg_header, sensor_msgs::Image &left, sensor_msgs::Image &right, stereo_msgs::DisparityImage &disparity)
 
mrpt::system::TTimeStamp fromROS (const ros::Time &src)
 converts ros time to mrpt time More...
 
ros::Time toROS (const mrpt::system::TTimeStamp &src)
 converts mrpt time to ros time More...
 
bool convert (const sensor_msgs::LaserScan &msg, const mrpt::poses::CPose3D &pose, mrpt::obs::CObservation2DRangeScan &obj)
 
static bool check_field (const sensor_msgs::PointField &input_field, std::string check_name, const sensor_msgs::PointField **output)
 
static void get_float_from_field (const sensor_msgs::PointField *field, const unsigned char *data, float &output)
 
static void get_uint16_from_field (const sensor_msgs::PointField *field, const unsigned char *data, uint16_t &output)
 
Maps, Occupancy Grid Maps: ROS <-> MRPT
bool fromROS (const nav_msgs::OccupancyGrid &src, mrpt::maps::COccupancyGridMap2D &des)
 converts ros msg to mrpt object More...
 
bool toROS (const mrpt::maps::COccupancyGridMap2D &src, nav_msgs::OccupancyGrid &msg, const std_msgs::Header &header)
 converts mrpt object to ros msg and updates the msg header More...
 
bool toROS (const mrpt::maps::COccupancyGridMap2D &src, nav_msgs::OccupancyGrid &msg)
 converts mrpt object to ros msg More...
 
Point clouds: ROS <-> MRPT
bool fromROS (const sensor_msgs::PointCloud &msg, mrpt::maps::CSimplePointsMap &obj)
 Convert sensor_msgs/PointCloud -> mrpt::maps::CSimplePointsMap CSimplePointsMap only contains (x,y,z) data, so sensor_msgs::PointCloud::channels are ignored. More...
 
bool toROS (const mrpt::maps::CSimplePointsMap &obj, const std_msgs::Header &msg_header, sensor_msgs::PointCloud &msg)
 Convert mrpt::maps::CSimplePointsMap -> sensor_msgs/PointCloud The user must supply the "msg_header" field to be copied into the output message object, since that part does not appear in MRPT classes. More...
 
sensor_msgs::PointCloud2: ROS <-> MRPT
bool fromROS (const sensor_msgs::PointCloud2 &msg, mrpt::maps::CSimplePointsMap &obj)
 Convert sensor_msgs/PointCloud2 -> mrpt::slam::CSimplePointsMap Only (x,y,z) data is converted. More...
 
bool fromROS (const sensor_msgs::PointCloud2 &msg, mrpt::maps::CPointsMapXYZI &obj)
 
bool fromROS (const sensor_msgs::PointCloud2 &m, mrpt::obs::CObservationRotatingScan &o, const mrpt::poses::CPose3D &sensorPoseOnRobot, unsigned int num_azimuth_divisions=360)
 Convert sensor_msgs/PointCloud2 -> mrpt::obs::CObservationRotatingScan. More...
 
std::set< std::string > extractFields (const sensor_msgs::PointCloud2 &msg)
 Extract a list of fields found in the point cloud. More...
 
bool toROS (const mrpt::maps::CSimplePointsMap &obj, const std_msgs::Header &msg_header, sensor_msgs::PointCloud2 &msg)
 Convert mrpt::slam::CSimplePointsMap -> sensor_msgs/PointCloud2 The user must supply the "msg_header" field to be copied into the output message object, since that part does not appear in MRPT classes. More...
 

Function Documentation

◆ check_field()

static bool mrpt::ros1bridge::check_field ( const sensor_msgs::PointField &  input_field,
std::string  check_name,
const sensor_msgs::PointField **  output 
)
static

Definition at line 23 of file point_cloud2.cpp.

Referenced by fromROS().

Here is the caller graph for this function:

◆ convert()

bool mrpt::ros1bridge::convert ( const sensor_msgs::LaserScan &  msg,
const mrpt::poses::CPose3D pose,
mrpt::obs::CObservation2DRangeScan obj 
)

◆ get_float_from_field()

static void mrpt::ros1bridge::get_float_from_field ( const sensor_msgs::PointField *  field,
const unsigned char *  data,
float &  output 
)
static

Definition at line 45 of file point_cloud2.cpp.

References mrpt::opengl::internal::data.

Referenced by fromROS().

Here is the caller graph for this function:

◆ get_uint16_from_field()

static void mrpt::ros1bridge::get_uint16_from_field ( const sensor_msgs::PointField *  field,
const unsigned char *  data,
uint16_t &  output 
)
static

Definition at line 60 of file point_cloud2.cpp.

References mrpt::opengl::internal::data.

Referenced by fromROS().

Here is the caller graph for this function:



Page generated by Doxygen 1.8.14 for MRPT 2.0.0 Git: b38439d21 Tue Mar 31 19:58:06 2020 +0200 at miƩ abr 1 00:50:30 CEST 2020