모션 계획
모션 계획을 사용하여 환경 전체에서 경로를 계획합니다. RRT, RRT*, Hybrid A*, 딥러닝 기반 플래너와 같은 일반적인 샘플링 기반 플래너를 사용하거나 사용자 지정이 가능한 경로 계획 인터페이스를 지정할 수 있습니다. 경로 메트릭, 상태공간 샘플링, 상태 유효성 검사를 사용하여 경로가 유효한지, 경로가 장애물로부터 적절한 여유 공간을 갖는지, 경로가 원활한지 확인할 수 있습니다. 경로를 따르면서 Pure Pursuit 알고리즘, 벡터장 히스토그램(VFH), TEB(Timed Elastic Band) 알고리즘을 사용하여 장애물을 피할 수 있습니다.
함수
plannerRRT | 기하 계획을 위한 RRT 플래너 생성 |
plannerRRTStar | 최적 RRT 경로 플래너(RRT*) 생성 |
plannerBiRRT | Create bidirectional RRT planner for geometric planning (R2021a 이후) |
plannerControlRRT | Control-based RRT planner (R2021b 이후) |
plannerAStar | 그래프 기반 A* 경로 플래너 (R2023a 이후) |
plannerAStarGrid | 그리드 맵의 A* 경로 플래너 |
plannerHybridAStar | Hybrid 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 이후) |
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 | 경로의 XY 점에서 방향각 계산 (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 | 두 기하 도형이 충돌하는지 검사 |
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.
- Pure Pursuit 제어기
Pure Pursuit 제어기 기능 및 알고리즘 세부 정보
추천 예제
RRT를 사용한 이동 로봇 경로 계획
이 예제는 RRT(Rapidly-exploring Random Tree) 알고리즘을 사용하여 알려진 맵에서 움직이는 이동체의 경로를 계획하는 방법을 보여줍니다. 특수한 이동체 제약 조건은 사용자 지정 상태공간에도 적용됩니다. 모든 내비게이션 응용 분야에서 사용자 지정 state space 객체와 path validation 객체를 이용해 사용자 자신의 플래너를 조정할 수 있습니다.
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.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 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)