diff --git a/README.md b/README.md index 2b59963..22ba718 100644 --- a/README.md +++ b/README.md @@ -34,15 +34,15 @@ cd ~/RDC_Simulation **Terminal 2 - Start ArduCopter SITL:** ```bash -source ~/venv-ardupilot/bin/activate +source ~/.ardupilot_env sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console # Wait for "JSON received:" messages (shows Gazebo is connected) ``` **Terminal 3 - Run Controller:** ```bash -source ~/venv-ardupilot/bin/activate cd ~/RDC_Simulation +source activate.sh python scripts/run_ardupilot.py --pattern square ``` @@ -96,7 +96,7 @@ Gazebo isn't sending data to SITL. ### "empy not found" or wrong Python Wrong virtual environment. ```bash -source ~/venv-ardupilot/bin/activate +source ~/.ardupilot_env pip install empy==3.3.4 ``` diff --git a/docs/ardupilot.md b/docs/ardupilot.md index b201dda..08b6725 100644 --- a/docs/ardupilot.md +++ b/docs/ardupilot.md @@ -25,7 +25,7 @@ Wait until the drone appears in the 3D view! ### Terminal 2: Start ArduCopter SITL ```bash -source ~/venv-ardupilot/bin/activate +source ~/.ardupilot_env sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console ``` @@ -36,8 +36,8 @@ You should see: ### Terminal 3: Run Controller ```bash -source ~/venv-ardupilot/bin/activate cd ~/RDC_Simulation +source activate.sh python scripts/run_ardupilot.py --pattern square ``` diff --git a/docs/drone_guide.md b/docs/drone_guide.md index 35d44bc..e93a320 100644 --- a/docs/drone_guide.md +++ b/docs/drone_guide.md @@ -8,8 +8,8 @@ The `DroneController` class (`src/drone_controller.py`) provides a simple interf ```bash # Activate environment first -source ~/venv-ardupilot/bin/activate cd ~/RDC_Simulation +source activate.sh # Run flight patterns python scripts/run_ardupilot.py --pattern square diff --git a/docs/installation.md b/docs/installation.md index 2a1e591..910ce68 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -91,8 +91,8 @@ macOS doesn't support Gazebo Harmonic. Options: ## Verify Installation ```bash -# Check ArduPilot virtual environment -source ~/venv-ardupilot/bin/activate +# Check ArduPilot environment +source ~/.ardupilot_env python -c "import em; print('empy: OK')" which sim_vehicle.py @@ -114,15 +114,15 @@ Wait for the drone to appear! ### Terminal 2 - SITL ```bash -source ~/venv-ardupilot/bin/activate +source ~/.ardupilot_env sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console ``` Wait for "JSON received:" messages. ### Terminal 3 - Controller ```bash -source ~/venv-ardupilot/bin/activate cd ~/RDC_Simulation +source activate.sh python scripts/run_ardupilot.py --pattern square ``` @@ -131,7 +131,7 @@ python scripts/run_ardupilot.py --pattern square ### "empy not found" ```bash -source ~/venv-ardupilot/bin/activate +source ~/.ardupilot_env pip install empy==3.3.4 ``` diff --git a/scripts/run_ardupilot_controller.sh b/scripts/run_ardupilot_controller.sh index 436947f..769921c 100755 --- a/scripts/run_ardupilot_controller.sh +++ b/scripts/run_ardupilot_controller.sh @@ -29,8 +29,9 @@ if [ -f "$HOME/.ardupilot_env" ]; then source "$HOME/.ardupilot_env" fi -if [ -f "$HOME/venv-ardupilot/bin/activate" ]; then - source "$HOME/venv-ardupilot/bin/activate" +# Activate project venv +if [ -f "$PROJECT_DIR/venv/bin/activate" ]; then + source "$PROJECT_DIR/venv/bin/activate" fi echo "==============================================" diff --git a/scripts/run_ardupilot_sim.sh b/scripts/run_ardupilot_sim.sh index 96b9279..bb7830c 100755 --- a/scripts/run_ardupilot_sim.sh +++ b/scripts/run_ardupilot_sim.sh @@ -108,13 +108,13 @@ echo "==============================================" echo "" echo "After Gazebo loads, open a NEW terminal and run:" echo "" -echo " source ~/venv-ardupilot/bin/activate" +echo " source ~/.ardupilot_env" echo " sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console" echo "" echo "Then open ANOTHER terminal to run the controller:" echo "" -echo " source ~/venv-ardupilot/bin/activate" echo " cd ~/RDC_Simulation" +echo " source activate.sh" echo " python scripts/run_ardupilot.py --pattern square" echo "" echo "==============================================" diff --git a/scripts/run_flight_demo.sh b/scripts/run_flight_demo.sh index e898782..228e369 100755 --- a/scripts/run_flight_demo.sh +++ b/scripts/run_flight_demo.sh @@ -58,8 +58,9 @@ if [ -f "$HOME/.ardupilot_env" ]; then source "$HOME/.ardupilot_env" fi -if [ -f "$HOME/venv-ardupilot/bin/activate" ]; then - source "$HOME/venv-ardupilot/bin/activate" +# Activate project venv +if [ -f "$PROJECT_DIR/venv/bin/activate" ]; then + source "$PROJECT_DIR/venv/bin/activate" fi echo "==============================================" diff --git a/setup/install_arch.sh b/setup/install_arch.sh index 139ed50..5056fa1 100755 --- a/setup/install_arch.sh +++ b/setup/install_arch.sh @@ -134,13 +134,8 @@ if [ -n "$VIRTUAL_ENV" ]; then deactivate 2>/dev/null || true fi -# Activate ArduPilot venv (has empy and other dependencies) -# This is preferred over project venv for ArduPilot compatibility -if [ -f "$HOME/venv-ardupilot/bin/activate" ]; then - source "$HOME/venv-ardupilot/bin/activate" - echo "[OK] ArduPilot venv" -# Fallback to project venv only if ArduPilot not installed -elif [ -f "$SCRIPT_DIR/venv/bin/activate" ]; then +# Activate project venv +if [ -f "$SCRIPT_DIR/venv/bin/activate" ]; then source "$SCRIPT_DIR/venv/bin/activate" echo "[OK] Python venv activated" fi @@ -193,12 +188,12 @@ echo " cd ~/RDC_Simulation" echo " ./scripts/run_ardupilot_sim.sh runway" echo "" echo "Terminal 2 - Start ArduCopter SITL:" -echo " source ~/venv-ardupilot/bin/activate" +echo " source ~/.ardupilot_env" echo " sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console" echo "" echo "Terminal 3 - Run Controller:" -echo " source ~/venv-ardupilot/bin/activate" echo " cd ~/RDC_Simulation" +echo " source activate.sh" echo " python scripts/run_ardupilot.py --pattern square" echo "" echo "==============================================" diff --git a/setup/install_ardupilot.sh b/setup/install_ardupilot.sh index 01063dd..517bef6 100755 --- a/setup/install_ardupilot.sh +++ b/setup/install_ardupilot.sh @@ -67,13 +67,10 @@ cd "$ARDUPILOT_HOME" Tools/environment_install/install-prereqs-ubuntu.sh -y . ~/.profile || true -# Source ArduPilot environment (includes venv with empy) +# Source ArduPilot environment (created by install-prereqs-ubuntu.sh) if [ -f "$HOME/.ardupilot_env" ]; then source "$HOME/.ardupilot_env" fi -if [ -f "$HOME/venv-ardupilot/bin/activate" ]; then - source "$HOME/venv-ardupilot/bin/activate" -fi # Build ArduCopter SITL (without DDS to avoid complexity) ./waf configure --board sitl diff --git a/setup/install_ubuntu.sh b/setup/install_ubuntu.sh index bfde962..0498a3b 100755 --- a/setup/install_ubuntu.sh +++ b/setup/install_ubuntu.sh @@ -188,13 +188,8 @@ if [ -n "$VIRTUAL_ENV" ]; then deactivate 2>/dev/null || true fi -# Activate ArduPilot venv (has empy and other dependencies) -# This is preferred over project venv for ArduPilot compatibility -if [ -f "$HOME/venv-ardupilot/bin/activate" ]; then - source "$HOME/venv-ardupilot/bin/activate" - echo "[OK] ArduPilot venv" -# Fallback to project venv only if ArduPilot not installed -elif [ -f "$SCRIPT_DIR/venv/bin/activate" ]; then +# Activate project venv +if [ -f "$SCRIPT_DIR/venv/bin/activate" ]; then source "$SCRIPT_DIR/venv/bin/activate" echo "[OK] Python venv" fi @@ -241,10 +236,10 @@ if [ "$INSTALL_ARDUPILOT" = true ]; then echo "" echo "[INFO] Installing ArduPilot SITL..." - if [ -f "$SCRIPT_DIR/setup/install_ardupilot.sh" ]; then - bash "$SCRIPT_DIR/setup/install_ardupilot.sh" + if [ -f "$SCRIPT_DIR/install_ardupilot.sh" ]; then + bash "$SCRIPT_DIR/install_ardupilot.sh" else - echo "[ERROR] install_ardupilot.sh not found!" + echo "[ERROR] install_ardupilot.sh not found at $SCRIPT_DIR/" fi fi @@ -260,12 +255,12 @@ echo " cd ~/RDC_Simulation" echo " ./scripts/run_ardupilot_sim.sh runway" echo "" echo "Terminal 2 - Start ArduCopter SITL:" -echo " source ~/venv-ardupilot/bin/activate" +echo " source ~/.ardupilot_env" echo " sim_vehicle.py -v ArduCopter -f gazebo-iris --model JSON --console" echo "" echo "Terminal 3 - Run Controller:" -echo " source ~/venv-ardupilot/bin/activate" echo " cd ~/RDC_Simulation" +echo " source activate.sh" echo " python scripts/run_ardupilot.py --pattern square" echo "" if [ "$INSTALL_ARDUPILOT" != true ]; then