-
 
No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.3.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/locusrobotics/robot_navigation.git
VCS Type git
VCS Version noetic
Last Updated 2022-06-27
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A collection of tests for checking the validity and completeness of global planners.

Additional Links

No additional links.

Maintainers

  • David V. Lu!!

Authors

No additional authors.

global_planner_tests

This package provides an array of tests for implementations of the nav_core2::GlobalPlanner interface. By making this package a test_depend of your implementation, you can easily write tests that run a fairly comprehensive suite of tests for your planner.

Example

For the highest view of a planner’s functionality, simply run a test against global_planner_tests::many_map_test_suite.

#include <global_planner_tests/many_map_test_suite.h>
#include <your_planner/your_planner.h>
#include <ros/ros.h>
#include <gtest/gtest.h>
#include <string>

TEST(YourPlanner, simple_planner_test)
{
  TFListenerPtr tf = std::make_shared<tf2_ros::Buffer>();
  your_planner::YourPlanner planner;
  EXPECT_TRUE(global_planner_tests::many_map_test_suite(planner, tf, "your_planner_namespace"));
}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "planner_tests");
  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

The Tests

This package contains a collection of image files (in the maps directory) that are used as static maps. For most of the maps, the following tests will be run.

  • Check if a plan is generated from every free cell in the map to every other free cell in the map (checkValidPathCoverage())
  • Check if planning to or from cells that are occupied in the costmap results in the appropriate exception being thrown. (checkOccupiedPathCoverage())
  • Check if planning to or from cells outside the costmap results in the appropriate exception being thrown. (checkOutOfBoundsPathCoverage())

Collectively, these tests are run with hasCompleteCoverage()

The one exception is with the nopaths.png map, which instead will

  • Check if the planning from any of the free cells to any other free cell results in the appropriate exception being thrown. (hasNoPaths())

You can run all the tests listed above with the appropriate maps using the many_map_test_suite mentioned in the example, or you can customize the maps and functions called using the global_planner_tests library directly.

Executables

For debugging, this package provides three executable nodes.

  • gpt_node - Runs hasCompleteCoverage() with a planner loaded from pluginlib. The map used is also configurable on the parameter server.
  • many_map_node - Runs many_map_test_suite with a planner loaded from pluginlib
  • heatmap_node - Runs a variation on checkValidPathCoverage() that prints a heatmap to the console with which cells in the map were frequently unable to get paths planned to/from them. Useful for annoying corner cases where your planner fails. Definitely NOT speaking from experience.

### Example Heatmap

...............
.. 9         ..
.             .
.             .
.  .     .    .
.             .
.             .
.             .
.             .
. .        .  .
.  .      .   .
.   ......    .
.             .
..      44   ..
...............

Legend:

  • . - Cell is an obstacle
  • (space) - No problems planning to or from this cell
  • (#) - If the digit in the cell is X, greater than 10*X percent of the failures came to/from this cell. In the above example, 100% of the failures involved the top cell with a 9, and 50% involved each of the bottom cells with 4s. Its a little convoluted, but such are the limitations of ASCII art. And it still gets the point across.
CHANGELOG

Changelog for package global_planner_tests

0.1.4 (2018-06-06)

0.1.3 (2018-04-25)

0.1.2 (2018-04-24)

0.1.1 (2018-04-19)

0.1.0 (2018-04-13)

0.0.7 (2018-04-09)

0.0.6 (2018-02-15)

0.0.5 (2018-02-01)

  • Bump version number
  • Global Planner Exceptions and Tests (#19)
    • Global Planner Exceptions and Tests
    • Code review fixes v.1
    • Additional exception constructors
    • Add roslint tests
    • Code Review
    • Update dependencies/installs
    • Const refs for everyone
  • Contributors: David V. Lu, David V. Lu!!

0.0.4 (2018-01-26)

0.0.3 (2017-11-08)

0.0.2 (2017-10-12)

0.0.1 (2017-10-10)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged global_planner_tests at Robotics Stack Exchange

No version for distro galactic. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.3.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/locusrobotics/robot_navigation.git
VCS Type git
VCS Version melodic
Last Updated 2021-07-30
Dev Status DEVELOPED
CI status
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

A collection of tests for checking the validity and completeness of global planners.

Additional Links

No additional links.

Maintainers

  • David V. Lu!!

Authors

No additional authors.

global_planner_tests

This package provides an array of tests for implementations of the nav_core2::GlobalPlanner interface. By making this package a test_depend of your implementation, you can easily write tests that run a fairly comprehensive suite of tests for your planner.

Example

For the highest view of a planner’s functionality, simply run a test against global_planner_tests::many_map_test_suite.

#include <global_planner_tests/many_map_test_suite.h>
#include <your_planner/your_planner.h>
#include <ros/ros.h>
#include <gtest/gtest.h>
#include <string>

TEST(YourPlanner, simple_planner_test)
{
  TFListenerPtr tf = std::make_shared<tf2_ros::Buffer>();
  your_planner::YourPlanner planner;
  EXPECT_TRUE(global_planner_tests::many_map_test_suite(planner, tf, "your_planner_namespace"));
}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "planner_tests");
  testing::InitGoogleTest(&argc, argv);
  return RUN_ALL_TESTS();
}

