Initial Commit
This commit is contained in:
19
scripts/kill_simulation.sh
Executable file
19
scripts/kill_simulation.sh
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Killing all simulation processes..."
|
||||
|
||||
pkill -9 -f "gazebo" 2>/dev/null || true
|
||||
pkill -9 -f "gzserver" 2>/dev/null || true
|
||||
pkill -9 -f "gzclient" 2>/dev/null || true
|
||||
pkill -9 -f "sim_vehicle.py" 2>/dev/null || true
|
||||
pkill -9 -f "mavproxy" 2>/dev/null || true
|
||||
pkill -9 -f "mavros" 2>/dev/null || true
|
||||
pkill -9 -f "ArduCopter" 2>/dev/null || true
|
||||
pkill -9 -f "ArduRover" 2>/dev/null || true
|
||||
pkill -9 -f "ros2" 2>/dev/null || true
|
||||
|
||||
sleep 1
|
||||
|
||||
echo "All processes killed."
|
||||
echo "Remaining ROS nodes:"
|
||||
ros2 node list 2>/dev/null || echo "No ROS nodes running"
|
||||
53
scripts/run_simulation.sh
Executable file
53
scripts/run_simulation.sh
Executable file
@@ -0,0 +1,53 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
|
||||
echo "=========================================="
|
||||
echo "UAV-UGV Simulation - Run Script"
|
||||
echo "GPS-Denied Navigation with Geofencing"
|
||||
echo "=========================================="
|
||||
|
||||
WORLD="${1:-$PROJECT_DIR/worlds/empty_custom.world}"
|
||||
|
||||
if [ ! -f "$WORLD" ]; then
|
||||
echo "World file not found: $WORLD"
|
||||
echo "Using default world..."
|
||||
WORLD="$PROJECT_DIR/worlds/empty_custom.world"
|
||||
fi
|
||||
|
||||
export GAZEBO_MODEL_PATH="$PROJECT_DIR/models:$GAZEBO_MODEL_PATH"
|
||||
export GAZEBO_RESOURCE_PATH="$PROJECT_DIR/worlds:$GAZEBO_RESOURCE_PATH"
|
||||
|
||||
if command -v nvidia-smi &> /dev/null; then
|
||||
echo "NVIDIA GPU detected, enabling acceleration..."
|
||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
fi
|
||||
|
||||
cleanup() {
|
||||
echo ""
|
||||
echo "Shutting down simulation..."
|
||||
pkill -f "gazebo" 2>/dev/null || true
|
||||
pkill -f "sim_vehicle.py" 2>/dev/null || true
|
||||
pkill -f "mavros" 2>/dev/null || true
|
||||
echo "Cleanup complete."
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
echo "Starting simulation with world: $WORLD"
|
||||
echo ""
|
||||
|
||||
if [ -f "$PROJECT_DIR/venv/bin/activate" ]; then
|
||||
source "$PROJECT_DIR/venv/bin/activate"
|
||||
fi
|
||||
|
||||
source /opt/ros/humble/setup.bash 2>/dev/null || true
|
||||
|
||||
if [ -f "$PROJECT_DIR/install/setup.bash" ]; then
|
||||
source "$PROJECT_DIR/install/setup.bash"
|
||||
fi
|
||||
|
||||
ros2 launch uav_ugv_simulation full_simulation.launch.py world:="$WORLD"
|
||||
25
scripts/setup_gazebo_nvidia.sh
Executable file
25
scripts/setup_gazebo_nvidia.sh
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Setting up NVIDIA GPU for Gazebo..."
|
||||
|
||||
if ! command -v nvidia-smi &> /dev/null; then
|
||||
echo "NVIDIA driver not found. Skipping GPU setup."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "NVIDIA GPU detected:"
|
||||
nvidia-smi --query-gpu=name,driver_version --format=csv,noheader
|
||||
|
||||
export __NV_PRIME_RENDER_OFFLOAD=1
|
||||
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
||||
export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
|
||||
|
||||
if [ -f /usr/lib/x86_64-linux-gnu/libEGL_nvidia.so.0 ]; then
|
||||
export __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json
|
||||
fi
|
||||
|
||||
echo "NVIDIA GPU environment configured."
|
||||
echo ""
|
||||
echo "Add these to your ~/.bashrc for permanent setup:"
|
||||
echo " export __NV_PRIME_RENDER_OFFLOAD=1"
|
||||
echo " export __GLX_VENDOR_LIBRARY_NAME=nvidia"
|
||||
Reference in New Issue
Block a user