Skip to content

Commit 4ea2a48

Browse files
Saurav AgarwalSaurav Agarwal
authored andcommitted
Add license info and documentation. Restructure
1 parent 9a86923 commit 4ea2a48

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+933
-784
lines changed

cppsrc/core/include/CoverageControl/algorithms/centralized_cvt.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* The coverage control algorithm uses centralized Centroidal Voronoi Tessellation (CVT) or Lloyd's algorithm on accumulated local map of individual robots, i.e., a robot has knowledge only about the regions it has visited.
5-
* Communication radius is not considered.
6-
* The algorithm is online---it takes localized actions based on the current robot positions.
7-
*
8-
* @author Saurav Agarwal
9-
4+
* Author: Saurav Agarwal
5+
106
* Repository: https://github.com/KumarRobotics/CoverageControl
117
*
128
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
139
*
14-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
15-
*
16-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1711
*
1812
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1913
*/
2014

15+
/*!
16+
* \file centralized_cvt.h
17+
* \brief Contains the class CentralizedCVT
18+
*/
19+
2120
#ifndef COVERAGECONTROL_ALGORITHMS_CENTRALIZED_CVT_H_
2221
#define COVERAGECONTROL_ALGORITHMS_CENTRALIZED_CVT_H_
2322

cppsrc/core/include/CoverageControl/algorithms/clairvyont_cvt.h

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* The coverage control algorithm uses Centroidal Voronoi Tessellation (CVT) or Lloyd's algorithm on global world IDF map, i.e., it has knowledge of the entire map.
5-
* Communication is not considered in this algorithm, i.e., all robots are assumed to be able to communicate with each other.
6-
* However, the algorithm is online---it takes localized actions based on the current robot positions.
7-
*
8-
* @author Saurav Agarwal
9-
4+
* Author: Saurav Agarwal
5+
106
* Repository: https://github.com/KumarRobotics/CoverageControl
117
*
128
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
139
*
14-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
15-
*
16-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1711
*
1812
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1913
*/
2014

15+
/*!
16+
* \file clairvyont_cvt.h
17+
* \brief Clairvoyant CVT algorithm
18+
*/
19+
2120
#ifndef COVERAGECONTROL_ALGORITHMS_CLAIRVOYANT_CVT_H_
2221
#define COVERAGECONTROL_ALGORITHMS_CLAIRVOYANT_CVT_H_
2322

cppsrc/core/include/CoverageControl/algorithms/decentralized_cvt.h

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,23 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* The coverage control algorithm uses Centroidal Voronoi Tessellation (CVT) or Lloyd's algorithm on accumulated local map of individual robots, i.e., a robot has knowledge only about the regions it has visited.
5-
* Communication limitations are considered in the computation of voronoi.
6-
* Each robot computes the voronoi based on its local map and the positions of other robots within its communication range.
7-
* The algorithm is online---it takes localized actions based on the current robot positions.
8-
*
9-
* @author Saurav Agarwal
10-
4+
* Author: Saurav Agarwal
5+
116
* Repository: https://github.com/KumarRobotics/CoverageControl
127
*
138
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
149
*
15-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
16-
*
17-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1811
*
1912
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
2013
*/
2114

15+
/*!
16+
* \file decentralized_cvt.h
17+
* \brief Contains the DecentralizedCVT class.
18+
*/
19+
20+
2221
#ifndef COVERAGECONTROL_ALGORITHMS_DECENTRALIZED_CVT_H_
2322
#define COVERAGECONTROL_ALGORITHMS_DECENTRALIZED_CVT_H_
2423

cppsrc/core/include/CoverageControl/algorithms/near_optimal_cvt.h

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
3-
* Near-optimal Centroidal Voronoi Tessellation (CVT) algorithms.
4-
* The algorithm has knowledge of the entire map in a centralized manner.
5-
* It spawns random sites and iteratively moves them to the centroid of the Voronoi cell, until convergence.
6-
* Hungarian algorithm is used to assign the robots to the sites.
7-
* Out of the multiple tries, the best Voronoi is selected based on the objective function.
83
*
9-
* @author Saurav Agarwal
10-
4+
* Author: Saurav Agarwal
5+
116
* Repository: https://github.com/KumarRobotics/CoverageControl
127
*
138
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
149
*
15-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
16-
*
17-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1811
*
1912
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
2013
*/
2114

