Introduction to ROS2 (Nav2) With MoboBot Workshop for the ROS Naija Abuja Meetup 28th, March 2026.
PRESENTATION LINK JUST ENSURE YOU SET UP YOUR PC FOR THE WORKSHOP
📝 Note:
- You would be setting up Ubuntu 24.04, ros-jazzy-desktop, and Gazebo Harmonic.
- You can also follow with Windows 11 and WSL with Ubuntu24.04 LTS
- Those who use Ubuntu 22.04 and ros-humble can also follow along
- Watch Tutorial: YouTube Tutorial
- Open PowerShell from windows start menu and run the following command to install WSL
wsl --install
- Follow this Tutorial to Install ubuntu 24.04 on WSL
- Watch Tutorial: YouTube Tutorial
- Visual Studio Code: Install VSCode
- Docker Desktop: Install Docker
- Follow this repo: ROS2env
- Watch this video ROS2env
- In VSCode: Click
Reopen in Container
The
.devcontainerfolder is pre-configured with ROS2 Jazzy and tools.
-
Robocre8 Tutorial (Recommended): How To Install ROS2 Jazzy Desktop On PC (FULL INSTALL)
-
Official ROS Documentation: ROS 2 Jazzy (Ubuntu Noble 24.04)
-
Post-Installation Check:
echo $ROS_DISTRO
🧰 Workshop Package: MoboBot
Give the package a ⭐ and learn more about ROS and robotics by Robocre8.
MoboBot is a compact yet powerful open-source robot designed to foster the learning of advanced autonomous indoor mobile robotics with ROS2 — both in real-world applications and simulation.
concepts such as sensor-fusion, control, state-estimation, mapping, localization, SLAM, navigation, obstacle avoidance, perception, with AI.
📝 Note:
- Your Dev PC must be running Ubuntu 24.04, ros-jazzy-desktop, and Gazebo Harmonic.
- If you followed the installation guide, you should not worry about this info
- just follow the instructions below by just copying and pasting. There's no need to worry much.
- Cyclone DDS Setup:
NOTE: if you follow the installation guide, you'd have installed this. You can skip this step.
sudo apt install ros-jazzy-rmw-cyclonedds-cpp
export RMW_IMPLEMENTATION=rmw_cyclonedds_cppecho "export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp" >> ~/.bashrc
-
Create Workspace:
mkdir -p ~/mobo_bot_ws/src && cd ~/mobo_bot_ws && colcon build
source ~/mobo_bot_ws/install/setup.bash
-
Clone Arrow Key Teleop Package:
sudo apt install python3-pip -y && sudo apt install python3-pynput -ycd ~/mobo_bot_ws/src && git clone https://github.com/samuko-things/arrow_key_teleop_drive.git
Learn more about the arrow_key_teleop_drive
-
Clone MoboBot Packages:
cd ~/mobo_bot_ws/src && git clone -b jazzy https://github.com/robocre8/mobo_bot.git
-
Ignore Hardware (optional):
cd ~/mobo_bot_ws/src/mobo_bot/mobo_bot_base && touch COLCON_IGNORE
-
Install Dependencies:
cd ~/mobo_bot_ws && rosdep update && rosdep install --from-paths src --ignore-src -r -y
-
Build Packages:
cd ~/mobo_bot_ws && colcon build --symlink-install
-
Export MOBOBOT_BASE_TYPE env variable
export MOBOBOT_BASE_TYPE=2WDecho "export MOBOBOT_BASE_TYPE=2WD" >> ~/.bashrc
- Robot State Publisher, Rviz Visualization, and TF tree View:
source ~/mobo_bot_ws/install/setup.bash && ros2 launch mobo_bot_bringup tf_view.launch.py use_hardware:=false
NOTE: run in different terminals.
-
Start Simulation:
source ~/mobo_bot_ws/install/setup.bash && ros2 launch mobo_bot_bringup sim.launch.py #use_camera:=true
-
Control with Keyboard:
source ~/mobo_bot_ws/install/setup.bash && ros2 run arrow_key_teleop_drive arrow_key_teleop_drive 0.3 0.9 true
NOTE: you would need to click into the rviz or simulation for the arrow_key_teleop drive to start woking. because it uses pynput
NOTE: also feel free to use any other teleop package you want



