JP7506180B2 - 教示支援装置、作業システム、教示支援方法および教示支援プログラム - Google Patents

教示支援装置、作業システム、教示支援方法および教示支援プログラム Download PDF

Info

Publication number
JP7506180B2
JP7506180B2 JP2022566474A JP2022566474A JP7506180B2 JP 7506180 B2 JP7506180 B2 JP 7506180B2 JP 2022566474 A JP2022566474 A JP 2022566474A JP 2022566474 A JP2022566474 A JP 2022566474A JP 7506180 B2 JP7506180 B2 JP 7506180B2
Authority
JP
Japan
Prior art keywords
work
motion
unit
support device
input
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
JP2022566474A
Other languages
English (en)
Other versions
JPWO2023162164A1 (ja
JPWO2023162164A5 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority claimed from PCT/JP2022/007996 external-priority patent/WO2023162164A1/ja
Publication of JPWO2023162164A1 publication Critical patent/JPWO2023162164A1/ja
Publication of JPWO2023162164A5 publication Critical patent/JPWO2023162164A5/ja
Application granted granted Critical
Publication of JP7506180B2 publication Critical patent/JP7506180B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本開示は、作業機械の教示を支援する教示支援装置、作業システム、教示支援方法および教示支援プログラムに関する。
産業ロボットをはじめとした作業機械を用いた作業では、作業機械に所望の動作を行わせるための位置情報を教え込む教示が行われ、教示される位置情報すなわち教示点の調整に基づいてロボットの動作プログラムが作成される。この調整は、システムインテグレータのエンジニアにより行われる。このような調整は、ユーザによって行われることもある。このため、プログラム言語に不慣れな場合でも、容易に調整を実施できることが望ましい。特許文献1には、ロボットの動作プログラミングの作成を支援するプログラミング支援装置が開示されている。特許文献1に記載のプログラミング支援装置は、ロボットの動作環境を指定する環境条件を、ユーザインタフェースへの入力に応じて設定し、ロボットに実行させる複数の実行対象の作業ジョブを、ユーザインタフェースへの入力に応じて設定し、設定された複数の実行対象の作業ジョブの実行順序を定めた実行フローにおいて、作業ジョブが環境条件を満たすか否かを、当該実行順序に基づいて判定する。
国際公開第2018/194094号
特許文献1に記載のプログラミング支援装置は、ユーザは、ユーザインタフェースを用いて、作業を行うためのロボットの動作に関して、作業ジョブごとに教示点および制約条件を設定し、各作業ジョブの順序も設定する必要があり、この設定は、ユーザにとって時間がかかりシステムが稼働状態となるまでに時間を要する。
本開示は、上記に鑑みてなされたものであって、ユーザがシステムを稼働状態にするまでの時間を短くできることが可能な教示支援装置を得ることを目的とする。
上述した課題を解決し、目的を達成するために、本開示にかかる教示支援装置は、作業の雛形に応じた作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとに基づいて動作プログラムを生成し、動作プログラムを用いて作業機械と環境との干渉を回避した、作業機械の動作軌道を生成する動作演算部、を備え、雛形は、動作プログラムに対応する動作を自然言語で表した情報を含み、作業内容は、雛形とユーザによって入力される入力情報とにより決定され、入力情報は、雛形が示す動作の対象物を示す情報と動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、目的の場所は、環境モデルに含まれる場所であり、対象物は、環境モデルに含まれる。
本開示にかかる教示支援装置は、ユーザがシステムを稼働状態にするまでの時間を短くできるという効果を奏する。
実施の形態1にかかる作業システムの構成例を示す図 実施の形態1の教示支援装置における処理手順の一例を示すフローチャート 実施の形態1における環境計測データの取得方法の一例を模式的に示す図 実施の形態1の作業選択画面の一例を示す図 実施の形態1の入力部が作業内容として受け付ける情報の一例を示す図 実施の形態1の作業設定部およびロボット動作演算部の構成例を示す図 実施の形態1の複数工程一括動作演算の一例を示す図 工程単位動作演算によって生成される軌道と複数工程一括動作演算によって生成される軌道との一例を示す図 実施の形態1の教示支援装置を実現するコンピュータシステムの構成例を示す図 実施の形態2にかかる教示支援装置の構成例を示す図 実施の形態2の表示画面の一例を示す図 実施の形態3にかかる作業システムの構成例を示す図 実施の形態3の教示支援装置における処理手順の一例を示すフローチャート 実施の形態4にかかる作業システムの構成例を示す図 実施の形態5にかかる作業システムの構成例を示す図
以下に、実施の形態にかかる教示支援装置、作業システム、教示支援方法および教示支援プログラムを図面に基づいて詳細に説明する。
実施の形態1.
図1は、実施の形態1にかかる作業システムの構成例を示す図である。本実施の形態の作業システム6は、教示支援装置1、画像センサ2、ロボット制御装置3、ロボット4およびセンサ5を備える。作業システム6は、ロボット4を用いて、作業を行うシステムである。ロボット4は、作業機械の一例であり、例えば、箱詰め、組立、加工、搬送、包装などを行う産業用ロボットであってもよいし、人を支援するサービスロボットであってもよい。また、ロボット4は、農作業、建築作業などを行う屋外用ロボットであってもよいし、屋内用ロボットであってもよい。また、ロボット4は、例えば、多軸の垂直多関節ロボットであるが、これに限らず、直動ロボットであってもよいし、直動と回転とを組み合わせたロボットであってもよくロボットの種類に制約はない。以下では、一例として、ロボット4が、産業用の多軸の垂直多関節ロボットである例について説明する。
ロボット制御装置3は、教示支援装置1から、ロボットの動作に関する指令であるロボット動作指令を受信し、受信したロボット動作指令にロボット4が追従するよう、ロボットのモータを制御するための制御量を演算し、制御量をロボット4へ出力することでロボット4の動作を制御する。ロボット制御装置3は、センサ5の検出結果を用いてロボット4の動作の修正を行ってもよい。センサ5は、ロボット4の作業の対象物の位置、姿勢などを検出するセンサであり、例えば、2次元または3次元のビジョンセンサである。ロボット制御装置3は、ロボット4における各軸の図示しないモータを駆動することでロボット4の動作を制御する。ロボット制御装置3における制御は一般的な方法を用いることができるため、詳細な説明を省略する。図1では、ロボット制御装置3をロボット4と別に設けているが、ロボット制御装置3がロボットに含まれていてもよい。また、センサ5は、ロボット4とは別の位置に設けられていてもよいし、ロボット4に設けられていてもよい。
画像センサ2は、3次元画像を取得するセンサであり、ロボット4の周囲の環境を計測することで、環境計測データを取得する。環境計測データは、画像センサ2が環境を撮影することで得られるデータである。ロボット4の周囲の環境は、例えば、ロボット4の可動範囲を含む領域における物体や構造物などである。画像センサ2は、例えば、深度とカラーとを取得することで3次元画像を得られるRGB-D(Depth)センサである。
教示支援装置1は、ロボット4に行わせたい作業に対応する動作プログラムを、画像センサ2から環境計測データとユーザから入力される作業内容とに基づいて自動生成し、動作プログラムを用いてロボット動作指令を生成し、生成したロボット動作指令をロボット制御装置3へ送信する。本実施の形態では、教示支援装置1は、作業内容自体の入力を、自然言語および作業を示す動画からの選択などにより受け付けることで、プログラミングに不慣れなユーザであっても容易に作業内容の指示を行うことができる。
教示支援装置1は、例えば、タブレット、スマートフォン、パーソナルコンピュータなどのモバイル端末装置であるが、モバイル端末装置に限定されない。教示支援装置1は、モデリング部11、ロボット動作演算部12、作業情報記憶部13、表示部14、入力部15および作業設定部16を備える。
モデリング部11は、画像センサ2から環境計測データを受信することで環境計測データを取得し、取得した環境計測データを用いて環境をモデル化した3次元モデルである環境モデルを生成し、生成した環境モデルを表示部14およびロボット動作演算部12へ出力する。モデリング部11は、例えば、点群データである環境計測データに基づいて、複数の部分的な3次元データをつなぎ合わせる3次元再構成により環境モデルを生成する。
入力部15は、ユーザからの入力を受け付ける。例えば、入力部15は、ユーザからの作業内容の入力を受け付け、受け付けた作業内容(作業内容を示す情報)を表示部14および作業設定部16へ出力する。入力部15は、ユーザの発話を音声として受け付けてもよいし、表示部14に表示された選択肢からユーザによって選択された選択結果を受け付けてもよい。音声として入力を受け付ける場合には、入力部15は、図示しないマイクと音声認識処理を行う音声認識部とを備える。なお、マイクは教示支援装置1とは別に設けられ、マイクにより取得された音声が入力部15に入力されてもよい。表示部14に表示された選択肢からユーザによって選択された選択結果を受け付ける場合、選択肢は、作業内容の候補を示す文字情報であってもよいし、動画または画像であってもよい。入力部15は、タップ動作、キーボード操作、マウス操作などにより選択結果を受け付ける。また、入力部15は、ジェスチャーまたはアイコンタクトを画像認識することにより、作業内容の入力、または選択結果を受け付けてもよい。ジェスチャーまたはアイコンタクトにより入力を受け付ける場合には、入力部15が、撮像機能を有していてもよいし、入力部15とは別の撮像手段によって撮像された画像が入力部15に入力されてもよい。
表示部14は、各種の情報、画像、映像などを表示する。例えば、表示部14は、入力部15から受け取った作業内容を表示する。また、表示部14は、モデリング部11から受け取った環境モデルと、ロボット動作演算部12から受け取ったロボットモデルおよびロボット動作指令(またはロボットの動作を示す情報)とに基づいて、ロボットの動作をAR(Augmented Reality:拡張現実)表示により表示する。なお、ロボットモデルは、図示しない教示支援装置1のモデル記憶部に格納され、表示部14がモデル記憶部から読み出してもよい。環境モデルについても同様に、モデリング部11がモデル記憶部に格納し、表示部14がモデル記憶部から読み出してもよい。また、モデル記憶部は、教示支援装置1の外部に設けられてもよい。また、複数のロボットモデルに対応可能な場合には、モデル記憶部に複数のロボットモデルが記憶され、ロボット動作演算部12または作業設定部16から使用するロボットモデルが指定され、表示部14が指定されたロボットモデルをモデル記憶部から読み出してもよい。
なお、表示部14は、タッチパネルのように入力を受け付ける機能を有するハードウェアを用いて実現されてもよい。例えば、表示部14がタッチパネルとAR表示などを行うための表示データ生成部とで構成され、タッチパネルが入力部15の機能のうちの一部を有していてもよい。例えば、タッチパネルに表示された画像、文字などを、ユーザがタップしたことを検出することで、ユーザからの入力を受け付けてもよい。
作業設定部16は、入力部15から受け取った作業内容をプログラミング言語に変換し、変換した結果を含む作業設定情報をロボット動作演算部12へ出力する。なお、作業情報記憶部13は、例えば、作業ごとの、当該作業に対応するロボット4の動作を示す雛形を作業データベース(以下、作業DB(Database)と呼ぶ)内に記憶する。雛形は、作業に対応する動作プログラムの主要部分を定めたものであり、動作プログラムに対応する動作を自然言語または動画で示した情報も含む。作業に関して複数の作業の雛形が用意され作業情報記憶部13の作業DBに格納されている場合には、作業設定部16は、雛形を示す情報を表示部14に表示させる。複数の雛形を示す情報は、文字により作業の動作が示されたものであってもよいし、雛形に対応する識別情報であってもよい。また、雛形に対応する動画が表示部14に表示されてもよい。さらに、作業設定部16は、雛形ごとに、説明動画、説明図、説明文などを表示部14に表示させてもよい。表示部14は、例えば、雛形を示す情報をプルダウンメニューとして表示し、入力部15が選択結果の入力を受け付ける。入力部15が選択結果を作業設定部16へ出力する。なお、雛形を示す情報の表示方法は、この例に限定されない。作業設定部16は、雛形の選択結果を用いて雛形に応じた作業内容を、入力部15を介して取得し、取得した入力に基づいて作業内容を認識し、認識した内容をプログラミング言語に変換する。
雛形は、典型的な作業の概要を示し、例えば、箱詰め作業、組み立て作業、包装作業などの作業ごとに作成される。箱詰め作業であれば、ロボット4は、対象物をつかみ、目的の場所に詰める作業を行うため、例えば、「Xをつかみ、Yまで運び、Yに詰める」という動作を示す情報である。Xは対象物でYは詰める場所である。XとYがユーザから入力されることで作業内容が決まる。また、雛形は、「Xをつかみ、Yまで運び、YにZ個詰める」といったように、詰める個数が含まれていてもよい。
作業情報記憶部13には、ロボット4が行う作業に関する作業情報が作業DBとして記憶される。作業情報は、例えば、上述した各作業に対応する雛形、雛形ごとの制約条件を含む。
ロボット動作演算部12は、ユーザから入力された作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとに基づいて、ロボット4と環境との干渉を回避した、ロボット4の動作軌道を生成する動作演算部である。詳細には、ロボット動作演算部12は、作業設定部16から受け取った作業設定情報とモデリング部11から受け取った環境モデルとセンサ5による検出結果とを用いて、作業内容に応じた作業を行うためのロボット4の軌道(ロボット動作軌道)を、ロボット4が環境に干渉しないように決定する。図1では、ロボット動作演算部12は、センサ5による検出結果を、ロボット制御装置3を介して取得しているが、センサ5からセンサ5による検出結果を取得してもよい。本実施の形態では、後述するように、複数の工程を含む作業を一括して1つの動作として扱ってロボット4の軌道を決定する。ロボット動作演算部12は、決定した軌道に基づいてロボット4の動作指令であるロボット動作指令を生成し、生成したロボット動作指令をロボット制御装置3へ送信する。
次に、本実施の形態の動作について説明する。図2は、本実施の形態の教示支援装置1における処理手順の一例を示すフローチャートである。図2に示すように、教示支援装置1は環境モデルが有るか否かを判断する(ステップS1)。具体的には、モデリング部11が、環境モデルが既に生成されているか否かを判断する。
環境モデルが無い場合(ステップS1 No)、教示支援装置1は、環境モデルを生成し(ステップS2)、処理をステップS3へ進める。詳細には、ステップS2では、モデリング部11が、例えば、画像センサ2によって取得された環境計測データを用いて3次元再構成により環境モデルを生成する。
図3は、本実施の形態における環境計測データの取得方法の一例を模式的に示す図である。図3では、「唐揚げを弁当箱に詰める」という作業をロボット4に行わせる例を示しており、図3に示すように、ユーザは、教示支援装置1を携帯してロボット4の周囲を移動する。図3に示した例では、画像センサ2は教示支援装置1に取り付けられており、ユーザは、教示支援装置1を介して画像センサ2を操作する、または画像センサ2を直接操作することで、ロボット4の周囲を複数の箇所から撮影する。これにより、複数の箇所から撮影された複数の3次元画像が取得される。モデリング部11は、これらの複数の3次元画像をつなぎ合わせる3次元再構成を行うことで環境の3次元モデルである環境モデルを生成する。環境モデルは、例えば、MESH、OBB(Oriented Bounding Box)、ポリゴンなどで表されるが、環境モデルの表現形式はこれらに限定されず、どのような形式であってもよい。
3次元再構成は、複数の部分的に撮影された環境計測データから特徴点と平面とをそれぞれ抽出し、これらをつなぎあわせることで全体の3次元モデルを生成する技術である。なお、ここでは、RGB-Dセンサである画像センサ2によって取得された環境計測データを用いて3次元モデルを生成する例を説明するが、2次元センサである画像センサ2によって取得された画像を複数用いて3次元モデルを生成してもよい。
図3に示した例では、ロボット4は、番重31内に積まれた唐揚げ32を、弁当箱33の複数の区画のうち、唐揚げ32を詰める区画である目的区画34に詰める作業を行う。ロボット4がこの動作を行う際には、ロボット4が移動させる対象物である唐揚げ32以外に、弁当箱33、番重31、番重31の載置されている図示しない台など周囲に存在する物体、周囲の構造などを環境として把握する必要がある。本実施の形態の教示支援装置1は、例えば、図3に示すように、ユーザが画像センサ2により周囲を撮影することで自動的に環境モデルを生成する。
なお、図3に示した例では、ロボット4とは別に対象物である唐揚げ32の位置、姿勢を検出するセンサ5が設けられているが、これに限らず、センサ5はロボット4に含まれてもよいし、ロボット4に取り付けられていてもよい。
また、図3に示した例では、教示支援装置1に画像センサ2が取り付けられているが、画像センサ2は教示支援装置1とは別に設けられ、ユーザが画像センサ2を携帯して周囲を撮影してもよい。教示支援装置1は、画像センサ2と有線または無線接続することで環境計測データを取得してもよいし、画像センサ2において記録媒体に環境計測データが格納され、教示支援装置1が記録媒体から環境計測データを読み出してもよい。
また、図3に示した例に限らず、例えば、ロボット4の先端などに画像センサ2を取付け、ロボット4を動作させて画像センサ2の撮像が行われることで環境計測データが取得されてもよい。また、センサ5を画像センサ2として用いることも可能な場合には、センサ5をロボット4の先端などに取り付けてロボット4を動作させて画像センサ2の撮像が行われることで環境計測データが取得されてもよい。
図2の説明に戻る。環境モデルが有る場合(ステップS1 Yes)、教示支援装置1は、処理をステップS3へ進める。ステップS3では、教示支援装置1は、作業の選択を受け付ける。詳細には、作業設定部16が、作業情報記憶部13の作業DBに格納されている作業ごとの雛形(作業種類ごとの雛形)を表示部14に表示させ、入力部15がユーザの選択結果の入力を受け付け、受け付けた選択結果を作業設定部16へ出力する。なお、教示支援装置1が対応する作業が1種類だけの場合には、ステップS3の処理は行わなくてもよい。
上述したように、作業はプルダウンメニューで表示され、プルダウンメニューにより選択されてもよいし、作業の選択を促す選択画面が表示され、ユーザが当該画面で選択を行ってもよい。図4は、本実施の形態の作業選択画面の一例を示す図である。図4に示した例では、各作業に対応するボタン21,22,23が表示され、ユーザは対応するボタンを押下することで作業を選択する。なお、図4は例示であり、作業選択画面の内容、選択方法はこの例に限定されない。
次に、教示支援装置1は、選択された作業の内容の指示を受け付ける(ステップS4)。詳細には、作業設定部16が、ステップS3で選択された選択結果に対応する雛形を入力部15へ出力する。そして、入力部15が、ユーザからの入力を受け付け、入力された情報と雛形とに基づいて、選択された作業の内容(作業内容)を決定し、決定した作業内容を表示部14および作業設定部16へ出力する。
入力部15は、上述したように、音声、タップ動作などによって作業内容の入力を受け付ける。図5は、本実施の形態の入力部15が作業内容として受け付ける情報の一例を示す図である。図5に示した例では、作業Aが選択され、作業Aの雛形として「Xをつかみ、Yまで運び、YにZ個詰める」という動作が定められている。この場合、ユーザが例えば、「唐揚げを弁当箱に詰める」と発声することで作業内容を指示したとすると、入力部15は、検出した音声を、雛形を用いて音声認識により認識する。音声認識は、汎用の音声認識であってもよいし、ロボット4を用いた作業内容に特化した機械学習による学習済モデルを用いて音声認識を行うといったようにロボット4の作業内容の認識に特化した処理であってもよい。
入力部15は、音声認識の結果、X,Y,Zのうち入力されていない情報、または認識できなかった情報がある場合には、表示部14に、その内容の入力を促す情報を表示させることで、不足する情報の入力を受け付ける。例えば、「唐揚げを弁当箱に詰める」と発声を検出して音声認識することで、Xが「唐揚げ」で、Yが「弁当箱」であることを認識できたとすると、Zの情報が不足しているため、表示部14に、唐揚げの個数を問う質問を表示させる。なお、表示部14の代わりに、スピーカを用いて音声により質問をユーザに提示してもよい。または表示とともに音声をユーザに提示してもよい。また、弁当箱が複数の区画に分かれている場合には、「弁当箱」のどこの区画に唐揚げを詰めるかを問う質問をユーザに提示して、区画の入力を促す。
入力部15は、上述した音声認識を用いる例に限定されず、X,Y,Zの選択肢を示す情報を、文字、画像などとして表示部14に表示させ、タップ動作、その他の選択動作により、X,Y,Zの入力を受け付けてもよい。
図2の説明に戻る。教示支援装置1は、作業内容を表示する(ステップS5)。詳細には、入力部15が、ステップS4で受け付けた作業内容を表示部14に表示するよう指示し、表示部14が作業内容を表示する。表示部14は、作業内容に対応するロボットの動作をAR表示してもよい。これにより、ユーザは、決定された作業内容が所望のものであるかを確認することができる。作業内容が所望のものでない場合には、ステップS3からの処理、またはステップS4の処理が再度実行されてもよい。
次に、教示支援装置1は、作業内容と環境モデルからロボット動作を演算する(ステップS6)。詳細には、作業設定部16が作業内容を動作プログラムに変換した結果を含む作業設定情報をロボット動作演算部12へ出力する。ロボット動作演算部12が、作業設定部16から受け取った作業設定情報と、モデリング部11から受け取ったまたは図示しないモデル記憶部から読み出した環境モデルとを用いて、ロボットの軌道を決定し、決定した軌道に基づいてロボット動作指令を生成する。本実施の形態では、ロボット動作演算部12は、例えば、作業を構成する複数の工程に対応する複数の動作を1つの一括動作とし、一括動作の開始位置および終了位置と作業機械の動作に関する制約条件とを用いて動作軌道を生成する。なお、ロボット動作演算部12の軌道の決定方法はこの例に限定されない。
図6は、本実施の形態の作業設定部16およびロボット動作演算部12の構成例を示す図である。図6に示した例では、作業設定部16は、作業指定部161および対象情報設定部162を備える。
作業指定部161は、入力部15が受け付けた作業内容に応じた動作プログラムを、作業を指定する作業指定情報として生成する。対象情報設定部162は、作業内容に基づいて、例えば、対象物および供給状態をそれぞれ示す情報を含む対象物情報を生成する。対象物は、例えば、唐揚げ、ネジといったように対象物の種類を示す。供給状態は、対象物が番重に積まれて供給されるのか、ベルトコンベアなどで搬送されて供給されるのかといったように、対象物がどのように供給されるかを示す。供給状態は、例えば、対象物ごとにあらかじめ定められ、対象物と供給状態との対応を示す対応情報が作業DBに格納される。対象情報設定部162は、作業DBの対応情報を参照することで対象物に対応する供給状態を決定する。また、供給状態に限らず、対象物ごとにロボット4の動作の設定に必要な情報がある場合には、同様に作業DBに当該情報と対象物との対応を示す対応情報が格納され、対象情報設定部162が、この対応情報を用いて当該情報を求めて対象情報に含めてもよい。
ロボット動作演算部12は、作業指定部161が生成する作業指定情報と対象情報設定部162が生成した対象物情報とを、作業設定情報としてロボット動作演算部12に出力する。なお、ここでは、ロボット4を動作させるための動作プログラムを作業設定部16が生成する例を説明するが、動作プログラムの生成はロボット動作演算部12が行ってもよい。
図6に示すように、ロボット動作演算部12は、一括動作演算部121を備える。一括動作演算部121は、作業指定情報と対象物情報と、図6では図示を省略する環境モデルおよびセンサ情報とを用いて、複数工程一括動作演算を行うことで、工程ごとに別々に計算して繋ぎ合わせる軌道よりも、動作時間が短いロボット4の軌道を生成する。
図7は、本実施の形態の複数工程一括動作演算の一例を示す図である。図7では、番重31に積まれた唐揚げ32を弁当箱33の目的区画34に詰める作業をロボット4が行う例を示している。この作業は、図7の上側に示すように、ロボット4が番重31から唐揚げ32を取り出す工程である工程#1と、ロボット4が番重31から取り出した唐揚げ32を弁当箱33まで運ぶ工程である工程#2と、ロボット4が唐揚げ32を弁当箱33の目的区画34に詰める工程である工程#3とを含む。
一般には、図7の上側の図に示すように工程ごとにロボット4の動作を最適化する演算である工程単位動作演算により環境に干渉しない軌道を生成することが可能であるが、図6に示した一括動作演算部121は、ロボット4の動作を工程で分割せずに、図7の下側に示す図のように1つの動作として扱って環境に干渉しない、かつ、前後工程の軌道の制約(軌道の向きや動作速度)を考慮した上で動作時間の短くなる軌道を生成する。なお、ロボット動作演算部12は、工程単位動作演算により環境に干渉しない軌道を生成してもよい。
図8は、工程単位動作演算によって生成される軌道と複数工程一括動作演算によって生成される軌道との一例を示す図である。図8の上側には工程単位動作演算によって生成される軌道の一例を示しており、この場合、図7に示した工程#1に対応する動作#1~#4と、図7に示した工程#2に対応する動作#5,#6と、図7に示した工程#3に対応する動作#7とのそれぞれの動作の軌道が生成される。動作#1~#3は、ロボット4が番重31に向かって移動を開始する動作であるが、ロボット4の動作の開始時と停止時の付近では動作の制約により低速動作となっており、動作#2は高速動作となっている。動作#4は、ロボット4の先端に設けられる把持部であるハンドを閉とする動作である。なお、作業の開始時にはハンドは開であるとする。動作#5は弁当箱33へ移動を開始する低速動作であり、動作#6は弁当箱33へ移動する高速動作である。動作#7でハンドを開とすることで唐揚げ32が弁当箱33の目的区画34に詰められる。なお、図8の動作は一例であり、具体的な動作は図8に示した例に限定されない。
ロボット4の目標位置は、センサ情報に基づいて決定される。工程単位動作演算を行う場合、目標位置と環境モデルとに基づいて、工程ごとに最適な軌道が生成される。ここで、最適な軌道とは、例えば、制約条件の元で評価関数を最小にする軌道であり環境に干渉しない軌道である。なお、最適な軌道は、評価関数を最小にする軌道に限らず、評価関数を閾値以下にする軌道であってもよい。評価関数は、例えば、ロボット4の作業時間、ロボット4の消費電力、ロボット4の移動距離などのうちの少なくとも1つである。制約条件は、ロボットの速度、移動方向に関する制約であり、作業DBに格納されている。
複数工程一括動作演算によって軌道が生成される場合、図8の下側に示すように、動作Aと動作Bが定義され、一括動作演算部121は、センサ情報を用いて各動作の目標位置を決定する。一括動作演算部121は、動作Aに関して最適な軌道を算出する。すなわち、一括動作演算部121は、動作#1~#3を動作Aとして統合し、センサ情報と対象物情報と速度の制約条件とを用いて、評価関数を閾値以下とする1本の軌道を生成する。例えば、一括動作演算部121は、残距離を参照として速度の制約条件を用いて軌道を生成する。一括動作演算部121は、同様に、動作#5,#6を動作Bとして統合し、1本の軌道を生成する。
複数工程一括動作演算を行うことにより、作業全体として、工程単位動作演算を行う場合に比べてより適切な軌道を生成することができる。例えば、動作Aに対応する1本の軌道に対応する評価関数は、工程単位動作演算により生成された動作#1~#3に対応する各軌道に対応する評価関数の合計より小さくなる。このように、複数工程一括動作演算を行うことにより、各工程で最適化を行う場合に比べて、より適切な軌道を生成することができる。これにより、例えば、ロボット4の動作時間の短縮、消費電力の低減などの効果が得られる。
図2の説明に戻る。教示支援装置1は、ステップS6の後、ロボット動作を表示する(ステップS7)。詳細には、ロボット動作演算部12は、生成した軌道(動作軌道)に対応するロボット動作を示す情報を表示部14へ出力し、表示部14が動作軌道に対応するロボット4の動作を表示する。例えば、表示部14は、各瞬間の動作指令である関節角度情報を入力としてロボットモデルを所望の姿勢で表示することで、ロボット動作をAR表示することができる。これにより、ユーザは、決定されたロボット動作が所望のものであるかを確認することができる。ロボット動作が所望のものでない場合には、ステップS3からの処理、またはステップS4の処理が再度実行されてもよい。
次に、教示支援装置1は、ロボット動作指令をロボット制御装置3に送信し(ステップS8)、処理を終了する。詳細には、ステップS8では、ロボット動作演算部12が、ステップS7で生成したロボット動作指令をロボット制御装置3へ送信する。
なお、ロボット動作演算部12は、把持対象の対象物の認識に用いる3次元センサであるセンサ5をロボット4に取り付けている場合は、センサ5を把持対象の上空で一旦停止させて、センサ5に撮像させ、センサ情報を取得することで、対象物の位置などの認識を行ってもよい。センサ5をロボット4に取り付けている場合は、ロボット4の動作に伴いセンサ5も動き、撮影時にブレが生じるが、ロボット4の動作を一旦停止させることでブレを防ぐことができる。また、3次元センサであるセンサ5が対象物の上空に固定されている場合は、把持対象の上空にロボット4を停止させず、対象物の把持が終了し把持対象エリアを通過した後に、センサ5に撮像させ、センサ情報を取得することで、対象物の位置などの認識を行ってもよい。
次に、本実施の形態の教示支援装置1のハードウェア構成について説明する。本実施の形態の教示支援装置1は、コンピュータシステム上で、教示支援装置1における処理が記述されたコンピュータプログラムであるプログラムが実行されることにより、コンピュータシステムが教示支援装置1として機能する。図9は、本実施の形態の教示支援装置1を実現するコンピュータシステムの構成例を示す図である。図9に示すように、このコンピュータシステムは、制御部101と入力部102と記憶部103と表示部104と通信部105と出力部106とを備え、これらはシステムバス107を介して接続されている。
図9において、制御部101は、例えば、CPU(Central Processing Unit)等のプロセッサであり、本実施の形態の教示支援装置1における処理が記述されたプログラムを実行する。なお、制御部101の一部が、GPU(Graphics Processing Unit)、FPGA(Field-Programmable Gate Array)などの専用ハードウェアにより実現されてもよい。入力部102は、たとえばキーボード、マウスなどで構成され、コンピュータシステムの使用者が、各種情報の入力を行うために使用する。入力部102は、マイクを含んでいてもよい。記憶部103は、RAM(Random Access Memory),ROM(Read Only Memory)などの各種メモリおよびハードディスクなどのストレージデバイスを含み、上記制御部101が実行すべきプログラム、処理の過程で得られた必要なデータ、などを記憶する。また、記憶部103は、プログラムの一時的な記憶領域としても使用される。表示部104は、ディスプレイ、LCD(液晶表示パネル)などで構成され、コンピュータシステムの使用者に対して各種画面を表示する。また、表示部104は、入力部102としての機能を有するタッチパネルであってもよい。通信部105は、通信処理を実施する受信機および送信機である。出力部106は、プリンタ、スピーカなどである。なお、図9は、一例であり、コンピュータシステムの構成は図9の例に限定されない。
ここで、本実施の形態のプログラムが実行可能な状態になるまでのコンピュータシステムの動作例について説明する。上述した構成をとるコンピュータシステムには、たとえば、図示しないCD(Compact Disc)-ROMドライブまたはDVD(Digital Versatile Disc)-ROMドライブにセットされたCD-ROMまたはDVD-ROMから、コンピュータプログラムが記憶部103にインストールされる。そして、プログラムの実行時に、記憶部103から読み出されたプログラムが記憶部103の主記憶領域に格納される。この状態で、制御部101は、記憶部103に格納されたプログラムに従って、本実施の形態の教示支援装置1としての処理を実行する。
なお、上記の説明においては、CD-ROM、DVD-ROMなどの記録媒体を用いて、教示支援装置1における処理を記述したプログラムを提供しているが、これに限らず、コンピュータシステムの構成、提供するプログラムの容量などに応じて、たとえば、通信部105を経由してインターネットなどの伝送媒体により提供されたプログラムを用いることとしてもよい。
本実施の形態の教示支援プログラムは、例えば、ユーザから入力された作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとを取得するステップと、作業内容と環境モデルとに基づいて、作業機械と環境との干渉を回避した、作業機械の動作軌道を生成するステップと、をコンピュータシステムに実行させる。
図1に示したモデリング部11、ロボット動作演算部12および作業設定部16は、図9に示した記憶部103に記憶されたコンピュータプログラムが図9に示した制御部101により実行されることにより実現される。図1に示したモデリング部11、ロボット動作演算部12および作業設定部16の実現には、図9に示した記憶部103も用いられる。図1に示した作業情報記憶部13は、図9に示した記憶部103の一部である。図1に示した表示部14は、図9に示した表示部104および制御部101により実現される。図1に示した入力部15は、図9に示した入力部102および制御部101により実現される。また、入力部15が音声により入力を受け付ける場合には、入力部102にマイクが含まれていてもよいし、外付けのマイクが用いられてもよい。
また、教示支援装置1は複数のコンピュータシステムにより実現されてもよい。例えば、図1に示した入力部15、表示部14および作業設定部16がタブレットなどのコンピュータシステムにより実現され、モデリング部11、ロボット動作演算部12および作業情報記憶部13が別のコンピュータシステムにより実現されてもよい。また、ロボット動作演算部12以外がタブレットなどのコンピュータシステムにより実現され、ロボット動作演算部12が別のコンピュータシステムにより実現されてもよい。教示支援装置1が複数のコンピュータシステムにより実現される場合、各コンピュータシステムに実装される機能部の組み合わせはこの例に限定されない。また、ロボット制御装置3に、図1に示した教示支援装置1のうちの一部の機能部を備えていてもよい。例えば、教示支援装置1は、クラウドコンピュータシステムにより実現されてもよい。
なお、図1に示した例では、教示支援装置1が画像センサ2によって取得された環境計測データに基づいて環境モデルを生成したが、CAD(Computer Aided Design)モデルなどとして環境モデルが生成されている場合には、環境モデルが外部から入力されてもよい。例えば、図示しない他の装置から教示支援装置1が環境モデルを受信し、環境モデルがロボット動作演算部12および表示部14に入力される。この場合、作業システム6は画像センサ2を備えなくてもよく、教示支援装置1はモデリング部11を備えなくてもよい。または、図1に示した教示支援装置1が、さらに、外部から入力された環境モデルをロボット動作演算部12および表示部14に入力する機能を有し、環境計測データに基づいた環境モデルと、作成済みの環境モデルとの両方を利用できるようにしてもよい。
以上述べたように、本実施の形態の教示支援装置1は、ユーザから作業内容の入力を受け付け、受け付けた作業内容に基づいて自動で動作プログラムを生成するようにした。なお、作業DBにテンプレート情報として作業ごとのプログラムは登録されており、該当する作業に対応する者がロボット動作演算部12にロードされる。ロボット動作演算部12では、ロードしたプログラムに対して、作業タスクに関連した作業エリアのサイズ、作業エリアの位置の情報を与える。与えられたタスク固有のエリア情報、環境モデル、に基づいてテンプレートからロードしたプログラムの必要な教示点設定や軌道生成を自動的に行えるよう構成されたプログラムになっている。すなわち、ロボット動作を指定するユーザ入力は必要としない。このため、作業エリアのサイズ、作業エリアの位置、作業対象といった情報のみ指定すれば、ロボット動作を実施させることができる。さらに、環境やロボットに装着されたセンサ情報に基づいてオンラインで動作を調整しながら動作するセンサフィードバック制御も構成可能であり、状況に応じて自律的に動作修正を行う。このため、ユーザはジョブごとの様々な入力を行う必要はなく、また、プログラム言語の知識を要することなく、ロボット4を動作させる動作プログラムが自動生成される。これにより、ユーザがシステムを稼働状態にするまでの時間を短くできる。
また、本実施の形態の教示支援装置1は、画像センサ2によって取得された環境計測データを用いて環境モデルを自動生成し、生成した環境モデルを用いて環境に干渉しないロボットの軌道を決定するため、環境モデル自体をユーザが作成する場合に比べて環境モデルの作成に要する時間を短縮することができる。
また、本実施の形態の教示支援装置1は、作業を構成する工程のうち複数の工程を1つの動作としてロボット4の軌道を生成するため、ロボットの動作時間を短縮でき、また、動作プログラムの調整時間を短縮することができる。
また、本実施の形態の教示支援装置1は、あらかじめ各作業に対応する雛形を作成し、ユーザは作業に対応する雛形を示す情報をユーザに提示することで、不慣れなユーザであっても作業内容を容易に入力することができる。また、各雛形に対応する動画、説明などをユーザに提示することで、ユーザはより適切な雛形(作業)を選択することができる。
実施の形態2.
図10は、実施の形態2にかかる教示支援装置の構成例を示す図である。本実施の形態の教示支援装置1aは、図1に示した教示支援装置1からモデリング部11が削除されシミュレーション部17が追加される以外は、実施の形態1の教示支援装置1と同様である。実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して重複する説明を省略する。以下、実施の形態1と異なる点を主に説明する。
本実施の形態では、シミュレータであるシミュレーション部17が、ロボット4の動作を模擬するシミュレーションを行う。例えば、ロボット4を実際に設置する前の事前検討にシミュレーション結果を役立てることができる。
シミュレーションを行う際の作業内容の設定、およびロボット動作演算部12の処理は、実施の形態1と同様である。ただし、ロボット動作演算部12には、CADモデルとして作成された環境モデルが入力される。ロボット動作演算部12は、ロボット動作指令とロボットモデルと環境モデルとをシミュレーション部17へ出力する。
シミュレーション部17は、ロボット動作演算部12が決定した動作軌道と環境モデルとを用いてロボット4の動作を模擬するシミュレーションを行う。例えば、ロボット動作演算部12から受け取ったロボット動作指令とロボットモデルと環境モデルとを用いてロボット4の動作を模擬するシミュレーションを行い、シミュレーションの結果であるシミュレーション結果を表示部14へ出力する。
表示部14は、シミュレーション結果を表示する。また、表示部14は、ビジュアルプログラミング画面を表示してもよく、ビジュアルプログラミング画面とシミュレーション結果とを重畳して表示してもよい。ビジュアルプログラミング画面は、例えば、ブロックを並べることで動作を規定するための画面であり、例えば、「Scratch」のようなブロックプラグミングのための簡易的なプログラミング言語を用いることができるが、プログラム言語はこの例に限定されない。
図11は、本実施の形態の表示画面の一例を示す図である。図11に示した例では、教示支援装置1aにシミュレーション結果が表示されており、例えば、表示画面におけるロボットをタップすることで、ビジュアルプログラミング画面が重畳表示される。図11は、一例であり、具体的な表示画面は図11に示した例に限定されない。
ビジュアルプログラミング画面では、センサ類、ロボットの変更などの入力を受け付けることもでき、センサ類、ロボットの配置も、例えば、シミュレーション結果の表示されている画面で変更を受け付けてもよい。例えば、ロボットが表示されている部分を選択して移動させることで、ロボットの配置の変更を受け付けてもよい。これらの変更は、入力部15が受け付け、受け付けた結果を作業設定部16へ出力する。
ビジュアルプログラミング画面では、例えば、作業アイテムリストとして雛形のリストが表示され、ユーザが作業を選択すると、選択された作業に対応したロボット、ハンド、センサ、のプリセットが表示される。さらに、ロボットリスト(様々なタイプのロボット)、センサリスト(ビジョンセンサ、力覚センサ、触覚センサ、距離計測センサなど)が表示され、これらのリストから追加したい要素をタップ操作で画面にドラッグすることで変更および追加が可能であってもよい。センサが追加されると、センサが計測する物理量val(環境との接触力、対象物の位置、指定した地点間の距離)の定義が行われる。定義された物理量valを入力として、シミュレーション部17は、ブロックプログラミングの動作条件に基づいて、動作成立性チェックの上、表示部14にシミュレーション結果を動画として表示させる。例えば、対象物がコンベア上を流れる場合、対象物の位置を検出するセンサであるビジョンセンサを取り付ける位置がロボットに近すぎると認識時間が間に合わないなど不都合が生じることがあるが、ロボットの動作を模擬することで適切な位置関係を事前検討できる。
このように、表示部14が、ブロックプログラミングを行うための画面を表示し、入力部15が、ブロックプログラミングにおける、ロボットの変更の入力を受け付け、ロボット動作演算部12が、入力部15が受け付けた入力を反映して軌道を生成してもよい。ブロックプログラミングにおける、ロボットの動作の決定に用いるセンサの追加または変更の入力を受け付け、ロボット動作演算部12が、入力部15が受け付けた入力を反映して軌道を生成してもよい。
なお、図10では、シミュレーションを行う場合の機能構成を示しているが、シミュレーションに特化した図10に示した構成の教示支援装置1aが用いられてもよいし、図1に示した教示支援装置1に、シミュレーション部17を追加して、実施の形態1で述べた動作と、シミュレーションとの両方を実施できるようにしてもよい。
本実施の形態の教示支援装置1aのハードウェア構成は、実施の形態1の教示支援装置1と同様である。例えば、シミュレーション部17は、図9に示した記憶部103に記憶されたコンピュータプログラムが図9に示した制御部101により実行されることにより実現される。シミュレーション部17の実現には、図9に示した記憶部103も用いられる。また、実施の形態1と同様に、教示支援装置1aは複数のコンピュータシステムで構成されてもよい。
また、実施の形態1で述べた画像センサ2を用い、教示支援装置1aが、モデリング部11を備え、モデリング部11が環境計測データを用いて環境モデルを生成し、シミュレーション部17が生成された環境モデルを用いてシミュレーションを行ってもよい。
本実施の形態では、教示支援装置1aがロボットの動作を模擬するシミュレーションを行うようにしたので、シミュレーション結果を事前の検討に役立てることができる。
実施の形態3.
図12は、実施の形態3にかかる作業システムの構成例を示す図である。本実施の形態の作業システム6bは、教示支援装置1の代わりに教示支援装置1bを備える以外は、実施の形態1の作業システム6と同様である。実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して重複する説明を省略する。以下、実施の形態1と異なる点を主に説明する。
教示支援装置1bは、モデリング部11、入力部15および作業設定部16の代わりに、モデリング部11a、入力部15aおよび作業設定部16aを備える以外は実施の形態1の教示支援装置1と同様である。作業設定部16aは、動作修正部163が追加される以外は実施の形態1の作業設定部16と同様である。
本実施の形態の教示支援装置1bは、実施の形態1と同様の動作に加えて、環境モデルおよびロボット4の動作のうちの少なくとも一方の修正を受け付け、修正を反映する。図13は、本実施の形態の教示支援装置1bにおける処理手順の一例を示すフローチャートである。ステップS1~S7は、実施の形態1と同様である。
ステップS7の後、教示支援装置1bは、修正指示が有ったか否かを判断する(ステップS9)。詳細には、入力部15aが、ユーザから環境モデルおよびロボット4の動作のうちの少なくとも一方の修正の指示を受け付けたか否かを判断する。教示支援装置1bは、修正指示が有った場合(ステップS9 Yes)、ロボット動作を修正し(ステップS10)、処理をステップS8へ進める。また、修正指示が無い場合(ステップS9 No)、教示支援装置1bは、処理をステップS8へ進める。ステップS8は実施の形態1と同様である。
例えば、ステップS7で表示されたロボット4の軌道が、ロボット4と協働する作業者にとって脅威を感じると思われる軌道である場合、禁止エリアおよび許可エリアのうちの少なくとも一部を、入力部15aを用いて入力する。例えば、表示部14が入力部15aの一部の機能も有するタッチパネルである場合、ユーザは、環境が表示されている状態で、タップ操作により禁止エリアモデルおよび許可エリアのうちの少なくとも一方の位置を指定することにより、禁止エリアモデルおよび許可エリアモデルのうちの少なくとも一方を指定する。入力部15aは、入力された、禁止エリアおよび許可エリアモデルのうちの少なくとも一方をモデリング部11aへ出力する。モデリング部11aは、入力部15aから受け取った情報を用いて、環境モデルに禁止エリアモデルおよび許可エリアモデルのうち少なくとも一方を追加する修正を行い、修正後の環境モデルを表示部14およびロボット動作演算部12へ出力する。これにより、ロボット動作演算部12は、修正された環境モデルを用いて実施の形態1と同様にロボット動作演算を実施する。すなわち、ロボット動作演算部12は、入力部15aが受け付けた修正の指示を反映した軌道を生成する。詳細には、禁止エリアモデルが追加された場合、ロボット動作演算部12は、環境に干渉しないという条件に加えて禁止エリアをロボット4が通過しないように軌道を決定する。また、許可エリアモデルが追加された場合、ロボット動作演算部12は、環境と干渉する場合であっても許可エリア内であればロボット4が通過できるという条件のもとで軌道を決定する。
例えば、ユーザは、禁止エリアを、ロボット4と協働する作業者にとって脅威を感じるエリアに設定する。また、環境モデルは全て干渉の対象となるため、そのままでは、把持対象の対象物付近にも進入できない場合もあるが、許可エリアを設定することで、対象物付近に進入できるようになる。また、対象物付近の許可エリアは、センサ5によって取得されたセンサ情報を用いて自動で設定されてもよい。例えば、モデリング部11aがセンサ情報を用いてセンサ情報が示す対象物の周囲の領域を自動的に許可エリアモデルとして追加してもよい。
また、例えば、表示部14に、環境モデルのうち、ユーザによって選択された部分モデルのサイズを、もとのサイズより大きくするためのボタンなどを表示し、入力部15aが、当該ボタンが押下されたことを検出すると、モデリング部11aへ選択された部分モデルを大きくするよう指示してもよい。モデリング部11aは、入力部15aからの指示に基づいて、ユーザによって選択された部分モデルの大きさをあらかじめ定められた規則により大きくする。あらかじめ定められた規則は、特定の方向または全方向に一定量サイズを増加させる規則であってもよいし、特定の方向または全方向にサイズに1以上の実数の係数を乗算することでサイズを大きくしてもよく、これら以外の方法でサイズを大きくしてもよい。これにより実際の環境からの距離に余裕を持った軌道が生成される。
また、入力部15aは、ロボット4の動作の修正内容として、「Pをちょっと右」などのように、修正対象と修正内容とをユーザの発話を音声として受け付けて音声認識することで、修正内容を認識してもよい。入力部15aは、音声の認識結果を作業設定部16aで出力し、作業設定部16aが、修正内容に応じて動作プログラムを修正する。また、ロボット4の動作の目標位置などの修正対象の項目は、選択肢をユーザに提示した上で選択結果の入力を受け付け、当該項目の修正内容を音声で受け付けてもよい。入力部15aは、ロボット4の動作の修正内容として、ロボット4の動作の制約条件の変更の入力を受け付けてもよい。ロボット4の動作の修正内容は、作業設定部16aを介してロボット動作演算部12へ出力され、ロボット動作演算部12が修正を反映して軌道を生成する。
また、表示部14は、AR表示の速度の変更、AR表示動作の一時停止などを指示するためのボタンなどを表示し、入力部15aが、当該ボタンが押下されたことを検出することでAR表示に対する指示を受け付けてもよい。この場合、入力部15aは受け付けた指示を表示部14へ通知し、表示部14は、通知にしたがってAR表示を制御する。これにより、ユーザは、動作のうち確認したい箇所がある場合、速度を遅くして詳細に確認したり、停止させて詳細に確認したりすることができる。
なお、本実施の形態では、図1に示した構成例に修正機能を追加したが、生成済の環境モデルを用いる場合に、修正機能を追加してもよい。また、本実施の形態の教示支援装置1bに実施の形態2で述べたシミュレーションを実施する機能を追加してもよい。
本実施の形態の教示支援装置1bのハードウェア構成は、実施の形態1の教示支援装置1と同様である。また、実施の形態1と同様に、教示支援装置1bは複数のコンピュータシステムで構成されてもよい。
本実施の形態では、自動生成された動作プログラムに基づく動作を確認した上で修正することができるため、ユーザの意思を盛り込んだ調整を容易かつ短時間に実施することができる。
実施の形態4.
図14は、実施の形態4にかかる作業システムの構成例を示す図である。本実施の形態の作業システム6cは、教示支援装置1bの代わりに教示支援装置1cを備え、分析装置7が追加される以外は、実施の形態3の作業システム6bと同様である。実施の形態3と同様の機能を有する構成要素は実施の形態3と同一の符号を付して重複する説明を省略する。以下、実施の形態3と異なる点を主に説明する。
本実施の形態の教示支援装置1cは、実施の形態3の教示支援装置1bに、送受信部18が追加されている。作業設定部16aは、作業設定情報を作業情報記憶部13の作業DBに格納することにより、作業DBには、設定された作業に関する、作業(作業の種類)、対象物、対象エリアなどの設定情報が格納される。ロボット動作演算部12は、ロボット動作指令などロボット動作に関する情報である動作情報を送受信部18へ出力する。送受信部18は、作業DBから設定情報を読み出し、読み出した設定情報とロボット動作演算部12から受け取った動作情報とを分析装置7へ送信する。
分析装置7は、送受信部71および分析部72を備える。送受信部71は、教示支援装置1cから設定情報および動作情報を受信し、周辺機器8から計測情報を受信し、教示支援装置1cまたは他の装置から作業の成否を示す成否情報を受信し、受信した情報を分析部72へ出力する。なお、成否情報は、教示支援装置1cの入力部15aがユーザからの入力を受け付けて送受信部18が、分析装置7へ送信してもよいし、図示しない他の装置がユーザからの入力を受け付けて分析装置7へ送信してもよい。また、送受信部71は、分析部72から受け取った分析結果を教示支援装置1cへ送信する。
分析部72は、設定情報、動作情報、計測情報および成否情報を用いて、失敗の要因となる可能性の高い影響因子を分析し、分析結果を送受信部71へ出力する。周辺機器8は、例えば、ロボット4の状態を検出するセンサであり、ロボット4および環境のうち少なくとも一方に取り付けられている温度センサ、モータの速度センサ、振動センサなどの各種センサである。なお、図14では、分析装置7が周辺機器8から直接計測情報を受信しているが、これに限らず、分析装置7は、ロボット制御装置3または教示支援装置1cを介して計測情報を受信してもよいし、図示しない他の装置を介して計測情報を受信してもよい。
分析部72は、例えば、設定情報、動作情報、計測情報および成否情報で構成される入力情報を、作業内容が同一のグループ、または作業内容が類似するグループに分類する。分析部72は、グループごとに、動作情報および計測情報の各項目の情報のそれぞれが、正常範囲を超えているか否かを判断し、正常範囲判断結果と成否情報との対応を記憶する。例えば、分析部72は、ガウス過程回帰などを用いて、ある作業を行った際に取得したデータから平均的なふるまいを回帰モデルとして表現し、正常時に分布する領域(正常範囲)を予め求めておき、それからどの程度逸脱しているか、を評価して異常と判別してもよい。正常範囲は、例えば、複数回試行した場合のある特徴量(例えばセンサ出力が正常値からどの程度はなれていたか)とその分散から、3σ以内なら正常、それ以上なら異常といったように統計的に定義することができる。分析部72は、グループごとに、成否情報が失敗であることを示す入力情報に対応する判断結果が正常範囲から逸脱しており、成否情報が成功であることを示す入力情報に対応する判断結果が正常範囲内である項目を抽出し、抽出した項目を影響因子に対応する情報と判定する。例えば、センサKの計測情報が、成否情報が失敗である場合には正常範囲から逸脱し、成否情報が成功である場合に正常範囲内であれば、センサKの計測情報が影響因子に対応する情報であると判断する。例えば、センサKが、ロボット4の部品Pの温度であるとしたら、部品Pが失敗の影響因子である可能性が高い。
または、分析部72は、失敗を示す成否情報に対応する動作情報および計測情報のうち正常範囲から逸脱する項目があれば、当該項目を影響因子に対応する情報と判定してもよい。また、分析部72は、蓄積された入力情報を用いて、成否情報が成功を示す場合の入力情報を用いてクラスタ分析などの機械学習または統計的な手法により、各項目の正常範囲を決定してもよい。また、分析装置7は、複数の教示支援装置1cから取得した情報を用いて分析を行ってもよい。
または、分析部72は、成否情報として失敗した場合の失敗の種類(失敗の内容)を示す情報を取得し、失敗した場合に、作業者などがロボット4を確認して要因となる箇所が判明した場合には、判明した箇所を正解データとして機械学習を行ってもよい。例えば、分析部72は、失敗の種類と対応する正解データである要因(要因となる箇所)とで構成されるデータセットを複数用いて教師あり学習により学習済モデルを生成する。分析部72は、影響因子の分析時には、失敗の種類を学習済モデルに入力することで、要因を推論してもよい。また、教師あり学習において、失敗の種類に加えて上述した入力情報のうちの少なくとも1つを入力データとして用いて学習済モデルを生成してもよいし、上述した入力情報のうちの少なくとも1つを入力データとして用いて学習済モデルを生成してもよい。これにより、同様に、入力データを学習済モデルに入力することで失敗の要因を推論することができる。また、他の例示として、以下のものもある。予め、実システムにおいて、特定の異常状態を作業者が意図的に発生させ、その際の各機器の出力やエラー信号のデータを複数回集める。その際の各機器の異常が出る順番・タイミングを学習するために、「各信号の時系列データあるいは、時系列データをグラフ化した情報」を入力として機械学習させ、それに類似する信号変化パターンが発生したら、事前に登録した異常状態と判定する。なお、異常状態という判別は、情報を収集しながら行っても、情報収集後に行っても良い。特にオンラインで情報を収集しながら行う場合は、ある程度類似の異常状態になればシステムが故障に至るような状況の前に予めシステムを停止することができるといった効果を得られる。さらに、他の例示として、以下のものもある。さらに、複数の機械システムに置いて得られたデータをサーバにおいて収集し、異常状態がラベル付けされた、各センサなどの出力、エラー信号、状態監視信号の少なくとも1つを含むデータベースを基に教師あり学習で学習し、推論を行う構成もある。これにより、実際に使うシステムにおいて学習データを作成しなくても、過去の別システムの事例によって得られたデータに基づいて異常判別ができるため、学習作業にかかる時間を低減させ、異常判別・分析を行うシステム立上げ時間を短縮させる効果がある。以上述べた分析部72の分析方法は例示であり、分析部72の分析方法は上述した例に限定されない。また、分析部72が分析に用いる情報も上述した例に限定されない。
教示支援装置1cの送受信部18は、分析装置7から分析結果を受信すると、表示部14へ出力し、表示部14が分析結果を表示する。
以上のように、本実施の形態では、教示支援装置1cが、例えば、作業内容を示す情報および動作情報のうち少なくとも一方を分析装置7へ送信し、分析装置7は、ロボット4の状態を検出するセンサから取得した情報と、作業内容を示す情報と、作業の成否を示す成否情報とを用いて、作業の失敗の要因を分析する。分析結果を教示支援装置1cへ送信する。教示支援装置1cの表示部14は、分析装置7から受信した分析結果を表示する。ユーザは、表示部14に表示された分析結果、すなわち推定される要因を把握して、対応する箇所になんらかの対応を試みることができる。これにより、不具合からの復旧を促進することができる。
本実施の形態の教示支援装置1cのハードウェア構成は、実施の形態1の教示支援装置1と同様である。また、実施の形態1と同様に、教示支援装置1cは複数のコンピュータシステムで構成されてもよい。
本実施の形態の分析装置7も、実施の形態1の図9に例示したようなコンピュータシステムによって実現される。分析装置7はクラウドシステム上に構築されてもよい。
また、同様に、実施の形態1で述べた教示支援装置1が、分析装置7へ情報を送信し、分析装置7から分析結果を取得して表示してもよい。
実施の形態5.
図15は、実施の形態5にかかる作業システムの構成例を示す図である。本実施の形態の作業システム6dは、教示支援装置1の代わりに教示支援装置1dを備える以外は、実施の形態1の作業システム6と同様である。実施の形態1と同様の機能を有する構成要素は実施の形態1と同一の符号を付して重複する説明を省略する。以下、実施の形態1と異なる点を主に説明する。
本実施の形態の教示支援装置1dは、作業設定部16および入力部15の代わりに、設定情報取得部19を備える以外は、実施の形態1の教示支援装置1と同様である。
教示支援装置1dの設定情報取得部19は、実施の形態1の作業設定部16がロボット動作演算部12へ出力する作業設定情報と同様の作業設定情報を、図示しない他の装置から受信し、受信した作業設定情報をロボット動作演算部12へ出力する。例えば、過去に別の教示支援装置1dである他支援装置によって作業設定情報が生成されており、当該作業設定情報を利用可能な場合には、教示支援装置1dは、他支援装置から作業設定情報を受信する。本実施の形態の教示支援装置1dは、これにより、ユーザの負荷を軽減することができる。
本実施の形態の教示支援装置1dのハードウェア構成は、実施の形態1の教示支援装置1と同様である。また、実施の形態1と同様に、教示支援装置1dは複数のコンピュータシステムで構成されてもよい。
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
1,1a,1b,1c,1d 教示支援装置、2 画像センサ、3 ロボット制御装置、4 ロボット、5 センサ、6,6b,6c,6d 作業システム、7 分析装置、8 周辺機器、11,11a モデリング部、12 ロボット動作演算部、13 作業情報記憶部、14 表示部、15,15a 入力部、16,16a 作業設定部、17 シミュレーション部、18,71 送受信部、19 設定情報取得部、72 分析部、121 一括動作演算部、161 作業指定部、162 対象情報設定部、163 動作修正部。

Claims (17)

  1. 作業の雛形に応じた作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとに基づいて動作プログラムを生成し、前記動作プログラムを用いて前記作業機械と前記環境との干渉を回避した、前記作業機械の動作軌道を生成する動作演算部、
    を備え、
    前記雛形は、前記動作プログラムに対応する動作を自然言語で表した情報を含み、
    前記作業内容は、前記雛形とユーザによって入力される入力情報とにより決定され、
    前記入力情報は、前記雛形が示す動作の対象物を示す情報と前記動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、
    前記目的の場所は、前記環境モデルに含まれる場所であり、
    前記対象物は、前記環境モデルに含まれることを特徴とする教示支援装置。
  2. 3次元画像を取得する画像センサが前記環境を撮影することで得られるデータである環境計測データを用いて前記環境モデルを生成するモデリング部、
    を備えることを特徴とする請求項1に記載の教示支援装置。
  3. 前記動作演算部は、前記作業を構成する複数の工程に対応する複数の動作を1つの一括動作とし、前記一括動作の開始位置および終了位置と前記作業機械の動作に関する制約条件とを用いて前記動作軌道を生成することを特徴とする請求項1または2に記載の教示支援装置。
  4. 前記動作軌道に対応する前記作業機械の動作を表示する表示部、
    を備えることを特徴とする請求項1から3のいずれか1つに記載の教示支援装置。
  5. 前記表示部は、前記作業機械の動作を拡張現実表示により表示することを特徴とする請求項4に記載の教示支援装置。
  6. 前記環境モデルおよび前記作業機械の動作のうち少なくとも一方の修正の指示を受け付ける入力部、
    を備え、
    前記動作演算部は、前記指示を反映した前記動作軌道を生成することを特徴とする請求項4または5に記載の教示支援装置。
  7. 前記入力部は、音声またはタップ動作により、前記作業内容の入力を受け付けることを特徴とする請求項6に記載の教示支援装置。
  8. 作業ごとの、当該作業に対応する前記作業機械の動作を示す前記雛形を記憶する作業情報記憶部、
    を備え、
    前記表示部は、前記雛形が記憶されている前記作業を示す情報を表示し、
    前記入力部は、前記表示部に表示された前記作業のなかからの前記ユーザによる選択結果を受け付け、受け付けた前記選択結果に対応する前記作業の前記雛形と、前記入力情報とに基づいて前記作業内容を決定することで前記作業内容の入力を受け付けることを特徴とする請求項7に記載の教示支援装置。
  9. 前記動作軌道と前記環境モデルとを用いて前記作業機械の動作を模擬するシミュレーションを行うシミュレーション部と、
    前記シミュレーションの結果を表示する表示部と、
    を備えることを特徴とする請求項1に記載の教示支援装置。
  10. 入力部、を備え、
    前記表示部は、ブロックプログラミングを行うための画面を表示し、
    前記入力部は、前記ブロックプログラミングにおける、前記作業機械の変更の入力を受け付け、
    前記動作演算部は、前記入力部が受け付けた入力を反映して前記動作軌道を生成することを特徴とする請求項9に記載の教示支援装置。
  11. 前記入力部は、前記ブロックプログラミングにおける、前記作業機械の動作の決定に用いるセンサの追加または変更の入力を受け付け、
    前記動作演算部は、前記入力部が受け付けた入力を反映して前記動作軌道を生成することを特徴とする請求項10に記載の教示支援装置。
  12. 前記動作演算部は、前記動作軌道に基づいて前記作業機械を制御するための動作指令を生成することを特徴とする請求項1から11のいずれか1つに記載の教示支援装置。
  13. 作業機械の環境を撮影することで3次元画像を環境計測データとして取得する画像センサと、
    教示支援装置と、
    を備え、
    前記教示支援装置は、
    3次元画像を取得する画像センサが前記環境を撮影することで得られるデータである環境計測データを用いて前記環境をモデル化した3次元モデルである環境モデルを生成するモデリング部と、
    作業の雛形に応じた作業内容と前記環境モデルとに基づいて動作プログラムを生成し、前記動作プログラムを用いて前記作業機械と前記環境との干渉を回避した、前記作業機械の動作軌道を生成する動作演算部と、
    を備え、
    前記雛形は、前記動作プログラムに対応する動作を自然言語で表した情報を含み、
    前記作業内容は、前記雛形とユーザによって入力される入力情報とにより決定され、
    前記入力情報は、前記雛形が示す動作の対象物を示す情報と前記動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、
    前記目的の場所は、前記環境モデルに含まれる場所であり、
    前記対象物は、前記環境モデルに含まれることを特徴とする作業システム。
  14. 教示支援装置と、
    分析装置と、
    を備え、
    前記教示支援装置は、作業の雛形に応じた作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとに基づいて動作プログラムを生成し、前記動作プログラムを用いて前記作業機械と前記環境との干渉を回避した、前記作業機械の動作軌道を生成し、前記作業内容を示す情報を前記分析装置へ送信し、
    前記分析装置は、前記作業機械の状態を検出するセンサから取得した情報と、前記作業内容を示す情報と、前記作業の成否を示す成否情報とを用いて、前記作業の失敗の要因を分析し、分析結果を前記教示支援装置へ送信し、
    前記教示支援装置は、前記分析装置から受信した前記分析結果を表示し、
    前記雛形は、前記動作プログラムに対応する動作を自然言語で表した情報を含み、
    前記作業内容は、前記雛形とユーザによって入力される入力情報とにより決定され、
    前記入力情報は、前記雛形が示す動作の対象物を示す情報と前記動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、
    前記目的の場所は、前記環境モデルに含まれる場所であり、
    前記対象物は、前記環境モデルに含まれることを特徴とする作業システム。
  15. 前記作業機械と、
    前記作業機械を制御する制御装置と、
    を備え、
    前記教示支援装置は、前記動作軌道に基づいて前記作業機械の動作指令を生成し、前記動作指令を前記制御装置へ送信することを特徴とする請求項13または14に記載の作業システム。
  16. 教示支援装置における教示支援方法であって、
    作業の雛形に応じた作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとを取得するステップと、
    前記作業内容と前記環境モデルとに基づいて動作プログラムを生成し、前記動作プログラムを用いて前記作業機械と前記環境との干渉を回避した、前記作業機械の動作軌道を生成するステップと、
    を含み、
    前記雛形は、前記動作プログラムに対応する動作を自然言語で表した情報を含み、
    前記作業内容は、前記雛形とユーザによって入力される入力情報とにより決定され、
    前記入力情報は、前記雛形が示す動作の対象物を示す情報と前記動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、
    前記目的の場所は、前記環境モデルに含まれる場所であり、
    前記対象物は、前記環境モデルに含まれることを特徴とする教示支援方法。
  17. コンピュータシステムに、
    作業の雛形に応じた作業内容と作業機械の環境をモデル化した3次元モデルである環境モデルとを取得するステップと、
    前記作業内容と前記環境モデルとに基づいて動作プログラムを生成し、前記動作プログラムを用いて前記作業機械と前記環境との干渉を回避した、前記作業機械の動作軌道を生成するステップと、
    を実行させ、
    前記雛形は、前記動作プログラムに対応する動作を自然言語で表した情報を含み、
    前記作業内容は、前記雛形とユーザによって入力される入力情報とにより決定され、
    前記入力情報は、前記雛形が示す動作の対象物を示す情報と前記動作における移動の目的の場所を示す情報とを含み、教示位置を含まず、
    前記目的の場所は、前記環境モデルに含まれる場所であり、
    前記対象物は、前記環境モデルに含まれることを特徴とする教示支援プログラム。
JP2022566474A 2022-02-25 教示支援装置、作業システム、教示支援方法および教示支援プログラム Active JP7506180B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/007996 WO2023162164A1 (ja) 2022-02-25 2022-02-25 教示支援装置、作業システム、教示支援方法および教示支援プログラム

Publications (3)

Publication Number Publication Date
JPWO2023162164A1 JPWO2023162164A1 (ja) 2023-08-31
JPWO2023162164A5 JPWO2023162164A5 (ja) 2024-01-30
JP7506180B2 true JP7506180B2 (ja) 2024-06-25

Family

ID=

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011230245A (ja) 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットシステム
JP2018069377A (ja) 2016-10-28 2018-05-10 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
JP2018134703A (ja) 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP2019093492A (ja) 2017-11-24 2019-06-20 ファナック株式会社 ロボットに対して教示操作を行う教示装置
JP2020006472A (ja) 2018-07-06 2020-01-16 ファナック株式会社 ロボットプログラム生成装置
US20200230817A1 (en) 2017-02-03 2020-07-23 Doosan Robotics Inc Skill-based robot programming apparatus and method
WO2020149021A1 (ja) 2019-01-15 2020-07-23 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
JP2021003736A (ja) 2019-06-25 2021-01-14 ファナック株式会社 ロボットプログラミング装置
WO2021245746A1 (ja) 2020-06-01 2021-12-09 ファナック株式会社 ロボットのプログラミング装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011230245A (ja) 2010-04-28 2011-11-17 Yaskawa Electric Corp ロボットシステム
JP2018069377A (ja) 2016-10-28 2018-05-10 ファナック株式会社 ロボットが行う物品整列作業のシミュレーションのための装置、方法、プログラム及び記録媒体
US20200230817A1 (en) 2017-02-03 2020-07-23 Doosan Robotics Inc Skill-based robot programming apparatus and method
JP2018134703A (ja) 2017-02-21 2018-08-30 株式会社安川電機 ロボットシミュレータ、ロボットシステム及びシミュレーション方法
JP2019093492A (ja) 2017-11-24 2019-06-20 ファナック株式会社 ロボットに対して教示操作を行う教示装置
JP2020006472A (ja) 2018-07-06 2020-01-16 ファナック株式会社 ロボットプログラム生成装置
WO2020149021A1 (ja) 2019-01-15 2020-07-23 オムロン株式会社 経路生成装置、経路生成方法、及び経路生成プログラム
JP2021003736A (ja) 2019-06-25 2021-01-14 ファナック株式会社 ロボットプログラミング装置
WO2021245746A1 (ja) 2020-06-01 2021-12-09 ファナック株式会社 ロボットのプログラミング装置

Similar Documents

Publication Publication Date Title
US10706331B2 (en) Task execution system, task execution method, training apparatus, and training method
JP6886869B2 (ja) 動作予測システム及び動作予測方法
US11507195B2 (en) Augmented reality interaction techniques
US11331803B2 (en) Mixed reality assisted spatial programming of robotic systems
US9387589B2 (en) Visual debugging of robotic tasks
KR102165967B1 (ko) 3차원 공간 감시 장치, 3차원 공간 감시 방법, 및 3차원 공간 감시 프로그램
EP4082726A1 (en) Training data selection device, robot system, and training data selection method
JP2015520040A (ja) 産業用ロボットを訓練および動作させること
US20220063091A1 (en) Robot control device, robot system and robot control method
US11919164B2 (en) Robot system and robot control method
US20230092405A1 (en) Systems and methods for providing context-based data for an industrial automation system
JP7506180B2 (ja) 教示支援装置、作業システム、教示支援方法および教示支援プログラム
WO2023162164A1 (ja) 教示支援装置、作業システム、教示支援方法および教示支援プログラム
US11651528B2 (en) Systems and methods for providing context-based data for an industrial automation system
US11688107B2 (en) Systems and methods for modifying context-based data provided for an industrial automation system
US20230089251A1 (en) Systems and methods for providing context-based data for an industrial automation system
JP2019202354A (ja) ロボット制御装置、ロボット制御方法及びロボット制御プログラム
JP6807589B1 (ja) 状態判定システム、状態判定方法、及び状態判定プログラム
JP7148938B2 (ja) 状態判定システム、状態判定方法、及び状態判定プログラム
RU2813444C1 (ru) Система взаимодействия человек-робот на основе смешанной реальности
US11829126B2 (en) Systems and methods for providing context-based data for an industrial automation system based on a virtual coordinate system
EP4155879A1 (en) Systems and methods for providing context-based data for an industrial automation system
WO2023203697A1 (ja) シミュレーション装置
JPWO2023162164A5 (ja)