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.
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:
Run an almost complete set of the main core packaged in Debian https://wiki.debian.org/DebianScience/Robotics/ROS/DebianPackages.