gazebo_world_manager/scene/grasp-box/launch.sh
2025-08-10 11:58:37 +08:00

63 lines
2.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 检查 Python3 是否安装
if ! command -v python3 &> /dev/null; then
echo -e "\033[31m错误未找到 Python3请确保已安装 Python3\033[0m"
exit 1
fi
# 检查 ROS 是否安装
if ! command -v roslaunch &> /dev/null; then
echo -e "\033[31m错误未找到 roslaunch请确保已安装 ROS\033[0m"
exit 1
fi
# 执行 kuavo_tf2_web_republisher
echo -e "\033[32m启动 kuavo_tf2_web_republisher...\033[0m"
cd ~/kuavo_ros_application && source devel/setup.bash && roslaunch kuavo_tf2_web_republisher start_websocket_server.launch &
WEB_PID=$!
if [ $? -eq 0 ]; then
echo -e "\033[32mkuavo_tf2_web_republisher 启动成功 (PID: $WEB_PID)\033[0m"
echo "$WEB_PID" >> "$PID_FILE"
else
echo -e "\033[31mkuavo_tf2_web_republisher 启动失败\033[0m"
exit 1
fi
DELAY=5
sleep $DELAY
# 执行 load_kuavo_gazebo_manipulate
echo -e "\033[32m启动 load_kuavo_gazebo_manipulate...\033[0m"
cd ~/kuavo-ros-opensource && source devel/setup.bash && roslaunch humanoid_controllers load_kuavo_gazebo_manipulate.launch joystick_type:=bt2pro &
GAZEBO_PID=$!
if [ $? -eq 0 ]; then
echo -e "\033[32mload_kuavo_gazebo_manipulate 启动成功 (PID: $GAZEBO_PID)\033[0m"
echo "$GAZEBO_PID" >> "$PID_FILE"
else
echo -e "\033[31mload_kuavo_gazebo_manipulate 启动失败\033[0m"
kill $WEB_PID 2>/dev/null
rm "$PID_FILE" 2>/dev/null
exit 1
fi
DELAY=10
sleep $DELAY
# 执行 robot_strategies
echo -e "\033[32m启动 robot_strategies...\033[0m"
cd ~/kuavo-ros-opensource && source devel/setup.bash && roslaunch ar_control robot_strategies.launch &
STRATEGIES_PID=$!
if [ $? -eq 0 ]; then
echo -e "\033[32mrobot_strategies 启动成功 (PID: $STRATEGIES_PID)\033[0m"
echo "$STRATEGIES_PID" >> "$PID_FILE"
else
echo -e "\033[31mrobot_strategies 启动失败\033[0m"
kill $WEB_PID $GAZEBO_PID 2>/dev/null
rm "$PID_FILE" 2>/dev/null
exit 1
fi
# 清理后台进程
echo -e "\033[32m清理后台 ROS 进程...\033[0m"
kill $WEB_PID $GAZEBO_PID $STRATEGIES_PID 2>/dev/null
rm "$PID_FILE" 2>/dev/null
echo -e "\033[32m已删除 PID 文件: $PID_FILE\033[0m"