Agent skill · Workflow & Productivity

matlab-plan-robot-motion

Plan manipulator motion and generate trajectories in MATLAB. Use when the task involves moving a robot arm between configurations or poses — whether the user says "trajectory," "motion," "path," "move from A to B," or "plan." This skill applies regardless of whether the user explicitly mentions collisions or obstacles; if geometry exists in the workspace, collision safety is implicit. Triggers on: manipulatorRRT, manipulatorCHOMP, dlCHOMP, contopptraj, trapveltraj, collision-free path, motion planner, RRT, CHOMP, TOPPRA, path shortening, obstacle avoidance for manipulators, time-optimal trajec

matlabgithub.com/matlabGitHub ↗
claude-codecodexcopilotNOASSERTION
Install
npx skills add matlab/matlab-agentic-toolkit --skill matlab-plan-robot-motion --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 4
SKILL.md size: 19 KB
Bundled scripts: none
Version: 1.0
Declared author: MathWorks
Path: skills-catalog/robotics-and-autonomous-systems/matlab-plan-robot-motion/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 868
Language: MATLAB

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

Review
written from the skill's own SKILL.md · Aug 5, 2026

What it does

Plans collision-free paths for a robot manipulator and converts them into time-parameterized trajectories that respect velocity and acceleration limits. It covers generating trajectories between waypoints, time-optimal paths, constant-velocity profiles, and smooth options, with support for planning between configurations or Cartesian poses and for connecting IK solutions or user-provided waypoints.

How it works

The skill guides the agent through a step-by-step workflow:

  • Assess whether a collision environment exists and model it using representations such as collisionBox, collisionCylinder, collisionMesh, occupancyMap3D, meshtsdf, or SphericalObstacles, choosing a planner (default is manipulatorRRT; CHOMP if seeking smoothness with mesh-based environments).
  • Pre-conditions require loading a robot model via a dedicated kinematics skill and confirming collision meshes and row-format data.
  • Step 2 selects a planner based on environment type, with default to manipulatorRRT and notes on when CHOMP is preferable for smoothness.
  • Step 3 plans the path using manipulatorRRT (including skipping self-collisions via SkippedSelfCollisions) and then shortens the path with shorten. In occupancy-map scenarios, provide Map=omap and adjust parameters accordingly.
  • Step 4 generates the trajectory using contopptraj (time-optimal), trapveltraj (constant velocity), or minjerkpolytraj (smooth unless obstacles govern otherwise). Arguments include velocity/acceleration limits, path transposition, and specific options like MaxIterations, ValidationDistance, and SmoothnessOptions.
  • Step 5 verifies the resulting trajectory for collisions along samples using checkCollision, adjusting planning resolution if needed.
  • Step 6 visualizes and animates the plan, showing the robot and environment.

Key functions involved include manipulatorRRT, manipulatorCHOMP, contopptraj, trapveltraj, minjerkpolytraj, checkCollision, and several collision primitives and mapping utilities.

When to use it

Use when moving a robot arm between joint configurations or Cartesian poses, generating any trajectory between waypoints, modeling obstacles for planning, choosing between motion planners (RRT, CHOMP, dlCHOMP), verifying a trajectory is collision-free, or connecting IK solutions or waypoints to form a trajectory. Triggers include terms like trajectory, motion, path, move from A to B, plan, as well as specific planner and path planning terms listed in the workflow.

What it can touch

The skill references a set of tools and functions that the agent may instantiate or call, including:

  • manipulatorRRT, manipulatorCHOMP, contopptraj, trapveltraj, minjerkpolytraj, checkCollision, collisionBox, collisionCylinder, collisionSphere, collisionMesh, occupancyMap3D, meshtsdf, geom2struct, manipulatorStateSpace, plannerBiRRT.
  • It also uses environment representations and collision objects as input (e.g., {} for empty collision objects with Map=omap).

Caveats

  • Pre-conditions require invoking /matlab-model-robot-kinematics first; do not proceed until the robot model exists in MATLAB workspace.
  • The environment must include collision meshes for reliable collision checking; otherwise, planning results may be invalid.
  • DataFormat must be 'row' for configuration vectors.
  • Self-collision handling relies on SkippedSelfCollisions at construction time; altering it post-construction can cause type issues.
  • The workflow emphasizes verifying the entire trajectory post-generation, since interpolation can introduce collisions not seen in waypoint checks.
  • The license is provided by MathWorks and is NOASSERTION.
From the SKILL.md

# Manipulator Motion Planning Plan collision-free paths for manipulators and convert them to time-optimal trajectories that respect velocity and acceleration limits. ## When to Use - Moving a robot arm between joint configurations or Cartesian poses — regardless of whether the user says "trajectory," "motion," "path," or "plan" - Generating any trajectory between waypoints (time-optimal, constant-velocity, trapezoidal, minimum-jerk) - Planning a collision-free path between configurations - Modeling obstacles as collision environments for planning - Choosing between motion planners (RRT, CHOMP, dlCHOMP) - Verifying a trajectory is collision-free - Any task where the robot moves through space and geometry exists in the workspace — collision safety is implicit even if the user doesn't mention it ## When NOT to Use - Building, loading, or importing the robot model — use `/matlab-model-robot-kinematics` - Solving IK/FK or validating solutions — use `/matlab-model-robot-kinematics` - Attaching grippers or configuring end-effectors — use `/matlab-model-robot-kinematics` - Mobile robot navigation (wheeled platforms, ground vehicles) - Dynamics simulation (`inverseDynamics`, `forwardDynamic

What's inside
Steps it walks through
  1. When to Use
  2. When NOT to Use
  3. Pre-conditions
  4. Workflow
  5. Step 0: Assess Collision Risk
  6. Step 1: Model the Environment
  7. Step 2: Select a Planner
  8. Step 3: Plan the Path
  9. Step 4: Generate Trajectory (Time-Parameterize the Path)
  10. Step 5: Verify Collision-Free Trajectory
  11. Step 6: Visualize
  12. Key Functions
  13. Common Mistakes
Ships with 3 files
  • manifest.yaml
  • references/planner-comparison.md
  • references/self-collision-skip-procedure.md
More from matlab-agentic-toolkit
All skills →
About this skill
What does the matlab-plan-robot-motion skill do?

Plan manipulator motion and generate trajectories in MATLAB. Use when the task involves moving a robot arm between configurations or poses — whether the user says "trajectory," "motion," "path," "move from A to B," or "plan." This skill applies regardless of whether the user explicitly mentions collisions or obstacles; if geometry exists in the workspace, collision safety is implicit. Triggers on: manipulatorRRT, manipulatorCHOMP, dlCHOMP, contopptraj, trapveltraj, collision-free path, motion planner, RRT, CHOMP, TOPPRA, path shortening, obstacle avoidance for manipulators, time-optimal trajec

How do I install it?

Run `npx skills add matlab/matlab-agentic-toolkit --skill matlab-plan-robot-motion --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From matlab/matlab-agentic-toolkit, a repository with 868 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going