JP2007260792A - 機能モジュールの拘束条件を適用したロボットシステム及びその制御方法 - Google Patents

機能モジュールの拘束条件を適用したロボットシステム及びその制御方法 Download PDF

Info

Publication number
JP2007260792A
JP2007260792A JP2006085270A JP2006085270A JP2007260792A JP 2007260792 A JP2007260792 A JP 2007260792A JP 2006085270 A JP2006085270 A JP 2006085270A JP 2006085270 A JP2006085270 A JP 2006085270A JP 2007260792 A JP2007260792 A JP 2007260792A
Authority
JP
Japan
Prior art keywords
module
robot
work description
functional module
system module
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.)
Granted
Application number
JP2006085270A
Other languages
English (en)
Other versions
JP5140934B2 (ja
Inventor
Yoshikazu Okabayashi
美和 岡林
Keiju Okabayashi
桂樹 岡林
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006085270A priority Critical patent/JP5140934B2/ja
Publication of JP2007260792A publication Critical patent/JP2007260792A/ja
Application granted granted Critical
Publication of JP5140934B2 publication Critical patent/JP5140934B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】本発明は、制御を行う複数の機能モジュールを有し、これらの機能モジュールを非同期に動作させてロボットに作業を行わせるロボットシステムに関し、特に、各機能モジュールの競合を防ぐ拘束条件が増えた場合に、各機能モジュールが競合することなく、命令を開始するまでの実行速度を低下させないようにする。
【解決手段】本発明は、機能モジュールに命令が出された場合は、機能モジュール毎に有している拘束条件管理オブジェクトに基づいて、命令の許可・不許可を判断することによって、機能モジュールの競合を防ぎ、命令を受けてから実行するまでの時間を短縮することができるロボットシステムを提供する。
【選択図】図4

Description

本発明は、機器の制御を行う複数の機能モジュールと、作業記述に基づいてこれらの機能モジュールを非同期に動作させて、全体として作業を実現する作業記述実行部を有するロボットシステムに関する。
複数の機能モジュールに非同期に命令を与えて、ユーザが意図する作業をロボットに行わせる場合、ある機能モジュールがある動作を実行中に、特定の機能モジュールに並列に命令を与えてはいけないといった拘束条件が生じることがある。例えば、ロボットの頭部に接続されたカメラで画像処理中に、頭部の首振りを行ってはいなけない等である。
従来から、ロボットの拘束条件を管理し、適切に作動させるために様々な技術が提案されている。
例えば、関節で接続された複数のリンクから成るロボットの全体制御を、当該リンクに任意の数の拘束条件を与えることによって、ロボットが不自然な姿勢になることを防ぐ技術がある(特許文献1)。
また、例えば、ロボットの運動状態によって生じるリンク重心位置などの運動拘束条件を線形等式として、関節角速度リミッタを関節角変化量などの線形不等式として表し、拘束条件を計算毎に変更することによって、移動やバランス維持、アーム作業といった複数のタスクを同時に実行することができる技術がある (特許文献2)。
特開2003-058907号公報 特開2004-306231号公報
作業記述を作成することによって、様々な作業を行わせることを可能にするロボットシステムでは、拘束条件に反する作業記述によって、ロボットが予期せぬ動作を行うことを防がなければならないため、拘束条件のインプリメントは必要不可欠である。そして、機能モジュールの中には、複数の機能モジュールを用いて複合的な機能を実現するものもあり、また、機能モジュールは追加されることもあるため、拘束条件は容易に変更できなければならない。そこで、一般的には、各機能モジュールがどの状態の時に、どの機能モジュールには命令を出してはいけないという拘束条件表を作成し、一括して拘束条件管理部が管理する方法をとることになる。しかし、当該方法をとると、作業記述実行部から各機能モジュールに命令が出る毎に、各機能モジュールは拘束条件管理部に対して拘束条件の検索を行わなければならず、拘束条件が増加すると、機能モジュールが命令を受けてからロボットが動作を実行するまでに時間がかかってしまう。
本発明の目的は、機能モジュールや拘束条件が増加しても、機能モジュールの競合を防ぎ、かつ、機能モジュールが命令を受けてから、ロボットが動作を実行するまでの時間を短縮させるロボットシステム及びその制御方法を提供することにある。
本発明は、複数の機器と、前記複数の機器の制御を行う複数の機能モジュールとを有するロボットシステムにおいて、ロボットに作業を実行させるための作業記述を格納する格納手段と、前記機能モジュールに前記作業記述を命令する作業記述実行部と、を有し、前記機能モジュールは、前記機能モジュールが相互に競合することを防ぐための拘束条件を有することを特徴とするロボットシステムである。これによれば、機能モジュールに命令が出された場合は、予め機能モジュール毎に有している拘束条件に基づいて、命令の許可・不許可を判断可能なロボットシステムを提供することができる。
また、本発明は、前記機能モジュールは、前記作業記述実行部より前記作業記述が命令されると、前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記作業記述実行部からの前記拘束すべき機能モジュールへの命令を不許可とし、前記機器を制御して、ロボットに作業を実行させることを特徴とするロボットシステムである。これによれば、機能モジュールに命令が出された場合は、予め機能モジュール毎に有している拘束条件に基づいて、命令の許可・不許可を判断することによって、機能モジュールの競合を防ぎ、命令を受けてから実行するまでの時間を短縮可能なロボットシステムを提供することができる。
また、本発明は、前記複数の機能モジュールのうち少なくとも1つは、前記作業記述実行部からの命令に基づいて、他の機能モジュールを制御し、前記他の機能モジュールに前記機器を制御させて、ロボットに作業を実行させることを特徴とするロボットシステムである。これによれば、複数の機能モジュールを用いて、ロボットに複雑な作業を実行させることが可能なロボットシステムを提供することができる。
また、本発明は、前記機能モジュールは、前記作業記述に基づいて、拘束する必要のなくなった機能モジュールが存在する場合は、前記拘束する必要のなくなった機能モジュールの拘束を解除することを特徴とするロボットシステムである。これによれば、拘束する必要のなくなった機能モジュールは、作業技術実行部からの命令を受け付けることができる。
また、本発明は、前記機能モジュールは、前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記拘束すべき機能モジュールが前記機器を制御して、ロボットに特定作業を実行させることを拘束することを特徴とするロボットシステムである。これによれば、ロボットが特定の作業を行っている場合に、ロボットに新たな命令がなされても、当該命令を受け付けないロボットシステムを提供することができる。
また、本発明は、前記作業記述は、優先度を有し、前記機能モジュールは、前記作業記述実行部より前記作業記述が命令されると、前記作業記述の優先度を取得することを特徴とするロボットシステムである。これによれば、ロボットが特定作業を行っている場合に、ロボットに優先度の高い新たな命令がなされると、当該新たな命令を実行可能なロボットシステムを提供することができる。
また、本発明は、前記機能モジュールは、前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記作業記述実行部からの、前記拘束すべき機能モジュールへの命令を不許可とし、前記拘束すべき機能モジュールは、前記作業記述実行部より新たな作業記述が命令されると、前記新たな作業記述の優先度を取得し、前記優先度と、前記新たな優先度とを比較し、前記新たな優先度の方が大きい場合は、前記機能モジュールに、拘束の解除を要求して、前記機器を制御し、ロボットに前記新たな作業記述を実行させることを特徴とするロボットシステムである。これによれば、ロボットが特定作業を行っている場合に、ロボットに優先度の高い新たな命令がなされると、当該新たな命令を実行可能なロボットシステムを提供することができる。
また、本発明は、前記機能モジュールは、不具合を発生した不調機能モジュールが存在する場合は、前記作業記述実行部からの、前記不調機能モジュールへの命令を不許可とすることを特徴とするロボットシステムである。これによれば、不調機能モジュールによってロボットが予期しない動作を行うことを防ぐことが可能なロボットシステムを提供することができる。
本発明では、機能モジュールに命令が出された場合は、予め機能モジュール毎に有している拘束条件に基づいて、命令の許可・不許可を判断することによって、機能モジュールの競合を防ぎ、命令を受けてから実行するまでの時間を短縮することができる。
以下、本発明の実施の形態について図を参照しつつ説明する。
実施例1では、拘束すべき機能モジュールがある場合は、当該機能モジュールに拘束をかけ、機能モジュールが競合することなく、ユーザからの指示をロボットに実行させることについて説明する。
図1はロボットのハードウェア構成図である。本発明におけるロボットには、ロボット全体の制御処理を行うCPU1、ロボットの状態等の表示を行う表示部2、ユーザからの指示を受け付ける入力部3、ユーザからの指示を外部のサーバ等から無線通信で受け付ける通信部4、地図データ、シナリオスクリプト、拘束条件等を格納する格納部5、が設けられている。また、走行部9、アーム10の駆動制御を行う駆動部制御ボード6、ステレオカメラ8からの立体画像を処理する画像処理ボード7が設けられている。なお、走行部9は、走行車輪等のロボット移動手段であり、アーム10は、エレベータボタンの操作等を行うものである。
図2はCPU1の機能ブロック図である。本発明におけるロボットシステムのソフトウェアは、シナリオスクリプト24、ユーザからの指示に対応するシナリオを機能モジュール27に命令する作業記述実行部21、機能モジュール27の競合を防ぐための条件が記述された拘束条件25、当該拘束条件を機能モジュールに通知する拘束条件管理部22、ロボットに自律移動を行わせるための地図データ26、当該地図データを機能モジュール27に通知する計画経路部23とから構成されている。ユーザから入力部3等より指示があると、当該指示に対応するシナリオを作業記述実行部21が、シナリオスクリプト24から抽出し、機能モジュール27に命令する。機能モジュール27は当該命令を受け、駆動部制御ボード6を通じて、走行部9、アーム10を制御し、ロボットにシナリオを実行させる。また、拘束条件管理部22は、機能モジュール毎に設定された拘束条件を機能モジュールに持たせている。機能モジュール27には、自律移動系モジュール27a、走行系モジュール27b、腕系モジュール27c等があり、これらの機能モジュールが走行部9等を制御することによって、ロボットに様々な作業を実行させる。
まず、作業記述実行部21から自律移動系モジュール27aにエレベータを利用して7Fの現在地から1Fの目的地まで移動せよというシナリオが命令された時の各機能モジュールの関係を図4に示す。図3に示すように、ロボットは、シナリオに基づいて、状態を遷移して、現在地から目的地まで移動する。走行系モジュール27bは、走行部9を制御し、腕系モジュール27cは、アーム10を制御し、自律移動系モジュール27aは、走行系モジュール27b、腕系モジュール27cを制御することで、ロボットに様々な作業をさせることができる。各機能モジュールは、拘束条件等を管理する拘束条件管理オブジェクトを有し、拘束条件管理オブジェクトには、現在の拘束元、機能モジュールが各状態の時に拘束すべき機能モジュール名が記述されている。機能モジュールに、作業記述実行部21や他の機能モジュールからの命令があると、現在の拘束元を参照し、拘束元がある場合は、原則として命令を不許可とする。自律移動系モジュール27aが、作業記述実行部21より目的地への自律移動を命令されると、通常走行を行う状態に遷移し、走行系モジュール27bに目的地の座標等を通知する。走行系モジュール27bは、当該通知を受け、拘束条件管理オブジェクトの現在の拘束元を自律移動系モジュール27aとした後、走行部9を制御し、ロボットを当該目的地まで移動させる。このように、自律移動系モジュール27aは、複数の機能モジュールを用いて、複合的な機能を実現しており、この場合に、作業記述実行部21から走行系モジュール27bへの別のシナリオの命令を許可してしまうと、当該目的地の座標まで移動することが妨げられてしまう。そのため、走行系モジュール27bを拘束し、作業記述実行部21からの動作命令を不許可としている。ただし、走行系モジュール27bは拘束元である自律移動系モジュール27aからの命令は許可する。自律移動系モジュール27aからの命令を許可しなければ、走行部9を制御して、通常走行を行うことを実現できないからである。また、腕系モジュール27cの拘束条件管理オブジェクトには、拘束元の機能モジュール名が記述されていない。すなわち、腕系モジュール27cは拘束されていないため、作業記述実行部21からの動作命令を許可することができる。これによって、例えば、ロボットは、通常走行をしながら腕を動かして、ユーザに場所案内等を行うことができる。
次に、自律移動系モジュール27aが、エレベータ乗降中の状態に遷移した時の各機能モジュールの関係を図5に示す。自律移動系モジュール27aがエレベータ乗降中の状態では、ロボットは、以下の動作を行う。まず、エレベータの外ボタン操作を行い、エレベータを7Fに到着させる。エレベータが7Fに到着すると、エレベータに乗り込み、エレベータ内ボタンを操作して、エレベータが1Fに到着するようにする。エレベータが1Fに到着すると、エレベータから降りる。図5に示すように、自律移動系モジュール27aは、走行系モジュール27bと腕系モジュール27cに対して拘束をかけている。エレベータのボタン操作では、ロボットはボタンの前で、腕を動かし操作を行う。当該操作を行っている時に、作業記述実行部21から走行系モジュール27bへの動作命令を許可してしまうと、ロボットの位置がずれてしまい、ボタン操作を適切に行えなくなる可能性がある。また、ロボットがエレベータへ乗り込む時に、腕系モジュール27cへの動作命令を許可してしまうと、腕をエレベータの入り口にぶつけるといった危険性がある。そのため、当該拘束を行っており、走行系モジュール27b、腕系モジュール27cの拘束条件管理オブジェクトにおける現在の拘束元は自律移動系モジュール27aとなっている。
続いて、自律移動系モジュール27aが、待機の状態に遷移した時の各機能モジュールの関係を図6に示す。待機の状態とは、ロボットが、エレベータが7Fから1Fに到着するまでの状態のことである。自律移動系モジュール27aは、走行系モジュール27bと腕系モジュール27cに対しての拘束を解除しているため、それぞれの拘束条件管理オブジェクトの拘束元には、何も記述されていない。エレベータが1Fに到着するまでは、エレベータ内で、移動したり、腕を動かしたりしても、自律移動の妨げにはならないからである。
このように、シナリオを解析した作業記述実行部21からの命令に基づいて、自律移動系モジュール27aの状態が遷移することで、ロボットが目的地まで移動することを実現している。以下に、図9を用いて、上述した自律移動系モジュール27aの処理について説明する。
ステップS001において、入力部3または通信部4から、1階の目的地まで荷物を運べという指示があると、当該指示を解析した作業記述実行部21は、シナリオスクリプト内の当該指示に対応した部分(自律移動モジュールを使って指定の場所まで移動し、荷物を指定の場所に腕系モジュールを用いて置く)を実行する。作業記述実行部21は、その記述に従って、自律移動系モジュール27aに1Fの目的地まで移動せよという指示の実行を命令する。処理はステップS002へ移行する。
ステップS002において、自律移動系モジュール27aは、拘束条件管理オブジェクトの拘束カウンタを参照して、現在の拘束があるか否かを判定する。これによれば、自律移動系モジュール27a自身が拘束条件を有しているため、作業記述実行部21からの命令を許可するか否かの判定を即座に行うことができる。現在の拘束があった場合は、処理はステップS004へ移行し、作業記述実行部21に動作命令を不許可とすることを通知する。作業記述実行部21は、自律移動系モジュール27aから当該通知を受け取り、表示部2にユーザの指示を実行できない旨を通知する。現在の拘束がない場合は、拘束条件管理オブジェクトの現在の拘束元を作業記述実行部21とし、自律移動系モジュール27aは、ロボットをエレベータ前まで移動させるために、通常走行の状態になる。処理はステップS003へ移行する。
ステップS003において、自律移動系モジュール27aは、現在の状態(通常走行)と1つ前の状態とで拘束する機能モジュールが異なるか否かを判定する。拘束する機能モジュールが異なる場合は、処理はステップS005へ、拘束する機能モジュールが同じ場合は、処理はステップS006へ移行する。なお、作業記述実行部21から機能モジュールに初めて命令があった場合は、待機状態と現在の状態とで当該判定を行う。処理はステップS005へ移行する。
ステップS005において、自律移動系モジュール27aは、新たに拘束すべき機能モジュールを拘束する。また、1つ前の状態では拘束する必要があったが、現在の状態では拘束する必要のなくなった機能モジュールの拘束を解除する。ここでは、走行系モジュール27bを拘束することによって、作業記述実行部21から、走行系モジュール27bへの動作命令を不許可とし、ロボットを現在地から目的地まで確実に移動させることができる。なお、腕系モジュール27cに拘束をかけていないのは、ロボットが通常走行を行っている状態では、腕を動かしても自律移動を妨げることにはならないからであり、例えば、通常走行をしながら腕を動かして、ユーザに道案内を行うことができる。処理はステップS006へ移行する。
ステップS006において、自律移動系モジュール27aは、作業記述実行部21によって命令された動作を実行するため、走行系モジュール27bに命令を出す。走行系モジュール27bは、当該命令を受け、走行部9を制御し、命令された位置(エレベータ前)までロボットを移動させる。処理はステップS007へ移行する。
ステップS007において、自律移動系モジュール27aは、作業記述実行部21によって命令された動作が全て完了したか否かを判定する。動作が完了した場合は、処理は終了する。一方、動作が完了していない場合は、処理はステップS008へ移行し、自律移動系モジュール27aは、次の状態(エレベータ乗降)へ遷移する。処理は再びステップS003に戻る。
ステップS003において、自律移動系モジュール27aは、現在の状態(エレベータ乗降)と1つ前の状態(通常走行)とで拘束する機能モジュールが異なるか否かを判定する。エレベータ乗降の状態では、ロボットにエレベータ乗降を行わせるために自律移動系モジュール27aは、走行系モジュール27b、腕系モジュール27cに命令を実行させる。そのため、走行系モジュール27b、腕系モジュール27cを拘束する。拘束する機能モジュールは1つ前の状態(通常走行)とは異なるので、処理はステップS005へ移行する。
ステップS005において、自律移動系モジュール27aは、新たに腕系モジュール27cを拘束する。これによって、作業記述実行部21から、走行系モジュール27b、腕系モジュール27cへの動作命令を不許可とし、ロボットに自律移動を確実に行わせることができる。処理はステップS006へ移行する。
ステップS006において、自律移動系モジュール27aは、走行系モジュール27b、腕系モジュール27cにエレベータ乗降を行わせるための命令を出す。腕系モジュール27cは当該命令を受け、アーム10を制御し、エレベータ外ボタンを操作し、エレベータを7Fに到着させる。さらに、走行系モジュール27bも当該命令を受け、走行部9を制御し、エレベータが7Fに到着した後、エレベータへの乗り込みを行う。乗り込みの後、腕系モジュール27cは、エレベータ内ボタンを操作し、目的階である1Fにエレベータが到着するようにする。処理はステップS007へ移行する。
ステップS007において、自律移動系モジュール27aは、作業記述実行部21によって命令された動作が全て完了したか否かを判定し、全てが完了してないため、処理はステップS008へ移行し、自律移動系モジュール27aは、次の状態(待機)へ遷移する。処理は再びステップS003に戻る。
ステップS003において、自律移動系モジュール27aは、現在の状態(待機)と1つ前の状態(エレベータ乗降)とで拘束する機能モジュールが異なるか否かを判定する。ロボットが1Fに到着するまで待機を行っている状態では、エレベータの中で移動したり、腕を動かしたりしても自律移動の妨げにはならないため、走行系モジュール27b、腕系モジュール27cの拘束を解除する。拘束する機能モジュールは、1つ前の状態(エレベータ乗降)とは異なるので、処理はステップS005へ移行する。
ステップS005において、自律移動系モジュール27aは、走行系モジュール27b、腕系モジュール27cの拘束を解除する。これによって、走行系モジュール27b、腕系モジュール27cは、作業記述実行部21からの動作命令を許可することができる。処理はステップS006へ移行する。
ステップS006において、自律移動系モジュール27aは、エレベータが1Fに到着するまで、ロボットを待機させる。処理はステップS007へ移行する。
ステップS007において、自律移動系モジュール27aは、作業記述実行部21によって命令された動作が全て完了したか否かを判定し、全てが完了してないため、処理はステップS008へ移行し、自律移動系モジュール27aは、次の状態(エレベータ乗降)へ遷移する。処理は再びステップS003に戻る。以下、このように命令された動作が完了するまで(目的地に到着するまで)状態遷移を繰り返す。
実施例1では、拘束すべき機能モジュールがある場合は、競合を防ぐために機能モジュール全体に対して拘束をかけたが、機能モジュールが特定の状態になることを拘束する構成にすることも考えられる。実施例2では、ロボットがユーザの手荷物をハンドリングしている状態で、現在地から目的地まで移動するよう命令された例を用い、機能モジュールが特定の状態になることを拘束する構成について説明する。
図7は、作業記述実行部21から腕系モジュール27cにユーザの手荷物を運べという動作が命令され、腕系モジュール27cが動作中の状態、つまり、腕系モジュール27cがアーム10を制御して、ロボットにユーザの手荷物をハンドリングさせている場合に、新たに作業記述実行部21から、自律移動系モジュール27aにエレベータを利用して7Fの現在地から1Fの目的地まで移動せよというシナリオの命令があった場合の各機能モジュールの関係を示す。自律移動系モジュール27aの拘束条件管理オブジェクトから分かるように、実施例2においては、実施例1のように機能モジュール全体に対して拘束をかけるのではなく、腕系モジュール27cは、自律移動系モジュール27aがエレベータ乗降の状態になることを拘束している。つまり、自律移動系モジュール27aが通常走行、及び待機の状態に遷移することは許可するが、エレベータ乗降の状態に遷移することは不許可としている。なぜなら、ユーザの手荷物をハンドリングしたまま、通常走行を行うことは問題がないが、エレベータ乗降を行う場合、ロボットはエレベータのボタン操作を行うため、物をハンドリングしながら当該操作はできないからである。このような場合に、作業記述実行部21から自律移動系モジュール27aに動作が命令されると、現在の拘束元を参照して、エレベータ乗降の状態に遷移することを腕系モジュール27cによって拘束されていることを確認し、当該命令を許可する。そして、自律移動制御モジュールは、通常走行を行う状態となり、走行系モジュール27bに目的地の座標等を通知する。走行系モジュール27bは、当該通知を受け、拘束条件管理オブジェクトの現在の拘束元を自律移動系モジュール27aとした後、走行部9を制御し、ロボットをエレベータ前まで移動させる。次に、エレベータ乗降の状態に遷移して、エレベータ乗り込みを行うが、エレベータ状態に遷移することは、腕系モジュール27cによって拘束されているため、命令を実行できない旨を作業記述実行部21に通知する。作業記述実行部21は、当該通知を受け、シナリオスクリプト(=作業記述)に記述されている失敗時の処理を行う。例えば、表示部1に「ユーザの手荷物をハンドリングしているため、エレベータ乗降を行えません。」というメッセージを表示させ、ユーザに手荷物のハンドリングを解除させるよう促す。このように、機能モジュールが特定の状態に遷移することを拘束することで、実施例1と比べて、シナリオの記述にある程度の自由度を持たせることができる。以下に、図10、11を用いて、上述した自律移動系モジュール27aの処理について説明する。
ステップS101において、自律移動系モジュール27aに動作の実行を命令する。処理はステップS102へ移行する。
ステップS102において、自律移動系モジュール27aは、腕系モジュール27cによって拘束されているため、処理はステップS104へ移行する。
ステップS104において、自律移動系モジュール27aは、現在の拘束が特定の状態に遷移することの拘束か否かを判定する。腕系モジュール27cからは、エレベータ乗降の状態に遷移することを拘束されているため、処理はステップS105へ移行する。一方、腕系モジュール27cから機能モジュール全体に対して拘束がかけられている場合は、処理はステップS106へ移行し、作業記述実行部21に動作命令を不許可とすることを通知する。作業記述実行部21は、自律移動系モジュール27aから当該通知を受け取り、表示部2にユーザの指示を実行できない旨を通知する。
ステップS105において、自律移動系モジュール27aは、作業記述実行部21からの命令により、自律移動系モジュール27aが、腕系モジュール27cにより拘束されている状態、すなわち、エレベータ乗降の状態になるか否かを判定する。作業記述実行部21からの命令があると、自律移動系モジュール27aは、通常走行の状態となるため、処理はステップS103へ移行する。
ステップS103、S107、S108、S109における処理は、実施例1で説明した通りであり、ステップS110において、次の状態(エレベータ乗降)へ移行する。処理は再びステップS102に戻る。
ステップS102において、自律移動系モジュール27aは、腕系モジュール27cによって拘束されているため、処理はステップS104へ移行する。
ステップS104において、自律移動系モジュール27aは、現在の拘束が特定の状態に遷移することの拘束か否かを判定する。腕系モジュール27cからは、エレベータ乗降の状態に遷移することを拘束されており、自律移動系モジュール27aは、拘束されている状態に遷移してしまっているため、処理はステップS106へ移行する。
ステップS106において、自律移動系モジュール27aは、作業記述実行部21にシナリオスクリプトからの命令を不許可とすることを通知する。作業記述実行部21は、自律移動系モジュール27aから当該通知を受け取り、表示部2にユーザの指示を実行できない旨を通知する。ユーザは、入力部3、または、通信部4から、ロボットに手荷物を下ろさせるなどの指示を必要に応じて行う。
実施例1、2では、機能モジュール全体が拘束されている場合、または、機能モジュールが特定の状態になることを拘束されている場合は、作業記述実行部21からの命令を不許可としたが、例えば、ロボットの緊急停止などの優先度の高い動作が命令されることも考えられ、このような場合に、機能モジュールが拘束されていることを理由に命令を不許可としてしまっては、取り返しのつかない事態に発展する危険性が生じる。実施例3では、ロボットが通常走行を行っている状態で、作業記述実行部21から優先度の高い命令がなされた例を用い、機能モジュールが拘束されている場合でも、優先度の高い命令の実行を優先することについて説明する。
図8は、作業記述実行部21から自律移動系モジュール27aにエレベータを利用して7Fの現在地から1Fの目的地まで移動せよという動作が命令され、自律移動系モジュール27aが通常走行の状態に遷移している時に、作業記述実行部21から走行系モジュール27bに緊急停止の動作が命令された場合の各機能モジュールの関係を示す。実施例3では、作業記述実行部21からの命令に新たに優先度情報を付加し、拘束条件管理オブジェクトに当該優先度情報を追加する。拘束されている機能モジュールに対して、作業記述実行部21から命令がなされた場合、拘束されている機能モジュールは、作業記述実行部21からの命令の優先度(50)と、拘束元の機能モジュールが作業記述実行部21より通知されている優先度(30)とを比較する。当該比較によって、拘束されている機能モジュールに対する優先度(50)が拘束元の機能モジュールに対する優先度(30)よりも高い場合は、拘束元の機能モジュールに拘束の解除を要求し、優先度の高い動作をロボットに実行させる。このように、命令に優先度情報を付加し、当該優先度の比較によって、ロボットに実行させる動作を決定することで、優先度の高い作業の割り込みを許可することが可能になる。以下に、図12、13を用いて、上述した走行系モジュール27bの処理について説明する。
ステップS201において、ユーザによって、入力部3、または、通信部4より指示があると、シナリオスクリプトを実行中の作業記述実行部21は、当該指示に対応する部分に記述されている走行系モジュール27bへの、緊急停止の動作の実行を命令する。処理はステップS202へ移行する。
ステップS202において、走行系モジュール27bは、拘束条件管理オブジェクトの拘束カウンタを参照して、現在の拘束があるか否かを判定する。実施例3では、走行系モジュール27bは、自律移動系モジュール27aによって拘束されているため、処理はステップS204へ移行する。
ステップS204において、走行系モジュール27bは、作業記述実行部21によって命令された動作の優先度(50)が、拘束元の自律移動系モジュール27aが、作業記述実行部21によって命令された動作の優先度(30)よりも高いか否かを判定する。作業記述実行部21によって命令された動作の優先度が高い場合は、処理はステップS205へ移行する。一方、優先度が低い場合は、処理はステップS208へ移行し、作業記述実行部21にシナリオスクリプトからの命令を不許可とすることを通知する。作業記述実行部21は、自律移動系モジュール27aから当該通知を受け取り、表示部2にユーザの指示を実行できない旨を通知する。
ステップS205において、走行系モジュール27bは、拘束元である自律移動系モジュール27aに対して、現在の実行を中止して、走行系モジュール27bの拘束を解除することを要求する。処理はステップS206へ移行する。
ステップS206において、自律移動系モジュール27aは、現在の動作を実行したまま、走行系モジュール27bが命令された動作を実行できるか否かを判定する。走行系モジュール27bが動作を実行できる場合は、処理はステップS203へ移行する。一方、走行系モジュール27bが動作を実行できない場合は、処理はステップS207へ移行する。実施例3においては、走行系モジュール27bになされるシナリオスクリプトからの命令はロボットの緊急停止であるため、自律移動系モジュール27aはロボットに行わせている現在の動作を中止しなければならず、処理はステップS207へ移行する。
ステップS207において、自律移動系モジュール27aは現在の実行動作を中止し、走行系モジュール27bの拘束を解除する。これによって、作業記述実行部21から走行系モジュール27bへの命令は許可される。処理はステップS203へ移行する。
ステップS203、S209における処理は実施例1と同様である。
ステップS210において、走行系モジュール27bは、走行部9を制御し、ロボットの緊急停止を実行する。処理はステップS211へ移行する。
ステップS211において、走行系モジュール27bはロボットの緊急停止という動作を全て完了したため、処理は修了する。
以上の実施の形態は、本発明をより良く理解させるために具体的に説明したものであって、別形態を制限するものではない。従って、発明の趣旨を変更しない範囲で変更可能である。例えば、不具合が発生し、使用不可能となった機能モジュールに常時の拘束を加えて、作業記述実行部21、または、他の機能モジュールからの命令を不許可とし、ロボットが、予期せぬ動作を行うことを防ぐような構成にすることも考えられる。
ハードウェア全体構成を示した図である。 CPUの機能ブロック図である。 ロボットの経路移動について示した図である。 作業記述実行部と各機能モジュールとの関係を示した図である。 作業記述実行部と各機能モジュールとの関係を示した図である。 作業記述実行部と各機能モジュールとの関係を示した図である。 作業記述実行部と各機能モジュールとの関係を示した図である。 作業記述実行部と各機能モジュールとの関係を示した図である。 本発明の実施の形態における機能モジュールの動作を示すフローチャートである。 本発明の実施の形態における機能モジュールの動作を示すフローチャートである。 本発明の実施の形態における機能モジュールの動作を示すフローチャートである。 本発明の実施の形態における機能モジュールの動作を示すフローチャートである。 本発明の実施の形態における機能モジュールの動作を示すフローチャートである。
符号の説明
1 CPU、2 表示部、3 入力部、4 通信部、5 記憶部、6 駆動部制御ボード、7 画像処理ボード、8 ステレオカメラ、9 走行部、10 アーム、21 作業記述実行部21、22 拘束条件管理部、23 経路計画部、24 シナリオスクリプト、25 拘束条件、26 地図データ、27 機能モジュール、27a 自律移動系モジュール、27b 走行系モジュール、27c 腕系モジュール

Claims (8)

  1. 複数の機器と、前記複数の機器の制御を行う複数の機能モジュールとを有するロボットシステムにおいて、
    ロボットに作業を実行させるための作業記述を格納する格納手段と、
    前記機能モジュールに前記作業記述を命令する作業記述実行部と、
    を有し、
    前記機能モジュールは、前記機能モジュールが相互に競合することを防ぐための拘束条件を有することを特徴とするロボットシステム。
  2. 前記機能モジュールは、
    前記作業記述実行部より前記作業記述が命令されると、前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記作業記述実行部からの前記拘束すべき機能モジュールへの命令を不許可とし、
    前記機器を制御して、ロボットに作業を実行させることを特徴とする請求項1記載のロボットシステム。
  3. 前記複数の機能モジュールのうち少なくとも1つは、前記作業記述実行部からの命令に基づいて、他の機能モジュールを制御し、前記他の機能モジュールに前記機器を制御させて、ロボットに作業を実行させることを特徴とする請求項1記載のロボットシステム。
  4. 前記機能モジュールは、
    前記作業記述に基づいて、拘束する必要のなくなった機能モジュールが存在する場合は、前記拘束する必要のなくなった機能モジュールの拘束を解除することを特徴とする請求項1記載のロボットシステム。
  5. 前記機能モジュールは、
    前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記拘束すべき機能モジュールが前記機器を制御して、ロボットに特定の作業を実行させることを拘束することを特徴とする請求項1記載のロボットシステム。
  6. 前記作業記述は、優先度を有し、
    前記機能モジュールは、
    前記作業記述実行部より前記作業記述が命令されると、前記作業記述の優先度を取得することを特徴とする請求項1記載のロボットシステム。
  7. 前記機能モジュールは、前記拘束条件を参照し、拘束すべき機能モジュールがある場合は、前記作業記述実行部からの、前記拘束すべき機能モジュールへの命令を不許可とし、
    前記拘束すべき機能モジュールは、
    前記作業記述実行部より新たな作業記述が命令されると、前記新たな作業記述の優先度を取得し、前記優先度と、前記新たな優先度とを比較し、前記新たな優先度の方が大きい場合は、前記機能モジュールに、拘束の解除を要求して、前記機器を制御し、ロボットに前記新たな作業記述を実行させることを特徴とする請求項6記載のロボットシステム。
  8. 前記機能モジュールは、
    不具合を発生した不調機能モジュールが存在する場合は、前記作業記述実行部からの、前記不調機能モジュールへの命令を不許可とすることを特徴とする請求項1記載のロボットシステム。
JP2006085270A 2006-03-27 2006-03-27 機能モジュールの拘束条件を適用したロボットシステム Expired - Fee Related JP5140934B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006085270A JP5140934B2 (ja) 2006-03-27 2006-03-27 機能モジュールの拘束条件を適用したロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006085270A JP5140934B2 (ja) 2006-03-27 2006-03-27 機能モジュールの拘束条件を適用したロボットシステム

Publications (2)

Publication Number Publication Date
JP2007260792A true JP2007260792A (ja) 2007-10-11
JP5140934B2 JP5140934B2 (ja) 2013-02-13

Family

ID=38634295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006085270A Expired - Fee Related JP5140934B2 (ja) 2006-03-27 2006-03-27 機能モジュールの拘束条件を適用したロボットシステム

Country Status (1)

Country Link
JP (1) JP5140934B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019141228A1 (zh) * 2018-01-19 2019-07-25 库卡机器人(广东)有限公司 多移动机器人的冲突管理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6362002A (ja) * 1986-09-03 1988-03-18 Hitachi Ltd 複数ロボツトの協調制御方法
JPH07271415A (ja) * 1994-03-30 1995-10-20 Nec Corp 協調ロボット制御方法
JP2003058907A (ja) * 2001-08-09 2003-02-28 Univ Tokyo 木構造リンク系のポーズ及び動作を生成する方法
JP2004306231A (ja) * 2003-04-10 2004-11-04 Sony Corp ロボットの運動制御装置
JP2004358630A (ja) * 2003-06-06 2004-12-24 Honda Motor Co Ltd ロボットのティーチングデータ設定方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6362002A (ja) * 1986-09-03 1988-03-18 Hitachi Ltd 複数ロボツトの協調制御方法
JPH07271415A (ja) * 1994-03-30 1995-10-20 Nec Corp 協調ロボット制御方法
JP2003058907A (ja) * 2001-08-09 2003-02-28 Univ Tokyo 木構造リンク系のポーズ及び動作を生成する方法
JP2004306231A (ja) * 2003-04-10 2004-11-04 Sony Corp ロボットの運動制御装置
JP2004358630A (ja) * 2003-06-06 2004-12-24 Honda Motor Co Ltd ロボットのティーチングデータ設定方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019141228A1 (zh) * 2018-01-19 2019-07-25 库卡机器人(广东)有限公司 多移动机器人的冲突管理方法及系统

Also Published As

Publication number Publication date
JP5140934B2 (ja) 2013-02-13

Similar Documents

Publication Publication Date Title
US20200233435A1 (en) Roadmap Annotation for Deadlock-Free Multi-Agent Navigation
JP6657436B1 (ja) 群管理制御装置及び自律移動体への号機割当て方法
Herrero-Perez et al. Modeling distributed transportation systems composed of flexible automated guided vehicles in flexible manufacturing systems
US11099576B2 (en) Spatiotemporal robotic navigation
CN112537702A (zh) 机器人乘梯引导方法、装置、终端设备及可读存储介质
JP6996659B2 (ja) エレベーター連動装置
CN112388624B (zh) 机器人的控制方法和装置、存储介质及电子装置
EP1994454B1 (en) Control system and method for implementing mission functions in compliance with predetermined regulations and standards
US20120279804A1 (en) Multi-car elevator control device
CN114314217A (zh) 乘梯控制方法、装置、计算机设备和存储介质
EP4033206B1 (en) Autonomous vehicle management in an operating environment
KR20210110651A (ko) Agv 이상 발생시 처리 방법, 장치, 전자설비 및 저장매체
WO2019219490A1 (en) System for evacuating one or more mobile robots
JP5140934B2 (ja) 機能モジュールの拘束条件を適用したロボットシステム
KR20220102379A (ko) 다중 로봇의 엘리베이터 승하차 방법 및 장치
EP1782928A1 (en) An industrial robot system with more than one TPU
KR100877715B1 (ko) 지능형 로봇을 위한 센싱, 구동 및 실시간 행동을 포함한리액티브 층 소프트웨어의 구조
CN107000759B (zh) 车辆控制装置和方法
CN113023513A (zh) 一种防止机器人走失的方法、装置、电子设备及存储介质
US20220019217A1 (en) Travel control apparatus, travel control method, and computer program
JP4182874B2 (ja) 台車制御装置及び制御方法
JP7435719B1 (ja) 割当制御装置、割当方法、割当制御プログラム、および記録媒体
JP7489554B2 (ja) エレベーター・ロボット連携システム
JP7514874B2 (ja) 情報処理方法、情報処理装置及びプログラム
JP2023170136A (ja) 制御装置、エレベーターシステム及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110922

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120426

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121105

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5140934

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees