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.launch

Compare 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.

Repository and full setup notes ↗