(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024099938
(43)【公開日】2024-07-26
(54)【発明の名称】装置、方法、および、プログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20240719BHJP
【FI】
G05D1/02 P
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2023003588
(22)【出願日】2023-01-13
(71)【出願人】
【識別番号】000006507
【氏名又は名称】横河電機株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】菅原 弘樹
(72)【発明者】
【氏名】櫻井 康樹
(72)【発明者】
【氏名】畑中 健志
(72)【発明者】
【氏名】岡田 優也
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA06
5H301AA10
5H301BB14
5H301CC03
5H301CC04
5H301CC06
5H301CC07
5H301CC10
5H301DD07
5H301KK02
5H301KK03
5H301KK08
5H301KK09
5H301KK18
5H301KK19
(57)【要約】
【解決手段】複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、を備える、装置を提供する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、
前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、
を備える、装置。
【請求項2】
前記タスク割当の結果に基づいて前記対象ロボットを前記対象領域内で移動させる領域内経路を決定する領域内経路決定部を更に備える、請求項1に記載の装置。
【請求項3】
前記領域割当の結果に基づいて前記複数のロボットを前記複数の領域のうちの領域間で移動させる領域間経路を決定する領域間経路決定部を更に備える、請求項2に記載の装置。
【請求項4】
前記領域割当部は、一の時間スロットにおける前記領域割当において、他の時間スロットにおける前記領域割当の結果に基づいて、前記複数のロボットの各々について前記一の時間スロットにおける始点位置および終点位置を決定する、請求項3に記載の装置。
【請求項5】
前記領域内経路決定部は、前記一の時間スロットにおける前記始点位置および前記終点位置にしたがって、前記領域内経路を決定する、請求項4に記載の装置。
【請求項6】
前記領域間経路決定部は、前記一の時間スロットにおける前記終点位置および後続する時間スロットにおける前記始点位置にしたがって、前記領域間経路を決定する、請求項5に記載の装置。
【請求項7】
前記複数のロボットのうちの1つ以上のロボットにおける仕様を示す仕様情報、および、前記複数のタスクのうちの1つ以上のタスクの要件を示すタスク情報に基づいて、前記1つ以上のロボットが前記1つ以上のタスクを実行可能かどうかを示す実行可否を判定する可否判定部を更に備え、
前記領域割当部は、前記実行可否に基づいて前記領域割当を実行する、請求項1から6のいずれか一項に記載の装置。
【請求項8】
前記可否判定部は、前記複数のロボットの各々における仕様を示す仕様情報、および、前記複数のタスクの要件を示すタスク情報に基づいて、前記複数のロボットの各々が前記複数のタスクの各々を実行可能かどうかを示す実行可否を判定する、請求項7に記載の装置。
【請求項9】
前記可否判定部は、前記複数のタスクの各々が属する領域毎の前記設備の環境を示す環境情報に更に基づいて、前記実行可否を判定する、請求項8に記載の装置。
【請求項10】
前記領域割当の結果、前記タスク割当の結果、前記領域内経路、または、前記領域間経路の少なくともいずれかを操業計画として出力する操業計画出力部を更に備える、請求項3から6のいずれか一項に記載の装置。
【請求項11】
前記操業計画を予め定められた基準にしたがって評価した指標を出力する指標出力部、を更に備える、請求項10に記載の装置。
【請求項12】
前記操業計画を予め定められた基準にしたがって評価した指標に基づいて、前記複数のロボットの台数または仕様の少なくとも一方を変更するロボット変更部を更に備え、
前記領域割当部は、前記台数または仕様の少なくとも一方が変更された新たな複数のロボットを前記複数の領域に再割り当てする、請求項10に記載の装置。
【請求項13】
前記操業計画を予め定められた基準にしたがって評価した指標に基づいて、前記複数の領域の領域数または境界の少なくとも一方を変更する領域変更部を更に備え、
前記領域割当部は、前記複数のロボットを、前記領域数または境界の少なくとも一方が変更された新たな複数の領域に再割り当てする、請求項10に記載の装置。
【請求項14】
前記操業計画にしたがって、前記複数のロボットを制御する制御部を更に備える、請求項10に記載の装置。
【請求項15】
コンピュータが、
複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行することと、
前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行することと、
を備える、方法。
【請求項16】
コンピュータにより実行されて、前記コンピュータを、
複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、
前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、
して機能させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置、方法、および、プログラムに関する。
【背景技術】
【0002】
特許文献1には、「自律マルチプラットフォームロボットシステム」が記載されている。特許文献2には、「マルチロボット環境においてノンプリエンプティブタスクのスケジューリングを最適化するためのシステム及び方法」が記載されている。
[先行技術文献]
[特許文献]
[特許文献1] 特表2003-515801
[特許文献2] 特開2020-149675
【発明の概要】
【0003】
本発明の第1の態様においては、装置を提供する。前記装置は、複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、を備える。
【0004】
前記装置は、前記タスク割当の結果に基づいて前記対象ロボットを前記対象領域内で移動させる領域内経路を決定する領域内経路決定部を更に備えてもよい。
【0005】
前記装置のいずれかは、前記領域割当の結果に基づいて前記複数のロボットを前記複数の領域のうちの領域間で移動させる領域間経路を決定する領域間経路決定部を更に備えてもよい。
【0006】
前記装置のいずれかにおいて、前記領域割当部は、一の時間スロットにおける前記領域割当において、他の時間スロットにおける前記領域割当の結果に基づいて、前記複数のロボットの各々について前記一の時間スロットにおける始点位置および終点位置を決定してもよい。
【0007】
前記装置のいずれかにおいて、前記領域内経路決定部は、前記一の時間スロットにおける前記始点位置および前記終点位置にしたがって、前記領域内経路を決定してもよい。
【0008】
前記装置のいずれかにおいて、前記領域間経路決定部は、前記一の時間スロットにおける前記終点位置および後続する時間スロットにおける前記始点位置にしたがって、前記領域間経路を決定してもよい。
【0009】
前記装置のいずれかは、前記複数のロボットのうちの1つ以上のロボットにおける仕様を示す仕様情報、および、前記複数のタスクのうちの1つ以上のタスクの要件を示すタスク情報に基づいて、前記1つ以上のロボットが前記1つ以上のタスクを実行可能かどうかを示す実行可否を判定する可否判定部を更に備え、前記領域割当部は、前記実行可否に基づいて前記領域割当を実行してもよい。
【0010】
前記装置のいずれかにおいて、前記可否判定部は、前記複数のロボットの各々における仕様を示す仕様情報、および、前記複数のタスクの要件を示すタスク情報に基づいて、前記複数のロボットの各々が前記複数のタスクの各々を実行可能かどうかを示す実行可否を判定してもよい。
【0011】
前記装置のいずれかにおいて、前記可否判定部は、前記複数のタスクの各々が属する領域毎の前記設備の環境を示す環境情報に更に基づいて、前記実行可否を判定してもよい。
【0012】
前記装置のいずれかは、前記領域割当の結果、前記タスク割当の結果、前記領域内経路、または、前記領域間経路の少なくともいずれかを操業計画として出力する操業計画出力部を更に備えてもよい。
【0013】
前記装置のいずれかは、前記操業計画を予め定められた基準にしたがって評価した指標を出力する指標出力部を更に備えてもよい。
【0014】
前記装置のいずれかは、前記操業計画を予め定められた基準にしたがって評価した指標に基づいて、前記複数のロボットの台数または仕様の少なくとも一方を変更するロボット変更部を更に備え、前記領域割当部は、前記台数または仕様の少なくとも一方が変更された新たな複数のロボットを前記複数の領域に再割り当てしてもよい。
【0015】
前記装置のいずれかは、前記操業計画を予め定められた基準にしたがって評価した指標に基づいて、前記複数の領域の領域数または境界の少なくとも一方を変更する領域変更部を更に備え、前記領域割当部は、前記複数のロボットを、前記領域数または境界の少なくとも一方が変更された新たな複数の領域に再割り当てしてもよい。
【0016】
前記装置のいずれかは、前記操業計画にしたがって、前記複数のロボットを制御する制御部を更に備えてもよい。
【0017】
本発明の第2の態様においては、方法を提供する。前記方法は、コンピュータが、複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行することと、前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行することと、を備える。
【0018】
本発明の第3の態様においては、プログラムを提供する。前記プログラムは、コンピュータにより実行されて、前記コンピュータを、複数のロボットの仕様、および、操業対象となる設備において実行すべき複数のタスクの要件に基づいて、前記複数のロボットを前記設備を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、前記複数の領域のそれぞれである対象領域について、前記複数のロボットのうちの前記対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、前記複数のタスクのうちの前記対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、して機能させる。
【0019】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0020】
【
図1】本実施形態に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。
【
図2】本実施形態に係る装置100が記憶する各種情報の一例を示す。
【
図3】本実施形態に係る装置100が実行する領域割当の結果の一例を示す。
【
図4】本実施形態に係る装置100が実行するタスク割当の結果の一例を示す。
【
図5】本実施形態に係る装置100が決定した領域内経路の一例を示す。
【
図6】本実施形態に係る装置100が決定した領域間経路の一例を示す。
【
図7】本実施形態に係る装置100が実行する方法のフロー図の一例を示す。
【
図8】本実施形態の第1の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。
【
図9】本実施形態の第2の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。
【
図10】本実施形態の第3の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。
【
図11】本実施形態の第3の変形例に係る装置100が操業計画を繰り返し構築するために実行する方法のフロー図の一例を示す。
【
図12】本実施形態の第3の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。
【
図13】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。
【発明を実施するための形態】
【0021】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の課題を解決するための手段に必須であるとは限らない。
【0022】
図1は、本実施形態に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。なお、これらブロックは、それぞれ機能的に分離された機能ブロックであって、実際の装置構成とは必ずしも一致していなくてもよい。すなわち、本図において、1つのブロックとして示されているからといって、それが必ずしも1つのデバイスにより構成されていなくてもよい。また、本図において、別々のブロックとして示されているからといって、それらが必ずしも別々のデバイスにより構成されていなくてもよい。他のブロック図についても同様である。
【0023】
設備10は、操業対象となる機器、装置、または、建物等である。例えば、設備10は、プラントであってもよい。プラントとしては、化学やバイオ等の工業プラントの他、ガス田や油田等の井戸元やその周辺を管理制御するプラント、水力・火力・原子力等の発電を管理制御するプラント、太陽光や風力等の環境発電を管理制御するプラント、上下水やダム等を管理制御するプラント等が挙げられる。
【0024】
このような設備10においては、人材不足、作業時の安全性、および、メンテナンスコスト等の問題から、ロボット導入の期待が高まっており、仕様の異なる多種多様なロボットの開発が進んでいる。開発中または開発済のロボットの中には自律移動が可能なものや、人手を介することなくタスクを実行可能なものもある。このようなロボットを複数台導入したマルチロボットシステムにより設備10を少なくとも部分的に操業することが検討されている。
【0025】
ロボット20は、設備10に導入されて設備10の操業に係る様々なタスクを実行する。本図においては、ロボット20i、ロボット20j、および、ロボット20k(「ロボット20」と総称する。)の3台のロボット20が設備10に導入される場合を一例として示している。
【0026】
ロボット20iは、例えば、四足歩行により自立走行可能なロボットであってよい。また、ロボット20iは、例えば、搭載されたマイクにより周囲の音を測定可能であり、かつ、搭載されたカメラにより撮影対象を撮影可能であってよい。また、ロボット20iは、例えば、時速5kmで移動可能であってよい。また、ロボット20iは、例えば、バッテリが満充電時に3時間の連続動作が可能であってよい。また、ロボット20iは、例えば、20cm以下の段差を乗り越え可能であってよい。
【0027】
ロボット20jは、例えば、回転翼により自立飛行可能なロボット(ドローンやマルチコプター等)であってよい。また、ロボット20jは、搭載されたサーモカメラにより測定対象の温度を測定可能であり、かつ、搭載されたカメラにより撮影対象を撮影可能であってよい。また、ロボット20jは、例えば、時速10kmで移動可能であってよい。また、ロボット20jは、例えば、バッテリが満充電時に5時間の連続動作が可能であってよい。
【0028】
ロボット20kは、例えば、キャタピラにより自立走行可能なロボットであってよい。また、ロボット20kは、例えば、搭載されたマイクにより周囲の音を測定可能であり、かつ、搭載されたアームにより操作器(バルブ等)を操作可能であってよい。また、ロボット20kは、例えば、時速3kmで移動可能であってよい。また、ロボット20kは、バッテリが満充電時に2時間の連続動作が可能であってよい。また、ロボット20kは、例えば、防爆耐性を備えていてよい。また、ロボット20zは、例えば、50cm以下の段差を乗り越え可能であってよい。
【0029】
このように仕様の異なる多種多様な複数のロボット20が設備10に導入されてよい。なお、上述の説明では、ロボット20i、ロボット20j、および、ロボット20kのように仕様が互いに異なる3台のロボット20が設備10に導入される場合を一例として示した。しかしながら、設備10に導入されるロボット20の台数や仕様はこれに限定されるものではなく、様々なロボット20の様々な組み合わせによりマルチロボットシステムが構成されてよい。この場合、例えば、設備10に導入される複数のロボットには同一仕様のロボットが複数含まれていてもよい。
【0030】
マルチロボットシステムにより設備10を操業するにあたっては操業計画を構築する必要がある。しかしながら、このような操業計画を構築するにあたっては、多種多様なロボットの仕様、多岐にわたるタスクの要件、および、設備10の環境による制約等の様々な要素を考慮しなければならない。そのため、操業計画を人やルールベースで構築することは、相当な工数を要する上、構築した計画が非効率的であるといった問題や、実行不可のタスクをロボット20に割り当ててしまうといった問題が生じ得る。
【0031】
従来、このような問題に対して、最適化技術を用いた手法が確立されており、上述の様々な要素や計画の方針などをもとに最適化問題を構築し、それを解くことによって所望の操業計画を得ることが知られている。しかしながら、マルチロボットシステムによる操業計画の問題を解くことは、NP(Non-deterministic Polynomial time)困難と呼ばれる非常に計算コストの高いものとなっており、運用していくのは非現実的である。また、計算コストは、設備10の規模や導入するロボット20の台数に依存する面もあり、例えばプラント等の大規模な設備10に数多くのロボット20を導入するような場合には、計算負荷を低減して近似解を得る手法を実装するだけでは、運用まで至らないことが想定される。
【0032】
そこで、本実施形態に係る装置100は、処理を領域割当、タスク割当、領域内経路決定、および、領域間経路決定に区分けする。これにより、本実施形態に係る装置100によれば、設備10の規模やロボット20の台数によらずに、複数のロボット20による操業計画問題を高速に解き、現実的な計算時間で現実的な操業計画を構築することができる。このような装置100について詳細に説明する。
【0033】
装置100は、記憶部110と、領域割当部120と、タスク割当部130と、領域内経路決定部140と、領域間経路決定部150と、操業計画出力部160と、を備える。
【0034】
記憶部110は、操業計画を構築するための各種情報を記憶する。このような情報は、設備10や外部システムからネットワークを介して取得されたものであってもよいし、ユーザ入力を介して取得されたものであってもよいし、各種メモリデバイスを介して取得されたものであってもよい。記憶部110に記憶される情報の詳細については後述する。
【0035】
領域割当部120は、複数のロボット20の仕様、および、操業対象となる設備10において実行すべき複数のタスクの要件に基づいて、複数のロボット20を設備10を分割した複数の領域に割り当てる領域割当を実行する。領域割当部120は、領域割当の結果を、タスク割当部130、領域内経路決定部140、領域間経路決定部150、および、操業計画出力部160へ供給する。
【0036】
タスク割当部130は、複数の領域のそれぞれである対象領域について、複数のロボット20のうちの対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、複数のタスクのうちの対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行する。タスク割当部130は、タスク割当の結果を、領域内経路決定部140、および、操業計画出力部160へ供給する。
【0037】
領域内経路決定部140は、タスク割当の結果に基づいて対象ロボットを対象領域内で移動させる領域内経路を決定する。領域内経路決定部140は、決定した領域内経路を、操業計画出力部160へ供給する。
【0038】
領域間経路決定部150は、領域割当の結果に基づいて複数のロボット20を複数の領域のうちの領域間で移動させる領域間経路を決定する。領域間経路決定部150は、決定した領域間経路を、操業計画出力部160へ供給する。
【0039】
操業計画出力部160は、領域割当の結果、タスク割当の結果、領域内経路、または、領域間経路の少なくともいずれかを操業計画として出力する。操業計画出力部160は、例えばモニタであってよく、操業計画を表示出力してよい。これに代えて、または、加えて、操業計画出力部160は、通信部であってよく、操業計画を他の機能部や他の装置へ送信出力してよい。これに代えて、または、加えて、操業計画出力部160は、プリンタであってよく、操業計画を印字出力してよい。これに代えて、または、加えて、操業計画出力部160は、スピーカであってよく、操業計画を音声出力してよい。
【0040】
このような機能部を備えた装置100は、PC(パーソナルコンピュータ)、タブレット型コンピュータ、スマートフォン、ワークステーション、サーバコンピュータ、または汎用コンピュータ等のコンピュータであってよく、複数のコンピュータが接続されたコンピュータシステムであってもよい。このようなコンピュータシステムもまた広義のコンピュータである。また、装置100は、コンピュータ内で1または複数実行可能な仮想コンピュータ環境によって実装されてもよい。これに代えて、装置100は、上述の機能を提供するためにカスタマイズされた専用コンピュータであってもよく、専用回路によって実現された専用ハードウェアであってもよい。また、インターネットに接続可能な場合、装置100は、クラウドコンピューティングにより実現されてもよい。
【0041】
このようなコンピュータは、プログラムを格納するメモリと、プログラムを実行するプロセッサと、を備え、プロセッサがプログラムを実行することにより、装置100としての機能が実装されてもよい。すなわち、コンピュータにより実行されて、コンピュータを、複数のロボット20の仕様、および、操業対象となる設備10において実行すべき複数のタスクの要件に基づいて、複数のロボット20を設備10を分割した複数の領域に割り当てる領域割当を実行する領域割当部と、複数の領域のそれぞれである対象領域について、複数のロボット20のうちの対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、複数のタスクのうちの対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行するタスク割当部と、して機能させる、プログラムもまた提供される。また、このようなプログラムを記録した非一時的コンピュータ可読媒体もまた提供される。
【0042】
図2は、本実施形態に係る装置100が記憶する各種情報の一例を示す。記憶部110は、例えば、点検基準情報、仕様情報、タスク情報、環境情報、実行可否情報、および、外部情報を記憶してよい。
【0043】
点検基準情報は、事前に設定された点検基準を示す情報である。一例として、点検基準情報には、点検種別、重要度、良否判定基準、および、保全担当者立会要否等の情報が含まれていてよい。
【0044】
仕様情報は、複数のロボット20の各々における仕様を示す情報である。一例として、仕様情報には、複数のロボット20の各々における、移動手段、搭載センサ(測定可能な物理量)、搭載アーム、移動速度、連続動作時間、バッテリ残量、乗り越え可能な段差、防爆耐性、および、単位時間当たりに実行可能なタスク数等の情報が含まれていてよい。ここで、連続動作時間は、バッテリの規格値上の満充電容量にしたがって推定される連続動作が可能な時間を示すものであってもよいし、SOH(State оf Health)を考慮したバッテリの劣化時の満充電容量にしたがって推定される連続動作が可能な時間を示すものであってもよい。また、バッテリ残量は、バッテリの規格値上の満充電容量に対する現在のバッテリの充電容量の比率、すなわち、SOC(State of Charge)を示すものであってもよいし、SOHを考慮したバッテリの劣化時の満充電容量に対する現在のバッテリの充電容量の比率を示すものであってもよい。
【0045】
タスク情報は、設備10において実行すべき複数のタスクの要件を示す情報である。一例として、タスク情報には、複数のタスクの各々における、位置、期限、周期、項目、手順、対象計器、および、対象操作器等の情報が含まれていてよい。
【0046】
環境情報は、設備10の環境を示す情報である。一例として、環境情報には、設備10の複数の地点の各々における、3Dマップ、温度、湿度、ガス濃度、および、放射線量等の情報が含まれていてよい。
【0047】
実行可否情報は、複数のロボット20の各々が複数のタスクの各々を実行可能かどうかを示す情報である。本実施形態においては、このような実行可否情報は、ロボット20の仕様、タスクの要件、および、設備10の環境等を考慮し、予め人手により作成されたものであってよい。
【0048】
外部情報は、操業計画を構築するにあたり作用し得る外乱を示す情報である。一例として、外部情報には、メンテナンス計画、天気、外気温、および、災害情報等が含まれていてよい。
【0049】
図3は、本実施形態に係る装置100が実行する領域割当の結果の一例を示す。本図においては、一例として、時間スロット1(9時00分~9時30分)において、領域Aにはロボット20jが割り当てられていることを示している。また、本図においては、一例として、時間スロット2(9時30分~10時00分)において、領域Bには、ロボット20jおよびロボット20kが割り当てられていることを示している。また、本図においては、一例として、時間スロット3(10時00分~10時30分)において、領域Cには、いずれのロボット20も割り当てられていないことを示している。
【0050】
このように、領域割当部120は、予め定められた時間スロットごとに、複数のロボット20を複数の領域に割り当ててよい。この際、領域割当部120は、必ずしも複数のロボット20の各々を複数の領域のいずれかに割り当てなくてもよい。例えば、ロボット20kは、連続動作時間が2時間となっている。この場合、ロボット20kは、9時00分から操業を開始させたとすると11時00分にバッテリ切れを起こすことが予測される。このような場合に、領域割当部120は、例えば時間スロット4(10時30分~11時00分)においてロボット20kをいずれの領域にも割り当てずに、充電させるように領域割当を実行してもよい。
【0051】
また、領域割当部120は、一の時間スロットにおける領域割当において、他の時間スロットにおける領域割当の結果に基づいて、複数のロボット20の各々について位置の時間スロットにおける始点位置sおよび終点位置eを決定してよい。一例として、ロボット20kに着目すると、本図において、「Xsk1」は、ロボット20kの時間スロット1における始点位置sk1のX座標を示している。同様に、「Ysk1」は、ロボット20kの時間スロット1における始点位置sk1のY座標を示している。また、「Xek1」は、ロボット20kの時間スロット1における終点位置ek1のX座標を示している。同様に、「Yek1」は、ロボット20kの時間スロット1における終点位置ek1のY座標を示している。
【0052】
ロボット20kは、時間スロット1において領域Cに割り当てられ、時間スロット2において領域Bに割り当てられ、時間スロット3において領域Aに割り当てられている。すなわち、ロボット20kは、時間スロット1から時間スロット2に移行するにあたって、領域Cから領域Bへの領域間の移動が生じる。同様に、ロボット20kは、時間スロット2から時間スロット3に移行するにあたって、領域Bから領域Aへの領域間の移動が生じる。
【0053】
このような場合、ロボット20kの時間スロット1における終点位置ek1と、ロボット20kの時間スロット2における始点位置sk2とは近傍にあることが好ましい。同様に、ロボット20kの時間スロット2における終点位置ek2と、ロボット20kの時間スロット3における始点位置sk3とは近傍にあることが好ましい。
【0054】
したがって、領域割当部120は、終点位置ek1と始点位置sk2とが近傍となるように、終点位置ek1の座標(Xek1,Yek1)、および、始点位置sk2の座標(Xsk2,Ysk2)を決定してよい。同様に、領域割当部120は、終点位置ek2と始点位置sk3とが近傍となるように、終点位置ek2の座標(Xek2,Yek2)、および、始点位置sk3の座標(Xsk3,Ysk3)を決定してよい。すなわち、領域割当部120は、時間スロット(n-1)における終点位置e(n-1)と時間スロット(n)における始点位置s(n)との距離が予め定められた閾値以下(好ましくは、最小)となるように、時間スロット(n-1)における終点位置e(n-1)の座標、および、時間スロット(n)における始点位置s(n)の座標を決定してよい。
【0055】
なお、時間スロットの最初や最後であって直前の時間スロットや直後の時間スロットが存在しない場合には、領域割当部120は、任意の位置、例えば、ロボット20の待機位置(充電ステーション等)等からの距離が予め定められた閾値以下(好ましくは、最小)となるように始点位置sの座標、および、終点位置eの座標を決定してよい。
【0056】
領域割当部120は、複数のロボット20の仕様、および、複数のタスクの要件に基づいて(例えば、実行可否情報に基づいて)、種々の既存のアルゴリズムによりこのような領域割当を実行してよい。一例として、領域割当部120は、整数計画法により領域割当を実行してよい。この場合、領域割当部120は、目的関数を最大化するように領域割当を実行してよい。この際、領域割当部120は、達成するタスクの量(数)が多い程、値が大きくなるように目的関数を設定してよい。また、領域割当部120は、領域間の移動距離が大きい程、値が小さくなるように目的関数を設定してよい。なお、領域間の移動距離は、後段の領域間経路の決定処理において確定されるものであり、この時点においては未定である。したがって、領域割当部120は、どの領域からどの領域への移動かによって予め定義された暫定距離に基づいて、領域間の移動距離を決定してよい。
【0057】
図4は、本実施形態に係る装置100が実行するタスク割当の結果の一例を示す。本図は、時間スロット2における領域Bのタスク割当を一例として示している。上述のとおり、時間スロット2において、領域Bには、ロボット20jおよびロボット20kが割り当てられている。この場合、領域Bが対象領域となり、ロボット20jおよびロボット20kが対象ロボットとして定義される。このような場合、タスク割当部130は、複数のロボット20のうちの対象ロボットであるロボット20jおよびロボット20kに対して、複数のタスクのうちの対象領域である領域Bに属する領域内タスクb1~bnを割り当てる。
【0058】
本図においては、一例として、ロボット20jに対して、タスクb1、b2、b4、b5、および、b6が割り当てられ、ロボット20kに対して、タスクb3、b5、および、b7が割り当てられていることを示している。なお、タスクb5は、ロボット20jおよびロボット20kの両者に割り当てられている。例えばこれは、タスクb5がバルブを開閉操作した場合における配管の温度を測定する等のマルチタスクであった場合に起こり得る。このような場合、タスク割当部130は、タスクb5のうちのバルブを開閉操作するタスクをアームが搭載されたロボット20kに割り当て、タスクb5のうちの配管の温度を測定するタスクをサーモカメラが搭載されたロボット20jに割り当てることができる。タスク割当部130は、例えばこのように、複数のロボット20に対して共通のタスクを割り当ててもよい。
【0059】
タスク割当部130は、複数のロボット20の仕様、および、複数のタスクの要件に基づいて(例えば、実行可否情報に基づいて)、種々の既存のアルゴリズムによりこのようなタスク割当を実行してよい。一例として、タスク割当部130は、領域割当部120と同様、整数計画法によりタスク割当を実行してよい。
【0060】
図5は、本実施形態に係る装置100が決定した領域内経路の一例を示す。本図は、時間スロット2における領域Bの領域内経路を一例として示している。
【0061】
本図において、白三角は、ロボット20jの時間スロット2における始点位置sj2を示している。始点位置sj2の座標は、上述のとおり、(Xsj2,Ysj2)と決定されている。また、本図において、白丸は、ロボット20jの時間スロット2における終点位置ej2を示している。終点位置ej2の座標は、上述のとおり、(Xej2,Yej2)と決定されている。また、ロボット20jの時間スロット2におけるタスクとしては、上述のとおり、タスクb1、b2、b4、b5、および、b6が割り当てられている。
【0062】
この場合、領域内経路決定部140は、始点位置sj2および終点位置ej2、並びに、タスクb1、b2、b4、b5、および、b6の各々の位置にしたがって、ロボット20jの時間スロット2における領域内経路を決定してよい。本図において、実線矢印は、ロボット20jの時間スロット2における領域内経路を示している。本図においては、一例として、時間スロット2において、ロボット20jは、始点位置sj2→タスクb1→タスクb4→タスクb6→タスクb5→タスクb2→終点位置ej2の経路で移動すべきことを示している。
【0063】
領域内経路決定部140は、予め定められたルールにしたがって、このような領域内経路を決定してよい。一例として、領域内経路決定部140は、始点位置sj2から最も近いタスクb1→タスクb1から最も近いタスクb4→…タスクb2から終点位置ej2となるように、最も近いタスクから順に経由するというルールにしたがって、領域内経路を決定してもよい。しかしながら、これに限定されるものではない。領域内経路決定部140は、他のルールにしたがって領域内経路を決定してもよい。一例として、領域内経路決定部140は、領域内経路の合計距離を予め定められた閾値以下(好ましくは、最小)とするというルールにしたがって、領域内経路を決定してもよい。例えばこのようにして、領域内経路決定部140は、一の時間スロットにおける始点位置sおよび終点位置eにしたがって、領域内経路を決定してよい。
【0064】
同様に、本図において、黒三角は、ロボット20kの時間スロット2における始点位置sk2を示している。始点位置sk2の座標は、上述のとおり、(Xsk2,Ysk2)と決定されている。また、本図において黒丸は、ロボット20kの時間スロット2における終点位置ek2を示している。終点位置ek2の座標は、上述のとおり、(Xek2,Yek2)と決定されている。また、ロボット20kの時間スロット2におけるタスクとしては、上述のとおり、タスクb3、b5、および、b7が割り当てられている。
【0065】
この場合、領域内経路決定部140は、始点位置sk2および終点位置ek2、並びに、タスクb3、b5、および、b7の各々の位置にしたがって、ロボット20kの時間スロット2における領域内経路を決定してよい。本図において、点線矢印は、ロボット20kの時間スロット2における領域内経路を示している。本図においては、一例として、時間スロット2において、ロボット20kは、始点位置sk2→タスクb3→タスクb7→タスクb5→終点位置ek2の経路で移動すべきことを示している。
【0066】
なお、上述のとおり、タスクb5は、ロボット20jおよびロボット20kの両者に割り当てられている。このような場合、領域内経路決定部140は、ロボット20jおよびロボット20kが同じ時間にタスクb5の位置に位置するように、ロボット20jおよびロボット20kの領域内経路をそれぞれ決定してよい。一例として、領域内経路決定部140は、共通のタスクが複数の対象ロボットに割り当てられている場合、当該共通のタスクの位置において複数の対象ロボットのうちの他の対象ロボットの到着を待つ待ち時間をコストとして、コスト関数の値が小さくなるように(好ましくは、最小となるように)複数の対象ロボットの領域内経路をそれぞれ決定してよい。
【0067】
また、本図において×印は、複数の対象ロボット同士の衝突の可能性を示している。一例として、ロボット20jがタスクb2の位置から終点位置ej2へ移動する経路と、ロボット20kがタスクb5の位置から終点位置ek2へ移動する経路が交差し、かつ、交差点を同じタイミングで通過する可能性がある。このような場合に、領域内経路決定部140は、例えば、ロボット20kがタスクb5の位置から終点位置ek2へ移動する経路を、ロボット20jがタスクb2の位置から終点位置ej2へ移動する経路と交差しない経路となるように変更してよい。なお、上述の説明では、領域内経路決定部140が、複数の対象ロボット同士の経路が交差しないようにいずれかのロボット20の経路を変更する場合を一例と示したが、これに限定されるものではない。複数の対象ロボット同士の経路が交差していたとしても、交差点を通過するタイミングが異なれば衝突の可能性はない。したがって、領域内経路決定部140は、複数の対象ロボットが交差点を異なるタイミングで通過すべくいずれかの対象ロボットを待機させるよう変更してもよい。例えばこのようにして、領域内経路決定部140は、複数の対象ロボットのそれぞれについて、互いに衝突を回避するように領域内経路を決定してよい。なお、複数の対象ロボットの移動高度がそれぞれ異なり衝突の可能性がない場合には、領域内経路決定部140は、衝突回避を実行しなくてもよい。
【0068】
図6は、本実施形態に係る装置100が決定した領域間経路の一例を示す。本図は、時間スロット1および時間スロット2間における領域Aおよび領域B間の領域間経路を一例として示している。
【0069】
本図において、白丸は、ロボット20jの時間スロット1における終点位置ej1を示している。終点位置ej1の座標は、上述のとおり、(Xej1,Yej1)と決定されている。また、本図において、白三角は、ロボット20jの時間スロット2における始点位置sj2を示している。始点位置sj2の座標は、上述のとおり、(Xsj2,Ysj2)と決定されている。
【0070】
この場合、領域間経路決定部150は、時間スロット1における終点位置ej1および時間スロット2における始点位置sj2にしたがって、ロボット20jの時間スロット1および時間スロット2間における領域間経路を決定してよい。本図において、実線矢印は、ロボット20jの時間スロット1および時間スロット2間における領域間経路を示している。
【0071】
領域間経路決定部150は、予め定められたルールにしたがって、このような領域間経路を決定してよい。一例として、領域間経路決定部150は、仕様情報および環境情報に基づいて、ロボット20jの移動手段に照らしてロボット20jの移動の障害となり得る障害物を特定してよい。そして、領域間経路決定部150は、当該特定された障害物を避けつつ、終点位置ej1から始点位置sj2までの距離を予め定められた閾値以下(好ましくは、最小)とするというルールにしたがって、領域間経路を決定してもよい。例えばこのようにして、ロボット20jの時間スロット1および時間スロット2間における領域間経路を決定してもよい。しかしながら、これに限定されるものではない。領域間経路決定部150は、他のルールにしたがって領域間経路を決定してもよい。例えばこのようにして、領域間経路決定部150は、一の時間スロットにおける終点位置eおよび後続する時間スロットにおける始点位置sにしたがって、領域間経路を決定してよい。
【0072】
同様に、本図において、黒丸は、ロボット20iの時間スロット1における終点位置ei1を示している。終点位置ei1の座標は、上述のとおり、(Xei1,Yei1)と決定されている。また、本図において、黒三角は、ロボット20iの時間スロット2における始点位置si2を示している。始点位置si2の座標は、上述のとおり、(Xsi2,Ysi2)と決定されている。
【0073】
この場合、領域間経路決定部150は、時間スロット1における終点位置ei1および時間スロット2における始点位置si2にしたがって、ロボット20iの時間スロット1および時間スロット2間における領域間経路を決定してよい。本図において、点線矢印は、ロボット20iの時間スロット1および時間スロット2間における領域間経路を示している。
【0074】
また、本図において×印は、同じ領域間を移動する複数のロボット20同士の衝突の可能性を示している。一例として、ロボット20jが終点位置ej1から始点位置sj2へ移動する経路と、ロボット20iが終点位置ei1から始点位置si2へ移動する経路が交差し、かつ、交差点を同じタイミングで通過する可能性がある。このような場合に、領域間経路決定部150は、複数のロボットが異なるタイミングで交差点を通過するように、ロボット20iの経路を変更してよい。なお、領域間経路決定部150における衝突回避についても、領域内経路決定部140と同様、様々なルールにしたがって実行されてよい。例えばこのようにして、領域間経路決定部150は、複数のロボット20のそれぞれについて、互いに衝突を回避するように領域間経路を決定してよい。
【0075】
図7は、本実施形態に係る装置100が実行する方法のフロー図の一例を示す。方法における各ステップは、コンピュータが動作主体となって実行されてよい。しかしながら、各ステップにおいて、全体としてコンピュータが動作主体となっていればよく、主たる部分ではない一部の部分をコンピュータ以外が実行する場合が含まれていてもよい。他のフロー図についても同様である。
【0076】
ステップS710において、装置100は、各種情報を記憶する。例えば、記憶部110は、操業計画を構築するための各種情報を記憶してよい。一例として、記憶部110は、
図2に示されるような、点検基準情報、仕様情報、タスク情報、環境情報、実行可否情報、および、外部情報を記憶してよい。なお、本実施形態においては、記憶部110は、実行可否情報として、ロボット20の仕様、タスクの要件、および、設備10の環境等を考慮し、予め人手により作成された情報を記憶してよい。
【0077】
ステップS720において、装置100は、領域割当を実行する。例えば、領域割当部120は、ステップS710において記憶された各種情報の少なくとも一部、例えば、実行可否情報に基づいて、複数のロボット20の仕様、および、操業対象となる設備10において実行すべき複数のタスクの要件に基づいて、複数のロボット20を設備10を分割した複数の領域に割り当てる領域割当を実行してよい。一例として、領域割当部120は、
図3に示されるように、時間スロット1において、ロボット20jを領域Aに、ロボット20iを領域Bに、ロボット20kを領域Cに割り当ててよい。また、領域割当部120は、時間スロット2において、ロボット20iを領域Aに、ロボット20jおよびロボット20kを領域Bに割り当ててよい。また、領域割当部120は、時間スロット3において、ロボット20iおよびロボット20kを領域Aに、ロボット20jを領域Bに割り当ててよい。
【0078】
この際、領域割当部120は、上述のとおり、時間スロットごとにいずれのロボット20をいずれの領域に割り当てるかに加えて、一の時間スロットにおける領域割当において、他の時間スロットにおける領域割当の結果に基づいて、複数のロボット20の各々について位置の時間スロットにおける始点位置sおよび終点位置eを決定してよい。領域割当部120は、領域割当の結果をタスク割当部130、領域内経路決定部140、領域間経路決定部150、および、操業計画出力部160へ供給する。
【0079】
ステップS730において、装置100は、タスク割当を実行する。例えば、タスク割当部130は、複数の領域のそれぞれである対象領域について、複数のロボット20のうちの対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、複数のタスクのうちの対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行してよい。一例として、タスク割当部130は、
図4に示されるように、時間スロット2における領域Bについて、ロボット20jに対して、タスクb1、b2、b4、b5、b6、および、b7を割り当て、ロボット20kに対して、タスクb3、b5、および、b7を割り当ててよい。
【0080】
タスク割当部130は、他の時間スロットおよび他の領域についても同様にタスク割当を実行してよい。なお、このような他の領域についてのタスク割当は、それぞれの結果が何ら影響を及ぼし合うものではなく、完全に独立している。したがって、タスク割当部130は、複数の領域についてのタスク割当を、それぞれ並列に処理することができる。タスク割当部130は、タスク割当の結果を、領域内経路決定部140、および、操業計画出力部160へ供給する。
【0081】
ステップS740において、装置100は、領域内経路を決定する。例えば、領域内経路決定部140は、ステップS730において実行されたタスク割当の結果に基づいて対象ロボットを対象領域内で移動させる領域内経路を決定してよい。一例として、時間スロット2における領域Bについて、領域内経路決定部140は、
図5に示される実線矢印の経路で移動させるように、ロボット20jの領域内経路を決定してよい。同様に、領域内経路決定部140は、
図5に示される点線矢印の経路で移動させるように、ロボット20kの領域内経路を決定してよい。この際、領域内経路決定部140は、上述のとおり、一の時間スロットにおける始点位置sおよび終点位置eにしたがって、領域内経路を決定してよい。また、領域内経路決定部140は、上述のとおり、複数の対象ロボットのそれぞれについて、互いに衝突を回避するように領域内経路を決定してよい。
【0082】
領域内経路決定部140は、他の時間スロットおよび他の領域についても同様に領域内経路を決定してよい。なお、このような他の時間スロットおよび他の領域についての領域内経路の決定は、それぞれの結果が何ら影響を及ぼし合うものではなく、完全に独立している。したがって、領域内経路決定部140は、複数の時間スロットおよび複数の領域についての領域内経路の決定を、それぞれ並列に処理することができる。領域内経路決定部140は、領域内経路を、操業計画出力部160へ供給する。
【0083】
ステップS750において、装置100は、領域間経路を決定する。例えば、領域間経路決定部150は、ステップS720において実行された領域割当に基づいて複数のロボット20を複数の領域のうちの領域間で移動させる領域間経路を決定してよい。一例として、時間スロット1および時間スロット2間における領域Aおよび領域B間について、領域間経路決定部150は、
図6に示される実線矢印の経路で移動させるように、ロボット20jの領域間経路を決定してよい。同様に、領域間経路決定部150は、
図6に示される点線矢印の経路で移動させるように、ロボット20iの領域間経路を決定してよい。この際、領域間経路決定部150は、上述のとおり、一の時間スロットにおける終点位置eおよび後続する時間スロットにおける始点位置sにしたがって、領域間経路を決定してよい。また、領域間経路決定部150は、上述のとおり、複数のロボット20のそれぞれについて、互いに衝突を回避するように領域間経路を決定してよい。
【0084】
領域間経路決定部150は、他の時間スロット間および他の領域間についても同様に領域間経路を決定してよい。なお、このような他の時間スロット間および他の領域間についての領域間経路の決定は、それぞれの結果が何ら影響を及ぼし合うものではなく、完全に独立している。したがって、領域間経路決定部150は、複数の時間スロット間および複数の領域間についての領域間経路の決定を、それぞれ並列に処理することができる。領域間経路決定部150は、領域間経路を、操業計画出力部160へ供給する。
【0085】
ステップS760において、装置100は、操業計画を出力する。例えば、操業計画出力部160は、ステップS720において実行された領域割当の結果、ステップS730において実行されたタスク割当の結果、ステップS740において決定された領域内経路、または、ステップS750において決定された領域間経路の少なくともいずれかを操業計画として出力してよい。一例として、操業計画出力部160は、領域割当、タスク割当、領域内経路、および、領域間経路の全てを操業計画として出力してよい。
【0086】
装置100は、例えばこのようにして本フローを終了する。なお、上述の説明では、装置100が、ステップS730およびS740の後に、ステップS750を実行する場合を一例として示した。しかしながら、これに限定されるものではない。ステップS750における領域間経路の決定と、ステップS730におけるタスク割当の結果およびステップS740における領域内経路の決定とは、それぞれの結果が何ら影響を及ぼし合うものではなく、完全に独立している。したがって、装置100は、ステップS730およびS740の前にステップS750を実行してもよいし、ステップS730およびS740と並列にステップS750を実行してもよい。
【0087】
このように、コンピュータが、複数のロボット20の仕様、および、操業対象となる設備10において実行すべき複数のタスクの要件に基づいて、複数のロボット20を設備10を分割した複数の領域に割り当てる領域割当を実行することと、複数の領域のそれぞれである対象領域について、複数のロボット20のうちの対象領域に割り当てられた少なくとも1つのロボットである対象ロボットに対して、複数のタスクのうちの対象領域に属する少なくとも1つのタスクである領域内タスクを割り当てるタスク割当を実行することと、を備える、方法もまた提供される。
【0088】
従来、様々な要素や計画の方針などをもとに最適化問題を構築し、それを解くことによって所望の操業計画を得ることが知られている。しかしながら、マルチロボットシステムによる操業計画の問題を解くことは、NP困難と呼ばれる非常に計算コストの高いものとなっており、運用していくのは非現実的である。また、計算コストは、設備10の規模や導入するロボットの台数に依存する面もあり、例えばプラント等の大規模な設備10に多くのロボットを導入するような場合には、計算負荷を低減して近似解を得る手法を実装するだけでは、運用まで至らないことが想定される。
【0089】
これに対して、本実施形態に係る装置100は、処理を領域割当、タスク割当、領域内経路決定、および、領域間経路決定に区分けする。これにより、本実施形態に係る装置100によれば、複数のロボット20による操業計画問題を解くことができ、現実的な操業計画を構築することができる。
【0090】
特に、上述のとおり、異なる領域についてのタスク割当は、それぞれ独立している。そのため、本実施形態に係る装置100は、複数の領域についてのタスク割当を、それぞれ並列に処理可能である。同様に、異なる時間スロットおよび異なる領域についての領域内経路の決定は、それぞれ独立している。そのため、本実施形態に係る装置100は、複数の時間スロットおよび複数の領域についてのタスク割当を、それぞれ並列に処理可能である。同様に、異なる時間スロット間および異なる領域間についての領域間経路の決定は、それぞれ独立している。そのため、本実施形態に係る装置100は、複数の時間スロット間および複数の領域間についての領域間経路の決定を、それぞれ並列に処理可能である。これにより、本実施形態に係る装置100によれば、設備10の規模やロボット20の台数によらずに、操業計画問題を高速に解くことができ、現実的な計算時間で現実的な操業計画を構築することができる。
【0091】
また、本実施形態に係る装置100は、一の時間スロットにおける領域割当において、他の時間スロットにおける領域割当の結果に基づいて、複数のロボット20の各々について位置の時間スロットにおける始点位置および終点位置を決定することもできる。これにより、本実施形態に係る装置100によれば、領域割当処理により始点位置sおよび終点位置eを決定するので、タスク割当処理および領域内経路決定処理と、領域間経路決定処理とを互いに独立させることができ、後続する処理の実行に柔軟性を与えることができる。
【0092】
また、本実施形態に係る装置100は、一の時間スロットにおける始点位置sおよび終点位置eにしたがって、領域内経路を決定することもできる。これにより、本実施形態に係る装置100によれば、領域内経路を決定するにあたって領域割当の結果を踏襲するので、操業計画の一貫性を担保することができる。
【0093】
また、本実施形態に係る装置100は、一の時間スロットにおける終点位置eおよび後続する時間スロットにおける始点位置sにしたがって、領域間経路を決定することもできる。これにより、本実施形態に係る装置100によれば、領域間経路を決定するにあたって領域割当の結果を踏襲するので、操業計画の一貫性を担保することができる。
【0094】
また、本実施形態に係る装置100は、ロボット20同士が互いに衝突することを回避するように領域内経路、または、領域間経路の少なくともいずれかを決定することもできる。これにより、本実施形態に係る装置100によれば、複数のロボット20のそれぞれに経路を割り当てる必要がある場合であっても、ロボット20同士が干渉することを回避し、干渉によって計画どおりに操業が進まなくなってしまうことを防ぐことができる。
【0095】
また、本実施形態に係る装置100は、領域割当、タスク割当、領域内経路、または、領域間経路の少なくともいずれかを操業計画として出力することもできる。これにより、本実施形態に係る装置100によれば、マルチロボットシステムにより設備10を操業するにあたった計画の一部または全部を、ユーザまたは他のシステムへ知らしめることができるので、ユーザまたは他のシステムの負荷を軽減させることができる。
【0096】
図8は、本実施形態の第1の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態においては、装置100が予め人手により作成された実行可否情報を記憶する場合を一例として示したが、本変形例においては、装置100自身が実行可否を判定する。本変形例に係る装置100は、上述の実施形態に係る装置100が備える機能部に加えて、可否判定部810を更に備える。
【0097】
可否判定部810は、複数のロボット20のうちの1つ以上のロボットにおける仕様を示す仕様情報、および、複数のタスクのうちの1つ以上のタスクの要件を示すタスク情報に基づいて、1つ以上のロボットが1つ以上のタスクを実行可能かどうかを示す実行可否を判定する。特に、可否判定部810は、記憶部110にアクセスし、複数のロボット20の各々における仕様を示す仕様情報、および、複数のタスクの要件を示すタスク情報に基づいて、複数のロボット20の各々が複数のタスクの各々を実行可能かどうかを示す実行可否を判定してよい。一例として、可否判定部810は、項目が集音であるタスクについて、マイクが搭載されたロボット20iおよびロボット20kは当該タスクを実行可能であると判定する一方、マイクが搭載されていないロボット20jは当該タスクを実行可能でないと判定してよい。同様に、項目が撮影であるタスクについて、カメラが搭載されたロボット20iおよびロボット20jは当該タスクを実行可能であると判定する一方、カメラが搭載されていないロボット20kは当該タスクを実行可能でないと判定してよい。同様に、項目がバルブの操作であるタスクについて、アームが搭載されたロボット20kは当該タスクを実行可能であると判定する一方、アームが搭載されていないロボット20iおよびロボット20jは当該タスクを実行可能でないと判定してよい。
【0098】
また、可否判定部810は、複数のタスクの各々が属する領域毎の設備10の環境を示す環境情報に更に基づいて、実行可否を判定してもよい。一例として、放射線量が閾値以上である領域に属するタスクについて、防爆耐性を備えるロボット20kは当該タスクを実行可能であると判定する一方、防爆耐性を備えないロボット20iおよびロボット20jは当該タスクを実行可能でないと判定してよい。同様に、30cmの段差を乗り越えた先に位置するタスクについて、移動手段が飛行であるロボット20jおよび50cm以下の段差を乗り越え可能なロボット20kは当該タスクを実行可能であると判定する一方、20cm以下の段差しか乗り越えられないロボット20iは当該タスクを実行可能でないと判定してよい。
【0099】
可否判定部810は、複数のタスクの各々について、複数の観点で実行可否を判定してよい。この際、観点ごとに実行可否が分かれた場合には、可否判定部810は、実行可能と判定した結果の論理積をとればよい。例えば、可否判定部810は、項目が集音であり、かつ、放射線量が閾値以上である領域に属するタスクについて、マイクが搭載され、かつ、防爆耐性を備えるロボット20kは当該タスクを実行可能と判定する一方、マイクが搭載されていても防爆耐性を備えないロボット20iは当該タスクを実行可能でないと判定してよい。
【0100】
可否判定部810は、例えばこのようにして実行可否を判定した判定結果を記憶部110へ供給してよい。記憶部110は、可否判定部810から供給された判定結果を、実行可否情報として記憶してよい。そして、領域割当部120は、可否判定部810により判定された実行可否に基づいて領域割当を実行してよい。
【0101】
このように、本変形例に係る装置100は、仕様情報およびタスク情報に基づいて複数のロボット20の各々が複数のタスクの各々を実行可能かどうかを判定する。これにより、本変形例に係る装置100によれば、実行可否情報を人手により作成することを避けることができるので、実行可否を判定するマンパワーを削減させることができるとともに、判定基準のブレや判定ミスに依らない客観的な実行可否情報に基づいて操業計画を構築することができる。
【0102】
また、本変形例に係る装置100は、複数のタスクの各々が属する領域毎の環境情報に更に基づいて実行可否を判定することもできる。これにより、本変形例に係る装置100によれば、ロボット20の仕様およびタスクの要件のみならず、タスクが位置する領域毎の環境に更に基づいて実行可否を判定するので、実際の使用環境に即して実行可否を判定することができる。
【0103】
図9は、本実施形態の第2の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態においては、装置100が操業計画を出力するまでの構成を一例として示したが、本変形例においては、装置100は、更に、出力した操業計画を評価した指標を取得して、これを出力する。本変形例に係る装置100は、上述の実施形態に係る装置100が備える機能部に加えて、指標取得部910と指標出力部920とを更に備える。また、本変形例に係る装置100において、操業計画出力部160は、操業計画を少なくとも指標取得部910へ出力する。
【0104】
指標取得部910は、操業計画を予め定められた基準にしたがって評価した指標を取得する。この際、指標取得部910は、一例として、ロボット20のランニングコスト、ロボット20の稼働率、および、総操業時間等に照らして、操業計画を評価した指標を取得してよい。なお、指標取得部910は、評価式や評価モデルを用いて自身が評価した指標を取得してもよいし、他のシステムにより評価された指標を取得してもよいし、人手により評価された指標を取得してもよい。指標取得部910は、取得した指標を指標出力部920へ供給する。
【0105】
指標出力部920は、操業計画を予め定められた基準にしたがって評価した指標を出力する。指標出力部920は、例えばモニタであってよく、指標を表示出力してよい。これに代えて、または、加えて、指標出力部920は、通信部であってよく、指標を他の機能部や他の装置へ送信出力してよい。これに代えて、または、加えて、指標出力部920は、プリンタであってよく、指標を印字出力してよい。これに代えて、または、加えて、指標出力部920は、スピーカであってよく、指標を音声出力してよい。
【0106】
このように、本変形例に係る装置100は、操業計画を評価した指標を取得して出力する。これにより、本変形例に係る装置100によれば、構築された操業計画のみならず、当該操業計画がどの程度高く評価されるものであるのかをユーザまたは他のシステムへ知らしめることができる。
【0107】
また、本変形例に係る装置100は、操業計画を複数構築し、複数の操業計画のそれぞれについての指標を取得して出力してもよい。これにより、本変形例に係る装置100によれば、複数のロボット20の配置を調整しながら操業計画問題を繰り返し解いていくことで、適切なロボット20の配置を割り出すことができるので、ロボット導入のコンサル支援ツールとして機能させることもできる。
【0108】
図10は、本実施形態の第3の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。本図においては、
図9と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の変形例においては、装置100が指標を出力するまでの構成を一例として示したが、本変形例においては、装置100は、更に、出力した指標に基づいて、ロボット20の組み合わせ、または、設備10の複数の領域への分割の少なくともいずれかを変更する。
【0109】
換言すれば、これまで、ロボット20の組み合わせが固定であり(上述の説明では、ロボット20i、ロボット20j、および、ロボット20kの3台のロボット20を設備10に導入することが既に決まっており)、かつ、設備10の複数の領域への分割が固定である(上述の説明では、設備10が領域A、領域B、および、領域Cの3つの領域に予め分割されている)という前提のもとに、装置100が操業計画を構築する場合を説明した。しかしながら、本変形例においては、装置100は、出力した指標に基づいて、これらの少なくともいずれかを変更する。本変形例に係る装置100は、上述の変形例に係る装置100が備える機能部に加えて、ロボット変更部1010と、領域変更部1020と、を更に備える。また、本変形例に係る装置100において、指標出力部920は、指標をロボット変更部1010および領域変更部1020へ供給する。
【0110】
ロボット変更部1010は、操業計画を予め定められた基準にしたがって評価した指標に基づいて、複数のロボット20の台数または仕様の少なくとも一方を変更する。この際、ロボット変更部1010は、例えば、設備10に導入すべきロボット20の台数のみを変更してもよいし、台数はそのままに設備10に導入すべきロボットの仕様のみを変更してもよいし、台数および仕様の両者を変更してもよい。一例として、総操業時間が長く、指標が予め定められた基準を満たさない場合に、ロボット変更部1010は、設備10に導入すべきロボット20の台数を増やしてもよい。この際、ロボット変更部1010は、例えば、複数のロボット20に既に含まれている既存のロボットと同一仕様のロボット(例えば、ロボット20iと同一仕様のロボット20i(2))を追加してもよいし、既存のロボットとは仕様が異なる新規のロボット(例えば、ロボット20l)を追加してもよい。また、1つのロボット20の稼働率が極端に高く、指標が予め定められた基準を満たさない場合に、ロボット変更部1010は、設備10に導入すべきロボットの仕様を変更してもよい。この際、ロボット変更部1010は、例えば、複数のロボット20に既に含まれている既存のロボットのうちの少なくとも1つを他の既存のロボットと同一仕様のロボットに変更(例えば、ロボット20iをロボット20jと同一仕様のロボット20j(2)に変更)してもよいし、既存のロボットとは仕様が異なる新規のロボットに変更(例えば、ロボット20iをロボット20lに変更)してもよい。
【0111】
ロボット変更部1010は、複数のロボット20の台数または仕様の少なくとも一方を変更した場合に、その旨を記憶部110へ通知する。これに応じて、記憶部110は、記憶するロボット20に関する情報(例えば、仕様情報)を、新たな複数のロボット20の情報に更新する。そして、領域割当部120は、台数または仕様の少なくとも一方が変更された新たな複数のロボット20を複数の領域に再割り当てする。これに応じて、タスク割当部130は、タスク割当を再実行し、領域内経路決定部140は、領域内経路を再決定し、領域間経路決定部150は、領域間経路を再決定する。装置100は、例えばこのようにして、操業計画を再構築し、操業計画出力部160は、再構築された操業計画を出力する。
【0112】
領域変更部1020は、操業計画を予め定められた基準にしたがって評価した指標に基づいて、複数の領域の領域数または境界の少なくとも一方を変更する。この際、領域変更部1020は、例えば、領域数のみを変更してもよいし、領域数はそのままに境界のみを変更してもよいし、領域数および境界の両者を変更してもよい。一例として、総操業時間が長く、指標が予め定められた基準を満たさない場合に、領域変更部1020は、領域数を増やしてもよい。この際、領域変更部1020は、例えば、3つの領域に分割された設備10を4つの領域に再分割するように複数の領域を変更してもよい。また、1つのロボット20の稼働率が極端に高く、指標が予め定められた基準を満たさない場合に、領域変更部1020は、設備10を複数の領域に分割するための境界を変更してもよい。この際、領域変更部1020は、例えば、境界の全てを変更して、設備10を領域D、領域E、および、領域Fの3つの領域に再分割してもよいし、境界の一部を変更して、設備10を領域A、領域D、および、領域Eの3つの領域に再分割してもよい。
【0113】
領域変更部1020は、複数の領域の領域数または境界の少なくとも一方を変更した場合に、その旨を記憶部110へ通知する。なお、このような通知には、境界の位置を示す情報が含まれていてよい。これに応じて、記憶部110は、記憶するタスク情報を、新たな複数の領域ごとにまとめ直し、領域内タスクを更新する。そして、領域割当部120は、複数のロボット20を、領域数または境界の少なくとも一方が変更された新たな複数の領域に再割り当てする。これに応じて、タスク割当部130はタスク割当を再実行し、領域内経路決定部140は領域内経路を再決定し、領域間経路決定部150は領域間経路を再決定する。装置100は、例えばこのようにして、操業計画を再構築し、操業計画出力部160は、新たな複数の領域にしたがって再構築された操業計画を出力する。
【0114】
図11は、本実施形態の第3の変形例に係る装置100が操業計画を繰り返し構築するために実行する方法のフロー図の一例を示す。
【0115】
ステップS1110において、装置100は、複数のロボット20の台数および仕様をデフォルトに設定する。一例として、装置100は、複数のロボット20をロボット20i、ロボット20j、および、ロボット20kの3台のロボット20として設定してよい。これに応じて、記憶部110は、ロボット20i、ロボット20j、および、ロボット20kの各々における仕様を示す情報を仕様情報として記憶してよい。
【0116】
ステップS1120において、装置100は、複数の領域の領域数および境界をデフォルトに設定する。一例として、装置100は、複数の領域を設備10が領域A、領域B、および、領域Cの3つの領域に分割されるように設定してよい。これに応じて、記憶部110は、記憶するタスク情報を、領域A、領域B、および、領域Cごとにまとめ、領域A、領域B、および、領域Cごとの領域内タスクとして記憶する。
【0117】
これに応じて、記憶部110は、実行可否情報を更新してよい。この際、記憶部110は、記憶する実行可否情報を、人手により作成された情報に更新してもよいし、可否判定部810により再判定された判定結果により更新してもよい。
【0118】
ステップS1130において、装置100は、操業計画を構築する。操業計画の構築については、上述の説明のとおりである。
【0119】
ステップS1140において、装置100は、指標を取得する。指標の取得についても、上述の説明のとおりである。
【0120】
ステップS1150において、装置100は、終了条件を満たすか否か判定する。例えば、装置100は、ステップS1140において取得された指標が予め定められた基準を満たすか否か判定する。指標が予め定められた基準を満たさない(No)と判定した場合、装置100は、処理をステップS1160へ進める。
【0121】
ステップS1160において、装置100は、複数のロボット20の台数または仕様の少なくとも一方を変更、および/または、複数の領域の領域数または境界の少なくとも一方を変更する。この際、ロボット変更部1010は、上述のとおり、設備10に導入すべきロボット20の台数のみを変更してもよいし、台数はそのままに設備10に導入すべきロボットの仕様のみを変更してもよいし、台数および仕様の両者を変更してもよい。また、この際、領域変更部1020は、上述のとおり、複数の領域の領域数のみを変更してもよいし、領域数はそのままに境界を変更してもよいし、領域数および境界の両者を変更してもよい。
【0122】
そして、装置100は、処理をステップS1130に戻してフローを継続する。すなわち、装置100は、記憶部110に記憶する各種情報を更新し、新たな情報に基づいて操業計画を再構築する。
【0123】
ステップS1150において、指標が予め定められた基準を満たす(Yes)と判定した場合、装置100は、処理をステップS1170へ進める。
【0124】
ステップS1170において、装置100は、操業計画を出力する。例えば、操業計画出力部160は、ステップS1150において指標が予め定められた基準を満たすと判定されるに至った操業計画を出力する。
【0125】
なお、上述の説明においては、装置100が、ステップS1150において、指標が予め定められた基準を満たすか否かにより終了条件を満たすか否かを判定する場合を一例として示したが、これに限定されるものではない。
【0126】
ステップS1150において、装置100は、操業計画を構築した回数が予め定められた回数に達したか否かにより、終了条件を満たすか否かを判定してもよい。または、ステップS1150において、装置100は、本フローをスタートしてからの経過時間が予め定められた時間に達したか否かにより、終了条件を満たすか否かを判定してもよい。この場合、装置100は、指標が基準を満たすか否かに関わらず、予め定められた規則に従って、または、ランダムにロボット20の再構成/設備10の再分割を実行しながら操業計画の構築、および、指標の取得を複数回繰り返してもよい。そして、装置100は、終了条件を満たすまでに構築された複数の操業計画の中から、指標が最良となるに至った操業計画を選択して、それを出力してもよい。
【0127】
このように、本変形例に係る装置100は、操業計画を評価した指標に基づいて、複数のロボット20の台数または仕様の少なくとも一方を変更し、操業計画を再構築して、これを出力する。これにより、本変形例に係る装置100によれば、複数のロボット20の台数や仕様を調整しながら操業計画問題を繰り返し解いていくことで、適切なロボット20の台数や仕様を割り出すことができる。
【0128】
また、本変形例に係る装置100は、操業計画を評価した指標に基づいて、複数の領域の領域数または境界の少なくとも一方を変更し、操業計画を再構築して、これを出力する。これにより、本変形例に係る装置100によれば、複数の領域の領域数や境界を調整しながら操業計画問題を繰り返し解いていくことで、適切な領域数や境界を割り出すことができる。このように、本変形例に係る装置100は、ロボット20の台数や仕様、および、領域数や境界をどのように設定するのが適切かを割り出すことができる。これにより、本変形例に係る装置100によれば、設定に係る工数を削減できるとともに、設定が適切であったかどうかを明確化することができる。
【0129】
図12は、本実施形態の第3の変形例に係る装置100のブロック図の一例を、操業対象となる設備10とともに示す。本図においては、
図1と同じ機能および構成を有する部材に対して同じ符号を付すとともに、以下相違点を除き説明を省略する。上述の実施形態においては、装置100が操業計画を出力するまでの構成を一例として示したが、本変形例においては、装置100は、更に、出力した操業計画にしたがって、複数のロボット20を制御する。本変形例に係る装置100は、上述の実施形態に係る装置100が備える機能部に加えて、制御部1210を更に備える。また、本変形例に係る装置100において、操業計画出力部160は、操業計画を少なくとも制御部1210へ出力する。
【0130】
制御部1210は、操業計画にしたがって、複数のロボット20を制御する。上述のとおり、操業計画出力部160から出力される操業計画には、領域割当、タスク割当、領域内経路、および、領域間経路の少なくともいずれかが含まれていてよい。したがって、制御部1210は、領域割当にしたがって、対象ロボットが対象領域に配置されるように複数のロボット20を制御してよい。また、制御部1210は、タスク割当にしたがって、対象ロボットが領域内タスクを実行するように複数のロボット20を制御してよい。また、制御部1210は、領域内経路にしたがって、対象ロボットが領域内を移動するように複数のロボット20を制御してよい。また、制御部1210は、領域間経路にしたがって、複数のロボット20が領域間を移動するように複数のロボット20を制御してよい。
【0131】
なお、ここでいう「制御」とは、ロボット20を直接制御することに加えて、ロボット20を制御するコントローラを制御することによってロボット20を間接的に制御することが含まれていてよい。
【0132】
このように、本変形例に係る装置100は、操業計画にしたがって複数のロボット20を制御する。これにより、本変形例に係る装置100によれば、操業計画の構築のみにとどまらず制御装置としても機能するので、構築した操業計画を実際の制御にまで落とし込むことができる。
【0133】
本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、(1)操作が実行されるプロセスの段階または(2)操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および/またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび/またはアナログハードウェア回路を含んでよく、集積回路(IC)および/またはディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【0134】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(RTM)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0135】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【0136】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0137】
図13は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ9900の例を示す。コンピュータ9900にインストールされたプログラムは、コンピュータ9900に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の1または複数のセクションとして機能させることができ、または当該操作または当該1または複数のセクションを実行させることができ、および/またはコンピュータ9900に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ9900に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、CPU9912によって実行されてよい。
【0138】
本実施形態によるコンピュータ9900は、CPU9912、RAM9914、グラフィックコントローラ9916、およびディスプレイデバイス9918を含み、それらはホストコントローラ9910によって相互に接続されている。コンピュータ9900はまた、通信インターフェイス9922、ハードディスクドライブ9924、DVDドライブ9926、およびICカードドライブのような入/出力ユニットを含み、それらは入/出力コントローラ9920を介してホストコントローラ9910に接続されている。コンピュータはまた、ROM9930およびキーボード9942のようなレガシの入/出力ユニットを含み、それらは入/出力チップ9940を介して入/出力コントローラ9920に接続されている。
【0139】
CPU9912は、ROM9930およびRAM9914内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ9916は、RAM9914内に提供されるフレームバッファ等またはそれ自体の中にCPU9912によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス9918上に表示されるようにする。
【0140】
通信インターフェイス9922は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ9924は、コンピュータ9900内のCPU9912によって使用されるプログラムおよびデータを格納する。DVDドライブ9926は、プログラムまたはデータをDVD-ROM9901から読み取り、ハードディスクドライブ9924にRAM9914を介してプログラムまたはデータを提供する。ICカードドライブは、プログラムおよびデータをICカードから読み取り、および/またはプログラムおよびデータをICカードに書き込む。
【0141】
ROM9930はその中に、アクティブ化時にコンピュータ9900によって実行されるブートプログラム等、および/またはコンピュータ9900のハードウェアに依存するプログラムを格納する。入/出力チップ9940はまた、様々な入/出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入/出力コントローラ9920に接続してよい。
【0142】
プログラムが、DVD-ROM9901またはICカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ9924、RAM9914、またはROM9930にインストールされ、CPU9912によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ9900に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ9900の使用に従い情報の操作または処理を実現することによって構成されてよい。
【0143】
例えば、通信がコンピュータ9900および外部デバイス間で実行される場合、CPU9912は、RAM9914にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インターフェイス9922に対し、通信処理を命令してよい。通信インターフェイス9922は、CPU9912の制御下、RAM9914、ハードディスクドライブ9924、DVD-ROM9901、またはICカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0144】
また、CPU9912は、ハードディスクドライブ9924、DVDドライブ9926(DVD-ROM9901)、ICカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がRAM9914に読み取られるようにし、RAM9914上のデータに対し様々なタイプの処理を実行してよい。CPU9912は次に、処理されたデータを外部記録媒体にライトバックする。
【0145】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU9912は、RAM9914から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM9914に対しライトバックする。また、CPU9912は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU9912は、第1の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0146】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ9900上またはコンピュータ9900近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはRAMのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ9900に提供する。
【0147】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0148】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0149】
10 設備
20 ロボット
100 装置
110 記憶部
120 領域割当部
130 タスク割当部
140 領域内経路決定部
150 領域間経路決定部
160 操業計画出力部
810 可否判定部
910 指標取得部
920 指標出力部
1010 ロボット変更部
1020 領域変更部
1210 制御部
9900 コンピュータ
9901 DVD-ROM
9910 ホストコントローラ
9912 CPU
9914 RAM
9916 グラフィックコントローラ
9918 ディスプレイデバイス
9920 入/出力コントローラ
9922 通信インターフェイス
9924 ハードディスクドライブ
9926 DVDドライブ
9930 ROM
9940 入/出力チップ
9942 キーボード