47 lines
1.3 KiB
Bash
Executable File
47 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
# AGV 拍摄系统完整启动脚本 - ROS2 + Flask
|
|
# 使用方法: ./start_all.sh
|
|
|
|
echo "=== 停止旧进程 ==="
|
|
pkill -f "ros2 launch agv_pro_bringup" 2>/dev/null
|
|
pkill -f "python.*app.py" 2>/dev/null
|
|
sleep 2
|
|
|
|
echo "=== 启动 ROS2 Bringup ==="
|
|
# Source ROS2 环境
|
|
source /opt/ros/humble/setup.bash
|
|
cd /home/elephant/agv_pro_ros2
|
|
source install/setup.bash
|
|
|
|
# 启动 ROS2 bringup (后台运行)
|
|
nohup ros2 launch agv_pro_bringup agv_pro_bringup.launch.py port_name:=/dev/agvpro_controller > /tmp/ros2_bringup.log 2>&1 &
|
|
ROS2_PID=$!
|
|
echo "ROS2 bringup started, PID: $ROS2_PID"
|
|
|
|
# 等待 ROS2 初始化 (AGV节点需要连接串口)
|
|
echo "等待 ROS2 初始化..."
|
|
sleep 5
|
|
|
|
# 检查 ROS2 节点是否启动
|
|
if source /opt/ros/humble/setup.bash && source ~/agv_pro_ros2/install/setup.bash && ros2 node list 2>/dev/null | grep -q agv_pro_node; then
|
|
echo "✅ ROS2 AGV 节点已启动"
|
|
else
|
|
echo "⚠️ ROS2 节点启动可能失败,请检查日志: /tmp/ros2_bringup.log"
|
|
fi
|
|
|
|
echo "=== 启动 Flask ==="
|
|
cd /home/elephant/work/agv_app
|
|
nohup python3 app.py > /tmp/agv_flask.log 2>&1 &
|
|
FLASK_PID=$!
|
|
echo "Flask started, PID: $FLASK_PID"
|
|
|
|
sleep 2
|
|
echo ""
|
|
echo "=== 启动完成 ==="
|
|
echo "ROS2 log: /tmp/ros2_bringup.log"
|
|
echo "Flask log: /tmp/agv_flask.log"
|
|
echo ""
|
|
echo "检查状态:"
|
|
echo " ros2 node list"
|
|
echo " curl http://localhost:5000/api/status"
|