Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Setup Notes - Groovy: added note about yaourt install)
(24 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Out of date}}
+
[[Category:Mathematics and science]]
 
+
Python3 and gcc46 isn't 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 ==
+
== Setup Notes - Groovy ==
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 python2 cmake wget python-yaml svn python2-distribute boost 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 
+
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.
  ln -s /usr/bin/python2 /usr/local/bin/alt/python
+
 
  export PATH=/usr/local/bin/alt:$PATH
+
== Usage Notes - Groovy ==
ln -s /usr/lib/libboost_filesystem.so /usr/lib/libboost_filesystem-mt.so  
+
 
sudo easy_install-2.7 -U 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):
rosinstall ~/ros "http://packages.ros.org/cgi-bin/gen_rosinstall.py?rosdistro=diamondback&variant=desktop-full&overlay=no"
+
  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).
  
Follow the [http://www.ros.org/wiki/diamondback/Installation/Arch ROS wiki] afterwards.
+
For further information on how to use ROS, see the [http://www.ros.org/wiki/ROS/Tutorials ROS Tutorials].
== Issues ==
+
Tf 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 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.