Android Telepresence Robot
Intro: Android Telepresence Robot
When you hear about telepresence robots, you might think of those big, expensive units like the ones featured in Modern Family and Big Bang Theory. You may have never imagined building a telepresence robot of your own. Check it out. It's cheaper and easier than you'd think!
STEP 1: Parts and Tools
Parts list
2 Android devices with Android 3.1 or higher, 1 will need OTG support http://android.stackexchange.com/questions/36887/...
Arduino Uno or equivalent
Adafruit Motor Shield
Cell phone window mount
OTG Cable
Adafruit Mini Robot Rover Chassis Kit
AA Battery Holder with switch
4 AA Batteries
May also need assorted screws and spacers to mount the Arduino
Tools
#1 and #2 Phillips screwdriver
Pliers
Hot glue gun
STEP 2: Assemble the Robot Frame
Pretty straight forward. Adafruit has directions if you need them.
STEP 3: Solder the Motor Shield
Adafruit has directions if you need them.
STEP 4: Mount the Arduino
Use the included hardware to mount the Arduino. Anyway you can get it to fit should be fine.
STEP 5: Remove Suction Cup
The lever that holds the cup in place can be pried loose with some force. It has a pin that slides out. You may break it while removing but that's OK. You can just throw that part away along with the suction cup and spring.
STEP 6: Attach Phone Mount to Top Level
I used hot glue for this step.
The next step will show a picture of this.
STEP 7: Attach Battery Pack to Front
I also used hot glue for this step. The batteries are very difficult to change. So I think this part should be improved. However the weight of the batteries help counter balance the weight of the phone. This end of the phone could use a little more weight.
STEP 8: Install PocketBot Telepresence Arduino Library
You can download the library from github
https://github.com/frankjoshua/PocketBot
Here is a link with information about installing Arduino libraries
STEP 9: Install PocketBot Onto Android Device
You can download PocketBot from the Google Play Store.
https://play.google.com/store/apps/details?id=com.tesseractmobile.pocketbot
STEP 10: Connect Android to Arduino Using the OTG Cable
The phone or tablet should detect when the Arduino is plugged in to it. Click always allow and then OK. Then PocketBot will open.
STEP 11: Switch to "Control Mode" to Test Using on Screen Controls
Slide out the left side drawer. Click on Face/Modes. Then select the "Control" mode.Use the on screen controls to verify the robot is working. The left side joystick should now control the speed and direction of the robot.
STEP 12: Rename Robot
Slide out the left side drawer. Click settings. The click "Set Robot Name"You can choose any name you like.
STEP 13: Switch to "Telepresence Mode"
Slide out the left side drawer. Click on Face/Modes. Then select the "Telepresence" mode.After a minute you should see a 7 digit number at the top of the screen. This is like the robots phone number.Also control information will be displayed in this area after you connect remotely with a second android device.
STEP 14: Switch Second Device to "Control Mode"
Slide out the left side drawer. Click on Face/Modes. Then select the "Control" mode.
STEP 15: Connect to Robot
Press the connect button. This will bring up a dialog. Select the remote robot from the list.
11 Comments
ErwinM5 3 years ago
wright.dan.dw 3 years ago
ManpreetK8 6 years ago
Hi Frank,
Yes , both the devices are connected to Wifi. But while signing in, I only see a spinning wheel and nothing else.
Thanks,
Manpreet
frankjoshua 6 years ago
I've heard of people having this issue. Sometimes it gets stuck signing in. Try rebooting the device and see if the works. If not let me know what kind of devices you are using (model and version of Android).
ManpreetK8 6 years ago
Hi Frank,
Thanks for sharing.
I am trying to run the app in Telepresence Mode. But whenever I click on the telepresence mode, app asks to sign in. I tried signing in but the app gets stuck with a spinning wheel while trying to sign in. I do have a ROS URI on the top of the drawer on both the devices. Actually there was already a ROS URI link "http://localhost:11311/" in the app. I did not change it.
I tried connecting to the URI from the second device. It said "Connecting to Master" and the "Connected" but I did not get any 7 digit code. After which when I try to sign in, it tried to sign in with a spinning wheel and nothing after that.
Do I have to mention any specific ROS URI?
If you could please let me know how to proceed to make the app work in telepresence mode.
Thanks,
Manpreet
frankjoshua 6 years ago
BilalK38 7 years ago
android app requirement?
frankjoshua 7 years ago
https://play.google.com/store/apps/details?id=com.tesseractmobile.pocketbot
LuisO3 7 years ago
where is the arduino CODE control it?
frankjoshua 7 years ago
DIY Hacks and How Tos 7 years ago
Awesome robot.