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.8.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.8-py3-none-any.whl (23.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tars_robot-0.5.8.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.8.tar.gz
Algorithm Hash digest
SHA256 c16622d812df6c0f91f495c0a49043fba58d2a21a32bb5b183c4cdbe80a40255
MD5 34e3767df4ab89b074bf27dd930c08f5
BLAKE2b-256 4531418c7a34fd7a724250ce28fcfe9ee22dfe919dc02110313daf218b2134f1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tars_robot-0.5.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 7e6ba94fd88a8acd387a5d5cfe018d1c1ac7f2cd977477032f970afa27817206
MD5 19d2c484bf2cdfddca5dcb4f817c1394
BLAKE2b-256 2a95ee661e7b0bdf0308789e87ab9c445be32d3f2adbab43504089ba6581e7fd

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