Camera Sim Update
This commit is contained in:
31
setup.sh
31
setup.sh
@@ -247,6 +247,11 @@ if sudo apt-get install -y gz-harmonic 2>/dev/null; then
|
||||
libgz-msgs10-dev \
|
||||
rapidjson-dev \
|
||||
2>/dev/null || print_warning "Some Gazebo dev packages may be missing"
|
||||
# Install Gazebo Python bindings (needed for camera/vision scripts)
|
||||
sudo apt-get install -y \
|
||||
python3-gz-transport13 \
|
||||
python3-gz-msgs10 \
|
||||
2>/dev/null || print_warning "Gazebo Python bindings not available via apt"
|
||||
elif sudo apt-get install -y gz-garden 2>/dev/null; then
|
||||
GZ_VERSION="garden"
|
||||
# Install Garden development packages
|
||||
@@ -262,6 +267,11 @@ elif sudo apt-get install -y gz-garden 2>/dev/null; then
|
||||
libgz-msgs9-dev \
|
||||
rapidjson-dev \
|
||||
2>/dev/null || print_warning "Some Gazebo dev packages may be missing"
|
||||
# Install Gazebo Python bindings for Garden
|
||||
sudo apt-get install -y \
|
||||
python3-gz-transport12 \
|
||||
python3-gz-msgs9 \
|
||||
2>/dev/null || print_warning "Gazebo Python bindings not available via apt"
|
||||
else
|
||||
print_warning "Could not install Gazebo Harmonic/Garden"
|
||||
GZ_VERSION="none"
|
||||
@@ -283,7 +293,10 @@ if [ -d "$SCRIPT_DIR/venv" ]; then
|
||||
rm -rf "$SCRIPT_DIR/venv"
|
||||
fi
|
||||
|
||||
python3 -m venv "$SCRIPT_DIR/venv"
|
||||
# --system-site-packages is required so the venv can access
|
||||
# Gazebo Python bindings (gz.transport13, gz.msgs10) which are
|
||||
# installed as system packages and cannot be pip-installed.
|
||||
python3 -m venv --system-site-packages "$SCRIPT_DIR/venv"
|
||||
source "$SCRIPT_DIR/venv/bin/activate"
|
||||
pip install --upgrade pip
|
||||
|
||||
@@ -357,7 +370,7 @@ fi
|
||||
|
||||
echo -e "\033[0;32mEnvironment activated (ROS 2 $ROS_VER)\033[0m"
|
||||
echo ""
|
||||
echo "Run simulation: bash scripts/run_simulation.sh"
|
||||
echo "Run simulation: bash scripts/run_autonomous.sh --mission hover"
|
||||
ACTIVATE_EOF
|
||||
|
||||
chmod +x "$SCRIPT_DIR/activate_venv.sh"
|
||||
@@ -478,6 +491,18 @@ if [ "$INSTALL_ARDUPILOT" = true ]; then
|
||||
command -v gz &> /dev/null && echo "[OK] Gazebo (gz)" || echo "[WARN] Gazebo not found"
|
||||
command -v mavproxy.py &> /dev/null && echo "[OK] MAVProxy" || echo "[WARN] MAVProxy not in PATH"
|
||||
[ -f "$ARDUPILOT_GZ/build/libArduPilotPlugin.so" ] && echo "[OK] ArduPilot Gazebo plugin" || echo "[WARN] Plugin not built"
|
||||
|
||||
# Verify Gazebo Python bindings are accessible from venv
|
||||
source "$SCRIPT_DIR/venv/bin/activate"
|
||||
python3 -c "from gz.transport13 import Node; print('[OK] gz.transport13 Python bindings')" 2>/dev/null || \
|
||||
echo "[WARN] gz.transport13 Python bindings not found"
|
||||
python3 -c "from gz.msgs10.image_pb2 import Image; print('[OK] gz.msgs10 Python bindings')" 2>/dev/null || \
|
||||
echo "[WARN] gz.msgs10 Python bindings not found"
|
||||
python3 -c "import pymavlink; print('[OK] pymavlink')" 2>/dev/null || \
|
||||
echo "[WARN] pymavlink not found in venv"
|
||||
python3 -c "import cv2; print(f'[OK] OpenCV {cv2.__version__}')" 2>/dev/null || \
|
||||
echo "[WARN] OpenCV not found in venv"
|
||||
deactivate
|
||||
((STEP++))
|
||||
|
||||
fi
|
||||
@@ -513,6 +538,6 @@ echo -e "${CYAN}To run the simulation:${NC}"
|
||||
echo ""
|
||||
echo " cd $SCRIPT_DIR"
|
||||
echo " source activate_venv.sh"
|
||||
echo " bash scripts/run_simulation.sh"
|
||||
echo " bash scripts/run_autonomous.sh --mission hover"
|
||||
echo ""
|
||||
echo -e "${GREEN}==========================================${NC}"
|
||||
|
||||
Reference in New Issue
Block a user