|
Coverage Control Library
|
Namespace for the CoverageControl library. More...
Namespaces | |
| namespace | MapUtils |
| Namespace for map utilities functions. | |
Classes | |
| class | AbstractController |
| class | BivariateNormalDistribution |
| Class for Bivariate Normal Distribution. More... | |
| struct | BND_Cuda |
| Structure to store the parameters of the Bivariate Normal Distribution. More... | |
| struct | Bounds |
| Structure to store the rectangular bounds of the polygons. More... | |
| class | CentralizedCVT |
| struct | CGAL_DelaunayHelper |
| class | ClairvoyantCVT |
| class | CoverageSystem |
| The CoverageSystem class is the main class for the coverage control library. More... | |
| class | CudaUtils |
| Static class for CUDA utilities This class provides utility functions for CUDA It is a static class and cannot be instantiated. More... | |
| class | DecentralizedCVT |
| struct | Frontier |
| A struct to store a frontier points and a value. More... | |
| struct | FrontierCompare |
| A struct to compare frontiers based on their value. More... | |
| class | GeoLocalTransform |
| class | NearOptimalCVT |
| class | OracleBangExploreExploit |
| class | OracleExploreExploit |
| class | OracleSimulExploreExploit |
| class | Parameters |
| Class to store parameters. More... | |
| class | Plotter |
| Class to plot the map. More... | |
| struct | PlotterData |
| Data structure to store plotter data. More... | |
| struct | PolygonFeature |
| A struct to store a polygon feature and a uniform importance value. More... | |
| struct | Polygons_Cuda |
| Structure to store the parameters of the polygons on the device. More... | |
| struct | Polygons_Cuda_Host |
| Structure to store the parameters of the polygons on the host. More... | |
| class | RobotModel |
| Class for handling the robot model. More... | |
| class | Vec2d |
| A class for 2D vector. More... | |
| class | Voronoi |
| Class for computing Voronoi cells. More... | |
| class | VoronoiCell |
| Struct for Voronoi cell. More... | |
| class | WorldIDF |
| Class for Importance Density Function (IDF) for the world. More... | |
Typedefs | |
| typedef Eigen::Vector2d | Point2 |
| typedef Eigen::Vector2f | Point2f |
| typedef Eigen::Vector3d | Point3 |
| typedef Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor > | MapType |
| typedef std::vector< Point2 > | PointVector |
| typedef std::priority_queue< Frontier, std::vector< Frontier >, FrontierCompare > | queue_t |
Functions | |
| auto | NearOptimalCVTAlgorithm (int const num_tries, int const max_iterations, int const num_sites, MapType const &map, int const map_size, double const res) |
| auto | NearOptimalCVTAlgorithm (int const num_tries, int const max_iterations, int const num_sites, MapType const &map, int const map_size, double const res, PointVector const &positions, Voronoi &voronoi) |
| auto | NearOptimalCVTAlgorithm (int const num_tries, int const max_iterations, int const num_sites, MapType const &map, int const map_size, double const res, PointVector const &positions) |
| void | PolygonYMonotonePartition (PointVector const &polygon, std::vector< PointVector > &y_monotone_polygons) |
| Partition a polygon into y-monotone polygons. | |
| void | GenerateRandomPolygons (int const num_polygons, int const max_vertices, double const half_width, double const world_size, std::vector< PointVector > &polygons) |
| Generate random polygons. | |
| Point2 | CGALtoCC (CGAL_Point2 const pt) |
| template<class Arrangement > | |
| void | CGAL_CCBTraversal (typename Arrangement::Ccb_halfedge_const_circulator circ, Polygon_2 &polygon) |
| template<class Arrangement > | |
| void | CGAL_GeneratePolygons (const Arrangement &arr, std::list< Polygon_2 > &polygon_list) |
| bool | IsPointInPoly (CGAL_Point2 const &pt, Polygon_2 const &poly) |
| void | PrunePolygons (std::list< Polygon_2 > &polygon_list, int const &map_size) |
| __host__ __device__ int | Orientation (float2 const &p, float2 const &q, float2 const &r) |
| __host__ __device__ bool | IsPointInMonotonePolygon (float *x, float *y, int sz, float2 const &r) |
| void | generate_world_map_cuda (BND_Cuda *, Polygons_Cuda_Host const &, int const, int const, float const, float const, float const, float *importance_vec, float &) |
| Function to generate the world map on the device. | |
| bool | CheckCudaErrors (cudaError_t result) |
| __device__ float2 | TransformPoint (BND_Cuda const *device_dists, int i, float2 const &in_point) |
| __device__ float | IntegrateQuarterPlane (BND_Cuda const &bnd, float2 const &in_point) |
| __device__ float | ComputeImportanceBND (BND_Cuda const *device_dists, float2 const &bottom_left, float2 const &top_right, float2 const &mid_pt_cell) |
| __device__ float | ComputeImportancePoly (Polygons_Cuda const &device_polygons, float2 const &mid_pt_cell) |
| __global__ void | kernel (BND_Cuda const *device_dists, Polygons_Cuda const device_polygons, float *importance_vec) |
| __global__ void | normalize (float *importance_vec) |
Variables | |
| double const | kEps = 1e-10 |
| float const | kEpsf = 1e-6f |
| double const | kLargeEps = 1e-4 |
| double const | kSqrt2 = std::sqrt(2) |
| double const | kOneBySqrt2 = 1. / std::sqrt(2) |
| float const | kOneBySqrt2f = 1.f / sqrtf(2.f) |
| double const | kInfD |
| constexpr auto | kMaxPrecision |
| float const | kFloatMax |
| Maximum value of float. | |
| float const | kFloatMin |
| Minimum value of float. | |
| __device__ __constant__ int | cu_num_dists |
| __device__ __constant__ int | cu_map_size |
| __device__ __constant__ float | cu_resolution |
| __device__ __constant__ float | cu_truncation |
| __device__ __constant__ float | cu_trun_sq |
| __device__ __constant__ float | cu_OneBySqrt2 |
| __device__ __constant__ float | cu_normalization_factor |
| __device__ __constant__ int | cu_polygons_num_pts |
| __device__ __constant__ int | cu_num_polygons |
Namespace for the CoverageControl library.
|
inline |
Definition at line 58 of file utilities.h.
|
inline |
Definition at line 74 of file utilities.h.
|
inline |
Definition at line 44 of file utilities.h.
| bool CheckCudaErrors | ( | cudaError_t | result | ) |
Definition at line 40 of file cuda_utils.cu.
| __device__ float ComputeImportanceBND | ( | BND_Cuda const * | device_dists, |
| float2 const & | bottom_left, | ||
| float2 const & | top_right, | ||
| float2 const & | mid_pt_cell ) |
Definition at line 93 of file generate_world_map.cu.
| __device__ float ComputeImportancePoly | ( | Polygons_Cuda const & | device_polygons, |
| float2 const & | mid_pt_cell ) |
Definition at line 124 of file generate_world_map.cu.
| void generate_world_map_cuda | ( | BND_Cuda * | host_dists, |
| Polygons_Cuda_Host const & | host_polygons, | ||
| int const | num_dists, | ||
| int const | map_size, | ||
| float const | resolution, | ||
| float const | truncation, | ||
| float const | pNorm, | ||
| float * | importance_vec, | ||
| float & | normalization_factor ) |
Function to generate the world map on the device.
Definition at line 175 of file generate_world_map.cu.
| void GenerateRandomPolygons | ( | int const | num_polygons, |
| int const | max_vertices, | ||
| double const | half_width, | ||
| double const | world_size, | ||
| std::vector< PointVector > & | polygons ) |
Generate random polygons.
| [in] | num_polygons | The number of polygons to generate |
| [in] | max_vertices | The maximum number of vertices in each polygon |
| [in] | half_width | The half-width of the polygon |
| [in] | world_size | The size of the world |
| [out] | polygons | The output polygons |
Definition at line 69 of file polygon_utils.cpp.
| __device__ float IntegrateQuarterPlane | ( | BND_Cuda const & | bnd, |
| float2 const & | in_point ) |
Definition at line 76 of file generate_world_map.cu.
| __host__ __device__ bool IsPointInMonotonePolygon | ( | float * | x, |
| float * | y, | ||
| int | sz, | ||
| float2 const & | r ) |
Check if the point r is inside the monotone polygon defined by the vertices x and y
Definition at line 59 of file geometry_utils.cuh.
|
inline |
Definition at line 92 of file utilities.h.
| __global__ void kernel | ( | BND_Cuda const * | device_dists, |
| Polygons_Cuda const | device_polygons, | ||
| float * | importance_vec ) |
Definition at line 146 of file generate_world_map.cu.
| __global__ void normalize | ( | float * | importance_vec | ) |
Definition at line 166 of file generate_world_map.cu.
| __host__ __device__ int Orientation | ( | float2 const & | p, |
| float2 const & | q, | ||
| float2 const & | r ) |
Get the orientation of the point r with respect to the directional vector from p to q
Definition at line 44 of file geometry_utils.cuh.
| void PolygonYMonotonePartition | ( | PointVector const & | polygon, |
| std::vector< PointVector > & | y_monotone_polygons ) |
Partition a polygon into y-monotone polygons.
| [in] | polygon | The input polygon |
| [out] | y_monotone_polygons | The output y-monotone polygons |
Definition at line 38 of file polygon_utils.cpp.
|
inline |
Definition at line 100 of file utilities.h.
| __device__ float2 TransformPoint | ( | BND_Cuda const * | device_dists, |
| int | i, | ||
| float2 const & | in_point ) |
Definition at line 61 of file generate_world_map.cu.
| __device__ __constant__ int cu_map_size |
Definition at line 52 of file generate_world_map.cu.
| __device__ __constant__ float cu_normalization_factor |
Definition at line 57 of file generate_world_map.cu.
| __device__ __constant__ int cu_num_dists |
Definition at line 51 of file generate_world_map.cu.
| __device__ __constant__ int cu_num_polygons |
Definition at line 59 of file generate_world_map.cu.
| __device__ __constant__ float cu_OneBySqrt2 |
Definition at line 56 of file generate_world_map.cu.
| __device__ __constant__ int cu_polygons_num_pts |
Definition at line 58 of file generate_world_map.cu.
| __device__ __constant__ float cu_resolution |
Definition at line 53 of file generate_world_map.cu.
| __device__ __constant__ float cu_trun_sq |
Definition at line 55 of file generate_world_map.cu.
| __device__ __constant__ float cu_truncation |
Definition at line 54 of file generate_world_map.cu.
| float const kFloatMax |
Maximum value of float.
Definition at line 36 of file generate_world_map.h.
| float const kFloatMin |
Minimum value of float.
Definition at line 38 of file generate_world_map.h.