(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024076462
(43)【公開日】2024-06-06
(54)【発明の名称】治具データ生成装置、ロボットコントローラ、ロボットシミュレーション装置、および制御装置
(51)【国際特許分類】
B25J 19/00 20060101AFI20240530BHJP
B25J 13/00 20060101ALI20240530BHJP
B33Y 50/02 20150101ALI20240530BHJP
B33Y 30/00 20150101ALI20240530BHJP
B33Y 80/00 20150101ALI20240530BHJP
B29C 64/393 20170101ALI20240530BHJP
B29C 64/118 20170101ALI20240530BHJP
【FI】
B25J19/00 Z
B25J13/00 Z
B33Y50/02
B33Y30/00
B33Y80/00
B29C64/393
B29C64/118
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2022187980
(22)【出願日】2022-11-25
(71)【出願人】
【識別番号】000232302
【氏名又は名称】ニデック株式会社
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】浪越 孝宏
【テーマコード(参考)】
3C707
4F213
【Fターム(参考)】
3C707AS06
3C707KS30
3C707KS35
3C707KV06
3C707KW05
3C707LT14
3C707LU06
3C707LU08
3C707LV04
3C707LV06
4F213WA25
4F213WB01
4F213WL02
4F213WL85
4F213WL87
(57)【要約】 (修正有)
【課題】治具への悪影響を抑制することが可能となる治具データ生成装置およびロボットシミュレーション装置を提供する。
【解決手段】治具データ生成装置は、積層方向に積層して積層物を製造するための3D印刷装置により製造された治具の形状データを取得する取得部と、取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、決定された前記治具範囲のデータを含む治具データを生成する生成部と、を備える。
【選択図】
図6
【特許請求の範囲】
【請求項1】
積層方向に積層して積層物を製造するための3D印刷装置により製造された治具の形状データを取得する取得部と、
取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、
決定された前記治具範囲のデータを含む治具データを生成する生成部と、
を備える、治具データ生成装置。
【請求項2】
前記形状データは、前記治具の3Dモデルを構成する多角形のそれぞれの各頂点座標を含む、請求項1に記載の治具データ生成装置。
【請求項3】
前記多角形のそれぞれの前記各頂点座標は、3Dモデリングソフトにおいて扱われる座標系における座標であり、
前記生成部は、前記治具の積層方向を示す積層方向ベクトルのベクトル情報を含めた前記治具データを生成し、
前記ベクトル情報は、3D印刷ソフトによって前記治具のモデルを印刷用に配置したときの姿勢データとして前記治具データに含められる、請求項2に記載の治具データ生成装置。
【請求項4】
前記決定部は、前記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された前記最大値および前記最小値に基づいて直方体である前記治具範囲を決定する、請求項2に記載の治具データ生成装置。
【請求項5】
前記決定部は、前記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された前記最大値および前記最小値に基づいて直方体を決定し、決定された直方体の中心位置を中心とし、前記中心位置から前記直方体の頂点までの距離を半径とする球体としての前記治具範囲を決定する、請求項2に記載の治具データ生成装置。
【請求項6】
前記取得部は、前記治具の素材および充填に関する情報の少なくとも一方のデータを取得し、
前記生成部は、前記少なくとも一方のデータを前記治具データに含める、請求項1に記載の治具データ生成装置。
【請求項7】
ワークを把持可能なロボットを制御するためのロボットコントローラであって、
請求項1から請求項6のいずれか1項に記載の治具データ生成装置により生成された前記治具データを取得するデータ取得部と、
前記ワークを保持するための治具が有する積層構造の積層方向を示す積層方向ベクトル情報を記憶する記憶部と、
前記ワークを前記ロボットにより把持するときに、前記積層方向ベクトル情報に基づいて前記ロボットの把持に関する制御を実行する把持制御部と、
を備え、
前記把持制御部は、前記ロボットにおける所定位置が前記治具データにおける前記治具範囲に含まれるかを判断し、含まれる場合に前記ロボットの把持に関する制御を実行する、ロボットコントローラ。
【請求項8】
治具の形状データを取得する取得部と、
取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、
操作入力部の操作に応じてシミュレータ空間において前記治具を配置する配置部と、
仮想的なロボットを動作させる動作シミュレーション部と、
を備え、
前記動作シミュレーション部は、前記ロボットの動作中に前記ロボットの所定位置が前記治具範囲に含まれる場合に、前記所定位置の動作方向を記録する、ロボットシミュレーション装置。
【請求項9】
積層方向に積層して積層物を製造するための3D印刷装置を制御する制御装置であって、
請求項8に記載のロボットシミュレーション装置において記録された前記動作方向のデータと、前記治具の形状データを含むデータファイルを取得するファイル取得部と、
取得された前記データファイルに基づいて決定された積層方向に従った印刷を前記3D印刷装置に実行させる印刷制御部と、
を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、治具データ生成装置に関する。
【背景技術】
【0002】
従来、ワークを把持することが可能なハンドを備えるロボットが知られている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特に産業用ロボットを用いた製品の組み立て工程においては、ワークを保持するための治具が用いられることが多い。しかしながら、ロボットのハンドがワークに接触することで、ワークを保持する治具に負荷がかかり、治具に悪影響を及ぼすおそれがあり、ロボット制御の改善あるいは治具の設計方法の改善が求められる。
【0005】
上記状況に鑑み、本開示は、治具への悪影響を抑制することが可能となる治具データ生成装置およびロボットシミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の例示的な治具データ生成装置は、積層方向に積層して積層物を製造するための3D印刷装置により製造された治具の形状データを取得する取得部と、取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、決定された前記治具範囲のデータを含む治具データを生成する生成部と、を備える。
【0007】
また、本開示の例示的なロボットシミュレーション装置は、治具の形状データを取得する取得部と、取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、操作入力部の操作に応じてシミュレータ空間において前記治具を配置する配置部と、仮想的なロボットを動作させる動作シミュレーション部と、を備える。前記動作シミュレーション部は、前記ロボットの動作中に前記ロボットの所定位置が前記治具範囲に含まれる場合に、前記所定位置の動作方向を記録する。
【発明の効果】
【0008】
本開示の例示的な治具データ生成装置およびロボットシミュレーション装置によれば、治具への悪影響を抑制することが可能となる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、FDM方式の3D印刷装置の一例を示す概略図である。
【
図2】
図2は、3D印刷装置で製造された治具の一例を模式的に示す図である。
【
図3】
図3は、治具に対する負荷の方向の一例を示す図である。
【
図4】
図4は、本開示の例示的な実施形態に係るロボットシステムの構成を示す図である。
【
図5】
図5は、多関節ロボットの一例を示す概略図である。
【
図6】
図6は、治具データ生成装置(外部PC)の構成を示すブロック図である。
【
図7】
図7は、治具データを生成するためのステップの流れを示すフローチャートである。
【
図8】
図8は、3Dモデリングにおける治具の表示例と、3D印刷ソフトによる治具の配置例を示す図である。
【
図9】
図9は、治具範囲が直方体である場合の決定方法を示すフローチャートである。
【
図11】
図11は、治具範囲が球体である場合の決定方法を示すフローチャートである。
【
図13】
図13は、ロボットシステムにおけるロボット制御に関する構成を示す図である。
【
図14】
図14は、本開示の例示的な実施形態に係るロボット制御に関するフローチャートである。
【
図15】
図15は、ロボットの作業環境の一例を示す模式図である。
【
図18】
図18は、本開示の例示的なロボットシミュレーション装置の構成を示す図である。
【
図19】
図19は、印刷時の治具の積層方向を決定する方法を示すフローチャートである。
【
図21】
図21は、治具モデルと動作方向モデルの一例を示す図である。
【
図22】
図22は、本開示の例示的な制御装置の構成を示す図である。
【
図23】
図23は、治具モデルと動作方向モデルを印刷用に配置した一例を示す図である。
【発明を実施するための形態】
【0010】
以下に図面を参照して本開示の例示的な実施形態を説明する。
【0011】
<1.3D印刷装置により製造される治具>
3D印刷装置(3Dプリンタ)は、樹脂等を使用して複雑な構造の立体モデルを、金型不要で簡単に形成することができるため、様々な分野で活用されている。製品を組み立てるための工場においては、製品の生産時に補助的に使用される器具である治具が用いられる。治具は、ワークを保持するために使用される。ワークに合わせた治具を製造することで、ワークを作業しやすい位置または角度に固定することが可能となる。
【0012】
3D印刷装置には、FDM(Fused Deposition Modeling)方式(熱溶解積層方式)と呼ばれる方式で印刷を実行する装置がある。
図1は、FDM方式の3D印刷装置の一例を示す概略図である。
図1に示す3D印刷装置5は、フォームベース51と、印刷ヘッド52と、モデル材スプール53と、サポート材スプール54と、を備える。モデル材スプール53から印刷対象物P用の材料であるフィラメントが印刷ヘッド52に送られる。サポート材スプール54からサポート部S用の材料であるフィラメントが印刷ヘッド52に送られる。サポート部Sは、印刷時に印刷対象物Pを支持する部材である。上記フィラメントは、樹脂材料から構成される。
【0013】
印刷ヘッド52をxy方向に移動、かつフォームベース51をz方向に移動させつつ、印刷ヘッド52から加熱溶融されたフィラメントをフォームベース51へ向かって吐出することで、溶融樹脂の積層構造により印刷対象物Pおよびサポート部Sがフォームベース51上に印刷形成される。印刷後、印刷対象物Pからサポート部Sを分離することで、印刷対象物Pを得ることができる。
【0014】
治具を製造するために3D印刷装置が用いられる場合がある。
図2は、3D印刷装置で製造された治具の一例を模式的に示す図である。先述したFDM方式などの3D印刷装置は下から材料を積層するように治具を形成するため、
図2に示すように製造された治具Jは、積層方向Djに材料が積層された構造を有する。なお、
図1では、治具Jに保持されるワークWが図示される。
【0015】
しかしながら、3D印刷装置を用いて製造された治具は、
図3に示すように、積層方向Djの負荷(LAなど)に対しては強度が強いが、積層方向Djに直交する方向の負荷(LB,LCなど)に対しては強度が弱いという特徴を有する。
【0016】
ワークを把持可能な構成を有するロボットの作業環境に治具を配置する場合、ロボットがワークに接触すると、ワークを保持する治具に負荷がかかる。治具が3D印刷装置により製造された場合、負荷がかかる方向によっては治具に悪影響を及ぼすおそれがある。従って、このような治具への悪影響を抑制すべく、ロボットの適切な制御が求められる。
【0017】
<2.システム構成>
図4は、本開示の例示的な実施形態に係るロボットシステム10の構成を示す図である。ロボットシステム10は、ロボット1と、ロボットコントローラ2と、ティーチングペンダント3と、外部PC(パソコン)4と、を有する。
【0018】
ロボット1は、
図5に一例を模式的に示すように、産業用の多関節ロボット(ロボットアーム)である。ロボット1は、各関節軸にモータが搭載されており、先端部にハンド1Aを有する。ハンド1Aは、ワークを把持するように構成される。なお、ハンド1Aは、指によってワークを把持する構成であってもよいし、吸着によってワークを把持する構成であってもよい。モータの駆動によりハンド1Aは所定の位置・姿勢に制御される。
【0019】
また、ロボット1は、各関節部にトルクセンサ1Bを有する。トルクセンサ1Bは、各関節軸にかかるトルクを検出するように構成され、例えばひずみゲージにより構成される。各関節軸のトルクを検出して総合的に評価することで、ハンド1Aの把持状態を推測することができる。なお、ハンド1Aの把持状態を把握するためには、トルクセンサの代わりに、ハンド1Aの手首部に設けられる力覚センサ、あるいはハンド1Aの指先に設けられる触覚センサを用いてもよい。
【0020】
ロボットコントローラ2は、ロボット1を制御するための装置であり、例えばPCにより構成される。
【0021】
ロボットコントローラ2には、ティーチングペンダント3と呼ばれる操作装置が接続される。ティーチングペンダント3を用いて、ロボットコントローラ2にロボット1の位置姿勢を登録することができる。例えば、ティーチングペンダント3における操作によりロボット1の関節を制御し、所望の位置姿勢のときにティーチングペンダント3において登録操作をすると、そのときの位置姿勢がロボットコントローラ2に登録される。このような登録作業をティーチングと呼び、登録された位置姿勢は、教示点と呼ばれる。なお、教示点は、ロボット1の先端部(ハンド1A)の位置姿勢情報である。
【0022】
外部PC4は、ロボットコントローラ2の外部に設けられる。外部PC4には、各種ソフトウェアが保存される。外部PC4により、例えばロボット1への指令を与えるためのロボットプログラミングを行うことができる。また、外部PC4により、後述するように治具を3Dモデリングしたり、3D印刷装置5を制御したり、治具データを生成することができる。外部PC4の詳細については、後述する。なお、例えばロボットプログラミングを行うための外部PCと、治具関係の処理を行うための外部PCは、別個のPCであってもよい。
【0023】
3D印刷装置5は、治具を造形するために用いられ、先述した例えばFDM方式の装置として構成される。
【0024】
<3.治具データ生成>
ここでは、本開示に係るロボット制御について説明する前に、当該ロボット制御のために必要となる治具データを生成する方法について説明する。
【0025】
図6は、外部PC4の構成を示すブロック図である。外部PC4は、操作入力部41と、表示部42と、制御部43と、記憶部44と、を備える。
【0026】
操作入力部41は、操作に応じて制御部43に入力する入力信号を生成するように構成される。操作入力部41は、例えばマウスおよびキーボードを含む。
【0027】
表示部42は、各種画像を表示するように構成され、例えば液晶表示部により構成される。
【0028】
制御部43は、CPUおよびメモリなどを有する。記憶部44は、3Dモデリングソフト44A、3D印刷ソフト44B、および治具データ生成ソフト44Cを記憶する記憶装置である。記憶部44は、例えばHDD(Hard Disk Drive)あるいはSSD(Solid State Drive)などにより構成される。記憶部44に記憶されたソフトウェアをCPUが実行することで、制御部43の各種機能が実現される。
図6に図示された取得部43A、決定部43B、および生成部43Cは、治具データ生成ソフト44CをCPUが実行した場合に実現される各種の機能ブロックである。この場合、外部PC4は、治具データ生成装置4Aとして機能する。
【0029】
ここで、治具データを生成するためのステップの流れを
図7に示すフローチャートを用いて説明する。まず、ステップS1では、ユーザが外部PC4に3Dモデリングソフト(CADツール)44Aを実行させて、治具の3Dモデルを設計する。
図8の左側には、設計された治具Jの表示部42での表示例を示す。治具の設計が完了すると、ステップS2で、外部PC4が3Dモデリングソフト44Aを実行することで、設計された治具に関するSTLファイルが出力される。STLファイルは、三次元形状を表現するデータを保存するファイルフォーマットの一つであり、三次元形状を構成する各三角形要素(ポリゴン)の頂点座標(3つの座標)と法線ベクトルを含む。出力されたSTLファイルは、記憶部44に保存される。
【0030】
次に、ステップS3で、外部PC4で3D印刷ソフト44Bを実行することにより、上記STLファイルを読み込む。すると、治具のモデルが表示部42に表示され、操作入力部41の操作により印刷用に治具の配置を決定することができる(ステップS4)。
図8の右側には、3D印刷ソフト44Bの実行により表示部42に表示された治具Jのモデル表示例を示す。表示部42には治具Jとともに3D印刷装置5におけるフォームベース51が表示される。これにより、治具Jのフォームベース51に対する配置を表示上で操作できる。
【0031】
治具の配置は、3Dモデリングソフト44Aにおける直交座標系(XYZ)(
図8の左側に図示)のXYZ各軸に沿った平行移動による位置調整と、上記直交座標系のXYZ各軸周りの回転による姿勢調整により行うことができる。治具をフォームベース51に配置したときのフォームベース51のベース面に垂直な上方向U(
図8)が、治具を印刷するときの治具の積層方向となる。
【0032】
3D印刷ソフト44Bによれば、3D印刷のための治具の配置の他に、治具を支持するためのサポート部の決定、および各種パラメータ(素材、充填率など)の決定を行うことができる。
【0033】
印刷のための条件が決定すると、ステップS5に進み、3D印刷ソフト44Bを実行することで、制御部43は3D印刷装置5を制御する。これにより、3D印刷装置5は、治具の配置などの決定条件に基づき治具およびサポート部を積層によって印刷形成する。
【0034】
そして、ステップS6で、3D印刷ソフト44Bの実行により、3D印刷情報データが出力される。3D印刷情報データは、実行された3D印刷に関する情報を含んでいる。具体的には、3D印刷情報データは、治具(印刷対象物)の形状データ、治具の配置データ、サポート部の形状データ、およびパラメータ(素材、充填率など)を含む。治具の形状データは、ステップS2で出力されたSTLファイルに含まれる三角形要素の頂点座標データである。治具の配置データは、位置データ(X,Y,Z)と姿勢データ(Rx,Ry,Rz)である。姿勢データは、オイラー角のデータである。
【0035】
次に、ステップS7に進み、外部PC4で治具データ生成ソフト44Cを実行することにより、上記3D印刷情報データを読み込む。このとき、外部PC4は治具データ生成装置4Aとして機能する。取得部43A(
図6)は、3D印刷情報データに含まれるデータのうち治具の形状データ、姿勢データ(Rx,Ry,Rz)、およびパラメータを取得する。
【0036】
次に、ステップS8に進み、決定部43Bは、取得された治具の形状データに基づき、治具を囲む所定の治具範囲を決定する。治具範囲は、後述するようにロボット1のハンド1Aが治具に近づいたことを検出するために設けられる。
【0037】
ここで、治具範囲の具体的な決定方法の一例について説明する。
図9は、治具範囲が直方体である場合の決定方法を示すフローチャートである。まず、ステップS11で、治具(印刷対象物)の形状データが取得される。先述したように、当該形状データは、3Dモデリングソフト44Aでの直交座標系(XYZ)を基準とする各三角形要素の頂点座標データである。
【0038】
そして、ステップS12で、上記形状データに含まれるすべての頂点座標について、X,Y,Z成分それぞれの最大値Xmax,Ymax,Zmaxと最小値Xmin,Ymin,Zminが取得される。
【0039】
最大値Xmax,Ymax,Zmaxと最小値Xmin,Ymin,Zminが決まると、
図10に示すように直方体における8つの頂点が決まる。従って、ステップS13で、治具Jを囲む直方体としての治具範囲SSが決定される。
【0040】
図11は、治具範囲が球体である場合の決定方法を示すフローチャートである。
図11においてステップ21からステップS23までは先述した
図9におけるステップS11からステップS13までと同様であり、直方体が決定される。そして、ステップS24で、
図12に示すように、直方体の中心を中心Cとし、中心Cから直方体の頂点までの距離を半径Rとした球体を治具範囲SSとして決定する。
【0041】
図7に説明を戻し、ステップS8で治具範囲が決定されると、ステップS9に進む。ここで、生成部43C(
図6)は、上記形状データと、決定された治具範囲のデータと、治具の積層方向を示す積層方向ベクトルのベクトル情報と、パラメータ(素材および充填率など)と、を含めた治具データを生成する。積層方向ベクトルは、
図8に示す上方向Uに沿ったベクトルである。3Dモデリングソフト44Aにおける直交座標系(XYZ)に対する積層方向ベクトルは、上記姿勢データ(Rx,Ry,Rz)により決まるため、上記ベクトル情報として上記姿勢データを用いることができる。従って、治具データにおいて、3Dモデリングソフトにおける直交座標系(XYZ)をそれぞれ基準とした形状データ、治具範囲データ、および積層方向ベクトルのデータを含めることができる。
【0042】
ステップS10で、生成された治具データが外部PC4からロボットコントローラ2へ送信される。これにより、ロボットコントローラ2は、治具データを用いてロボット1の制御を行うことができる。
【0043】
このように、本開示の治具データ生成装置4Aは、積層方向に積層して積層物を製造するための3D印刷装置5により製造された治具の形状データを取得する取得部43Aと、取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲SSを決定する決定部43Bと、決定された前記治具範囲のデータを含む治具データを生成する生成部43Cと、を備える。これにより、積層物である治具の強度を考慮したロボットのワーク把持制御をするための治具データを、治具の形状データを用いることで容易に生成することができる。
【0044】
また、上記形状データは、上記治具の3Dモデルを構成する多角形(三角形要素)のそれぞれの各頂点座標を含む。これにより、ポリゴンデータに基づいて治具範囲を決定することができる。
【0045】
また、上記多角形のそれぞれの各頂点座標は、3Dモデリングソフト44Aにおいて扱われる座標系(XYZ)における座標である。生成部(43C)は、治具の積層方向を示す積層方向ベクトルのベクトル情報を含めた治具データを生成する。上記ベクトル情報は、3D印刷ソフト44Bによって治具のモデルを印刷用に配置したときの姿勢データとして治具データに含められる。これにより、形状データは、3Dモデリングソフト44Aにより生成される形状データを流用でき、積層方向ベクトルのベクトル情報は、3D印刷ソフトにより生成される姿勢データを流用できる。
【0046】
また、決定部43Bは、上記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された最大値および最小値に基づいて直方体である治具範囲SSを決定する。これにより、治具範囲SSを直方体で管理することができる。
【0047】
また、決定部43Bは、上記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された最大値および最小値に基づいて直方体を決定し、決定された直方体の中心位置を中心Cとし、上記中心位置から上記直方体の頂点までの距離を半径Rとする球体としての治具範囲SSを決定する。これにより、治具範囲SSを球体で管理することができる。
【0048】
また、取得部43Aは、治具の素材および充填に関する情報の少なくとも一方のデータを取得する。生成部43Cは、上記少なくとも一方のデータを治具データに含める。これにより、治具の強度に応じてロボット1がワーク把持制御をより適切に実行できる。
【0049】
<4.ロボット制御>
次に、上記のように生成された治具データを用いて実行されるロボット制御について説明する。
図13は、ロボットシステム10におけるロボット制御に関する構成を示す図である。
【0050】
ロボットコントローラ2は、制御部21と、記憶部22と、を有する。制御部21は、記憶部22に記憶されたロボットプログラム22A、教示点データ22B、および制御プログラム22Cを用いて各種制御を実行する。
【0051】
ロボットプログラム22Aは、例えばBASICまたはPythonなどのプログラミング言語により構成される。外部PC4において、教示点データ22Bを用いた動作指令をプログラミングすることでロボットプログラム22Aを生成することが可能である。制御プログラム22Cは、ロボットプログラム22Aにより指令される動作を実現するための制御を行うプログラムである。制御部21に含まれる把持制御部21Aは、ロボット1によるワークの把持に関する制御を実行する。把持制御部21Aは、制御プログラム22Cに従って制御を実行する。
【0052】
制御部21に含まれるデータ取得部21Bは、治具データ生成装置4Aとしての外部PC4から送信された治具データを取得する。ロボットコントローラ2は、操作入力に応じて治具データに基づき、ロボット1の作業空間に治具を配置することができる。治具が配置された状態での治具範囲のデータは治具範囲データ22Dとして、治具が配置された状態での治具の積層方向を示す積層方向ベクトルのデータは積層方向ベクトル情報22Eとして記憶部22に記憶される。
【0053】
次に、ロボットコントローラ2による制御について、
図14に示すフローチャートを参照して説明する。
図14に示す制御は、把持制御部21Aにより実行され、ハンド1Aがワークを把持するための目標地点に到達するまでの制御を示す。
【0054】
ここで、ロボット1の作業環境の一例を
図15に模式的に示すが、当該作業環境においては、3D印刷装置5を用いて製造された治具J(J1,J2)が複数配置されることとする。なお、本開示は、治具Jが単数配置される作業環境に適用することも可能である。
【0055】
図14に示す処理が開始されると、まずステップS31で、把持制御部21Aは、ロボット1の先端部(ハンド1A)の現在位置を取得する。なお、ハンド1Aの位置などの各種位置座標は、
図15に示すように固定座標系(Xr,Yr,Zr)において特定される。
【0056】
次に、ステップS32に進み、把持制御部21Aは、目標地点(目標座標)に移動するための、ロボット一制御周期分の微小動作を算出する。そして、ステップS33で、把持制御部21Aは、微小動作後のハンド1Aの位置が治具範囲データ22Dで表される治具範囲内であるかを判定する。治具範囲は、先述したように例えば直方体あるいは球体である。
【0057】
ステップS33において治具範囲が例えば球体である場合は、ハンド1Aの微小動作後の位置と中心Cの位置との間の距離が設定された半径R以下であるかにより、ハンド1Aが治具範囲SS内であるかを判定できる。これにより、ハンド1Aが治具Jに近い位置にあるかを判定できる。なお、ステップS33では、複数の治具Jのうち一つについて判定される。
【0058】
ステップS33において治具範囲内である場合は(ステップS33のY)、ステップS34に進む。ステップS34において、
図16に示すように、把持制御部21Aは、積層方向ベクトル情報22Eにより表される治具Jの積層方向ベクトルVjとハンド1Aの微小動作方向とがなす角度θを算出する。角度θは、0度から90度の範囲で算出される。角度θが90度に近いほど、微小動作方向が治具Jの強度が弱い方向であることを示す。ここで、積層方向ベクトル情報22Eは、複数の治具Jごとにあらかじめ記憶部22に格納される(
図15のVj1,Vj2)。
【0059】
次に、ステップS35で、
図16に示すように、把持制御部21Aは、微小動作の移動量Mを治具Jの積層方向の成分M1とそれに直交する方向の成分M2に分解する。
【0060】
そして、ステップS36に進み、把持制御部21Aは、上記直交する方向の成分(移動量成分)M2を減少させる。ここでは、上記算出された角度θが90度に近いほど減少量を大きくする。例えば、角度θに比例した減少量とする。
【0061】
次に、ステップS37に進み、把持制御部21Aは、上記直交する方向の減少後の成分と積層方向の成分とから微小動作を更新する。これにより、ロボット1制御周期における微小動作の移動量が減少され、ハンド1Aの動作速度が減少される。従って、ハンド1Aが治具Jに近づいた場合に、ハンド1Aがワークに接触する前にあらかじめハンド1Aの動作速度を減少させ、ハンド1Aがもしワークに接触した場合でも治具Jの強度が弱い方向への負荷を抑制できる。なお、更新後の微小動作における移動量が、移動量の減衰によって最低移動量よりも小さくなった場合は、更新後の微小動作における移動量を最低移動量とする。
【0062】
なお、ステップS34で算出される角度θが所定の角度閾値以上であるか否かに応じて、ステップS36における減少処理を実行するかを切り替えてもよい。この場合、ステップS36では、減少量を一定値とする。
【0063】
ステップS37の後、ステップS38で、把持制御部21Aは、負荷検出閾値の低下処理を実行する。負荷検出閾値は、ハンド1Aにかかる過負荷を検出するための閾値であり、例えばロボット1に設けられるトルクセンサ1Bのトルク検出閾値である。この場合、ステップS38では、トルク検出閾値が初期値から低下される。この場合の低下量は、例えばステップS34で算出された角度θに比例した低下量である。あるいは、角度θが所定の角度閾値以上であるか否かに応じて、トルク検出閾値を一定値だけ低下させるかを切り替えてもよい。
【0064】
なお、負荷検出閾値は、トルクセンサ1Bにより検出されるトルクから推測される負荷の閾値であってもよい。トルク検出閾値などの負荷検出閾値の初期値は、データ取得部21Bにより取得される治具データに含まれるパラメータに応じて設定される。3D印刷装置5で製造された治具Jの強度は、材質(ABS、PLAなど)、または内部の充填率、充填方式によって変化するため、治具Jの強度に応じて上記初期値を設定する。具体的には、強度が強いほど、初期値を大きくすればよい。
【0065】
一方、ステップS33で治具範囲外である場合は(ステップS33のN)、ステップS39に進む。
【0066】
ステップS38(またはステップS33)の後、ステップS39に進み、把持制御部21Aは、全ての治具Jについて処理されたかを判定する。全ての治具Jについて処理されていない場合は(ステップS39のN)、ステップS33に戻る。ここで、治具範囲内である場合は(ステップS33のY)、ステップS34以降の処理が実行される。
【0067】
例えば
図17に示すように、治具J1の治具範囲SS1と治具J2の治具範囲SS2とが重複領域SAで重なる場合、重複領域SAにハンド1Aが位置する場合に治具J1,J2それぞれについてステップS34以降の処理が実行される。
【0068】
全ての治具Jについて処理が完了した場合は(ステップS39のY)、ステップS40に進み、把持制御部21Aは、ハンド1Aの微小動作を実行する。そして、ステップS41で、把持制御部21Aは、ハンド1Aが目標地点に到達したかを判定する。もし到達していない場合は(ステップS41のN)、ステップS31に戻る。この場合、ステップS32で算出される微小動作の移動量は、ステップS40で実行された微小動作の移動量と同じとする。もし到達している場合は(ステップ41のY)、
図14の処理は完了となる。
【0069】
なお、把持制御部21Aは、
図14の処理と並行して負荷検出閾値を用いた制御を実行している。具体的には、例えば、ハンド1Aの現在位置が複数の治具Jのいずれの治具範囲内に位置しているかを判定し、ハンド1Aが位置している治具範囲SSについて中心Cの位置とハンド1Aの位置との距離を算出し、最も距離が短い治具Jについての負荷検出閾値と現在の負荷検出値(例えばトルクセンサ1Bのトルク検出値)を比較する。比較結果として、負荷検出値が負荷検出閾値を上回っている場合、ロボット1の動作を停止させる。ステップS38において負荷検出閾値が低下されている場合、ロボット1の動作が停止しやすくなり、過負荷による治具Jへの悪影響を抑制することができる。
【0070】
また、
図14の処理は、製品の量産時におけるロボット1の稼働時に実行されるが、ティーチング後の動作確認のときに実行されてもよい。これにより、例えば、動作速度の減少を確認した場合に、ハンド1Aの軌跡を変更するように再度ティーチングすることも可能である。
【0071】
以上を換言すれば、ロボットコントローラ2は、ワークを把持可能なロボット1を制御するためのロボットコントローラである。ロボットコントローラ2は、治具データ生成装置4Aにより生成された治具データを取得するデータ取得部21Bと、ワークを保持するための治具が有する積層構造の積層方向を示す積層方向ベクトル情報22Eを記憶する記憶部22と、ワークをロボット1により把持するときに、積層方向ベクトル情報22Eに基づいてロボット1の把持に関する制御を実行する把持制御部21Aと、を備える。把持制御部21Aは、ロボット1における所定位置が治具データにおける治具範囲SSに含まれるかを判断し、含まれる場合にロボット1の把持に関する制御を実行する。これにより、ロボット1によりワークを把持するときに、積層構造の治具における強度の弱い方向へ過負荷がかかりにくくなり、治具への悪影響を抑制できる。
【0072】
<5.変形例>
先述したステップS6(
図7)で出力される3D印刷情報データに含める治具の形状データは、ステップS2で出力されたSTLファイルに含まれる三角形要素の頂点座標データ、すなわち3Dモデリングソフト44Aでの直交座標系を基準とする座標データであった。しかしながら、これに限らず、上記治具の形状データは、STLファイルに含まれる座標データを3D印刷ソフト44Bでの直交座標系を基準とするデータに変換した座標データとしてもよい。この場合、3D印刷ソフト44Bでの直交座標系における積層方向ベクトル(
図8の上方向Uに沿うベクトル)は、例えば単位ベクトル(X,Y,Z)=(0,0,1)として決まっているので、治具データに積層方向ベクトルの情報を含めなくてもよい。
【0073】
<6.印刷時の積層方向の決定方法>
次に、ロボットシミュレーションを事前に行うことで、ロボットの動作に対応して強度を向上させるように治具を3D印刷するときの積層方向を決定する方法について説明する。
【0074】
図18は、本開示の例示的なロボットシミュレーション装置4Bの構成を示す図である。ロボットシミュレーション装置4Bは、PC4の記憶部44に保存されたロボットシミュレーションソフト44DをCPUが実行することにより実現される。すなわち、PC4がロボットシミュレーション装置4Bとして機能する。なお、PC4の記憶部44には、3Dモデリングソフト44Aおよび3D印刷ソフト44Bも保存される。
【0075】
印刷時の治具の積層方向を決定する方法について、
図19に示すフローチャートに沿って説明する。まず、ステップS41で、3Dモデリングソフト44AをPC4で実行することで、治具をモデリングして設計する。そして、ステップS42で、3Dモデリングソフト44Aによりモデリングされた治具に関するSTLファイルが出力される。
【0076】
次に、ロボットシミュレーションソフト44DをPC4で実行することにより、ロボットシミュレーション装置4Bが起動する。
図18に示す制御部43に含まれる取得部43D、決定部43E、配置部43F、および動作シミュレーション部43Gは、ロボットシミュレーションソフト44Dの実行により実現される。
【0077】
ステップS43で、ロボットシミュレーションソフト44DによりSTLファイルが読み込まれる。このとき、取得部43Dは、STLファイルに含まれる治具の形状データを取得する。次に、ステップS44で、決定部43Eは、取得された形状データに基づいて治具範囲を決定する。治具範囲は、先述したように例えば直方体あるいは球体として決定される。
【0078】
次に、ステップS45で、操作入力部41における操作に応じて、配置部43Fがシミュレータ空間における治具の配置を行う。シミュレータ空間には、仮想的なロボットも配置される。そして、ステップS46で、動作シミュレーション部43Gは、シミュレータ空間において仮想的なロボットを動作させる。
図20は、シミュレータ空間を示す概略図であり、シミュレータ空間にはロボット1と治具Jが配置されている。シミュレータ空間においてロボット1が動作中に、ロボット1のハンド1Aが治具Jについての治具範囲SS内に位置する場合は、ハンド1Aの動作方向が記録される。ロボットの制御周期単位(例えば4ms)ごとに記録が行われる。
【0079】
このようなロボットシミュレーションが完了すると、ステップS47で、ロボットシミュレーション装置4Bにより、STLファイルが出力される。当該STLファイルには、ステップS42で3Dモデリングソフト44Aにより出力されたSTLファイルに含まれるデータに加えて、記録された動作方向のデータが含められる。当該動作方向のデータは、
図21に示す動作方向Lのように、直線集合モデルデータとしてSTLファイルに含められる。
【0080】
次に、3D印刷ソフト44BをPC4で実行することにより、
図22に示す制御装置4Cが起動する。制御装置4Cは、3D印刷装置5を制御するための装置である。
図22に示す制御部43に含まれるファイル取得部43Hおよび印刷制御部43Iは、3D印刷ソフト44Bの実行により実現される。
【0081】
ステップS48では、ステップS47で出力されたSTLファイルが3D印刷ソフト44Bにより読みこまれる。このとき、ファイル取得部43HによりSTLファイルが取得される。これにより、
図23に示すように、表示部42には、治具Jのモデルと動作方向Lのモデルがフォームベース51とともに表示される。操作入力部41によって治具のモデルと動作方向のモデルは、一体として平行移動および座標軸周りの回転を行うことができる。ユーザは、動作方向を確認できるため、動作方向がフォームベース51に対してなるべく垂直になるように、かつ治具が印刷のしやすい姿勢となるように治具を印刷用に配置することができる。なお、治具が印刷しやすい姿勢とは、例えば治具のなるべく広い面がフォームベース51上に載るような姿勢である。このように治具の配置が決定されると、
図23に示すようにフォームベース51のベース面に対して垂直な上方向Uに沿う方向が積層方向として決定されることになる。これにより、ロボットの動作方向に対して強度が向上されるように治具の積層方向を決定することができる。
【0082】
なお、上記のようにユーザが操作入力部41を操作して治具の配置を調整してもよいが、これに限らず、3D印刷ソフト44Bの実行により、動作方向に基づいて治具を自動的に配置してもよい。
【0083】
そして、ステップS50で、印刷制御部43Iは、上記で決定された治具の配置に基づいて3D印刷装置5を制御して、3D印刷装置5に治具を印刷形成させる。
【0084】
以上のように、本開示のロボットシミュレーション装置4Bは、治具の形状データを取得する取得部43Dと、取得された上記形状データに基づき、上記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部43Eと、操作入力部41の操作に応じてシミュレータ空間において上記治具を配置する配置部43Fと、仮想的なロボット1を動作させる動作シミュレーション部43Gと、を備える。上記動作シミュレーション部43Gは、上記ロボット1の動作中にロボット1の所定位置が上記治具範囲に含まれる場合に、上記所定位置の動作方向を記録する。これにより、上記所定位置の動作方向の記録データに基づき、3D印刷装置5により印刷する積層方向を決めることができ、ロボット1の動作に対応して強度を向上させた治具を製造することができる。
【0085】
また、本開示の制御装置4Cは、積層方向に積層して積層物を製造するための3D印刷装置5を制御する制御装置であって、ロボットシミュレーション装置4Bにおいて記録された上記動作方向のデータと、上記治具の形状データを含むデータファイル(STLファイル)を取得するファイル取得部43Hと、取得された上記データファイルに基づいて決定された積層方向に従った印刷を3D印刷装置5に実行させる印刷制御部43Iと、を備える。これにより、決定された積層方向に積層されることで、ロボットの動作に対応して強度を向上させた治具を製造することができる。
【0086】
<7.その他>
以上、本開示の実施形態を説明した。なお、本開示の範囲は上述の実施形態に限定されない。本開示は、発明の主旨を逸脱しない範囲で上述の実施形態に種々の変更を加えて実施することができる。また、上述の実施形態で説明した事項は、矛盾を生じない範囲で適宜任意に組み合わせることができる。
【0087】
<8.付記>
以上のように、本開示の一態様に係る治具データ生成装置は、積層方向に積層して積層物を製造するための3D印刷装置により製造された治具の形状データを取得する取得部と、
取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、
決定された前記治具範囲のデータを含む治具データを生成する生成部と、
を備える構成としている(第1の構成)。
【0088】
また、上記第1の構成において、前記形状データは、前記治具の3Dモデルを構成する多角形のそれぞれの各頂点座標を含む構成としてもよい(第2の構成)。
【0089】
また、上記第2の構成において、前記多角形のそれぞれの前記各頂点座標は、3Dモデリングソフトにおいて扱われる座標系における座標であり、
前記生成部は、前記治具の積層方向を示す積層方向ベクトルのベクトル情報を含めた前記治具データを生成し、
前記ベクトル情報は、3D印刷ソフトによって前記治具のモデルを印刷用に配置したときの姿勢データとして前記治具データに含められる構成としてもよい(第3の構成)。
【0090】
また、上記第2または第3の構成において、前記決定部は、前記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された前記最大値および前記最小値に基づいて直方体である前記治具範囲を決定する構成としてもよい(第4の構成)。
【0091】
また、上記第2または第3の構成において、前記決定部は、前記形状データに含まれるすべての頂点座標に基づき、直交座標系の各成分の最大値および最小値を取得し、取得された前記最大値および前記最小値に基づいて直方体を決定し、決定された直方体の中心位置を中心とし、前記中心位置から前記直方体の頂点までの距離を半径とする球体としての前記治具範囲を決定する構成としてもよい(第5の構成)。
【0092】
また、上記第1から第5のいずれかの構成において、前記取得部は、前記治具の素材および充填に関する情報の少なくとも一方のデータを取得し、
前記生成部は、前記少なくとも一方のデータを前記治具データに含める構成としてもよい(第6の構成)。
【0093】
また、本開示の一態様に係るロボットコントローラは、ワークを把持可能なロボットを制御するためのロボットコントローラであって、
上記第1から第6のいずれかの構成の治具データ生成装置により生成された前記治具データを取得するデータ取得部と、
前記ワークを保持するための治具が有する積層構造の積層方向を示す積層方向ベクトル情報を記憶する記憶部と、
前記ワークを前記ロボットにより把持するときに、前記積層方向ベクトル情報に基づいて前記ロボットの把持に関する制御を実行する把持制御部と、
を備え、
前記把持制御部は、前記ロボットにおける所定位置が前記治具データにおける前記治具範囲に含まれるかを判断し、含まれる場合に前記ロボットの把持に関する制御を実行する構成としている(第7の構成)。
【0094】
また、本開示の一態様に係るロボットシミュレーション装置は、治具の形状データを取得する取得部と、
取得された前記形状データに基づき、前記治具の少なくとも一部を囲む所定の治具範囲を決定する決定部と、
操作入力部の操作に応じてシミュレータ空間において前記治具を配置する配置部と、
仮想的なロボットを動作させる動作シミュレーション部と、
を備え、
前記動作シミュレーション部は、前記ロボットの動作中に前記ロボットの所定位置が前記治具範囲に含まれる場合に、前記所定位置の動作方向を記録する構成としている(第8の構成)。
【0095】
また、本開示の一態様に係る制御装置は、積層方向に積層して積層物を製造するための3D印刷装置を制御する制御装置であって、
上記第8の構成のロボットシミュレーション装置において記録された前記動作方向のデータと、前記治具の形状データを含むデータファイルを取得するファイル取得部と、
取得された前記データファイルに基づいて決定された積層方向に従った印刷を前記3D印刷装置に実行させる印刷制御部と、
を備える構成としている(第9の構成)。
【産業上の利用可能性】
【0096】
本開示の技術は、例えば、産業用のロボットシステムに利用することができる。
【符号の説明】
【0097】
1 ロボット
1A ハンド
1B トルクセンサ
2 ロボットコントローラ
3 ティーチングペンダント
4 外部PC
4A 治具データ生成装置
4B ロボットシミュレーション装置
4C 制御装置
5 3D印刷装置
10 ロボットシステム
21 制御部
21A 把持制御部
21B データ取得部
22 記憶部
22A ロボットプログラム
22B 教示点データ
22C 制御プログラム
22D 治具範囲データ
22E 積層方向ベクトル情報
41 操作入力部
42 表示部
43 制御部
43A 取得部
43B 決定部
43C 生成部
43D 取得部
43E 決定部
43F 配置部
43G 動作シミュレーション部
43H ファイル取得部
43I 印刷制御部
44 記憶部
44A 3Dモデリングソフト
44B 3D印刷ソフト
44C 治具データ生成ソフト
44D ロボットシミュレーションソフト
51 フォームベース
52 印刷ヘッド
53 モデル材スプール
54 サポート材スプール
J,J1,J2 治具
L 動作方向
P 印刷対象物
S サポート部
SS,SS1,SS2 治具範囲
W ワーク