wired up voice and vision, testing motion

This commit is contained in:
Jaroslav Vizner
2026-08-28 11:26:40 +02:00
parent 8d88495f6f
commit 3982c6fb6b
84 changed files with 7696 additions and 8984 deletions
+108
View File
@@ -0,0 +1,108 @@
#!/usr/bin/env bash
set -e
PROJECT="$HOME/esarobotech/r1"
INTERFACE="${1:-enp3s0}"
cd "$PROJECT"
PIDS=()
cleanup() {
echo
echo "[R1] Stopping all services..."
for pid in "${PIDS[@]}"; do
if kill -0 "$pid" 2>/dev/null; then
kill "$pid" 2>/dev/null || true
fi
done
wait 2>/dev/null || true
echo "[R1] All services stopped."
}
trap cleanup EXIT INT TERM
echo "======================================"
echo " R1 complete stack"
echo "======================================"
echo "Interface: $INTERFACE"
echo
echo "[R1] Starting camera..."
./scripts/start_camera.sh "$INTERFACE" &
PIDS+=("$!")
sleep 1
echo "[R1] Starting YOLO..."
./scripts/start_yolo.sh &
PIDS+=("$!")
sleep 1
echo "[R1] Starting LLM..."
./scripts/start_llm.sh &
PIDS+=("$!")
echo "[R1] Waiting for LLM server..."
for i in {1..60}; do
if curl -fsS \
http://127.0.0.1:8080/health \
>/dev/null 2>&1; then
echo "[R1] LLM ready."
break
fi
sleep 1
if [[ "$i" -eq 60 ]]; then
echo "[ERROR] LLM failed to become ready."
exit 1
fi
done
echo "[R1] Waiting for camera frame..."
for i in {1..20}; do
if [[ -s /dev/shm/robot_frame.jpg ]]; then
echo "[R1] Camera ready."
break
fi
sleep 0.5
if [[ "$i" -eq 20 ]]; then
echo "[WARN] Camera frame not available yet."
fi
done
echo "[R1] Starting voice assistant..."
./scripts/start_voice.sh "$INTERFACE" &
PIDS+=("$!")
echo "[R1] Starting motion..."
./scripts/start_motion.sh "$INTERFACE" &
PIDS+=("$!")
sleep 1
echo
echo "======================================"
echo " R1 stack running"
echo "======================================"
echo "Camera: /dev/shm/robot_frame.jpg"
echo "YOLO: /dev/shm/r1_detections.json"
echo "LLM: http://127.0.0.1:8080"
echo
echo "Press Ctrl+C to stop everything."
echo
# Wait until one service exits.
wait -n "${PIDS[@]}"
echo "[R1] A service exited; shutting down the stack."