The project is inspired by the robot named 'TARS' from the movie Interstellar. I tried hard to make my robot look like the actual TARS.

Who is TARS?

TARS is a robot that appeared in the movie Interstellar. The first thing you'll notice is that it doesn't look like a humanoid, but still it has all the capabilities and the intelligence.

TARS has a shape of a cuboid which is divided into 4 independent pieces and are connected by the different hinges, that allows it to do movements like roll and walk.

TARS in the movie

Now my TARS:

My version of TARS is 48'' tall, 24'' wide and 6'' in depth.

1 / 5

The structure is simple, as you can see it has 4 legs but no arms (work in progress). The chassis is made up of aluminum angles, onto that aluminum plates are glued.

The two legs in the middle are tied together and don't move, I did this because to spin either two legs requires a stable structure. Each leg weighs around 1.5kg which is a lot for those DC motors. Also, it prevents the wobble of the robot.

The aluminum plates are cut into 5 parts, and the lines are scored with the scoring tool.

Rotating legs are directly connected to DC motors with the help of a mounting hub. These are Johnson geared motors with the torque of 30kg-cm.

Because of only one point of contact, the rotating legs are not exactly straight; they're slightly leaned towards the outer side.

Black squares:

Those 4 dark black squares are 1mm thick transparent acrylic sheets. I covered bottom two sheets with paint and upper two with black tint film. The film is 5% dark, and it allows light to pass through only one direction. So when the LCD screen turns off, you cannot see the wiring and other components from outside.

1 / 4

Electronics:

I used Raspberry Pi as a brain and Arduino controls all other modules. The following diagram shows how everything is connected:

Things connected to Pi:

Microphone:

The microphone is standard 3.5mm jack and connected to Pi via USB sound adapter.

Speaker:

The speaker is Li-Po powered and directly connected to Pi's audio jack.

Battery pack:

The battery pack is 8000mAh and output current is 2A which is sufficient for Pi.

Arduino:

Pi is in USB serial connection with the Arduino.

LCD screen:

4.3'' LCD screen is used from car rear view monitor. It runs on 12V and consumes about 130mA. Though you can hack it to run on 5V. Screen is connected to Pi's RCA video out jack.

Internet:

Internet is required for speech recognition. I don't have a WiFi dongle, so I'm using Ethernet port on Pi.

Things connected to Arduino:

OLED module:

In the movie whenever TARS cracks a joke it indicates that by blinking a Cue light. Here, OLED module acts as a cue light. Module uses I2C and connected to Arduino's A4 (SDA) and A5(SCL) pins. Adafruit's OLED library works perfectly with the module.

L298n motor driver:

To control DC motors I'm using L298n motor driver. The connections are pretty straight forward (see code for exact pinouts). Board is powered by 12v dc-dc boost converter.

Raspberry pi:

Arduino is in USB serial connection with the Pi.

Software used:

Jasper:

For voice control I'm using jasper. It gives the choice of selecting Text to Speech engine and Speech to Text engine. Also, the modules are simple to write.

Speaker recognition:

In the movie, TARS only calls Cooper and Dr. Brand by their names, that means he knows who is talking to him. To achieve this sort of speaker identification, I have written a Piwho library based on MARF framework. It works on Raspberry Pi very well.

Github link:

Arduino code and Piwho library modules:

Arduino code and all Pi modules are on Github. See code section. Here's the video of TARS in action:

TARS uses speaker recognition to find who is speaking before executing a command: