Hiep update nav_msgs

This commit is contained in:
HiepLM 2025-12-05 11:36:41 +07:00
parent e941fec3f8
commit bf1fc3df34
5 changed files with 303 additions and 123 deletions

View File

@ -1,47 +1,82 @@
// #an array of cells in a 2D grid
// Header header
// float32 cell_width
// float32 cell_height
// geometry_msgs/Point[] cells
#ifndef GRID_CELLS_H
#define GRID_CELLS_H
// Generated by gencpp from file nav_msgs/GridCells.msg
// DO NOT EDIT!
#ifndef NAV_MSGS_MESSAGE_GRIDCELLS_H
#define NAV_MSGS_MESSAGE_GRIDCELLS_H
#include <cstdint>
#include <string>
#include <vector>
#include "std_msgs/Header.h"
#include "geometry_msgs/Point.h"
#include <memory>
#include <boost/shared_ptr.hpp>
#include <std_msgs/Header.h>
#include <geometry_msgs/Point.h>
namespace nav_msgs
{
struct GridCells
template <class ContainerAllocator>
struct GridCells_
{
std_msgs::Header header;
float cell_width;
float cell_height;
std::vector<geometry_msgs::Point> cells;
GridCells() = default;
};
typedef GridCells_<ContainerAllocator> Type;
inline bool operator==(const nav_msgs::GridCells & lhs, const nav_msgs::GridCells & rhs)
{
if(lhs.cells.size() != rhs.cells.size()) return false;
for(int i = 0; i < lhs.cells.size(); i++)
{
if(lhs.cells[i] != rhs.cells[i]) return false;
GridCells_()
: header()
, cell_width(0.0)
, cell_height(0.0)
, cells() {
}
GridCells_(const ContainerAllocator& _alloc)
: header(_alloc)
, cell_width(0.0)
, cell_height(0.0)
, cells(_alloc) {
(void)_alloc;
}
typedef ::std_msgs::Header _header_type;
_header_type header;
typedef float _cell_width_type;
_cell_width_type cell_width;
typedef float _cell_height_type;
_cell_height_type cell_height;
typedef std::vector< ::geometry_msgs::Point , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::geometry_msgs::Point >> _cells_type;
_cells_type cells;
typedef boost::shared_ptr< ::nav_msgs::GridCells_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::nav_msgs::GridCells_<ContainerAllocator> const> ConstPtr;
}; // struct GridCells_
typedef ::nav_msgs::GridCells_<std::allocator<void> > GridCells;
typedef boost::shared_ptr< ::nav_msgs::GridCells > GridCellsPtr;
typedef boost::shared_ptr< ::nav_msgs::GridCells const> GridCellsConstPtr;
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::GridCells_<ContainerAllocator1> & lhs, const ::nav_msgs::GridCells_<ContainerAllocator2> & rhs)
{
return lhs.header == rhs.header &&
isEqual(lhs.cell_width, rhs.cell_width) &&
isEqual(lhs.cell_height, rhs.cell_height);
lhs.cell_width == rhs.cell_width &&
lhs.cell_height == rhs.cell_height &&
lhs.cells == rhs.cells;
}
inline bool operator!=(const nav_msgs::GridCells & lhs, const nav_msgs::GridCells & rhs)
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::nav_msgs::GridCells_<ContainerAllocator1> & lhs, const ::nav_msgs::GridCells_<ContainerAllocator2> & rhs)
{
return !(lhs == rhs);
}
}
} // namespace nav_msgs
#endif //GRID_CELLS_H
#endif // NAV_MSGS_MESSAGE_GRIDCELLS_H

View File

