(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023136024
(43)【公開日】2023-09-29
(54)【発明の名称】制御システム、制御方法およびプログラム
(51)【国際特許分類】
B25J 13/00 20060101AFI20230922BHJP
G05B 19/409 20060101ALI20230922BHJP
【FI】
B25J13/00 Z
G05B19/409 C
【審査請求】有
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2022041421
(22)【出願日】2022-03-16
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【弁理士】
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【弁理士】
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【弁理士】
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】井上 太貴
【テーマコード(参考)】
3C269
3C707
【Fターム(参考)】
3C269AB33
3C269BB07
3C269MN40
3C269QE10
3C707AS01
3C707BS09
3C707JU02
3C707KS20
3C707KS22
3C707LS20
3C707LV15
3C707MT01
(57)【要約】
【課題】制御対象機器に対する自動制御の実行によって、操作者の負担が軽減される可能性を高める。
【解決手段】制御システムが、制御対象機器の制御の自動モードと手動モードとを切り替えるモード切替手段と、前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させるモード対応手段と、を備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
制御対象機器の制御の自動モードと手動モードとを切り替えるモード切替手段と、
前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させるモード対応手段と、
を備える制御システム。
【請求項2】
前記モード対応手段は、前記自動モードでは、前記表示画面における前記制御対象機器の表示の少なくとも一部を隠す態様で、自動モードであることを示す表示を前記表示画面に表示させ、操作者の操作が前記制御対象機器の動作に反映されないようにし、前記手動モードでは、前記自動モードであることを示す表示を終了させ、操作者の操作が前記制御対象機器の動作に反映されるようにする、
請求項1に記載の制御システム。
【請求項3】
前記モード対応手段は、前記自動モードから手動モードに切り替わる際、前記制御対象機器の状態を、前記表示画面に固定的に表示されている状態にした後、表示画面における前記制御対象機器の表示の固定を解除する、
請求項1または請求項2に記載の制御システム。
【請求項4】
前記モード切替手段は、前記モード対応手段が、前記制御対象機器の一連の動作が設定されたタスクを前記制御対象機器に実行させるタスク実行モードと、前記モード対応手段が操作者の操作に従って前記制御対象機器を動作させる通常モードとの切替を行い、前記タスク実行モードでは、タスク実行開始条件が成立している場合、前記自動モードにて、前記モード対応手段に、前記制御対象機器に前記タスクを実行させる制御を行わせる、
請求項1から3の何れか一項に記載の制御システム。
【請求項5】
コンピュータが、
制御対象機器の制御の自動モードと手動モードとを切り替え、
前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させる、
ことを含む制御方法。
【請求項6】
コンピュータに、
制御対象機器の制御の自動モードと手動モードとを切り替えることと、
前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させることと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御システム、制御方法およびプログラムに関する。
【背景技術】
【0002】
ロボットの遠隔操作など制御対象機器の操作を行う操作者の負担を軽減する方法の1つとして、制御対象機器にタスクを実行させるなど、制御対象機器の制御が自動または半自動で行われる場合がある(例えば、特許文献1参照)。タスクでは、制御対象機器が行う一連の動作が設定されており、操作者は詳細な操作を行う必要が無い。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
制御対象機器に行わせる動作を全てタスク化することはできない場合など、制御対象機器に対する自動制御と手動操作との切替が行われる場合が考えられる。この場合、制御対象機器に対する自動制御の実行によって、操作者の負担がより確実に軽減されることが好ましい。
【0005】
本発明の目的の一例は、上述の課題を解決することのできる制御システム、制御方法およびプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明の第1の態様によれば、制御システムは、制御対象機器の制御の自動モードと手動モードとを切り替えるモード切替手段と、前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させるモード対応手段と、を備える。
【0007】
本発明の第2の態様によれば、制御方法は、コンピュータが、制御対象機器の制御の自動モードと手動モードとを切り替え、前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させる、ことを含む。
【0008】
本発明の第3の態様によれば、プログラムは、コンピュータに、制御対象機器の制御の自動モードと手動モードとを切り替えることと、前記自動モードでは、表示画面における前記制御対象機器の表示を固定にし、前記制御対象機器の自動制御を行い、前記手動モードでは、表示画面における前記制御対象機器の表示の固定を解除し、操作者の操作に従って前記制御対象機器を動作させることと、を実行させるためのプログラムである。
【発明の効果】
【0009】
本発明によれば、制御対象機器に対する自動制御の実行によって、操作者の負担がより確実に軽減されることが期待される。
【図面の簡単な説明】
【0010】
【
図1】実施形態に係るロボットシステムの構成の例を示す図である。
【
図2】実施形態に係るロボットの例を示す図である。
【
図3】実施形態に係るロボットの構成の例を示す図である。
【
図4】実施形態に係る制御システムの構成の例を示す図である。
【
図5】実施形態に係る表示部による表示の例を示す図である。
【
図6】実施形態に係るモード切替部によるモード切替の例を示す図である。
【
図7】実施形態に係る表示部による表示の変化の例を示す図である。
【
図8】実施形態に係るロボットシステムが行う処理の第1の例を示す図である。
【
図9】実施形態に係るロボットシステムが行う処理の第2の例を示す図である。
【
図10】実施形態に係る制御システムの構成のもう1つの例を示す図である。
【
図11】実施形態に係る制御方法における処理の手順の例を示す図である。
【
図12】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、実施形態に係るロボットシステムの構成の例を示す図である。
図1に示す構成で、ロボットシステム1は、制御システム100と、ロボット200とを備える。
【0012】
ロボットシステム1では、ロボット200が制御システム100の制御に従って動作する。特に、ロボットシステム1では、ロボット200に対する自動制御と手動操作との切替が可能である。ここでの自動制御は、ロボット200の動作実行時に、操作者による操作を必要としないことである。また、手動操作では操作者が、制御システム100が有する表示画面に表示されるロボット200の画像を見ながら操作を行うものとする。この場合のロボット200の画像は、ロボット200の全体の画像であってもよいし一部の画像であってもよい。
【0013】
操作者がロボット200の画像を見ながら操作を行う場合は、特定の場合に限定されない。例えば、遠隔操作など、操作者がロボット200を直接見ることができないか、または、見づらい場合であってもよい。あるいは、操作者が拡大画像を見ながらロボット200を用いて精密作業を行う場合であってもよい。あるいは、温度など操作者が直接見ることができない情報を参照する場合であってもよい。
【0014】
実施形態では、ロボット200がマニピュレータ(Manipulator)である場合を例に説明する。ただし、制御システム100が対象とする制御対象機器は、マニピュレータに限定されず、さらには、ロボットに限定されない。制御対象機器の位置および姿勢など制御対象の状態を、自動制御または手動操作の何れでも制御可能であり、遠隔操作などで制御対象機器の画像を見ながら操作が行われる、いろいろな制御対象機器を、制御システム100の対象とすることができる。
【0015】
また、以下では、ロボット200にタスクを実行させる際に、ロボット200の自動制御が行われるものとする。ここでいうタスクとは、何らかの目的達成のためにロボットなどの制御対象機器に行わせる動作である。タスクが、一連の手続(サブタスク)を一纏めにしたものとして定められていてもよい。
【0016】
制御システム100は、ロボットにタスクを実行させるタスク実行モードと、操作者によるロボット200の操作を受け付ける通常モードとの切替を行うものとする。
タスク実行モードでも、操作者がロボット200を操作する場合があってもよい。例えば制御システム100が、タスク実行開始条件が成立しているか否かを判定するようにしてもよい。そして、制御システム100が、タスク実行開始条件が成立していると判定した場合は、ロボット200にタスクを実行させ、タスク実行開始条件が成立してないと判定した場合は、タスク実行開始条件が成立するまで操作者による操作を受け付けるようにしてもよい。
【0017】
図2は、ロボット200の例を示す図である。
図2では、部材を把持しているロボット200が示されている。
また、
図2では、ロボット200がピックアンドプレース(Pick And Place)のタスクを実行して部材の自動補充を行う場合の例が示されている。ピックアンドプレースは、ロボットアーム等で物を持ち上げ、所定の位置まで移動させることである。
図2の例では、ロボット200は、部材置き場から部材補充スペースへ部材を移動させる。
【0018】
図3は、ロボット200の構成の例を示す図である。
図3に示す構成で、ロボット200は、ロボット側通信部210と、センサ220と、駆動装置230と、ロボット側記憶部270と、ロボット側処理部280とを備える。
ロボット側処理部280は、操作メッセージ取得部281と、ロボット制御部282とを備える。ロボット制御部282は、センサ情報出力部283を備える。
【0019】
ロボット側通信部210は、他の装置と通信を行う。特にロボット側通信部210は、制御システム100と通信をおこなって、手動操作によるロボット200の動作の指令を示す操作メッセージ、または、ロボット200にタスクの実行を指示するタスク実行メッセージ等の制御指令を取得する。また、ロボット側通信部210は、センサ220によるセンサデータを制御システム100へ送信する。
【0020】
センサ220は、ロボット200の各部の姿勢および位置変化速度など、ロボット200の状態を示すデータの測定を行い、得られるセンサデータをロボット側処理部280へ出力する。センサ220に、ロボット200の動作環境を測定するセンサを含んでいてもよい。
【0021】
駆動装置230は、ロボット制御部282の制御に従ってロボット200の各部を動作させる。駆動装置230は、例えばモータなど複数のアクチュエータ(Actuator)を含んで構成される。
ロボット側記憶部270は、各種情報を記憶する。
ロボット側処理部280は、ロボット200の各部を制御して、ロボット200を動作させるなど各種処理を行う。
【0022】
操作メッセージ取得部281は、ロボット側通信部210が制御システム100から受信した受信データから、操作メッセージおよびタスク実行メッセージなどの制御指令を抽出する。操作メッセージ取得部281は、抽出した操作指令をロボット制御部282へ出力する。
【0023】
ロボット制御部282は、操作メッセージ取得部281が出力する制御指令に従って駆動装置230を駆動させ、ロボット200を動作させる。制御システム100によるロボット200に対する制御は、上位制御に該当する。ロボット制御部282によるロボット200の制御は、上位制御に従って行われる下位制御に該当する。
【0024】
ロボット制御部282が、タスク終了時に、ロボット200の状態(ロボット200の姿勢)をタスク実行開始時の状態などタスク実行前の状態に戻すようにしてもよい。これにより、操作者は、タスクの実行によるロボット200の状態変化を気にせずにロボット200の操作を再開することができ、この点で、操作者が違和感なくロボット200の操作を再開できることが期待される。
【0025】
センサ情報出力部283は、所定のステップ時間の間ロボット200を動作させた後、センサ220から取得するセンサデータを、ロボット側通信部210を介して制御システム100へ送信する。
【0026】
図4は、制御システム100の構成の例を示す図である。
図4に示す構成で、制御システム100は、制御側通信部110と、表示部120と、操作入力部130と、制御側記憶部170と、制御側処理部180とを備える。
操作入力部130は、コントローラ131と、マウス132と、キーボード133とを備える。
制御側処理部180は、ユーザインタフェース部181と、姿勢情報取得部185と、タスク処理部186と、モード切替部187と、操作メッセージ出力部188とを備える。ユーザインタフェース部181は、シミュレータ描画部182と、操作インタフェース部183と、タスクアイコン処理部184とを備える。
【0027】
制御側通信部110は、他の装置と通信を行う。特に、制御側通信部110は、ロボット200へ制御指令を送信する。また、制御側通信部110は、ロボット200からセンサデータを取得する。
表示部120は、例えば液晶パネルまたはLED(Light Emitting Diode、発光ダイオード)パネルなどの表示画面を有し、各種画像を表示する。特に、表示部120は、ロボット200の画像、および、タスクアイコンを表示する。タスクアイコンは、タスクの種類および実行状況を示し、また、タスク実行と手動操作とを切り替えるユーザ操作を受け付けるアイコンである。
【0028】
図5は、表示部120による表示の例を示す図である。
【0029】
図5は、表示部120による表示画像の例を示す図である。
図5の例で、表示部120の表示画面に、ロボット200の表示領域A11と、タスクアイコンの表示領域A12とが設けられている。操作者がロボット200の操作を行うときは、表示部120が、ロボット200のリアルタイムの画像を表示する。以下では、表示部120が、シミュレーションによるロボット200の画像を表示する場合の例を説明するが、実際のロボット200の画像を取得可能な場合は、表示部120が、実際のロボット200の画像を表示するようにしてもよい。
操作者がタスクアイコンに対して例えばマウスクリック等の操作を行うと、制御システム100は、ロボット200の制御のモードを通常モードからタスク実行モードに切り替える。
【0030】
図5は、ロボット200がピックアンドプレースによる部材補充タスクを実行する場合の例を示しており、タスクアイコンには、ロボット200が移動させる部材の画像と、タスクの準備として操作者が用意すべき部材の残数とが示されている。
操作者が、ロボット200を操作して、あるいはそれ以外の何らかの方法で、部材を所定の部材置き場に置くたびに、タスクアイコンに書かれている部材の残数が1つ減る。タスクアイコンに書かれている部材の残数が0になると、部材補充タスクが自動実施され、ロボット200は部材を補充する。例えば
図2の場合、ロボット200は、部材置き場にある部材を持ち上げて、部材補充スペースに整列して並べる。
【0031】
操作入力部130は、操作者による入力操作を受け付ける。
コントローラ131は、操作者がロボット200を手動操作する場合の操作を受け付ける。コントローラ131がジョイスティックを含んで構成されていてもよいが、これに限定されない。
マウス132およびキーボード133は、主に操作者が制御システム100に対して行う操作を受け付ける。例えば、上記のように操作者がマウス132でタスクアイコンをクリックすると、制御システム100は、ロボット200の制御のモードを通常モードからタスク実行モードに切り替える。
【0032】
制御側記憶部170は、各種情報を記憶する。特に、制御側記憶部170は、ロボット200のタスク実行開始時の状態などタスク実行前の状態を記憶する。これにより、ロボット制御部282は、タスク終了時に、ロボット200の状態をタスク実行開始時の状態などタスク実行前の状態に戻すことができる。
【0033】
制御側処理部180は、制御システム100の各部を制御して各種処理を行う。
ユーザインタフェース部181は、操作者に対するユーザインタフェースとして機能する。
シミュレータ描画部182は、シミュレーションによって操作対象のロボット200およびピックアンドプレース対象の部材を画面に描画する。例えば、シミュレータ描画部182は、制御システム100がロボット200へ送信する制御指令、および、制御システム100がロボット200から受信するセンサデータに基づいて、ロボット200のシミュレーションを行い、ロボット200および部材の描画を行う。
【0034】
また、シミュレータ描画部182は、補充タスク実行中に「補充中」のメッセージをシミュレータ画面(ロボット200の画像)の上に重ねて表示する。具体的には、シミュレータ描画部182は、「補充中」のメッセージのウィンドウが、ロボット200の画像の少なくとも一部を隠すように、表示部120に表示させる。
補充タスク終了後、ロボット200の状態がタスク開始時の状態に戻ると、シミュレータ描画部182は、「補充中」のメッセージを非表示にする。
【0035】
操作インタフェース部183は、コントローラ131のデバイスドライバとして機能する。操作インタフェース部183は、コントローラ131から入力されるユーザ操作データを取得し、取得したユーザ操作データを、操作メッセージ出力部188を経由してメッセージ送信部に出力する。
【0036】
タスクアイコン処理部184は、
図5に例示されるタスクアイコンを表示部120に表示させる。また、タスクアイコン処理部184は、タスクアイコンのマウスクリック、または、キーボード133のショートカットキーの押下など、タスクアイコンに対するユーザ操作が行われた場合、通常モードからタスク実行モードへの遷移をモード切替部187に指示する。
【0037】
姿勢情報取得部185は、制御側通信部110がロボット200から受信した受信データから、センサデータを抽出する。姿勢情報取得部185は、抽出したセンサデータをシミュレータ描画部182へ出力する。
【0038】
タスク処理部186は、ロボット200にタスクを実行させるための処理を行う。例えば、タスク処理部186は、ロボット200の制御のモードがタスク実行モードになると、タスク実行開始条件を設定する。タスク処理部186が、操作者が記述した設定ファイルを読み込み、読み込んだ設定ファイルから、タスク実行開始条件、および、ロボット200に実行させるタスクを読み取るようにしてもよい。本実施例では、設定ファイルに「部材の残数が0になった場合、部材補充タスクを実施する」と指定されているものとする。
【0039】
タスク実行モードにて、タスク処理部186は、設定したタスク実行開始条件に基づいて、ロボット200にタスクを実行させるか否かを判定する。また、タスク処理部186は、タスク実行開始条件が成立しているか否かの判定のための部材の残数のカウンタ値を、例えば、シミュレータ描画部182が実行するロボット200のシミュレータのメモリ上で管理する。
タスク実行開始条件が成立していると判定した場合、タスク処理部186は、ロボット200にタスクを実行させる。一方、タスク実行開始条件が成立していないと判定した場合、タスク処理部186は、例えば操作者によるロボット200の操作によって、タスク実行開始条件が成立するのを待ち受ける。
【0040】
モード切替部187は、ロボット200の制御モードを切り替える。モード切替部187は、モード切替手段の例に該当する。
具体的には、モード切替部187は、ロボット200の制御モードの通常モードとタスク実行モードとを切り替える。
図6は、モード切替部187によるモード切替の例を示す図である。
図6の例で、モード切替部187は、操作者がタスクアイコンをマウス132で左クリックするなどの操作が行われると、ロボット200の制御モードを通常モードからタスク実行モードに遷移させる。
【0041】
また、モード切替部187は、タスクが終了すると、ロボット200の制御モードをタスク実行モードから通常モードに遷移させる。
あるいは、タスク処理部186が、ロボット200にタスクを繰り返し実行させるようにしてもよい。この場合、モード切替部187が、操作者がタスクアイコンをマウス132で右クリックするなどの操作が行われると、ロボット200の制御モードをタスク実行モードから通常モードに遷移させるようにしてもよい。
【0042】
また、モード切替部187は、ロボット200の制御モードとして、自動制御モードと手動操作モードとの切替も行う。自動制御モードは、ロボット200は、タスク処理部186およびロボット制御部282の制御に従って、自動で動作する。ここでいう自動は、ロボット200が、ユーザ操作を必要とせずに動作することである。自動制御モードを自動モードとも称する。
一方、手動操作モードでは、ロボット200は、操作者の操作に従って動作する。手動操作モードを手動モードとも称する。
【0043】
通常モードでは、モード切替部187は、手動操作モードに設定する。
一方、タスク実行モードでは、モード切替部187が、自動制御モードに設定するようにしてもよいし、タスク実行モード内でさらに自動制御モードと手動操作モードとの切替を行うようにしてもよい。例えば、タスク実行モードで、タスク実行開始条件が成立するまでは、モード切替部187が手動操作モードに設定するようにし、タスク実行開始条件が成立すると、モード切替部187が、手動操作モードから自動制御モードに遷移させるようにしてもよい。
【0044】
操作メッセージ出力部188は、制御側通信部110を介してロボット200に制御指令を送信する。モード切替部187が自動制御モードに設定している場合、操作メッセージ出力部188は、操作インタフェース部183からの操作メッセージを制御指令としてロボット200に送信する。自動モードでは、操作メッセージ出力部188は、操作者の操作が前記制御対象の動作に反映されるようにする。
一方、モード切替部187が手動操作モードに設定している場合、操作メッセージ出力部188は、タスク処理部186からのタスク実行メッセージを制御指令としてロボット200に送信する。
また、タスク終了時に、操作メッセージ出力部188は、ロボット200の状態をタスク開始時の状態に戻すよう指示する操作メッセージをロボット200に送信する。
【0045】
シミュレータ描画部182と、操作インタフェース部183と、タスク処理部186と、操作メッセージ出力部188との組み合わせは、モード対応手段の例に該当する。
自動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示を固定にする。そして、タスク処理部186は、ロボット200の自動制御を行う。
手動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示の固定を解除する。操作インタフェース部183は、操作者の操作に従ってロボット200を動作させる。
【0046】
また、自動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示の少なくとも一部を隠す態様で、自動モードであることを示す表示を、表示部120の表示画面に表示させる。操作メッセージ出力部188は、操作者の操作がロボット200の動作に反映されないようにする。
手動モードでは、シミュレータ描画部182は、自動モードであることを示す表示を終了させる。操作メッセージ出力部188は、操作者の操作が前記制御対象の動作に反映されるようにする。
【0047】
また、自動モードから手動モードに切り替わる際、操作メッセージ出力部188は、ロボット200の状態を、例えばタスク実行開始時の状態など、表示部120の表示画面に固定的に表示されている状態にする。その後、シミュレータ描画部182は、ロボット200の表示の固定を解除する。
【0048】
また、モード切替部187は、タスク実行モードと、通常モードとの切替を行う。タスク実行モードでは、タスク処理部186が、タスク実行開始条件が成立しているか否かを判定する。タスク実行開始条件が成立しているとタスク処理部186が判定した場合、モード切替部187は、自動モード/手動モードの区別を自動モードに設定することで、タスク処理部186にロボット200にタスクを実行させる制御を行わせる。
【0049】
図7は、表示部120による表示の変化の例を示す図である。
図に向かって一番左の表示例は、手動操作モードの場合の例を示している。手動操作モードでは、表示部120は、ロボット200の画像をリアルタイムで表示する。
図に向かって左から2番目の表示例は、自動制御モード開始時の例を示している。表示部120は、自動制御モードの間、ロボット200の画像を例えば自動制御モード開始時の画像に固定する。
【0050】
図に向かって左から3番目の表示例は、自動制御モードの場合の例を示している。自動モードでは、表示部120は、上記のように例えば自動制御モード開始時の画像に固定されているロボット200の画像の上に重ねて、自動モードであることを示す画像を表示する。
図7の例は、表示部120は、タスク実行によって部材を補充中であることを示す「補充中」のメッセージを、ロボット200の画像の上に重ねて表示している。
【0051】
図に向かって一番右の表示例は、自動制御モードの終了時の例を示している。自動制御モードの終了時に、操作メッセージ出力部188が、ロボット200の状態を、表示部120の表示画面に示されるロボット200の状態、すなわち、自動制御モード開始時のロボット200の状態に戻す。その後、シミュレータ描画部182は、表示部120の表示画面に表示するロボット200の画像の固定を解除する。自動制御モードが終わって手動操作モードに切り替わると、シミュレータ描画部182は、ロボット200の画像をリアルタイムで表示する。
【0052】
図8は、ロボットシステム1が行う処理の第1の例を示す図である。
図8の処理の開始時には、手動操作モード/自動制御モードの区別は、手動操作モードに設定され、通常モード/タスク実行モードの区別は、通常モードに設定されているものとする。
図8の処理で、タスクアイコン処理部184は、タスクアイコンがマウス132で左クリックされたか否かを判定する(ステップS101)。
【0053】
左クリックされたとタスクアイコン処理部184が判定した場合(ステップS101:YES)、モード切替部187は、通常モード/タスク実行モードの区別を、通常モードからタスク実行モードに遷移させる(ステップS111)。
次に、タスク処理部186は、指定されたタスクの実行開始条件が成立しているか否かを判定する(ステップS112)。例えば、ピックアンドプレースによる部材の補充のタスクの場合、タスク処理部186が、指定された個数の補充用のタスクが用意されているか否かを判定するようにしてもよい。
【0054】
タスク実行開始条件が成立していると判定した場合(ステップS112:YES)、制御側記憶部170が、タスク実行開始時のロボット200の姿勢(ロボット200の状態)を記憶する(ステップS121)。例えば、シミュレータ描画部182が、シミュレーションにて算出したタスク実行開始時のロボット200の姿勢を、制御側記憶部170に記憶させるようにしてもよい。
【0055】
そして、シミュレータ描画部182は、表示部120に表示させるロボット200の画像をタスク実行開始時の画像に固定し、ロボット200の画像の上に重ねて、タスクを実行中であることを示す「補充中」のメッセージを表示させる(ステップS122)。
次に、タスク処理部186は、部材を補充するタスクをロボット200に実行させる(ステップS123)。
【0056】
タスクが完了すると、タスク処理部186は、タスクを繰り返し実行するために操作者が用意すべき部材の残数を設定し、タスクアイコン処理部184は、設定された残数をタスクアイコンに表示する(ステップS124)。例えば、操作者が予め登録するタスクの設定ファイルに、操作者が用意すべき部材の個数が定数で記載されており、タスク処理部186が、その定数を、操作者が用意すべき部材の残数として設定するようにしてもよい。
【0057】
次に、操作メッセージ出力部188は、制御側記憶部170が記憶しているタスク実行開始時のロボット200の姿勢を、ロボット200に復元させる(ステップS125)。
そして、シミュレータ描画部182は、ロボット200の表示の固定を解除し、タスクを実行中であることを示す表示を解除する(ステップS126)。具体的には、シミュレータ描画部182は、シミュレーションによるロボット200のリアルタイムの画像を表示部120に表示させ、また、タスクを実行中であることを示す「補充中」のメッセージの表示を消去させる。
【0058】
そして、モード切替部187は、タスク実行モードから通常モードに遷移させる(ステップS127)。
ステップS127の後、処理がステップS101へ戻る。
【0059】
一方、ステップS101でタスクアイコンが左クリックされていないとタスクアイコン処理部184が判定した場合(ステップS101:NO)、制御システム100は、操作者によるロボット200の手動操作を受け付ける(ステップS131)。具体的には、操作インタフェース部183が、操作者によるロボット200の手動操作を受け付け、操作メッセージ出力部188は、操作者の操作に従ってロボット200を動作させるように、制御側通信部110を介して制御指令をロボット200に送信する。
ステップS131の後、処理がステップS101へ戻る。
【0060】
一方、ステップS112でタスク開始条件が成立していないとタスク処理部186が判定した場合(ステップS112:NO)、シミュレータ描画部182は、タスクを実行不可である旨のメッセージを、例えば一定時間表示する(ステップS141)。
ステップS141の後、処理がステップS127へ進む。
【0061】
図9は、ロボットシステム1が行う処理の第2の例を示す図である。
図9の処理の開始時には、手動操作モード/自動制御モードの区別は、手動操作モードに設定され、通常モード/タスク実行モードの区別は、通常モードに設定されているものとする。
図9の処理で、タスクアイコン処理部184は、タスクアイコンがマウス132で左クリックされたか否かを判定する(ステップS201)。
【0062】
左クリックされたとタスクアイコン処理部184が判定した場合(ステップS201:YES)、モード切替部187は、通常モード/タスク実行モードの区別を、通常モードからタスク実行モードに遷移させる(ステップS211)。
次に、タスク処理部186は、部材を把持するタスクをロボット200に実行させる(ステップS212)。具体的には、タスク処理部186は、部材を把持するタスクの実行命令を、操作メッセージ出力部188および制御側通信部110を介してロボット200へ送信する。ロボット200は、タスクの実行命令に従って、部材を把持するタスクを実行する。ここでの部材は、ピックアンドプレースのタスクのために操作者が用意すべき部材である。
【0063】
次に、操作インタフェース部183は、操作者によるロボット200の操作を受け付ける(ステップS213)。操作者は、ロボット200を操作して、ロボット200が把持している部材を所定の部材置き場に置かせる。
ロボット200が部材を部材置き場に置いて部材から手を離すと、タスク処理部186は、操作者が用意すべき部材の残数のカウンタ値を1減算する。
【0064】
次に、タスク処理部186は、タスク実行開始条件が成立しているか否かを判定する(ステップS215)。具体的には、タスク処理部186は、操作者が用意すべき部材の残数が0になっているか否かを判定する。
タスク実行開始条件が成立しているとタスク処理部186が判定した場合(ステップS215:YES)、制御側記憶部170が、タスク実行開始時のロボット200の姿勢(ロボット200の状態)を記憶する(ステップS221)。例えば、シミュレータ描画部182が、シミュレーションにて算出したタスク実行開始時のロボット200の姿勢を、制御側記憶部170に記憶させるようにしてもよい。
【0065】
そして、シミュレータ描画部182は、表示部120に表示させるロボット200の画像をタスク実行開始時の画像に固定し、ロボット200の画像の上に重ねて、タスクを実行中であることを示す「補充中」のメッセージを表示させる(ステップS222)。
次に、タスク処理部186は、部材を補充するタスクをロボット200に実行させる(ステップS223)。
【0066】
タスクが完了すると、タスク処理部186は、タスクを繰り返し実行するために操作者が用意すべき部材の残数を設定し、タスクアイコン処理部184は、設定された残数をタスクアイコンに表示する(ステップS224)。例えば、操作者が予め登録するタスクの設定ファイルに、操作者が用意すべき部材の個数が定数で記載されており、タスク処理部186が、その定数を、操作者が用意すべき部材の残数として設定するようにしてもよい。
【0067】
次に、操作メッセージ出力部188は、制御側記憶部170が記憶しているタスク実行開始時のロボット200の姿勢を、ロボット200に復元させる(ステップS225)。
そして、シミュレータ描画部182は、ロボット200の表示の固定を解除し、タスクを実行中であることを示す表示を解除する(ステップS226)。具体的には、シミュレータ描画部182は、シミュレーションによるロボット200のリアルタイムの画像を表示部120に表示させ、また、タスクを実行中であることを示す「補充中」のメッセージの表示を消去させる。
ステップS226の後、処理がステップS212へ戻る。
なお、操作者がマウス132でタスクアイコンを右クリックすることによって、ロボットシステム1が
図9の処理を終了し、モード切替部187がタスク実行モードから通常モードに遷移させるようにしてもよい。
【0068】
一方、ステップS201で、タスクアイコンが左クリックされていないとタスクアイコン処理部184が判定した場合(ステップS201:NO)、制御システム100は、操作者によるロボット200の手動操作を受け付ける(ステップS231)。具体的には、操作インタフェース部183が、操作者によるロボット200の手動操作を受け付け、操作メッセージ出力部188は、操作者の操作に従ってロボット200を動作させるように、制御側通信部110を介して制御指令をロボット200に送信する。
ステップS231の後、処理がステップS201へ戻る。
一方、ステップS215でタスク開始条件が成立していないとタスク処理部186が判定した場合(ステップS215:NO)、処理がステップS212へ戻る。
【0069】
以上のように、モード切替部187は、ロボット200の制御の自動モードと手動モードとを切り替える。
自動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示を固定にする。そして、タスク処理部186は、ロボット200の自動制御を行う。
手動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示の固定を解除する。操作インタフェース部183は、操作者の操作に従ってロボット200を動作させる。
【0070】
これにより、制御システム100では、ロボット200に対する自動制御の実行によって、操作者の負担がより確実に軽減されることが期待される。
ここで、遠隔操作など、操作者が画面に表示される制御対象機器(例えば、ロボット200)の画像を見ながら操作する場合、常に画面を見ながら操作を行うということは操作者にとって負担の大きい作業であることが考えられる。また、通信の遅延などにより、操作対象機器が細かな操作に従って動作を行うことが困難な場合が考えられる。そこで、制御対象機器にタスクを実行させるなど制御対象機器を自動制御することが考えられる。また、通信の遅延などにより制御対象機器の画像をリアルタイムで表示することが困難な場合は、シミュレータ上で制御対象機器の動作を模擬して制御対象機器の画像を表示することが考えられる。
【0071】
一方、制御対象機器に行わせる全ての動作をタスクとして予め用意しておくことは困難な場合が考えられる。また、例えば、絵を描くなど人間の思考や発想が重要な操作をする場合、制御対象機器の動作をあらかじめタスク化しておくことができない、または無意味であることが考えられる。
【0072】
そこで、制御対象機器に対する自動制御と、操作者による制御対象機器に対する手動操作とを切り替えて制御対象機器を動作させることが考えられる。
自動制御では操作者は操作を行わないこととする場合、自動制御の際の制御対象機器の動作は、操作者が見ている画面に表示されても意味のない情報である。なぜならば、手動で操作を行うことが目的である操作者が、自身が干渉することのできない制御対象を眺めていても意味がないからである。また、操作者の視点が不必要に制御対象機器の画像に向かってしまい、操作者本来の仕事の妨げとなってしまうことが考えられる。
【0073】
また、タスクの実行では、タスクが正しく実行されたか否か(タスクに成功したか否か)の結果が重要であり、タスク実行中の制御対象機器の画像は必ずしも必要ない。これに対し、シミュレータを用いて制御対象機器の動作を模擬して制御対象機器の画像を描画する場合、制御対象機器の画像の描画がコンピュータ(例えば、制御システム100)に不要な負荷を与えてしまうことが考えられる。
【0074】
これに対し、制御システム100では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする。制御システム100によれば、この点で、操作者が、制御対象機器の画像に気をとられて視点が不必要に制御対象機器の画像に向かってしまい、操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
また、制御システム100では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、操作者が3D酔いする可能性を低減させることができる。
また、制御システム100では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、コンピュータに不要な負荷を与えてしまうことを回避できると期待される。
【0075】
また、自動モードでは、シミュレータ描画部182は、表示部120の表示画面におけるロボット200の表示の少なくとも一部を隠す態様で、自動モードであることを示す表示を、表示部120の表示画面に表示させる。操作メッセージ出力部188は、操作者の操作がロボット200の動作に反映されないようにする。
手動モードでは、シミュレータ描画部182は、自動モードであることを示す表示を終了させる。操作メッセージ出力部188は、操作者の操作が前記制御対象の動作に反映されるようにする。
【0076】
制御システム100によれば、自動モードの際に、表示部120が自動モードであることを示す表示を行う点で、操作者は、自動モードであることを把握することができ、操作者がロボット200の制御に気をとられて操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
【0077】
また、制御システム100によれば、自動モードの際に、表示部120が制御対象機器の表示の少なくとも一部を隠す態様で、自動モードであることを示す表示を行う点で、操作者が、ロボット200の画像を見ながら操作を行うことが困難である。これにより、操作者が、自動制御の際にロボット200に対する操作に気をとられて操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
【0078】
さらには、制御システム100によれば、自動モードの際に、操作メッセージ出力部188が、操作者の操作がロボット200の動作に反映されないようにする点で、操作者は、ロボット200に対する操作を行うことができない。この点でも、操作者が、自動制御の際ロボット200に対する操作に気をとられて操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
【0079】
また、自動モードから手動モードに切り替わる際、操作メッセージ出力部188は、ロボット200の状態を、例えばタスク実行開始時の状態など、表示部120の表示画面に固定的に表示されている状態にする。その後、シミュレータ描画部182は、ロボット200の表示の固定を解除する。
これにより、操作者は、前回の手動モード終了時のロボット200の状態からロボット200に対する操作を再開することができる。制御システム100によればこの点で、操作者が自動モードの際のロボット200の状態変化を把握していなくても、違和感なくロボット200の操作を行えると期待される。
【0080】
また、モード切替部187は、タスク実行モードと、通常モードとの切替を行う。タスク実行モードでは、タスク処理部186が、タスク実行開始条件が成立しているか否かを判定する。タスク実行開始条件が成立しているとタスク処理部186が判定した場合、モード切替部187は、自動モード/手動モードの区別を自動モードに設定することで、タスク処理部186にロボット200にタスクを実行させる制御を行わせる。
制御システム100によれば、タスク実行開始条件が成立していない場合は、タスク実行開始条件の成立を待ってロボット200にタスクを実行させることができる。制御システム100によれば、この点で、より確実にロボット200にタスクを実行させることができる。
【0081】
実施形態では、制御システム100がロボット200に実行させるタスクが、ピックアンドプレース時の部材自動補充のタスクである場合を例に説明しているが、制御システム100がロボット200に実行させるタスクは、特定のものに限定されない。例えば、ロボット200を用いた遠隔手術での操作道具の変更など、いろいろなタスクを、制御システム100がロボット200に実行させるタスクとすることができる。
また、本発明は、ロボット遠隔操作、仮想現実、および、メタバースなど、いろいろな分野に適用することが考えられる。
【0082】
図10は、実施形態に係る制御システムの構成のもう1つの例を示す図である。
図10に示す構成で、制御システム610は、モード切替部611と、モード対応部612とを備える。
かかる構成で、モード切替部611は、制御対象機器の制御の自動モードと手動モードとを切り替える。モード対応部612は、自動モードでは、表示画面における制御対象機器の表示を固定にし、制御対象機器の自動制御を行い、手動モードでは、表示画面における制御対象機器の表示の固定を解除し、操作者の操作に従って制御対象機器を動作させる。
モード切替部611はモード切替手段の例に該当する。モード対応部612は、モード対応手段の例に該当する。
【0083】
制御システム610によれば、制御対象機器に対する自動制御の実行によって、操作者の負担がより確実に軽減されることが期待される。
特に、制御システム610では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、操作者が、制御対象機器の画像に気をとられて視点が不必要に制御対象機器の画像に向かってしまい、操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
【0084】
また、制御システム610では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、操作者が3D酔いする可能性を低減させることができる。
また、制御システム610では、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、コンピュータに不要な負荷を与えてしまうことを回避できると期待される。
【0085】
図11は、実施形態に係る制御方法における処理の手順の例を示す図である。
図11に示す制御方法は、モードを切り替えること(ステップS611)と、モード対応処理を行うこと(ステップS612)とを含む。
モードを切り替えること(ステップS611)では、コンピュータが、制御対象機器の制御の自動モードと手動モードとを切り替える。モード対応処理を行うこと(ステップS612)では、コンピュータが、自動モードでは、表示画面における制御対象機器の表示を固定にし、制御対象機器の自動制御を行い、手動モードでは、表示画面における制御対象機器の表示の固定を解除し、操作者の操作に従って制御対象機器を動作させる。
【0086】
図11に示す制御方法によれば、制御対象機器に対する自動制御の実行によって、操作者の負担がより確実に軽減されることが期待される。
特に、
図11に示す制御方法によれば、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、操作者が、制御対象機器の画像に気をとられて視点が不必要に制御対象機器の画像に向かってしまい、操作者本来の仕事の妨げとなってしまうことを回避できると期待される。
【0087】
また、
図11に示す制御方法によれば、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、操作者が3D酔いする可能性を低減させることができる。
また、
図11に示す制御方法によれば、制御対象機器の自動制御の際に、制御対象機器の表示を固定にする点で、コンピュータに不要な負荷を与えてしまうことを回避できると期待される。
【0088】
図12は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図9に示す構成で、コンピュータ700は、CPU710と、主記憶装置720と、補助記憶装置730と、インタフェース740と、不揮発性記録媒体750とを備える。
【0089】
上記の制御システム100、ロボット200(特に、ロボット側記憶部270、および、ロボット側処理部280)、および、制御システム610のうち何れか1つ以上またはその一部が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。また、インタフェース740は、不揮発性記録媒体750用のポートを有し、不揮発性記録媒体750からの情報の読出、および、不揮発性記録媒体750への情報の書込を行う。
【0090】
制御システム100がコンピュータ700に実装される場合、制御側処理部180およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0091】
また、CPU710は、プログラムに従って、制御側記憶部170のための記憶領域を主記憶装置720に確保する。制御側通信部110による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。表示部120による画像の表示は、インタフェース740が表示装置を備え、CPU710の制御に従って各種画像の表示することで実行される。操作入力部130によるユーザ操作の受け付けは、インタフェース740が入力デバイスを備え、CPU710の制御に従ってユーザ操作を受け付けることで実行される。
【0092】
ロボット200がコンピュータ700に実装される場合、ロボット側処理部280およびその各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0093】
また、CPU710は、プログラムに従って、ロボット側記憶部270のための記憶領域を主記憶装置720に確保する。ロボット側通信部210による他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。センサ220によるセンサデータの取得は、インタフェース740がセンサを有し、CPU710の制御によって動作することで実行される。駆動装置230によるロボット200の本体の駆動は、インタフェース740が例えばサーボモータなど動力源を有し、CPU710の制御に従って動作することで実行される。
【0094】
制御システム610がコンピュータ700に実装される場合、その各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
【0095】
また、CPU710は、プログラムに従って、制御システム610が処理を行うための記憶領域を主記憶装置720に確保する。制御システム610と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って動作することで実行される。制御システム610と操作者とのインタラクションは、インタフェース740が表示装置、コントローラ、マウス、および、キーボード等の入出力デバイスを備え、CPU710の制御に従って動作することで実行される。
【0096】
上述したプログラムのうち何れか1つ以上が不揮発性記録媒体750に記録されていてもよい。この場合、インタフェース740が不揮発性記録媒体750からプログラムを読み出すようにしてもよい。そして、CPU710が、インタフェース740が読み出したプログラムを直接実行するか、あるいは、主記憶装置720または補助記憶装置730に一旦保存して実行するようにしてもよい。
【0097】
なお、制御システム100、ロボット200、および、制御システム610が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD-ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよい。
【0098】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0099】
1 ロボットシステム
100、610 制御システム
110 制御側通信部
120 表示部
130 操作入力部
131 コントローラ
132 マウス
133 キーボード
170 制御側記憶部
180 制御側処理部
181ユーザインタフェース部
182 シミュレータ描画部
183 操作インタフェース部
184 タスクアイコン処理部
185 姿勢情報取得部
186 タスク処理部
187、611 モード切替部
188 操作メッセージ出力部
200 ロボット
210 ロボット側通信部
220 センサ
230 駆動装置
270 ロボット側記憶部
280 ロボット側処理部
281 操作メッセージ取得部
282 ロボット制御部
283 センサ情報出力部
612 モード対応部