Main Content

モーション プランニング

パス メトリクス、RRT パス プランナー、パス追従

モーション プランニングを使用して、環境内を通るパスを計画します。RRT、RRT*、ハイブリッド A* などの一般的なサンプリングベースのプランナーを使用するか、独自のカスタマイズ可能なパス計画インターフェイスを指定することができます。パス メトリクス、状態空間のサンプリング、および状態検証を使用して、パスが有効であり障害物とのクリアランスまたは滑らかさが適切であることを確認します。Pure Pursuit、Vector Field Histogram (VFH) アルゴリズム、Timed Elastic Band (TEB) アルゴリズムを使用して、パスを追従し障害物を回避します。

関数

すべて展開する

plannerRRT幾何学的プランニングのための RRT プランナーの作成 (R2019b 以降)
plannerRRTStarオプションの RRT パス プランナー (RRT*) の作成 (R2019b 以降)
plannerBiRRTCreate bidirectional RRT planner for geometric planning (R2021a 以降)
plannerControlRRTControl-based RRT planner (R2021b 以降)
plannerAStarGraph-based A* path planner (R2023a 以降)
plannerAStarGridグリッド マップの A* パス プランナー (R2020b 以降)
plannerHybridAStarハイブリッド A* パス プランナー (R2019b 以降)
plannerPRMCreate probabilistic roadmap path planner (R2022a 以降)
plannerBenchmarkBenchmark path planners using generated metrics (R2022a 以降)
navGraphCreate navGraph object (R2023a 以降)
navPath計画されたパス (R2019b 以降)
navPathControlPath representing control-based kinematic trajectory (R2021b 以降)
dubinsConnectionDubins パス接続タイプ (R2019b 以降)
dubinsPathSegmentDubins path segment connecting two poses (R2019b 以降)
reedsSheppConnectionReeds-Shepp path connection type (R2019b 以降)
reedsSheppPathSegmentReeds-Shepp path segment connecting two poses (R2019b 以降)
pathmetricsInformation for path metrics (R2019b 以降)
optimizePathOptimize path while maintaining safe distance from obstacle (R2022a 以降)
optimizePathOptionsCreate optimization options for optimizePath function (R2022a 以降)
controllerVFHAvoid obstacles using vector field histogram (R2019b 以降)
controllerPurePursuit一連のウェイポイントに追従するコントローラーの作成 (R2019b 以降)
controllerTEBAvoid unseen obstacles with time-optimal trajectories (R2023a 以降)
headingFromXYCompute heading angle from XY-points of path (R2023a 以降)
velocityCommandRetrieve velocity command from time series of velocity commands (R2023a 以降)
nav.StateSpaceCreate state space for path planning (R2019b 以降)
stateSpaceSE2SE(2) 状態空間 (R2019b 以降)
stateSpaceSE3SE(3) state space (R2020b 以降)
stateSpaceDubinsDubins ビークルの状態空間 (R2019b 以降)
stateSpaceReedsSheppReeds-Shepp ビークルの状態空間 (R2019b 以降)
checkCollision2 つのジオメトリが衝突しているかどうかをチェック (R2019b 以降)
checkMapCollisionCheck for collision between 3-D occupancy map and geometry (R2022b 以降)
nav.StateValidatorCreate state validator for path planning (R2019b 以降)
validatorOccupancyMap2 次元グリッド マップに基づいた状態バリデーター (R2019b 以降)
validatorOccupancyMap3DState validator based on 3-D grid map (R2020b 以降)
validatorVehicleCostmap2 次元コストマップに基づいた状態バリデーター (R2019b 以降)
dynamicCapsuleListDynamic capsule-based obstacle list (R2020b 以降)
dynamicCapsuleList3DDynamic capsule-based obstacle list (R2020b 以降)
collisionBoxCreate box collision geometry (R2019b 以降)
collisionCapsuleCapsule primitive collision geometry (R2022b 以降)
collisionCylinderCreate collision cylinder geometry (R2019b 以降)
collisionMeshCreate convex mesh collision geometry (R2019b 以降)
collisionSphereCreate sphere collision geometry (R2019b 以降)
collisionVHACDDecompose mesh into convex collision meshes using V-HACD (R2023b 以降)
showCollisionArrayShow array of collision objects in figure (R2023b 以降)
nav.StateSamplerCreate state sampler for path planning (R2023b 以降)
stateSamplerGaussianGaussian state sampler for sampling-based motion planning (R2023b 以降)
stateSamplerUniformUniform state sampler for sampling-based motion planning (R2023b 以降)
mpnetSE2Motion Planning Networks (R2023b 以降)
mpnetPrepareDataPrepare training data for Motion Planning Networks (R2023b 以降)
stateSamplerMPNETMPNet state sampler for sampling-based motion planning (R2023b 以降)
nav.StatePropagatorState propagator for control-based planning (R2021b 以降)
mobileRobotPropagatorState propagator for wheeled robotic systems (R2021b 以降)
createPlanningTemplateCreate sample implementation for path planning interface (R2019b 以降)
nav.StateSpaceCreate state space for path planning (R2019b 以降)
nav.StateValidatorCreate state validator for path planning (R2019b 以降)
nav.StateSamplerCreate state sampler for path planning (R2023b 以降)
referencePathFrenet滑らかな参照パスのウェイポイントへの当てはめ (R2020b 以降)
trajectoryGeneratorFrenet参照パスに沿った最適な軌跡の検索 (R2020b 以降)
trajectoryOptimalFrenetFind optimal trajectory along reference path (R2019b 以降)
plannerLineSpec.goalSpecifications for plotting goal state (R2023b 以降)
plannerLineSpec.goalTreeSpecifications for plotting search tree from goal to start (R2023b 以降)
plannerLineSpec.headingSpecifications for plotting heading angle (R2023b 以降)
plannerLineSpec.pathSpecifications for plotting forward path (R2023b 以降)
plannerLineSpec.reversePathSpecifications for plotting reverse path (R2023b 以降)
plannerLineSpec.reverseTreeSpecifications for plotting reverse search tree (R2023b 以降)
plannerLineSpec.startSpecifications for plotting start state (R2023b 以降)
plannerLineSpec.stateSpecifications for plotting generic states (R2023b 以降)
plannerLineSpec.treeSpecifications for plotting forward search tree (R2023b 以降)

