Introduction: Telepresence Robot: Basic Platform (Part 1)

A telepresence robot is a type of robot that can be controlled remotely over the internet and function as a surrogate for someone somewhere else. For instance, if you are in New York, but want to physically interact with a team of people in California, you could call into a telepresence robot in California and have the robot be your stand-in.

This is the first part of a seven-part instructables series. Over the next two instructables we will be building the basic electromechanical robot platform. This platform will later be enhanced with sensors and additional control electronics.

This base is centered around a plastic box which both provides structure, and offers internal space for storing electronics. The design uses two center drive wheels attached to continuous servos which allow it to go forwards, backwards, and pivot in place. To keep it from tipping side-to-side, it incorporates two metal chair gliders. The whole thing is controlled by an Arduino.

To learn more about the topics covered in this series of projects check out the Robot Class, Electronics Class, and Arduino Class.

Step 1: Materials

Since this is a two-part project, I have included all of the parts in one list. The parts for the second half will be reiterated in that lesson.

You will need:

(x2) Continuous rotation servos
(x1) Standard servo
(x1) Arduino
(x1) 4 x AA battery holder
(x1) 2 x AA battery holder
(x6) AA battery
(x1) M-type power plug
(x2) Caster wheels
(x1) Plastic box
(x1) Selfie stick
(x1) 1/2" ceiling plate flange
(x1) Metal coat hanger
(x2) 1/4-20 x 7/8" by 1-1/4" base sliders
(x4) 1/4-20 nuts
(x1) Assorted shrink tube
(x1) Assorted zip ties

Step 2: Drill the Servo Horn

Widen the outermost holes of the two continuous rotation servos with a 1/8" drill bit.

Step 3: Mark and Drill

Center the servo horn upon one of the 3" wheel hubs and mark the servo's attachment holes.

Drill these marks with a 1/8' drill bit.

Repeat for the second wheel.

Step 4: Attach

Zip tie the wheels to the respective servo horns and trim away any excess zip tie tails.

Step 5: Connect the Motors

Using the motor's mounting holes, firmly zip tie the two continuous servos together back to back such that they are mirrored.

This configuration may seem simple, but is actually quite a robust drivetrain for the robot.

Step 6: Mark the Wheel Openings

We need to cut two rectangles in the center of the lid to pass the wheels through.

Find the center of the tupperware lid by drawing an X from corner to corner. The place where this X intersects is the center point.

From the center, measure 1-1/4" inward towards one of the longest edges and make a mark. Mirror this on the opposite side.

Next measure 1-1/2" up and down from the center marks and mark these measurements as well.

Finally, measure 1-1/2" outwards towards the long edge from each of the inner marks, and make three outer marks to dilineate the outer edge of the cut lines.

Please note that I didn't bother marking these measurements because they lined up perfectly with the trough in the lid for the box edge.

You should be left with an outline of two 1-1/2" x 3" boxes. These will be for the wheels.

Step 7: Cut the Openings

Using the markings as a guide, cut two 1-1/2" x 3" rectangular wheel openings using a box cutter, or similar blade.

Step 8: Mark and Drill

Place the motor assembly in the center of the lid such that the wheels sit centered inside of the two rectangular holes and don't touch any of the edges.

Once you are sure you have acheived correct wheel positioning, make a mark on each side of each of the motors. This will serve as drill guides for holes that will be used to zip tie the motors to the lid.

Once the marks are made, drill each of these holes with a 3/16" drill bit.

Step 9: Attach the Drive Wheels

Firmly zip tie the servo motors to the lid using the appropriate mounting holes.

Trim away the excess zip tie tails.

By having mounted the motors in the middle of the robot, we have created a robust drive assembly. Our robot will not only be able to go forwards and backwards, but also turn in both directions.

In fact, not only can the robot veer left or right by differing the speeds of the motors while driving, but it can also pivot in place. This is accomplished by rotating the motors at the same speed in opposite directions. On account of this capability, the robot can navigate tight spaces.

Step 10: Prepare the Sliders

Prepare the sliders by threading 1/4-20 nuts about halfway down the threaded studs.

These sliders are used for leveling the robot, and may need to be adjusted later to allow the robot to drive smoothly without tipping.

Step 11: Drill and Attach Sliders

About 1-1/2" inward from each of the short edges of the box, make a mark on center.

Drill through these marks with a 1/4" drill bit.

Insert the sliders through the holes and fasten them with 1/4-20 nuts.

These are used to keep the robot balanced. They should not be so high that the drive wheels have trouble making contact with the surface of the ground, nor so low that the robot is wobbling back and forth. You will likely need to adjust the height of these as you begin to see how your robot is operating.

Step 12: The Circuit

The circuit is fairly simple. It consists of two continuous rotation servos, a standard servo, an Arduino, and a 9V power supply.

