To use all the functionalities and computing capabilities a mobile device has to offer, developers need to create native applications. ROS is widely used in the robotics community. However, a native port of ROS on iOS has yet to be developed. Having a native ROS port on iOS would allow better integration with existing applications and libraries. Instead of bridging iOS applications with a new protocol with ROS, using native ROS C++ implementation for messages and nodes is desirable. This project aims to create a reusable and easy to use ROS for iOS Framework for use with Apple's Xcode development environment with the following guidelines :
- Concentrate on the C++ part of ROS' core libraries.
- Reuse parts of the ROS build system to build an iOS framework.
- Reuse all the communication protocols, messages and services available from ROS.
- Create a complete ROS node running on the mobile device by reusing the same C++ code.
- Start from ROS sources hosted on GitHub and apply minimum patches to allow compilation for iOS.
- Automate the creation of a reusable ROS framework for use with Apple's Xcode development tool.
- Ronan Chauvin
- François Ferland
- Dominic Létourneau
- Ferland, F., Chauvin, R., Létourneau, D., Michaud, F. (2014), “Hello Robot, can you come here? Using ROS4iOS to provide remote perceptual capabilities for visual location, speech and speaker recognition,” Proceedings International ACM/IEEE Conference on Human-Robot Interaction. (pdf) (mp4)
ROS for iOS on GitHub
- Code available on GitHub.