Coverage Control Library
|
The CoverageSystem class is the main class for the coverage control library. More...
#include <coverage_system.h>
Public Member Functions | |
Constructors | |
CoverageSystem ()=delete | |
CoverageSystem (Parameters const ¶ms) | |
Create random Gaussian distributions for the world IDF and random start positions for the robots. | |
CoverageSystem (Parameters const ¶ms, int const num_gaussians, int const num_robots) | |
Create random Gaussian distributions for the world IDF and random start positions for the robots. | |
CoverageSystem (Parameters const ¶ms, int const num_gaussians, int const num_polygons, int const num_robots) | |
CoverageSystem (Parameters const ¶ms, WorldIDF const &world_idf, std::string const &pos_file_name) | |
Create with given world IDF and robot positions from file. | |
CoverageSystem (Parameters const ¶ms, WorldIDF const &world_idf, std::vector< Point2 > const &robot_positions) | |
Constructor for given world IDF and robot positions as a vector. | |
CoverageSystem (Parameters const ¶ms, std::vector< BivariateNormalDistribution > const &dists, std::vector< Point2 > const &robot_positions) | |
Constructor for given normal distributions and robot positions. | |
Setters | |
void | SetLocalRobotPositions (std::vector< Point2 > const &relative_pos) |
void | SetLocalRobotPosition (size_t const robot_id, Point2 const &relative_pos) |
Set the position of robot_id with respect to its current position. | |
void | SetGlobalRobotPosition (size_t const robot_id, Point2 const &global_pos) |
Set the global position of robot_id. | |
void | SetRobotPositions (std::vector< Point2 > const &positions) |
void | SetWorldIDF (WorldIDF const &world_idf) |
Set the world IDF and recompute the world map. | |
Robot related functions | |
bool | StepActions (PointVector const &actions) |
Execute given actions for all robots. | |
bool | StepAction (size_t const robot_id, Point2 const action) |
Execute given action for robot_id. | |
bool | StepControl (size_t robot_id, Point2 const &direction, double const speed) |
Execute velocity control for robot_id. | |
Point2 | AddNoise (Point2 const pt) const |
Add noise to the given point and ensure within bounds. | |
bool | CheckOscillation (size_t const robot_id) const |
void | CheckRobotID (size_t const id) const |
void | ComputeVoronoiCells () |
bool | StepRobotToGoal (int const robot_id, Point2 const &goal, double const speed_factor=1) |
bool | StepRobotsToGoals (PointVector const &goals, PointVector &actions) |
void | ClearRobotMaps () |
void | ClearExploredIDF () |
I/O | |
int | WriteRobotPositions (std::string const &file_name) const |
int | WriteRobotPositions (std::string const &file_name, PointVector const &positions) const |
int | WriteEnvironment (std::string const &pos_filename, std::string const &env_filename) const |
Plot related functions | |
void | PlotFrontiers (std::string const &, int const &, PointVector const &) const |
void | PlotSystemMap (std::string const &dir_name, int const &step) const |
void | PlotSystemMap (std::string const &) const |
void | PlotSystemMap (std::string const &, int const &, std::vector< int > const &) const |
void | PlotMapVoronoi (std::string const &, int const &) |
void | PlotMapVoronoi (std::string const &, int const &, Voronoi const &, PointVector const &) const |
void | PlotWorldMap (std::string const &, std::string const &) const |
void | PlotWorldMapRobots (std::string const &, std::string const &) const |
void | PlotInitMap (std::string const &filename) const |
void | PlotInitMap (std::string const &, std::string const &) const |
void | PlotRobotLocalMap (std::string const &, int const &, int const &) |
void | PlotRobotSystemMap (std::string const &, int const &, int const &) |
void | PlotRobotIDFMap (std::string const &, int const &, int const &) |
void | PlotRobotExplorationMap (std::string const &, int const &, int const &) |
void | PlotRobotSensorView (std::string const &, int const &, int const &) |
void | PlotRobotObstacleMap (std::string const &, int const &, int const &) |
void | PlotRobotCommunicationMaps (std::string const &, int const &, int const &, size_t const &) |
void | RenderRecordedMap (std::string const &, std::string const &) const |
void | RecordPlotData (std::vector< int > const &, std::string const &) |
void | RecordPlotData (std::vector< int > const &robot_status) |
void | RecordPlotData (std::string const &map_name) |
void | RecordPlotData () |
Getters | |
const auto & | GetWorldIDFObject () const |
const MapType & | GetSystemMap () const |
const MapType & | GetSystemExplorationMap () const |
const MapType & | GetSystemExploredIDFMap () const |
const MapType & | GetWorldMap () const |
Get the world map. | |
MapType & | GetWorldMapMutable () |
Get the world map (mutable) | |
auto | GetNumRobots () const |
auto | GetNumFeatures () const |
double | GetExplorationRatio () const |
double | GetWeightedExplorationRatio () const |
Get the weighted (by IDF) exploration ratio. | |
PointVector | GetRelativePositonsNeighbors (size_t const robot_id) |
std::vector< int > | GetNeighborIDs (size_t const robot_id) const |
PointVector | GetRobotPositions (bool force_no_noise=false) |
Get the global positions of all robots. | |
Point2 | GetRobotPosition (int const robot_id, bool force_no_noise=false) const |
const MapType & | GetRobotLocalMap (size_t const id) |
const MapType & | GetRobotMap (size_t const id) const |
const MapType & | GetRobotExplorationMap (size_t const id) |
const MapType & | GetRobotSystemMap (size_t const id) |
const MapType & | GetRobotObstacleMap (size_t const id) |
const MapType & | GetRobotSensorView (size_t const id) const |
auto | GetRobotsInCommunication (size_t const id) const |
std::pair< MapType, MapType > const & | GetCommunicationMap (size_t const, size_t) |
const auto & | GetCommunicationMaps (size_t map_size) |
auto | GetObjectiveValue () |
auto | GetRobotExplorationFeatures () |
auto | GetRobotVoronoiFeatures () |
std::vector< double > | GetLocalVoronoiFeatures (int const robot_id) |
auto | GetLocalVoronoiFeatures () |
auto | GetVoronoiCells () |
auto & | GetVoronoi () |
auto | GetVoronoiCell (int const robot_id) |
double | GetNormalizationFactor () |
The CoverageSystem class is the main class for the coverage control library.
Definition at line 68 of file coverage_system.h.
|
delete |
Delete the default constructor
|
explicit |
Create random Gaussian distributions for the world IDF and random start positions for the robots.
params | Parameters for the coverage system |
Definition at line 34 of file coverage_system.cpp.
CoverageSystem | ( | Parameters const & | params, |
int const | num_gaussians, | ||
int const | num_robots ) |
Create random Gaussian distributions for the world IDF and random start positions for the robots.
params | Parameters for the coverage system |
num_gaussians | Number of gaussian distributions for the world IDF |
num_robots | Number of robots |
Definition at line 38 of file coverage_system.cpp.
CoverageSystem | ( | Parameters const & | params, |
int const | num_gaussians, | ||
int const | num_polygons, | ||
int const | num_robots ) |
Definition at line 42 of file coverage_system.cpp.
CoverageSystem | ( | Parameters const & | params, |
WorldIDF const & | world_idf, | ||
std::string const & | pos_file_name ) |
Create with given world IDF and robot positions from file.
params | Parameters for the coverage system |
world_idf | World IDF |
pos_file_name | File name for initial positions |
Definition at line 90 of file coverage_system.cpp.
CoverageSystem | ( | Parameters const & | params, |
WorldIDF const & | world_idf, | ||
std::vector< Point2 > const & | robot_positions ) |
Constructor for given world IDF and robot positions as a vector.
params | Parameters for the coverage system |
world_idf | World IDF |
robot_positions | Initial positions of the robots |
Definition at line 115 of file coverage_system.cpp.
CoverageSystem | ( | Parameters const & | params, |
std::vector< BivariateNormalDistribution > const & | dists, | ||
std::vector< Point2 > const & | robot_positions ) |
Constructor for given normal distributions and robot positions.
params | Parameters for the coverage system |
dists | Bivariate normal distributions for the world IDF |
robot_positions | Initial positions of the robots |
Definition at line 129 of file coverage_system.cpp.
Add noise to the given point and ensure within bounds.
Definition at line 311 of file coverage_system.cpp.
|
inline |
Check if the robot is oscillating about its current position
Definition at line 333 of file coverage_system.h.
|
inline |
Definition at line 358 of file coverage_system.h.
|
inline |
Definition at line 398 of file coverage_system.h.
|
inline |
Definition at line 392 of file coverage_system.h.
|
inline |
Definition at line 364 of file coverage_system.h.
Definition at line 148 of file coverage_system.cpp.
|
inline |
Definition at line 572 of file coverage_system.h.
|
inline |
Definition at line 473 of file coverage_system.h.
|
inline |
Definition at line 608 of file coverage_system.h.
std::vector< double > GetLocalVoronoiFeatures | ( | int const | robot_id | ) |
Definition at line 627 of file coverage_system.cpp.
|
inline |
Definition at line 488 of file coverage_system.h.
|
inline |
Definition at line 622 of file coverage_system.h.
|
inline |
Definition at line 471 of file coverage_system.h.
|
inline |
Definition at line 470 of file coverage_system.h.
|
inline |
Definition at line 580 of file coverage_system.h.
PointVector GetRelativePositonsNeighbors | ( | size_t const | robot_id | ) |
Definition at line 604 of file coverage_system.cpp.
|
inline |
Definition at line 585 of file coverage_system.h.
|
inline |
Definition at line 532 of file coverage_system.h.
|
inline |
Definition at line 522 of file coverage_system.h.
|
inline |
Definition at line 527 of file coverage_system.h.
|
inline |
Definition at line 541 of file coverage_system.h.
|
inline |
Definition at line 511 of file coverage_system.h.
|
inline |
Get the global positions of all robots.
Can add noise to the positions based on the parameters
force_no_noise | If true, returns the positions without noise |
Definition at line 499 of file coverage_system.h.
|
inline |
Definition at line 546 of file coverage_system.h.
|
inline |
Definition at line 551 of file coverage_system.h.
|
inline |
Definition at line 537 of file coverage_system.h.
|
inline |
Definition at line 594 of file coverage_system.h.
|
inline |
Definition at line 463 of file coverage_system.h.
|
inline |
Definition at line 464 of file coverage_system.h.
|
inline |
Definition at line 462 of file coverage_system.h.
|
inline |
Definition at line 618 of file coverage_system.h.
|
inline |
Definition at line 620 of file coverage_system.h.
|
inline |
Definition at line 617 of file coverage_system.h.
|
inline |
Get the weighted (by IDF) exploration ratio.
Definition at line 481 of file coverage_system.h.
|
inline |
Definition at line 461 of file coverage_system.h.
|
inline |
Get the world map.
Definition at line 466 of file coverage_system.h.
|
inline |
Get the world map (mutable)
Definition at line 468 of file coverage_system.h.
void PlotFrontiers | ( | std::string const & | dir_name, |
int const & | step, | ||
PointVector const & | frontiers ) const |
Definition at line 520 of file coverage_system.cpp.
void PlotInitMap | ( | std::string const & | dir_name, |
std::string const & | map_name ) const |
Definition at line 490 of file coverage_system.cpp.
|
inline |
Definition at line 430 of file coverage_system.h.
void PlotMapVoronoi | ( | std::string const & | dir_name, |
int const & | step ) |
Definition at line 499 of file coverage_system.cpp.
void PlotMapVoronoi | ( | std::string const & | dir_name, |
int const & | step, | ||
Voronoi const & | voronoi, | ||
PointVector const & | goals ) const |
Definition at line 510 of file coverage_system.cpp.
void PlotRobotCommunicationMaps | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step, | ||
size_t const & | map_size ) |
Definition at line 587 of file coverage_system.cpp.
void PlotRobotExplorationMap | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 552 of file coverage_system.cpp.
void PlotRobotIDFMap | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 543 of file coverage_system.cpp.
void PlotRobotLocalMap | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 569 of file coverage_system.cpp.
void PlotRobotObstacleMap | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 577 of file coverage_system.cpp.
void PlotRobotSensorView | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 561 of file coverage_system.cpp.
void PlotRobotSystemMap | ( | std::string const & | dir_name, |
int const & | robot_id, | ||
int const & | step ) |
Definition at line 530 of file coverage_system.cpp.
void PlotSystemMap | ( | std::string const & | filename | ) | const |
Definition at line 449 of file coverage_system.cpp.
void PlotSystemMap | ( | std::string const & | dir_name, |
int const & | step, | ||
std::vector< int > const & | robot_status ) const |
Definition at line 460 of file coverage_system.cpp.
|
inline |
Definition at line 418 of file coverage_system.h.
void PlotWorldMap | ( | std::string const & | dir_name, |
std::string const & | map_name ) const |
Definition at line 481 of file coverage_system.cpp.
void PlotWorldMapRobots | ( | std::string const & | dir_name, |
std::string const & | map_name ) const |
Definition at line 470 of file coverage_system.cpp.
|
inline |
Definition at line 452 of file coverage_system.h.
|
inline |
Definition at line 448 of file coverage_system.h.
void RecordPlotData | ( | std::vector< int > const & | robot_status, |
std::string const & | map_name ) |
Definition at line 423 of file coverage_system.cpp.
|
inline |
Definition at line 445 of file coverage_system.h.
void RenderRecordedMap | ( | std::string const & | dir_name, |
std::string const & | video_name ) const |
Definition at line 377 of file coverage_system.cpp.
|
inline |
Set the global position of robot_id.
Definition at line 234 of file coverage_system.h.
|
inline |
Set the position of robot_id with respect to its current position.
Definition at line 227 of file coverage_system.h.
|
inline |
Set the positions of all robots with respect to their current positions
Definition at line 222 of file coverage_system.h.
|
inline |
Set the positions of all robots with respect to their current positions
Definition at line 241 of file coverage_system.h.
|
inline |
Set the world IDF and recompute the world map.
Definition at line 253 of file coverage_system.h.
|
inline |
Execute given action for robot_id.
robot_id | ID of the robot |
action | Action for the robot |
Definition at line 295 of file coverage_system.h.
|
inline |
Execute given actions for all robots.
actions | Vector of actions for all robots |
Definition at line 271 of file coverage_system.h.
|
inline |
Execute velocity control for robot_id.
robot_id | ID of the robot |
direction | Velocity direction |
speed | Velocity magnitude |
Definition at line 317 of file coverage_system.h.
bool StepRobotsToGoals | ( | PointVector const & | goals, |
PointVector & | actions ) |
Step all robots towards given goals
goals | Vector of goals for the robots |
actions | Vector of actions for the robots |
Definition at line 285 of file coverage_system.cpp.
bool StepRobotToGoal | ( | int const | robot_id, |
Point2 const & | goal, | ||
double const | speed_factor = 1 ) |
Step a robot towards a given goal
robot_id | ID of the robot |
goal | Goal for the robot |
speed_factor | Speed factor for the robots |
Definition at line 265 of file coverage_system.cpp.
int WriteEnvironment | ( | std::string const & | pos_filename, |
std::string const & | env_filename ) const |
Definition at line 370 of file coverage_system.cpp.
int WriteRobotPositions | ( | std::string const & | file_name | ) | const |
Definition at line 340 of file coverage_system.cpp.
int WriteRobotPositions | ( | std::string const & | file_name, |
PointVector const & | positions ) const |
Definition at line 355 of file coverage_system.cpp.