Skip to content

Latest commit

 

History

History
executable file
·
214 lines (166 loc) · 12.5 KB

README.md

File metadata and controls

executable file
·
214 lines (166 loc) · 12.5 KB

TARS-AI

discord invitation link YouTube Instagram TikTok

A recreation of the TARS robot from Interstellar, featuring AI capabilities and servo-driven movement.

Table of Contents

Hardware Requirements

Everything here is under development and is subject to change. The buck converter and USB power modules are the most important power components and there are many options depending on your build choices. If you have any questions ping us in the discord electrical channel.

Category Component Description Link
Printing Bambu Labs Printer Compatible models: P1S, A1, X1C -
TPU Filament (Bambu) For all "Flexor" parts Buy
TPU Filament (Alternative) Overture TPU filament Buy
PETG Filament For all non-Flexor parts Buy
PLA Filament Optional - for rapid prototyping -
Core Components Raspberry Pi 5 Main computing unit Buy
3.5" LCD Display Interface display Buy
16-Channel PWM Servo Driver I2C Interface Buy
Power Components Buck Converter Power management Buy
USB power 2x for Pi and display. Must have 5A minimum to drive a Raspberry Pi 5. Buy
Single LiPo Battery 11.1v 3S 2200mAh Buy
Wire Connectors PCT-214 (optionally clips into v9 lower lid) Buy
Servo Motors diymore MG996R Digital servo motors (2x 90g servos per leg) Buy
MG996R 55g (Alternative to above) Digital 55g high torque (2x per leg) Buy
Micro servos (hands) Digital servo motors (2x S51/9g micro servos per arm/hand) Buy
Drive Train Bearings Motion support Buy
Springs Motion dampening Buy
Metal Rods (Option 1) Structural support Buy
Metal Rods (Option 2) Alternative structural support Buy
Linkage Motion transfer Buy
Servo Extension Wires Connection cables Buy
Audio System Raspberry Pi Microphone Audio input Buy
Audio Amplifier Sound processing Buy
Speaker Audio output Buy
Camera System Camera Module Visual input Buy
Camera Ribbon Cable Camera connection Buy
Fasteners M3 20mm Screws Mounting (6x needed) Buy
M3 14mm Screws Mounting (40x needed) Buy
M3 10mm Screws Mounting (76x needed) Buy
M3 Asstd Grub Screws Mounting (6-8 needed) Buy
M2.x self tapping Pi and servo controller mounts (8 needed) Buy

Wiring Guide for GPIO LCD Screen (if not using HDMI) and I2S Amplifier.

This section provides detailed instructions on how to wire an LCD display and an I2S amplifier to a Raspberry Pi, along with steps to calibrate the touchscreen and fine-tune the display. It assumes you are using an SPI-based LCD screen and an I2S amplifier for audio output.


LCD Wiring

To wire the LCD display to your Raspberry Pi, use the following pinout configuration:

LCD Pin Raspberry Pi GPIO Pin Description
1, 17 3.3V (Pin 1 or 17) 3.3V power supply.
2, 4 5V (Pin 2 or 4) 5V power supply for the backlight (if required).
6, 9, 14, 20, 25 GND (Pin 6, 9, etc.) Ground connections.
11 GPIO17 (Pin 11) Touch IRQ (optional, for touch input).
18 GPIO24 (Pin 18) LCD Register Select (DC/RS).
19 GPIO10 (Pin 19, SPI MOSI) SPI MOSI (data sent to the LCD).
21 GPIO9 (Pin 21, SPI MISO) SPI MISO (data received from touchscreen).
22 GPIO25 (Pin 22) LCD Reset pin.
23 GPIO11 (Pin 23, SPI SCLK) SPI Clock for LCD and touchscreen.
24 GPIO8 (Pin 24, SPI CE0) SPI Chip Select for LCD.
26 GPIO7 (Pin 26, SPI CE1) SPI Chip Select for touchscreen.

Connecting the I2S Amplifier

For audio output, connect an I2S amplifier to the Raspberry Pi’s I2S (PCM) pins as follows:

