(58)【調査した分野】(Int.Cl.,DB名)
前記タスクの扱いを前記スケジュールが確定したものと、未確定のものに区別し、前記タスク一覧表に記述し、前記動機入力手段は、前記タスク読込手段で読み込んだ前記タスクについて、確定スケジュールと未確定スケジュールに仕分けするスケジュール確定/未確定仕分手段を備えたことを特徴とする請求項1記載の自律調整動作体。
前記動機入力手段は、前記入力手段において、前記スケジュールを作成・調整後は前記確定スケジュールとして扱うための確定化指定を付与した前記タスクを受けることを可能とし、前記スケジュール確定/未確定仕分手段又はその他において、前記確定化指定の有無を判断する確定化指定有無判断手段を備えたことによって、はじめての前記タスクでも前記スケジュールを作成・調整後は前記確定スケジュールとして登録し使用可能としたことを特徴とする請求項2記載の自律調整動作体。
前記タスク実行手段は、前記タスクの実行履歴を実行履歴表に記述するためのタスク実行履歴記述手段を備え、前記動機入力手段は、前記タスク認識・登録手段で認識された前記タスクが既に実行済かどうかを前記実行履歴表を参照して判断する実行済判断手段を備えたことを特徴とする請求項1から請求項3のいずれか1つに記載の自律調整動作体。
前記動機入力手段の前記タスク認識・登録手段は、確認されたタスクのイベント入力があったことをイベント登録表に登録することを可能としたことを特徴とする請求項1から請求項4のいずれか1つに記載の自律調整動作体。
【背景技術】
【0002】
従来例をロボット等の動作体の流れを追って見る。
図11は、従来のロボットの実施例を示す。
特許文献1には、11−Aに示されるロボットシステムの制御方法が記述されている。マスタロボットとスレーブロボットとの相対位置及び相対姿勢に関するデータを一組の情報として記憶する記憶ステップ、任意の位置で、両者が一組の情報の相対位置及び相対姿勢を再現するように動作するステップを備える。教示作業(ティーチング)などであらかじめ決まった(プログラムされた)動作をする。生産機械のように定まった動作をする場合には好都合だが、任意の動作には対応できない。
任意の動作に対応しやすいものとして、以下のものがあげられる。
【0003】
特許文献2は、11−Bに示される自走式介助ロボットに関するものである。減速センサ、制御部、人体検知センサ、衝突防止センサ、挟まれ防止センサなどを備えて、各センサの検知動作により衝突しないロボットである。センサの出力により制御する通常の制御技術である。
これは、被介護者のようなロボットからみて停止又は緩慢な動作をしているものを対象にする場合は、検知により動作しても対応が可能である。ところが、動作が速いものでは、ロボットが動作中に動かれてしまうと対応ができない恐れがあり欠点となる。
【0004】
特許文献3は、11−Cに示される自律移動体の経路設定装置である。複数の計測サイクルに渡る物体位置の変化に基づいて物体の速度と移動方向を求める機能と、位置、速度、移動方向に基づいて、物体との接触を回避して自律移動体の経路を設定する機能を備えている。物体の現在までの状態の検知結果から自律移動体の次の行動を決める点では、特許文献2と同じである。特許文献3に類似の出願として、次の特許文献4と特許文献5が見出される。
【0005】
特許文献4は、移動体進路取得方法、及び移動体進路取得装置である。移動体とそれから所定の範囲に存在する障害物の位置及び内部状態(速さ、向き)に基づいて、障害物の取りえる進路の確率的予測と移動体が取りうる所定の本数の進路を定め、両進路から安全の評価を行っているが、自車センサ及び車外センサにより移動体と障害物の現在までの内部状態から上記の動作を行っている点で、特許文献3と同じである。
【0006】
特許文献5は、車両用衝突防止装置である。障害物との距離及び相対速度情報を検出するレーダの出力によって危険判定回路で危険判断を行う装置において、レーダが障害物を検出できなくなったとき、それまでに得られた情報を用い障害物との距離、相対速度の現在値を予測計算して危険判断する。過去から現在直前までの値により、現在値を予測するものである。これには、前文献と異なる特徴として、過去情報により現在を予測している点がある。予測はあくまで予測であり、予測通りにならない場合があり危険である。
【0007】
特許文献6から特許文献9までは、車車間通信等、互いに通信機能を備えたものが記述されている。
特許文献6は、将来挙動予測装置である。文献中、段落番号0006には、
「自車両周辺の通信車両の将来挙動を予測する将来挙動予測装置であって、車車間通信によって自車両周辺の通信車両から情報を取得する車車間通信手段と、車車間通信手段で取得した通信車両の現在の車両状態情報に基づいて通信車両の将来の速度変動可能範囲を推定する速度変動可能範囲推定手段と、車車間通信手段で取得した通信車両の現在から所定時間前までの速度履歴と速度変動可能範囲推定手段で推定した通信車両の将来の速度変動可能範囲とに基づいて通信車両の将来挙動を予測する将来挙動予測手段とを備えることを特徴とする。」段落番号0007には、「この将来挙動予測装置では、車車間通信手段によって自車両周辺の通信車両から情報(例えば、速度情報、車両状態情報、加速性能情報)を取得する。そして、将来挙動予測装置では、速度変動可能範囲推定手段によって通信車両の現在の車両状態情報(例えば、アクセル操作情報、ブレーキ操作情報、シフトポジション、エンジン回転数、車両の加減速性能情報)に基づいて通信車両の将来の速度変動が可能な範囲を推定する。さらに、将来挙動予測装置では、将来挙動予測手段によって通信車両の現在から所定時間前までの速度履歴と将来の速度変動可能範囲に基づいて通信車両の将来挙動を予測する。この将来挙動予測装置では、通信車両の過去の所定時間内の速度履歴に加えて将来の速度変動可能範囲に基づいて将来挙動を予測することにより、通信車両の将来挙動を高精度に予測でき、信頼性の高い通信車両の将来挙動を得ることができる。この自車両周辺の通信車両の将来挙動を用いて自車両に対して運転支援を行うことにより、より信頼性の高い運転支援を行うことができる。」とあるように、過去から現在までの履歴から将来挙動を予測しているのみである点で特許文献5と同じである。
【0008】
特許文献7は、
図11の11−Dに示され、走行計画生成装置である。文献中、段落番号0038では、「 次に、行動予測部13において、他車両の行動を予測する(ステップS504)。より詳細には、行動予測部13は、自車センサ20で取得した自車両Mの状態量推定値と周辺センサ30で取得した他車両情報とを取得する。そして、取得した情報から自車両Mの位置情報履歴、他車両の相対位置情報履歴、相対速度などを算出し、更にこれらの情報から、他車両の位置情報履歴、現状状態(速度、加速度、道路線形に対するヨー角など)を推定する。これにより、他車両の位置関係や他車両の傾向(車間、車速、加減速、レーンチェンジ抵抗感などのドライバ嗜好)が推定できる。そして、他車両の位置情報履歴、現状状態と取得した道路情報に基づいて、他車両の傾向から、予め生成されているドライバモデルに当てはめて、他車両の今後(例えば、数百m程度)の行動(所定時間間隔ごとの位置や速度など)を予測する。」
段落番号0058では、同様に、「次に、行動予測部113において、他車両の行動を予測する(ステップS804)。より詳細には、行動予測部113は、自車センサ20で取得した自車両Mの状態量推定値と周辺センサ30で取得した他車両情報とを取得する。そして、取得した情報から自車両Mの位置情報履歴、他車両の相対位置情報履歴、相対速度などを算出し、更にこれらの情報から、他車両の位置情報履歴、現状状態(速度、加速度、道路線形に対するヨー角など)を推定する。これにより、他車両の位置関係や他車両の傾向(車間、車速、加減速、レーンチェンジ抵抗感などのドライバ嗜好)が推定できる。そして、他車両の位置情報履歴、現状状態と取得した道路情報に基づいて、他車両の傾向から、予め生成されているドライバモデルに当てはめて、他車両の今後(例えば、数百m程度)の行動(所定時間間隔ごとの位置や速度など)を予測する。」段落番号0061では、「次に、走行計画生成部116において、このように設定された不安全度分布、すなわち危険度分布を利用して、自車両の走行計画を生成する(ステップS807)。」段落番号0062では、「次に、安全評価部117において、走行計画生成部116により生成された走行計画の安全性を最終評価する(ステップS808)。より詳細には、行動予測部113で予測した他車両の位置及び速度の情報と、走行計画生成部116により生成された自車両Mの位置及び速度を含む走行計画とを利用して、所定時刻ごと車間距離や相対車速を算出する。そして、このようにして求められた車間距離を相対速度で除することで、TTC(Time To Collision:衝突余裕時間)を算出する。これにより、TTCが安全基準値より大きいか否かで、その走行計画の安全性を評価する。」段落番号0063では、「このようにして、走行計画が採用されると、走行制御ECU60は、自車両Mの状態量推定値を加味しながら、採用された走行計画に基づいて、各時刻における位置と速度を忠実に再現できるように、アクチュエータに対する指示値を生成する。そして、スロットルアクチュエータ71及びブレーキアクチュエータ74を制御し、エンジン73やブレーキ装置74を制御することで加減速制御を行う。また、操舵モータ75を制御し、電動パワーステアリング装置を制御することで操舵制御を行う。」とある。更に、段落番号0071では、「安全でないと判定されれば、走行計画生成部は、仮の走行計画を修正する。そして、安全評価部217は、修正された走行計画の安全性を再評価する。」自車センサ、周辺センサで取得した情報から他車両の今後の行動を予測し、自車の走行計画を生成し、走行計画に基づいて自車の制御を行う。過去から現在までの実測データにより予測したことに基づいた今後の計画であり、さらに、自車のみの修正・制御に留まっている点が欠点になる。自車と他車が各々を制御するのみにとどまり、互いの同調した制御にならないと、一方が避けた方向に他方が又動いてくる場合があり、不完全な制御であることはよく目にすることである。
【0009】
特許文献8は、
図11の11−Eに示される車々間通信装置である。文献中、段落番号0017から0019では、「
図1は、車両におけるシステム構成を示すブロック図である。GPS、ステアリング、時計などのセンサ10からの検出信号は、ECU12に供給される。そして、供給される検出信号から自車両位置、時間、車両の動向などを検出する。例えば、将来の時間と位置の予測値を得る。このデータはデータ通信部14に供給され、ここでキャリアを変調する。さらに、この通信部14においては、スペクトル拡散通信におけるPN系列や周波数ホッピングのパターン等の通信パターンを自車両の現在及び将来の位置データに基づいて決定し、この通信パターンに基づく送信信号を形成し、これをアンテナ16から他車両に向けて送信する。また、アンテナ16で受信した他車両からのデータについては、データ通信部14において、自車両の現在位置、将来位置に基づく通信パターンに基づいて復調すると共に、変調信号を取り出し、ECU12において内容が認識される。さらに、ECU12には、ブレーキやステアリングのアクチュエータ18が接続されており、ECU12の認識により、必要があると判断された場合には、アクチュエータ18を駆動して、ブレーキやステアリングを操作する。」と記述される。段落番号0040では、「このようにして、将来の車両の位置座標を推定することができるため、この自車両位置を各車両が送信することで、他車両に自車両の将来の動向を知らせることができる。」とあり、段落番号0047から0049では、「自車両では、GPSなどで求めた自車両位置を求め、さらに各種センサからの検出値から将来を予測し、将来の予測位置を時間を関数として求める(S11)。次に、現在、2秒後、・・・n秒後の自車両の位置についてのデータをそれぞれの個別のデータパケット(パケット1(現在、現在位置の座標)、パケット2(2秒後、2秒後の座標)、・・・)にまとめる(S12)。各パケットをその時間及び座標に対応付けられた通信パターン(PN系列や周波数ホッピング)で送信する(S13)。一方、他車両においては、自車両と同様に、将来の予測位置を時間を関数として求め(S21)、求めた位置、時間データに対応する通信パターンを演算する(S22)。そして、この通信パターンに該当するデータを受信し、復調する(S23)。そして、得られたデータに基づき、経路の再計算(S24)、衝突回避動作(S25)、車間制御(S26)などを行う。」と記述されていて、本願図面の
図11の11−Eに対応している。自車の将来予測位置、時間データでキャリア変調し、自車データを送ることで、他車は、他車の将来予測位置、時間データでキャリア復調すると、同じ将来予測位置、時間データのところしか受信できないことを利用し、同じ将来予測位置、時間データでないデータの受信をしないようにしたものであるが、受信側が送信側の将来予測位置、時間データを知って、受信側の経路再計算、衝突回避、車間制御などの制御を行うものである。他車のデータを得て、自車を制御する特許文献7と本質的は変わらないものであり、特許文献7と同じ欠点を有している。
【0010】
特許文献9は、11−Fに示されるロボット装置及び情報処理システムである。このロボットは、他の電子機器との間で信号の受信を行う通信手段と、通信手段で入手した信号から情報を検出する情報検出手段とを備え、この情報によりアクチュエータを制御する。ロボット間通信機能としては9/41ページに以下の詳しい記述がある。
「(2−10)ロボット間通信機能、さらにこのロボット1には、ロボット同士で通信を行いながらサッカーゲームなどの協調作業を行うロボット間通信機能が搭載されている。
実際上、ロボット(以下、これを第1のロボットと呼ぶ)1のコントローラ20は、ロボット間通信機能がオン設定されている場合、画像処理部22からの画像信号S4に基づいて他のロボット(以下、これを第2のロボットと呼ぶ)1の位置及び状態を監視する。そして第1のロボット1のコントローラ20は、第2のロボット1の所望する行動や動作を行わせたいときには、当該動作の実行指令を通信ユニット25を介して当該第2のロボット1に送信する。このとき第2のロボット1のコントローラ20は、自己の通信ユニット25を介して与えられる実行指令に基づいて必要な関節機構を駆動し、これにより指定された動作を実行する。このようにしてこのロボット1においては、ロボット1同士が互いに通信を行いながら相互に相手のロボット1を制御して所定の協調動作を行うことができるようになされている。なお
図24には、このようなロボット間通信機能を利用して2人のユーザが例えばサッカーゲームを行えるゲームシステム70の構成例を示すものである。かかるゲームシステム1においては、2台のパーソナルコンピュータ71A、71Bを有し、各ユーザがそれぞれ対応するパーソナルコンピュータ71A、71Bを用いて例えば「ボールを前に出して攻めろ」や、「右サイドから攻めてシュートしろ」といった行動指令を入力することができるようになされている。この場合これらパーソナルコンピュータ71A、71Bは、それぞれ入力された指令に応じたコマンドをインターネット72、コミュニケーションサーバ73、電話回線74及び電話機本体75A、75Bを順次介して対応するチームのロボット1に送信する。この結果対応するチームの各ロボット1は、このコマンドに基づいて上述のようなロボット1同士で通信を行いながら互いに他のロボット1を制御しながら指示された内容を実行する。このようにしてこのゲームシステムにおいては、2人のユーザがそれぞれ自己のチームのロボット1を操作してサッカーゲームを行うことができるようになされている。」
これを見ると、ロボットにさせたいことは、あくまで通信により送信する実行指令である。命令通り行わせるのみであり、ここには、他のロボットとの間でスケジュール開示して調整をする機能は示されない。
【0011】
全ての従来例に共通して言える欠点は、センサにより過去から現在までを検知して現在から将来を予測し、制御して現在から将来行動を行わせること、及び、検出或いは予測した他の行動に基づいて、自己側のみの制御等や現在から将来行動のみを行っていることであり、このような一方的行動では対処できない例が沢山ある。
例えば、2個の自律歩行ロボットを考える。狭い通路で交差した。両者が認識して、停止した。停止した相手を認めて、一方が動き出した。他方も相手が停止したことを認めて動き出して位置的に干渉(衝突)した。これは、相手の次の行動が見えないから起こることである。停止しているだろうという予測が外れた例である。
或いはまた、一方が他方を避けて右に動いた。他方は、相手を避けて左に動いて、干渉した。このように、一方の変更は他方からは予想できない場合には、起こり得る不具合である。
更に、互いに相手を認識して自らを制御した筈にも関わらず、上記のように予想外に相手も変更、又は、必要な変更をせずに、想定したとおりにならないことで、重複したタスクを行ったり、両者とも実行しなかったり、共働作業にならなかったりする。前記の衝突のような干渉事故も含めて、このような重大不都合の発生を防止できていなかったのである。
このように、従来の制御技術は、過去又は現状を検知して制御動作に生かす、起こった現象を見てから対処する是正処理の考えに基づいている。検出と予測通りにはならない動作には対処しきれない欠点があった。そして、両者とも相手の行動予測から自己側のみの行動変更では、上の例のような思わぬ重大な不具合が起こってしまうということが盲点として存在した。
特許文献6から特許文献9のロボット間通信、車車間通信においても、検出と制御部分は、同じかんがえであり、相手の行動予測から自己側のみの行動変更を行うのみである。
これには、ロボットに絶対的に行わせたい命令を通信により行わせる機能が付加されている。更に、特許文献9に示すように、指示命令だけで動かす行動にはその場に応じたあらゆる対応をするという点では限界があった。
【発明を実施するための形態】
【0022】
本発明にかかる自律調整動作体では、動機入力手段とタスクスケジュール調整手段とタスク実行手段を備え、タスクスケジュール調整手段は、必要な場合は、スケジュール又は修正スケジュールを作成するスケジュール作成手段と、スケジュール調整手段を備え、スケジュール調整手段は、これから実際に行うであろう確実なスケジュール又は修正スケジュールを他の動作体に開示するスケジュール開示する機能と、開示されたスケジュールが自己のスケジュールに照合して妥当であるかを判断する機能と、開示されたスケジュールに対する受け入れ確認回答により合意された修正スケジュール(合意スケジュール)の実行側に対する他方側が合意スケジュールとは別の修正スケジュールを実行することを回避する機能を有する。
以下図に沿って説明する。
【0023】
図1は、本発明にかかる自律調整動作体の構成の一実施態様を示す図である。
自律調整動作体1000は、動機入力手段1100とタスクスケジュール調整手段1200とタスク実行手段1300を備えている。各々、及びその間の関係を以下に詳述する。
【0024】
動機入力手段1100は、タスク指示、センサ検出結果の入力、スケジュール上のタスクの実行開始の動機となる時刻入力などのイベント(動機)が入力される入力手段1110、その入力された内容から実行すべきタスクを認識し、イベント入力があったことをイベント登録表1120に登録するタスク認識・登録手段1130、認識したタスクをタスク一覧表1140から読み込むタスク読込手段1150を備えている。更に、読み込んだタスクがスケジュールが確定しているか、未確定であるかを仕分けするところのスケジュール確定/未確定
仕分手段1160を備えると好都合である。
【0025】
イベント登録表1120は、
図6の6−Aが一例である。
この例では、入力順番にイベント入力の識別記号、入力年月日時刻、関係するタスク符号、タスクが実施される対象範囲記号、タスクを終了させる期限等が記録される。
タスク一覧表1140は、
図6の6−Bが一例である。
タスク一覧表1140には、タスクを実行する実行プログラムを必ずしも含ませる必要はない。認識記号等で関連付(紐付)されていれば十分である。6−Bにおいて、この表には、実行可能な(対応する実行プログラムが存在する)タスクがリストされている。この例では、生活、業務、・・・の大分類があり、生活の中には、クリーン・整理整頓、調理、洗濯・・・があり、業務には、農作業、土木・建築・・・がある。更に、各々には、例えば、クリーン・整理整頓では、拭き掃除というタスクがあり、その処理(実行)能力が400m
2/h(平方メートル毎時)、タスクを識別する識別タグ番号A01001として格納されている。識別タグ番号A01001は、この番号で、タスクの実行プログラムと関連付けられている。例えば、
図6の6−Aの2番目のタスクでは、タスクがA01001で拭き掃除、対象範囲FA−BFLとなっている。対象範囲の記号は、対象場所を示すので、この広さが登録されていれば、6−Bにある処理能力から、処理に必要な所要時間が求められ、終了の期限又は、開始時間からタスクの処理の予定であるスケジュールが作成される。6−Aにおいては、期限が10時になっていて、日時は毎日となっていることを表している。
タスク一覧表1140は、各ロボット毎にローカルにあってもよいし、通信機能で管理センターにあるものを利用することでもよい。又、タスク一覧表1140の中に所望のタスク自体が見当たらない場合は、他からタスクを借用したり、導入したりすることができることは当然である。
【0026】
尚、スケジュール確定/未確定
仕分手段1160は、入力されたイベントからタスクが認識された場合に、そのタスクが、既にスケジュールが確定しているか、不確定であるかをタスクに付いたタグを基に判断する。スケジュール確定のものでは、毎日とか定期的行うタスクや、不定期タスクであっても、一旦、スケジュールが確定していれば、タスク実行のイベントさえ入力されれば、実行プログラムやタスク一覧表への記述がなされているため、実行可能である。それゆえ、スケジュール作成や調整工程を迂回することが可能となる。スケジュールの実行の障害となる突発的イベントが飛び込まない限り、スケジュール作成や調整工程の迂回がなされる。
例えば、タスク実行開始のタグが付いた時刻のイベント入力も実行すべきタスクと関連づけられ、実行時刻とが決まっているためスケジュール確定のタスクとなる。
それに対して、スケジュール未確定のタスクは、センサ入力や人の指示など随時のタスクであり、他のスケジュールにとって障害となる場合があり、
これからスケジュールを作成・調整して動作しなければならない。従って、スケジュールの作成と調整の工程を経ることが必要なものである。
【0027】
確定/未確定の判断は、スケジュール表や実行プログラムを参照してもよいが、タスクに付けたタグを参照する方が容易である。タグは確定/未確定を示すものとなっている。
尚、スケジュール確定/未確定
仕分手段1160には、確定化指定有無判断手段1161を含むと好都合である。これは、入力手段1110において、随時(不定期に)入ってきた初めてのタスクであっても、スケジュールを一旦作成した後は、スケジュール確定タスクとして使用できるようにするためである。初めはスケジュール未確定の場合に、この手段では、入力手段1110において、確定化の指定があるかどうかを見ている。
尚、タスク認識・登録手段の前後に、入力したイベントに関するタスクが既に実行済であれば、その後の処理は不要なので、実行済判断手段1170があると好都合である。
実行済かどうかは、実行手段の説明で後述する実行履歴表を参照して判断する。実行済みでは、実行履歴表に記述があるので、実行済の報告をして、再度の実行はせず待機することができる。
【0028】
タスクスケジュール調整手段1200は、タスクのスケジュールを作成し、動作体の間や、動作体と人間の間で、スケジュールを開示して調整しその結果をスケジュール登録し、タスク実行手段1300に繋げるものである。
主なる構成としては、スケジュールの調整が必要かを判断する調整必要性判断手段1230と、スケジュールが無いときに新たなスケジュールを作成することや、不都合が想定されるスケジュールを修正した修正スケジュールを作成することを行うスケジュール作成手段1240と、初期(初めから保有していたもの)又はここで作成された新規又は修正スケジュールを他の動作体に開示し、開示スケジュールが妥当なものであるか判断し、開示され合意された合意スケジュールの障害となる他のスケジュールを実施しないように調整管理するスケジュール調整手段1270とを有している。
【0029】
スケジュール調整手段1270においては、主に、初期のスケジュール開示、新規作成又は修正スケジュール開示、をするスケジュール開示手段1271、開示されたスケジュールが被開示側のスケジュールと照合して不具合が無いかを検証し判断し開示されたスケジュールに合意回答するスケジュール妥当性判断手段1272、合意回答を確認し、合意スケジュールの障害となる他のスケジュールを勝手に実施しないことを担保する不都合動作回避管理手段1273を有している。合意されたスケジュールの良好(不都合が起こらない)な実行がなされるためには、確実な具体策の一例は、合意回答が確認された以降は、合意スケジュールの障害となる新たな又は別のスケジュールの作成又は実行を行わないことであり、動作体の両者に命令又は制御によりそのように徹底することである。不都合動作回避管理手段1273が、このような管理を担っている。
【0030】
動機入力手段1100のスケジュール確定/未確定
仕分手段1160でスケジュール未確定と判定されたタスクは、タスクスケジュール調整手段1200に入力し処理される。先ず、タスクデータ有無判断手段1210において、タスク実行に必要なデータ(タスク一覧表にあるべきタスク記述データ、実行プログラムなど)があるかどうか判断する。判断のための参照先は、タスク一覧表1140である。
タスク実行手段1300で記述するタスクプログラム集合体1320のリストを参照してもよい。
特に、タスクプログラムが無いと判断した場合は、タスクプログラム作成手段1220において所謂教示作業(ティーティング)等で実行のためのタスクプログラムを作成する。
新たなタスクプログラムは、通常の作成以外に他の保有者より導入してもよいことは勿論である。
これでタスクの実行が可能となったので、タスク一覧表1140とタスクプログラム集合体1320へ登録が可能となる。タスクプログラム集合体1320の例は、
図6の6−Dに示される。タスク記号とタスクプログラム記号が記述され、両者が関連付されている。すなわち、A01001であれば、PA01001のタスクプログラムが実行される。ついでに、タスクの属性や導入先(プログラムの入手先、入手経路)を記述すれば、実行に好都合である。
具体的タスクのタスクプログラムにより処理能力等はプログラムにより分かるので、タスク一覧表1140には必要な項目が記述される。イベント入力において、タスクの処理期限も分かるので、スケジュール作成手段1240において、処理能力と処理期限とスケジュール表1260を参照して、新たなタスクのスケジュールを作成、又は、必要な場合は、現在進行中のスケジュールの見直し、又は修正を行う。
【0031】
調整必要性判断手段1230は、自己の保有するスケジュールが、他の動作体の保有するスケジュールと調整が必要かどうかを判断する。例えば、作業が重複するなど自らの対応では不可能なためタスクを他の動作体に分担してもらいたい状態にあるとか、移動中に他の動作体や人間などの他の動作体を検出して、干渉の可能性を判断するべき状態にある場合には、調整の必要性を判断する。調整が必要でない場合は、そのスケジュールでよいので、スケジュール登録手段1250によりスケジュール表1260に登録し、タスク実行手段1300に回る。
調整が必要性であれば、スケジュール調整手段1270に回る。必要であれば、開示するスケジュール案をスケジュール作成手段1240により作成してもよい。
尚、分担において、対応してもらう動作体は動作体登録名簿1280から選択できる。例として
図6の6−Eに示される。個々の動作体を表す記号と人型等の属性、他に他の能力などが記述されれば好都合である。
更に、図では、調整必要性判断手段1230は、スケジュール作成手段1240の前に記述したが、スケジュールを作成してから調整必要性を判断してもよいので、順が入れ替わることも可能である。
【0032】
スケジュールは、他の動作体との調整の為に、次のスケジュール調整手段1270により処理される。スケジュール調整手段1270では、スケジュール開示手段1271により他の動作体に通信等によりスケジュールが開示される。
開示により、少なくとも一方の動作体のタスクスケジュール調整手段1200の中のスケジュール妥当性判断手段1272により、開示されたスケジュールが自己のスケジュールに照合して妥当かどうかを判断する。両者のスケジュールから不具合(位置的干渉やスケジュールの重複など)が予想される(妥当でない)場合は、修正が必要であると判断され、スケジュール作成手段1240により修正スケジュールが作成される。修正スケジュールを受けて、スケジュール開示手段1271は、再び修正スケジュールを他の動作体に開示する。開示された動作体でスケジュール妥当性判断手段1272により再度、妥当かどうかを判断し、妥当と判断されるまで修正と判断が繰り返えされる。妥当であると判断されると、合意の意思を回答する。回答は、合意された合意スケジュールの障害となる他のスケジュールを実施しない意思を含んでいる。不都合動作回避管理手段1273は、スケジュール開示手段1271又は、スケジュール妥当性判断手段1272でのスケジュールへの対応を受けて、合意意思回答を管理し、スケジュールの障害となる他のスケジュールを作成させない又は実施させないことで不都合な障害を排除する。
意思が確認されたことを持って、合意スケジュールが実行に回される。勿論、他の不都合なスケジュールは、例え有っても実行に回されない。
【0033】
スケジュール表1260の例としては、
図6の6−Cに示す。各動作体毎に時間に対して実行すべきタスクが記述されている。タスクのない時間は待機となる。実行すべきタスクがどの時間で実行されるかが決まっているので、その時刻が到来すると実行を開始し、終われば待機になる。タスクは、所謂仕事以外に移動するなどの行動も含むので、タスクに関連した移動経路もスケジュールとして求めることが可能である。この表では、各動作体毎に記述したが、複数の動作体を表に記述しても構わない。
【0034】
スケジュールの調整が必要な場合は、スケジュール調整手段1270で他の動作体又は人間の間でスケジュールを調整する。その場合、スケジュール作成手段1240で作成したタスクのスケジュールを他の動作体や人間にスケジュール開示手段1271により開示する。移動のスケジュールも同様に開示する。必要な場合は、両者が互いにスケジュールを開示してもよい。
タスクの分担要求の場合、相手が開示したタスクスケジュールを受け側のスケジュールに照らして問題なく実行可能であれば、分担の要求は成立する。移動時の位置的干渉の場合は、互いのスケジュールを実行したとして時間的な先を見た場合、位置的干渉が予想される場合は、一方が、他方に対して位置的干渉がなく移動するための修正(変更)スケジュールを提示する。スケジュールの修正(変更)で問題なければ、調整が完了する。修正要求は、問題がない確認ができるまで繰り返し行える。尚、特に、タスクの分担などの場合は、分担可能な動作体を探すために動作体登録名簿1280を参照できる。スケジュールの調整が完了すると、スケジュール登録手段1250によりスケジュール表1260を更新する。
【0035】
動機入力手段1100のスケジュール確定/未確定
仕分手段1160でスケジュール確定判断の場合と、タスクスケジュール調整手段1200のスケジュール登録手段1250でスケジュール登録が済んだ(調整が済んでいる)場合は、そのタスクは実行可能となる。タスク実行手段1300は、実行プログラム読込手段1310により、タスクプログラム集合体1320から、実行すべきプログラムを読み込む。実行/待ち判断手段1330では、即時実行する場合か、実行開始時刻まで時間があり、待ちにするかを判断する。実行時刻が到来すれば、実行及び終了判断手段1340でプログラムを実行し、実行中、終了かどうかを判断する。例えば、終了の時刻が到来したか、タスクの対象範囲の最後の検出ができたかなどにより終了判断がなされる。終了と判断された場合は、タスク実行履歴記述手段1350により、実行履歴表1360に記述する。同時に、待機する。実行履歴表1360の例は、
図6の6−Fに示される。終了したタスク記号と実行時刻が記述されている。
【0036】
図2は、本発明にかかる自律調整動作体の動作フローの一実施態様を示す図である。
動機入力工程とタスクスケジュール調整工程、タスク実行工程を有している。以下、各々の工程を
図3、
図4、
図5を用いて詳述する。
【0037】
図3は、本発明にかかる自律調整動作体の動作フローの動機入力工程の詳細な一実施態様を示す図である。
入力工程1110Pは、タスク指示やセンサ検出出力、実行のための時刻入力などの
イベント入力を常時受け付ける。タスク認識・登録工程1130Pは、イベント入力を受け付けると、イベント登録表1120に登録し、タスクの認識を行う。タスク認識では、その入力された内容から実行すべきタスクを認識する。認識する項目としては、タスクを施す対象範囲、期限、そして、次工程のタスク読込で必要なタスク名、又は、個々のタスクを表す認識符号が有れば、詳しい内容までは必ずしも必要がない。新規のタスクの場合は、内容も必要となる。次工程のタスク読込工程1150Pでは、タスク一覧表1140を参照して、タスクの有無を見る。タスク一覧表1140に所望のタスクが見当たらない場合は、他からタスクが読み込めるか不可かを判断する。所望のタスクがタスク一覧表1140にある場合と無くても他から読み込める場合は、所望のタスクを読み込む。
【0038】
スケジュール確定/未確定
仕分工程1160Pを備えると好都合である。
スケジュール確定/未確定
仕分工程1160Pでは、入力されたイベントからタスクが認識された場合に、そのタスクが、既にスケジュールが確定しているか、不確定であるかをタスクに付いたタグを基に判断する。その動作については、手段としての記述において述べたので重複を避けるため省略する。スケジュール確定タスクでは、タスクスケジュール調整工程を迂回してタスク実行工程に行くことができる。一方、スケジュール未確定タスクでは、タスクスケジュール調整工程へ行く。
スケジュール確定/未確定
仕分工程1160Pには、確定化指定の判断工程を含むと好都合である。これは、入力工程1110Pにおいて、随時(不定期に)入ってきた初めてのタスクであっても、スケジュールを一旦作成した後は、スケジュール確定タスクとして使用できるようにするためである。初めはスケジュール未確定の場合に、この工程では、入力工程1110Pにおいて、確定化の指定があるかどうかを見ている。確定化指定がある場合には、タスクスケジュール登録時にスケジュール確定タスク扱いで登録される。
尚、既に手段の記述で述べたが、タスク認識・登録工程の前後に、入力したイベントに関するタスクが既に実行済であれば、その後の処理は不要なので、実行済判断工程1170Pがあると好都合である。
実行済かどうかは、実行手段の説明で後述する実行履歴表1360を参照して判断する。実行済みでは、実行履歴表に記述があるので、実行済の報告をして、再度の実行はせず待機することができる。
【0039】
動機入力工程の後には、スケジュール未確定タスクでは、タスクスケジュール調整工程へ行く。
図4は、本発明にかかる自律調整動作体の動作フローのタスクスケジュール調整工程の詳細の一実施態様を示す図である。タスクスケジュール調整工程を
図4を用いて説明する。
スケジュール確定/未確定
仕分工程1160Pの後のタスクは、タスクスケジュール調整工程1200Pに入る。タスクデータ有無判断工程1210Pでは、所望のタスクデータの有無を判断する。「無」の場合は、タスクプログラム作成工程1220Pにおいて、タスクプログラムを作成し、タスクプログラム集合体1320に格納し、タスク一覧表1140に登録する。タスクプログラムの作成においては、手段の記述でも述べたように、所謂教示作業(ティーティング)等で実行のためのタスクプログラムを作成する。又は、人手によるプログラム作成が必要な場合は、アラームを出して、作成要求し、作成させてもよい。又、多くの他のプログラム所持組織から導入してもよいことは当然である。
【0040】
タスクプログラムの作成が完了又は、初めからタスクデータ「有」と判断された場合は、スケジュール作成工程1240Pに入る。ここでは、イベント入力において、タスクの処理期限も分かるので、処理能力と処理期限とスケジュール表を参照して、新たなタスクのスケジュールを作成、又は、必要な場合は、見直し・修正を行う。調整必要性判断工程1230Pでは、確定スケジュールの変更が必要な動機入力や分担を変更する環境変化がある場合には、スケジュール調整が必要と判断する。具体的には、作成されたスケジュール上で、作業が重複するなど自らの対応では不可能なタスクで他の動作体に分担してもらうべき場合や、移動中に他の動作体や人間などを検出したなどでそのまま移動すると位置的干渉(衝突)が起こる恐れがある場合である。他の動作体との間でスケジュール調整が必要と判断する。そうでない場合は、特に調整が必要とならない。尚、この工程では、調整済かどうかの判断をしてもよい。調整済の場合は、調整不要とする判断も可能である。位置的干渉の場合には関係する動作体が存在する3次元空間のコンピュータ表示の検証画面での各動作体又は人の経路を開示されたスケジュールを基に計算表示して表示又は及び判断することができる。判断においては、各動作体や人の中心から各々特有の空間余裕を持って、全ての時刻において接し合わなければよい。
いずれかの時刻で接しあう場合は、位置的干渉があるので、スケジュール調整必要と判断する。
調整が必要でない場合は、そのスケジュールでよいので、スケジュール登録工程1250Pによりスケジュール表1260に登録する。
【0041】
スケジュールの調整が必要な場合は、スケジュール調整工程1270Pで他の動作体又は人間の間でスケジュールを調整する。その場合、スケジュール作成工程1240Pで作成したタスクのスケジュールを他の動作体や人間にスケジュール開示を行い、不都合が起こらないように調整する。人間との間は、インターフェースとして、音声、画面表示、キーボード入力など、通常のコンピュータインターフェースと同じである。
移動のスケジュールも同様に開示する。必要な場合は、両者が互いにスケジュールを開示してもよい。
タスクの分担要求の場合、相手が開示したタスクスケジュールを受け側のスケジュールに照らして問題なく実行可能であれば、分担の要求は成立する。移動時の位置的干渉の場合は、互いのスケジュールを実行したとして時間的な先を見た場合、位置的干渉が予想される場合は、一方が、他方に対して位置的干渉がなく移動するための修正スケジュール(待つ、経路を変えるなど)を提示する。スケジュールの修正で問題なければ、調整が完了する。修正や変更要求は、問題がない確認ができるまで繰り返し行える。尚、特に、タスクの分担などの場合は、分担可能な動作体を探すために動作体登録名簿1280を参照できる。
【0042】
尚、手段の説明でも記述したが、スケジュール調整工程1270Pには、スケジュール開示工程1271P以外に、開示されたスケジュールが被開示側のスケジュールに照合して妥当であるか検証し判断するスケジュール妥当性判断工程1272Pとスケジュール開示工程1271P又は、スケジュール妥当性判断工程1272Pでのスケジュールへの対応を受けて、対応中、合意意思回答を管理し、合意スケジュールの障害となる他のスケジュールを実施させないための不都合動作回避管理工程1273Pを有している。
【0043】
スケジュールの調整が完了すると、スケジュール登録工程1250Pによりスケジュール表1260を更新する。尚、スケジュール登録工程1250Pにおいては、スケジュール確定/未確定
仕分工程1160Pにおいて確定化指定が「有」場合に対応して、スケジュール未確定タスクをスケジュール確定タスクに変更する処理が可能である。その処理により、初めて入ったタスクも次回から再び実行の必要な場合は、スケジュール確定タスクとして処理ができることになる。
【0044】
次に、タスク実行工程1300Pを説明する。
図5は、本発明にかかる自律調整動作体の動作フローのタスク実行工程の詳細の一実施態様を示す図である。
動機入力工程1100Pにおいてスケジュール確定タスクと判断されたタスクや、タスクスケジュール調整工程1200Pにおいて、スケジュール調整工程1270及びスケジュール登録工程1250Pが済んだタスクは、タスク実行工程1300Pに入ることが可能である。
手段での記述とも重複するが、
タスク実行工程1300Pは、実行プログラム読込工程1310Pにより、タスクプログラム集合体1320から、実行すべきプログラムを読み込む。実行/待ち判断工程1330Pでは、即時実行する場合か、実行開始時刻まで時間があり待ちにするかを判断する。実行時刻が到来すれば、実行及び終了判断工程1340Pでプログラムを実行し、実行中、終了かどうかを判断する。例えば、終了の時刻が到来したか、タスクの対象範囲の最後の検出ができたかなどにより終了判断がなされる。終了と判断された場合は、タスク実行履歴記述工程1350Pにより、実行履歴表1360に実行履歴として記述する。同時に、待機する。
【0045】
次に
図7から
図10を用いて、スケジュールの調整動作の例を詳述する。
図7は、本発明にかかる自律調整動作体の調整動作の一実施態様を示す図である。
他の不特定の動作体に依頼したいタスクのスケジュールを開示してタスク分担をさせる場合の例である。前提として、動作体Aはタスクの一部T1を他の動作体B、C、D、Eのいずれかに分担させたい。他の動作体B、C、D、Eも他のタスクのスケジュールを持っている。
動作体間の調整対応順に記述した順番に調整が行われる。
○Aの前対応:分担タスクT1、スケジュール把握
(1)Aから他の動作体に分担打診
(T1タスクとスケジュールを送信:スケジュール開示)
(2)他の動作体は、自己スケジュール参照、開示スケジュールの妥当性判断=実行可能判断、回答。
(3)可能回答の中からAは、Bを選択指定し依頼
(4)Bは、合意確認の回答(開示スケジュールの合意)をAにする。
(5)A受領
(6)A又はB、又は、管理センターの不都合動作回避管理手段1273は、回答を検出して、合意スケジュール(合意された分担スケジュール)の良好(不都合動作が無い)実行を確保。
(7)A、B双方のスケジュール改定し調整終了
AはT1の工程は削除、Bは、追加。
実行においては、Bの中で受託タスクを全部実行する場合と、Aで制御プログラムを実行し、制御命令でBの出力を制御することも可能である。
【0046】
図8は、本発明にかかる自律調整動作体の調整動作の他の実施態様を示す図である。
他の不特定の動作体に依頼したいタスクのエリア(タスク場所等の対象範囲)のスケジュールを開示してタスク分担をさせる場合の例である。前提として、動作体Aはタスクエリアの一部P1を他の動作体B、C、D、Eのいずれかに分担させたい。他の動作体B、C、D、Eも他のタスクのスケジュールを持っている。
動作体間の調整対応順に記述した順番に調整が行わる。
○Aの前対応:分担タスクエリアP1を含むスケジュール把握
(1)Aから他の動作体に分担打診
(タスクエリアP1を含むタスクスケジュールを送信:スケジュール開示)
(2)他の動作体は、自己スケジュール参照、実行可能判断、回答
(3)可能回答の中からAは、Bを選択指定し依頼
(4)Bは、合意確認の回答をAにする。
(5)A受領
(6)A又はB、又は、管理センターの不都合動作回避管理手段1273は、回答を検出して、合意スケジュール(合意された分担スケジュール)の良好(不都合動作が無い)実行を確保。
(7)A、B双方のタスクエリアとスケジュール改定し調整終了
AはP1のエリアは削除、Bは、P1及びそのスケジュールも追加。
【0047】
図9は、本発明にかかる自律調整動作体の調整動作の他の実施態様を示す図である。
特に移動する動作体の位置的干渉(衝突)回避の場合の調整の例である。
前提として、動作体A、Bとも移動のスケジュールに従った移動経路(移動時刻に定まった位置を移動する)を有していて、互いの存在をセンサー等、又は通信によりで検出したとし、9−Aで説明する。動作体間の調整対応順に記述した順番に調整が行わる。
○A、Bとも干渉予測物として互いを検出・停止
(1)A、Bとも移動経路(位置、時刻)のスケジュール開示
(2)少なくともA、Bのいずれかが干渉可能性判断
両者のスケジュールに沿って、移動が実行された場合の干渉可能性を仮想的実行(シミュレーション)により経路検証する。
(3)(回避行動)修正スケジュール開示(一方又は両方から)
干渉の可能性がある場合は、干渉を回避する修正スケジュール(例えば、一方が待つ、別経路にするなど)を開示する。
(4)修正スケジュール妥当性判断・合意回答
(スケジュールの妥当性判断)修正スケジュールで干渉が回避できるか。妥当なら、被開示側から合意回答。
(5)A受領
(6)A又はB、又は、管理センターの不都合動作回避管理手段1273は、回答を検出して、合意スケジュール(合意された修正スケジュール)の良好(不都合動作が無い)実行を確保。
(7)修正スケジュールにスケジュール変更(待ち、経路変更等)
(8)移動開始
上記の干渉回避を含めたタスクの調整の例を以下に示す。
前提として、AがタスクWA1を実行中にCの侵入、干渉せずに両者が調整・行動し、タスクWA1に戻る(継続し終了する)場合であり、
図9の9−Bの調整対応をタイムテーブルとして示す。
工程は次のようになる。
<工程>((2)から(7)が調整工程)
(1)AがタスクWA1実行中
(2)Cが侵入を検出(新規イベントあり)
(3)A、Cとも停止して、AはタスクWA1中断(分散並列処理では中断不要)
(4)スケジュール開示(交換)(特にこの場合、経路スケジュール)
→干渉の有無判断、干渉危険有判断。
(5)一方から修正スケジュール提案(待つ、避けるなど)、
(優先者の扱い基準を決めるといい。)
(6)他方、可能判断、合意回答
(7)提案側受領
(8)合意スケジュール(合意された修正スケジュール)の良好(不都合動作が無い)実行を確保。
(9)A、C双方のスケジュールを修正し、行動、調整終了
(10)AはタスクWA1に戻り継続、Cは移動行動に戻り継続。
【0048】
図10は、本発明にかかる自律調整動作体の調整動作の他の実施態様を示す図である。タスク実行中に新規タスクが割り込み、他者と調整する場合である。
前提として、AがタスクWA1を実行中、新規タスクWBが割り込み、他者と調整する。
不特定の動作体に分担を打診し、最後はBに依頼し、調整が完了する。
図10には調整対応をタイムテーブルとして示す。
工程は次のようになる。
<工程>((2)から(9)が調整工程)
(1)AがタスクWA1実行中。
(2)飛込タスクWB検出(イベント)
(3)WA1中断→(分散並列処理では中断は不要)
(4)WBの実行判断(自己/分担):調整必要性判断
自己実施(WA1の間に/WA1終了後・・・期限内終了か)
他動作体に分担依頼(以下の調整へ)
(5)他の動作体に依頼打診(WBとそのスケジュール開示)
(6)他の動作体は自己スケジュールを参照し、可能性(スケジュール妥当性)判断・回答
(7)可能回答の中からAは、Bを選択指定し依頼
(8)Bは、合意確認の回答をAにする。
(9)合意スケジュール(合意された修正スケジュール)の良好(不都合動作が無い)実行を確保。
(10)Bのスケジュール改定し調整完了
(11)AはタスクWA1に戻り継続実行、Bは、自己のスケジュールで動作。
【0049】
尚、イベント登録表1120、タスク一覧表1140、スケジュール表1260、タスクプログラム集合体1320、動作体登録名簿1280、実行履歴表1360他のデータは、動作体、すなわちコンピュータが使用できるデータであるため、電子データであることは当然である。
そして、タスクとは、動作体が実行スケジュールと実行プログラムに基づいて行う動作をいう。業務、移動、待機もタスクの一形態であることは当然である。
又、ロボット、平面や曲面上を移動する移動体、浮遊移動体などが本願を適用する動作体とすることができる。
又、本願の骨子を説明するに必要なことのみを記述したが、自律動作体として必要な検出のためのセンサ部、移動のための駆動部、これらを制御する制御部、その他個別の自律動作体に特有の手段等通常必要と知られている構成を備えていることは当然である。
更に、タスクスケジュール調整手段、タスクスケジュール調整工程の説明の中で、タスクプログラム作成手段、タスクプログラム作成工程を説明したが、通常は、動作体は、タスクプログラムを利用する立場にあり、タスクプログラムを作成するのは、動作体以外である場合が多い。タスクプログラムの導入においても同様である。このため、タスクプログラム作成手段1220を動作体の構成に含めることは必ずしも必要ではない。
同様に、スケジュール作成手段1240は、タスクスケジュール調整手段1200の中に含めてもよいが、外部の管理センター等にその機能を持たせてもよいことは当然であり、このような場合も本願の範囲に含むものとする。