office_gzweb/docker/run_task1.sh

53 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -eo pipefail
source /opt/ros/humble/setup.bash
source /workspaces/vlm_office/install/setup.bash
export TURTLEBOT3_MODEL="${TURTLEBOT3_MODEL:-burger}"
export GZ_SIM_RESOURCE_PATH="/workspaces/vlm_office/src/turtlebot3_simulations/turtlebot3_gazebo/models/turtlebot3_office:/workspaces/vlm_office/src/turtlebot3_simulations/turtlebot3_gazebo/models${GZ_SIM_RESOURCE_PATH:+:$GZ_SIM_RESOURCE_PATH}"
HEADLESS="${HEADLESS:-false}"
ENABLE_RVIZ="${ENABLE_RVIZ:-true}"
PIDS=()
cleanup() {
for pid in "${PIDS[@]:-}"; do
kill "$pid" 2>/dev/null || true
done
wait || true
}
trap cleanup EXIT INT TERM
# Gazebo Sim 8 + TurtleBot3 + ros_gz_bridge (same ROS topics as Classic: /scan /odom /cmd_vel /tf /clock)
ros2 launch turtlebot3_gazebo turtlebot3_office_gz.launch.py \
robot_model:="$TURTLEBOT3_MODEL" \
x_pose:=0.0 y_pose:=0.0 use_sim_time:=true headless:="$HEADLESS" \
show_rviz:=false start_slam:=false &
PIDS+=($!)
sleep 14
ros2 launch nav2_bringup navigation_launch.py use_sim_time:=True &
PIDS+=($!)
sleep 10
ros2 launch slam_toolbox online_async_launch.py use_sim_time:=True &
PIDS+=($!)
sleep 10
if [ "$ENABLE_RVIZ" = "true" ]; then
ros2 run rviz2 rviz2 -d /opt/ros/humble/share/nav2_bringup/rviz/nav2_default_view.rviz &
PIDS+=($!)
sleep 3
fi
ros2 launch explore_lite explore.launch.py use_sim_time:=true &
PIDS+=($!)
wait