The one tricky part of this circuit is actually the 9V power supply. Rather than being one single battery holder, it is actually a 6V and 3V battery holder in series to create a 9V one. The reason this is done is that the servos need a 6V power source, and the Arduino needs a 9V power source. In order to provide power to both, we are connecting a wire to the spot where the 6V and 3V supplies are soldered together. This wire will provide 6V to the motors, while the red wire coming off of the 3V supply, is actually the 9V supply the Arduino requires. They all share the same ground. This may seem very confusing, but if you look carefully you will see it is actually fairly simple.

Step 13: Power and Ground Wires

In our circuit the 6V power connection needs to be split three ways and the ground connection needs to be split four ways.

To do this, we will solder three solid core red wires to a single solid core red wire.

We will also solder a solid core black wire to four solid core black wires.

We are using solid core wire because they largely need to plug into servo sockets.

To begin, cut the appropriate number of wires, and strip a little bit of insulation of one end of each.

Twist together the ends of the wires.

Solder this connection.

Finally, slip a piece of shrink tube over the connection and melt it into place to insulate it.

You've now soldered two wiring harnesses.

Step 14: Connecting the Wiring Harness

Solder together the red wire from the 4 X AA battery holder, the black wire from the 2 X AA battery holder, and the single red wire from the power wiring harness. Insulate this connection with shrink tube.

This will serve as the 6V power connection for the servos.

Next, solder the black wire from the 4 X AA battery holder to the single black wire from the ground wiring harness. Insulate this with shrink tube as well.

This will provide a ground connection for the whole circuit.

Step 15: Attach the Power Plug

Twist apart the protective cover from the plug and slide the cover onto one of the black wires from the wiring harness such that it will be able to be twisted back on later.

Solder the black wire to the outer terminal of the plug.

Solder a 6" red solid core wire to the center terminal of the plug.

Twist the cover back onto the plug to insulate your connections.

Step 16: Make the 9V Connection

Solder the other end of the red cable attached to the power plug to the red wire from the battery pack, and insulate it with shrink tube.

Step 17: Mount the Battery Holders

Place the battery holders on one side of the box lid, and mark their mounting holes using a permanent marker.

Drill these marks with a 1/8" drill bit.

Finally, fasten the battery holders to the lid using 4-40 flathead bolts and nuts.

Step 18: Program the Arduino

The following Arduino test code will allow the robot to drive forwards, backwards, left, and right. It is only designed to check the functionality of the continuous servo motors. We will continue to modify and expand upon this code as the robot progresses.

Step 19: Attach the Arduino

Place the Arduino anywhere, on the bottom of the box.

Mark both the Arduino's mounting holes and make another mark just outside the edge of the board adjacent to each of the mounting holes. Basically, you are making two holes to zip tie the Arduino board to the plastic box.

Drill all of these marks.

Use the holes to zip tie the Arduino to the inside of the box.

Like usual, trim away any excess zip tie tails.

Step 20: Plug in the Wires

Now it is time to finally connect everything together.

Plug the 6V red wires into the servo motor's socket that corresponds to its red wire.

Plug the ground wires into the corresponding black wire socket.

Connect a 6" green solid core wire to the socket that aligns with the white wire.

Connect the other end of one of the green wires to Pin 6 , and the other to pin 7.

Finally, plug the 9v power plug into the Arduino's barrel jack.

Step 21: Insert Batteries

Insert the batteries into the battery holders.

Keep in mind that the wheels will start spinning when you do this.

Step 22: Fasten the Lid

Put the lid on and fasten it shut.

You should now have a very simple robot platform that goes front, back, left and right.

We will expand further upon this in the coming lessons.

Step 23: Troubleshooting

If it is not working, check your wiring against the schematic.

If it still not working, re-upload the code.

If even this does not make it work, check to see if the green light on the Arduino is on. If it is not, get new batteries.

If it is mostly working, but not coming to a complete stop between movements, then you need to adjust the trim. In other words, the zero point on the motor is not configured perfectly, so there will never be a neutral position that will pause it.

To fix this, fine the little screw terminal in the back of the servo and very gently tweak it until the motor stops spinning (while in its paused state). This may take a moment to get just perfect.

In the next instructable in the series we will be attaching a servo-adjustable phone holder.

Comments

author
PaulA23 made it! (author)2017-05-12

Finally!!! An awesome instructable using the tried-and-true tinker methods we enjoyed before the 3D printer explosion!!! Sure, 3D printers are awesome, but so much ingenuity is lost when you can just materialize your parts. Great instructable! :-)

author
Prosperity2 made it! (author)2017-01-29

Everything worked fine. I made a variable traction device via how much rubber I put on the rim of the tires. I did use a on/off switch too.

Robot.jpg
author
roymast1 made it! (author)2017-01-24

