### Install Documentation Dependencies Source: https://voxblox.readthedocs.io/en/latest/pages/Expanding-the-Docs.html Install the required system and Python packages to build the documentation locally. ```bash sudo apt-get install python-pip doxygen python-pyaudio pip install sphinx exhale breath sphinx_rtd_theme recommonmark --user ``` -------------------------------- ### Install System Dependencies Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Installs necessary system packages for voxblox. Ensure you replace 'kinetic' with your ROS version (indigo, kinetic, or melodic). ```bash sudo apt-get install python-wstool python-catkin-tools ros-kinetic-cmake-modules protobuf-compiler autoconf ``` -------------------------------- ### Test Layer Setup Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Template functions to set up a test layer with specified dimensions. ```APIDOC ## Template Function voxblox::test::SetUpTestLayer ### Description Sets up a test layer with specified dimensions. ### Parameters - **min_idx** (const IndexElement) - The minimum index for the layer. - **max_idx** (const IndexElement) - The maximum index for the layer. - **layer** (Layer *) - Pointer to the layer to set up. ``` ```APIDOC ## Template Function voxblox::test::SetUpTestLayer ### Description Sets up a test layer with specified dimensions. ### Parameters - **max_idx** (const IndexElement) - The maximum index for the layer. - **layer** (Layer *) - Pointer to the layer to set up. ``` -------------------------------- ### Setup linter for Voxblox Source: https://voxblox.readthedocs.io/en/latest/pages/Modifying-and-Contributing.html Commands to clone the linter repository and initialize git hooks for style checking. ```bash cd ~/catkin_ws/src/ git clone git@github.com:ethz-asl/linter.git cd linter echo ". $(realpath setup_linter.sh)" >> ~/.bashrc # Or the matching file for # your shell. bash # Initialize linter in voxblox repo cd ~/catkin_ws/src/voxblox init_linter_git_hooks ``` -------------------------------- ### Compile Documentation Locally Source: https://voxblox.readthedocs.io/en/latest/pages/Expanding-the-Docs.html Navigate to the documentation directory and execute the make command to generate HTML files. ```bash cd ~/catkin_ws/src/voxblox/voxblox/docs make html ``` -------------------------------- ### Initialize Catkin Workspace Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Sets up a new catkin workspace, extends it with ROS, and configures build settings for a release build. ```bash mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin init catkin config --extend /opt/ros/kinetic catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release catkin config --merge-devel ``` -------------------------------- ### Run Voxblox with Basement Dataset Source: https://voxblox.readthedocs.io/en/latest/pages/Running-Voxblox.html Launches Voxblox using the 'basement_dataset.launch' file for datasets without ground truth, demonstrating Velodyne lidar data and ICP corrections. Edit the path to the bagfile in the launch file prior to running. ```bash roslaunch voxblox_ros basement_dataset.launch ``` -------------------------------- ### Run Voxblox with Cow and Lady Dataset Source: https://voxblox.readthedocs.io/en/latest/pages/Running-Voxblox.html Launches Voxblox using the 'cow_and_lady_dataset.launch' file. Ensure the path to the bagfile is correctly edited within the launch file before execution. ```bash roslaunch voxblox_ros cow_and_lady_dataset.launch ``` -------------------------------- ### Merge wstool Configuration Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Use this command to merge wstool configuration if you have already initialized wstool in your workspace. ```bash wstool merge -t ``` -------------------------------- ### Clone voxblox with SSH Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Clones the voxblox repository using SSH keys and initializes/updates wstool for dependency management. Recommended for SSH users. ```bash cd ~/catkin_ws/src/ git clone git@github.com:ethz-asl/voxblox.git wstool init . ./voxblox/voxblox_ssh.rosinstall wstool update ``` -------------------------------- ### Utility and Helper Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Miscellaneous functions for index manipulation, color retrieval, and configuration loading from ROS parameters. ```APIDOC ## Template Function voxblox::aligned_shared ### Description Provides aligned shared pointer functionality. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::castRay ### Description Casts a ray, likely for intersection testing or traversal. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getBlockAndVoxelIndexFromGlobalVoxelIndex ### Description Calculates the block and voxel indices from a global voxel index. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getBlockIndexFromGlobalVoxelIndex ### Description Calculates the block index from a global voxel index. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getCenterPointFromGridIndex ### Description Calculates the center point of a grid index. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getEsdfIntegratorConfigFromRosParam ### Description Retrieves ESDF integrator configuration from ROS parameters. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getEsdfMapConfigFromRosParam ### Description Retrieves ESDF map configuration from ROS parameters. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getGlobalVoxelIndexFromBlockAndVoxelIndex ### Description Calculates the global voxel index from block and voxel indices. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getGridIndexFromOriginPoint ### Description Calculates the grid index from an origin point. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getGridIndexFromPoint(const Point&, const FloatingPoint) ### Description Calculates the grid index from a point and a floating-point value. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getGridIndexFromPoint(const Point&) ### Description Calculates the grid index from a point. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getHierarchicalIndexAlongRay ### Description Calculates a hierarchical index along a ray. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getICPConfigFromRosParam ### Description Retrieves ICP configuration from ROS parameters. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getLocalFromGlobalVoxelIndex ### Description Converts a global voxel index to a local voxel index. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getOriginPointFromGridIndex ### Description Calculates the origin point of a grid index. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::getSurfaceDistanceAlongRay ### Description Calculates the surface distance along a ray. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getTsdfIntegratorConfigFromRosParam ### Description Retrieves TSDF integrator configuration from ROS parameters. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getTsdfMapConfigFromRosParam ### Description Retrieves TSDF map configuration from ROS parameters. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::getVertexColor ### Description Retrieves the color of a vertex. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Clone voxblox with HTTPS Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Clones the voxblox repository using HTTPS and initializes/updates wstool for dependency management. Use if not using SSH keys. ```bash cd ~/catkin_ws/src/ git clone https://github.com/ethz-asl/voxblox.git wstool init . ./voxblox/voxblox_https.rosinstall wstool update ``` -------------------------------- ### Output Parameters Source: https://voxblox.readthedocs.io/en/latest/pages/The-Voxblox-Node.html Configuration settings for mesh generation, map publishing, and visualization outputs. ```APIDOC ## Output Parameters ### Description Parameters controlling how generated meshes, maps, and pointclouds are published or saved. ### Parameters - **output_mesh_as_pointcloud** (bool) - Output mesh vertices as pointcloud. - **output_mesh_as_pcl_mesh** (bool) - Output mesh as pcl::PolygonMesh. - **slice_level** (float) - Height for TSDF/ESDF slices. - **color_ptcloud_by_weight** (bool) - Color pointcloud by voxel weight. - **mesh_filename** (string) - Filename for saved mesh. - **color_mode** (string) - Coloring method (color, height, normals, lambert, gray). - **mesh_min_weight** (float) - Minimum weight for mesh inclusion. - **update_mesh_every_n_sec** (float) - Rate for mesh topic publishing. - **publish_tsdf_map** (bool) - Periodically publish TSDF map. - **publish_esdf_map** (bool) - Periodically publish ESDF map. - **publish_tsdf_info** (bool) - Enable publishing of TSDF info topics. - **intensity_colormap** (string) - Colormap for intensity pointclouds. - **intensity_max_value** (float) - Max value for intensity mapping. - **publish_traversable** (bool) - Display traversability pointcloud. - **traversability_radius** (float) - Minimum radius for traversability. ``` -------------------------------- ### Input Transform Parameters Source: https://voxblox.readthedocs.io/en/latest/pages/The-Voxblox-Node.html Configuration settings for handling sensor and world frame transformations. ```APIDOC ## Input Transform Parameters ### Description Parameters defining how sensor poses are determined relative to the world frame. ### Parameters - **use_tf_transforms** (bool) - Whether to use ROS TF tree for sensor poses. - **world_frame** (string) - Base frame for TF lookups. - **sensor_frame** (string) - Sensor frame for TF lookups. - **T_B_D** (transform) - Static transformation from base to dynamic system. - **invert_T_B_D** (bool) - Whether to invert T_B_D. - **T_B_C** (transform) - Static transformation from base to sensor. - **invert_T_B_C** (bool) - Whether to invert T_B_C. ``` -------------------------------- ### ROS Integration Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files for ROS integration, including conversions and servers. ```APIDOC ## ROS Integration Files ### Description Header files for ROS integration, including conversions and servers. ### Files - `conversions.h`: Utilities for converting between ROS message types and Voxblox structures. - `conversions_inl.h`: Inline implementations for conversion functions. - `esdf_server.h`: ROS server for ESDF map generation and visualization. - `intensity_server.h`: ROS server for intensity map generation and visualization. - `intensity_vis.h`: Utilities for visualizing intensity data in ROS. - `interactive_slider.h`: Utilities for interactive sliders in ROS. ``` -------------------------------- ### Compile voxblox ROS packages Source: https://voxblox.readthedocs.io/en/latest/pages/Installation.html Builds the voxblox_ros package within your catkin workspace. Ensure you are in the src directory of your workspace. ```bash cd ~/catkin_ws/src/ catkin build voxblox_ros ``` -------------------------------- ### Class Documentation Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Reference documentation for various classes within the Voxblox library. ```APIDOC ## Class Documentation This section details the available classes in the Voxblox library. ### Classes - **DummyTimer**: Provides dummy timer functionality. - **Timer**: Represents a timer for measuring execution time. - **Timing**: Utility for timing operations. - **Transformer**: Handles coordinate transformations. - **TsdfIntegratorBase**: Base class for TSDF (Truncated Signed Distance Function) integrators. - **Nested Relationships**: Includes nested types. - **Inheritance Relationships**: Has derived types. - **TsdfIntegratorFactory**: Factory class for creating TSDF integrators. - **TsdfMap**: Represents the TSDF map data structure. - **Nested Relationships**: Includes nested types. - **TsdfServer**: Server class for managing the TSDF map. - **Inheritance Relationships**: Has derived types. - **VoxbloxMeshDisplay**: Class for displaying Voxblox meshes. - **Inheritance Relationships**: Has a base type. - **VoxbloxMeshVisual**: Visual component for Voxblox meshes. ``` -------------------------------- ### File Hierarchy Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Overview of the file structure within the voxblox library. ```APIDOC ## File Hierarchy * File approx_hash_array.h * File block.h * File block_hash.h * File block_inl.h * File bucket_queue.h * File camera_model.h * File color.h * File color_maps.h * File common.h * File conversions.h * File conversions_inl.h * File distance_utils.h * File esdf_integrator.h * File esdf_map.h * File esdf_occ_integrator.h * File esdf_server.h * File evaluation_utils.h * File icp.h * File integrator_utils.h * File intensity_integrator.h * File intensity_server.h * File intensity_vis.h * File interactive_slider.h * File interpolator.h * File interpolator_inl.h * File layer.h * File layer_inl.h * File layer_io.h * File layer_io_inl.h * File layer_test_utils.h * File layer_utils.h * File marching_cubes.h * File merge_integration.h * File mesh.h * File mesh_integrator.h * File mesh_layer.h * File mesh_pcl.h * File mesh_ply.h * File mesh_utils.h * File mesh_vis.h * File meshing_utils.h * File neighbor_tools.h * File objects.h * File occupancy_integrator.h * File occupancy_map.h * File planning_utils.h * File planning_utils_inl.h * File ply_writer.h * File protobuf_utils.h * File ptcloud_vis.h * File ros_params.h * File sdf_ply.h * File simulation_server.h * File simulation_world.h * File simulation_world_inl.h * File timing.h * File transformer.h * File tsdf_integrator.h * File tsdf_map.h * File tsdf_server.h * File voxblox_mesh_display.h * File voxblox_mesh_visual.h * File voxel.h * File voxel_utils.h ``` -------------------------------- ### Utility Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files containing various utility functions and data structures. ```APIDOC ## Utility Files ### Description Header files containing various utility functions and data structures. ### Files - `approx_hash_array.h`: Utilities for approximate hashing. - `bucket_queue.h`: Implementation of a bucket queue. - `camera_model.h`: Utilities for camera models. - `color_maps.h`: Utilities for color mapping. - `distance_utils.h`: Utility functions for distance calculations. - `evaluation_utils.h`: Utilities for evaluation metrics. ``` -------------------------------- ### Namespace Structure Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Overview of the namespaces within the Voxblox library. ```APIDOC ## Namespaces This section details the namespaces available in the Voxblox library. ### Namespace `voxblox` This is the main namespace for the Voxblox library. It contains: * Detailed Description * Namespaces * Classes * Enums * Functions * Typedefs * Variables ### Namespace `voxblox::io` This namespace is related to input/output operations within Voxblox. It contains: * Classes * Enums * Functions ### Namespace `voxblox::test` This namespace is used for testing purposes within Voxblox. It contains: * Classes * Functions ### Namespace `voxblox::timing` This namespace deals with timing-related functionalities in Voxblox. It contains: * Classes * Typedefs ### Namespace `voxblox::utils` This namespace provides utility functions and classes for Voxblox. It contains: * Classes * Enums * Functions ### Namespace `voxblox::voxel_types` This namespace defines various voxel types used in Voxblox. It contains: * Variables ### Namespace `voxblox_rviz_plugin` This namespace is associated with the RViz plugin for Voxblox. It contains: * Classes ``` -------------------------------- ### Enum Documentation Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Reference documentation for various enums within the Voxblox library. ```APIDOC ## Enum Documentation This section details the available enums in the Voxblox library. ### Enums - **ColorMode**: Defines different modes for color representation. - **Connectivity**: Specifies connectivity types for voxels. - **PlyOutputTypes**: Enumerates output types for PLY file format. - **MapDerializationAction**: Defines actions for map deserialization. - **TsdfIntegratorType**: Specifies the type of TSDF integrator to use. - **VoxelEvaluationMode**: Defines modes for voxel evaluation. - **VoxelEvaluationResult**: Represents the result of a voxel evaluation. ``` -------------------------------- ### ICP Refinement Parameters Source: https://voxblox.readthedocs.io/en/latest/pages/The-Voxblox-Node.html Configuration settings for applying Iterative Closest Point (ICP) refinement to input pointclouds. ```APIDOC ## ICP Refinement Parameters ### Description Parameters used to configure ICP-based refinement for aligning incoming pointclouds to the existing structure. ### Parameters - **enable_icp** (bool) - Whether to use ICP to align incoming pointclouds. - **icp_refine_roll_pitch** (bool) - True for 6-dof pose correction, false for 4-dof. - **accumulate_icp_corrections** (bool) - Whether to accumulate transform corrections over all pointclouds. - **icp_corrected_frame** (string) - TF frame to output ICP corrections. - **pose_corrected_frame** (string) - TF frame for outputting corrected poses. - **icp_mini_batch_size** (int) - Number of points per batch for matching. - **icp_subsample_keep_ratio** (float) - Ratio for random subsampling. - **icp_min_match_ratio** (float) - Minimum ratio of points within truncation distance for acceptance. - **icp_inital_translation_weighting** (float) - Confidence weighting for initial translation. - **icp_inital_rotation_weighting** (float) - Confidence weighting for initial rotation. ``` -------------------------------- ### Implement block serialization for custom voxels Source: https://voxblox.readthedocs.io/en/latest/pages/Modifying-and-Contributing.html Template specializations for DeserializeVoxelData and SerializeVoxelData to handle custom voxel serialization. ```cpp namespace voxblox { template <> void Block::DeserializeVoxelData(const BlockProto& proto, YOUR_FANCY_VOXEL* voxels) { // Your serialization code. } template <> void Block::SerializeVoxelData(const YOUR_FANCY_VOXEL* voxels, BlockProto* proto) const { // Your serialization code. } } // namespace voxblox ``` -------------------------------- ### Integrator Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files for different types of integrators used in Voxblox. ```APIDOC ## Integrator Files ### Description Header files for different types of integrators used in Voxblox. ### Files - `esdf_integrator.h`: Defines the `EsdfIntegrator` for Signed Distance Fields. - `esdf_occ_integrator.h`: Defines the `EsdfOccIntegrator` for occupancy-based ESDF. - `integrator_utils.h`: Utility functions for integrators. - `intensity_integrator.h`: Defines the `IntensityIntegrator` for intensity-based mapping. ``` -------------------------------- ### Core Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files related to the core data structures and functionalities of Voxblox. ```APIDOC ## Core Files ### Description Header files related to the core data structures and functionalities of Voxblox. ### Files - `block.h`: Defines the `Block` structure for voxel grid storage. - `block_hash.h`: Provides hashing mechanisms for blocks. - `block_inl.h`: Inline implementations for block-related functions. - `color.h`: Defines color structures and utilities. - `common.h`: Common definitions and utility functions used throughout the library. ``` -------------------------------- ### Interpolator Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files for interpolator functionalities in Voxblox. ```APIDOC ## Interpolator Files ### Description Header files for interpolator functionalities in Voxblox. ### Files - `interpolator.h`: Defines the base `Interpolator` class. - `interpolator_inl.h`: Inline implementations for interpolator functions. ``` -------------------------------- ### Class Hierarchy Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Overview of the class hierarchy within the voxblox library, organized by namespaces. ```APIDOC ## Class Hierarchy ### Namespace voxblox * Namespace voxblox::io * Class PlyWriter * Enum PlyOutputTypes * Namespace voxblox::test * Template Class LayerTest * Namespace voxblox::timing * Struct TimerMapValue * Template Class Accumulator * Class DummyTimer * Class Timer * Class Timing * Namespace voxblox::utils * Enum VoxelEvaluationMode * Enum VoxelEvaluationResult * Struct VoxelEvaluationDetails * Struct AnyIndexHash * Template Struct AnyIndexHashMapType * Struct Color * Struct EsdfVoxel * Struct IntensityVoxel * Struct LongIndexHash * Template Struct LongIndexHashMapType * Struct Mesh * Struct MeshIntegratorConfig * Struct OccupancyVoxel * Struct TsdfVoxel * Template Class ApproxHashArray * Template Class ApproxHashSet * Template Class Block * Template Class BucketQueue * Class CameraModel * Class ColorMap * Class Cube * Class Cylinder * Class EsdfIntegrator * Struct EsdfIntegrator::Config * Class EsdfMap * Struct EsdfMap::Config * Class EsdfOccIntegrator * Struct EsdfOccIntegrator::Config * Class EsdfServer * Class FastTsdfIntegrator * Class GrayscaleColorMap * Class ICP * Struct ICP::Config * Class IntensityIntegrator * Class IntensityServer * Class InteractiveSlider * Template Class Interpolator * Class InverseGrayscaleColorMap * Class InverseRainbowColorMap * Class IronbowColorMap * Template Class Layer * Class MarchingCubes * Class MergedTsdfIntegrator * Template Class MeshIntegrator * Class MeshLayer * Template Class Neighborhood * Class NeighborhoodLookupTables * Class Object * Class OccupancyIntegrator * Struct OccupancyIntegrator::Config * Class OccupancyMap * Struct OccupancyMap::Config * Class Plane * Class PlaneObject * Class RainbowColorMap * Class RayCaster * Class SimpleTsdfIntegrator * Class SimulationServer * Class SimulationWorld * Class Sphere * Class ThreadSafeIndex * Class Transformer * Class TsdfIntegratorBase * Struct TsdfIntegratorBase::Config * Class TsdfIntegratorFactory * Class TsdfMap * Struct TsdfMap::Config * Class TsdfServer * Enum ColorMode * Enum Connectivity * Enum MapDerializationAction * Enum TsdfIntegratorType ### Namespace voxblox_rviz_plugin * Class VoxbloxMeshDisplay * Class VoxbloxMeshVisual ``` -------------------------------- ### Alignment Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files related to alignment algorithms. ```APIDOC ## Alignment Files ### Description Header files related to alignment algorithms. ### Files - `icp.h`: Implementation of the Iterative Closest Point (ICP) algorithm. ``` -------------------------------- ### Voxblox IO Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Functions for loading, saving, and converting layers and meshes. ```APIDOC ## voxblox::io::LoadLayer ### Description Loads a layer from a file. ### Parameters #### Path Parameters - **file_path** (std::string) - Required - Path to the file - **layer_ptr** (Layer::Ptr *) - Required - Pointer to the layer object to populate ## voxblox::io::SaveLayer ### Description Saves a layer to a file. ### Parameters #### Path Parameters - **file_path** (std::string) - Required - Path to save the file - **layer** (Layer) - Required - The layer to save ``` -------------------------------- ### ROS Services for Voxblox Servers Source: https://voxblox.readthedocs.io/en/latest/pages/The-Voxblox-Node.html Services provided by tsdf_server and esdf_server to manage map generation, saving, loading, and publishing. ```APIDOC ## POST /generate_mesh ### Description Triggers the generation of a new mesh from the current TSDF map. ### Method POST ### Endpoint generate_mesh ## POST /generate_esdf ### Description Triggers an update of the ESDF map. ### Method POST ### Endpoint generate_esdf ## POST /save_map ### Description Saves the current TSDF layer to a .vxblx file. ### Method POST ### Endpoint save_map ### Request Body - **file_path** (voxblox_msgs::FilePath) - Required - Path to save the .vxblx file ## POST /load_map ### Description Loads a TSDF layer from a .vxblx file. ### Method POST ### Endpoint load_map ### Request Body - **file_path** (voxblox_msgs::FilePath) - Required - Path to the .vxblx file to load ## POST /publish_map ### Description Publishes the current TSDF and ESDF layers to their respective output topics. ### Method POST ### Endpoint publish_map ## POST /publish_pointclouds ### Description Publishes TSDF and ESDF pointclouds and slices. ### Method POST ### Endpoint publish_pointclouds ``` -------------------------------- ### Map Files Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Header files related to map structures. ```APIDOC ## Map Files ### Description Header files related to map structures. ### Files - `esdf_map.h`: Defines the `EsdfMap` structure for storing ESDF data. ``` -------------------------------- ### Voxblox Visualization Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html This section lists functions used for visualizing different types of voxels within the Voxblox library. ```APIDOC ## Voxblox Visualization Functions ### Description Provides functions to visualize various voxel types and their properties within the Voxblox library. ### Functions - `voxblox::visualizeDistanceIntensityEsdfVoxels()` - `voxblox::visualizeDistanceIntensityEsdfVoxelsSlice()` - `voxblox::visualizeDistanceIntensityTsdfVoxels()` - `voxblox::visualizeDistanceIntensityTsdfVoxelsNearSurface()` - `voxblox::visualizeDistanceIntensityTsdfVoxelsSlice()` - `voxblox::visualizeFreeEsdfVoxels()` - `voxblox::visualizeIntensityVoxels()` - `voxblox::visualizeNearSurfaceTsdfVoxels()` - `voxblox::visualizeOccupiedOccupancyVoxels()` - `voxblox::visualizeOccupiedTsdfVoxels()` - `voxblox::visualizeTsdfVoxels()` ``` -------------------------------- ### Mesh and Point Cloud Generation Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Functions for generating meshes and point clouds from Voxblox layers, including connected meshes and distance-based point clouds. ```APIDOC ## Function voxblox::convertMeshLayerToMesh ### Description Converts a mesh layer to a mesh. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::createColorPointcloudFromLayer(const Layer&, const ShouldVisualizeVoxelColorFunctionType&, pcl::PointCloud *) ### Description Creates a colored point cloud from a layer using a specified visualization function. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::createColorPointcloudFromLayer(const Layer&, const ShouldVisualizeVoxelIntensityFunctionType&, pcl::PointCloud *) ### Description Creates a colored point cloud (with intensity) from a layer using a specified visualization function. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createConnectedMesh(const AlignedVector&, Mesh *, const FloatingPoint) ### Description Creates a connected mesh from a collection of meshes. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createConnectedMesh(const Mesh&, Mesh *, const FloatingPoint) ### Description Creates a connected mesh from a single mesh. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createDistancePointcloudFromEsdfLayer ### Description Creates a point cloud representing distances from an ESDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createDistancePointcloudFromEsdfLayerSlice ### Description Creates a point cloud representing distances from a slice of an ESDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createDistancePointcloudFromTsdfLayer ### Description Creates a point cloud representing distances from a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createDistancePointcloudFromTsdfLayerSlice ### Description Creates a point cloud representing distances from a slice of a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createFreePointcloudFromEsdfLayer ### Description Creates a point cloud representing free space from an ESDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createIntensityPointcloudFromIntensityLayer ### Description Creates a point cloud from an intensity layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Template Function voxblox::createOccupancyBlocksFromLayer ### Description Creates occupancy blocks from a layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createOccupancyBlocksFromOccupancyLayer ### Description Creates occupancy blocks from an occupancy layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createOccupancyBlocksFromTsdfLayer ### Description Creates occupancy blocks from a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createPointcloudFromTsdfLayer ### Description Creates a point cloud from a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createSurfaceDistancePointcloudFromTsdfLayer ### Description Creates a point cloud representing surface distances from a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::createSurfacePointcloudFromTsdfLayer ### Description Creates a point cloud representing the surface from a TSDF layer. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::fillMarkerWithMesh ### Description Fills a marker with mesh data. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::fillPointcloudWithMesh ### Description Fills a point cloud with mesh data. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ## Function voxblox::generateVoxbloxMeshMsg ### Description Generates a ROS message for a Voxblox mesh. ### Method N/A (Function) ### Endpoint N/A ### Parameters N/A ### Request Example N/A ### Response N/A ``` -------------------------------- ### Pointcloud Transformation Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Function for transforming pointclouds within Voxblox. ```APIDOC ## Function voxblox::transformPointcloud ### Description Transforms a pointcloud by a given transformation. ``` -------------------------------- ### Voxblox Utility Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Utility functions for data handling and serialization within the Voxblox library. ```APIDOC ## Voxblox Utility Functions ### Description Contains utility functions for common tasks such as writing protocol buffer messages to streams. ### Functions - `voxblox::utils::writeProtoMsgToStream(const proto::Message& message, std::ostream& stream)` - Writes a protocol buffer message to an output stream. ``` -------------------------------- ### Layer Utility Functions Source: https://voxblox.readthedocs.io/en/latest/api/library_root.html Utility functions for manipulating and analyzing Voxblox layers. ```APIDOC ## Template Function voxblox::utils::centerBlocksOfLayer ### Description Centers the blocks of a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::clearSphereAroundPoint ### Description Clears voxels within a sphere around a given point in a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::computeMapBoundsFromLayer ### Description Computes the map bounds from a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::computeVoxelError ### Description Computes the error for a voxel. ``` ```APIDOC ## Template Function voxblox::utils::evaluateLayersRmse ### Description Evaluates the Root Mean Square Error (RMSE) between two Voxblox layers. ### Parameters - **layer1** (const Layer&) - The first layer. - **layer2** (const Layer&) - The second layer. - **mode** (const VoxelEvaluationMode&) - The evaluation mode. - **details** (VoxelEvaluationDetails *) - Optional pointer to store evaluation details. - **layer_diff** (Layer *) - Optional pointer to store the difference layer. ``` ```APIDOC ## Template Function voxblox::utils::evaluateLayersRmse ### Description Evaluates the Root Mean Square Error (RMSE) between two Voxblox layers. ### Parameters - **layer1** (const Layer&) - The first layer. - **layer2** (const Layer&) - The second layer. ``` ```APIDOC ## Template Function voxblox::utils::fillSphereAroundPoint ### Description Fills voxels within a sphere around a given point in a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::getAndAllocateSphereAroundPoint ### Description Gets and allocates voxels within a sphere around a given point in a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::getColorIfValid ### Description Gets the color of a voxel if it is valid. ### Parameters - **voxel** (const VoxelType&) - The voxel to get the color from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **color** (Color *) - Pointer to store the color. ``` ```APIDOC ## Function voxblox::utils::getColorIfValid ### Description Gets the color of a TSDF voxel if it is valid. ### Parameters - **voxel** (const TsdfVoxel&) - The TSDF voxel to get the color from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **color** (Color *) - Pointer to store the color. ``` ```APIDOC ## Function voxblox::utils::getColorIfValid ### Description Gets the color of an ESDF voxel if it is valid. ### Parameters - **voxel** (const EsdfVoxel&) - The ESDF voxel to get the color from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **color** (Color *) - Pointer to store the color. ``` ```APIDOC ## Template Function voxblox::utils::getSdfIfValid ### Description Gets the SDF value of a voxel if it is valid. ### Parameters - **voxel** (const VoxelType&) - The voxel to get the SDF from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **sdf** (FloatingPoint *) - Pointer to store the SDF value. ``` ```APIDOC ## Function voxblox::utils::getSdfIfValid ### Description Gets the SDF value of a TSDF voxel if it is valid. ### Parameters - **voxel** (const TsdfVoxel&) - The TSDF voxel to get the SDF from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **sdf** (FloatingPoint *) - Pointer to store the SDF value. ``` ```APIDOC ## Function voxblox::utils::getSdfIfValid ### Description Gets the SDF value of an ESDF voxel if it is valid. ### Parameters - **voxel** (const EsdfVoxel&) - The ESDF voxel to get the SDF from. - **max_distance** (const FloatingPoint) - The maximum distance for validity. - **sdf** (FloatingPoint *) - Pointer to store the SDF value. ``` ```APIDOC ## Template Function voxblox::utils::getSphereAroundPoint ### Description Gets voxels within a sphere around a given point in a Voxblox layer. ``` ```APIDOC ## Template Function voxblox::utils::getVoxelSdf ### Description Gets the SDF value of a voxel. ``` ```APIDOC ## Function voxblox::utils::getVoxelSdf ### Description Gets the SDF value of a TSDF voxel. ``` ```APIDOC ## Function voxblox::utils::getVoxelSdf ### Description Gets the SDF value of an ESDF voxel. ``` ```APIDOC ## Template Function voxblox::utils::isObservedVoxel ### Description Checks if a voxel is observed. ``` ```APIDOC ## Function voxblox::utils::isObservedVoxel ### Description Checks if a TSDF voxel is observed. ``` ```APIDOC ## Function voxblox::utils::isObservedVoxel ### Description Checks if an ESDF voxel is observed. ``` ```APIDOC ## Template Function voxblox::utils::isSameBlock ### Description Checks if two voxels belong to the same block. ``` ```APIDOC ## Template Function voxblox::utils::isSameLayer ### Description Checks if two voxels belong to the same layer. ``` ```APIDOC ## Template Function voxblox::utils::isSameVoxel ### Description Checks if two voxels are the same. ### Parameters - **voxel1** (const VoxelType&) - The first voxel. - **voxel2** (const VoxelType&) - The second voxel. ``` ```APIDOC ## Function voxblox::utils::isSameVoxel ### Description Checks if two TSDF voxels are the same. ### Parameters - **voxel1** (const TsdfVoxel&) - The first TSDF voxel. - **voxel2** (const TsdfVoxel&) - The second TSDF voxel. ``` ```APIDOC ## Function voxblox::utils::isSameVoxel ### Description Checks if two ESDF voxels are the same. ### Parameters - **voxel1** (const EsdfVoxel&) - The first ESDF voxel. - **voxel2** (const EsdfVoxel&) - The second ESDF voxel. ``` ```APIDOC ## Function voxblox::utils::isSameVoxel ### Description Checks if two Occupancy voxels are the same. ### Parameters - **voxel1** (const OccupancyVoxel&) - The first Occupancy voxel. - **voxel2** (const OccupancyVoxel&) - The second Occupancy voxel. ``` ```APIDOC ## Function voxblox::utils::readProtoMsgCountToStream ### Description Reads the count of a protobuf message from a stream. ``` ```APIDOC ## Function voxblox::utils::readProtoMsgFromStream ### Description Reads a protobuf message from a stream. ``` ```APIDOC ## Template Function voxblox::utils::setVoxelSdf ### Description Sets the SDF value of a voxel. ### Parameters - **sdf** (const FloatingPoint) - The SDF value to set. - **voxel** (VoxelType *) - Pointer to the voxel to modify. ``` ```APIDOC ## Function voxblox::utils::setVoxelSdf ### Description Sets the SDF value of a TSDF voxel. ### Parameters - **sdf** (const FloatingPoint) - The SDF value to set. - **voxel** (TsdfVoxel *) - Pointer to the TSDF voxel to modify. ``` ```APIDOC ## Function voxblox::utils::setVoxelSdf ### Description Sets the SDF value of an ESDF voxel. ### Parameters - **sdf** (const FloatingPoint) - The SDF value to set. - **voxel** (EsdfVoxel *) - Pointer to the ESDF voxel to modify. ``` ```APIDOC ## Template Function voxblox::utils::setVoxelWeight ### Description Sets the weight of a voxel. ### Parameters - **weight** (const FloatingPoint) - The weight to set. - **voxel** (VoxelType *) - Pointer to the voxel to modify. ``` ```APIDOC ## Function voxblox::utils::setVoxelWeight ### Description Sets the weight of a TSDF voxel. ### Parameters - **weight** (const FloatingPoint) - The weight to set. - **voxel** (TsdfVoxel *) - Pointer to the TSDF voxel to modify. ``` ```APIDOC ## Function voxblox::utils::setVoxelWeight ### Description Sets the weight of an ESDF voxel. ### Parameters - **weight** (const FloatingPoint) - The weight to set. - **voxel** (EsdfVoxel *) - Pointer to the ESDF voxel to modify. ``` ```APIDOC ## Function voxblox::utils::writeProtoMsgCountToStream ### Description Writes the count of a protobuf message to a stream. ```