|
NavMap
|
Conversions between the core NavMap representation and ROS messages. More...
#include <string>#include "Eigen/Core"#include "pcl/point_cloud.h"#include "pcl/point_types.h"#include "std_msgs/msg/header.hpp"#include "sensor_msgs/msg/point_cloud2.hpp"#include "navmap_ros_interfaces/msg/nav_map.hpp"#include "navmap_ros_interfaces/msg/nav_map_layer.hpp"#include "nav_msgs/msg/occupancy_grid.hpp"#include "navmap_core/Costs.hpp"#include "navmap_core/NavMap.hpp"

Go to the source code of this file.
Classes | |
| struct | BuildParams |
| Parameters controlling NavMap construction from point clouds. More... | |
| struct | ViewpointFilterStats |
| Points removed by filter_with_viewpoints(). More... | |
Namespaces | |
| namespace | navmap_ros |
| Conversions between core NavMap and ROS-level structures. | |
Functions | |
| pcl::PointCloud< pcl::PointXYZ > | filter_with_viewpoints (const pcl::PointCloud< pcl::PointWithViewpoint > &input_points, const BuildParams ¶ms, ViewpointFilterStats *stats=nullptr) |
| Clean a cloud with the sensor position of each point (vp_x, vp_y, vp_z). | |
| navmap::NavMap | from_msg (const navmap_ros_interfaces::msg::NavMap &msg) |
| Backward-compatible overload (ignores message header). | |
| navmap::NavMap | from_msg (const navmap_ros_interfaces::msg::NavMap &msg, std_msgs::msg::Header &header) |
| Reconstruct a core navmap::NavMap from the ROS transport message. | |
| void | from_msg (const navmap_ros_interfaces::msg::NavMapLayer &msg, navmap::NavMap &nm) |
| Backward-compatible overload (ignores message header). | |
| void | from_msg (const navmap_ros_interfaces::msg::NavMapLayer &msg, navmap::NavMap &nm, std_msgs::msg::Header &header) |
| Import a single NavMapLayer message into a NavMap. | |
| navmap::NavMap | from_occupancy_grid (const nav_msgs::msg::OccupancyGrid &grid) |
| Backward-compatible overload (ignores grid header). | |
| navmap::NavMap | from_occupancy_grid (const nav_msgs::msg::OccupancyGrid &grid, std_msgs::msg::Header &header) |
| Build a navmap::NavMap from a nav_msgs::msg::OccupancyGrid using a regular triangular surface with shared vertices. | |
| navmap::NavMap | from_pointcloud2 (const sensor_msgs::msg::PointCloud2 &pc2, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params) |
| Build a NavMap surface from a ROS sensor_msgs::msg::PointCloud2. | |
| navmap::NavMap | from_points (const pcl::PointCloud< pcl::PointWithViewpoint > &input_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params) |
| Build a NavMap from a cloud with the sensor position of each point. | |
| navmap::NavMap | from_points (const pcl::PointCloud< pcl::PointXYZ > &input_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params) |
| Build a NavMap from an unorganized point cloud (multi-level grid triangulation). | |
| navmap::NavMap | from_regular_grid (const pcl::PointCloud< pcl::PointXYZ > &grid_points, navmap_ros_interfaces::msg::NavMap &out_msg, BuildParams params) |
| Build a NavMap surface from an organized (grid-shaped) PCL point cloud. | |
| navmap_ros_interfaces::msg::NavMapLayer | to_layer_update_msg (const navmap::NavMap &nm, const std::string &layer, const std_msgs::msg::Header &header=std_msgs::msg::Header(), float max_sparse_fraction=0.25f) |
| Layer update with only what changed since the layer's last clear_changes(). | |
| navmap_ros_interfaces::msg::NavMap | to_msg (const navmap::NavMap &nm) |
| Backward-compatible overload (no header provided). | |
| navmap_ros_interfaces::msg::NavMapLayer | to_msg (const navmap::NavMap &nm, const std::string &layer) |
| Backward-compatible overload (no header provided). | |
| navmap_ros_interfaces::msg::NavMapLayer | to_msg (const navmap::NavMap &nm, const std::string &layer, const std_msgs::msg::Header &header) |
| Convert a single layer from a NavMap into a ROS message. | |
| navmap_ros_interfaces::msg::NavMap | to_msg (const navmap::NavMap &nm, const std_msgs::msg::Header &header) |
| Convert a core navmap::NavMap into its compact ROS transport message. | |
| nav_msgs::msg::OccupancyGrid | to_occupancy_grid (const navmap::NavMap &nm) |
| Backward-compatible overload. | |
| nav_msgs::msg::OccupancyGrid | to_occupancy_grid (const navmap::NavMap &nm, const std_msgs::msg::Header &header) |
| Convert a navmap::NavMap back to nav_msgs::msg::OccupancyGrid. | |
Variables | |
| constexpr std::uint8_t | FREE_SPACE |
| Known free. | |
| constexpr std::uint8_t | INSCRIBED_INFLATED_OBSTACLE |
| The robot would touch an obstacle. | |
| constexpr std::uint8_t | LETHAL_OBSTACLE |
| Obstacle. | |
| constexpr std::uint8_t | MAX_NON_OBSTACLE |
| Highest traversable cost. | |
| constexpr std::uint8_t | NO_INFORMATION |
| Unknown, not observed. | |
Conversions between the core NavMap representation and ROS messages.
This header provides:
When building a NavMap from an OccupancyGrid, a per-NavCel (triangle) layer named "occupancy" (uint8) is added with the following value mapping:
The reverse conversion reuses that layer when present.