ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Android and ROS Communication over USB instead of Wifi

asked 2011-06-12 05:55:37 -0500

Chad Rockey gravatar image

updated 2014-01-28 17:09:50 -0500

ngrennan gravatar image

I'm interested in running Android devices as IMUs, GPS sources, or even complete Odometry sources. I once implemented this for IMUs a long time ago over the wifi, but there was some considerable delay and wifi's ability to drop out for a bit. If this were to work well in most cases, data would have to be sent with minimal delay: thus USB.

So at this point, I know that rosjava wouldn't really be the mode of communication (yet?), since I'd be using serial, but does anyone know if Android can communicate via serial on its USB port?

I guess this would also ensure the android device stays charged. :P

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2011-06-14 15:53:32 -0500

kwc gravatar image

At least with the Android Honeycomb tablets, turning on USB tethering will automatically mount the tablet as a network device. This is how we run tablets tethered to netbooks for demos.

edit flag offensive delete link more


Sorry Damon! This is easier for my needs. I confirmed that this works on Gingerbread (I have 2.3.4). One more question: does anyone know how to hop across the networks. Example: My usb tether is listed as 192.168.42.n, but the wifi clients are in 192.168.43.n. Can I talk between them?
Chad Rockey gravatar image Chad Rockey  ( 2011-06-15 07:25:45 -0500 )edit

answered 2011-06-13 02:39:18 -0500

damonkohler gravatar image

updated 2011-06-13 20:20:29 -0500

This is now possible by using the Open Accessory API. You can get a serial channel to something like an Arduino over USB. You'll need a relatively recent Android device to make it work.

You could also check out the IOIO if you need to do this on an Android device that is pre 2.3.4.

In principle, you could do the same thing to open a serial channel to a laptop and then use the Android device as a wired IMU.

edit flag offensive delete link more


Thanks, Damon! I'll look into this. I may have bought my Nexus S exactly for this purpose. :-P
Chad Rockey gravatar image Chad Rockey  ( 2011-06-13 09:39:57 -0500 )edit

answered 2016-06-23 21:00:58 -0500

ligang gravatar image

I want to run a ros node in android, and use usb serial to communication with ubuntu ros.

Can anybody provide some help?

Thank you !

edit flag offensive delete link more


Do not ask a question as an answer on an existing topic. Create your own topic and ask your question. For each topic, its answer(s) and nothing more.

lfr gravatar image lfr  ( 2016-06-24 05:44:59 -0500 )edit

Question Tools

1 follower


Asked: 2011-06-12 05:55:37 -0500

Seen: 3,363 times

Last updated: Jun 23 '16