ros2-dev

Solid

Nav2 & SLAM: AMCL, costmaps, MPPI/DWB/Smac plugins, behavior trees, SLAM Toolbox, RTAB-Map, Isaac ROS VSLAM, docking.

AI & Automation 16 stars 2 forks Updated today Apache-2.0

Install

View on GitHub

Quality Score: 80/100

Stars 20%
41
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
80
License 10%
100
Description 5%
100

Skill Content

# Nav2 & SLAM Development (Ubuntu 24.04 LTS & ROS 2 Jazzy) ## 1. Establish first (Nav2-specific; the general gates are in `CLAUDE.md`) Nav2 config is only correct relative to a specific robot. Ask if unstated: - **Footprint / inscribed radius** — `inflation_radius` and every "won't fit through the door" complaint depend on it. A default copied from a tutorial robot is the most common root cause of bad navigation. - **Drive type** — diff / omni / ackermann. Sets `motion_model` and rules out planners (car-like needs `SmacPlannerHybrid`). - **Where does `map -> odom` come from** — AMCL, SLAM Toolbox, or RTAB-Map? Exactly one may publish it. Two is a silent conflict. - **Modifying an existing `nav2_params.yaml` or starting fresh?** Modify in place when one exists; a wholesale replacement silently drops the robot-specific values already tuned into it. ## 2. The loop 1. **Read the shipped defaults first** — `/opt/ros/$ROS_DISTRO/share/nav2_bringup/params/nav2_params.yaml`. This is the baseline for every value you write; never emit a parameter you haven't seen there or in the docs. 2. **Verify odometry and TF physically before touching Nav2 params.** Bad odom cannot be fixed by tuning — `check_odom_direction.py`, `check_tf_tree.py --sensors laser_frame` (bundled in `ros2-troubleshooting`). 3. **Write the config**, changing one thing at a time from the baseline. 4. **Prove it**: all lifecycle servers `active` (`ros2 lifecycle get /controller_server`), a goal is accepted, and the...

Details

Author
Leehyunbin0131
Repository
Leehyunbin0131/claude-ros2-skills
Created
4 days ago
Last Updated
today
Language
Python
License
Apache-2.0

Similar Skills

Semantically similar based on skill content — not just same category