Preparing to teach the Robots Merit Badge. This looks like a great set of lessons to follow. I only had 4xAA packs so used two and run the Ardunio at 12VDC, motors at 6vdc. My box was a little too small. Wheel axis go thru case side wall. Couldn't use the power plug so had to add a power switch and wire direct to Vin on bottom of power jack. I'm cheap and casters are expensive. I used alternative 3-1/2 Super Sliders, mounted with 2x M2-20mm screws.

IMG_5320.JPG
author
RayMorgan made it! (author)2017-01-21

All good, a few hiccups with programming the Arduino but solved with some brainpower. I think I will put an on/off switch in series in the negative wire just out of the 4 AA battery holder

File_000 (1).jpeg
author
mendelayah made it! (author)2017-01-13

I like where this is headed, a fun build already.

tp robot 1.jpg
author
hdechelard made it! (author)2016-12-28

What's not to like! Thanks Randofo, this is an awesome project. We are forging ahead with the next lesson.

Telepresence Base 20161226.mp4DSC_0469.JPG
author
Reyce made it! (author)2016-10-30

Thanks for a great lesson!

instructable_robot.mov
author
lmcwill made it! (author)2016-10-30

Pretty much following the program. Added the switch and labeled the servos and connectors; using green, yellow, and white data wires for the servos. The Uno smd has a snap on base which makes removing the Uno easier but the nylon standoffs are likely too tall to use with the dtmf shield unless I flip ends of the case.

20161030_152206.jpg
author
smerten made it! (author)2016-10-25

Randy-- here's your first piece of homework from a new student. Sorry I skipped the first set of lessons but may go back to those to build with my grandson later.

Stage 1-- so far so good. I made a few modifications including wood mounts screwed to the top in place of zip ties and a raised platform using long screws, 1/4 in ply and brass tubing. I found a CAD file online for a pattern to 3D print adaptors that mount to the servo horns, super glued those to the wheels and screwed the horns to the adaptor. The sketch uploaded to a Sparkfun Redboard easily and ran the servo 1 & 2 in very short bursts.

I'm liking your lesson and teaching style and hope to update my status every couple of weeks.

Keep on 'bot-ing'

-Steve

telepresence bot 1.jpgtelepresence bot 3.jpg
author
mcoast made it! (author)2016-09-05

Once I understood how (and more importantly where) to store the Arduino code, everything went smoothly.

image.jpegimage.jpgIMG_3316.MOV
author
gene328 made it! (author)2016-07-19

Here's the new version. The cardboard box was OK but I like the plastic one better, I can see the components inside. Some how that makes it better. I went ahead and installed a toggle switch. I went to the last lesson to see where it goes so it wouldn't get in the way of something else. I like that better than pulling a battery in and out. I made a video but it wouldn't upload.

IMG_0324.JPGIMG_0325.JPGIMG_0328.JPG
author
gene328 made it! (author)2016-07-16

While I was waiting for some of the
things I ordered to get here, things I needed to build the next
project, I thought I'd go ahead and start putting it together. One of
the things I needed is a plastic box so I found a cardboard box about
the right size and used it. Now I'm wondering if it will be alright
to use a cardboard box? I expect to get the plastic box any day now
and I intend to put all the stuff in the plastic box when I get it. I
think it would be classier to use the plastic box, but now that it's
together, it works OK. I'm wondering how much I can change things
from the way you did it and it'll still be alright?

When I get it in the plastic container
I'll re-post it.

Also, I have some plexiglass I was
thinking about using to build a box with. Would something like that
be acceptable?

Robot in Box Photos.JPGrobot in box 4 photos.JPGRobot in box 3 photos.JPGRobot in Box 2.MOV
author
Steve_Lane63 made it! (author)2016-07-04

The biggest problem I had to solve with this project was adapting my container to accommodate the battery holders. I had estimated the example box at 6"x9", so that's what I bought. I didn't, however, account for the tapered sides. After fitting the drive, I discovered there was no room for batteries. I didn't want to start from scratch, so I found a fairly heavy strip of galvanized metal in my shop that I was able to bend into an elongated "C" shape with one end long enough to hold the batteries. This change resulted in the batteries being mounted over the servos, and actually made it easier to make connections to the Arduino. I've glanced ahead at the upcoming lessons and don't foresee any problems with the modification, but if there are any, I'll deal with it. Other than that, everything went well and my robot runs in random directional spurts just fine. I did post a question concerning where I need to be adding code. I programmed my Arduino, and it works, but I'm still not sure I'm doing it right.

20160704_155742.jpg20160704_155802.jpg20160704_155848.jpg

About This Instructable

8,118views

41favorites

License:

Bio: My name is Randy and I founded the Instructables Design Studio. I'm also the author of the books 'Simple Bots,' and '62 Projects to ... More »
More by randofo:Sponge BotSingle Motor BotChocolate Peanut Butter Fudge Recipe
Add instructable to: