Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Setup)
(Setup Notes - Groovy: added note about yaourt install)
(35 intermediate revisions by 11 users not shown)
Line 1: Line 1:
Originally from the [http://www.ros.org/wiki/cturtle/Installation/Arch ROS wiki].
+
[[Category:Mathematics and science]]
 
[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 ==
+
== Setup Notes - Groovy ==
  
pacman -S python2 cmake wget python-yaml python2-distribute python-yaml pil python-numpy
+
Currently, groovy is the only (semi-)supported ROS release that has Arch packages. The core, comm, and robot variants have meta-packages that should install all the necessary packages: {{AUR|ros-groovy-ros}}, {{AUR|ros-groovy-ros-comm}}, (TODO: robot metapackage). In addition, {{AUR|ros-groovy-rviz}} (along with its dependencies) has a package. Beware, the dependency tree goes at least five levels deep at times. {{AUR|yaourt}} handles it (somewhat), {{AUR|packer}} falls flat. It is strongly recommended that you install {{AUR|ros-groovy-ros}} first to prevent yaourt's ridiculous dependency thrashing.
yaourt -S log4cxx
+
mkdir /usr/local/bin/alt 
+
ln -s /usr/bin/python2 /usr/local/bin/alt/python
+
  
== Rosinstall ==
+
The packages are all available in the maintainer's github: [https://github.com/zootboy/arch-ros-stacks arch-ros-stacks]. Not all packages there are in a working state, so use with caution. Please, report any issues with the packages on their respective AUR pages.
  
The following lines will download the ROS source code using the rosinstall tool, and bootstrap the installation. The installation downloads all ROS stacks in subdirectories inside the ~/ros directory, one subdirectory for each stack in the rosinstall file.
+
== Usage Notes - Groovy ==
  
First install rosinstall:
+
Due to the fact that Ubuntu and Arch handle the python2/3 binary split differently, catkin_make[_isolated] will not work on its own. To use these commands, create the following aliases in your ~/.bashrc (or equivalent):
 +
alias catkin_make='catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so'
 +
alias catkin_make_isolated='catkin_make_isolated -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so'
  
sudo easy_install-2.7 -U rosinstall
+
Without these lines, cmake will default to python 3, which you don't want. It is also possible to simply add the defines into any call of catkin_make[_isolated] (which you have to do if you want to call those commands within a script).
  
Then use rosinstall to download your preferred C-Turtle variant:
+
For further information on how to use ROS, see the [http://www.ros.org/wiki/ROS/Tutorials ROS Tutorials].
 
+
ROS-only: Includes basic ROS and tutorials.
+
 
+
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=cturtle&variant=ros_only&overlay=no"
+
 
+
Base Install: ROS plus robot-generic stacks (e.g. navigation, visualization)
+
 
+
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=cturtle&variant=base&overlay=no"
+
 
+
PR2 Install: ROS plus PR2-specific stacks, including PR2 simulator.
+
 
+
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=cturtle&variant=pr2&overlay=no"
+
 
+
PR2 All Install: ROS plus PR2 and bleeding edge research/experimental stacks.
+
 
+
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=cturtle&variant=pr2all&overlay=no"
+
 
+
NOTE: the instructions above download all stacks inside the ~/ros folder. If you prefer a different location, simply change the ~/ros in the commands above.
+
 
+
==Environment Setup==
+
 
+
You'll now need to update your environment. You can do this by typing:
+
 
+
source ~/ros/setup.bash
+
 
+
It's convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched, which you can do with the command below:
+
 
+
echo "source ~/ros/setup.bash" >> ~/.bashrc
+
. ~/.bashrc
+
 
+
For Zsh users, change the last line of ~/ros/setup.zsh to
+
 
+
source $ROS_ROOT/tools/rosbash/roszsh
+
 
+
before running source ~/ros/setup.zsh Similarly, have the setup script called at the start of each new shell session with
+
 
+
echo "source ~/ros/setup.zsh" >> ~/.zshrc
+
. ~/.zshrc
+
 
+
== Tutorials==
+
 
+
Now, to test your installation, please proceed to the [http://www.ros.org/wiki/ROS/Tutorials ROS Tutorials].
+

Revision as of 17:50, 27 May 2013

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 Notes - Groovy

Currently, groovy is the only (semi-)supported ROS release that has Arch packages. The core, comm, and robot variants have meta-packages that should install all the necessary packages: ros-groovy-rosAUR, ros-groovy-ros-commAUR, (TODO: robot metapackage). In addition, ros-groovy-rvizAUR (along with its dependencies) has a package. Beware, the dependency tree goes at least five levels deep at times. yaourtAUR handles it (somewhat), packerAUR falls flat. It is strongly recommended that you install ros-groovy-rosAUR first to prevent yaourt's ridiculous dependency thrashing.

The packages are all available in the maintainer's github: arch-ros-stacks. Not all packages there are in a working state, so use with caution. Please, report any issues with the packages on their respective AUR pages.

Usage Notes - Groovy

Due to the fact that Ubuntu and Arch handle the python2/3 binary split differently, catkin_make[_isolated] will not work on its own. To use these commands, create the following aliases in your ~/.bashrc (or equivalent):

alias catkin_make='catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so'
alias catkin_make_isolated='catkin_make_isolated -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so'

Without these lines, cmake will default to python 3, which you don't want. It is also possible to simply add the defines into any call of catkin_make[_isolated] (which you have to do if you want to call those commands within a script).

For further information on how to use ROS, see the ROS Tutorials.