Raspberry Pi Pin GPIO Pin Function Connect to Amplifier
Pin 12 GPIO18 I2S Bit Clock (BCLK) BCLK
Pin 35 GPIO19 I2S Left/Right Clock (LRCLK) LRCLK
Pin 40 GPIO21 I2S Data Out (DOUT) DIN (Audio Data Input to Amplifier)
Pin 6 GND Ground GND (Amplifier Ground)
Pin 2 or 4 5V Power Supply VIN (Amplifier Power Input)

Note: Enable the I2S interface on the Raspberry Pi by following the instructions in the Adafruit MAX98357 guide.


Touchscreen Calibration

To calibrate the touchscreen, follow these steps:

Step 1: Install the Calibration Tool

sudo apt-get update sudo apt-get install xinput-calibrator

Step 2: Run the Calibration Tool

xinput_calibrator Touch the targets as instructed. The tool will generate calibration offsets.

Step 3: Save the Calibration Data

Save the output data to a configuration file:

sudo nano /usr/share/X11/xorg.conf.d/99-calibration.conf Paste the calibration data and save the file.

Step 4: Reboot

sudo reboot

Step 5: Verify Calibration

Interact with the desktop to ensure accurate touch. If needed, rerun the calibration tool or manually adjust the values in 99-calibration.conf.

Additional Notes

  • Enable SPI and I2S interfaces via sudo raspi-config under Interfacing Options.
  • Refer to the Adafruit MAX98357 guide for detailed amplifier setup.
  • Test the audio and touchscreen thoroughly after setup.

Software Stack

See ENVSETUP.md for instructions on setting up the software environment.

GPTARS Software Demo

  • LLM: Choice of:
    • OpenAI (Recommended)
    • Oobabooga
    • Tabby (tabbyAPI)
    • Ollama (Soon)
  • Text-to-Speech: Choice of:
    • Azure TTS
    • Local (E-speak)
    • Local (Piper TTS with custom Voice model) (Recommended)
    • XTTSv2 with voice cloning (xtts-api-server)
  • Speech-to-Text:
    • Vosk
    • Whisper
  • Vision Handling:
    • Saleforce Blip
  • Tool Utilization:
    • Custom Module Engine

Build Modifications

print

  • Modified chassis bottom to accommodate SD card installation (See: "Chassis Bottom (Mod SD CARD).stl")

License

CC-BY-NU License

Contributing

See CONTRIBUTING.md for instructions on contributing to this project.

Additional Resources

Inspirations + Credits to:

Attribution

TARS Project Attribution Guidelines

As we continue to build and expand upon the TARS project, below are the guidelines for attribution and best practices when sharing or publishing work related to the TARS project:

General Attribution

  • Clearly state that this project is based on the character TARS from the film Interstellar.
  • When referencing or sharing the CAD designs:
    • Include a statement like: “Based on the mechanical puppet designs by Christopher Nolan, Nathan Crowley, and the production team who originally brought TARS to life—miniaturized CAD by Charlie Diaz, with additional modifications by the TARS-AI Community.”

Specific Guidelines for CAD and Scripts

  • The original CAD files and scripts are provided by Charlie Diaz. If you modify or extend these, ensure to:
    • Credit Charlie Diaz as the original creator of the CAD files.
    • Clearly specify your contributions or modifications.

Usage of TARS’ Voice and Personality

  • “This project includes AI-generated elements inspired by Bill Irwin’s portrayal of TARS in the film Interstellar.”

Sharing Content Online

  • When publishing content (e.g., YouTube videos, blog posts, or repository updates):
    • Attribute the original film’s production team and Charlie Diaz where applicable.
    • Include a disclaimer noting that this project is a fan-made initiative.

Legal Considerations

  • Monetization is strictly prohibited.

Community Contribution

  • Encourage contributors to follow these attribution guidelines when making modifications or additions to the project.
  • Foster an open and respectful community by maintaining transparency in crediting the work of all contributors.

These guidelines ensure that the TARS project respects the intellectual property of the original creators while fostering a collaborative and innovative community. Let’s work together to keep this project thriving and inspiring!