|
|
LiTeRo - The Little Telepresence Robot1 July 2018
[This page was recovered from the TheStuffWeBuild WordPress Archive and adapted for this site in 2025.]
LiTeRo, short for Little Telepresence Robot, is a DIY Raspberry Pi powered robot that can be controlled from any web browser from anywhere in the world. We wrote a single Python program in conjunction with a lightweight AJAX-style communication standard to achieve extremely low latencies with relatively few software dependencies.
LiTeRo is as a do-it-yourself project is designed to be exceptionally modular and customizable. By default, it was designed to sport a wide angle Raspberry Pi camera, High-power IR navigation LED, 9-DOF IMU, 4Ah LiPo battery (with monitoring), and a roll-in charging dock. Also incorporated later in development was a method for verbal communication. That's right, LiTeRo can speak nearly 50 languages with the eSpeak Text-To-Speech (TTS) engine! Other TTS software packages for the Raspberry Pi can also be implemented with relatively minor revisions to the Python program. The robot can also sport a number of 9g servos for basic environment manipulation or for self-righting maneuvers.
All this can be controlled from a client (or several) watching from LiTeRo's self-hosted web-based user interface. No third party servers or hosts required!
 Screenshot form mobile device with debug values shown.
The 3D printed LiTeRo platform can also be used as a general RC tank or for other projects that you can imagine.
This little 3D printed palm-sized rover is powered by an inexpensive Raspberry Pi Zero Wireless. It has a 160° wide-angle IR-Cut camera, 9-axis IMU, speech synthesis, and more all packed into something the size of a typical cheese burger.
Inspired by the hype of consumer mobile telepresense robots of the mid to late 2000s, like RoboDynamics TiLR and WowWee's Rovio, this little pet project can be driven from anywhere in the world with an internet connection.
Behind the scenes the Raspberry Pi is hosting a small web page that is using AJAX (Asynchronous JavaScript And XML) to link a client (or clients) from anywhere in the world to a single Python script that is facilitating all the IO with extremely low latencies.
Two 6v, 200RPM N20 motors and a set of 22T Pololu Tracks (continuous tracks or tank treads) propel the rover around and over most obstacles. It's wide-angle infrared camera along with jacksonliam's fork of mjpg-streamer for the Raspberry Pi allows the rover to stream live HD video to several clients at once all while being driven by a smartphone or computer. No third-party hosts required!
Optional 3D printed "hats" can be bolted to the top of this rover to give it new features. The mohawk hat (pictured) gets its popularity not by its added personality, but by passively mitigating any chance for the rover to get stuck upside down or on its back. The servo hat with the addition of a 9g servo (or two) gives the robot more ways to interact with its environment while also improving its ability to right or free itself form sticky situations. Finally, the cup holder hat, as the name implies, gives the robot the ability to manually carry goods across its domain when others are around to help.
Build one yourself
- What you'll need:
- 3D Printed Chassis and basic assortment of M3 nuts/bolts
- 1x Raspberry Pi Zero W - $10
- 1x 160° Raspberry Pi Camera With 2 IR or White LED Lights - $33 (Lights optional)
- 1x Raspberry Pi Zero Flat Flex Camera Cable - $2
- 2x 6v 200RPM N20 Gear Motors (encoders optional) - $4
- 1x L9110 (or HG7881) Dual Motor Driver - $2
- 1x 22T Pololu Track Set - $13
- 2x 5V 2A LiPo Boost Module - $2 (two in parallel for maximum reliability)
- 1x TP4056 LiPo Charge and Protection Module - $1
- 1x 1S (3.7v) 2000-4000mAh LiPo Battery 1-4C Discharge - $3-$10 (see space requirements)
- Optional features:
- 3D printed charging dock
- Conductive foil tape (for charging dock contacts)
- ADS1115 I2C ADC Module - $7
- ACS712TELC-05B 5A Current Sensor - $4
- MinIMU-9 v3 or Similar I2C IMU - $12
- Generic 3-5V Audio Amplifier Breakout - $1 (see audio amp section below)
Note: Any Raspberry Pi camera will work. However one with a wide angle camera lens is recommended.
Total: $60-$100
Printing chassis
LiTeRo was built in Fusion 360. All printable parts are available on Thingiverse here: https://www.thingiverse.com/thing:2896668
No special instructions are required for printing.
STL files prefixed with "Main-" are all you need for a basic LiTeRo kit.
Full Detailed Assembly Video
We put together a full build video below for both the Pi-powered version and the basic RC version. Take note of the timestamps at the beginning of the video for your reference.
Note: Battery choice
For the Raspberry Pi powered version of LiTeRo, we used a pair of 1S (3.7v), 1500mAh, LiPos in parallel to get a custom 1S, 3000mAh pack. This allows us to use a TP4056 USB charge and protection board and 5V 2A boost converters.
The maximum battery size you can have if you want to use the included 3D printed battery cover is 63mm by 45mm by 15mm. Slots are incorporated into the chassis to accommodate other styles of battery including a 3AA-size tray.
For the basic RC version, we just stuck a 2S, 800mAh LiPo into the middle of the robot. The high center of gravity however made it relatively easy to roll over.
Note: Camera choice
While any camera could be used, including the original Raspberry Pi camera Module, we recommend a wide angle or fish-eye alternative so you can see more of your environment. These can come from any of a variety of manufactures.
Note: Audio amp
This is entirely optional. We found these neat little $1 plug-and-play amplifiers from the Dollar Tree and hacked them apart to get a nice little LM4871 3W, 3-5V audio amp breakout. All the necessary supporting components were there as well. We just added our own tiny 8ohm speaker and a lead for power and audio signal.
Programming
The bulk of LiTeRo was programmed with Python. HTML5 and a small PHP parser make up the remaining portions. Yes, only a measly three files are required on top of a few common dependencies (inc. mjpg-streamer, espeak, apache, PHP, etc.). Our source code is not available for download yet. We want to make it look nice, pretty, and easy to read so you can learn how everything works and make your own mods.
Source code and setup instructions are available on GitHub here:
https://github.com/Physics-Dude/LiTeRo
Code and 3D Files
You now have everything you need to build LiTeRo, the Little Telepresence Robot! The code is now fully commented and ready to teach you everything you need to know about Python and Raspberry Pi powered telepresence robots. You are free to modify and share changes with the community here or on GitHub.
Code and Raspberry Pi setup available on GitHub here:
https://github.com/Physics-Dude/LiTeRo
3D printable files on Thingiverse here:
https://www.thingiverse.com/thing:2896668/
3D printable files on Printables here:
https://www.printables.com/model/142021-litero-the-little-telepresense-robot-kit
|