@ -1,40 +1,88 @@
#ifndef MAP_META_DATA_H
#define MAP_META_DATA_H
// Generated by gencpp from file nav_msgs/MapMetaData.msg
// DO NOT EDIT!
#ifndef NAV_MSGS_MESSAGE_MAPMETADATA_H
#define NAV_MSGS_MESSAGE_MAPMETADATA_H
#include <cstdint>
#include <string>
#include <vector>
#include "geometry_msgs/Pose.h"
#include "utils.h"
#include <memory>
#include <boost/shared_ptr.hpp>
#include <robot/time.h>
#include <geometry_msgs/Pose.h>
namespace nav_msgs
{
struct MapMetaData
template <class ContainerAllocator>
struct MapMetaData_
{
double map_load_time;
float resolution;
uint32_t width;
uint32_t height;
geometry_msgs::Pose origin;
typedef MapMetaData_<ContainerAllocator> Type;
MapMetaData() : map_load_time(0.0), resolution(0.0), width(0), height(0), origin() {}
};
MapMetaData_()
: map_load_time()
, resolution(0.0)
, width(0)
, height(0)
, origin() {
}
MapMetaData_(const ContainerAllocator& _alloc)
: map_load_time()
, resolution(0.0)
, width(0)
, height(0)
, origin(_alloc) {
(void)_alloc;
}
inline bool operator==(const nav_msgs::MapMetaData & lhs, const nav_msgs::MapMetaData & rhs)
typedef robot::Time _map_load_time_type;
_map_load_time_type map_load_time;
typedef float _resolution_type;
_resolution_type resolution;
typedef uint32_t _width_type;
_width_type width;
typedef uint32_t _height_type;
_height_type height;
typedef ::geometry_msgs::Pose _origin_type;
_origin_type origin;
typedef boost::shared_ptr< ::nav_msgs::MapMetaData_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::nav_msgs::MapMetaData_<ContainerAllocator> const> ConstPtr;
}; // struct MapMetaData_
typedef ::nav_msgs::MapMetaData_<std::allocator<void> > MapMetaData;
typedef boost::shared_ptr< ::nav_msgs::MapMetaData > MapMetaDataPtr;
typedef boost::shared_ptr< ::nav_msgs::MapMetaData const> MapMetaDataConstPtr;
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::MapMetaData_<ContainerAllocator1> & lhs, const ::nav_msgs::MapMetaData_<ContainerAllocator2> & rhs)
{
return isEqual(lhs.map_load_time, rhs.map_load_time) &&
isEqual(lhs.resolution, rhs.resolution) &&
return lhs.map_load_time == rhs.map_load_time &&
lhs.resolution == rhs.resolution &&
lhs.width == rhs.width &&
lhs.height == rhs.height &&
lhs.origin == rhs.origin;
}
inline bool operator!=(const nav_msgs::MapMetaData & lhs, const nav_msgs::MapMetaData & rhs)
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::nav_msgs::MapMetaData_<ContainerAllocator1> & lhs, const ::nav_msgs::MapMetaData_<ContainerAllocator2> & rhs)
{
return !(lhs == rhs);
}
}
} // namespace nav_msgs
#endif //MAP_META_DATA_H
#endif // NAV_MSGS_MESSAGE_MAPMETADATA_H

View File