15+
/*!
16+
* \file near_optimal_cvt.h
17+
* \brief Near Optimal Centroidal Voronoi Tessellation (CVT) algorithm
18+
* Near-optimal Centroidal Voronoi Tessellation (CVT) algorithms.
19+
* The algorithm has knowledge of the entire map in a centralized manner.
20+
* It spawns random sites and iteratively moves them to the centroid of the Voronoi cell, until convergence.
21+
* Hungarian algorithm is used to assign the robots to the sites.
22+
* Out of the multiple tries, the best Voronoi is selected based on the objective function.
23+
*/
24+
25+
2226
#ifndef COVERAGECONTROL_ALGORITHMS_NEAR_OPTIMAL_CVT_H_
2327
#define COVERAGECONTROL_ALGORITHMS_NEAR_OPTIMAL_CVT_H_
2428

cppsrc/core/include/CoverageControl/algorithms/oracle_bang_explore_exploit.h

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* First trial of oracle with exploration and exploitation.
5-
* The oracle uses complete information about the environment.
6-
*
7-
* @author Saurav Agarwal
8-
4+
* Author: Saurav Agarwal
5+
96
* Repository: https://github.com/KumarRobotics/CoverageControl
107
*
118
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
129
*
13-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
14-
*
15-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1611
*
1712
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1813
*/
1914

15+
/*!
16+
* \file oracle_bang_explore_exploit.h
17+
* \brief First trial of oracle with exploration and exploitation.
18+
* The oracle uses complete information about the environment.
19+
*/
20+
21+
2022
#ifndef COVERAGECONTROL_ALGORITHMS_ORACLE_BANG_EXPLORE_EXPLOIT_H_
2123
#define COVERAGECONTROL_ALGORITHMS_ORACLE_BANG_EXPLORE_EXPLOIT_H_
2224

cppsrc/core/include/CoverageControl/algorithms/oracle_explore_exploit.h

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* Old trial of exploration and exploitation
5-
* Uses system map for exploration as well.
6-
*
7-
* @author Saurav Agarwal
8-
4+
* Author: Saurav Agarwal
5+
96
* Repository: https://github.com/KumarRobotics/CoverageControl
107
*
118
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
129
*
13-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
14-
*
15-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1611
*
1712
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1813
*/
1914

15+
/*!
16+
* \file oracle_explore_exploit.h
17+
* \brief Old trial of exploration and exploitation
18+
* Uses system map for exploration as well.
19+
*/
20+
21+
2022
#ifndef COVERAGECONTROL_ALGORITHMS_ORACLE_EXPLORE_EXPLOIT_H_
2123
#define COVERAGECONTROL_ALGORITHMS_ORACLE_EXPLORE_EXPLOIT_H_
2224

cppsrc/core/include/CoverageControl/algorithms/oracle_global_offline.h

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,26 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* Global offline oracle: has complete information about the environment.
5-
* Use full communication between robots.
6-
* Tries multiple random sites for initial locations.
7-
* Uses Hungarian algorithm to assign robots to goal positions.
8-
*
9-
* @author Saurav Agarwal
10-
4+
* Author: Saurav Agarwal
5+
116
* Repository: https://github.com/KumarRobotics/CoverageControl
127
*
138
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
149
*
15-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
16-
*
17-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1811
*
1912
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
2013
*/
21-
/**
14+
15+
/*!
16+
* \file oracle_global_offline.h
17+
* \brief OracleGlobalOffline class
2218
* Global offline oracle: has complete information about the environment.
2319
* Use full communication between robots.
2420
* Tries multiple random sites for initial locations.
2521
* Uses Hungarian algorithm to assign robots to goal positions.
26-
**/
22+
*/
23+
2724

