This GUI application is designed to test a 3D reactive navigator. It simulates a “2.5D world” where obstacles are modeled through several occupancy grid maps at different heights. The robot shape can be customized and 2D or 3D range sensors can be “added” to the robot at any 3D relative pose. During its execution, the user sets different target locations for running reactive navigation simulations.
Note that navigation logs generated by this simulator (as well as from real robots using these classes) can be inspected with the program navlog-viewer.
2. Underlying classes
This application uses the following main classes from the MRPT C++ library:
- mrpt::slam::COccupancyGridMap2D: To store the grid map and simulate 2D laser scans.
- mrpt::nav::CReactiveNavigationSystem3D: This is the main reactive navigation engine.
- mrpt::utils::CRobotSimulator: To simulate the behaviour of a real robot.
The source code for this application is in the directory “apps/ReactiveNav3D-Demo” of the MRPT tree.
3. Command line options
Although this is mainly an interactive program with a GUI and doesn’t need any argument to be run, some useful functionalities can be called by means of command line arguments. By invoking ReactiveNav3D-Demo –help you will obtain the list of accepted arguments:
ReactiveNav3D-Demo [-h] [-c] [-cc ] [-s]
Display usage information and exit.
-c, --config FILE.txt
Load FILE.txt as config file (instead of using defaul parameters).
-cc, --create-config FILE.txt
Save the default config parameters as FILE.txt and exit.
-s , --save-logfile
Enable saving a logfile with navigation data.