Skip to main content

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.

install_ros_packages.sh installs the additional ROS2 Humble packages required for the mobile robotics course — including the Gazebo simulator bridge, the ros2-control hardware abstraction stack, state-estimation tools, joystick teleoperation support, and data-visualization utilities. Run this script after ros2_install.sh has completed successfully and you have sourced your updated ~/.bashrc.

Script Location

The script lives at Scripts/install_ros_packages.sh in the MobileRobot repository.

Running the Script

Navigate to the directory where you downloaded the script, make it executable, and run it:
sudo chmod +x install_ros_packages.sh
./install_ros_packages.sh
The script changes its working directory to /home/ros before executing. If your Linux home directory username is different (e.g. /home/ubuntu or /home/student), open the script and update the cd /home/ros line to match your actual home path, or simply run the script from your own home directory.

What the Script Does

1

Update the package index

Refreshes the APT package lists to ensure the latest package metadata is available:
sudo apt-get update
2

Upgrade existing packages

Upgrades all currently installed packages to their latest versions before adding new ones:
sudo apt-get upgrade
3

Install ROS2 Humble packages

Installs each required package individually with apt-get install. The full sequence from the script is shown below:
sudo apt-get install ros-humble-ros2-controllers
sudo apt-get install ros-humble-gazebo-ros
sudo apt-get install ros-humble-gazebo-ros-pkgs
sudo apt-get install ros-humble-ros2-control
sudo apt-get install ros-humble-gazebo-ros2-control
sudo apt-get install ros-humble-joint-state-publisher-gui
sudo apt-get install ros-humble-turtlesim
sudo apt-get install ros-humble-robot-localization
sudo apt-get install ros-humble-joy
sudo apt-get install ros-humble-joy-teleop
sudo apt-get install ros-humble-tf-transformations
sudo apt-get install ros-humble-plotjuggler
sudo apt-get install ros-humble-plotjuggler-ros

Package Reference

The table below describes the purpose of every package installed by the script:
PackagePurpose
ros-humble-ros2-controllersStandard controller library for ROS2 — provides diff-drive, joint trajectory, and other common robot controllers
ros-humble-gazebo-rosCore ROS2 bridge for Gazebo Classic — lets ROS2 nodes spawn models and communicate with the Gazebo server
ros-humble-gazebo-ros-pkgsAdditional Gazebo/ROS2 integration packages including sensor plugins, camera drivers, and laser scan support
ros-humble-ros2-controlHardware abstraction layer for robot control — defines the controller_manager and hardware interface API
ros-humble-gazebo-ros2-controlGazebo plugin that connects the ros2_control controller manager to Gazebo-simulated actuators and sensors
ros-humble-joint-state-publisher-guiGUI slider tool for manually publishing JointState messages — useful for testing URDF models without a physical robot
ros-humble-turtlesimClassic turtle simulator used for learning fundamental ROS2 concepts such as topics, services, and actions
ros-humble-robot-localizationState estimation package providing Extended Kalman Filter (EKF) and Unscented Kalman Filter (UKF) nodes for mobile robot localization
ros-humble-joyROS2 driver node that reads input from a Linux joystick device and publishes sensor_msgs/Joy messages
ros-humble-joy-teleopTeleoperation node that subscribes to sensor_msgs/Joy messages and translates button/axis inputs into robot velocity commands
ros-humble-tf-transformationsPython utilities for converting between rotation representations (quaternions, Euler angles, rotation matrices) in the TF2 framework
ros-humble-plotjugglerHigh-performance real-time time-series data visualization tool — supports drag-and-drop plotting of ROS2 topics
ros-humble-plotjuggler-rosROS2 plugin for PlotJuggler — adds native support for subscribing to ROS2 topics and bag files directly within the PlotJuggler interface
After the script finishes, run source ~/.bashrc in your terminal (or open a new terminal) so that the newly installed packages are discoverable on your ROS_PACKAGE_PATH. You can also use the sb alias added by ros2_install.sh as a shortcut.

Build docs developers (and LLMs) love