(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022156507
(43)【公開日】2022-10-14
(54)【発明の名称】ロボット制御システム、および制御装置
(51)【国際特許分類】
B25J 13/08 20060101AFI20221006BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2021060234
(22)【出願日】2021-03-31
(71)【出願人】
【識別番号】391053696
【氏名又は名称】JOHNAN株式会社
(74)【代理人】
【識別番号】100148275
【弁理士】
【氏名又は名称】山内 聡
(74)【代理人】
【識別番号】100136319
【弁理士】
【氏名又は名称】北原 宏修
(74)【代理人】
【識別番号】100142745
【弁理士】
【氏名又は名称】伊藤 世子
(74)【代理人】
【識別番号】100143498
【弁理士】
【氏名又は名称】中西 健
(72)【発明者】
【氏名】森山 孝三
(72)【発明者】
【氏名】亀山 晋
(72)【発明者】
【氏名】ヴ ヤ チュン
(72)【発明者】
【氏名】ルーカス ブルックス
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707JU02
3C707KS03
3C707KS04
3C707KS11
3C707KT02
3C707KT05
3C707KT06
3C707LV01
(57)【要約】
【課題】作業者が望んでいる処理を実行させやすいロボット制御システム、および制御装置を提供する。
【解決手段】ロボット200と、少なくとも1つのカメラ300と、制御装置100とを備えるロボット制御システム1が提供される。制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理をロボットに実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットと、
少なくとも1つのカメラと、
制御装置とを備え、
前記制御装置は、前記少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理を前記ロボットに実行させる、ロボット制御システム。
【請求項2】
前記姿勢として、前記制御装置は、前記少なくとも1つのカメラの画像に基づいて、作業者の第1の骨と第2の骨との相対角度を特定する、請求項1に記載のロボット制御システム。
【請求項3】
前記制御装置は、作業者毎に、処理に対応する姿勢を記憶する、請求項1または2に記載のロボット制御システム。
【請求項4】
ロボットと、少なくとも1つのカメラと、通信するための通信インターフェイスと、
メモリと、
プロセッサとを備え、
前記プロセッサは、前記少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理を前記ロボットに実行させる、制御装置。
【請求項5】
ロボットと、
少なくとも1つのカメラと、
制御装置とを備え、
前記制御装置は、前記少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の位置を特定し、当該位置に応じた処理を前記ロボットに実行させる、ロボット制御システム。
【請求項6】
ロボットと、少なくとも1つのカメラと、通信するための通信インターフェイスと、
メモリと、
プロセッサとを備え、
前記プロセッサは、前記少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の位置を特定し、当該位置に応じた処理を前記ロボットに実行させる、制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを制御するための技術に関する。
【背景技術】
【0002】
従前より、カメラの撮影画像に基づいてロボットを制御するための技術が知られている。たとえば、特開2014-104527号公報(特許文献1)には、ロボットシステム、プログラム、生産システム及びロボットが開示されている。特許文献1によると、ロボットシステムは、生産システムにおいて作業者と混在して生産作業を行うロボットと、作業者を撮像する撮像部から撮像情報を取得する撮像情報取得部と、撮像情報に基づいてロボットを制御するロボット制御部と、表示画像を表示する表示部の表示制御を行う表示制御部と、を含む。まず、ロボット制御部は、取得された撮像情報に基づいて作業者のジェスチャーを検出し、検出したジェスチャーに関連付けられたロボット制御コマンドを特定する。そして、表示制御部は、ロボット制御部が特定したロボット制御コマンドを作業者へ通知する通知画像を表示部に表示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明の目的は、作業者が望んでいる処理を実行させやすいロボット制御システム、および制御装置を提供することにある。
【課題を解決するための手段】
【0005】
本発明の一態様に従うと、ロボットと、少なくとも1つのカメラと、制御装置とを備えるロボット制御システムが提供される。制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理をロボットに実行させる。
【発明の効果】
【0006】
以上のように、本発明によれば、作業者が望んでいる処理を実行させやすいロボット制御システム、および制御装置を提供することができる。
【図面の簡単な説明】
【0007】
【
図1】第1の実施の形態にかかるロボット制御システムの全体構成を示すブロック図である。
【
図2】第1の実施の形態にかかる対応関係データを示すイメージ図である。
【
図3】第1の実施の形態にかかるロボット制御の情報処理を示すフローチャートである。
【
図4】第1の実施の形態にかかる作業者の姿勢を特定するための画像を示すイメージ図である。
【
図5】第2の実施の形態にかかる対応関係データを示すイメージ図である。
【
図6】第2の実施の形態にかかるロボット制御の情報処理を示すフローチャートである。
【
図7】第3の実施の形態にかかる制御装置の画面を示すイメージ図である。
【
図8】第4の実施の形態にかかる対応関係データを示すイメージ図である。
【
図9】第4の実施の形態にかかる制御装置の画面を示すイメージ図である。
【
図10】第4の実施の形態にかかるロボット制御の情報処理を示すフローチャートである。
【
図11】第5の実施の形態にかかる対応関係データを示すイメージ図である。
【
図12】第5の実施の形態にかかる作業者情報データを示すイメージ図である。
【
図13】第5の実施の形態にかかるロボット制御の情報処理を示すフローチャートである。
【発明を実施するための形態】
【0008】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
<第1の実施の形態>
<ロボット制御システムの全体構成>
【0009】
まず
図1を参照して、本実施の形態にかかるロボット制御システム1の全体構成について説明する。ロボット制御システム1は、主たる装置として、ロボット200と、1または複数のカメラ300,300・・・と、撮影画像に基づいてロボット200の動作を制御するための制御装置100とを含む。なお、ロボット200に関しても、複数準備されてもよい。
【0010】
本実施の形態にかかるロボット制御システム1は、たとえば工場の生産現場に適用されるものであり、生産現場においてロボット200に所定のタスクを実行させるように構成されている。また、本実施の形態にかかるロボット制御システム1は、ロボット200が柵などによって仕切られておらず、人がロボット200の作業領域にアクセス可能であり、人とロボット200とが協働して作業を進めていくものである。
【0011】
1または複数のカメラ300・・・は、ロボット200に取り付けられるカメラであったり、作業台や天井などに固定されるカメラであったり、作業者の体や作業服や眼鏡や帽子やヘルメットなどに取り付けられるウェアラブルカメラであったりする。
【0012】
制御装置100は、カメラ300,300・・・の撮影画像に基づいて、部品の位置や現在の状況などを把握して、ロボット200に各種のタスクを実行させる。タスクとは、たとえばある地点のワークを別の地点に移動させる処理であったり、ワークWに応じた道具を作業者に手渡す処理であったりする。
【0013】
制御装置100は、主に、CPU110、メモリ120、ディスプレイ130、操作部140、スピーカ150、通信インターフェイス160を含む。CPU110は、メモリ120に記憶されているプログラムを実行することによって、ロボット200や制御装置100の各部を制御する。たとえば、CPU110は、メモリ120に格納されているプログラムを実行し、各種のデータを参照することによって、後述する各種の情報処理を実行する。
【0014】
メモリ120は、各種のRAM、各種のROMなどによって実現される。メモリ120は、CPU110によって実行されるロボット200のタスクなどのプログラムや、CPU110によるプログラムの実行により生成されたデータ、たとえば、ロボット200の動作状態や現在位置や姿勢や目標位置などを記憶する。
【0015】
特に、本実施の形態においては、メモリ120は、
図2に示すような、対応関係データ121を格納する。対応関係データ121は、作業者の姿勢に関する条件と、その他の付随条件と、ロボット200に実行させる処理と、の対応関係を格納する。
【0016】
図1に戻って、ディスプレイ130は、CPU110の信号に基づいて、テキストや画像を表示する。
【0017】
操作部140は、作業者の指示を受け付けて、CPU110に入力する。
【0018】
スピーカ150は、CPU110の信号に基づいて、各種の音声を出力する。
【0019】
なお、ディスプレイ130や、操作部140や、スピーカ150は、他の端末によって実現されてもよい。
【0020】
通信インターフェイス160は、コネクタやアンテナなどによって実現されて、通信ケーブルや無線LANなどを介してロボット200やカメラ300,300・・・などの他の装置と、各種データをやり取りする。
【0021】
このようにして、制御装置100のCPU110は、メモリ120のロボット制御用のプログラムに従って、通信インターフェイス160を介して、カメラ300,300・・・から取得した画像に基づいて、作業者の現在の姿勢や動きに適した各種の動作をロボット200に実行させる。
<制御装置100の情報処理>
【0022】
以下では、
図3を参照して、本実施の形態における制御装置100の情報処理について詳述する。制御装置100のCPU110は、メモリ120のプログラムに従って、たとえばロボット200にタスクを実行させるためのプログラムを読みだして、以下の処理を実行する。
【0023】
まず、CPU110は、通信インターフェイス160を介して、カメラ300,300・・・の撮影画像を取得する(ステップS102)。
【0024】
CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の座標を特定する(ステップS104)。
【0025】
たとえば、RGB-Dカメラのような3次元カメラを用いる場合には、CPU110は、上記で得られた2次元座標に、深さ情報を付記することによって、カメラ300の座標としての作業者の体の各部位やワークWや部品の3次元座標を計算する。
【0026】
2次元カメラを用いる場合には、CPU110は、複数のカメラ300,300・・・によって同じ点を検出することができるため、三角推量などによって、作業者の体の各部位やワークWや部品の3次元座標を計算する。
【0027】
そして、CPU110は、作業者の体の一部または全部の姿勢を特定する(ステップS106)。たとえば、CPU110は、作業者の背骨の垂直方向からの角度や、作業の腕の絶対角度や、上腕の骨と前腕の骨との相対角度や、前腕の骨と手の甲との相対角度や、右腕と左腕の距離などを計算する。
【0028】
CPU110は、対応関係データ121を参照して、今回特定された作業者の体の一部または全部の姿勢に対応する処理が登録されているか否かを判断する(ステップS108)。
【0029】
今回特定された作業者の体の一部または全部の姿勢に対応する処理が登録されている場合(ステップS108にてYESである場合)、CPU110は、対応関係データ121を参照して、カメラ300,300・・・の撮影画像や、現在ロボット200が実行中のタスクの内容などに基づいて、その他の付随条件が満たされているか否かを判断する(ステップS110)。
【0030】
その他の付随条件が満たされている場合(ステップS110にてYESである場合)、CPU110は、対応する処理を特定する(ステップS112)。
【0031】
CPU110は、通信インターフェイス160を介して、ロボット200に制御命令を送信する(ステップS114)。
【0032】
制御装置100からの命令に応じて、ロボット200がタスクを実行する。
<第2の実施の形態>
【0033】
上記の実施の形態においては、作業者の体の一部または全部の姿勢に基づいて、処理を実行するものであった。本実施の形態においては、作業者の体の一部の部位の位置または作業者の体全体の位置と、ワークおよび/または部品の位置との相対位置に基づいて、処理を特定するものである。
【0034】
本実施の形態においては、制御装置100のメモリ120は、
図5に示すような、対応関係データ122を格納する。対応関係データ122は、作業者の体の部位の特定情報と、部品の特定情報と、作業者の部位に対する部品の相対位置と、その他の付随条件と、ロボット200に実行させる処理と、の対応関係を格納する。
【0035】
本実施の形態においては、制御装置100のCPU110は、メモリ120のプログラムに従って、たとえばロボット200にタスクを実行させるためのプログラムを読みだして、
図6に示す処理を実行する。
【0036】
まず、CPU110は、通信インターフェイス160を介して、カメラ300,300・・・の撮影画像を取得する(ステップS202)。
【0037】
CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の種類と位置と、部品の種類や型番と位置とを特定する(ステップS204)。
【0038】
そして、CPU110は、作業者の体の各部の位置に対する、部品の位置の相対位置を計算する(ステップS206)。なお、部品の位置に対する、作業者の体の各部の位置の相対位置を計算してもよい。
【0039】
CPU110は、対応関係データ122を参照して、作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されているか否かを判断する(ステップS208)。
【0040】
作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されている場合(ステップS208にてYESである場合)、CPU110は、対応関係データ122を参照して、現在ロボット200が実行中のタスクの内容などに基づいて、その他の付随条件が満たされているか否かを判断する(ステップS210)。
【0041】
その他の付随条件が満たされている場合(ステップS210にてYESである場合)、CPU110は、対応する処理を特定する(ステップS212)。
【0042】
CPU110は、通信インターフェイス160を介して、ロボット200に制御命令を送信する(ステップS214)。
<第3の実施の形態>
【0043】
上記の実施の形態にかかる対応関係は、作業者が自由に設定できることが好ましい。より詳細には、制御装置100のCPU110は、メモリ120のプログラムに従って、
図7に示すように、対応関係を設定するための画面を表示する。CPU110は、作業者などによって入力された各種のデータを対応付けて対応関係データ121,122に登録する。
<第4の実施の形態>
【0044】
さらには、ロボットの処理を実行するための姿勢の条件や相対位置の条件や付随条件などが作業者毎に設定できることが好ましい。作業者によって、作業しやすい条件が異なるからである。たとえば、ドライバを渡して欲しい位置やタイミングが異なる場合がある。
【0045】
本実施の形態においては、制御装置100のメモリ120は、
図8に示すような、対応関係データ123を格納する。対応関係データ123は、作業者の特定情報と、作業者の姿勢と、作業者の部位の特定情報と、部品の特定情報と、作業者の部位に対する部品の相対位置と、その他の付随条件と、ロボット200に実行させる処理と、の対応関係を格納する。
【0046】
そして、制御装置100のCPU110は、メモリ120のプログラムに従って、
図9に示すように、作業者を特定するための情報と、対応関係を設定するための画面を表示する。CPU110は、作業者などによって入力されたデータを対応関係データ123に登録する。
【0047】
本実施の形態においては、制御装置100のCPU110は、メモリ120のプログラムに従って、たとえばロボット200にタスクを実行させるためのプログラムを読みだして、
図10に示す処理を実行する。
【0048】
まず、CPU110は、通信インターフェイス160を介して、カメラ300,300・・・の撮影画像を取得する(ステップS302)。
【0049】
CPU110は、撮影画像に基づいて、作業者の特徴データを取得することによって、作業者を特定する(ステップS304)。
【0050】
CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の座標を特定する(ステップS306)。
【0051】
CPU110は、各部の座標に基づいて、各部位の姿勢を特定する(ステップS308)。
【0052】
CPU110は、対応関係データ121を参照して、当該作業者に対応付けて、作業者の姿勢に対応する処理が登録されているか否かを判断する(ステップS310)。
【0053】
作業者の姿勢に対応する処理が登録されている場合(ステップS310にてYESである場合)、CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の種類と位置と、部品の種類や型番と位置とを特定する(ステップS312)。
【0054】
そして、CPU110は、作業者の体の各部の位置に対する、部品の相対位置を計算する(ステップS314)。
【0055】
CPU110は、対応関係データ122を参照して、当該作業者に対応付けて、作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されているか否かを判断する(ステップS316)。
【0056】
作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されている場合(ステップS316にてYESである場合)、CPU110は、対応関係データ122を参照して、現在ロボット200が実行中のタスクの内容などに基づいて、当該作業者に対応付けて、その他の付随条件が満たされているか否かを判断する(ステップS318)。
【0057】
その他の付随条件が満たされている場合(ステップS318にてYESである場合)、CPU110は、対応する処理を特定する(ステップS320)。
【0058】
CPU110は、通信インターフェイス160を介して、ロボット200に制御命令を送信する(ステップS322)。
<第5の実施の形態>
【0059】
あるいは、ロボットの処理を実行するための姿勢の条件や相対位置の条件や付随条件などが作業者の体格毎に設定できることが好ましい。作業者の体格によって、作業しやすい条件が異なるからである。たとえば、ドライバを渡して欲しい姿勢は腕の長さによって異なる。
【0060】
具体的には、制御装置100のメモリ120は、
図11に示すような、対応関係データ124を記憶してもよい。本実施の形態においては、対応関係データ124は、身長毎の、作業者の姿勢と、作業者の部位の特定情報と、部品の特定情報と、作業者の部位に対する部品の相対位置と、その他の付随条件と、ロボット200に実行させる処理と、の対応関係を格納してもよい。
【0061】
そして、メモリ120は、
図12に示すような、作業者情報データ125を記憶してもよい。作業者情報データ125は、作業者毎の、特徴データと、作業者の身長との対応関係を格納する。
【0062】
本実施の形態においては、制御装置100のCPU110は、メモリ120のプログラムに従って、たとえばロボット200にタスクを実行させるためのプログラムを読みだして、
図13に示す処理を実行する。
【0063】
まず、CPU110は、通信インターフェイス160を介して、カメラ300,300・・・の撮影画像を取得する(ステップS402)。
【0064】
CPU110は、撮影画像に基づいて、作業者の特徴データを取得することによって、作業者を特定する(ステップS404)。
【0065】
CPU110は、作業者情報データ125を参照して、作業者の身長を特定する(ステップS406)
【0066】
CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の座標を特定する(ステップS408)。
【0067】
CPU110は、
図4に示すように、作業者の体の各部の姿勢を特定する(ステップS410)。
【0068】
CPU110は、対応関係データ121を参照して、作業者の身長に対応付けられた、作業者の姿勢に対応する処理が登録されているか否かを判断する(ステップS412)。
【0069】
作業者の姿勢に対応する処理が登録されている場合(ステップS412にてYESである場合)、CPU110は、
図4に示すように、撮影画像に基づいて、作業者の体の各部の種類と位置と、部品の種類や型番と位置とを特定する(ステップS414)。
【0070】
そして、CPU110は、作業者の体の各部の位置に対する、部品の相対位置を計算する(ステップS416)。
【0071】
CPU110は、対応関係データ122を参照して、当該作業者の身長に対応付けられた、作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されているか否かを判断する(ステップS418)。
【0072】
作業者の体の各部の位置に対する部品の相対位置に対応する処理が登録されている場合(ステップS418にてYESである場合)、CPU110は、対応関係データ122を参照して、現在ロボット200が実行中のタスクの内容などに基づいて、当該作業者に対応付けられた、その他の付随条件が満たされているか否かを判断する(ステップS420)。
【0073】
その他の付随条件が満たされている場合(ステップS420にてYESである場合)、CPU110は、対応する処理を特定する(ステップS422)。
【0074】
CPU110は、通信インターフェイス160を介して、ロボット200に制御命令を送信する(ステップS424)。
<第6の実施の形態>
【0075】
上記の実施の形態のロボット制御システム1の制御装置100やロボット200などの各装置の役割の一部または全部を他の装置が実行してもよい。たとえば、制御装置100の役割の一部をロボット200が担ったり、制御装置100の役割を複数のパーソナルコンピューターで担ったり、制御装置100の情報処理のクラウド上のサーバで実行してもよい。
<まとめ>
【0076】
上記の実施の形態においては、ロボットと、少なくとも1つのカメラと、制御装置とを備えるロボット制御システムが提供される。制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理をロボットに実行させる。
【0077】
好ましくは、姿勢として、制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の背骨の傾きを特定する。
【0078】
好ましくは、姿勢として、制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の第1の骨と第2の骨との相対角度を特定する。
【0079】
好ましくは、制御装置は、作業者毎に、処理に対応する姿勢を記憶する。
【0080】
上記の実施の形態においては、ロボットと、少なくとも1つのカメラと、通信するための通信インターフェイスと、メモリと、プロセッサとを備える制御装置が提供される。プロセッサは、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の姿勢を特定し、当該姿勢に応じた処理をロボットに実行させる。
【0081】
上記の実施の形態においては、ロボットと、少なくとも1つのカメラと、制御装置とを備えるロボット制御システムが提供される。制御装置は、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の位置を特定し、当該位置に応じた処理をロボットに実行させる。
【0082】
上記の実施の形態においては、ロボットと、少なくとも1つのカメラと、通信するための通信インターフェイスと、メモリと、プロセッサとを備えるロボット制御システムが提供される。プロセッサは、少なくとも1つのカメラの画像に基づいて、作業者の体の一部または全部の位置を特定し、当該位置に応じた処理をロボットに実行させる。
【0083】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【0084】
1 :ロボット制御システム
100 :制御装置
110 :CPU
120 :メモリ
121 :対応関係データ
122 :対応関係データ
123 :対応関係データ
124 :対応関係データ
125 :作業者情報データ
130 :ディスプレイ
140 :操作部
150 :スピーカ
160 :通信インターフェイス
200 :ロボット
300 :カメラ