Reproduction Guide
The Historical Environment.
The original experiments used Ubuntu 14.04.5 LTS, ROS Indigo and Gazebo 2.2.6. The controllers use Python 2 syntax and an older scientific Python stack. This refresh has not rebuilt or rerun the ROS experiments.
Dependencies
The implementation relies on TurtleBot 2 packages, ar_pose, ardrone_autonomy, tum_simulator, crsm_slam and the art_ogmpp planner. Source imports also require compatible versions of NumPy, SciPy, OpenCV/cv_bridge, scikit-image, Numba and CFFI. Exact historical versions were not pinned.
Launch
Place the repository and external ROS packages in a compatible catkin workspace. Back up the TurtleBot description, then merge the supplied marker files into its corresponding paths. Build with catkin_make and source the workspace.
source ~/catkin_ws/devel/setup.bash
roslaunch experiments both_exploration.launch
# Ground-only baseline, in a separate run:
roslaunch experiments turtlebot_exploration.launchCompare Like with Like
The cooperative launch defaults to Space 2; the baseline defaults to Space 1. Select the same world and matching map extents in the launch/YAML files before comparing strategies. Keep the objective and initial poses consistent.
limit_exploration enables aerial boundary scouting; color_rating enables candidate-target evaluation. map_discovery_purpose selects exploration, coverage or the combined objective.
Outputs and Current Checks
Logs now default to ~/.ros/uav_ugv/Monitoring_Progress.txt; optional images use ~/.ros/uav_ugv/images. Parent directories are created automatically. Preserve each run before restarting: the progress log and diagnostic filenames are reused.
Static checks cover local page assets, launch XML, package-relative paths and the removal of machine-specific output paths. Runtime behavior and reproducibility still require the historical ROS environment.