Smart Motion

Smart Motion を使用して安全なパスを作成するには、ロボットが移動する必要のあるターゲットを選択し、「パスの生成」をクリックしてください。アドインが自動的に計算を行います。

Smart Motion アドインのデモには、以下のスポット溶接の例を使用します。「Comau を使用したスポット溶接」。この例には、前述した 4 つのコンポーネントが含まれています。

また、このプロジェクトには、PRMプラグインを使用して作成されたスクリプト形式の衝突回避パスも含まれています。Smart Motionアドインのデモを行うため、PRMプラグインによって自動的に作成された以下のプログラムを削除します:

AppFrontPg

AppRearPg

HomePg

HomeToAppFront

AppRearToHome

AppFrontToAppRear

AppRearToAppFront

Main

Smart Motion - 画像 10

一般的な手順

このアドインを使用するには、以下の手順に従ってください。

1.ターゲットセレクターを開きます。「Smart Motion」メニューの「ターゲットの選択」ボタンをクリックして、選択ウィンドウを開きます。これらのターゲットによって、生成したいパスが定義されます。

Smart Motion - 画像 11

Smart Motion - 画像 12

2.ポイントの選択と順序の指定:左側の「利用可能なターゲット」セクションから使用したいポイントを選択し、「>>」ボタンをクリックして、右側の「選択されたターゲット」セクションに移動させます。右側で(ドラッグ&ドロップを使用して)順序を変更し、ロボットが最初に移動する場所を決定できます。ターゲットの選択が完了したら、「OK」ボタンで選択内容を確認してください。

Smart Motion - 画像 13

3.パスの品質を選択する:「パスの品質」スライダーを動かしてください。簡単なチェックには「粗」を使用し、ロボットが狭いスペースを安全にチェックできるようにするには「細」側にスライダーを動かしてください。

注:精細なパスは生成に時間がかかりますが、衝突のないパスが保証されます。ステーション内に、粗いパスを作成した際に検出されにくい細いオブジェクトが含まれている場合は、この設定をお勧めします。

Smart Motion - 画像 14

4.パスを生成します:パスを生成」ボタンをクリックしてください。工具は、リスト内のすべての点間のペアについて、安全な移動経路を生成します。

Smart Motion - 画像 15Smart Motion - 画像 16

Smart Motion - 画像 17

また、ステーションツリーで複数のターゲットを(必要な順序で)選択し、ツールバーの「選択したアイテムをリンク」アイコン(Smart Motionの2番目、または右端のアイコン)をクリックすることで、「アイテムのリンク」を行うこともできます。

ターゲットセレクタのチェックボックス

ターゲットセレクターメニューから移動パスを設定する際、利用可能なポイントのリストが「選択されたターゲット」リストに移動されます。これらの選択項目のいくつかには、「アプローチ」というラベルの付いたチェックボックスがあり、オン/オフを切り替えることができます。

これらのチェックボックスは、パス計画ソルバーに対するスマートなヒントとして機能します。

チェックなし(標準停止)の場合:ロボットはそのターゲットを厳密な目的地として扱います。ポイントAからポイントBまでの完全なパスを計画し、その後、ポイントBからポイントCまでのまったく新しいパスを計画します。ロボットは、次のステップを考える前に、ポイントBに正確に到着することに全力を尽くします。

チェックされている場合(通過または接近ポイント):「チェック」をオンにすると、このポイントが単なる一時的な「足掛かり」または実際の目的地への入り口であることをソルバーに伝えます。移動を個別の固定された区間(AからB、次にBからC)に分割する代わりに、ソルバーは一連の移動全体(A➔ B➔ C)を、単一の滑らかなシーケンスとして評価します。

アプローチターゲットを指定すると、「プログラムの簡略化」工具によるパスの最適化方法が根本的に変わります:

滑らかなコーナリング:ソルバーは、ロボットが接近点で完全に停止する必要がないことを認識しているため、動作を滑らかにブレンドします。ロボットは接近点に向かって移動し、「ぎくしゃく」したり、急に停止したりすることなく、優雅に最終目的地へと振り向きます。

積極的な最適化:簡略化工具が複数ポイントのパスを処理する際、各中間ターゲットごとに計算を停止するのではなく、シーケンス全体を先読みすることで、不要で冗長な動きをより効果的にトリミングできます。その結果、コード行数が減り、ロボットの速度が一定に保たれ、全体的な生産時間が短縮されます。