tango_3d_reconstruction_helper.h
Go to the documentation of this file.
1 // Copyright 2017 Intermodalics All Rights Reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 #ifndef TANGO_3D_RECONSTRUCTION_HELPER_H_
15 #define TANGO_3D_RECONSTRUCTION_HELPER_H_
16 #include <string>
17 
20 
21 #include <nav_msgs/OccupancyGrid.h>
22 #include <ros/ros.h>
23 #include <visualization_msgs/MarkerArray.h>
24 
26 const double TANGO_3DR_DEFAULT_RESOLUTION = 0.05; // meter
28 const int32_t TANGO_3DR_DEFAULT_MIN_NUM_VERTICES = 1; // Default value from TangoConfig
29 const int32_t TANGO_3DR_DEFAULT_UPDATE_METHOD = 0; // TRAVERSAL_UPDATE
30 const int32_t TANGO_3DR_DEFAULT_MAX_VOXEL_WEIGHT = 16383; // Default value from TangoConfig
31 const double TANGO_3DR_DEFAULT_FLOORPLAN_MAX_ERROR = 0.; // meter
32 // Default threshold to decide if a pixel value should correspond to a free or
33 // occupied cell when converting the image of Tango 3D reconstruction to an
34 // occupancy grid. Should be between 0 and 255:
35 // pixel value <= threshold --> cell is free,
36 // pixel value > threshold --> cell is occupied.
38 
39 const std::string TANGO_3DR_RESOLUTION_PARAM_NAME = "reconstruction/resolution_3d";
40 const std::string TANGO_3DR_USE_SPACE_CLEARING_PARAM_NAME = "reconstruction/use_space_clearing";
41 const std::string TANGO_3DR_MIN_NUM_VERTICES_PARAM_NAME = "reconstruction/min_num_vertices";
42 const std::string TANGO_3DR_UPDATE_METHOD_PARAM_NAME = "reconstruction/update_method";
43 const std::string TANGO_3DR_MAX_VOXEL_WEIGHT_PARAM_NAME = "reconstruction/max_voxel_weight";
44 const std::string TANGO_3DR_FLOORPLAN_MAX_ERROR_PARAM_NAME = "reconstruction/floorplan_max_error";
45 const std::string TANGO_3DR_OCCUPANCY_GRID_THRESHOLD_PARAM_NAME = "reconstruction/occupancy_grid_threshold";
46 
48  const ros::NodeHandle& node_handle, double* t3dr_resolution,
49  Tango3DR_ReconstructionContext* t3dr_context,
50  Tango3DR_CameraCalibration* t3dr_color_camera_intrinsics);
51 
52 void UpdateMesh(const Tango3DR_ReconstructionContext& t3dr_context,
53  TangoSupport_PointCloudManager* point_cloud_manager,
54  TangoSupport_ImageBufferManager* image_buffer_manager,
55  Tango3DR_Pose* last_camera_depth_pose,
56  Tango3DR_Pose* last_camera_color_pose,
57  Tango3DR_GridIndexArray* t3dr_updated_indices);
58 
60  const Tango3DR_ReconstructionContext& t3dr_context,
61  const Tango3DR_GridIndexArray& t3dr_updated_indices,
62  double time_offset, const std::string& base_frame_id,
63  visualization_msgs::MarkerArray* mesh_marker_array);
64 
66  const Tango3DR_ReconstructionContext& t3dr_context,
67  double time_offset, const std::string& base_frame_id,
68  double t3dr_resolution, uint8_t threshold,
69  nav_msgs::OccupancyGrid* occupancy_grid);
70 
71 } // namespace tango_3d_reconstruction_helper
72 #endif // TANGO_3D_RECONSTRUCTION_HELPER_H_
void ExtractMeshAndConvertToMarkerArray(const Tango3DR_ReconstructionContext &t3dr_context, const Tango3DR_GridIndexArray &t3dr_updated_indices, double time_offset, const std::string &base_frame_id, visualization_msgs::MarkerArray *mesh_marker_array)
Tango3DR_Status
const std::string TANGO_3DR_OCCUPANCY_GRID_THRESHOLD_PARAM_NAME
Tango3DR_Status TangoSetup3DRConfig(const ros::NodeHandle &node_handle, double *t3dr_resolution, Tango3DR_ReconstructionContext *t3dr_context, Tango3DR_CameraCalibration *t3dr_color_camera_intrinsics)
bool ExtractFloorPlanImageAndConvertToOccupancyGrid(const Tango3DR_ReconstructionContext &t3dr_context, double time_offset, const std::string &base_frame_id, double t3dr_resolution, uint8_t threshold, nav_msgs::OccupancyGrid *occupancy_grid)
struct _Tango3DR_ReconstructionContext * Tango3DR_ReconstructionContext
void UpdateMesh(const Tango3DR_ReconstructionContext &t3dr_context, TangoSupport_PointCloudManager *point_cloud_manager, TangoSupport_ImageBufferManager *image_buffer_manager, Tango3DR_Pose *last_camera_depth_pose, Tango3DR_Pose *last_camera_color_pose, Tango3DR_GridIndexArray *t3dr_updated_indices)


tango_ros_native
Author(s):
autogenerated on Mon Jun 10 2019 15:37:51