(57)【要約】【課題】ロボットの安全性を担保した合体作業が可能なロボット制御装置、ロボット制御方法及びロボット制御プログラムを提供する。【解決手段】ロボット制御装置１０は、各単体ロボット２５ａ，２５ｂに対応する各単体ノード及び単体ロボット２５ａ，２５ｂが複数合体した複合ロボット２５Φに対応する各複合ノードの相互間の結合則を規定する結合則データ保持部１８と、各単体ノード及び各複合ノードの現在の結合状態をデータで保持する結合状態データ保持部１５と、結合状態を要求に基づいて変更する結合変更部１７と、結合則に基づいて結合変更部１７の変更の可否を判定する判断部１９と、を備え、判断部１９は、変更不可と判定した場合に結合変更部１７の変更を禁止する。【選択図】  図１
2019055435.tif 000002
【特許請求の範囲】
【請求項１】
各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の結合則を規定する結合則データ保持部と、
前記各単体ノード及び前記各複合ノードの現在の結合状態をデータで保持する結合状態データ保持部と、
前記結合状態を要求に基づいて変更する結合変更部と、
前記結合則に基づいて前記結合変更部の変更の可否を判定する判断部と、を備え、
前記判断部は、変更不可と判定した場合に前記結合変更部の前記変更を禁止することを特徴とするロボット制御装置。
【請求項２】
前記複合ノードに定義される動作命令と前記複合ノードを構成する前記単体ノードに定義される動作命令とは異なる請求項１に記載のロボット制御装置。
【請求項３】
前記複合ノードからの下位の複合ノード又は前記単体ノードの分離則を規定する分離則データ保持部を備え、
前記結合変更部による前記変更には前記結合状態の分離が含まれ、
前記判断部は、前記分離則に基づいて前記結合変更部による分離の可否を判定して分離不可と判定した場合に前記結合変更部の前記分離を禁止する請求項１又は請求項２に記載のロボット制御装置。
【請求項４】
前記単体ロボット及び前記複合ロボットの合体を、対応する前記単体ノード及び前記複合ノードの結合と連動させる請求項１から請求項３のいずれか１項に記載のロボット制御装置。
【請求項５】
各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の現在の結合状態を規定するステップと、
前記結合状態を要求に基づいて変更するステップと、
各前記単体ノード及び各前記複合ノードの相互間の結合則に基づいて前記結合状態の変更の可否を判定するステップと、を含み、
変更不可と判定した場合に前記変更を禁止することを特徴とするロボット制御方法。
【請求項６】
コンピュータに、
各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の現在の結合状態を規定するステップ、
前記結合状態を要求に基づいて変更するステップ、
各前記単体ノード及び各前記複合ノードの相互間の結合則に基づいて前記結合状態の変更の可否を判定するステップ、を実行させ、
変更不可と判定した場合に前記変更を禁止させることを特徴とするロボット制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、合体されて動作するロボットの制御技術に関する。
【背景技術】
【０００２】
ロボットの普及に伴い、ロボットのアプリケーション作成を支援するフレームワークが策定されている。例えば、ROS（Robot Operating System）では、複数のロボットの協調動作を、１台のロボットを１つのノードとして扱った分散システムとして記述される。１台のロボットに独立した系統を複数実装することで、安全性を向上させる技術も提案されている。
【０００３】
ところで、複数の小型ロボットで狭い通路を通過した後にこれらを合体させて１つの大型ロボットにして動作をさせる場合がある。
小型ロボット及びこれら小型ロボットが合体した大型ロボットをそれぞれ動作させる場合、合体前後のぞれぞれの動作と分離合体とを可能にするシステムが必要になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−９８５６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術では、ロボットの合体時にロボットの安全性が担保されていないという課題があった。
よって、使用するロボットを熟知していない作業員が不適当な合体作業をしてしまうおそれがあった。
【０００６】
本発明はこのような事情を考慮してなされたもので、ロボットの安全性を担保した合体作業が可能なロボット制御装置、ロボット制御方法及びロボット制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本実施形態に係るロボット制御装置は、各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の結合則を規定する結合則データ保持部と、前記各単体ノード及び前記各複合ノードの現在の結合状態をデータで保持する結合状態データ保持部と、前記結合状態を要求に基づいて変更する結合変更部と、前記結合則に基づいて前記結合変更部の変更の可否を判定する判断部と、を備え、前記判断部は、変更不可と判定した場合に前記結合変更部の前記変更を禁止するものである。
【０００８】
本実施形態に係るロボット制御方法は、各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の現在の結合状態を規定するステップと、前記結合状態を要求に基づいて変更するステップと、各前記単体ノード及び各前記複合ノードの相互間の結合則に基づいて前記結合状態の変更の可否を判定するステップと、を含み、変更不可と判定した場合に前記変更を禁止するものである。
【０００９】
本実施形態に係るロボット制御プログラムは、コンピュータに、各単体ロボットに対応する各単体ノード、及び前記単体ロボットが複数合体した複合ロボットに対応する各複合ノードの相互間の現在の結合状態を規定するステップ、前記結合状態を要求に基づいて変更するステップ、各前記単体ノード及び各前記複合ノードの相互間の結合則に基づいて前記結合状態の変更の可否を判定するステップ、を実行させ、変更不可と判定した場合に前記変更を禁止させるものである。
【発明の効果】
【００１０】
本発明により、ロボットの安全性を担保した合体作業が可能なロボット制御装置、ロボット制御方法及びロボット制御プログラムが提供される。
【図面の簡単な説明】
【００１１】
【図１】第１実施形態に係るロボット制御装置の概略構成図。
【図２】単体ロボットが合体して一つの複合ロボットになった状態の一例を示す図。
【図３】第１実施形態に係るロボット制御装置のノードデータ保持部が保持するノードデータの一例を示す図。
【図４】第１実施形態に係るロボット制御装置の結合状態データ保持部が保持する結合状態のデータの概念図。
【図５】（Ａ）（Ｂ）第１実施形態に係るロボット制御装置の結合則データ保持部が保持する結合則データであって単体ノードについてものの概念図、（Ｃ）同・複合ノードについてもの。
【図６】第１実施形態に係るロボット制御方法を示すフローチャート。
【図７】第２実施形態に係るロボット制御装置の概略構成図。
【図８】第２実施形態に係るロボット制御装置の分離則データ保持部が保持する分離則データの概念図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を添付図面に基づいて説明する。
【００１３】
（第１実施形態）
図１は、第１実施形態に係るロボット制御装置１０の概略構成図である。
図１に示されるように、単体の状態で各々現場まで移動した単体ロボット２５（２５ａ，２５ｂ）は、それぞれ動作制御部１１（１１ａ，１１ｂ）に有線又は無線で接続される。
単体ロボット２５は、例えば多軸マニピレータ２５ａ及び車両型ロボット２５ｂ等の実機である。
【００１４】
動作制御部１１は、それぞれ接続される単体ロボット２５ａ，２５ｂに特化した制御プログラムを保持する制御プログラム保持部１２ａ，１２ｂと、この制御プログラムに基づいて対応する単体ロボット２５ａ，２５ｂに指示をする指令部１３ａ，１３ｂと、を備える。
【００１５】
また、図２は単体ロボット２５（２５ａ，２５ｂ）が合体して一つの複合ロボット２５Φ（２５）になった状態の一例を示す図である。
図２は、多軸マニピレータ２５ａと車両型ロボット２５ｂとを合体させて、一つの自走式マニピレータ２５Φ（２５）を構成した状態を示している。
【００１６】
第１実施形態に係るロボット制御装置１０は、このような単体ロボット２５（２５ａ，２５ｂ）及び複合ロボット２５ΦをそれぞれノードΛとして捉えて、動作制御部１１を介してその状態及び動作を管理するものである。
【００１７】
以下、単体ノードを小文字のギリシャ文字「α〜ε」で表記し、複合ノードを大文字のギリシャ文字「Φ」で表記する。また、これらのノードの総称を「Λ」で表記する。
なお、動作制御部１１は、ロボット２５が活動する現場に設置されてもよいし、ロボット制御装置１０に一体化されて、現場から離隔された場所に設置されてもよい。
【００１８】
第１実施形態に係るロボット制御装置１０は、図１に示されるように、主に、ノードデータ保持部１４、結合状態データ保持部１５、動作指令部１６、ノード結合部（結合変更部）１７ａ、結合則データ保持部１８、及び判断部１９で構成される。
【００１９】
ノードデータ保持部１４は、各ノードΛに対応して各種条件をデータ化したノードデータ２６Λを保持する。ノードデータ２６Λ（２６α〜２６ε，２６Φ）は、ノードΛを介して紐付けられるロボット２５を管理するために必要な条件を規定するデータである。
【００２０】
ここで、図３は、第１実施形態に係るロボット制御装置１０のノードデータ保持部１４が保持するノードデータ２６Λ（２６α，２６β，２６Φ）の一例を示す図である。
例えば図３に示されるように、ノードデータ２６Λは、ノードα，β，Φ毎に規定された固有の動作内容及び属性等に関するデータである。以下、一重枠は単体ノードα〜εを示し、二重枠は単体ノードα〜εを仮想的に結合させた複合ノードΦを示す。
【００２１】
動作内容には、例えば属性が多軸マニピレータ２５ａである単体ノードαの場合、アームを折りたたむための多軸マニピレータ２５ａ特有のコマンドである「bend」が定義される。また、先端に設けられた人工手で対象物をつかむためのコマンドである「pick」が定義される。
一方、属性が車両型ロボット２５ｂである単体ノードβの場合、動作内容には、例えば前進及び後進を指示するコマンドである「run」及び「back」が定義される。
【００２２】
一方、複合ノードデータ２６Φは、単体ノードデータ２６α，２６βと同様の形態で、多軸マニピレータ２５ａ及び車両型ロボット２５ｂとを合体させた後の仮想的な複合ノードΦαβについて、規定したものである。
複合ノードデータ２６Φは、通常、結合前の単体ノードα，βで規定されていた単体ノードデータ２６α，２６βとは異なるものが定義されてもよい。
【００２３】
例えば、多軸マニピレータ２５ａと車両型ロボット２５ｂとが合体したことにより、新たに可能になった動作を指示するコマンドとして「move」及び「bring」が定義される。また、多軸マニピレータ２５ａ単体であった場合に定義されていたコマンド「bend」を、そのまま自走式マニピレータ２５Φに対するコマンドとして引き継いでもよい。
【００２４】
複合ロボット２５Φに対する特有のコマンドを単体ロボット２５（２５ａ，２５ｂ）に対するコマンドとは別に定義して複合ノードデータ２６Φとして保持することで、複合ロボット２５Φの操作性が向上する。また、複合ロボット２５Φを操作する作業員の操作内容の可読性が向上する。
なお、図３に示したノードデータ２６Λの条件項目は一例であって、適宜その項目を規定することができる。
【００２５】
結合状態データ保持部１５は、各単体ノードα〜ε及び各複合ノードΦの現在の結合状態をデータで保持する。
【００２６】
ここで、図４は、第１実施形態に係るロボット制御装置１０の結合状態データ保持部１５が保持する結合状態のデータの概念図である。
図４は、単体ノードα〜εのうち、ロボット２５の結合状態を反映させて、単体ノードα〜δが結合して複合ノードΦを生成した様子を示している。
【００２７】
なお、結合状態データ保持部１５及びノードデータ保持部１４は、必ずしも明確に分かれている必要はない。例えば、ノード数が少なく結合関係が単純な場合などは、ノードデータ２６Λの末尾にフラグを立てることで、そのノードΛが特定のノードΛと結合状態にあることを表現することができる。
【００２８】
動作指令部１６は、入力部２１から入力されたコマンドに従って、動作制御部１１に適切な制御プログラムを実行させて、ロボット２５（２５ａ，２５ｂ，２５Φ）を動作させる。
【００２９】
例えば、合体後の自走式マニピレータ２５Φについて、作業員が入力部２１から、「bring actor Φαβ」と命令したとする。ここで、actor とは制御対象であるロボット２５のことを意味する。
【００３０】
動作指令部１６は、結合状態データ保持部１５を参照して、ノードΛが現在どのように結合しているか把握する。そして、動作指令部１６は、ノードデータ保持部１４で存在が確認されたノードΛの動作内容を把握する。
【００３１】
図２の一例では現に存在しているノードΛは、「bring」等のコマンドが定義された自走式マニピレータ２５Φαβの属性を有する複合ノードΦαβである。
そこで、動作指令部１６は、この「bring」の命令を受け付けて、車両型ロボット２５ｂが接続された動作制御部１１には、「run」のコマンドに対応する指令を発信する。一方、多軸マニピレータ２５ａに接続された動作制御部１１には、動作指令部１６は「pick」のコマンドに対応する指令を発信する。
【００３２】
動作制御部１１ｂは、「run」の指令で動作する制御プログラムを制御プログラム保持部１２ｂから読み込んで、車両型ロボット２５ｂを前進させる。また、動作制御部１１ａは、「pick」の指令で動作する制御プログラムを制御プログラム保持部１２ａから読み込んで多軸マニピレータ２５ａの人工手に対象物を持ち上げさせる。
なお、入力部２１を介したコマンドの入力は、作業員が行ってもよいし、他の機器から自動で入力してもよい。
【００３３】
結合則データ保持部１８は、単体及び仮想的に結合した複合ノードΦの相互間の結合則を規定する。
【００３４】
ここで、図５は、第１実施形態に係るロボット制御装置１０の結合則データ保持部１８が保持する結合則データ２８Λの概念図である。
図５（Ａ）の結合則データ２８αは、単体ノードαは、他の単体ノードβと結合して、新たな複合ノードΦαβを生成することができることを示している。また、単体ノードαは、複合ノードΦγδとも結合することが可能で、新たな別の複合ノードを生成することができることを示している。
【００３５】
図５（Ｂ）の結合則データ２８βは、反対に単体ノードβが、単体ノードαと結合することができることに加えて、単体ノードγ及び複合ノードΦγδとも結合することができることを示している。
【００３６】
また、図５（Ｃ）の結合則データ２８Φは、複合ノードΦαβも、単体ノードα，βと同様に結合可能な単体ノードγ，δ及び他の複合ノードΦγδによって結合則が記述されることを示している。
【００３７】
図５（Ａ）に示されるように、結合先のノードβ，γ，Φγδには、さらに詳細な結合条件が定義されてもよい。
結合条件とは、例えば特定の時間帯のみの結合を許可するといった結合のタイミングの条件である。また、他のロボット２５や他の機器の稼動状態も、ノードΛの結合に加味されてもよい。
【００３８】
さらに、ロボット２５が特定の場所にあるときにのみ結合を可能にするなどの条件も含まれてもよい。これらの結合条件は、結合先のノードΛ（α〜ε，Φ）毎にそれぞれ規定されることが望ましい。
【００３９】
図１に戻って説明を続ける。
ノード結合部１７ａは、例えば作業員が入力部２１から入力する結合要求に基づいて、結合状態を結合する。
【００４０】
この結合要求は、ロボット２５が合体したことを確認した動作制御部１１によってなされてもよい。このように、ロボット２５の合体とノードΛの結合とを連動させることで、ノードΛの結合状態を常に実機の合体状態に一致させることができる。
また、このように連動させることで、作業員がロボット２５の合体操作及びノードΛの結合操作を別個に行う労力が不要になる。
【００４１】
判断部１９は、結合則データ保持部１８に保持された結合則データ２８Λに基づいてノード結合部１７ａの結合の可否を判定する。
そして、判断部１９は、結合不可と判定した場合に、ノード結合部１７ａの結合を禁止する。
【００４２】
また、この判定結果は、動作指令部１６にも送信されて、ロボット２５の合体の実行は停止される。
同時に、この判定結果は、通知部２２によって、作業員が監視する表示部２３にも表示される。
【００４３】
判断部１９による判断によって、現実に合体可能なロボット２５同士のみが合体されるとともに、この合体を反映させて結合可能なノードΛのみが結合されることになる。よって、ロボット２５に対する理解が低い作業員がロボット２５の合体を命令した場合でも、実際には合体動作は阻止されるので、ロボット２５の合体動作に関する安全性が担保される。
【００４４】
次に、第１実施形態に係るロボット制御方法を図６のフローチャートを用いて説明する（図１及び図２を適宜参照）。
以下、一例として図１で示した多軸マニピレータ２５ａ及び車両型ロボット２５ｂを用いて説明する。
【００４５】
まず、ノードΛの相互間の現在の結合状態を結合状態データ保持部１５において規定する（Ｓ１０）。通常、現場には単体ロボット２５ａ，２５ｂの状態で到着するので、初期状態は通常、全てが単体ノードα，βの状態に設定される。
【００４６】
そして、作業員が入力部２１からノードα，βの結合命令を入力する（Ｓ１１）。入力された結合命令は、動作指令部１６及びノード結合部１７ａに送信される。ノード結合部１７ａは、判断部１９に結合命令の内容を通知して、結合の許可を待つ。
【００４７】
ノード結合部１７ａからの通知を受けた判断部１９は、結合則データ保持部１８の結合則データ２８Λを参照する（Ｓ１２）。通知された内容での結合命令が受け入れ可能でロボット２５ａ，２５ｂの合体が可能な場合（Ｓ１３においてＹＥＳの場合）、判断部１９はノード結合部１７ａに許可通知をする。
【００４８】
この許可通知を受けたノード結合部１７ａは、結合状態データ保持部１５の結合状態データ２７Λの中で対応するノードα，βを結合する（Ｓ１４）。なお、この結合のタイミングは、実際にロボット２５の合体が成功したことを動作制御部１１からフィードバックされたときであってもよい。
【００４９】
また、判断部１９からの合体許可の通知を受けた動作指令部１６は、ロボット２５の合体を実行する（Ｓ１５）。
結合状態データ２７Λが最新の結合状態に書き換わることで、動作命令の際、動作指令部１６は、新たに生成された複合ノードデータ２６Φを参照することになる。つまり、動作指令部１６が複合ノードΦαβで定義されるコマンドを受け付けるようになることで、作業員は、これらのコマンドで動作命令をすることができるようになる。
【００５０】
一方、判断部１９が結合不可能と判定した場合（Ｓ１３においてＮＯの場合）、判断部１９は、ロボット２５ａ，２５ｂの合体及び単体ノードα，βの結合を禁止する（Ｓ１６）。
また、判断部１９は、通知部２２を介してエラーを表示部２３に表示して（Ｓ１７）、動作を終了する（ＥＮＤ）。
【００５１】
なお、これらロボット制御装置１０の各動作は、プログラムに沿ってコンピュータで実行してもよい。
例えば、ロボット制御装置１０は、ＣＰＵ等のプロセッサ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、或いはＨＤＤ（Hard Disk Drive）等の記憶装置、を具備するコンピュータとして構成することができる。
【００５２】
この場合、図１に示す各部のうち、動作指令部１６、ノード結合部１７ａ、通知部２２及び判断部１９の機能は、記憶装置に記憶された所定のプログラムをプロセッサが実行することによって実現することができる。
また、このようなソフトウェア処理に換えて、ＡＳＩＣ（Application Specific Integration Circuit）やＦＰＧＡ（Field-Programmable Gate Array）等のハードウェアで実現することもできる。
【００５３】
さらに、これらは、ソフトウェア処理とハードウェアによる処理を組み合わせて実現することもできる。
また、図１に示す構成のうち、ノードデータ保持部１４、結合状態データ保持部１５及び結合則データ保持部１８は、ＲＯＭまたはＲＡＭ等の記憶装置によって実現される。
【００５４】
以上のように、第１実施形態に係るロボット制御装置１０によれば、結合則に適合しない合体を禁止することができるので、ロボット２５の安全性を担保した合体作業をすることができる。
【００５５】
（第２実施形態）
図７は、第２実施形態に係るロボット制御装置１０の概略構成図である。
【００５６】
第２実施形態に係るロボット制御装置１０は、図７に示されるように、複合ノードΦαγδからの下位の複合ノードΦγα又は単体ノードα〜εの分離則を規定する分離則データ保持部２４を備える。
また、結合変更部１７には、ノード結合部１７ａに加えて、ノード分離部１７ｂが設けられる。
そして、判断部１９は、分離則に基づいて結合変更部１７による分離の可否を判定して、分離不可と判定した場合にノード分離部１７ｂの分離を禁止する。
【００５７】
ここで、図８は、第２実施形態に係るロボット制御装置１０の分離則データ保持部２４が保持する分離則データ２９Λの概念図である。
分離則データ２９Λには、可能な分離のバリエーションに加えて、各ノードΛを分離するための分離条件が規定される。
【００５８】
例えば、複合ロボット２５Φは、特定の単体ロボット２５を取り外した後でしか取り外すことのできないロボット２５を含む場合がある。この場合に、実機の実情を無視してソフトフェア上でのみ分離が可能であると、実機とソフトウェアシステム上での結合状態の解離が発生してしまう。
【００５９】
そこで、第２実施形態では、分離則に基づいて判断部１９に分離の可否の判断をさせて、分離不可な場合に分離を禁止させる。
【００６０】
なお、分離則を定めて不適当な分離を禁止すること以外は、第２実施形態は第１実施形態と構成的にも動作的にも同様となるので、重複する説明を省略する。
このように、第２実施形態に係るロボット制御装置１０によれば、第１実施形態と同様の効果に加えて、不適当な分離を禁止することができるので、使用するロボット２５について熟知していない作業員でも適当な分離作業をすることができる。
【００６１】
以上述べた少なくとも一つの実施形態のロボット制御装置１０によれば、結合則に適合しない合体を禁止することで、ロボット２５の安全性を担保した合体作業をすることが可能となる。
【００６２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。
これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更、組み合わせを行うことができる。
これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００６３】
１０…ロボット制御装置、１１（１１ａ，１１ｂ）…動作制御部、１２（１２ａ，１２ｂ）…制御プログラム保持部、１３ａ…指令部、１３ｂ…指令部、１４…ノードデータ保持部、１５…結合状態データ保持部、１６…動作指令部、１７…結合変更部、１７ａ…ノード結合部、１７ｂ…ノード分離部、１８…結合則データ保持部、１９…判断部、２１…入力部、２２…通知部、２３…表示部、２４…分離則データ保持部、２５（２５ａ，２５ｂ，２５Φ）…ロボット、２５ａ…多軸マニピレータ（単体ロボット）、２５ｂ…車両型ロボット（単体ロボット）、２５Φ（２５Φαβ）…自走式マニピレータ（複合ロボット）、２６Λ（２５α，２５β，２５Φ）…ノードデータ、２６Φ…複合ノードデータ、２６α…単体ノードデータ、２６β…単体ノードデータ、２７Λ…結合状態データ、２８Λ（２８α，２８β，２８Φ）…結合則データ、２９Λ…分離則データ、Λ（α〜β，Φ）…ノード、α〜ε…単体ノード、Φ（Φγα，Φγδ，Φαβ，Φαγδ）…複合ノード。
【図１】
2019055435.tif 000003
【図２】
2019055435.tif 000004
【図３】
2019055435.tif 000005
【図４】
2019055435.tif 000006
【図５】
2019055435.tif 000007
【図６】
2019055435.tif 000008
【図７】
2019055435.tif 000009
【図８】
2019055435.tif 000010