16
ROS Android-NDK What? Why? How? Gary Servn Ekumen #ROSCon15 October 3, 2015 Gary Servn (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

ROS Android-NDKWhat? Why? How?

Gary Servín

Ekumen

#ROSCon15October 3, 2015

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Page 2: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Ekumen

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 3 / 20

Page 3: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Our team

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 4 / 20

Page 4: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Our clients

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 5 / 20

Page 5: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Brought to you by...

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 7 / 20

Page 6: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Definitions

JavaTM Native Interface (JNI)a standard programming interface for executing native codeinside Java applications.

Android NDKa tool-set that allows you to implement parts of your app usingnative-code languages such as C and C++.

rosjava (http://wiki.ros.org/rosjava?distro=indigo)an implementation of ROS in pure Java with Android support.

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 8 / 20

Page 7: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

What is it?ROS Android-NDK

It’s a set of scripts that make easier to cross-compile ROSpackages/libraries using the Android NDK.

This allows to run ROS packages/libraries on Android as:• a native activity (C++),• a normal app using the JNI and rosjava• a native executable

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 9 / 20

Page 8: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

What’s been done?

• 181 ROS packages from the Desktop variant (-viz -python)• Tutorials (http://wiki.ros.org/android_ndk)

• Native Activity• JNI wrappers with rosjava

• robot_localization demo

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 10 / 20

Page 9: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why is it interesting?Android devices are becoming more popular and ubiquitous

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 12 / 20

Page 10: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why is it interesting?Android devices are becoming more powerful

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 13 / 20

Page 11: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why is it interesting?Android devices are becoming cheaper

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 14 / 20

Page 12: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why is it interesting?

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 15 / 20

Page 13: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why not just use rosjava?Source: https://xkcd.com/927/

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 16 / 20

Page 14: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Why not just use rosjava?

• No need to re-implement functionalities in Java• Can still be used together with rosjava• run ROS nodes native directly (su required) or via JNI

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 17 / 20

Page 15: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

Future work

• better way to get and update ROS packages (Done)• output order of the libraries needs to be adjusted manually• rosjava wrappers• rospack (python and filesystem structure)• pluginlib (hardcoded plugins)• actionlib• test packages!• ROS 2.0 support

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 18 / 20

Page 16: ROS Android-NDK - What? Why? How?ROS Android-NDK What? Why? How? Gary Servín Ekumen #ROSCon15 October 3, 2015 Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 1 / 20

How to contribute?

• http://wiki.ros.org/android_ndk/• https://github.com/creativa77/roscpp_android• [email protected] | @garyservin• http://www.ekumenlabs.com/

Gary Servín (Ekumen) ROS Android-NDK #ROSCon15 October 3, 2015 20 / 20