Gazebo Script Fixes

This commit is contained in:
2026-02-09 04:00:11 +00:00
parent 21b298faa2
commit e70d4a8fcd
3 changed files with 159 additions and 65 deletions

View File

@@ -1,11 +1,61 @@
#!/bin/bash
# Activate virtual environment and setup for UAV-UGV Simulation
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/venv/bin/activate"
source /opt/ros/humble/setup.bash
if [ -f "$SCRIPT_DIR/install/setup.bash" ]; then
# Detect ROS distro
ROS_DISTRO=""
for distro in humble jazzy iron galactic; do
if [ -d "/opt/ros/$distro" ]; then
ROS_DISTRO="$distro"
break
fi
done
# Source ROS 2
if [ -n "$ROS_DISTRO" ] && [ -f "/opt/ros/${ROS_DISTRO}/setup.bash" ]; then
source /opt/ros/${ROS_DISTRO}/setup.bash
fi
# Source Gazebo setup (critical for shader/resource paths)
if [ -f /usr/share/gazebo/setup.bash ]; then
source /usr/share/gazebo/setup.bash
elif [ -f /usr/share/gazebo-11/setup.bash ]; then
source /usr/share/gazebo-11/setup.bash
fi
# Activate Python virtual environment
if [ -f "$SCRIPT_DIR/venv/bin/activate" ]; then
source "$SCRIPT_DIR/venv/bin/activate"
fi
# Source ROS workspace if built
if [ -f "$SCRIPT_DIR/../install/setup.bash" ]; then
source "$SCRIPT_DIR/../install/setup.bash"
elif [ -f "$SCRIPT_DIR/install/setup.bash" ]; then
source "$SCRIPT_DIR/install/setup.bash"
fi
export GAZEBO_MODEL_PATH="$SCRIPT_DIR/models:$GAZEBO_MODEL_PATH"
export GAZEBO_RESOURCE_PATH="$SCRIPT_DIR/worlds:$GAZEBO_RESOURCE_PATH"
echo "Environment activated."
# Gazebo model and resource paths
export GAZEBO_MODEL_PATH="$SCRIPT_DIR/models:${GAZEBO_MODEL_PATH:-}"
export GAZEBO_RESOURCE_PATH="$SCRIPT_DIR/worlds:${GAZEBO_RESOURCE_PATH:-}"
# ArduPilot Gazebo (if installed)
if [ -d "$HOME/ardupilot_gazebo" ]; then
export GAZEBO_MODEL_PATH="$HOME/ardupilot_gazebo/models:$GAZEBO_MODEL_PATH"
export GAZEBO_RESOURCE_PATH="$HOME/ardupilot_gazebo/worlds:$GAZEBO_RESOURCE_PATH"
fi
# WSL environment (if applicable)
if grep -qEi "(microsoft|wsl)" /proc/version 2>/dev/null; then
if [ -f "$SCRIPT_DIR/wsl_env.sh" ]; then
source "$SCRIPT_DIR/wsl_env.sh"
fi
fi
echo -e "\033[0;32mEnvironment activated (ROS 2 ${ROS_DISTRO:-not found})\033[0m"
echo "Run: bash scripts/run_simulation.sh"
echo ""
echo "Options:"
echo " bash scripts/run_simulation.sh # Default world"
echo " bash scripts/run_simulation.sh --software-render # For WSL/rendering issues"