Improve camera status and production startup
This commit is contained in:
+25
-9
@@ -46,7 +46,6 @@ info "ok" "清理完成"
|
||||
# 2. 启动 ros2 daemon
|
||||
# ============================================================================
|
||||
step "2/8" "启动 ros2 daemon"
|
||||
source "$ROS_SETUP" 2>/dev/null || true
|
||||
rm -rf "$FASTRTPS_SHM_DIR"/fastrtps_* 2>/dev/null || true
|
||||
start_ros2_daemon || true
|
||||
|
||||
@@ -55,12 +54,16 @@ start_ros2_daemon || true
|
||||
# ============================================================================
|
||||
step "3/8" "启动 AGV Bringup"
|
||||
cd "$AGV_ROS2_DIR"
|
||||
source "$ROS_WORKSPACE_SETUP"
|
||||
|
||||
rm -rf "$FASTRTPS_SHM_DIR"/fastrtps_* 2>/dev/null || true
|
||||
|
||||
nohup bash -c "export ROS_DOMAIN_ID=$ROS_DOMAIN_ID && \
|
||||
ros2 launch agv_pro_bringup agv_pro_bringup.launch.py port_name:=$AGV_CONTROLLER_DEVICE" \
|
||||
nohup bash -c '
|
||||
source "$1" || exit 1
|
||||
source "$2" || exit 1
|
||||
export ROS_DOMAIN_ID="$3"
|
||||
cd "$4" || exit 1
|
||||
ros2 launch agv_pro_bringup agv_pro_bringup.launch.py port_name:="$5"
|
||||
' _ "$ROS_SETUP" "$ROS_WORKSPACE_SETUP" "$ROS_DOMAIN_ID" "$AGV_ROS2_DIR" "$AGV_CONTROLLER_DEVICE" \
|
||||
> "$BRINGUP_LOG" 2>&1 &
|
||||
BRINGUP_PID=$!
|
||||
echo " bringup PID: $BRINGUP_PID"
|
||||
@@ -123,7 +126,7 @@ step "6/8" "启动 Nav2 导航"
|
||||
|
||||
nohup bash -c "source \"$ROS_SETUP\" && source \"$ROS_WORKSPACE_SETUP\" && \
|
||||
export ROS_DOMAIN_ID=$ROS_DOMAIN_ID && \
|
||||
ros2 launch agv_pro_navigation2 navigation2_active.launch.py autostart:=True" \
|
||||
ros2 launch agv_pro_navigation2 navigation2_active.launch.py autostart:=True use_rviz:=False" \
|
||||
> "$NAV2_LOG" 2>&1 &
|
||||
NAV2_PID=$!
|
||||
echo " Nav2 PID: $NAV2_PID"
|
||||
@@ -153,9 +156,22 @@ info "ok" "精度参数已设置"
|
||||
step "8/8" "启动 Flask API"
|
||||
|
||||
cd "$AGV_APP_DIR"
|
||||
nohup uv run --locked python app.py > "$FLASK_LOG" 2>&1 &
|
||||
FLASK_PID=$!
|
||||
echo " Flask PID: $FLASK_PID"
|
||||
UV_EXECUTABLE=$(resolve_uv_bin || true)
|
||||
FLASK_PID=""
|
||||
if [ -z "$UV_EXECUTABLE" ]; then
|
||||
echo " [ERROR] 未找到 uv,可设置 UV_BIN=/path/to/uv"
|
||||
else
|
||||
nohup bash -c '
|
||||
source "$1" || exit 1
|
||||
source "$2" || exit 1
|
||||
export ROS_DOMAIN_ID="$3"
|
||||
cd "$4" || exit 1
|
||||
exec "$5" run --locked python app.py
|
||||
' _ "$ROS_SETUP" "$ROS_WORKSPACE_SETUP" "$ROS_DOMAIN_ID" "$AGV_APP_DIR" "$UV_EXECUTABLE" \
|
||||
> "$FLASK_LOG" 2>&1 &
|
||||
FLASK_PID=$!
|
||||
echo " Flask PID: $FLASK_PID"
|
||||
fi
|
||||
sleep 4
|
||||
|
||||
# ============================================================================
|
||||
@@ -223,7 +239,7 @@ echo " 进程状态:"
|
||||
for proc_info in "bringup:$BRINGUP_PID" "Nav2:$NAV2_PID" "fixer:$FIXER_PID" "Flask:$FLASK_PID"; do
|
||||
name="${proc_info%%:*}"
|
||||
pid="${proc_info##*:}"
|
||||
if ps aux | grep -w "$pid" | grep -v grep >/dev/null 2>&1; then
|
||||
if [ -n "$pid" ] && ps -p "$pid" >/dev/null 2>&1; then
|
||||
echo " $name : 运行中 (PID: $pid)"
|
||||
else
|
||||
echo " $name : 已退出"
|
||||
|
||||
Reference in New Issue
Block a user