Skip to content

latishab/tars

 
 

Repository files navigation

TARS

Note: This is a fork of TARS-AI-Community/TARS-AI with a distributed architecture. The original runs everything on the Pi. This fork separates the hardware daemon from the AI pipeline, exposing gRPC and WebRTC APIs so anyone can build apps that control the robot.

Raspberry Pi 5 robot daemon. Handles servo control, WebRTC audio streaming, display, camera, and battery monitoring. Apps connect via gRPC and WebRTC.

🛠️ What You Need

See the TARS-AI wiki for the full bill of materials and build instructions. Come back here if you want to run this distributed architecture instead of the original monolithic setup.

Hardware:

  • Raspberry Pi 5 (or Pi 4 4GB+)
  • PCA9685 servo driver + servos
  • USB audio adapter
  • Speaker (8Ω 5W)
  • Pi Camera or USB webcam
  • INA260 battery monitor (optional)
  • 12V battery pack

Software:

  • Python 3.9+

🚀 Quick Start

1. Install on Pi

pip install tars-robot[daemon]
tars-daemon

Dashboard: http://tars.local:8000 — see WiFi Setup for Tailscale access

2. Install an App

Browse and install apps from the dashboard's Apps tab.

Featured:


📦 Installation

PyPI (Recommended)

pip install tars-robot[daemon]
tars-daemon

Git Clone (Development)

git clone https://github.com/latishab/tars.git
cd tars && pip install -e .[daemon]
tars-daemon

SDK Only (Remote Control)

pip install tars-robot
from tars_sdk import TarsClient

client = TarsClient("tars.local:50051")
client.move("wave_right")
client.set_emotion("happy")
client.close()

🏗️ Architecture

App (any machine)                     tars-daemon (Raspberry Pi)
─────────────────────────────────     ─────────────────────────────
tars-conversation-app                   ├── gRPC Server (:50051)
  ├── LLM (Claude)                      ├── HTTP + Dashboard (:8000)
  ├── STT (Deepgram)                    ├── WebRTC Audio
  ├── TTS (Kokoro)                      ├── Servo Control (PCA9685)
  └── TarsClient SDK ─────────────────►├── Display (pygame)
                        gRPC :50051     ├── Camera
                        WebRTC :8000    └── Battery (INA260)

Apps connect via gRPC (:50051) and WebRTC (:8000). They can run on a separate computer or on the Pi itself.


📱 Apps

TARS supports installable apps. Browse and install from the dashboard's Apps tab.

Featured:

More apps coming soon.


📚 Documentation


⚖️ License

See LEGAL.md.

About

TARS-inspired (Interstellar) companion robot hardware stack for Raspberry Pi 5. Servo control, camera, audio, animated eyes, and an aiortc server for real-time A/V.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

No contributors

Languages

  • Python 75.0%
  • JavaScript 22.1%
  • CSS 2.1%
  • Other 0.8%