The Tests

This package contains a collection of image files (in the maps directory) that are used as static maps. For most of the maps, the following tests will be run.

  • Check if a plan is generated from every free cell in the map to every other free cell in the map (checkValidPathCoverage())
  • Check if planning to or from cells that are occupied in the costmap results in the appropriate exception being thrown. (checkOccupiedPathCoverage())
  • Check if planning to or from cells outside the costmap results in the appropriate exception being thrown. (checkOutOfBoundsPathCoverage())

Collectively, these tests are run with hasCompleteCoverage()

The one exception is with the nopaths.png map, which instead will

  • Check if the planning from any of the free cells to any other free cell results in the appropriate exception being thrown. (hasNoPaths())

You can run all the tests listed above with the appropriate maps using the many_map_test_suite mentioned in the example, or you can customize the maps and functions called using the global_planner_tests library directly.

Executables

For debugging, this package provides three executable nodes.

  • gpt_node - Runs hasCompleteCoverage() with a planner loaded from pluginlib. The map used is also configurable on the parameter server.
  • many_map_node - Runs many_map_test_suite with a planner loaded from pluginlib
  • heatmap_node - Runs a variation on checkValidPathCoverage() that prints a heatmap to the console with which cells in the map were frequently unable to get paths planned to/from them. Useful for annoying corner cases where your planner fails. Definitely NOT speaking from experience.

### Example Heatmap

...............
.. 9         ..
.             .
.             .
.  .     .    .
.             .
.             .
.             .
.             .
. .        .  .
.  .      .   .
.   ......    .
.             .
..      44   ..
...............

Legend:

  • . - Cell is an obstacle
  • (space) - No problems planning to or from this cell
  • (#) - If the digit in the cell is X, greater than 10*X percent of the failures came to/from this cell. In the above example, 100% of the failures involved the top cell with a 9, and 50% involved each of the bottom cells with 4s. Its a little convoluted, but such are the limitations of ASCII art. And it still gets the point across.
CHANGELOG

Changelog for package global_planner_tests

0.1.4 (2018-06-06)

0.1.3 (2018-04-25)

0.1.2 (2018-04-24)

0.1.1 (2018-04-19)

0.1.0 (2018-04-13)

0.0.7 (2018-04-09)

0.0.6 (2018-02-15)

0.0.5 (2018-02-01)

  • Bump version number
  • Global Planner Exceptions and Tests (#19)
    • Global Planner Exceptions and Tests
    • Code review fixes v.1
    • Additional exception constructors
    • Add roslint tests
    • Code Review
    • Update dependencies/installs
    • Const refs for everyone
  • Contributors: David V. Lu, David V. Lu!!

0.0.4 (2018-01-26)

0.0.3 (2017-11-08)

0.0.2 (2017-10-12)

0.0.1 (2017-10-10)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Dependant Packages

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged global_planner_tests at Robotics Stack Exchange