# aeplanner **Repository Path**: Liaiscn/aeplanner ## Basic Information - **Project Name**: aeplanner - **Description**: 自主探索规划器 - aeplanner - **Primary Language**: Unknown - **License**: BSD-3-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-04 - **Last Updated**: 2023-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Autonomous Exploration Planner - aeplanner aeplanner is an exploration planning package for 3d environments. It subscribes to an [OctoMap](https://octomap.github.io/) and will propose waypoints that maximizes the information gain while minimizing the traversed distance. For a more detailed description see our paper. Use aeplanner? If you are using aeplanner, please cite our paper **Efficient Autonomous Exploration Planning of Large-Scale 3-D Environments** in IEEE Robotics and Automation Letters, vol. 4, no. 2, pp. 1699-1706, April 2019. BibTeX: ``` @ARTICLE{8633925, author={M. {Selin} and M. {Tiger} and D. {Duberg} and F. {Heintz} and P. {Jensfelt}}, journal={IEEE Robotics and Automation Letters}, title={Efficient Autonomous Exploration Planning of Large-Scale 3-D Environments}, year={2019}, volume={4}, number={2}, pages={1699-1706}, keywords={Planning;Sensors;Uncertainty;Drones;Mobile robots;Path planning;Search and rescue robots;motion and path planning;mapping}, doi={10.1109/LRA.2019.2897343}, ISSN={2377-3766}, month={April},} ``` ## System Requirements This repository has been tested with: ``` Ubuntu 16.04 ROS Kinetic (Desktop full installation) catkin tools catkin simple OctoMap ``` it might work with other setups, but no guarantees are given. ## Assumptions 1. You are running `Ubuntu 16.04` 2. You are using bash, zsh is also possible with some [modifications](https://github.com/mseln/aeplanner/wiki/Use-zsh-instead-of-bash). 3. You have `ros-kinetic-desktop-installed`, otherwise follow installation instructions [here](http://wiki.ros.org/kinetic/Installation/Ubuntu) 4. You have created a workspace in `~/catkin_ws`, without running `catkin_make`. If in another location [these](https://github.com/mseln/aeplanner/wiki/Other-location-than-~-catkin_ws) things need to be modified. 5. You have installed [`catkin tools`](https://catkin-tools.readthedocs.io/en/latest/installing.html) ## Installation of dependencies 1. You have installed [`octomap`](http://wiki.ros.org/octomap) if not install it by running `sudo apt-get install "ros-kinetic-octomap-*"` or install from source. 2. Catkin simple is needed to build the rtree package ``` cd ~/catkin_ws/src git clone https://github.com/catkin/catkin_simple.git ``` 3. PIGain depends on rtree which in turn needs libspatialindex (note this rtree is different from the one above). ``` pip install rtree sudo apt-get install libspatialindex-dev ``` ## Setup workspace If you do not already have a workspace, set up a new one. ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws catkin init catkin build ``` ## Setup aeplanner Clone this package (make sure that you are in catkin_ws/src) ``` cd ~/catkin_ws/src/ git clone https://github.com/mseln/aeplanner.git cd .. catkin build ``` ## Simulation environment To run the example directly without having to integrate the interface, the kth uav simulation package can be installed, see: ``` https://github.com/danielduberg/kth_uav ``` Read the Assumptions and follow the install instructions on that page. #### Troubleshooting installation of kth_uav If you get `couldn't find python module jinja2:` install jinja2 by running: ``` sudo apt-get install python-jinja2 ``` If you get `No rule to make target '/home/rpl/catkin_ws/src/kth_uav/Firmware/Tools/sitl_gazebo/PROTOBUF_PROTOC_EXECUTABLE-NOTFOUND', needed by 'Groundtruth.pb.cc'. Stop.`, install libprotobuf by running: ``` sudo apt-get install protobuf-compiler ``` If you get `ImportError: No module named future` install it by running: ``` pip install future ``` If you get `Could not find a package configuration file provided by "geographic_msgs" with any of the following names:` install it by running: ``` sudo apt-get install ros-kinetic-geographic-msgs ``` If you get `Could NOT find GeographicLib (missing: GeographicLib_LIBRARIES GeographicLib_INCLUDE_DIRS)` fix it by installing: ``` sudo apt-get install libgeographic-dev ``` If gazebo is complaining about `GeographicLib exception: File not readable /usr/share/GeographicLib/geoids/egm96-5.pgm`, install `geographiclib-tools` and run the install script again. ``` sudo apt-get install geographiclib-tools sudo ./kth_uav/mavros/mavros/scripts/install_geographiclib_datasets.sh ``` When running `roslaunch simulation simulation.launch` if you get `Arg xml is ` fix it by changing line 14 and 15 in `kth_uav/Firmware/launch/mavros_posix_sitl.launch` to ``` ``` do the same with line in file 12 and 13 `kth_uav/Firmware/launch/posix_sitl.launch`.