For robotics teachers: ROS2 AMCL Localization — Particle Filter on a Known Map | Open Class #11
The Construct Robotics Institute 1:04:35
281 views · 12 likes Watch on YouTube ↗
After building a map for navigation, the next challenge is determining where the robot is located on that map — without localization, no planner can generate a meaningful navigation goal. This project bundles Nav2’s AMCL (Adaptive Monte Carlo Localization), a map server, and a preconfigured RViz2 layout into a single amcl_localization ROS 2 package.
After initializing an approximate starting pose using RViz2’s 2D Pose Estimate tool, students can teleoperate the robot (FastBot Pro from BotBox) through the warehouse environment included in BotBox and observe hundreds of particle hypotheses on /particle_cloud converge into a precise estimate on /amcl_pose. AMCL continuously scan-matches incoming /fastbot_1/scan data against the static /map while broadcasting the map → odom TF transform required by downstream Nav2 nodes — all switchable between simulation and the real robot using a single use_sim_time argument.
You will learn:
✅ Structuring an ament_python package with launch, config, and rviz folders, and installing data directories via setup.py
✅ Configuring AMCL through a YAML parameter file — sensor model, motion model, particle counts, and TF frame names matched to the robot
✅ Writing a unified launch file that brings up map_server, amcl, and rviz2 together under a lifecycle_manager that activates them in the correct order
✅ Seeding and re-seeding the particle filter via the 2D Pose Estimate tool or by publishing directly to /initialpose, and recognising convergence and multi-modal failure modes during teleop
📁 *ROS project link: https://app.theconstruct.ai/l/72e6b057/
🤖️ *Robot & Warehouse Environment Used: BotBot Robot Lab https://www.theconstruct.ai/botbox-warehouse-lab/
Related courses:
* C++ for Robotics (Free): https://app.theconstruct.ai/courses/c-for-robotics-59/
* ROS2 Basics in 5 Days (C++): https://app.theconstruct.ai/courses/ros2-basics-in-5-days-c-325/
* ROS2 Navigation: https://app.theconstruct.ai/courses/ros2-navigation-humble-148/
============================
[For Robotics Teachers Open Class], a weekly series of videos by The Construct Robotics Institute, aims to make robotics education easier by helping teachers teach a wide range of robotics topics through hands-on practice.
Each session provides a ROS-based project (referred to as ROSJECTs 🦾 📁) for all attendees, including notebooks, code, and robot simulations. Led by ROS expert Desire, you'll see how robotics teaching and hands-on practice come together in real time.
*Missed a session? Find recordings & ROSJECTs on https://app.theconstruct.ai/open-classes/*
We're excited to share this series with you! If you have questions or want to explore new topics, drop us a comment below.
Cheers.
*The Construct Robotics Institute | Where Your Robotics Career Happens*
============================
👨🏫 Class Creator: Desire (ROS Tutor @The Construct Robotics Institute )
👩💻 Class cover designer: Sonia/Ruojun Wang (Marketing @The Construct Robotics Institute )
--
#ai #Robotics #ros #robot #ros2
After initializing an approximate starting pose using RViz2’s 2D Pose Estimate tool, students can teleoperate the robot (FastBot Pro from BotBox) through the warehouse environment included in BotBox and observe hundreds of particle hypotheses on /particle_cloud converge into a precise estimate on /amcl_pose. AMCL continuously scan-matches incoming /fastbot_1/scan data against the static /map while broadcasting the map → odom TF transform required by downstream Nav2 nodes — all switchable between simulation and the real robot using a single use_sim_time argument.
You will learn:
✅ Structuring an ament_python package with launch, config, and rviz folders, and installing data directories via setup.py
✅ Configuring AMCL through a YAML parameter file — sensor model, motion model, particle counts, and TF frame names matched to the robot
✅ Writing a unified launch file that brings up map_server, amcl, and rviz2 together under a lifecycle_manager that activates them in the correct order
✅ Seeding and re-seeding the particle filter via the 2D Pose Estimate tool or by publishing directly to /initialpose, and recognising convergence and multi-modal failure modes during teleop
📁 *ROS project link: https://app.theconstruct.ai/l/72e6b057/
🤖️ *Robot & Warehouse Environment Used: BotBot Robot Lab https://www.theconstruct.ai/botbox-warehouse-lab/
Related courses:
* C++ for Robotics (Free): https://app.theconstruct.ai/courses/c-for-robotics-59/
* ROS2 Basics in 5 Days (C++): https://app.theconstruct.ai/courses/ros2-basics-in-5-days-c-325/
* ROS2 Navigation: https://app.theconstruct.ai/courses/ros2-navigation-humble-148/
============================
[For Robotics Teachers Open Class], a weekly series of videos by The Construct Robotics Institute, aims to make robotics education easier by helping teachers teach a wide range of robotics topics through hands-on practice.
Each session provides a ROS-based project (referred to as ROSJECTs 🦾 📁) for all attendees, including notebooks, code, and robot simulations. Led by ROS expert Desire, you'll see how robotics teaching and hands-on practice come together in real time.
*Missed a session? Find recordings & ROSJECTs on https://app.theconstruct.ai/open-classes/*
We're excited to share this series with you! If you have questions or want to explore new topics, drop us a comment below.
Cheers.
*The Construct Robotics Institute | Where Your Robotics Career Happens*
============================
👨🏫 Class Creator: Desire (ROS Tutor @The Construct Robotics Institute )
👩💻 Class cover designer: Sonia/Ruojun Wang (Marketing @The Construct Robotics Institute )
--
#ai #Robotics #ros #robot #ros2
Playback is via YouTube's official embedded player. Data from YouTube; Exumo is not affiliated with YouTube.