Differences between revisions 1 and 48 (spanning 47 versions)
Revision 1 as of 2015-05-14 15:49:18
Size: 1682
Editor: ?LeopoldPalomo
Comment: Initial input. It's a draft
Revision 48 as of 2022-01-28 10:14:06
Size: 2741
Editor: ?LeopoldPalomo
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The official ROS page shows that as platform supported are: Ubuntu and Ubuntu (armhf). Also, it's supported from source. Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system but a collection of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management [[[https://en.wikipedia.org/wiki/Robot_Operating_System| Wikipedia]]. ROS has two main versions: ROS1 and ROS2.
Line 3: Line 3:
Install ROS is a Debian box is not a trivial thing. OSRF(current ROS maintainer) provides packages for Ubuntu generated using a tool (bloom). They are installed in /opt/ros/$rosversion and doesn't obey FHS. This point has been discussed in the past [ 1,2], but and some efforts has been done to accomplish it, but it's implementation has show some drawbacks hidden in the ROS implementation. ROS is released as distributions, also called “distros”, with more than one ROS distribution supported at a time. Check upstream [[ http://www.ros.org | web ]] for more information. This framework consists of about 1600 packages or projects that give a myriad of benefits for those of us who work in the field of robotics.
Line 5: Line 5:
Also, some GNU/Linux distributions are more strict than other, but for example Debian requires that any library installed has defined a SONAME.
Line 7: Line 6:
The initiative of packaging ROS for Debian was initiated by Thomas Moulard for the debian-science group and continued by Jochen Sprickerhof and Leopold Palomo-Avellaneda. The sources of the packages are hosted here. == ROS1 installation ==
Line 9: Line 8:
We have created a set of packages of the core of ROS plus other extras. Currently (May 2015) we have more than half of the packages of desktop_full installation. The packages have been build for: Debian Jessie and Stretch(sid-testing) and Ubuntu Trusty. If you want to install ROS1 in a Debian box you have a few options. The official [[http://wiki.ros.org/noetic/Installation|ROS page]] shows that the platforms supported are:
Line 11: Line 10:
All the packages comes from the same sources and we just have recompiled in a clean environment for the selected distros. They are more or less lintian clean, but we are still under development. They obey FHS and have the needed SONAMES. The aim of all this effort is to upload them as official packages in Debian.  * Ubuntu Focal amd64 armhf arm64
 * Debian Buster amd64 arm64
Line 13: Line 13:
All the installations need the packages created and some part compiled. Also, with a few steps in the environment. With the base of the packages, you can compile almost all the packages created for ROS. To use them try: The rest of the platforms are experimental.

The packages they provide are self-generated and do not feet most the rules of the Debian project. Each package, for [[ https://github.com/ros-visualization/qt_gui_core/tree/melodic-devel/qt_gui |example]], contains a package.xml file that among other things, it contains what its dependencies are for, to build and to run the package. Upstream provides a tool [[ http://wiki.ros.org/bloom | python3-bloom ]] , that it is in the [[ https://packages.debian.org/bullseye/python3-bloom | archive]] which generates a debian directory with necessary files to run debuild from that debian directory. It's a rudimentary package that for example, provides the *.pyc files!!.

If you are running Debian Buster that is a possible option. Another option is to use the [[ https://wiki.debian.org/DebianScience/Robotics/ROS/DebianPackages | native packages ]] and complete the rest as is mentioned [[ https://wiki.debian.org/DebianScience/Robotics/ROS/OnBuster | here ]]. In case you are running Bullseye or Testing/Unstable you cannot use Upstream packages. You have these options:

 * [[ http://wiki.ros.org/noetic/Installation/Source | Install from sources.]]
 * Run an almost complete set of the main core packaged in Debian [[https://wiki.debian.org/DebianScience/Robotics/ROS/DebianPackages ]].
 * Use [[ https://wiki.debian.org/DebianScience/Robotics/ROS/DebianRoboticsPackages| Debian for Robotics packages ]] and [[https://salsa.debian.org/robotics-team/ros4debian | ros4debian ]] to have an almost complete installation.

== ROS2 installation ==

Robot Operating System (ROS or ros) is an open-source robotics middleware suite. Although ROS is not an operating system but a collection of software frameworks for robot software development, it provides services designed for a heterogeneous computer cluster such as hardware abstraction, low-level device control, implementation of commonly used functionality, message-passing between processes, and package management ?Wikipedia. ROS has two main versions: ROS1 and ROS2.

ROS is released as distributions, also called “distros”, with more than one ROS distribution supported at a time. Check upstream web for more information. This framework consists of about 1600 packages or projects that give a myriad of benefits for those of us who work in the field of robotics.

ROS1 installation

If you want to install ROS1 in a Debian box you have a few options. The official ROS page shows that the platforms supported are:

  • Ubuntu Focal amd64 armhf arm64
  • Debian Buster amd64 arm64

The rest of the platforms are experimental.

The packages they provide are self-generated and do not feet most the rules of the Debian project. Each package, for example, contains a package.xml file that among other things, it contains what its dependencies are for, to build and to run the package. Upstream provides a tool python3-bloom , that it is in the archive which generates a debian directory with necessary files to run debuild from that debian directory. It's a rudimentary package that for example, provides the *.pyc files!!.

If you are running Debian Buster that is a possible option. Another option is to use the native packages and complete the rest as is mentioned here. In case you are running Bullseye or Testing/Unstable you cannot use Upstream packages. You have these options:

ROS2 installation