This page walks you through the recommended native installation path for ROS2 Humble on Ubuntu 22.04. You will set up a VMware Workstation Player 17 virtual machine, boot an Ubuntu 22.04 Desktop image inside it, and then run two shell scripts from the MobileRobot repository —Documentation Index
Fetch the complete documentation index at: https://mintlify.com/xXThanatosXx/MobileRobot/llms.txt
Use this file to discover all available pages before exploring further.
ros2_install.sh and install_ros_packages.sh — to get a fully configured ROS2 workspace with all mobile-robotics dependencies ready for the course.
Prerequisites
VMware Workstation Player 17
Download VMware-player-17.5.2-23775571.exe.tar from the link, decompress the archive, and run the resulting
.exe installer on Windows.Ubuntu 22.04 Desktop ISO
Download the ubuntu-22.04.5-desktop-amd64.iso image and use it as the installation medium when creating your virtual machine in VMware Player.
System Requirements
- Ubuntu 22.04.x (Jammy Jellyfish) — 64-bit Desktop edition
sudo(administrator) access inside the VM- Active internet connection for package downloads
Installation Steps
Download the installation scripts
Clone or download the MobileRobot repository from GitHub and save the
Scripts/ folder to your Downloads directory inside the VM.Verify the executable bit
ros2_install.sh shows -rwxr-xr-x (or similar) in the permission column.Run the ROS2 installer
- Sets locale — configures
en_US.UTF-8system-wide - Adds ROS2 APT sources — imports the official ROS signing key and adds the
ros2/ubunturepository - Installs
ros-humble-desktop— the full desktop meta-package including RViz2, rqt, and demo nodes - Creates
~/colcon_ws— initialises a colcon workspace at$HOME/colcon_ws/srcand runs an initialcolcon build --symlink-install - Installs build tools —
python3-argcomplete,python3-colcon-common-extensions,python3-vcstool,python3-rosdep2 - Configures
~/.bashrc— appends aliases andsourcelines (see .bashrc additions below)
Open a new terminal and update package lists
Press Ctrl + Alt + T to open a fresh terminal so the new
.bashrc environment is fully loaded, then run:Install ROS2 simulation and visualisation packages
$ROS_DISTRO variable is automatically set to humble by the sourced setup file, so no manual substitution is needed.Run the ROS packages installer
Navigate back to your scripts directory, make This script installs the additional mobile-robotics packages used throughout the course, including:
install_ros_packages.sh executable, verify it, then execute it:| Package | Purpose |
|---|---|
ros-humble-ros2-controllers | Standard ROS2 hardware controllers |
ros-humble-gazebo-ros-pkgs | Gazebo–ROS2 integration |
ros-humble-ros2-control | Hardware abstraction layer |
ros-humble-gazebo-ros2-control | Gazebo ROS2 control plugin |
ros-humble-turtlesim | Simulation tutorial package |
ros-humble-robot-localization | EKF/UKF state estimation |
ros-humble-joy & ros-humble-joy-teleop | Joystick teleoperation |
ros-humble-tf-transformations | TF utility functions |
ros-humble-plotjuggler-ros | Real-time data plotting |
Install Terminator (optional but recommended)
Terminator provides a split-pane terminal that is very useful when working with multiple ROS2 nodes simultaneously.
.bashrc Additions Added by the Script
After ros2_install.sh finishes, the following lines are appended to your ~/.bashrc:
nb and sb aliases are convenience shortcuts for editing and reloading your shell configuration. The three source lines ensure that the ROS2 environment, your workspace overlay, and colcon tab-completion are all loaded in every new terminal session.
ROS_DOMAIN_ID is set to 0 by default. If you are working on a shared network with other ROS2 users, change this value in ~/.bashrc to any integer between 0 and 101 so your nodes only communicate with peers on the same domain. Use the nb alias to open .bashrc quickly, then run sb to apply the change.