Difference between revisions of "Ros"

From ArchWiki
Jump to: navigation, search
(Setup Notes - Groovy: added note about yaourt install)
(Added bash alias for catkin_make.)
 
(24 intermediate revisions by 12 users not shown)
Line 1: Line 1:
 
[[Category:Mathematics and science]]
 
[[Category:Mathematics and science]]
 +
[[ja:Ros]]
 +
{{Accuracy|Links to questionable, outdated third-party resource for installation instructions (yaourt, pacman -Sy, etc.)}}
 
[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 Notes - Groovy ==
+
== Installation Instructions ==
  
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.
+
=== Kinetic ===
  
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.
+
Kinetic packages on the AUR are a work in progress. There are [https://github.com/bchretien/arch-ros-stacks/issues/57#issuecomment-228612399 some issues regarding opencv3] that have not been fully resolved yet. That said, installing a metapackage such as {{AUR|ros-kinetic-ros-core}} or {{AUR|ros-kinetic-robot}} should bring in all required dependencies. Beware of AUR helpers, some cannot navigate the highly complex dependency trees that ROS generates.
  
== Usage Notes - Groovy ==
+
Packages are being added on an as-needed basis. Please send package requests to <aur AT seangreenslade DOT com>, and post any issues with the current packages in their respective AUR comments section.
  
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):
+
Note that catkin uses python2, and therefore catkin_make may fail unless it it explicitly pointed to the python2 install. To do so, add the following alias to 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).
+
alias catkin_make="catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python2 -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/libpython2.7.so"
  
For further information on how to use ROS, see the [http://www.ros.org/wiki/ROS/Tutorials ROS Tutorials].
+
=== Jade ===
 +
 
 +
For ROS Jade, see [http://wiki.ros.org/jade/Installation/Arch Installation Instructions for jade in Arch Linux].
 +
 
 +
{{Note|
 +
If using gcc in version 6.x or above, log4cxx 0.10 (one of dependencies) will not build. Use SVN version ({{AUR|log4cxx-svn}} in aur) until 0.11 is released.}}
 +
 
 +
=== Indigo ===
 +
 
 +
For ROS Indigo, see [http://wiki.ros.org/indigo/Installation/Arch Installation Instructions for Indigo in Arch Linux].
 +
 
 +
== Rebuild when Boost is updated ==
 +
 
 +
When you update a library that ROS depends on, e.g. Boost, then you need to rebuild all the packages that link to it. You can determine which ROS packages depend on Boost with a command similar to the one below.
 +
 
 +
export LANG=C;pacman -Qi boost | grep "Required By" | tr " " "\n" | grep -e "^ros"

Latest revision as of 04:24, 23 December 2016

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Links to questionable, outdated third-party resource for installation instructions (yaourt, pacman -Sy, etc.) (Discuss in Talk:Ros#)

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.

Installation Instructions

Kinetic

Kinetic packages on the AUR are a work in progress. There are some issues regarding opencv3 that have not been fully resolved yet. That said, installing a metapackage such as ros-kinetic-ros-coreAUR or ros-kinetic-robotAUR should bring in all required dependencies. Beware of AUR helpers, some cannot navigate the highly complex dependency trees that ROS generates.

Packages are being added on an as-needed basis. Please send package requests to <aur AT seangreenslade DOT com>, and post any issues with the current packages in their respective AUR comments section.

Note that catkin uses python2, and therefore catkin_make may fail unless it it explicitly pointed to the python2 install. To do so, add the following alias to 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"

Jade

For ROS Jade, see Installation Instructions for jade in Arch Linux.

Note: If using gcc in version 6.x or above, log4cxx 0.10 (one of dependencies) will not build. Use SVN version (log4cxx-svnAUR in aur) until 0.11 is released.

Indigo

For ROS Indigo, see Installation Instructions for Indigo in Arch Linux.

Rebuild when Boost is updated

When you update a library that ROS depends on, e.g. Boost, then you need to rebuild all the packages that link to it. You can determine which ROS packages depend on Boost with a command similar to the one below.

export LANG=C;pacman -Qi boost | grep "Required By" | tr " " "\n" | grep -e "^ros"