RoboLogix は、物理エンジンを使用してロボットアプリケーションをエミュレートするロボットシミュレータです。[ 1 ] RoboLogix のようなロボットシミュレーションツールを使用する利点は、ロボットアプリケーションの設計時間を節約できることと、システムをアクティブ化する前にさまざまな「もしも」のシナリオを試してテストできるため、ロボット機器に関連する安全性のレベルを高めることができることです。[ 2 ] RoboLogix は、さまざまなアプリケーションと機能で 5 軸産業用ロボットを使用して作成されたプログラムを、ティーチング、テスト、実行、デバッグするためのプラットフォームを提供します。これらのアプリケーションには、ピックアンドプレース、パレタイジング、溶接、塗装などがあります。
RoboLogixは、Colin SimpsonとJohn (Bud) Skinnerによって開発されました。主に教育リソースとして設計されており、高校、大学、専門学校[ 3 ]で産業用ロボットの実験シミュレーションに使用されています。George Brown Collegeなどの一部の教育機関では、RoboLogixをオンラインロボット工学遠隔教育プログラムの一部として使用しています。このシミュレーションソフトウェアを使用すると、ロボットの到達能力、移動範囲、衝突などを検証できます。このようなシミュレーションソフトウェアは、計画プロセスとプログラム開発における信頼性を高めるとともに、全体の完了/試運転時間を短縮します。
仮想世界 でロボットシステムの動作をプレビューできる機能により、さまざまなメカニズム、デバイス、構成、コントローラを「現実世界」のシステムに適用する前に試用およびテストできます。RoboLogixは、幾何学的モデリングと運動学的モデリングの両方を使用して産業用ロボットの動きをリアルタイムでシミュレーションする機能を備えています。[ 4 ]
RoboLogixを使用すると、プログラマーは独自のロボットプログラムを作成したり、ロボットのエンドエフェクタの目的の位置を取得するために使用されるビデオカメラなどのセンサーを使用したりできます。さらに、シミュレーターにはティーチペンダント制御パネルが付属しており、ユーザーはジョグ操作または事前にプログラムされた位置によって、ロボットに追跡対象物をピックアップさせ、ホームポジションに戻すように指示できます。
RoboLogix コントロール パネルには、ロボット制御機能と、コンベア システム制御、有線オン/オフ制御などの環境制御機能の両方が含まれています。コントロール パネルを使用すると、ジョグ コマンドまたは事前にプログラムされた位置を介して、ロボットに追跡対象物をピックアップしてホーム ロケーションに戻すように指示できます。一般的にロボット システムでは、角度位置移動は大きな (粗い) 動きによく使用され、直線位置移動は小さな (細かい) 増分によく使用されます。[ 5 ]コントロール パネルには、リセット、ホーム、セットアップ、ゼロなどのコマンド命令がいくつかあり、これらはロボットをキャリブレーションまたは再調整のために特定の位置に自動的に設定するために使用されます。
RoboLogixは、ロボットの作業範囲に対して12種類の視点(カメラアングル)を提供します。これらの視点は12個のCAMキーでアクセスでき、さまざまな角度や視点からの表示が可能です。これらのカメラ視点を使用することで、ユーザーは現実世界と同じように3Dアニメーション環境内を自由に移動できます。カメラビューの1つはロボットのエンドエフェクタからの視点で、エンドエフェクタ(グリッパー)がワークピースに接近する際のリアルタイムの視覚化と位置決めを可能にします。
ほとんどのロボットプログラミング言語と同様に、RoboLogixプログラムはデータオブジェクトとプログラムフローで構成されます。データオブジェクトはレジスタに格納され、プログラムフローはロボットのプログラミングに使用される命令のリスト、つまり命令セットを表します。RoboLogixプログラミング言語は、ソフトウェアアプリケーションを制御するために使用されるスクリプト言語の一種です。
プログラミング言語は一般的に、データ構造やアルゴリズムをゼロから構築するために設計されていますが、スクリプト言語はコンポーネントや命令を接続または結合することを目的としています。[ 6 ]そのため、RoboLogix の命令セットは、プログラミングプロセスを簡素化し、迅速なアプリケーション開発を提供するために使用される、合理化されたプログラムコマンドのリストです。
RoboLogixの命令セットには16個のコマンドがあり、通常はプログラムとして1行ずつ記述されます。これらのコマンドは、ロボットに特定の場所への移動、物体のピックアップ、サブルーチンの実行、待機などのタスクを実行させるために使用されます。命令セットの中でよく使われるコマンドの1つにIF命令があります。IF命令は、2つのレジスタに格納されている数値を比較します。レジスタの値が別のレジスタの値より大きい(>)、小さい(<)、以上(>=)、以下(<=)、等しい(=)、または等しくない(<>)場合、条件が真であればプログラムの次の行が実行されます。IF命令は、プログラムの実行を制御するためにJMP LBL命令と組み合わせて使用されることがよくあります。
すべての命令セット情報はレジスタに格納されます。レジスタは、可変の数値を保持できるデータ場所です。RoboLogixで使用されるレジスタには、主に位置レジスタと可変レジスタの2種類があります。位置レジスタには、線形および角度のデータポイント座標の両方が含まれており、A1、A2、A3などの軸(ジョイント)情報と、X、Y、Zの線形または直交座標の情報が含まれています。また、位置比較や時間遅延情報などの命令セットデータを保持するために使用できる32個の可変レジスタもあります。位置レジスタと可変レジスタに加えて、一部のロボットソフトウェアプログラムには、パレタイジングアプリケーションでスタックポイントの位置を管理するために使用されるパレタイジングレジスタもあります。
パレタイジングはロボットの用途としてよく用いられるものの1つで、一連のコマンドを組み合わせてパレタイジングルーチンとして実行されます。RoboLogixのパレタイジングルーチンは、5つのプログラム命令(行)で構成されます。最初の命令はパレタイジング命令で、その後にスタックポイントまで移動する直線運動命令が続きます。スタックポイントはワークピースの上面中央であり、隣接する図に示すように、スタックポイントのグループが積み重ねパターンを形成します。積み重ねパターンの最初のスタックポイントは(1,1,1)(行、列、層)に位置し、パレタイジングルーチンが実行されるたびにインクリメントされます。