office_gzweb/run_office_gzweb.sh

24 lines
799 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
# Gazebo Sim 8 + gz-launch WebSocket :9002 for gzweb.
# Uses office_gz_dartsim.sdf (mesh collisions stripped; dartsim-safe) so the full office scene renders.
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
WORLD="${ROOT}/turtlebot3_simulations/turtlebot3_gazebo/worlds/office_gz_dartsim.sdf"
WS_CONFIG="${ROOT}/websocket.sdf"
PHYSICS="${PHYSICS_ENGINE:-gz-physics-dartsim-plugin}"
export GZ_SIM_RESOURCE_PATH="${HOME}/.gazebo/models:${ROOT}/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_office:${ROOT}/turtlebot3_simulations/turtlebot3_gazebo/models"
gz sim -s -r --physics-engine "${PHYSICS}" "${WORLD}" &
SIM_PID=$!
cleanup() {
kill "${SIM_PID}" 2>/dev/null || true
}
trap cleanup EXIT INT TERM
sleep 2
exec gz launch "${WS_CONFIG}"