ブロック

Pure Pursuit線形速度と角速度の制御コマンド (R2019b 以降)
Vector Field HistogramAvoid obstacles using vector field histogram (R2019b 以降)

概念

例および使用方法

  • ナビゲーションのためのパス プランニング アルゴリズムの選択

    さまざまなパスおよびモーション プランニング アルゴリズムの利点に関する詳細。

  • Moving Furniture in a Cluttered Room with RRT

    This example shows how to plan a path to move bulky furniture in a tight space avoiding poles. This example shows a workflow of the "Piano Mover's Problem", which is used for testing path planning algorithms with constrained state spaces. This example uses the plannerRRTStar object to implement a custom optimized rapidly-exploring tree (RRT*) algoirthm. Provided example helpers illustrate how to define custom state spaces and state valdiation for any motion planning application.

  • 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. In this example, you use a dynamic occupancy grid map estimate of the local environment to find optimal local trajectories.

  • Path Following with Obstacle Avoidance in Simulink®

    Use Simulink to avoid obstacles while following a path for a differential drive robot. This example uses ROS to send and receive information from a MATLAB®-based simulator. You can replace the simulator with other ROS-based simulators such as Gazebo®.

  • 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. The robot wanders by driving forward until obstacles get in the way. The controllerVFH object computes steering directions to avoid objects while trying to drive forward.

  • Vector Field Histogram

    VFH algorithm details and tunable properties.

  • 単純追跡コントローラー

    単純追跡コントローラーの機能とアルゴリズムの詳細。