TARS - Intelligent Robotic Assistant

By B.E. Alejandro3 minutes read


Project Summary

This project aims to create a functional replica of TARS, the assistant robot featured in the movie Interstellar. The system is powered by artificial intelligence, allowing it to hold natural conversations and emulate emotional responses. The design is based on the Hackster.io project, with significant improvements in mobility, interaction, and AI capabilities.


Project Versions

TARS V1

The initial version was my first attempt at a self-propelled miniature replica. Although many implemented ideas were untested, it served as a fundamental base for further development.

Main Components

Structure

The V1 chassis was built with a spine-like framework using aluminum extrusion “spines” as the structural base. 3D-printed polycarbonate pieces were mounted on this base to define the robot’s general shape and drivetrain.

Identified Limitations


Control System

Software Architecture

The control system is organized into three main layers:

  1. Servo Controller: Manages basic servo movements
  2. Servo Abstractor: Combines basic movements to create complex functions
  3. TARS Runner: Handles communication with the remote control and command execution

Servo Abstractor

This program takes basic servo movements and combines them to automate complex motion functions:

import time 
import TARS_Servo_Controller3
    
def stepForward():
    TARS_Servo_Controller3.height_neutral_to_up()
    TARS_Servo_Controller3.torso_neutral_to_forwards()
    TARS_Servo_Controller3.torso_bump()
    TARS_Servo_Controller3.torso_return()
    
def turnRight():
    TARS_Servo_Controller3.neutral_to_down()
    TARS_Servo_Controller3.turn_right()
    TARS_Servo_Controller3.down_to_neutral()
    TARS_Servo_Controller3.neutral_from_right()
    
def turnLeft(): 
    TARS_Servo_Controller3.neutral_to_down()
    TARS_Servo_Controller3.turn_left()
    TARS_Servo_Controller3.down_to_neutral()
    TARS_Servo_Controller3.neutral_from_left()
    
def pose():
    TARS_Servo_Controller3.neutral_to_down()
    TARS_Servo_Controller3.torso_neutral_to_backwards()
    TARS_Servo_Controller3.down_to_up()

def unpose():
    TARS_Servo_Controller3.torso_return2()

Planned Improvements for TARS V2

Hardware

Software

Interaction


Technical Challenges

Mobility

The main challenge has been the lifting mechanism. In the initial version, the legs contacted the ground and got stuck, preventing walking. The solution was to enlarge rectangular channels in the square holes through which the main shaft rotates, allowing both the shaft and legs to move vertically relative to the torso module.

Balance and Stability

Weight distribution and center of gravity are critical for proper function. Careful component placement is required to avoid falling during movement.

Power Consumption

Battery life is limited due to high servo power usage. Optimizing energy consumption is a priority for future versions.


Next Steps

Structural Redesign

Mobility Enhancements

Advanced AI Integration

Energy Optimization


“I don’t need a robot to tell me how important humans are.” – Cooper, Interstellar


References and Resources