衝突検出
衝突ジオメトリは、ロボットとその環境によって占有される物理空間を定義します。ロボットのパーツまたは環境内の障害物を表すには、ボックス、円柱、球面、カスタム メッシュなどの衝突オブジェクトを作成します。checkCollision
を使用して、軌跡の実行中に、マニピュレーター アームのさまざまなパーツの相互衝突 (自己衝突)、またはワールド内の障害物との衝突が発生するかどうかを判定します。関数は、衝突を予期して回避するための障害物クリアランスも出力します。
関数
剛体ツリー
capsuleApproximation | Approximate collision geometries of rigid body tree with capsules (R2022b 以降) |
checkCollision | Check if robot is in collision (R2020b 以降) |
addCollision | 衝突ジオメトリを剛体に追加 (R2020b 以降) |
clearCollision | 接続されたすべての衝突ジオメトリのクリア (R2020b 以降) |
衝突オブジェクト
checkCollision | 2 つのジオメトリが衝突しているかどうかをチェック |
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 以降) |
注目の例
衝突メッシュを使用したマニピュレーターの自己衝突のチェック
この例では、軌跡の実行時にマニピュレーターの自己衝突をチェックする方法を説明します。衝突メッシュは、ロボット モデルの URDF で定義された <collision>
タグを使用して読み込まれます。衝突データを読み込む他の方法の詳細については、マニピュレーターの衝突チェック用の衝突データの取得を参照してください。
マニピュレーターの衝突チェック用の衝突データの取得
この例では、衝突データがある rigidBodyTree
モデルを取得する 3 通りの方法を説明します。自己衝突または環境衝突の検知をチェックする詳細な例については、以下に示す他の例を参照してください。
Reduce Motion Planning Times Using Capsule Approximation
Use capsule approximation on rigid bodies to speed up motion planning using RRT.
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)