(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023173845
(43)【公開日】2023-12-07
(54)【発明の名称】ロボット制御システム
(51)【国際特許分類】
B25J 19/06 20060101AFI20231130BHJP
【FI】
B25J19/06
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022086361
(22)【出願日】2022-05-26
(71)【出願人】
【識別番号】501428545
【氏名又は名称】株式会社デンソーウェーブ
(74)【代理人】
【識別番号】100121821
【弁理士】
【氏名又は名称】山田 強
(74)【代理人】
【識別番号】100125575
【弁理士】
【氏名又は名称】松田 洋
(72)【発明者】
【氏名】柴田 侑里
(72)【発明者】
【氏名】福岡 貴史
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707BS15
3C707DS01
3C707ES03
3C707ET08
3C707HS27
3C707JU02
3C707KS21
3C707KS35
3C707KV01
3C707KW05
3C707KX10
3C707LS20
3C707LU05
3C707MS03
3C707MS10
3C707MS16
(57)【要約】
【課題】ロボットの動作を制限する複数の制限パラメータの一部又は全部の入力をユーザが省略した場合であっても、ロボットが意図せず危険な状態で動作することを抑制することができるロボット制御システムを提供する。
【解決手段】ロボット(10)を制御するロボット制御システム(30、40)であって、ロボットの動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された制限パラメータに基づいて設定する設定部(43)と、ロボットに適用するシーンを切り替える切替部(32)と、ロボットに適用されたシーンで設定された制限パラメータにより制限した状態でロボットを動作させる動作部(33)と、を備え、設定部によりシーンが設定された場合に、複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ロボットを制御するロボット制御システムであって、
前記ロボットの動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された前記制限パラメータに基づいて設定する設定部と、
前記ロボットに適用する前記シーンを切り替える切替部と、
前記ロボットに適用された前記シーンで設定された前記制限パラメータにより制限した状態で前記ロボットを動作させる動作部と、
を備え、
前記設定部により前記シーンが設定された場合に、前記複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、前記所定制限パラメータの初期設定値に設定する、ロボット制御システム。
【請求項2】
前記ユーザにより前記シーンの名前であるシーン名が入力されて前記設定部により前記シーンが設定された場合に、入力された前記シーン名のシーンにおいて前記所定制限パラメータの値を、前記所定制限パラメータの初期設定値に設定する、請求項1に記載のロボット制御システム。
【請求項3】
前記設定部は、前記ユーザにより入力された前記シーン名と前記制限パラメータとを関連付けて予め登録し、
登録された前記シーン名が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定する、請求項2に記載のロボット制御システム。
【請求項4】
登録された前記シーン名及び前記制限パラメータの値が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定せず、入力された前記制限パラメータの値に設定する、請求項3に記載のロボット制御システム。
【請求項5】
登録された前記シーン名及び前記制限パラメータの値が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、入力された前記シーン名に関連付けられた前記制限パラメータの値よりも、入力された前記制限パラメータの値が安全であることを条件として、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定せず、入力された前記制限パラメータの値に設定する、請求項4に記載のロボット制御システム。
【請求項6】
前記ユーザにより入力された前記シーン名が登録されていない場合に、前記所定制限パラメータの値を初期設定値に設定する、請求項2に記載のロボット制御システム。
【請求項7】
前記制限パラメータの入力が省略されたことは、前記制限パラメータとして有効扱いできない数値、記号、又は文字が入力されたことである、請求項1~6のいずれか1項に記載のロボット制御システム。
【請求項8】
前記複数の制限パラメータの一部の値のみ変更し、且つ残りの制限パラメータの値を初期設定値に設定するコマンドにより前記シーンにおける前記制限パラメータの値を設定する、請求項1に記載のロボット制御システム。
【請求項9】
前記ロボット制御システムの起動時に、前記ロボットに現在適用されているシーンにおける前記制限パラメータの値は、前記ロボットを安全に動作させることができる初期設定値に設定される、請求項1~6,8のいずれか1項に記載のロボット制御システム。
【請求項10】
前記設定部は、複数のメインシーン及び前記メインシーンに従属する複数のサブシーンを備え、前記メインシーンを構成する前記制限パラメータと前記サブシーンを構成する前記制限パラメータとの組み合わせにより前記シーンを設定する、請求項1~6,8のいずれか1項に記載のロボット制御システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットを制御するロボット制御システムに関する。
【背景技術】
【0002】
従来、ハンドにより把持されたワークの種類及び数に応じてロボットの速度上限値及び加速度上限値の少なくとも一方を変更する上限値変更部と、上限値変更部により変更された速度上限値及び加速度上限値を超えないように、ロボットの動作を制御する動作制御部と、を備えるロボット制御装置がある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、例えばロボットの速度上限値及び加速度上限値(制限パラメータの値)のうち加速度上限値のみを変更する場合に、ユーザがロボットの速度上限値も入力する必要があると、必要のない速度上限値を入力する手間が増えて誤った値を設定するおそれがある。しかし、ユーザが速度上限値の入力を省略した場合に、例えば速度上限値による制限を解除すると、ロボットが意図せず危険な速度(危険な状態)で動作するおそれがある。ロボット制御装置において、ロボットが意図せず危険な速度で動作することを抑制することは極めて重要である。
【0005】
本発明は、こうした課題を解決するためになされたものであり、その主たる目的は、ロボットの動作を制限する複数の制限パラメータの一部又は全部の入力をユーザが省略した場合であっても、ロボットが意図せず危険な状態で動作することを抑制することができるロボット制御システムを提供することにある。
【課題を解決するための手段】
【0006】
上記課題を解決するための第1の手段は、
ロボットを制御するロボット制御システムであって、
前記ロボットの動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された前記制限パラメータに基づいて設定する設定部と、
前記ロボットに適用する前記シーンを切り替える切替部と、
前記ロボットに適用された前記シーンで設定された前記制限パラメータにより制限した状態で前記ロボットを動作させる動作部と、
を備え、
前記設定部により前記シーンが設定された場合に、前記複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、前記所定制限パラメータの初期設定値に設定する。
【0007】
上記構成によれば、設定部は、前記ロボットの動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された前記制限パラメータに基づいて設定する。このため、ユーザは、シーンの構成要素である複数の制限パラメータを入力することにより、複数の制限パラメータをシーン単位でまとめて設定することができる。切替部は、前記ロボットに適用する前記シーンを切り替える。このため、ロボットに適用するシーンを切り替えることにより、複数の制限パラメータを一度に適用することができ、複数の制限パラメータの変更が容易となる。そして、動作部は、前記ロボットに適用された前記シーンで設定された前記制限パラメータにより制限した状態で前記ロボットを動作させる。したがって、設定された制限パラメータに基づいて、ロボットを適切に動作させることができる。
【0008】
さらに、前記設定部により前記シーンが設定された場合に、前記複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、前記所定制限パラメータの初期設定値に設定する。このため、ユーザは複数の制限パラメータの一部又は全部の入力を省略してシーンを設定することができ、必要のない制限パラメータを入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。しかも、入力が省略された制限パラメータである所定制限パラメータの値が、所定制限パラメータの初期設定値に設定される。このため、入力が省略された制限パラメータの値を初期設定値にすることができ、ロボットが意図せず危険な状態で動作することを抑制することができる。ここで、ロボット制御装置において、ロボットが意図せず危険な状態で動作することを抑制できることは、極めて重要な意義を有する。
【0009】
第2の手段では、前記ユーザにより前記シーンの名前であるシーン名が入力されて前記設定部により前記シーンが設定された場合に、入力された前記シーン名のシーンにおいて前記所定制限パラメータの値を、前記所定制限パラメータの初期設定値に設定する。
【0010】
上記構成によれば、ユーザはシーン名を入力して、制限パラメータを設定するシーンを指定することができる。そして、シーン名が入力されて前記設定部により前記シーンが設定された場合に、入力された前記シーン名のシーンにおいて前記所定制限パラメータの値を前記所定制限パラメータの初期設定値に設定する。したがって、シーンを指定して制限パラメータを設定する際に、必要のない制限パラメータを入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0011】
第3の手段では、前記設定部は、前記ユーザにより入力された前記シーン名と前記制限パラメータとを関連付けて予め登録し、登録された前記シーン名が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定する。
【0012】
上記構成によれば、前記設定部は、前記ユーザにより入力された前記シーン名と前記制限パラメータとを関連付けて予め登録する。このため、ユーザは、シーンを設定する時に制限パラメータを直接設定するだけでなく、前記シーン名と前記制限パラメータとを関連付けて予め登録しておくことができる。そして、登録された前記シーン名が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定する。したがって、ユーザは、登録した前記シーン名を入力して前記シーンを設定することにより、予め登録した制限パラメータの値に容易に設定することができる。
【0013】
第4の手段では、登録された前記シーン名及び前記制限パラメータの値が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定せず、入力された前記制限パラメータの値に設定する。こうした構成によれば、ユーザは、シーン名を入力した場合に、予め登録した制限パラメータの値を設定するだけでなく、予め登録した制限パラメータの値に代えて入力した制限パラメータの値を設定することもできる。
【0014】
第5の手段では、登録された前記シーン名及び前記制限パラメータの値が前記ユーザにより入力されて前記設定部により前記シーンが設定された場合に、入力された前記シーン名に関連付けられた前記制限パラメータの値よりも、入力された前記制限パラメータの値が安全であることを条件として、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定せず、入力された前記制限パラメータの値に設定する。こうした構成によれば、より安全な動作に変更される場合に限って、前記制限パラメータの値を、入力された前記シーン名に関連付けられた前記制限パラメータの値に設定せず、入力された前記制限パラメータの値に設定することが許可される。一方、より安全な動作に変更される場合でなければ、予め登録した制限パラメータの値に代えて入力された制限パラメータの値を設定することを禁止することができる。
【0015】
第6の手段では、前記ユーザにより入力された前記シーン名が登録されていない場合に、前記所定制限パラメータの値を初期設定値に設定する。こうした構成によれば、ユーザがシーン名を誤って入力した場合やシーンの登録を誤った場合等に、前記所定制限パラメータの値を初期設定値に設定することができ、ロボットが意図せず危険な状態で動作することを抑制することができる。
【0016】
第7の手段では、前記制限パラメータの入力が省略されたことは、前記制限パラメータとして有効扱いできない数値、記号、又は文字が入力されたことである。こうした構成によれば、ユーザが制限パラメータとして有効扱いできない数値、記号、又は文字を入力した場合も、制限パラメータの入力を省略した場合と同様に扱うことができ、許容する入力態様の幅を広げることができる。こうした態様によっても、必要のない制限パラメータの値を入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0017】
第8の手段では、前記複数の制限パラメータの一部の値のみ変更し、且つ残りの制限パラメータの値を初期設定値に設定するコマンドにより前記シーンにおける前記制限パラメータの値を設定する。こうした構成によれば、ユーザは変更したい制限パラメータのみ設定すればよく、残りの制限パラメータの値を初期設定値に設定することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0018】
第9の手段では、前記ロボット制御システムの起動時に、前記ロボットに現在適用されている前記シーンにおける前記制限パラメータの値は、前記ロボットを安全に動作させることができる初期設定値に設定される。こうした構成によれば、前記ロボットに現在適用されている前記シーンにおける前記制限パラメータの値を、ロボット制御システムの起動時から安全な値に設定することができる。
【0019】
第10の手段では、前記設定部は、複数のメインシーン及び前記メインシーンに従属する複数のサブシーンを備え、前記メインシーンを構成する前記制限パラメータと前記サブシーンを構成する前記制限パラメータとの組み合わせにより前記シーンを設定する。こうした構成によれば、ユーザは各状況に応じた各シーンを、複数のメインシーンとメインシーンに従属する複数のサブシーンとの組み合わせに整理して設定することができ、複数の制限パラメータを多くの状況に応じて設定する際に、誤った設定をすることを抑制することができる。ここで、ロボット制御装置では、制限パラメータに誤った設定をするとロボットが周辺環境や人に危害を与えるおそれがあるため、制限パラメータの誤った設定を抑制することができることは極めて重要な意義を有する。
【図面の簡単な説明】
【0020】
【
図1】ロボット及びロボット制御システムを示す模式図。
【
図4】メインシーン及びサブシーンで設定するパラメータを示す図。
【
図5】メインシーンとサブシーンとの関係を示す模式図。
【発明を実施するための形態】
【0021】
以下、人との協働作業を行うロボット、及びそのロボットを制御するロボット制御システムに具現化した一実施形態について、図面を参照しつつ説明する。
【0022】
図1に示すように、ロボット10は、例えば垂直多関節型ロボットであり、アーム11を備えている。アーム11の隣り合うリンクは、関節を介して相対回転可能に連結されている。各関節(各軸)は、各関節に対応する各モータにより駆動される。ロボット10の各関節には、各関節の回転角度を検出するエンコーダ(図示略)、各関節のトルクを検出するトルクセンサ(図示略)等がそれぞれ設けられている。なお、ロボット10は、垂直多関節型ロボットに限らず、水平多関節型ロボット等であってもよい。
【0023】
アーム11の先端には、ハンド20が取り付けられている。ハンド20(ツール)は、例えば一対の爪を備えており、一対の爪の間隔を拡大及び縮小する開閉動作を行う。ハンド20の一対の爪が開閉動作を行うことにより、ワーク等が把持される。
【0024】
ロボット制御装置30は、CPU、ROM、RAM、駆動回路、及び入出力インターフェース等を備えるコンピュータとして構成されている。ロボット制御装置30は、ロボット10に接続されている。ロボット制御装置30は、切替部32及び動作部33を備えている。ロボット制御装置30は、ロボット10を動作させる動作プログラムを実行することにより、切替部32及び動作部33の機能を実現してロボット10の動作を制御する。なお、ロボット制御装置30は、ロボット10に内蔵されていてもよい。
【0025】
ティーチングペンダント40(操作器)は、表示部41、操作部42、及び設定部43を備えている。表示部41は、液晶パネル等により構成され、ロボット10に関する表示を行う。操作部42は、ユーザにより操作されるキー、ボタン、ダイヤル等を備えている。設定部43は、ロボット10の動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された制限パラメータに基づいて設定する。
【0026】
ユーザによる入力は、例えばロボット制御装置30に接続されたティーチングペンダント40を用いて行われる。制限パラメータは、例えばロボット10の監視部位の最大速度、ロボット10の対象関節の最大トルク、ロボット10の可動範囲(対象関節の可動角度)等を含む。シーンは、複数の制限パラメータの組み合わせにより構成されている。切替部32は、ロボット10に適用するシーンを切り替える。動作部33は、ロボット10に適用されたシーンで設定された制限パラメータにより制限した状態で、ロボット10を動作させる。
【0027】
図2は、各シーンの名前であるシーン名、及び各シーンの制限パラメータを示す表である。ここでは、最大速度、最大トルク、及び可動範囲により各シーンが構成されている例を示している。なお、各シーンは、図示した以外の制限パラメータを含んでいてもよいし、また制限パラメータ以外のパラメータを含んでいてもよい。
【0028】
DefaultSceneは、ロボット制御装置30において初期設定されているシーンであり、ユーザによる設定を必要とせず、ユーザが変更することはできない。DefaultSceneでは、最大速度、最大トルク、及び可動範囲の各値を、ロボット10を安全に動作させることができる初期設定値に設定している。ここでは、ロボット10の監視部位の速度を最大速度20以下に制限し、ロボット10の対象関節が発生するトルクを最大トルク20以下に制限し、ロボット10の可動範囲を範囲20以内に制限する例を示している。なお、最大速度、最大トルク、及び可動範囲の各値は、それぞれの傾向を抽象的に表したものであり(数値が大きいほど大きく、広くなる)、具体的な規定方法は任意である。ロボット制御装置30(ロボット制御システム)の起動時に、切替部32はDefaultSceneをロボット10に適用する(ロボット10に適用するシーンをDefaultSceneに切り替える)。すなわち、ロボット制御装置30の起動時に、ロボット10に現在適用されている全ての制限パラメータの値は、ロボット10を安全に動作させることができる初期設定値に設定される。そして、動作部33は、DefaultSceneで設定された制限パラメータにより制限した状態でロボット10を動作させる。
【0029】
Scene1,2は、ロボット10の動作プログラムを実行する前に、予め登録(設定)されたシーンである。Scene1,2のシーン名及び制限パラメータは、ロボット10の動作プログラムとは別のアプリケーション等において、例えばティーチングペンダント40の操作部42を用いてユーザにより入力され、設定部43により関連付けられて登録(設定)される。すなわち、設定部43は、ユーザにより入力されたシーン名と制限パラメータとを関連付けて予め登録(設定)する。ロボット10の動作プログラムとは別のアプリケーション等においてユーザによりシーン名及び制限パラメータが入力され、設定部43がシーン名と制限パラメータとを関連付けて登録(記憶)することは、ユーザにより入力された制限パラメータに基づいて設定部43がシーンを設定することに相当する。Scene1では、例えば最大速度の値が60、最大トルクの値が60、可動範囲の値が60に設定されている。Scene2では、例えば最大速度の値が50、最大トルクの値が50に設定され、可動範囲の値は設定されていない。すなわち、Scene2では、可動範囲が制限されていない。なお、ロボット10の動作プログラムとは別のアプリケーション等においてScene1,2の制限パラメータが登録された段階では、切替部32はロボット10に適用するシーンをScene1,2に切り替えず、例えばロボット10にDefaultSceneが適用された状態が維持される。
【0030】
図3は、各コマンドと結果との関係を示す図である。ChangeScene等の各コマンドは、ロボット10の動作プログラム中で実行されるコマンドである。ユーザは、例えばティーチングペンダント40を用いて入力操作することにより、動作プログラムを作成(編集)する。ここでは、ロボット10の動作プログラムを、テキストプログラミング言語により記述する例を示している。また、
図2で示すように、DefaultScene、Scene1、及びScene2の制限パラメータが登録されているとする。
【0031】
ChangeSceneは、シーンの切替を実行するコマンドである。具体的には、ChangeSceneは、制限パラメータの値を適用することによりシーンを切り替えること、切り替えるシーン名を指定することによりシーンを切り替えること、シーン名を指定するとともに制限パラメータの値を適用することによりシーンを切り替えると等を実行する。設定部43は、動作プログラムが作成された場合に、動作プログラム中のChangeSceneのコマンドを認識し、ChangeSceneのコマンドを含む動作プログラムを実行可能な状態にする。動作プログラム中でユーザによりChangeSceneのコマンドが規定(入力)され、設定部43がChangeSceneのコマンドを認識すること(あるいは設定部43がChangeSceneのコマンドを含む動作プログラムを実行可能な状態にすること)は、ユーザにより入力された制限パラメータに基づいて設定部43がシーンを設定することに相当する。なお、動作プログラムを実行可能な状態とは、例えばコンパイル前の完成した動作プログラムを記憶した状態や、動作プログラムをコンパイルした状態等である。
【0032】
ここで、例えばロボット10の制限パラメータの値のうち最大トルクのみを変更する場合に、ユーザがロボット10の最大速度及び可動範囲も入力する必要があると、必要のない最大速度及び可動範囲を入力する手間が増えて誤った値を設定するおそれがある。しかし、ユーザが最大速度及び可動範囲の入力を省略した場合に、例えば最大速度及び可動範囲による制限を解除すると、ロボット10が意図せず危険な速度及び可動範囲(危険な状態)で動作するおそれがある。ロボット制御装置30において、ロボット10が意図せず危険な状態で動作することを抑制することは極めて重要である。
【0033】
この点、切替部32は、設定部43によりシーンが設定された場合に、複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定する。
【0034】
このため、「ChangeScene」を実行した場合は、全ての制限パラメータ(所定制限パラメータ)の入力が省略されているため、切替部32は(最大速度,最大トルク,可動範囲)を、
図2に示すように初期設定値であるDefaultScene(20,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからDefaultScene(20,20,20)に切り替える。なお、ロボット10に現在適用されているシーンがDefaultScene(20,20,20)である場合は、DefaultScene(20,20,20)を維持する。
【0035】
「ChangeScene( ,10, )」を実行した場合は、最大トルクに10が入力され、最大速度及び可動範囲(所定制限パラメータ)の入力が省略されているため、切替部32は(最大速度,最大トルク,可動範囲)をシーン(初期設定値,10,初期設定値)、すなわちシーン(20,10,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからシーン(20,10,20)に切り替える。
【0036】
さらに、切替部32は、登録されたシーン名がユーザにより入力されて設定部43によりシーンが設定された場合に、制限パラメータの値を、入力されたシーン名に関連付けられた制限パラメータの値に設定する。
【0037】
このため、「ChangeScene Scene1」を実行した場合は、登録されたシーン名であるScene1が入力されているため、切替部32は(最大速度,最大トルク,可動範囲)を、
図2に示すようにScene1(60,60,60)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene1(60,60,60)に切り替える。
【0038】
切替部32は、ユーザによりシーン名が入力されて設定部43によりシーンが設定された場合に、入力されたシーン名のシーンにおいて所定制限パラメータの値を、所定制限パラメータの初期設定値に設定する。
【0039】
「ChangeScene Scene2」には、登録されたシーン名であるScene2が入力されている。
図2に示すように、設定部43によりScene2(50,50, )が登録(設定)されている。しかし、可動範囲(所定制限パラメータ)が登録されていない(入力が省略されている)ため、切替部32は(最大速度,最大トルク,可動範囲)をScene2(50,50,初期設定値)、すなわちScene2(50,50,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene2(50,50,20)に切り替える。
【0040】
「ChangeScene Speed2, Torque2」には、最大速度に変数Speed2が入力され、最大トルクに変数Torque2が入力され、可動範囲(所定制限パラメータ)の入力が省略されている。設定部43は、制限パラメータを変数により設定することを許容し、変数の値は例えばロボット10の動作プログラム中で設定されている。可動範囲(所定制限パラメータ)の入力が省略されているため、切替部32は(最大速度,最大トルク,可動範囲)をシーン(Speed2,Torque2,初期設定値)、すなわちシーン(Speed2,Torque2,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからシーン(Speed2,Torque2,20)に切り替える。
【0041】
設定部43は、制限パラメータに制限パラメータとして有効扱いできない数値、記号、又は文字を入力することを許容する。制限パラメータの入力が省略されたことは、制限パラメータとして有効扱いできない数値、記号、又は文字が入力されたことを含む。換言すれば、制限パラメータの入力が省略されたことは、現在値に設定することを表す記号、又は文字が入力されたことを含む。
【0042】
このため、「ChangeScene Speed2, *,CurRange」を実行した場合は、最大速度に変数Speed2が入力され、最大トルクに制限パラメータとして有効扱いできない記号*が入力され、可動範囲に制限パラメータとして有効扱いできない文字CurRangeが入力されているため、切替部32は(最大速度,最大トルク,可動範囲)をシーン(Speed2,初期設定値,初期設定値)、すなわちシーン(Speed2,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからシーン(Speed2,20,20)に切り替える。
【0043】
切替部32は、登録されたシーン名及び制限パラメータの値がユーザにより入力されて設定部43によりシーンが設定された場合に、制限パラメータの値を、入力されたシーン名に関連付けられた制限パラメータの値に設定せず、入力された制限パラメータの値に設定する。
【0044】
「ChangeScene Scene2( ,20,20)」には、登録されたシーン名であるScene2が入力されている。
図2に示すように、設定部43によりScene2(50,50, )が登録(設定)されている。しかし、最大トルクに20が入力され、可動範囲に20が入力されているため、切替部32は(最大速度,最大トルク,可動範囲)をScene2(50,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene2(50,20,20)に切り替える。
【0045】
「ChangeScene Scene9( , ,70)」には、登録されていないシーン名であるScene9が入力されている。
図2に示すように、入力されたScene9は設定部43により登録(設定)されていない。また、切替部32は、ユーザにより入力されたシーン名が登録されていない場合に、所定制限パラメータの値を初期設定値に設定する。そして、最大速度及び最大トルクの入力が省略され、可動範囲に70が入力されているため、切替部32は(最大速度,最大トルク,可動範囲)をScene9(初期設定値,初期値,70)、すなわちScene9(20,20,70)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene9(20,20,70)に切り替える。
【0046】
切替部32は、複数の制限パラメータの一部の値のみ変更し、且つ残りの制限パラメータの値を初期設定値に設定するコマンドによりシーンにおける制限パラメータの値を設定する。例えば、切替部32は、ユーザが最大トルクの値のみ変更し、且つ残りの制限パラメータの値を初期設定値に設定するコマンドであるChaneMaxTorqueによりシーンにおける制限パラメータの値を設定する。
【0047】
このため、「ChangeMaxTorque Torque1」を実行した場合は、切替部32は(最大速度,最大トルク,可動範囲)をシーン(初期設定値,Torque1,初期設定値)、すなわちシーン(20,Torque1,20)に設定する。Torque1は変数であり、変数Torque1の値は例えばロボット10の動作プログラム中で設定されている。切替部32は、ロボット10に適用するシーンを、現在のシーンからシーン(20,Torque1,20)に切り替える。
【0048】
以上詳述した本実施形態は、以下の利点を有する。
【0049】
・設定部43は、ロボット10の動作を制限する複数の制限パラメータを構成要素として含むシーンを、ユーザにより入力された制限パラメータに基づいて設定する。このため、ユーザは、シーンの構成要素である複数の制限パラメータを入力することにより、複数の制限パラメータをシーン単位でまとめて設定することができる。切替部32は、ロボット10に適用するシーンを、現在のシーンから切り替える。このため、ロボット10に適用するシーンを切り替えることにより、複数の制限パラメータを一度に適用することができ、複数の制限パラメータの変更が容易となる。そして、動作部33は、ロボット10に適用されたシーンで設定された制限パラメータにより制限した状態でロボット10を動作させる。したがって、設定された制限パラメータに基づいて、ロボット10を適切に動作させることができる。
【0050】
・設定部43によりシーンが設定された場合に、複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定する。このため、ユーザは複数の制限パラメータの一部又は全部の入力を省略してシーンを設定することができ、必要のない制限パラメータを入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。しかも、入力が省略された制限パラメータである所定制限パラメータの値が、所定制限パラメータの初期設定値に設定される。このため、入力が省略された制限パラメータの値を初期設定値にすることができ、ロボット10が意図せず危険な状態で動作することを抑制することができる。ここで、ロボット制御装置30において、ロボット10が意図せず危険な状態で動作することを抑制できることは、極めて重要な意義を有する。
【0051】
・ユーザはシーン名「Scene2」を入力して、制限パラメータを設定するシーンを指定することができる。そして、シーン名「Scene2」が入力されて設定部43によりシーンが設定された場合に、入力されたシーン名「Scene2」のシーンにおいて所定制限パラメータ(例えば可動範囲)の値を所定制限パラメータの初期設定値に設定する。したがって、シーンを指定して制限パラメータを設定する際に、必要のない制限パラメータを入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0052】
・設定部43は、ユーザにより入力されたシーン名と制限パラメータとを関連付けて予め登録する。このため、ユーザは、シーンを設定する時に制限パラメータを直接設定するだけでなく、シーン名と制限パラメータとを関連付けて予め登録しておくことができる。そして、登録されたシーン名(例えば「Scene1」)がユーザにより入力されて設定部43によりシーンが設定された場合に、
図2に示すように、制限パラメータの値を、入力されたシーン名「Scene1」に関連付けられた制限パラメータの値(60,60,60)に設定する。したがって、ユーザは、登録したシーン名「Scene1」を入力してシーンを設定することにより、予め登録した制限パラメータの値(60,60,60)に容易に設定することができる。
【0053】
・登録されたシーン名及び制限パラメータの値がユーザにより入力されて設定部43によりシーンが設定された場合に、制限パラメータの値を、入力されたシーン名に関連付けられた制限パラメータの値に設定せず、入力された制限パラメータの値に設定する。例えば、「ChangeScene Scene2( ,20,20)」を実行した場合に、予め登録された制限パラメータの値(50,50, )に代えて、制限パラメータの値(50,20,20)を設定する。こうした構成によれば、ユーザは、シーン名を入力した場合に、予め登録した制限パラメータの値を設定するだけでなく、予め登録した制限パラメータの値に代えて入力した制限パラメータの値を設定することもできる。
【0054】
・ユーザにより入力されたシーン名が登録されていない場合に、所定制限パラメータの値を初期設定値に設定する。こうした構成によれば、ユーザがシーン名を誤って入力した場合やシーンの登録を誤った場合等に、所定制限パラメータの値を初期設定値に設定することができ、ロボット10が意図せず危険な状態で動作することを抑制することができる。
【0055】
・制限パラメータの入力が省略されたことは、制限パラメータとして有効扱いできない数値、記号(例えば*)、又は文字(例えばCurRange)が入力されたことであってもよい。こうした構成によれば、ユーザが制限パラメータとして有効扱いできない数値、記号、又は文字を入力した場合も、制限パラメータの入力を省略した場合と同様に扱うことができ、許容する入力態様の幅を広げることができる。こうした態様によっても、必要のない制限パラメータの値を入力する手間が増えることを抑制することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0056】
・複数の制限パラメータの一部の値のみ変更し、且つ残りの制限パラメータの値を初期設定値に設定するコマンド(例えば「ChangeMaxTorque Torque1」)によりシーンにおける制限パラメータの値を設定する。こうした構成によれば、ユーザは変更したい制限パラメータ(最大トルク)のみ設定すればよく、残りの制限パラメータ(最大速度及び可動範囲)の値を初期設定値に設定することができ、制限パラメータに誤った値を設定することを抑制することができる。
【0057】
・ロボット制御装置30(ロボット制御システム)の起動時に、ロボット10に現在適用されているシーンにおける制限パラメータの値は、DefaultSceneにおける制限パラメータの値(20,20,20)、すなわちロボット10を安全に動作させることができる初期設定値に設定される。こうした構成によれば、ロボット10に現在適用されているシーンにおける制限パラメータの値を、ロボット制御装置30の起動時から安全な値に設定することができる。
【0058】
なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
【0059】
・ロボット制御装置30(ロボット制御システム)の起動時に、DefaultSceneをロボット10に適用することに代えて、前回の終了時における制限パラメータの各値を1/2や1/3等にした各値で構成されるシーンを、ロボット10に適用することもできる。その場合も、設定部31は、DefaultScene(20,20,20)を、制限パラメータの初期設定値として用いればよい。
【0060】
・切替部32は、登録されたシーン名(例えば「Scene1」)及び制限パラメータの値がユーザにより入力されて設定部43によりシーンが設定された場合に、入力されたシーン名「Scene1」に関連付けられた制限パラメータの値(60,60,60)よりも、入力された制限パラメータの各値が安全である(例えば制限パラメータの各値が(60,60,60)以下である)ことを条件として、制限パラメータの値を、入力されたシーン名「Scene1」に関連付けられた制限パラメータの値(60,60,60)に設定せず、入力された制限パラメータの値に設定してもよい。例えば、「ChangeScene Scene1(70,20,20)」が実行された場合に「Scene1(70,20,20)」の設定を許可せず、「ChangeScene Scene1(40,50,60)」が実行された場合に「Scene1(40,50,60)」の設定を許可する。こうした構成によれば、より安全な動作に変更される場合に限って、制限パラメータの値を、入力されたシーン名「Scene1」に関連付けられた制限パラメータの値(60,60,60)に設定せず、入力された制限パラメータの値(40,50,60)に設定することが許可される。一方、より安全な動作に変更される場合でなければ、予め登録した制限パラメータの値(60,60,60)に代えて入力された制限パラメータの値を設定することを禁止することができる。
【0061】
・Scene1及びScene2が予め登録されていない場合、及びシーン名と制限パラメータとを関連付けて予め登録しておくことを設定部43が実行しない場合は、以下のコマンドを実行した結果が
図3と異なり、以下のようになる。
【0062】
「ChangeScene Scene1」を実行した場合は、Scene1が登録されていないため、切替部32は(最大速度,最大トルク,可動範囲)を、Scene1(初期設定値,初期設定値,初期設定値)、すなわちScene1(20,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene1(20,20,20)に切り替える。
【0063】
「ChangeScene Scene2」を実行した場合は、Scene2が登録されていないため、切替部32は(最大速度,最大トルク,可動範囲)を、Scene2(初期設定値,初期設定値,初期設定値)、すなわちScene2(20,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene2(20,20,20)に切り替える。
【0064】
「ChangeScene Scene2( ,20,20)」を実行した場合は、Scene2が登録されていないため、切替部32は(最大速度,最大トルク,可動範囲)を、Scene2( ,20,20)に設定しようとする。しかし、最大速度の入力が省略され、最大トルクに20が入力され、可動範囲に20が入力されているため、切替部32は(最大速度,最大トルク,可動範囲)をScene2(初期設定値,20,20)、すなわちScene2(20,20,20)に設定する。切替部32は、ロボット10に適用するシーンを、現在のシーンからScene2(20,20,20)に切り替える。なお、
図3のその他のコマンドを実行した結果は、
図3に示す結果と同様である。
【0065】
・設定部43は、複数のメインシーン及びメインシーンMSnに従属する複数のサブシーンSnを備え、メインシーンMSnを構成する制限パラメータとサブシーンSnを構成する制限パラメータとの組み合わせによりシーンを設定することもできる。nは自然数である。
図4はメインシーンMSn及びサブシーンSnで設定するパラメータを示す図であり、
図5はメインシーンMSnとサブシーンSnとの関係を示す模式図である。
【0066】
例えば、メインシーンMSnではロボット10の使用条件を設定し、サブシーンSnでは安全監視を設定する。サブシーンSnで設定するパラメータは、シーン切替条件、最大速度、最大トルク、最大力等である。最大速度及び最大トルクは上記実施形態と同様である。シーン切替条件は、シーンの切り替えを許可するロボット10の位置等を設定する。最大力は、例えばロボット10がワークに作用させる力の最大値を設定する。メインシーンMSnで設定するパラメータは、各安全監視の有効設定、最大負荷質量、ツール番号、ワーク番号、可動範囲、監視部位等である。各安全監視の有効設定は、安全監視の最大速度等(各パラメータ)の有効又は無効を設定する。最大負荷質量は、ロボット10が移動させるワーク等の最大質量を設定する。ツール番号は、ツールの種類を表す番号である。ワーク番号は、ワークの種類を表す番号である。可動範囲は、上記実施形態と同様である。監視部位は、ロボット10のうち速度等を監視する部位を設定する。
【0067】
各サブシーンSnは、いずれかのメインシーンMSnに従属している。MS1S1は、メインシーンMS1の中の(下の階層の)サブシーンS1を表している。MS1S1、MS1S2、及びMS1S3は、いずれもメインシーンMS1に従属しており、メインシーンMS1で設定したパラメータが共通して適用されている。同様に、MSnSnは、メインシーンMSnの中のサブシーンSnを表している。
【0068】
こうした構成によれば、ユーザは各状況に応じた各シーンを、複数のメインシーンMSnとメインシーンMSnに従属する複数のサブシーンSnとの組み合わせに整理して設定することができ、複数の制限パラメータを多くの状況に応じて設定する際に、誤った設定をすることを抑制することができる。ここで、ロボット制御装置30では、制限パラメータに誤った設定をするとロボット10が周辺環境や人に危害を与えるおそれがあるため、制限パラメータの誤った設定を抑制することができることは極めて重要な意義を有する。
【0069】
・設定部43によりシーンが設定された場合に、複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定することを、切替部32に代わって動作部33が実行することもできる。具体的には、動作部33は、ロボット10に適用されたシーンで設定された制限パラメータにより制限した状態でロボット10を動作させる際に、入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定して、制限パラメータにより制限した状態でロボット10を動作させることができる。また、設定部43によりシーンが設定された場合に、複数の制限パラメータのうち入力が省略された制限パラメータである所定制限パラメータの値を、所定制限パラメータの初期設定値に設定することを、切替部32に代わって設定部43が実行することもできる。
【0070】
・ロボット10の動作プログラムを、ビジュアルプログラミング言語により記述することもできる。この場合、ChangeScene等の各コマンドを、対応する各ブロック等に置き換えればよい。
【0071】
・ロボット10がロボットのシミュレーション画像であり、ロボット制御装置30がロボットのシミュレーション画像を制御するシミュレーション装置であってもよい。シミュレーション装置は、例えばティーチングペンダント40により構成することができる。この場合、ティーチングペンダント40は、ロボット10の動作をシミュレーションする機能を備えている。ティーチングペンダント40は、表示部41、操作部42、及び設定部43の機能を実現し、シミュレーション時において、ロボット10の動作プログラムを実行することにより、切替部32及び動作部33の機能を実現する。例えば、表示部41は、ロボット10のシミュレーション画像や動作プログラムを表示する。この場合であっても、シミュレーション装置によりユーザが動作プログラムの実行態様を確認した後、動作プログラムにより実物のロボット10が動作させられる。したがって、上記の実施形態と同様の作用効果を奏することができる。
【0072】
・ティーチングペンダント40に代えて、ロボット制御装置30に接続されたPC(コンピュータ)、モニタ、キーボード、マウス等により、ティーチングペンダント40の機能(シミュレーション時における切替部32及び動作部33の機能を含む)を実現することもできる。
【符号の説明】
【0073】
10…ロボット、30…ロボット制御装置、32…切替部、33…動作部、43…設定部。