Wisconsin Robotics Outreach 2025/2026
- Voice: AI voice assistant
- Camera: CV facial tracking
- MotorControl: Servo controls
This project's dependencies are managed by uv. The pyproject.toml file contains the dependencies list, and descriptions of basic commands can be found here.
uv run program.py: Runs your program with up-to-date dependencies.uv add: Add a dependency to the entire project. (This updates pyproject.toml and runsuv sync.)uv remove: Remove a dependency from the entire project. (This updates pyproject.toml and runsuv sync.)uv sync: Updates your environment to match pyproject.toml.- Install uv for development on personal computer
-
Turn on the Bluetooth speaker. It should automatically connect to the Pi.
-
Run:
uv run Voice/main.py
Voice/
βββ main.py
βββ voice/
β βββ config.py (For constants, settings, and Finley's prompt)
β βββ audio_io.py (Microphone & speaker I/O)
β βββ health.py (Startup device checks)
β βββ stt_whisper.py (Speech to text)
β βββ llm_ollama.py (LLM response generation)
β βββ tts_piper.py (Text to speech with streaming)
β βββ app.py (Main loop)
βββ en_GB-northern_english_male-medium.onnx (TTS voice model)
βββ en_GB-northern_english_male-medium.onnx.json (TTS voice model)
- Add activation trigger (Speak "Hey Finley" or press a button)
- Decrease Time To First Token (Start speech to text before LLM generation is completed, switch to a faster (smaller) LLM, test the AI HAT we ordered)
- Give Finley a personality!!!! πππ
- Edit his prompt in
Voice/voice/config.py. - Allow mechanical responses? (e.g., Finley says "--shake_head--" and robot shakes its head.)
- Edit his prompt in
Run: uv run Camera/facerocognitionCam.py
Run head servo: See Camera section
- Eliminate jitter
- Add other servos (fins, mouth, etc.)