モーション プランニング
モーション プランニングを使用して、環境内を通るパスを計画します。RRT、RRT*、ハイブリッド A* などの一般的なサンプリングベースのプランナー、深層学習ベースのプランナーを使用するか、独自のカスタマイズ可能なパス計画インターフェイスを指定することができます。パス メトリクス、状態空間のサンプリング、および状態検証を使用して、パスが有効であり障害物とのクリアランスまたは滑らかさが適切であることを確認します。Pure Pursuit、Vector Field Histogram (VFH) アルゴリズム、Timed Elastic Band (TEB) アルゴリズムを使用して、パスを追従し障害物を回避します。
関数
plannerRRT | 幾何学的プランニングのための RRT プランナーの作成 |
plannerRRTStar | オプションの RRT パス プランナー (RRT*) の作成 |
plannerBiRRT | Create bidirectional RRT planner for geometric planning |
plannerControlRRT | Control-based RRT planner (R2021b 以降) |
plannerAStar | グラフベース A* パス プランナー (R2023a 以降) |
plannerAStarGrid | グリッド マップの A* パス プランナー |
plannerHybridAStar | ハイブリッド A* パス プランナー |
plannerPRM | Create probabilistic roadmap path planner (R2022a 以降) |
plannerMPNET | Create MPNet based bidirectional path planner (R2024a 以降) |
plannerBenchmark | Benchmark path planners using generated metrics (R2022a 以降) |
navGraph | Create navGraph object (R2023a 以降) |
polygonSweep | Generate path for sweep tool to cover polygon (R2026a 以降) |
polysweepoptsbous | Options for polygon sweep path with boustrophedon pattern (R2026a 以降) |
polygonMonotonicity | Find sweep directions that enable efficient, backtrack-free coverage of a polygon (R2026a 以降) |
plotMonotonicity | Display monotone sweep-angle intervals of polygon (R2026a 以降) |
polygonDecomposition | Decompose polygon into nonoverlapping polygons (R2025a 以降) |
boustrophedonOptions | Options for boustrophedon polygon decomposition algorithm (R2025a 以降) |
navPath | 計画されたパス |
navPathControl | Path representing control-based kinematic trajectory (R2021b 以降) |
dubinsConnection | Dubins パス接続タイプ |
dubinsPathSegment | Dubins path segment connecting two poses |
reedsSheppConnection | Reeds-Shepp パス接続タイプ |
reedsSheppPathSegment | Reeds-Shepp path segment connecting two poses |
pathmetrics | Information for path metrics |
optimizePath | Optimize path while maintaining safe distance from obstacle (R2022a 以降) |
optimizePathOptions | Create optimization options for optimizePath function (R2022a 以降) |
shortenpath | Shorten path by removing redundant nodes (R2024b 以降) |
controllerVFH | Avoid obstacles using vector field histogram |
controllerPurePursuit | 一連のウェイポイントに追従するコントローラーの作成 |
controllerTEB | Avoid unseen obstacles with time-optimal trajectories (R2023a 以降) |
headingFromXY | Compute heading angle from XY-points of path (R2023a 以降) |
velocityCommand | Retrieve velocity command from time series of velocity commands (R2023a 以降) |
nav.StateSpace | Create state space for path planning |
stateSpaceSE2 | SE(2) 状態空間 |
stateSpaceSE3 | SE(3) state space |
stateSpaceDubins | Dubins ビークルの状態空間 |
stateSpaceReedsShepp | Reeds-Shepp ビークルの状態空間 |
checkCollision | 2 つのジオメトリが衝突しているかどうかをチェック |
checkMapCollision | Check for collision between 3-D occupancy map and geometry (R2022b 以降) |
nav.StateValidator | Create state validator for path planning |
validatorOccupancyMap | 2 次元グリッド マップに基づいた状態バリデーター |
validatorOccupancyMap3D | State validator based on 3-D grid map |
validatorVehicleCostmap | 2 次元コストマップに基づいた状態バリデーター |
dynamicCapsuleList | Dynamic capsule-based obstacle list |
dynamicCapsuleList3D | Dynamic capsule-based obstacle list |
collisionBox | ボックス型の衝突ジオメトリを作成 |
collisionCapsule | Capsule primitive collision geometry (R2022b 以降) |
collisionCylinder | 円柱型の衝突ジオメトリを作成 |
collisionMesh | 凸メッシュの衝突ジオメトリの作成 |
collisionSphere | 球面の衝突ジオメトリの作成 |
geom2struct | Convert collision geometry objects to structure array (R2024a 以降) |
collisionVHACD | Decompose mesh into convex collision meshes using V-HACD (R2023b 以降) |
showCollisionArray | Show array of collision objects in figure (R2023b 以降) |
nav.StateSampler | Create state sampler for path planning (R2023b 以降) |
stateSamplerGaussian | Gaussian state sampler for sampling-based motion planning (R2023b 以降) |
stateSamplerUniform | Uniform state sampler for sampling-based motion planning (R2023b 以降) |
stateSamplerMPNET | MPNet state sampler for sampling-based motion planning (R2023b 以降) |
sampleStartGoal | Sample start and goal states for motion planning (R2024a 以降) |
nav.StatePropagator | State propagator for control-based planning (R2021b 以降) |
mobileRobotPropagator | State propagator for wheeled robotic systems (R2021b 以降) |
createPlanningTemplate | Create sample implementation for path planning interface |
nav.StateSpace | Create state space for path planning |
nav.StateValidator | Create state validator for path planning |
nav.StateSampler | Create state sampler for path planning (R2023b 以降) |
referencePathFrenet | 滑らかな参照パスのウェイポイントへの当てはめ |
trajectoryGeneratorFrenet | 参照パスに沿った最適な軌跡の検索 |
trajectoryOptimalFrenet | Find optimal trajectory along reference path |
mpnetLayers | Create custom motion planning networks (R2024a 以降) |
mpnetSE2 | Motion Planning Networks (R2023b 以降) |
mpnetPrepareData | Prepare training data for Motion Planning Networks (R2023b 以降) |
bpsEncoder | Basis point set encoder (R2024a 以降) |
plannerLineSpec.goal | Specifications for plotting goal state (R2023b 以降) |
plannerLineSpec.goalTree | Specifications for plotting search tree from goal to start (R2023b 以降) |
plannerLineSpec.heading | Specifications for plotting heading angle (R2023b 以降) |
plannerLineSpec.path | Specifications for plotting forward path (R2023b 以降) |
plannerLineSpec.reversePath | Specifications for plotting reverse path (R2023b 以降) |
plannerLineSpec.reverseTree | Specifications for plotting reverse search tree (R2023b 以降) |
plannerLineSpec.start | Specifications for plotting start state (R2023b 以降) |
plannerLineSpec.state | Specifications for plotting generic states (R2023b 以降) |
plannerLineSpec.tree | Specifications for plotting forward search tree (R2023b 以降) |
ブロック
| Pure Pursuit | 線形と曲率の制御コマンド |
| Timed Elastic Band | Plan path to avoid obstacles and generate time-optimal trajectories (R2025a 以降) |
| Vector Field Histogram | Avoid obstacles using vector field histogram |
トピック
- Get Started with Motion Planning Networks
Motion Planning Networks for state space sampling and path planning.
- ナビゲーションのためのパス プランニング アルゴリズムの選択
さまざまなパスおよびモーション プランニング アルゴリズムの利点に関する詳細。
- Optimal Trajectory Generation for Urban Driving
This example shows how to perform dynamic replanning in an urban scenario using
trajectoryOptimalFrenet. - Motion Planning in Urban Environments Using Dynamic Occupancy Grid Map
This example shows you how to perform dynamic replanning in an urban driving scene using a Frenet reference path.
- Path Following with Obstacle Avoidance in Simulink
Use Simulink® to avoid obstacles while following a path for a differential drive robot.
- Obstacle Avoidance with TurtleBot and VFH
This example shows how to use ROS Toolbox and a TurtleBot® with vector field histograms (VFH) to perform obstacle avoidance when driving a robot in an environment.
- Vector Field Histogram
VFH algorithm details and tunable properties.
- 単純追跡コントローラー
単純追跡コントローラーの機能とアルゴリズムの詳細。
- Follow Waypoints in Simulink Using Pure Pursuit Block
Guide a car-like vehicle along a series of waypoints in Simulink using the Pure Pursuit block.
注目の例
RRT を使用したモバイル ロボットのパスの計画
この例では、Rapidly-exploring Random Tree (RRT) アルゴリズムを使用して、既知のマップでビークルのパスを計画する方法を説明します。カスタム状態空間により、特殊なビークル制約も適用されます。カスタム状態空間とパス検証オブジェクトを使って、独自のプランナーを任意のナビゲーション アプリケーション用に調整できます。
Highway Lane Change
Perceive surround-view information and use it to design an automated lane change maneuver system for highway driving scenarios.
Motion Planning with RRT for Fixed-Wing UAV
Plan the 3D motion of a fixed-wing UAV using the rapidly exploring random tree (RRT) algorithm, given a start and goal pose.
(UAV Toolbox)
Highway Trajectory Planning Using Frenet Reference Path
Demonstrates how to plan a local trajectory in a highway driving scenario. This example uses a reference path and dynamic list of obstacles to generate alternative trajectories for an ego vehicle. The ego vehicle navigates through traffic defined in a provided driving scenario from a drivingScenario object. The vehicle alternates between adaptive cruise control, lane changing, and vehicle following maneuvers based on cost, feasibility, and collision-free motion.
Reverse-Capable Motion Planning for Tractor-Trailer Model Using plannerControlRRT
Find global path-planning solutions for systems with complex kinematics using the kinematics-based planner, plannerControlRRT. The example is organized into three primary sections:
Object Tracking and Motion Planning Using Frenet Reference Path
Dynamically replan the motion of an autonomous vehicle based on the estimate of the surrounding environment. You use a Frenet reference path and a joint probabilistic data association (JPDA) tracker to estimate and predict the motion of other vehicles on the highway. Compared to the Highway Trajectory Planning Using Frenet Reference Path example, you use these estimated trajectories from the multi-object tracker in this example instead of ground truth for motion planning.
Optimization Based Path Smoothing for Autonomous Vehicles
Optimize the path for a car-like robot by maintaining a smooth curvature and a safe distance from the obstacles in a parking lot.
Benchmark Path Planners for Differential Drive Robots in Warehouse Map
Choose the best 2-D path planner for a differential drive robot in a warehouse environment from the available path planners. Use the plannerBenchmark object to benchmark the path planners plannerRRT, plannerRRTStar, plannerBiRRT, plannerPRM, and plannerHybridAstar on the warehouse environment with the randomly chosen start and goal poses. Compare the path planners based on their ability to find a valid path, clearance from the obstacles, time taken to initialize a planner, time taken to find a path, length of the path, and smoothness of the path. A suitable planner is chosen based on the performance of each path planner on the above mentioned metrics.
Offroad Planning with Digital Elevation Models
Process and store 2.5-D information, and presents various techniques for using it for an offroad path planner.
Enable Vehicle Collision Checking for Path Planning Using Hybrid A*
Use a Hybrid A* planner to plan a path to a narrow parking space, while accounting for the shape of a car-like robot.
Plan Path to Custom Goal Region for Mobile Robot
Plan a path for a mobile robot to a goal region using a rapidly exploring random tree (RRT) path planner. In this example, you can define a custom goal region as a 2-D polygon, and then plan a path to it.
Hybrid Sampling Method for Motion Planning in Warehouse Environment
Combine uniform sampling and Gaussian sampling approaches for motion planning in narrow passages and wide spaces.
Plan Path in Warehouse Scenario with Unseen Obstacle Avoidance
Plan path in a warehouse scenario by avoiding unseen obstacles using TEB algorithm.
- R2024b 以降
- ライブ スクリプトを開く
Train Deep Learning-Based Sampler for Motion Planning
Create a deep learning-based sampler using Motion Planning Networks to speed up path planning using sampling-based planners like RRT (rapidly-exploring random tree) and RRT*. For information about Motion Planning Networks (MPNet) for state space sampling, see Get Started with Motion Planning Networks.
Accelerate Motion Planning with Deep-Learning-Based Sampler
The example shows how to use sampling-based planners such as RRT (rapidly-exploring random tree) and RRT* with Motion Planning Networks (MPNet), deep-learning-based sampler to find optimal paths efficiently.
Route Planning in Uneven Terrain Based on Vehicle Requirements
Use navGraph and plannerAStar to find a path through rough terrain while accounting for vehicle-based requirements and constraints.
Path Planning Using MPNet for Automated Parking Valet System
Perform path planning for an automated parking valet system using a pretrained MPNet.
- R2024b 以降
- ライブ スクリプトを開く
Simulate Path Following on Speedgoat Real-Time Target Machine
Perform real-time simulation of path following on Speedgoat real-time target machine.
- R2025a 以降
- ライブ スクリプトを開く
Avoid Obstacles Using TEB Local Planner in Simulink
Perform path following using TEB local planner in Simulink.
- R2025a 以降
- ライブ スクリプトを開く
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)


















