[Discourse.ros.org] [rosjava] Rosjava NDK

16 views
Skip to first unread message

James Puderer

unread,
May 23, 2016, 6:52:15 PM5/23/16
to ros-si...@googlegroups.com
jpuderer
May 23

I've been looking at the ROS Android NDK stuff that Gary Servin presented at ROSCon 2015:

httpsplayer.vimeo.com/video/142149946

My hobby is ROS, but my day job is doing Android Platform Development (custom AOSP stuff). The ROS Android NDK stuff you're working on is therefore super interesting to me!

Have you guys managed to realize your goal of implementing a ROS robot entirely on an Android device? I'm eager to follow along in your footsteps, and contribute in whatever way I can.


Visit Topic or reply to this email to respond

To stop receiving notifications for this particular topic, click here. To unsubscribe from these emails, change your user preferences

Ernesto Corbellini

unread,
May 23, 2016, 7:24:22 PM5/23/16
to ros-si...@googlegroups.com
ecorbellini
May 23

@jpuderer yes you can run ros on Android to control your robot. There are two ways of doing so:

  1. Using Rosjava: is a port of ROS to the java language and can run on Android.
    Pros: easier and familiar, the Android way. Most basic ROS stuff will work.
    Cons: Not all functionality of ROS is implemented, few packages have been ported.
  2. Natively compiling and statically linking the C++ source code of the ROS system for the arm target.
    Pros: potentially any package can be used; no need to rewrite the code; faster native execution.
    Cons: complicated cross-compilation process; some functionality is not available in Android due to security limitations and sandboxing of the application; no python support.

We are addressing 1. by adding new functionality to Rosjava.
For 2. we have developed a building environment that cross-compiles the ros core together with the packages that you select. We are constantly adding new patches and workarounds so more packages can be used.
Finally you can use the best of both worlds mixing both approaches. You can have your main ros system running with rosjava on android and a your favorite ros package loading as a native library.

James Puderer

unread,
May 23, 2016, 8:34:48 PM5/23/16
to ros-si...@googlegroups.com
jpuderer
May 24

@ecorbellini Thank you for your reply! However, I also wanted to know a bit more about what you (and others) have managed to build using ROS on Android.

I'm interested to know if anyone has managed to implement a robot that runs entirely on an Android device. I know this should be possible (based on a combination of packages built using the methods you describe), but it would be great if there was an existing example or (even better) a reference robot.

Juan Ignacio Ubeira

unread,
Jun 16, 2017, 2:02:05 PM6/16/17
to ros-si...@googlegroups.com
jubeira
June 16

Hi @jpuderer!
I know the response came a bit late, but you can take a look here: http://wiki.ros.org/Robots/Tangobot. This hasn't been yet announced here (it's a work in progress), but the code is publicly available already.

And the answer is yes :slight_smile: it is possible indeed. It uses RosJava, RosAndroid, and the cross compiled version of the navigation stack. Feel free to take a look there!


Visit Topic or reply to this email to respond.

To unsubscribe from these emails, click here.

Reply all
Reply to author
Forward
0 new messages