OnboardingV1:Explanation: What are Ubuntu, Linux, and ROS?

From R@M Wiki

ROS[edit | edit source]

Robotics @ Maryland programs using ROS (Robot Operating System). ROS is not a true operating system, rather it is a set of libraries that makes robotics programming more convenient.

The biggest reason we use ROS is because of how popular and standard it is. It is widely used in both academic and industrial robotics. There are many existing software packages that integrate with ROS.

ROS officially supports Python and C++, so we tend to use those programming languages.

For simulating our robots, we use Gazebo because it integrates well with ROS. Both ROS and Gazebo are Open Robotics projects.

Ubuntu and Linux[edit | edit source]

Linux is a family of operating systems that are an alternative to something like Windows or macOS. A Linux-based operating system is usually called a "Linux distribution". We use the Ubuntu Linux distribution because it is popular and it is the main one that ROS targets, making our lives easier.

You will have the smoothest R@M experience if you have a bare-metal (not a virtual machine) Ubuntu installation. If you are already using another operating system, you won't have to get rid of it because you can dual-boot/multi-boot, which means having multiple operating systems installed on your computer at once.

Versions[edit | edit source]

The current main computer on our submarine is the Nvidia Jetson Xavier NX. The most recent Ubuntu version it supports is Ubuntu 20.04 (Focal Fossa), and the corresponding ROS2 version is Foxy Fitzroy.

There are potential work arounds to allow running newer versions of ROS on our current computer, but for now we're targeting ROS Foxy Fitzroy. (If you're interested in working on this, talk to the software lead.)