147 lines
5.8 KiB
Plaintext
147 lines
5.8 KiB
Plaintext
This is a layer to provide ROS in an openembedded linux system.
|
|
Currently, this layer is still under development and not fully functional.
|
|
|
|
AUTHOR
|
|
Lukas Bulwahn, BMW Car IT GmbH <lukas.bulwahn@oss.bmw-carit.de>
|
|
|
|
HOW TO CONTRIBUTE
|
|
|
|
We are still working on this development and are interested in other use cases.
|
|
If you are interested in this project, please contact us via email.
|
|
The more people are interested, the more we will be pushing this project.
|
|
If you want to contribute, please contact us and we can discuss open issues
|
|
and how we could join forces.
|
|
|
|
|
|
PURPOSE of this document:
|
|
This document describes
|
|
- the state of the current work
|
|
- the installation and use of the git repository meta_ros
|
|
- license information and origin of redistributed files
|
|
|
|
|
|
STATE OF THIS WORK:
|
|
|
|
This repository provides
|
|
- Native compilation of ROS-fuerte
|
|
- Native compilation of ROS-groovy
|
|
- Attempt of cross-compilation of ROS-fuerte (discontinued)
|
|
- Cross-compilation of catkin 0.5.58 (shipped with ROS-groovy)
|
|
- catkin 0.5.58 setup for cross-compiling catkin packages
|
|
- Attempt of cross-compilation of ROS-groovy (in development)
|
|
|
|
INSTALLATION:
|
|
|
|
The repository only contains a layer for ros that builds on top of the existing openembedded core layer.
|
|
You can download the yocto poky-danny-8.0 archive, but then you should update the distutils.bbclass,
|
|
and maybe also the url of libarchive.
|
|
To install, unpack http://downloads.yoctoproject.org/releases/yocto/yocto-1.3/poky-danny-8.0.tar.bz2 into a directory <dir>.
|
|
|
|
In the directory of the layers, clone this repository into the subdirectory meta-ros.
|
|
Add the meta-ros directory to your local bblayers.conf file.
|
|
|
|
|
|
USE for native compilation of ROS-fuerte on the qemu VM:
|
|
The commands
|
|
source oe-init-build-env
|
|
bitbake core-image-ros-fuerte
|
|
builds our specifically configured linux image.
|
|
|
|
With `runqemu qemux86 qemuparams="-m 2048" core-image-ros-fuerte` the linux image runs within a virtual machine with 2048 MB of memory.
|
|
We assumed that this is running on and compiled for an x86 architecture. For other architectures, some settings must be adjusted.
|
|
|
|
On the host system, run fetch-ros-fuerte.sh in a fresh directory, e.g. ~/ros-repos/.
|
|
It clones all ros repositories locally.
|
|
After starting the virtual machine, copy the installation script from the host system to the home directory with scp.
|
|
|
|
scp lukas@192.168.7.1:/<location of repository>/install-fuerte.sh .
|
|
|
|
Adjust configuration in install-fuerte.sh and then run
|
|
|
|
sh ./install-fuerte.sh
|
|
|
|
The installation script installs ros and starts roscore.
|
|
|
|
|
|
USE for native compilation of ROS-groovy on the qemu VM:
|
|
The commands
|
|
source oe-init-build-env
|
|
bitbake core-image-ros-groovy
|
|
builds our specifically configured linux image.
|
|
|
|
With `runqemu qemux86 qemuparams="-m 2048" core-image-ros-groovy` the linux image runs within a virtual machine with 2048 MB of memory.
|
|
We assumed that this is running on and compiled for an x86 architecture. For other architectures, some settings must be adjusted.
|
|
|
|
On the host system, run mk_srcarchive.sh in some clean temporary directory.
|
|
It copies all ros sources from their URLs and puts them into one src.tar.gz archive.
|
|
After starting the virtual machine, copy the installation script from the host system to the home directory with scp.
|
|
|
|
scp lukas@192.168.7.1:/<location of repository>/install-groovy.sh .
|
|
|
|
Adjust configuration in install-groovy.sh and then run
|
|
|
|
sh ./install-groovy.sh
|
|
|
|
The installation script installs ros and starts roscore.
|
|
|
|
|
|
USE for cross-compilation of ROS-fuerte (discontinued):
|
|
|
|
source oe-init-build-env
|
|
bitbake ros
|
|
|
|
momentarily fails at some point with:
|
|
|
|
> CMake Error at catkin/cmake/find_program_required.cmake:5 (message):
|
|
> check_test_ran.py not found
|
|
> Call Stack (most recent call first):
|
|
> ../catkin/CMakeFiles/tests.cmake:31 (find_program_required)
|
|
> ../catkin/CMakeFiles/tests.cmake:41 (catkin_initialize_tests)
|
|
> catkin/cmake/all.cmake:54 (include)
|
|
> catkin/CMakeLists.txt:12 (include)
|
|
>
|
|
>
|
|
>
|
|
> -- Configuring incomplete, errors occurred!
|
|
>
|
|
>
|
|
> ERROR: Function failed: do_configure (see /home/lukas/NEW/poky-danny-8.0/build/tmp/work/i586-poky-linux/ros-1.0-r0/temp/log.do_configure.9702 for further information)
|
|
> ERROR: Logfile of failure stored in: /home/lukas/NEW/poky-danny-8.0/build/tmp/work/i586-poky-linux/ros-1.0-r0/temp/log.do_configure.9702
|
|
|
|
|
|
USE for cross-compilation of ROS-groovy (in development):
|
|
|
|
Currently, we can cross-compile 4 packages:
|
|
ros-cpp-common, rostime, roscpp-traits, roscpp-serialization (packages in roscpp_core)
|
|
|
|
with the commands:
|
|
source oe-init-build-env
|
|
bitbake <package-name>
|
|
|
|
|
|
LICENSE
|
|
|
|
All metadata is MIT licensed unless otherwise stated. Source code included
|
|
in tree for individual recipes is under the LICENSE stated in each recipe
|
|
(.bb file) unless otherwise stated.
|
|
|
|
This README document is Copyright (C) 2012 BMW Car IT GmbH.
|
|
|
|
|
|
REDISTRIBUTIONS
|
|
|
|
The log4cxx recipe originated from the recipe in the OpenEmbedded (Classic) Development
|
|
(cf. http://cgit.openembedded.org/openembedded/tree/recipes/log4cxx)
|
|
licensed with the MIT License.
|
|
The core-image-ros recipe originated from the core-image-minimal recipe in OpenEmbedded Core
|
|
(cf. http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-core/images/core-image-minimal.bb)
|
|
licensed with the MIT License.
|
|
The distutils class originated from the distutils class in OpenEmbedded Core
|
|
(cf. http://cgit.openembedded.org/openembedded-core/tree/meta/classes/distutils.bbclass)
|
|
licensed with the MIT License.
|
|
The libtinyxml recipe originated from the recipe in the OpenEmbedded meta layer
|
|
(cf. http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/libtinyxml)
|
|
licensed with the MIT License.
|
|
|
|
The modified files are redistributed here under the same MIT License.
|