graceful-controller

Control robot motion toward a goal pose with curvature-constrained trajectories.

18|2|Updated Apr 20, 2026
One-click install
npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill graceful-controller
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: graceful-controller
Source: https://github.com/wimblerobotics/ros2-copilot-skills/tree/main/graceful-controller
Command: npx skills add https://github.com/wimblerobotics/ros2-copilot-skills --skill graceful-controller

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

GracefulController implements a smooth control law for gracefully approaching a goal pose, producing arc-like motion instead of sharp, abrupt maneuvers.

Core Features & Use Cases

  • Smooth docking and precise approach to a goal pose with curvature constraints.
  • Supports multiple controller plugins and per-path selection via the controller_id parameter.
  • Configurable parameters such as min_turning_radius, v_linear_min/max, k_phi, initial_rotation, and final_rotation to tailor behavior for real-world deployments.

Quick Start

Configure the GracefulController as the active controller in your controller_server configuration and tune min_turning_radius as needed.

Frequently Asked Questions about graceful-controller

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I achieve smooth docking and precise approach in Nav2 without jerky motion?▼

Smooth docking in Nav2 requires a curvature-constrained controller plugin. GracefulController generates arc-like trajectories and supports configurable parameters like min_turning_radius and velocity bounds to prevent abrupt maneuvers during final approaches.

Can I configure a minimum turning radius and velocity limits for a ROS2 controller plugin?▼

Yes, configuring a minimum turning radius and velocity limits is supported. GracefulController exposes parameters such as min_turning_radius, v_linear_min/max, k_phi, and rotation behaviors to tailor motion planning for specific robotic platforms.

How do I set up a controller plugin for curvature-constrained motion planning in ROS2?▼

To set up curvature-constrained motion planning, configure the controller as active in your Nav2 controller_server. GracefulController integrates directly as a Nav2 controller plugin and supports per-path selection via the controller_id parameter.

Does this Nav2 controller support initial and final rotation behaviors for precise docking?▼

Yes, initial and final rotation behaviors are supported for precise docking. GracefulController includes configurable parameters for initial_rotation and final_rotation, allowing you to control how the robot orients itself when approaching a goal pose.

What is the best way to handle simple navigation tasks in ROS2 while avoiding sharp maneuvers?▼

Handling simple navigation tasks while avoiding sharp maneuvers requires a smooth control law. GracefulController implements curvature-constrained trajectories that produce graceful, arc-like motion instead of abrupt turns, making it suitable for both navigation and docking.

Why does my robot perform abrupt turns during the final approach to a goal pose in Nav2?▼

Abrupt turns during final approach happen when the controller lacks curvature constraints. GracefulController solves this by applying a smooth control law that generates arc-like motion, ensuring the robot approaches the goal pose gracefully without jerky movements.