Skip to main content

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.

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tars_robot-0.5.9.tar.gz (26.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tars_robot-0.5.9-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

Details for the file tars_robot-0.5.9.tar.gz.

File metadata

  • Download URL: tars_robot-0.5.9.tar.gz
  • Upload date:
  • Size: 26.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for tars_robot-0.5.9.tar.gz
Algorithm Hash digest
SHA256 cf1301b345f773762d6fdadfcdd69fb52b3dd319006a8e50540ec6264a306f16
MD5 01263acb1e3a921c4199dfce8267ab0b
BLAKE2b-256 37f1271e21809b25bebdcec100a6ae9d294ab3449c32d391ec0494162219205b

See more details on using hashes here.

File details

Details for the file tars_robot-0.5.9-py3-none-any.whl.

File metadata

  • Download URL: tars_robot-0.5.9-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

Hashes for tars_robot-0.5.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ca7c3a4638ad3a292c678c4bbad4d1346584faef3d63f2667fdd8bd8b477facb
MD5 ec020239eb5037ea2eec680812053e3e
BLAKE2b-256 140aa4e02e1e69bb73a70c3ee25a162622456d5b71f1612e7f896e305e2a4879

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page