assisted-teleop

Configure Nav2 AssistedTeleop behavior to blend manual joystick control with costmap-based collision avoidance.

Updated Aug 16, 2026
One-click install
npx skills add https://github.com/three1324/yeonjinautomotive --skill assisted-teleop-three1324
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: assisted-teleop
Source: https://github.com/three1324/yeonjinautomotive/tree/main/.claude/skills/assisted-teleop
Command: npx skills add https://github.com/three1324/yeonjinautomotive --skill assisted-teleop-three1324

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Raw teleoperation gives operators no collision protection, so a moment of inattention can drive a robot into obstacles. This Skill configures the Nav2 AssistedTeleop behavior, which projects every manual velocity command forward against the local costmap and scales down or zeroes commands that would cause a collision. ## Core Features & Use Cases - Collision-filtered manual control: Subscribes to a separate cmd_vel_teleop topic, projects the robot footprint forward by projection_time seconds, and publishes a safe, scaled command to cmd_vel. - Behavior Tree integration: Provides BT XML patterns for manual override modes and time-limited teleop using Timeout decorators, plus full behavior_server YAML configuration. - Tuning and debugging guidance: Includes a projection_time tuning table (0.5s/1.0s/2.0s trade-offs) and ros2 CLI commands for diagnosing zeroed commands and costmap issues. - Use Case: An operator monitoring a robot remotely takes manual control via joystick to investigate an alert; AssistedTeleop automatically slows the robot as it approaches walls, then autonomous navigation resumes after a 30-second timeout. ## Quick Start Configure the Nav2 behavior server with the assisted_teleop plugin and route my joystick commands through cmd_vel_teleop so collisions are automatically prevented.

Frequently Asked Questions about assisted-teleop

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

FAQPage Schema
How do I set up Nav2 assisted teleop with collision avoidance?

Add the nav2_behaviors::AssistedTeleop plugin to the behavior_server's behavior_plugins list, then publish operator commands to the cmd_vel_teleop topic. The behavior projects each command against the local costmap and publishes a scaled, collision-safe command to cmd_vel.

What is the difference between raw teleop and Nav2 AssistedTeleop?

Raw teleop publishes velocity commands directly with no collision prevention, while AssistedTeleop filters every command through the local costmap, scaling speed down near obstacles and zeroing commands when collision is imminent. It requires the behavior_server and a local costmap.

How do I limit how long an operator can control the robot?

Wrap the AssistedTeleop BT node in a Timeout decorator, for example with msec="30000" for 30 seconds. When the timeout expires, the Behavior Tree cancels AssistedTeleop and resumes autonomous navigation.

Why are all my teleop commands being zeroed in Nav2?

Zeroed commands mean the robot believes it is surrounded by obstacles in the local costmap. Check the inflation radius and sensor configuration in the local costmap, and inspect costmap data with ros2 topic echo on the costmap_raw topic.

What projection_time value should I use for assisted teleop?

A projection_time of 1.0 second is the recommended balance between safety and responsiveness. Use 0.5 seconds for tighter control near obstacles at higher risk, or 2.0 seconds for conservative behavior that stops well away from obstacles.