Differences between revisions 41 and 53 (spanning 12 versions)
Revision 41 as of 2016-02-27 23:35:15
Size: 4212
Editor: ?LeopoldPalomo
Comment:
Revision 53 as of 2022-05-08 22:18:07
Size: 3757
Editor: ?JochenSprickerhof
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Installation instruction to install ROS on Debian. == Shortcuts about ROS in Debian ==
Line 3: Line 3:
[[DebianScience/Robotics/ROS/Todo|TODO]]  * [[ DebianScience/Robotics/ROS/Packages | Status of the current native packages ]]
 * [[ DebianScience/Robotics/ROS/DebianRoboticsPackages| Debian for Robotics packages ]]
 * [[ DebianScience/Robotics/ROS/OnBuster | Installing ROS in Buster ]]
 * [[ DebianScience/Robotics/ROS/DebianPackages | What are the native packages ?]]
Line 5: Line 8:
[[DebianScience/Robotics/ROS/Development|How to help]] == Introduction ==
Line 7: Line 10:
[[DebianScience/Robotics/ROS/Motivation|Motivation]] 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 9: Line 12:
[[DebianScience/Robotics/ROS/Packages|Status of Packages]]

[[https://anonscm.debian.org/cgit/debian-science/packages/ros|source repos]]

[[http://build.osrfoundation.org/view/debbuild-debian/job/ros_debian_science-default-devel-jessie-amd64/|continuous integration Debian Jessie]]
[[http://build.osrfoundation.org/view/debbuild-debian/job/ros_debian_science-default-devel-sid-amd64/|continuous integration Debian Stretch]]
[[http://build.osrfoundation.org/view/debbuild-debian/job/ros_debian_science-default-devel-trusty-amd64/|continuous integration Ubuntu Trusty]]

=== Repos (containing ROS core and more) ===

{{{#!wiki solid/blue
We have changed the version scheme in our binary repos. If you installed ROS before 20150929 please downgrade all packages to the current versions.
}}}

We have a repo (jessie-robotics and the packages not uploaded to unstable) kindly hosted by Institute of Industrial and Control Engineering
at UPC in sir.upc.edu. This repo has the packages signed by 63DE76AC0B6779BF. To use is recommended to add its key:

{{{#!highlight bash
sudo apt-key adv --keyserver sks-keyservers.net --recv-keys 63DE76AC0B6779BF
or
sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 63DE76AC0B6779BF
}}}

to use with

Debian Stretch/Sid:

Packages are upload to official Debian distribution. Packages not yet uploaded could be obtained in platform amd64 at sir.upc.edu:

{{{#!highlight bash
sudo sh -c 'echo "deb http://sir.upc.edu/debian-robotics unstable main" > /etc/apt/sources.list.d/debian-robotics.list'
}}}
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 43: Line 15:
Debian Jessie (amd64): == ROS1 installation ==
Line 45: Line 17:
We have backported all the officially packages in the Debian distribution plus the missing ones not yet uploaded. We have built packages for amd64, i386 and armhf. The official [[http://wiki.ros.org/noetic/Installation|ROS page]] shows that the platforms supported are:
Line 47: Line 19:
{{{#!highlight bash
sudo sh -c 'echo "deb http://sir.upc.edu/debian-robotics jessie-robotics main" > /etc/apt/sources.list.d/debian-robotics.list'
}}}
 * Ubuntu Focal amd64 armhf arm64
 * Debian Buster amd64 arm64
Line 51: Line 22:
The rest of the platforms are experimental. In case you are running Bullseye or Testing/Unstable you cannot use Upstream packages.
Line 52: Line 24:
Ubuntu Trusty: 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!!.
Line 54: Line 26:
We have some packages from amd64, i386 and armhf for Ubuntu Trusty at launchpad. === There are another options? ===
Line 56: Line 28:
[[https://launchpad.net/~deb-rob/+archive/ubuntu/ros-trusty|Ubuntu Trusty]]:
{{{#!highlight bash
sudo add-apt-repository ppa:deb-rob/ros-trusty
}}}
Yes!! A big yes. The answer depend on the number of packages that you need of ROS1. For the majority of the users, that only needs the core libraries and some applications you can use your Debian distro without any other stuff. The necessary packages are the Debian native packages and you can obtain more information [[ DebianScience/Robotics/ROS/DebianPackages | here ]]. They began to appear in the archive since Debian Stretch.
Line 61: Line 30:
=== Compile the rest of desktop-full === === Your versions in Stable are outdated ===
Line 63: Line 32:
In Debian Unstable all the dependencies are there. For Jessie, we had to backported some libraries to have the same version than Unstable: Yes, if you are here you know how Debian works. However, you can use [[ DebianScience/Robotics/ROS/DebianRoboticsPackages| Debian for Robotics packages ]] that has backported versions of Unstable and some plus to use in Debian Stable.
Line 65: Line 34:
 * assimp
 * log4cxx
 * gazebo (6.5)
 * orocos-kdl
 * collada-dom
 * ompl
 * fcl
 * ignition-math2
 * sdformat
=== But, I need ros-foo that is wonderful and it is no packaged ===
Line 75: Line 36:
Installing the needed packages: You have several options. For instance, if you are running Debian Buster/Bullseye/Testing/Unstable) you can use the [[ DebianScience/Robotics/ROS/DebianPackages | native packages ]] and complete the rest. [[ DebianScience/Robotics/ROS/OnBuster | Here ]] there is an example of how to do it.
Line 77: Line 38:
{{{#!highlight bash
sudo apt-get update
sudo apt-get install ros-desktop-full-dev libros-filters-plugins-dev
}}}
If you are running Debian Bullseye, with the [[ DebianScience/Robotics/ROS/DebianRoboticsPackages| Debian for Robotics packages ]] you can use [[https://salsa.debian.org/robotics-team/ros4debian | ros4debian ]] to have an almost complete installation.
Line 82: Line 40:
Compile the rest. First download the list of missing packages: [[attachment:jade-debian-desktop-full-missing-packages_20160216.rosinstall]]

{{{#!highlight bash
mkdir ~/ros
cd ~/ros
wstool init -j8 src jade-debian-desktop-full-missing-packages_20160216.rosinstall
catkin_make_isolated --install
}}}

To use the local ROS workspace:
{{{#!highlight bash
echo "source ~/ros/install_isolated/setup.bash" >> ~/.bashrc
source ~/ros/install_isolated/setup.bash
}}}

and after, you can create you catkin_ws and use catkin_make with you own
workspaces.


=== Notes for the jessie-robotics repo ===

Our target has been always ros-full-desktop but we have package some interesting packages like ros-realtime-tools, ros-control-toolbox, ros-ros-control. There are users that are using this repo for armhf. If you are one of them, and you are using packages from https://rcn-ee.com , be careful because you can have a collision between packages. Our recommendation is by now is to make pinning from packages hosted in sir.upc.edu over rcn-ee.com. To do that:

{{{#!highlight bash
sudo sh -c 'cat > /etc/apt/preferences.d/jesse-robotics-700 <<EOL
# prefer jessie-robotics stream over rcn-ee jessie which would be default prio (500)

Package: *
Pin: release a=jessie-robotics
Pin-Priority: 700
EOL'
}}}


Please, tell us is all is working,
Or, simply, build the [[ http://wiki.ros.org/noetic/Installation/Source | sources ]] of what you need

Shortcuts about ROS in Debian

Introduction

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

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. In case you are running Bullseye or Testing/Unstable you cannot use Upstream packages.

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!!.

There are another options?

Yes!! A big yes. The answer depend on the number of packages that you need of ROS1. For the majority of the users, that only needs the core libraries and some applications you can use your Debian distro without any other stuff. The necessary packages are the Debian native packages and you can obtain more information here. They began to appear in the archive since Debian Stretch.

Your versions in Stable are outdated

Yes, if you are here you know how Debian works. However, you can use Debian for Robotics packages that has backported versions of Unstable and some plus to use in Debian Stable.

But, I need ros-foo that is wonderful and it is no packaged

You have several options. For instance, if you are running Debian Buster/Bullseye/Testing/Unstable) you can use the native packages and complete the rest. Here there is an example of how to do it.

If you are running Debian Bullseye, with the Debian for Robotics packages you can use ros4debian to have an almost complete installation.

Or, simply, build the sources of what you need