Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Alternate Setup)
(Initial documentation for fuerte. Detailed instructions for Fuerte needed.)
Line 1: Line 1:
 
[[Category:Mathematics and science (English)]]
 
[[Category:Mathematics and science (English)]]
 
{{i18n|ROS}}
 
{{i18n|ROS}}
{{Out of date}}
 
  
{{Note|Python3 and gcc46 is not supported in ros yet, might be best to wait for a update.}}
 
  
Originally from the [http://www.ros.org/wiki/diamondback/Installation/Arch ROS wiki].
 
 
[http://www.ros.org ROS] is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management.
 
[http://www.ros.org ROS] is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management.
  
== Setup ==
+
With the ROS Fuerte release, it's much easier to get ROS running on an Arch system but still takes some effort. Read the notes below and then got to [http://www.ros.org/wiki/fuerte/Installation/Arch|the installation page on the ROS website]
Get dependencies, and create alternate python dir to workaround shebang line in scripts that point to python3. Thanks to [http://evorobo.blogspot.com/2011/07/robotics-operating-system.html DavidS]. Symlink libboost_filesystem.so to libboost_filesystem-mt.so, not an ideal solution, but it works. Then install rosinstall, and ros.
+
  
pacman -S cmake wget python-yaml svn boost python-yaml pil python-numpy python2-yaml python2-pip python2-distribute python2
+
== Setup Notes ==
yaourt -S log4cxx pysvn-py2 gcc45
+
mkdir /usr/local/bin/alt 
+
ln -s /usr/bin/python2 /usr/local/bin/alt/python 
+
ln -s /usr/bin/gcc-4.5 /usr/local/bin/alt/gcc 
+
ln -s /usr/bin/g++-4.5 /usr/local/bin/alt/g++
+
export PATH=/usr/local/bin/alt:$PATH
+
ln -s /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem-mt.so
+
sudo easy_install-2.7 -U rosinstall
+
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=desktop-full&overlay=no"
+
  
If there are any problems with libboost, edit the following files [http://answers.ros.org/question/558/ros-installation-on-mac-architecture-symbol-error Reference] and add #define BOOST_FILESYSTEM_VERSION 2 before the first includes and definitions:
+
With fuerte, there ROS is split into two levels. The core libraries are installed into the system folders (/opt/ros/fuerte) while the higher-level stacks and packages are installed in the user folders.
+
~/ros/ros_comm/tools/rosrecord/src/rosrecord/recorder.cpp
+
~/ros/ros_comm/tools/rosrecord/include/rosrecord/Player.h
+
  
Later, the PATH for the python and gcc 4.5 symblink must be added in every execution of ROS, but not at the beggining of Arch because this can cause problems. You add the following to the file ~/ros/setup.sh:
+
The Arch specific install page lists the packages (official and AUR) that you will need to install for a full setup.
  
export PATH=/usr/local/bin/alt:$PATH
+
There is a AUR package for the [https://aur.archlinux.org/packages.php?ID=58203 core libraries].
  
And run the following every time you want to work in ROS:
+
To build the higher level packages you will need to do some work...
  
source ~/ros/setup.bash
+
# Install aur packages {{ic|ros-on-arch pcl-ros swig-wx qhull-ros}}
 
+
# Pull the sources with rosinstall
The .bash file calls the .sh file.
+
# Patch the sources to compile with GCC 4.7 [https://code.ros.org/trac/ros-pkg/attachment/ticket/5417/ros.patch]
 
+
# Resolve dependencies with rosdep
Follow the [http://www.ros.org/wiki/diamondback/Installation/Arch ROS wiki] afterwards.
+
# Build with rosmake
 
+
== Alternate Setup ==
+
This is more or less the same as above...
+
Install an AUR helper...
+
{{bc|
+
#Grab dependencies for packer
+
sudo pacman -S bash curl grep jshon pacman sed
+
mkdir -p ~/tmp
+
cd ~/tmp
+
wget https://aur.archlinux.org/packages/pa/packer/packer.tar.gz
+
tar -xzf packer.tar.gz
+
cd packer
+
makepkg
+
#Adjust to match your version...
+
sudo pacman -U packer-20120221-1-any.pkg.tar.xz
+
sudo ln -s /usr/bin/packer /usr/bin/yaourt
+
}}
+
Install some dependencies
+
{{bc|
+
sudo pacman -S cmake wget python2-yaml mercurial subversion git python2-distribute
+
sudo packer -S pysvn-py2 log4cxx
+
}}
+
 
+
Grab rosinstall
+
{{bc|
+
sudo easy_install-2.7 -U rosinstall
+
}}
+
Pull down all the sources for a full desktop install
+
{{bc|<nowiki>
+
rosinstall ~/ros 'http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=desktop-full&overlay=no' -n</nowiki>
+
}}
+
 
+
{{bc|1=
+
mkdir /usr/local/bin/alt 
+
ln -s /usr/bin/python2 /usr/local/bin/alt/python
+
export PATH=/usr/local/bin/alt:$PATH
+
}}
+
Add arch as a ros installer
+
{{bc|
+
git clone https://github.com/lubosz/rosstacks.git
+
cd rosstacks
+
git diff 67ca3..HEAD > arch.patch
+
cp arch.patch ~/ros/ros
+
cd ~/ros/ros
+
patch -p1 < arch.patch
+
}}
+
 
+
{{bc|
+
source ~/ros/setup.sh && rosmake ros ros_comm --rosdep-install
+
}}
+
 
+
== Issues ==
+
If package fails to build. You can apply this [http://code.google.com/p/bullet/issues/attachmentText?id=481&aid=-7554332888653313858&name=zero_initialize.patch&token=a338762d74f222c8a20c9170102cf429 patch].
+

Revision as of 16:51, 7 April 2012

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی


ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management.

With the ROS Fuerte release, it's much easier to get ROS running on an Arch system but still takes some effort. Read the notes below and then got to installation page on the ROS website

Setup Notes

With fuerte, there ROS is split into two levels. The core libraries are installed into the system folders (/opt/ros/fuerte) while the higher-level stacks and packages are installed in the user folders.

The Arch specific install page lists the packages (official and AUR) that you will need to install for a full setup.

There is a AUR package for the core libraries.

To build the higher level packages you will need to do some work...

  1. Install aur packages ros-on-arch pcl-ros swig-wx qhull-ros
  2. Pull the sources with rosinstall
  3. Patch the sources to compile with GCC 4.7 [1]
  4. Resolve dependencies with rosdep
  5. Build with rosmake