Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Setup)
m (Setup Notes)
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Mathematics and science (English)]]
+
[[Category:Mathematics and science]]
{{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 is much easier to get ROS running on an Arch system but still takes some effort. Read the notes below and then go 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"
+
  
Follow the [http://www.ros.org/wiki/diamondback/Installation/Arch ROS wiki] afterwards.
+
With Fuerte, ROS is split into two levels. The core libraries are installed into the system folders ({{ic|/opt/ros/fuerte}}) while the higher-level stacks and packages are installed in the user folders.
  
== Alternate Setup ==
+
The Arch-specific install page lists the packages (official and AUR) that you will need to install for a full 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
+
cd packer
+
makepkg
+
#Adjust to match your version...
+
sudo packman -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
+
{{AUR|ros-core}}, available in the [[AUR]], is the package for the core libraries.
{{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=
+
To build the higher level packages you will need to do some work:
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|
+
# Install [[AUR]] packages: {{AUR|ros-on-arch}} {{AUR|pcl-ros}} {{AUR|swig-wx}} {{AUR|qhull-ros}}
source ~/ros/setup.sh && rosmake ros ros_comm --rosdep-install
+
# Pull the sources with {{ic|rosinstall}}
}}
+
# Patch the sources to compile with GCC 4.7 [https://code.ros.org/trac/ros-pkg/attachment/ticket/5417/ros.patch]
== Issues ==
+
# Resolve dependencies with {{ic|rosdep}}
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].
+
# Build with {{ic|rosmake}}

Revision as of 05:05, 12 October 2012

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 is much easier to get ROS running on an Arch system but still takes some effort. Read the notes below and then go to the installation page on the ROS website

Setup Notes

With Fuerte, 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.

ros-coreAUR, available in the AUR, is the package for the core libraries.

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

  1. Install AUR packages: ros-on-archAUR pcl-rosAUR swig-wxAUR qhull-rosAUR
  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