File | Date | Author | Commit |
---|---|---|---|
ios_cmake | 2013-03-27 | Ronan Chauvin | [a02a1d] Utilisation of the libc++ standard library (Too... |
log4cxx | 2013-08-05 | Ronan Chauvin | [be04e0] Refs #386. Integration of the audio and camera ... |
ros | 2013-10-22 | Ronan Chauvin | [c40095] Merge branch 'master' of https://github.com/int... |
xcode_project | 2013-10-22 | Ronan Chauvin | [c40095] Merge branch 'master' of https://github.com/int... |
.gitignore | 2013-03-07 | Ronan Chauvin | [96005b] A cmake_gen.sh script for generating the cmake ... |
README.md | 2013-10-22 | Ronan Chauvin | [c40095] Merge branch 'master' of https://github.com/int... |
build.sh | 2013-09-05 | Ronan Chauvin | [d9d289] Modifications in demo_app |
Pre-compiled frameworks are available at : https://sourceforge.net/projects/ros4ios/
How to build the Robot Operating System for the iOS platform.
First of all, you need to be on a MacOSX system with the Xcode and the iOS toolchain
installed. You also need to have the command line tools installed (svn,
git ... see Xcode options) and the CMake build system. The automated script will build all the necessary
libraries for you :
git clone https://github.com/introlab/ros_for_ios.git
sh build.sh
After few minutes, a ros for ios framework is available for the ios arm7, arm7s and
simulator in the ros/frameworks directory and ready for use. A demonstration
application is also provided to test the framework. Open demo_app/ros_ios/ros_ios.xcodeproj with Xcode and
build the demonstration application. The project should compile without any intervention.
The following is for your information.
ROS base system depends of two main libraries :
* Boost (useful c++ library)
* log4cxx (log system with levels)
The first step before build the ROS tree is to get an iOS framework of these
two libraries.
git://gitorious.org/~galbraithjoseph/boostoniphone/galbraithjosephs-boostoniphone.git
or
git://gitorious.org/~d16/boostoniphone/d16s-boost-iphone.git
The catkin build system available with the ROS groovy release is not used.
Here is the principal parts that has been built (for arm7, arm7s and i386
simulator) from the sources available on the ROS GitHub
(https://github.com/ros) :
roscpp_core (https://github.com/ros/roscpp_core.git) :
roscpp_core is an underlying library for support roscpp message data types. It is a
lightweight/minimal library that can easily be used in non-ROS-based projects.
ros_comm (https://github.com/ros/ros_comm.git) :
ROS communications-related packages, including core client libraries (roscpp, rospy,
roslisp) and graph introspection tools (rostopic, rosnode, rosservice, rosparam).
ros (https://github.com/ros/ros.git) :
Main package
core messages :
The headers of the ros messages are put into a specific framework. By this way, they
can be added with #include <message_package/header.h>
.
You can use the script message_gen.sh to generate the messages framework you need.
This script uses the genmsg and gencpp packages in order to generate the header files.
For example,
sh message_gen.sh -f path_to_nav_msgs path_to_std_msgs path_to_geometry_msgs
will build nav_msgs.framework which depends of std_msgs and geometry_msgs (it's also
possible to generate a simple folder with the -d option instead of the -f).
It's an Xcode project which can be found in the xcode_project directory.
Some iOS demonstration apps were realized.
It is needed to export the ROS_HOSTNAME of the computer running the ros master.
export ROS_HOSTNAME=IP_COMPUTER
IntRolab
http://introlab.3it.usherbrooke.ca
Université de Sherbrooke, Québec, Canada