JP6115157B2 - プログラム、演算装置および演算方法 - Google Patents

プログラム、演算装置および演算方法 Download PDF

Info

Publication number
JP6115157B2
JP6115157B2 JP2013017894A JP2013017894A JP6115157B2 JP 6115157 B2 JP6115157 B2 JP 6115157B2 JP 2013017894 A JP2013017894 A JP 2013017894A JP 2013017894 A JP2013017894 A JP 2013017894A JP 6115157 B2 JP6115157 B2 JP 6115157B2
Authority
JP
Japan
Prior art keywords
workpiece
unit
contact
pusher
transported object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013017894A
Other languages
English (en)
Other versions
JP2014148388A (ja
Inventor
昌明 川人
昌明 川人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013017894A priority Critical patent/JP6115157B2/ja
Priority to US14/073,192 priority patent/US20140214376A1/en
Priority to CN201310618571.7A priority patent/CN103970926B/zh
Publication of JP2014148388A publication Critical patent/JP2014148388A/ja
Application granted granted Critical
Publication of JP6115157B2 publication Critical patent/JP6115157B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Control Of Conveyors (AREA)
  • Special Conveying (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、プログラム、演算装置および演算方法に関する。
従来、ワークと呼ばれる搬送物の搬送状態をシミュレートする技術が知られている。例えば、ベルトコンベア、吸着チャック、プッシャー、リフター等の搬送機器を制御する制御プログラムのデバッグを行うため、制御プログラムに従ってシミュレーション空間上の搬送機器を動作させ、ワークが適切に搬送されるか確認する技術が知られている。
ここで、シミュレート空間上でワークの搬送を実現する方法として、搬送機器がワークに干渉したことを検知し、ワークに干渉した搬送機器の動作に応じてワークの搬送をシミュレートする方法が考えられる。しかし、多くのワークや複数の搬送機器の動作を同時にシミュレートする際に、各搬送機器がワークに干渉しているか否かを全ての要素に対して判断した場合は、演算量が膨大になってしまう。
そこで、シミュレーションの演算を簡単化する技術が知られている。例えば、搬送機器とワークとが所定の距離内に近づいたときに、搬送機器とワークとが一体になったものとしてシミュレーションの演算を行う。
特開平11−33955号公報 特開2002−68416号公報
しかしながら、搬送機器とワークとが一体になったものとしてシミュレーションの演算を行う上述の技術では、実際に搬送機器によって搬送される姿勢でワークが搬送されない場合や、搬送機器にワークがめり込んでしまったまま搬送される場合がある。かかる場合には、実際とは異なる状態でワークが搬送されてしまうので、ワークの位置ずれが発生することがある。そのため、搬送機器とワークとが一体になったものとしてシミュレーションの演算を行う上述の技術は、シミュレーションの精度が良好でないという問題がある。
1つの側面では、本発明は、シミュレーションの精度の低下を抑制することを目的とする。
1つの側面では、プログラムは、3次元シミュレーション空間上に搬送物と、プッシャー部の押し出し面で押すことで該搬送物を移動させる動作をするまたはリフター部の支え面により下から支えることで該搬送物を上方に上げる動作をする搬送機とが配置され、該搬送機が該搬送物を搬送するシミュレーション演算をコンピュータに実行させる。プログラムは、コンピュータに、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、該所定の基準点を中心に搬送物を回転させる。
1つの側面では、シミュレーションの精度の低下を抑制することができる。
図1は、実施例に係る演算装置の機能構成の一例を示す図である。 図2Aは、演算装置が実行する、搬送機器とワークとを一体化させる処理の一例について説明するための図である。 図2Bは、演算装置が実行する、搬送機器とワークとを一体化させる処理の一例について説明するための図である。 図3は、搬送部品形状テーブルの一例を説明する図である。 図4は、搬送動作情報テーブルの一例を説明する図である。 図5は、ワーク形状テーブルの一例を説明する図である。 図6は、ワーク姿勢テーブルの一例を説明する図である。 図7は、接触判定直方体テーブルの一例を説明する図である。 図8は、接触平面テーブルの一例を説明する図である。 図9は、ワークの接触判定直方体を説明する図である。 図10Aは、プッシャーの搬送可能領域を説明する図である。 図10Bは、リフターの搬送可能領域を説明する図である。 図11は、あるタイムステップにおけるワークと搬送機器との一体化を判定する処理の流れを説明するためのフローチャートである。 図12は、シミュレートプログラムを実行するコンピュータの一例を説明するための図である。
以下に図面を参照して実施例に係るプログラム、演算装置および演算方法について説明する。
実施例では、ワークの搬送をシミュレートする演算装置について説明する。図1は、実施例に係る演算装置の機能構成の一例を示す図である。図1に示すように、演算装置1は、入力装置2、および出力装置3と接続されている。また、演算装置1は、管理情報記憶部5、動作パラメータ記憶部6、3次元データ管理部7を有する。また、演算装置1は、制御ソフトウェア実行部8、モータ動作演算部9、シミュレーション演算部10、3次元姿勢演算部11、3次元形状表示制御部12を有する。
また、管理情報記憶部5は、搬送部品形状テーブル5a、搬送動作情報テーブル5b、ワーク形状テーブル5c及びワーク姿勢テーブル5dを有する。また、動作パラメータ記憶部6は、接触判定直方体テーブル6a、接触平面テーブル6bを有する。また、シミュレーション演算部10は、動作パラメータ作成部10a、接触姿勢演算部10b、ワーク移動演算部10cを有する。
演算装置1は、タイムステップT、T、・・・Tまでの各タイムステップにおけるワークの搬送状態をシミュレートし、シミュレートした結果を出力装置2から出力させる。これにより、搬送機器を制御する制御ソフトウェアの開発者などに、制御ソフトウェアによる搬送機器の制御が適切かを検証させることができる。演算装置1は、例えば、入力装置2から、シミュレーション空間上で搬送をシミュレートするワークの形状及びワークの初期(タイムステップT1)のワークの姿勢、および、ワークを搬送する搬送機器の機能や初期の配置等の情報を取得する。例えば、演算装置1は、CAD(Computer Aided Design)によって作成されたワークの3次元モデルデータ及び初期のワークの姿勢データを取得する。また、演算装置1は、CADによって作成されたプッシャー、ベルトコンベア、吸着チャック、リフター等の搬送機器の3次元モデルデータ、および、初期の搬送機器の配置位置等を取得する。そして、演算装置1は、取得した3次元モデルデータ等を用いて、タイムステップT〜Tまでのワークの搬送シミュレーションを実行し、実行結果をモニタやプリンタである出力装置3に出力させる。例えば、演算装置1は、各種搬送機器によってワークが搬送される映像を出力装置3に出力し表示させる。
ここで、演算装置1は、シミュレーションの演算を簡単化するため、ワークと、ワークを搬送している搬送機器とが一体化したものとして演算を行うことで、シミュレーションに要する演算量を削減する。例えば、演算装置1は、各搬送機器がワークを押し出す面または上に持ち上げる面である接触平面からワークを押し出す方向に向けて所定の搬送可能領域を設定する。
そして、演算装置1は、あるタイムステップにおいて、ある搬送機器に設定された搬送可能領域にワークの接触判定直方体の重心が含まれる場合には、搬送機器がワークの搬送を開始したと判定し、搬送機器とワークとを一体化してシミュレーションの演算を行う。すなわち、演算装置1は、ワークの動作を演算するのではなく、ワークと一体化した搬送機器の動作を演算することで、演算量を削減することができる。
ここで、搬送機器とワークとを一体化させるタイミングとしては、例えば、搬送機器とワークとの干渉チェックを行って、搬送機器とワークとが干渉し、かつ、干渉した部分の長さが所定の閾値以内となったタイミングが考えられる。しかしながら、かかるタイミングを、搬送機器とワークとを一体化させるタイミングとする場合には、ワークに対して搬送機器がめり込んだままワークの搬送状態をシミュレートすることになる。すなわち、実際に、搬送機器によってワークを搬送する状況とは異なった状況でワークの搬送状態をシミュレートすることになる。そのため、上述したタイミングを搬送機器とワークとを一体化させるタイミングとして採用する場合には、シミュレーションにおいて演算されるワークの位置の精度が悪くなる。したがって、上述したタイミングを搬送機器とワークとを一体化させるタイミングとして採用する場合には、制御プログラムの検証を精度良く行うことができない。
そこで、演算装置1は、以下の処理を実行する。図2Aは、演算装置が実行する、搬送機器とワークとを一体化させる処理の一例について説明するための図である。例えば、図2Aの例に示すように、あるタイムステップにおいて、演算装置1は、プッシャー30が移動して、プッシャー30に設定された搬送可能領域にワーク40の接触判定直方体の重心41が含まれることとなった場合には、プッシャー30がワーク40の搬送を開始したと判定する。そして、プッシャー30の接触判定直方体に設定されたワーク40を押し出す面である接触面31とワーク40の面とが平行となるように、演算装置1は、ワーク40の接触判定直方体を回転させる。例えば、演算装置1は、重心41を中心として、接触面31に最も近いワーク40の接触判定直方体の点42をプッシャー30の移動方向に押した場合にワーク40の接触判定直方体が回転する方向43にワーク40の接触判定直方体を回転させることを開始する。そして、演算装置1は、接触面31とワーク40の接触判定直方体の面44とが平行となった場合に、接触判定直方体の回転を停止する。そして、演算装置1は、接触面31に対して平行となったワーク40の接触判定直方体の面44と、接触面31とが接触するように、接触判定直方体を移動させる。そして、演算装置1は、プッシャー30とワーク40とが一体化したものとみなす。これにより、演算装置1は、ワーク40に対してプッシャー30がめり込むことなく、プッシャーがワークを搬送する実際の状況と同様の状況でワーク40の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度の低下を抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
また、演算装置1によれば、ワーク40がプッシャー30によって搬送される際の姿勢が、プッシャーがワークを実際に搬送する際のワークの姿勢と同様となる。そのため、演算装置1は、プッシャーがワークを搬送する実際の状況と同様の状況でワーク40の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度の低下を抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
図2Bは、演算装置が実行する、搬送機器とワークとを一体化させる処理の一例について説明するための図である。例えば、図2Bの例に示すように、あるタイムステップにおいて、演算装置1は、リフター60が移動して、リフター60に設定された搬送可能領域にワーク70の接触判定直方体の重心71が含まれることとなった場合には、リフター60がワーク70の搬送を開始したと判定する。そして、リフター60に設定されたワーク70を下から支えてワーク70を上方に上げるための面である接触面61とワーク70の接触判定直方体の面とが平行となるように、演算装置1は、接触判定直方体を回転させる。例えば、演算装置1は、重心71を中心として、接触面61に最も近いワーク70の接触判定直方体の点72をリフター60の移動方向に押した場合に接触判定直方体が回転する方向73に接触判定直方体を回転させることを開始する。そして、演算装置1は、接触面61とワーク70の接触判定直方体の面74とが平行となった場合に、接触判定直方体の回転を停止する。そして、演算装置1は、接触面61に対して平行となったワーク70の接触判定直方体の面74と、接触面61とが接触するように、ワーク70の接触判定直方体を移動させる。そして、演算装置1は、リフター60とワーク70とが一体化したものとみなす。これにより、演算装置1は、ワーク70に対してリフター60がめり込むことなく、リフターがワークを搬送する実際の状況と同様の状況でワーク70の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度の低下を抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
また、演算装置1によれば、ワーク70がリフター60によって搬送される際の姿勢が、リフターがワークを実際に搬送する際のワークの姿勢と同様となる。そのため、演算装置1は、リフターがワークを搬送する実際の状況と同様の状況でワーク70の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度の低下を抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
次に、先の図1に示す各機能の一例について説明する。搬送部品形状テーブル5aは、入力装置2から入力されたプッシャーやリフターなどの搬送機器の形状を示すデータが格納されたテーブルである。図3は、搬送部品形状テーブルの一例を説明する図である。図3に示す例では、搬送部品形状テーブル5aは、シミュレーション空間上に配置されたプッシャーやリフターなどの形状として、プッシャーやリフターなどの表面を構成する3角形平面(ポリゴン)の頂点座標が格納されている。
例えば、図3の例は、搬送部品形状テーブル5aが、あるプッシャーの表面を構成する複数のポリゴンの各頂点座標「(XP1、YP1、ZP1)、…」を記憶した場合を示す。なお、図3に示す例では、最も単純なポリゴンデータを記憶する例について記載したが、実施例はこれに限定されるものではなく、例えば、搬送部品形状テーブル5aには、辺データを考慮したポリゴンデータが格納されても良い。また、搬送部品形状テーブル5aには、自由曲面を構成する線、および線を構成する点を階層的に記憶しても良い。すなわち、搬送部品形状テーブル5aは、シミュレーション空間上で搬送機器を表現する任意形式のデータが格納される。
搬送動作情報テーブル5bは、搬送機器の動作を示すデータが格納されたテーブルである。例えば、図4は、搬送動作情報テーブルの一例を説明する図である。図4に示す例では、搬送動作情報テーブルには、演算装置1が実行するシミュレーションでの最新のタイムステップT(k=1,・・・,N)における各搬送機器の重心位置と移動量及び移動方向を示す移動ベクトルと姿勢角とが対応付けて格納される。
例えば、図4に示す例は、搬送動作情報テーブル5bが、あるタイムステップにおけるあるプッシャーの重心位置が「(XP1、YP1、ZP1)」であり、移動量及び移動方向が「(X、Y、Z)」であり、姿勢角が「(θ、ρ、φ)」を記憶した場合を示す。ここで、θ、ρ、φは、3次元空間内の各軸(X軸、Y軸、Z軸)を中心にしてどれだけ回転しているかを示す角度の情報である。なお、タイムステップTにおいて搬送動作情報テーブル5bに格納される搬送機器の重心位置及び姿勢角については、3次元姿勢演算部11がタイムステップTにおいて新たに算出した値に更新される。また、タイムステップTにおいて搬送動作情報テーブル5bに格納される移動ベクトルについては、モータ動作演算部9がタイムステップTにおいて新たに演算した移動ベクトルに更新される。したがって、タイムステップTにおいて、モータ動作演算部9により移動ベクトルが登録されてから、3次元姿勢演算部11により搬送機器の重心位置及び姿勢角が登録されるまでの間における搬送動作情報テーブル5bの登録内容は次の内容となる。すなわち、搬送動作情報テーブル5bには、タイムステップTにおける移動ベクトルと、タイムステップTk−1における搬送機器の位置及び姿勢角とが対応付けて登録される。よって、タイムステップTにおいて、後述する動作パラメータ作成部10a、接触姿勢演算部10b、ワーク移動演算部10cによって参照される搬送動作情報テーブル5bの登録内容は、次の内容となる。すなわち、かかる登録内容は、タイムステップTにおける移動ベクトル、並びに、タイムステップTk−1における搬送機器の位置及び姿勢角となる。
図1の説明に戻り、ワーク形状テーブル5cは、シミュレーション空間内において各種の搬送機器が搬送を行うワークの形状が格納されている。図5は、ワーク形状テーブルの一例を説明する図である。図5に示す例は、ワーク形状テーブル5cが、ワーク#1の表面を構成する3角形平面(ポリゴン)の頂点座標を記憶する場合を示す。図5の例は、ワーク形状テーブル5cが、ワーク#1の表面を構成するポリゴンの座標データ「(XW1、YW1、ZW1)、・・・」を記憶した場合を示す。なお、ワーク形状テーブル5cは、搬送部品形状テーブル5aと同様に、自由曲面等のデータが格納されていても良い。
ワーク姿勢テーブル5dは、は、ワークの姿勢を示すデータが格納されたテーブルである。例えば、図6は、ワーク姿勢テーブルの一例を説明する図である。図6に示す例では、ワーク姿勢テーブル5dには、各ワークの接触判定直方体の重心の位置と、各ワークの接触判定直方体の重心を原点として、各接触判定直方体が3次元空間内の各軸を中心にどれだけ回転しているかを示す姿勢の情報が格納されている。
例えば、図6に示す例は、ワーク姿勢テーブル5dが、ワーク#1の接触判定直方体の重心の位置「(X、Y、Z)」、姿勢角(θW1、ρW1、φW1)」を記憶した場合を示す。また、タイムステップTにおいてワーク姿勢テーブル5dに格納される重心位置及び姿勢については、3次元姿勢演算部11がタイムステップTにおいて新たに演算した重心位置及び姿勢に更新される。したがって、タイムステップTにおいて、3次元姿勢演算部11によりワークの接触判定直方体の重心位置及び姿勢角が登録されるまでのワーク姿勢テーブル5dの登録内容は次の内容となる。すなわち、ワーク姿勢テーブル5dには、タイムステップTk−1における各ワークの接触判定直方体の重心位置及び姿勢角とが対応付けて登録される。よって、タイムステップTにおいて、後述する動作パラメータ作成部10a、接触姿勢演算部10b、ワーク移動演算部10cによって参照されるワーク姿勢テーブル5dの登録内容は、次の内容となる。すなわち、かかる登録内容は、タイムステップTk−1における各ワークの接触判定直方体の重心位置及び姿勢角となる。
図1に戻って、接触判定直方体テーブル6aは、各ワークに外接する直方体である接触判定直方体の表面を構成するポリゴンデータを記憶するテーブルである。接触判定直方体は、タイムステップTにおいて、タイムステップTよりも1つ前のタイムステップTk−1における各ワークの重心位置及び形状に基づいて後述の動作パラメータ作成部12により作成される。図7は、接触判定直方体テーブルの一例を説明する図である。図7に示す例は、接触判定直方体テーブル6aが、タイムステップTにおいてタイムステップTk−1におけるワーク#1の形状に基づいて作成された接触判定直方体の表面を構成するポリゴンデータ「(XS1、YS1、ZS1)、・・・」を記憶した場合を示す。
接触平面テーブル6bは、各搬送機器の種別ごとに、ワークを搬送する際にワークと一体化する接触平面の頂点座標を記憶する。図8は、接触平面テーブルの一例を説明する図である。図8に示す例は、接触平面テーブル6bが、あるプッシャーの接触平面の頂点座標「(XP1P、YP1P、ZP1P)、・・・」を記憶した場合を示す。なお、図8では記載を省略したが、搬送機器の接触平面のどちら側がワークと接触するかを示す情報が接触平面テーブル6bに登録されるものとする。また、各タイムステップにおける接触平面の頂点座標は、後述の動作パラメータ作成部10aによって作成される。そして、動作パラメータ作成部10aによって、各タイムステップにおける接触平面の頂点座標が、接触平面テーブル6bに登録され、接触平面テーブル6bが更新される。
図1に戻って、3次元データ管理部7は、シミュレーション画像を作成する際に用いる各種データを記憶する。例えば、3次元データ管理部7は、各ワークや搬送機器のポリゴンデータ、表示する際の色を指定する情報等を記憶する。
制御ソフトウェア実行部8は、デバッグ対象となる制御ソフトウェアを実行する。例えば、制御ソフトウェア実行部8は、シミュレーション対象となる工場において、各搬送機器を動作させるサーボモータの制御信号を生成する制御ソフトを実行する。そして、制御ソフトウェア実行部8は、制御ソフトウェアが生成した制御信号の内容を、タイムステップTからタイムステップTまでのタイムステップごとに順番にモータ動作演算部9に出力する。例えば、制御ソフトウェア実行部8は、サーボモータのオンとオフを示すパルス信号がオン状態となるタイミング、オン状態となる時間、パルスの正負等をモータ動作演算部9に通知する。
モータ動作演算部9は、制御ソフトウェア実行部8から受信した制御信号の内容に従って、タイムステップごとに各搬送機器を動作させるサーボモータの回転数等を演算する。そして、モータ動作演算部9は、演算結果を用いて、タイムステップごとに各搬送機器の移動量及び移動方向を示す移動ベクトルを生成し、生成した移動ベクトルを搬送動作情報テーブル5bに格納する。例えば、モータ動作演算部9は、あるタイムステップにおいて、プッシャーを動作させるサーボモータの制御信号の内容を受信すると、受信した制御信号に従ってサーボモータの回転方向や回転数を演算する。そして、モータ動作演算部9は、演算したサーボモータの回転方向や回転数に応じてプッシャーの移動量及び移動方向を示す移動ベクトルを算出し、算出した移動ベクトルを搬送動作情報テーブル5bに格納して、搬送動作情報テーブル5bを更新する。なお、モータ動作演算部9は、各搬送機器の各軸の回転量も演算し、搬送動作情報テーブル5bの図示しない項目に格納する。
動作パラメータ作成部10aは、タイムステップごとに、管理情報記憶部5が記憶する各種情報を用いて、動作パラメータを生成し、生成した動作パラメータを動作パラメータ記憶部6に格納する。
ここで、動作パラメータとは、演算装置1がワークの搬送状態をシミュレートするために用いる情報である。例えば、動作パラメータとは、各ワークと各搬送機器が接触しているか否かを判定する接触判定に用いる情報であり、ワークに外接する接触判定直方体の位置情報と、搬送機器がワークを搬送する際にワークと接触する接触平面の位置情報である。
以下、動作パラメータ作成部10aの動作について説明する。まず、動作パラメータ作成部10aは、タイムステップTにおいて、ワーク形状テーブル5cとワーク姿勢テーブル5dから、各ワークの形状とタイムステップTk−1におけるワークの接触判定直方体の重心位置及び姿勢とを取得する。そして、動作パラメータ作成部10aは、取得した各ワークの形状、重心位置及び姿勢に基づいて、各ワークに外接する接触判定直方体の表面を構成するポリゴンデータを作成し、作成したポリゴンデータを接触判定直方体テーブル6aに格納する。
図9は、ワークの接触判定直方体を説明する図である。例えば、動作パラメータ作成部10aは、図9中の直線で示すワーク40の接触判定直方体として、図9中の点線で示す直方体50を識別する。すなわち、動作パラメータ作成部10aは、ワーク40に外接する直方体50を識別する。そして、動作パラメータ作成部10aは、識別した直方体50の表面を構成するポリゴンのポリゴンデータを生成し、生成したポリゴンデータを接触判定直方体テーブル6aに格納する。動作パラメータ作成部10aは、上述したポリゴンデータを生成する処理をタイムステップごとに、各ワークに対して行う。
また、動作パラメータ作成部10aは、タイムステップTにおいて、搬送部品形状テーブル5a及び搬送動作情報テーブル5bから、各搬送機器の形状とタイムステップTk−1における重心位置及び姿勢とを取得する。そして、動作パラメータ作成部10aは、取得した各搬送機器の形状とタイムステップTk−1における重心位置及び姿勢とを用いて、次のデータを生成する。すなわち、動作パラメータ作成部10aは、搬送機器がワークと接触した場合に、接触したワークを押し出す面または持ち上げる面である接触平面の頂点座標を作成し、作成した接触平面の頂点座標を接触平面テーブル6bに格納する。ここで、動作パラメータ作成部10aは、搬送機器がワークを押し出すまたは持ち上げる方向のベクトルを法線ベクトルとする搬送機器の面を接触平面とすることができる。例えば、先の図2Aの例に示すように、動作パラメータ作成部10aは、プッシャー30の接触平面31の頂点座標を作成し、接触平面テーブル6bに格納する。動作パラメータ作成部10aは、上述した接触平面を作成する処理をタイムステップごとに、各搬送機器に対して行う。
接触姿勢演算部10bは、動作パラメータ記憶部6が記憶する情報を用いて、ワークの接触判定を行う。例えば、接触姿勢演算部10bは、接触判定直方体の形状と、各搬送機器の接触平面の形状とを接触判定直方体テーブル7a及び接触平面テーブル7bから取得する。そして、接触姿勢演算部10bは、搬送機器の接触平面上に、ワークの搬送を開始するか否かを判定する搬送可能領域を設定する。例えば、接触姿勢演算部10bは、接触平面上に、搬送機器が移動する方向に、所定の搬送可能領域を設定する。図10Aは、プッシャーの搬送可能領域を説明する図である。例えば、図10Aの例に示すように、接触姿勢演算部10bは、プッシャー30の接触平面31上に設定される、ワークの搬送を開始するか否かを判定する搬送可能領域32のポリゴンデータを作成する。図10Aの例に示すように、搬送可能領域32は、プッシャー30の接触平面31の幅と同様の幅33を有し、プッシャー30の移動方向34におけるプッシャー30が搬送を行うワークの接触判定直方体の長さと同様の長さ35を有する。そして、接触姿勢演算部10bは、作成した搬送可能領域32をプッシャー30の接触平面31上に設定する。
図10Bは、リフターの搬送可能領域を説明する図である。例えば、図10Bの例に示すように、接触姿勢演算部10bは、リフター60の接触平面61上に設定される、ワークの搬送を開始するか否かを判定する搬送可能領域62のポリゴンデータを作成する。図10Bの例に示すように、搬送可能領域62は、リフター60の接触平面61の幅と同様の幅63を有し、リフター60の移動方向64におけるリフター60が搬送を行うワークの接触判定直方体の長さと同様の長さ65を有する。そして、接触姿勢演算部10bは、作成した搬送可能領域62をリフター60の接触平面61上に設定する。姿勢接触演算部10bは、上述した搬送可能領域を設定する処理をタイムステップごとに、各搬送機器について行う。
また、接触姿勢演算部10bは、各ワークの接触判定直方体の重心位置を算出する。そして、接触姿勢演算部10bは、ワークごとに、算出した重心位置が、重心位置が算出された接触判定直方体のワークを搬送対象とする搬送機器に設定された搬送可能領域に含まれるか否かを判定する。接触姿勢演算部10bは、あるタイムステップTにおいて、ある搬送機器に設定された搬送可能領域にワークの接触判定直方体の重心位置が含まれる場合には、搬送機器がワークの搬送を開始すると判定することができる。
そして、接触姿勢演算部10bは、あるタイムステップTにおいて、搬送可能領域にワークの接触判定直方体の重心が含まれると判定した場合には、搬送機器がワークの搬送を開始すると判定する。例えば、接触姿勢演算部10bは、先の図2Aの例に示すように、あるタイムステップTにおいて、搬送可能領域にワークの接触判定直方体の重心が含まれると判定した場合には、プッシャー30がワーク40の搬送を開始すると判定する。次に、接触姿勢演算部10bは、搬送機器に設定されたワークを押し出す面または持ち上げる面である接触面とワークの接触判定直方体の面とが平行となる場合の、接触判定直方体の回転量を計算する。
例えば、先の図2Aの例に示すように、接触姿勢演算部10bは、接触面31に最も近い点42を検出する。そして、接触姿勢演算部10bは、ワーク40の接触判定直方体の重心を中心として、プッシャー30の移動方向にワーク40の接触判定直方体を押した場合に接触判定直方体が回転する方向43を決定する。そして、接触姿勢演算部10bは、ワーク40の接触判定直方体を決定した方向43に計算した回転量だけ回転させることを開始する。そして、ワーク移動演算部10cは、接触面31とワーク40の接触判定直方体の面44とが平行となった場合に、接触判定直方体の回転を停止する。
図1に戻り、ワーク移動演算部10cは、接触面に対して平行となったワークの接触判定直方体の面と、接触面との距離を計算する。続いて、ワーク移動演算部10cは、接触判定直方体の面と接触面とが接触するように、接触判定直方体が搬送機器に対して近づく方向に、計算した距離だけワークを移動させる。そして、ワーク移動演算部10cは、搬送機器とワークとが一体化したことを3次元姿勢演算部16に通知する。また、ワーク移動演算部10cは、搬送機器の移動量及び姿勢角を3次元姿勢演算部16に通知する。また、ワーク移動演算部10cは、ワークの接触判定直方体の移動量及び姿勢角をワークの移動量及び姿勢角として3次元姿勢演算部16に通知する。
例えば、先の図2Aの例に示すように、ワーク移動計算部10cは、接触面31に対して平行となったワーク40の接触判定直方体の面44と、接触面31との距離45を計算する。続いて、ワーク移動演算部10cは、面44と、接触面31とが接触するように、接触判定直方体がプッシャー30に近づく方向に、距離45だけ接触判定直方体を移動させる。これにより、ワーク40に対してプッシャー30がめり込むことなく、プッシャー30の接触平面31にワーク40を接触させることができる。また、ワーク40がプッシャー30によって搬送される際のワーク40の姿勢が、プッシャーがワークを実際に搬送する際のワークの姿勢と同様となる。そして、ワーク移動演算部10cは、プッシャー30とワーク40とが一体化したことを3次元姿勢演算部16に通知する。また、ワーク移動演算部10cは、プッシャー30の移動ベクトル及び回転量、並びに、ワーク40の回転量を3次元姿勢演算部16に通知する。
図1に戻って、3次元姿勢演算部11は、タイムステップTにおいて、一体化されている搬送機器及びワークについては、タイムステップTk−1における搬送機器の重心位置、及び、タイムステップTにおける搬送機器の移動ベクトルに基づいて次の処理を行う。すなわち、3次元姿勢演算部11は、搬送機器及びワークが一体化されたモデルの重心位置を計算する。また、3次元姿勢演算部11は、ワークと一体化されていない搬送機器については、タイムステップTk−1における搬送機器の重心位置、及び、タイムステップTにおける搬送機器の移動ベクトルに基づいて次の処理を行う。すなわち、3次元姿勢演算部11は、あるタイムステップTにおける搬送機器の重心位置を計算する。
そして、3次元姿勢演算部11は、あるタイムステップTにおいて、ワークの回転量が通知された場合には、次の処理を行う。すなわち、3次元姿勢演算部11は、タイムステップTにおけるワークの回転量及びタイムステップTk−1におけるワークの姿勢角に基づいて、タイムステップTにおけるワークの姿勢角を計算する。また、3次元姿勢演算部11は、あるタイムステップTにおいて、搬送機器の回転量が通知された場合には、次の処理を行う。すなわち、3次元姿勢演算部11は、タイムステップTにおける搬送機器の回転量及びタイムステップTk−1における搬送機器の姿勢角に基づいて、タイムステップTにおける搬送機器の姿勢角を計算する。
そして、3次元姿勢演算部11は、3次元データ管理部7が記憶する各ワーク、および各搬送機器の形状を読み出す。次に3次元姿勢演算部11は、一体化されている搬送機器及びワークのモデルの重心位置、各ワークの接触判定直方体の重心位置、各搬送機器の重心位置に、読み出した形状及び一体化された搬送機器及びワークのモデルを配置したシミュレーション空間を設定する。なお、3次元姿勢演算部11は、シミュレーション空間を設定する際に、一体化されている搬送機器及びワークのモデル、各ワーク、及び、各搬送機器がそれぞれ、対応する姿勢角となるようにシミュレーション空間を設定する。そして、3次元姿勢演算部11は、設定したシミュレーション空間の情報を3次元形状表示制御部12に通知する。
また、3次元姿勢演算部11は、各搬送機器の重心位置や姿勢角を搬送部品形状テーブル5bに格納する。また、3次元姿勢演算部11は、各ワークの接触判定直方体の重心位置や姿勢角をワーク姿勢テーブル5dに格納する。また、3次元姿勢演算部11は、一体化されている搬送機器及びワークのモデルが示す搬送機器及びワークについては、かかるモデルの重心位置を搬送部品形状テーブル5b及びワーク姿勢テーブル5dに格納する。
3次元形状表示制御部12は、タイムステップごとに、シミュレーション空間を表示する出力装置3が表示する際の画像を生成する。例えば、3次元形状表示制御部12は、シミュレーション空間の情報を3次元姿勢演算部11から受信すると、受信したシミュレーション空間の画像をZバッファ法やスキャンライン等を用いて生成し、生成した画像を出力装置3に送信する。
例えば、制御ソフトウェア実行部8、モータ動作演算部9、シミュレーション演算部10、3次元姿勢演算部11、3次元形状表示制御部12は、電子回路である。ここで、電子回路の例として、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)などが挙げられる。
また、管理情報記憶部5、動作パラメータ記憶部6、3次元データ管理部7は、RAM(Random Access Memory)、フラッシュメモリ(flash memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
次に、図11を用いて、演算装置1が実行する処理の流れについて説明する。図11は、あるタイムステップにおけるワークと搬送機器との一体化を判定する処理の流れを説明するためのフローチャートである。
図11に示すように、接触姿勢演算部10bは、接触判定直方体の形状と、各搬送機器の接触平面の形状とを接触判定直方体テーブル7a及び接触平面テーブル7bから取得する(S101)。そして、接触姿勢演算部10bは、搬送機器の接触平面上に、ワークの搬送を開始するか否かを判定する搬送可能領域を設定する(S102)。また、接触姿勢演算部10bは、各ワークの接触判定直方体の重心位置を算出する(S103)。そして、接触姿勢演算部10bは、ワークとかかるワークを搬送対象とする搬送機器との組み合わせのうち、未選択の組み合わせがあるか否かを判定する(S104)。未選択の組み合わせがない場合(S104否定)には、処理を終了する。一方、未選択の組み合わせがある場合(S104肯定)には、接触姿勢演算部10bは、未選択の組み合わせを1つ選択する(S105)。そして、選択した組み合わせに含まれるワークの接触判定直方体の重心位置が、選択した組み合わせに含まれる搬送機器に設定された搬送可能領域に含まれるか否かを判定する(S106)。
そして、接触姿勢演算部10bは、搬送可能領域にワークの接触判定直方体の重心が含まれないと判定した場合(S106否定)には、S104に戻る。一方、搬送可能領域にワークの接触判定直方体の重心が含まれると判定した場合(S106肯定)には、接触姿勢演算部10bは、次の処理を行う。すなわち、接触姿勢演算部10bは、搬送機器に設定された接触面とワークの接触判定直方体の面とが平行となる場合の、接触判定直方体の回転量を計算し、接触判定直方体を回転させる(S107)。
そして、ワーク移動演算部10cは、接触面に対して平行となったワークの接触判定直方体の面と、接触面との距離を計算する(S108)。続いて、ワーク移動演算部10cは、ワークの接触判定直方体の面と接触面とが接触するように、接触判定直方体が搬送機器に対して近づく方向に、計算した距離だけワークを移動させる(S109)。そして、ワーク移動演算部10cは、搬送機器とワークとが一体化したことを3次元姿勢演算部16に通知する。また、ワーク移動演算部10cは、搬送機器の移動量及び姿勢角、並びに、ワークの移動量及び姿勢角を3次元姿勢演算部16に通知し(S110)、処理を終了する。
上述したように、演算装置1は、次の処理を行う。すなわち、演算装置1は、3次元シミュレーション空間上にワーク40と、プッシャー30の押し出し面31で押すことでワーク40を移動させる動作をするプッシャー30とが配置され、プッシャー30がワーク40を搬送するシミュレーション演算を実行する。また、演算装置1は、3次元シミュレーション空間上にワーク70と、リフター60の支え面61により下から支えることでワーク70を上方に上げる動作をするリフター60とが配置され、リフター60がワーク70を搬送するシミュレーション演算を実行する。そして、演算装置1は、かかるシミュレーション演算を実行する際に、プッシャー30の押し出し面31、または、リフター60の支え面61が位置する座標と、ワーク40またはワーク70の重心が位置する座標とが所定の距離以内になった場合に次の処理を行う。すなわち、演算装置1は、重心の位置を中心にワーク40またはワーク70を回転させる。
よって、演算装置1は、ワーク40、70に対してプッシャー30、リフター60がめり込むことなく、プッシャーやリフターがワークを搬送する実際の状況と同様の状況でワーク40、70の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度が低下することを抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
また、演算装置1によれば、ワーク40がプッシャー30によって搬送される際の姿勢が、プッシャーがワークを実際に搬送する際のワークの姿勢と同様となる。また、演算装置1によれば、ワーク70がリフター60によって搬送される際の姿勢が、リフターがワークを実際に搬送する際のワークの姿勢と同様となる。そのため、演算装置1は、プッシャーやリフターがワークを搬送する実際の状況と同様の状況でワーク40、70の搬送状態をシミュレートすることができる。それゆえ、演算装置1によれば、シミュレーションにおいて演算されるワークの位置の精度が低下することを抑制することができる。したがって、演算装置1によれば、制御プログラムの検証を精度良く行うことができる。
また、演算装置1は、ワークとリフターやプッシャーとを一体化させてワークの位置を算出するので、リフターやプッシャーが高速で移動した場合にも、ワークの位置ずれを防ぐことができる。この結果、演算装置1は、精度を保ったまま、高速なシミュレーション画像を作成することができる。
また、演算装置1は、プッシャー30の押し出し面31が位置する座標と、ワーク40の接触判定直方体の重心が位置する座標とが、かかる重心からワーク40の縁までの距離以内になった場合に、重心を中心にワーク40を回転させることもできる。また、演算装置1は、リフター60の支え面61が位置する座標と、ワーク70の重心が位置する座標とが、かかる重心からワーク70の縁までの距離以内になった場合に、重心を中心にワーク70を回転させることもできる。
また、演算装置1は、プッシャー30の押し出し面31が位置する座標と、ワーク40の重心が位置する座標とが所定の距離以内になった場合に、次の処理を行う。すなわち、演算装置1は、ワーク40と押し出し面31とが接触すると判定されるワーク40の角とワーク40の重心位置との関係から回転の方向を決定する。また、演算装置1は、リフター60の支え面61が位置する座標と、ワーク70の重心が位置する座標とが所定の距離以内になった場合に、次の処理を行う。すなわち、演算装置1は、ワーク70と押し出し面61とが接触すると判定されるワーク70の角とワーク70の重心位置との関係から回転の方向を決定する。そして、演算装置1は、重心を中心に、決定した回転方向にワーク40、70を回転させる。
また、演算装置1は、ワークに外接する接触判定直方体を用いて、ワークの回転中心、およびワークの回転方向を決定する。このため、演算装置1は、演算量を増加させることなく、ワークの回転を行うことができる。
これまで本発明の実施例について説明したが実施例は、上述した実施例以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では他の実施例を説明する。
[接触判定直方体について]
上述した演算装置1は、各ワークに外接する直方体を接触判定直方体とした。しかし、実施例はこれに限定されるものではない。例えば、演算装置1は、入力装置2から、利用者が任意に設定した接触判定直方体のポリゴンデータを受け付けて、受け付けたポリゴンデータを接触判定直方体テーブル6aに格納することができる。
[ワーク、および搬送機器について]
実施例1で図示したワークおよび各種搬送機器は、あくまで一例であり、演算装置1は、任意の形状を有するワーク、および任意の形状を有する各搬送機器についてシミュレーションを実行することが可能である。また、上述した各種搬送機器は、一例であり、演算装置1は、任意の機能を有する搬送機器のシミュレーションを行うことができる。
[プログラム]
ところで、実施例1に係る演算装置1は、ハードウェアを利用して各種の処理を実現する場合を説明した。しかし、実施例はこれに限定されるものではなく、あらかじめ用意されたプログラムを演算装置1が有するコンピュータで実行することによって実現するようにしてもよい。そこで、以下では、図12を用いて、実施例に示した演算装置1と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。図12は、シミュレートプログラムを実行するコンピュータの一例を説明するための図である。
図12に例示されたコンピュータ100は、ROM(Read Only Memory)110、HDD(Hard Disk Drive)120、RAM(Random Access Memory)130、CPU(Central Processing Unit)140がバス160で接続される。また、図12に例示されたコンピュータ100は、データを送受信するためのI/O(Input Output)150を有する。
HDD120には、シミュレートプログラム121があらかじめ保持される。CPU140がシミュレートプログラム121をHDD120から読み出して実行することによって、図12に示す例では、シミュレートプログラム121は、シミュレートプロセス141として機能するようになる。なお、シミュレートプロセス141は、先の図1に示した制御ソフトウェア実行部8、モータ動作演算部9、シミュレーション演算部10、3次元姿勢演算部11、3次元形状表示制御部12と同様の機能を発揮する。
なお、本実施例で説明したシミュレートプログラム121は、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical Disc)、DVD(Digital Versatile Disc)などのコンピュータで読取可能な記録媒体に記録される。また、このプログラムは、コンピュータによって記録媒体から読み出されることによって実行することもできる。
1 演算装置
2 入力装置
3 出力装置
4 管理情報記憶部
5 搬送機器管理テーブル
5a 搬送部品形状テーブル
5b 搬送動作情報テーブル
5c ワーク形状テーブル
5d ワーク姿勢テーブル
6 動作パラメータ記憶部
6a 接触判定直方体テーブル
6b 接触平面テーブル
7 3次元データ管理部
8 制御ソフトウェア実行部
9 モータ動作演算部
10 シミュレーション演算部
10a 動作パラメータ作成部
10b 接触姿勢演算部
10c ワーク移動演算部
11 3次元姿勢演算部

Claims (7)

  1. 3次元シミュレーション空間上に搬送物と、プッシャー部の押し出し面で押すことで該搬送物を移動させる動作をするまたはリフター部の支え面により下から支えることで該搬送物を上方に上げる動作をする搬送機とが配置され、該搬送機が該搬送物を搬送するシミュレーション演算を実行する際に、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、該所定の基準点を中心に前記搬送物を回転させる
    処理をコンピュータに実行させることを特徴とするプログラム。
  2. 前記搬送物を回転させる処理は、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の重心が位置する座標とが所定の距離以内になった場合に、該重心を中心に前記搬送物を回転させる
    ことを特徴とする請求項1に記載のプログラム。
  3. 前記搬送物を回転させる処理は、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、該所定の基準点を中心に該搬送物の縁と該プッシャー部の押し出し面または該リフター部の支え面とが平行になるように、前記搬送物を回転させる
    ことを特徴とする請求項1または2に記載のプログラム。
  4. 前記搬送物を回転させる処理は、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の重心が位置する座標とが該重心から前記搬送物の縁までの距離以内になった場合に、該重心を中心に前記搬送物を回転させる
    ことを特徴とする請求項2に記載のプログラム。
  5. 前記搬送物を回転させる処理は、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、前記搬送物と前記プッシャー部の押し出し面とが接触すると判定される該搬送物の角と該搬送物の重心位置との関係から回転の方向を決定し、該所定の基準点を中心に、決定した回転方向に前記搬送物を回転させる
    ことを特徴とする請求項1〜4のいずれか一項に記載のプログラム。
  6. 3次元シミュレーション空間上に搬送物と、プッシャー部の押し出し面で押すことで該搬送物を移動させる動作をするまたはリフター部の支え面により下から支えることで該搬送物を上方に上げる動作をする搬送機とが配置され、該搬送機が該搬送物を搬送するシミュレーション演算を実行する際に、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、該所定の基準点を中心に前記搬送物を回転させる制御部、
    を有することを特徴とする演算装置。
  7. 3次元シミュレーション空間上に搬送物と、プッシャー部の押し出し面で押すことで該搬送物を移動させる動作をするまたはリフター部の支え面により下から支えることで該搬送物を上方に上げる動作をする搬送機とが配置され、該搬送機が該搬送物を搬送するシミュレーション演算を実行する際に、前記プッシャー部の押し出し面、または、前記リフター部の支え面が位置する座標と、前記搬送物の所定の基準点が位置する座標とが所定の距離以内になった場合に、該所定の基準点を中心に前記搬送物を回転させる
    処理をコンピュータが実行することを特徴とする演算方法。
JP2013017894A 2013-01-31 2013-01-31 プログラム、演算装置および演算方法 Active JP6115157B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013017894A JP6115157B2 (ja) 2013-01-31 2013-01-31 プログラム、演算装置および演算方法
US14/073,192 US20140214376A1 (en) 2013-01-31 2013-11-06 Arithmetic device and arithmetic method
CN201310618571.7A CN103970926B (zh) 2013-01-31 2013-11-28 用于运输装置的运算装置和运算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013017894A JP6115157B2 (ja) 2013-01-31 2013-01-31 プログラム、演算装置および演算方法

Publications (2)

Publication Number Publication Date
JP2014148388A JP2014148388A (ja) 2014-08-21
JP6115157B2 true JP6115157B2 (ja) 2017-04-19

Family

ID=51223860

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013017894A Active JP6115157B2 (ja) 2013-01-31 2013-01-31 プログラム、演算装置および演算方法

Country Status (3)

Country Link
US (1) US20140214376A1 (ja)
JP (1) JP6115157B2 (ja)
CN (1) CN103970926B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106228604A (zh) * 2016-07-28 2016-12-14 中广核研究院有限公司 一种基于现实环境的模拟运输系统及模拟运输方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5719678A (en) * 1994-07-26 1998-02-17 Intermec Corporation Volumetric measurement of a parcel using a CCD line scanner and height sensor
JP2002068416A (ja) * 2000-08-24 2002-03-08 Tokyo Autom Mach Works Ltd ワーク搬送経路を構成する複数の装置を含む搬送システムのシミュレーション方法およびシミュレータ
KR100422370B1 (ko) * 2000-12-27 2004-03-18 한국전자통신연구원 3차원 물체 부피계측시스템 및 방법
JP2005202737A (ja) * 2004-01-16 2005-07-28 Tokyo Autom Mach Works Ltd シミュレーション装置
FR2895688B1 (fr) * 2005-12-30 2010-08-27 Pellenc Selective Technologies Procede et machine automatiques d'inspection et de tri d'objets non metalliques
US20080082984A1 (en) * 2006-09-29 2008-04-03 Siemens Technology-To-Business Center, Llc Methods, apparatus and storage medium for use in association with a dataflow system
JP2008296330A (ja) * 2007-05-31 2008-12-11 Fanuc Ltd ロボットシミュレーション装置
US8493188B2 (en) * 2009-01-14 2013-07-23 International Business Machines Corporation Haptic motion feedback device
JP5866762B2 (ja) * 2011-01-19 2016-02-17 富士通株式会社 模擬装置、模擬プログラム、および模擬方法
DE102011075467A1 (de) * 2011-05-06 2012-11-08 Deckel Maho Pfronten Gmbh Vorrichtung zum bedienen einer automatisierten maschine zur handhabung, montage oder bearbeitung von werkstücken
CN102622082B (zh) * 2011-12-13 2015-03-18 南京大学 一种基于手机传感器控制电脑的方法
JP5838873B2 (ja) * 2012-03-15 2016-01-06 オムロン株式会社 シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム
US9233470B1 (en) * 2013-03-15 2016-01-12 Industrial Perception, Inc. Determining a virtual representation of an environment by projecting texture patterns

Also Published As

Publication number Publication date
JP2014148388A (ja) 2014-08-21
CN103970926B (zh) 2017-10-03
US20140214376A1 (en) 2014-07-31
CN103970926A (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
US11103998B2 (en) Method and computing system for performing motion planning based on image information generated by a camera
KR20200138076A (ko) 오류 검출 및 동적 패킹 메커니즘을 구비한 로봇 시스템
JP6036662B2 (ja) ロボットシミュレーション装置、プログラム、記録媒体及び方法
WO2019009350A1 (ja) 経路出力方法、経路出力システム及び経路出力プログラム
CN104842347A (zh) 防止搬送对象物的落下事故的机器人系统
US9440265B2 (en) Conveying controlling apparatus, conveying controlling method and program
WO2019167765A1 (ja) シミュレーション装置、方法、及びプログラム
JP6115158B2 (ja) プログラム、演算装置および演算方法
CN112236272B (zh) 把持姿态评价装置和把持姿态评价程序
JP5983442B2 (ja) プログラム、演算装置および演算方法
JP2019152971A (ja) シミュレーション装置、シミュレーション方法及びシミュレーションプログラム
JP2018073942A (ja) 基板把持ハンド及びそれを備える基板搬送装置
JP6115157B2 (ja) プログラム、演算装置および演算方法
US20190255705A1 (en) Simulation apparatus, simulation method, and simulation program
WO2016132521A1 (ja) 教示データ生成装置
WO2018180298A1 (ja) ロボット教示装置、ロボット教示装置の制御方法及びロボット教示プログラム
CN113219900B (zh) 基于相机生成的图像信息执行运动规划的方法和计算系统
JP7415013B2 (ja) ロボットの構成部材の干渉を検出するロボット装置
TWI833477B (zh) 基板運送機器人的控制裝置以及關節馬達的控制方法
TW202432320A (zh) 機器人控制裝置及機器人系統

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170306

R150 Certificate of patent or registration of utility model

Ref document number: 6115157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150