Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Setup)
(Setup)
Line 33: Line 33:
 
And run the following every time you want to work in ROS:
 
And run the following every time you want to work in ROS:
  
  source /home/erwin/ros/setup.bash
+
  source ~/ros/setup.bash
  
 
The .bash file calls the .sh file.  
 
The .bash file calls the .sh file.  

Revision as of 21:25, 21 February 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 – فارسی

Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Ros#)
Note: Python3 and gcc46 is not supported in ros yet, might be best to wait for a update.

Originally from the ROS wiki. 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

Get dependencies, and create alternate python dir to workaround shebang line in scripts that point to python3. Thanks to 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
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 Reference and add #define BOOST_FILESYSTEM_VERSION 2 before the first includes and definitions:

~/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:

export PATH=/usr/local/bin/alt:$PATH

And run the following every time you want to work in ROS:

source ~/ros/setup.bash

The .bash file calls the .sh file.

Follow the ROS wiki afterwards.

Alternate Setup

This is more or less the same as above... Install an AUR helper...

#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

sudo pacman -S cmake wget python2-yaml mercurial subversion git python2-distribute
sudo packer -S pysvn-py2 log4cxx

Grab rosinstall

sudo easy_install-2.7 -U rosinstall

Pull down all the sources for a full desktop install

rosinstall ~/ros 'http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=electric&variant=desktop-full&overlay=no' -n
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

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
source ~/ros/setup.sh && rosmake ros ros_comm --rosdep-install

Issues

If package fails to build. You can apply this patch.