@ -1,42 +1,76 @@
#ifndef OCCUPANCY_GRID_H
#define OCCUPANCY_GRID_H
// Generated by gencpp from file nav_msgs/OccupancyGrid.msg
// DO NOT EDIT!
#ifndef NAV_MSGS_MESSAGE_OCCUPANCYGRID_H
#define NAV_MSGS_MESSAGE_OCCUPANCYGRID_H
#include <cstdint>
#include <string>
#include <vector>
#include <memory>
#include <boost/shared_ptr.hpp>
#include <std_msgs/Header.h>
#include <nav_msgs/MapMetaData.h>
namespace nav_msgs
{
struct OccupancyGrid
template <class ContainerAllocator>
struct OccupancyGrid_
{
std_msgs::Header header;
typedef OccupancyGrid_<ContainerAllocator> Type;
MapMetaData info;
std::vector<uint8_t> data;
OccupancyGrid() = default;
};
inline bool operator==(const nav_msgs::OccupancyGrid & lhs, const nav_msgs::OccupancyGrid & rhs)
{
if(lhs.data.size() != rhs.data.size()) return false;
for(int i = 0; i < lhs.data.size(); i++)
{
if(lhs.data[i] != rhs.data[i]) return false;
OccupancyGrid_()
: header()
, info()
, data() {
}
OccupancyGrid_(const ContainerAllocator& _alloc)
: header(_alloc)
, info(_alloc)
, data(_alloc) {
(void)_alloc;
}
return lhs.header == rhs.header &&
lhs.info == rhs.info;
typedef ::std_msgs::Header _header_type;
_header_type header;
typedef ::nav_msgs::MapMetaData_<ContainerAllocator> _info_type;
_info_type info;
typedef std::vector<int8_t, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<int8_t>> _data_type;
_data_type data;
typedef boost::shared_ptr< ::nav_msgs::OccupancyGrid_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::nav_msgs::OccupancyGrid_<ContainerAllocator> const> ConstPtr;
}; // struct OccupancyGrid_
typedef ::nav_msgs::OccupancyGrid_<std::allocator<void> > OccupancyGrid;
typedef boost::shared_ptr< ::nav_msgs::OccupancyGrid > OccupancyGridPtr;
typedef boost::shared_ptr< ::nav_msgs::OccupancyGrid const> OccupancyGridConstPtr;
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::OccupancyGrid_<ContainerAllocator1> & lhs, const ::nav_msgs::OccupancyGrid_<ContainerAllocator2> & rhs)
{
return lhs.header == rhs.header &&
lhs.info == rhs.info &&
lhs.data == rhs.data;
}
inline bool operator!=(const nav_msgs::OccupancyGrid & lhs, const nav_msgs::OccupancyGrid & rhs)
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::nav_msgs::OccupancyGrid_<ContainerAllocator1> & lhs, const ::nav_msgs::OccupancyGrid_<ContainerAllocator2> & rhs)
{
return !(lhs == rhs);
}
} // namespace nav_msgs
#endif //OCCUPANCY_GRID_H
#endif // NAV_MSGS_MESSAGE_OCCUPANCYGRID_H

View File

@ -1,35 +1,70 @@
// # This represents an estimate of a position and velocity in free space.
// # The pose in this message should be specified in the coordinate frame given by header.frame_id.
// # The twist in this message should be specified in the coordinate frame given by the child_frame_id
// Header header
// string child_frame_id
// geometry_msgs/PoseWithCovariance pose
// geometry_msgs/TwistWithCovariance twist
#ifndef ODOMETRY_H
#define ODOMETRY_H
// Generated by gencpp from file nav_msgs/Odometry.msg
// DO NOT EDIT!
#ifndef NAV_MSGS_MESSAGE_ODOMETRY_H
#define NAV_MSGS_MESSAGE_ODOMETRY_H
#include <cstdint>
#include <string>
#include <vector>
#include "std_msgs/Header.h"
#include "geometry_msgs/Point.h"
#include <memory>
#include <boost/shared_ptr.hpp>
#include <std_msgs/Header.h>
#include <geometry_msgs/PoseWithCovariance.h>
#include <geometry_msgs/TwistWithCovariance.h>
namespace nav_msgs
{
struct Odometry
template <class ContainerAllocator>
struct Odometry_
{
std_msgs::Header header;
std::string child_frame_id;
geometry_msgs::PoseWithCovariance pose;
geometry_msgs::TwistWithCovariance twist;
typedef Odometry_<ContainerAllocator> Type;
Odometry() = default;
};
Odometry_()
: header()
, child_frame_id()
, pose()
, twist() {
}
Odometry_(const ContainerAllocator& _alloc)
: header(_alloc)
, child_frame_id(_alloc)
, pose(_alloc)
, twist(_alloc) {
(void)_alloc;
}
inline bool operator==(const nav_msgs::Odometry & lhs, const nav_msgs::Odometry & rhs)
typedef ::std_msgs::Header _header_type;
_header_type header;
typedef std::basic_string<char, std::char_traits<char>, typename std::allocator_traits<ContainerAllocator>::template rebind_alloc<char>> _child_frame_id_type;
_child_frame_id_type child_frame_id;
typedef ::geometry_msgs::PoseWithCovariance _pose_type;
_pose_type pose;
typedef ::geometry_msgs::TwistWithCovariance _twist_type;
_twist_type twist;
typedef boost::shared_ptr< ::nav_msgs::Odometry_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::nav_msgs::Odometry_<ContainerAllocator> const> ConstPtr;
}; // struct Odometry_
typedef ::nav_msgs::Odometry_<std::allocator<void> > Odometry;
typedef boost::shared_ptr< ::nav_msgs::Odometry > OdometryPtr;
typedef boost::shared_ptr< ::nav_msgs::Odometry const> OdometryConstPtr;
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::Odometry_<ContainerAllocator1> & lhs, const ::nav_msgs::Odometry_<ContainerAllocator2> & rhs)
{
return lhs.header == rhs.header &&
lhs.child_frame_id == rhs.child_frame_id &&
@ -37,12 +72,12 @@ inline bool operator==(const nav_msgs::Odometry & lhs, const nav_msgs::Odometry
lhs.twist == rhs.twist;
}
inline bool operator!=(const nav_msgs::Odometry & lhs, const nav_msgs::Odometry & rhs)
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::nav_msgs::Odometry_<ContainerAllocator1> & lhs, const ::nav_msgs::Odometry_<ContainerAllocator2> & rhs)
{
return !(lhs == rhs);
}
} // namespace nav_msgs
}
#endif //ODOMETRY_H
#endif // NAV_MSGS_MESSAGE_ODOMETRY_H

