TARS robot control library with daemon, dashboard, and SDK
Project description
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. Looking for voice conversation? See tars-conversation-app.
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
Hardware:
- Raspberry Pi 5 (or Pi 4 4GB+)
- PCA9685 servo driver + servos
- USB audio adapter
- 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
2. Install an App
Browse and install apps from the dashboard's Apps tab.
Featured:
- tars-conversation-app — Voice AI (LLM, STT, TTS)
Or install manually:
# Featured: voice AI pipeline
pip install tars-conversation-app
Installation
| PyPI | Git clone | |
|---|---|---|
| Install time | Fast | Moderate |
| Dashboard updates | One-click from UI | git pull |
| Modify daemon code | No | Yes |
| Servo tester / dev tools | tars-servo-tester CLI |
python src/app-servotester.py |
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:
- tars-conversation-app — Voice AI pipeline (LLM, STT, TTS). Talk to your robot.
More apps coming soon.
Documentation
License
See LEGAL.md.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tars_robot-0.5.7.tar.gz.
File metadata
- Download URL: tars_robot-0.5.7.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9b97ce558c371488eafc37a503d6aa37db5f452321332adf5eb315acb2dae7c8
|
|
| MD5 |
c3936e482e72a8a5ae680285a3441d9b
|
|
| BLAKE2b-256 |
8b06f085541d6629611be7ed26422d3423ff0b558829a9dd0228e172234cc392
|
File details
Details for the file tars_robot-0.5.7-py3-none-any.whl.
File metadata
- Download URL: tars_robot-0.5.7-py3-none-any.whl
- Upload date:
- Size: 23.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8cb95ed230812e10cc121db2dd552fd2e88c8dd3ecabd70f4f4fc20a5a4aeb4
|
|
| MD5 |
a5533c4f8a948df85b8a1b1b750f5f21
|
|
| BLAKE2b-256 |
ed7fbf18129dc05a64ce4c24d79694b6d77787d48f442c8ac602437c717444bc
|