63 lines
2.1 KiB
Bash
Executable File
63 lines
2.1 KiB
Bash
Executable File
#!/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" |