View File

@ -1,42 +1,70 @@
// #An array of poses that represents a Path for a robot to follow
// Header header
// geometry_msgs/PoseStamped[] poses
#ifndef PATH_H
#define PATH_H
// Generated by gencpp from file nav_msgs/Path.msg
// DO NOT EDIT!
#ifndef NAV_MSGS_MESSAGE_PATH_H
#define NAV_MSGS_MESSAGE_PATH_H
#include <cstdint>
#include <string>
#include <vector>
#include "std_msgs/Header.h"
#include "geometry_msgs/PoseStamped.h"
#include <memory>
#include <boost/shared_ptr.hpp>
#include <std_msgs/Header.h>
#include <geometry_msgs/PoseStamped.h>
namespace nav_msgs
{
struct Path
template <class ContainerAllocator>
struct Path_
{
std_msgs::Header header;
std::vector<geometry_msgs::PoseStamped> poses;
typedef Path_<ContainerAllocator> Type;
Path() = default;
};
bool operator==(const nav_msgs::Path & lhs, const nav_msgs::Path & rhs)
{
if(lhs.poses.size() != rhs.poses.size()) return false;
for(int i = 0; i < lhs.poses.size(); i++)
{
if(lhs.poses[i] != rhs.poses[i]) return false;
Path_()
: header()
, poses() {
}
return lhs.header == rhs.header;
Path_(const ContainerAllocator& _alloc)
: header(_alloc)
, poses(_alloc) {
(void)_alloc;
}
typedef ::std_msgs::Header _header_type;
_header_type header;
typedef std::vector< ::geometry_msgs::PoseStamped , typename std::allocator_traits<ContainerAllocator>::template rebind_alloc< ::geometry_msgs::PoseStamped >> _poses_type;
_poses_type poses;
typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> > Ptr;
typedef boost::shared_ptr< ::nav_msgs::Path_<ContainerAllocator> const> ConstPtr;
}; // struct Path_
typedef ::nav_msgs::Path_<std::allocator<void> > Path;
typedef boost::shared_ptr< ::nav_msgs::Path > PathPtr;
typedef boost::shared_ptr< ::nav_msgs::Path const> PathConstPtr;
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator==(const ::nav_msgs::Path_<ContainerAllocator1> & lhs, const ::nav_msgs::Path_<ContainerAllocator2> & rhs)
{
return lhs.header == rhs.header &&
lhs.poses == rhs.poses;
}
bool operator!=(const nav_msgs::Path & lhs, const nav_msgs::Path & rhs)
template<typename ContainerAllocator1, typename ContainerAllocator2>
bool operator!=(const ::nav_msgs::Path_<ContainerAllocator1> & lhs, const ::nav_msgs::Path_<ContainerAllocator2> & rhs)
{
return !(lhs == rhs);
}
}
#endif //PATH_H
} // namespace nav_msgs
#endif // NAV_MSGS_MESSAGE_PATH_H