2825
#ifndef COVERAGECONTROL_ORACLE_GLOBAL_OFFLINE_H_
2926
#define COVERAGECONTROL_ORACLE_GLOBAL_OFFLINE_H_

cppsrc/core/include/CoverageControl/algorithms/simul_explore_exploit.h

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,25 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* Uses frontier-based exploration with bias towards IDF.
5-
* Robots switch between exploration and exploitation modes.
6-
* Exploitation is done locally in a decentralized manner while respecting communation constraints.
7-
*
8-
* @author Saurav Agarwal
9-
4+
* Author: Saurav Agarwal
5+
106
* Repository: https://github.com/KumarRobotics/CoverageControl
117
*
128
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
139
*
14-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
15-
*
16-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1711
*
1812
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1913
*/
20-
/**
14+
15+
/*!
16+
* \file simul_explore_exploit.h
17+
* \brief Simultaneous exploration and exploitation algorithm
2118
* Uses frontier-based exploration with bias towards IDF.
2219
* Robots switch between exploration and exploitation modes.
2320
* Exploitation is done locally in a decentralized manner while respecting communation constraints.
24-
**/
21+
*/
22+
2523

2624
#ifndef COVERAGECONTROL_ALGORITHMS_SIMUL_EXPLORE_EXPLOIT_H_
2725
#define COVERAGECONTROL_ALGORITHMS_SIMUL_EXPLORE_EXPLOIT_H_

cppsrc/core/include/CoverageControl/bivariate_normal_distribution.h

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
1-
/*!
2-
* This file is part of the CoverageControl library.
3-
* This file contains a class for Bivariate Normal Distribution.
4-
* The distribution is in it general form.
5-
*
6-
* TODO:
1+
/*
2+
* This file is part of the CoverageControl library
73
*
8-
* @author Saurav Agarwal
9-
4+
* Author: Saurav Agarwal
5+
106
* Repository: https://github.com/KumarRobotics/CoverageControl
117
*
128
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
139
*
14-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
15-
*
16-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1711
*
1812
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1913
*/
2014

15+
/*!
16+
* \file bivariate_normal_distribution.h
17+
* \brief Class for Bivariate Normal Distribution
18+
*/
19+
2120
#ifndef COVERAGECONTROL_BIVARIATENORMALDISTRIBUTION_H_
2221
#define COVERAGECONTROL_BIVARIATENORMALDISTRIBUTION_H_
2322

cppsrc/core/include/CoverageControl/cgal/config.h

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,22 @@
1-
/*!
1+
/*
22
* This file is part of the CoverageControl library
33
*
4-
* Provides the configuration for the CGAL library.
5-
*
6-
* @author Saurav Agarwal
7-
4+
* Author: Saurav Agarwal
5+
86
* Repository: https://github.com/KumarRobotics/CoverageControl
97
*
108
* The CoverageControl library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
119
*
12-
* DISCLAIMER OF WARRANTIES: THE SOFTWARE IS PROVIDED "AS-IS" WITHOUT WARRANTY OF ANY KIND INCLUDING ANY WARRANTIES OF PERFORMANCE OR MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE OR PURPOSE OR OF NON-INFRINGEMENT. YOU BEAR ALL RISK RELATING TO QUALITY AND PERFORMANCE OF THE SOFTWARE OR HARDWARE.
13-
*
14-
* SUPPORT AND MAINTENANCE: No support, installation, or training is provided.
10+
* The CoverageControl library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1511
*
1612
* You should have received a copy of the GNU General Public License along with CoverageControl library. If not, see <https://www.gnu.org/licenses/>.
1713
*/
1814

15+
/*!
16+
* \file config.h
17+
* \brief Contains the configuration for the CGAL library.
18+
*/
19+
1920
#ifndef COVERAGECONTROL_CGAL_CONFIG_H_
2021
#define COVERAGECONTROL_CGAL_CONFIG_H_
2122

0 commit comments

Comments
 (0)