JP2020087206A - 自律体システム及びその制御方法 - Google Patents

自律体システム及びその制御方法 Download PDF

Info

Publication number
JP2020087206A
JP2020087206A JP2018223859A JP2018223859A JP2020087206A JP 2020087206 A JP2020087206 A JP 2020087206A JP 2018223859 A JP2018223859 A JP 2018223859A JP 2018223859 A JP2018223859 A JP 2018223859A JP 2020087206 A JP2020087206 A JP 2020087206A
Authority
JP
Japan
Prior art keywords
autonomous
situation
autonomous body
unit
grasped
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.)
Pending
Application number
JP2018223859A
Other languages
English (en)
Inventor
守屋 俊夫
Toshio Moriya
俊夫 守屋
渡邊 高志
Takashi Watanabe
高志 渡邊
宣隆 木村
Nobutaka Kimura
宣隆 木村
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2018223859A priority Critical patent/JP2020087206A/ja
Priority to CN201910949154.8A priority patent/CN111232884B/zh
Priority to US16/669,049 priority patent/US11340611B2/en
Priority to DE102019217568.6A priority patent/DE102019217568B4/de
Publication of JP2020087206A publication Critical patent/JP2020087206A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • G05D1/0291Fleet control
    • G05D1/0297Fleet control by controlling means in a control room
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B66HOISTING; LIFTING; HAULING
    • B66FHOISTING, LIFTING, HAULING OR PUSHING, NOT OTHERWISE PROVIDED FOR, e.g. DEVICES WHICH APPLY A LIFTING OR PUSHING FORCE DIRECTLY TO THE SURFACE OF A LOAD
    • B66F9/00Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes
    • B66F9/06Devices for lifting or lowering bulky or heavy goods for loading or unloading purposes movable, with their loads, on wheels or the like, e.g. fork-lift trucks
    • B66F9/075Constructional features or details
    • B66F9/07581Remote controls
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0287Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources

Abstract

【課題】複数の自律体を含む自律体システムにおいて、全体にとって望ましく、かつ、各自律体にとっても望ましい、各自律体の動作を決定する。【解決手段】複数の自律体を有する自律体システムであって、複数の自律体の各々は、状況を把握する状況把握部と、把握された状況に基づいて動作を決定する動作決定部と、決定した動作を実行する動作実行部と、を有し、前記自律体システムが有する前記複数の自律体は、一つ以上の第1の自律体と、二つ以上の第2の自律体とを含み、第1の自律体の状況把握部が把握する状況は、第2の自律体の状況を含み、第2の自律体の状況把握部が把握する状況は、第1の自律体の動作実行部によって実行された動作の結果を含み、第2の自律体の動作決定部は、第1の自律体の動作実行部によって実行された動作の結果に基づいて動作を決定する。【選択図】図1

Description

本発明は、複数の自律体を含む自律体システムに関する。
複数のロボットを含むシステムを制御する技術として、例えば特開2006−000954号公報(特許文献1)又は特開2015−208811号公報(特許文献2)に開示された技術がある。
特許文献1には、複数台のロボットが協調的に動作し、全体としてある特定の目的を実現するマルチロボット・システムに関して、「マルチロボット・システムは、舞台上で活動する複数のロボットと、舞台上のロボットの動作を監視するモニタ・システムと、マルチロボットの運用を行なう統括コントローラで構成される。統括コントローラは、ロボットの状態と、モニタされた位置及び方向に基づいて、ロボットに対する動作指示や、ロボットに対する位置及び方向の補正指示、異常発生(若しくは予測)時におけるロボットへの動作指示を、無線LAN経由でリアルタイムに行なう。」と記載されている。
特許文献2には、複数台のロボットを有するロボットシステムの動作プログラムの最適化に関して、「シミュレーション装置は、駆動軸の指令速度と指令加速度と動作待ち指令とを含む動作プログラムをシミュレーションにより実行するシミュレーション部と、動作プログラムの行番号と行番号における指令速度および指令加速度とを関連付けて時系列に記憶する記憶部と、シミュレーション部により実行されたシミュレーション結果に基づき、記憶部に記憶された行番号毎に、動作プログラムの実行時間を算出する実行時間算出部と、実行時間算出部により算出された実行時間に基づき、動作待ち指令に応じた動作待ち時間を算出する待ち時間算出部とを備える。」と記載されている。
特開2006−000954号公報 特開2015−208811号公報
上記の特許文献1に記載されたロボットシステムでは、各ロボットがコントローラからの指示を受けるために、コントローラとの通信に適合したインターフェースを持つ必要がある。また、コントローラが各ロボットを制御するために、必要に応じて情報の統合、無矛盾性の保証及び同期の保証等が必要となる。また、ロボットの仕様の変更又は新たな仕様を持ったロボットの追加等があった場合には、それに合わせてコントローラ側の情報の変更又はインターフェースの変更等が必要になる場合がある。
また、上記の特許文献2に記載されたシミュレーション装置では、ロボットシステムの動作プログラムのシミュレーションを行うために、事前に各ロボットの仕様を把握しておく必要があり、仕様が変更されたり、異なる仕様のロボットが追加されたりした場合にはそれに合わせてシミュレーション装置の情報を更新する必要がある。
上記課題の少なくとも一つを解決するために、本願において開示される発明の代表的な一例は、複数の自律体を有する自律体システムであって、前記複数の自律体の各々は、状況を把握する状況把握部と、把握された状況に基づいて動作を決定する動作決定部と、決定した動作を実行する動作実行部と、を有し、前記自律体システムが有する前記複数の自律体は、一つ以上の第1の自律体と、二つ以上の第2の自律体とを含み、前記第1の自律体の前記状況把握部が把握する状況は、前記第2の自律体の状況を含み、前記第2の自律体の前記状況把握部が把握する状況は、前記第1の自律体の動作実行部によって実行された動作の結果を含み、前記第2の自律体の前記動作決定部は、前記第1の自律体の動作実行部によって実行された動作の結果に基づいて動作を決定することを特徴とする。
本発明の一態様によれば、下位の各自律体(第2の自律体)が上位の自律体(第1の自律体)に対するインターフェースを明示的に持つ必要がない。このため、自律体の機種及び製造者等にかかわらず、下位の自律体と上位の自律体の接続が容易になる。また、予め各自律体に関する情報を統合したり、それらの無矛盾性及び同期等を保証したりする必要がなくなるため、動作のロバスト性が増す。さらに、下位の自律体の仕様が変化したり、新たな仕様を持った下位の自律体が追加されたりした場合にも、特別な作業を行うことなく上位の自律体が適応できるため、自律体システムの継続的な更新が可能になる。
前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
本発明の実施例1の自律体システムの全体構成を示す説明図である。 本発明の実施例1の自律体システムにおける管制システムの構成を示すブロック図である。 本発明の実施例1の自律体システムにおけるウィング車の構成を示すブロック図である。 本発明の実施例1の自律体システムにおけるフォークリフトの構成を示すブロック図である。 本発明の実施例1の自律体システムにおける管制システムが実行する処理を示すフローチャートである。 本発明の実施例1の自律体システムにおけるウィング車が実行する処理を示すフローチャートである。 本発明の実施例1の自律体システムにおけるフォークリフトが実行する処理を示すフローチャートである。 本発明の実施例2の自律体システムの全体構成を示す説明図である。 本発明の実施例3の自律体システムの全体構成を示す説明図である。 本発明の実施例4の自律体システムの全体構成を示す説明図である。 本発明の実施例5の自律体システムの全体構成を示す説明図である。
図1は、本発明の実施例1の自律体システム100の全体構成を示す説明図である。
実施例1の自律体システム100は、物流倉庫における自律フォークリフトによるウィング車からにパレット自動卸しシステムである。この自律体システム100は、自律体として、一つ以上のウィング車102と、一つ以上のフォークリフト103と、管制システム101と、を含む。
ここで、自律体とは、自ら状況を把握し、判断し、動作を行う物体の総称である。例えば、センサ情報等に基づいて自律運転をするウィング車102及びフォークリフト103、並びに、センサ情報等に基づいて自律的な判断を行ってその結果を出力する管制システム101が自律体である。実施例1では主にこのような自律体について説明する。ただし、人間が運転するウィング車102及びフォークリフト103であっても、人間が自ら状況を把握し、判断した結果に従って動作する自律体として扱うことができる。さらに、例えば倉庫内に物品の運搬、仕分け等の作業をする人間がいる場合、その人間自身も、自ら視覚及び聴覚等によるセンシングの結果に基づいて状況を把握し、その人間の知能を用いて判断することで自律的に行動する自律体として扱うことができる。
倉庫は、入荷エリア110、在庫エリア111及び出荷エリア112を含む。入荷エリア110にウィング車102が到着すると、フォークリフト103は、物品が積載されたパレット104を下ろして在庫エリア111に運ぶ。在庫エリア111に搬送された物品は、パレット104に積載されたままで保管されてもよいし、パレット104から下ろされ、棚に保管されてもよい。物品を保管する棚は、在庫エリア111に固定されていてもよいし、自動搬送車(図示省略)等によって移動可能なものであってもよい。
フォークリフト103は、出荷オーダに応じて必要なパレット104を在庫エリア111から出荷エリア112に搬出し、出荷エリア112に到着したウィング車102に積み込む。パレット104の積み込みが終了したウィング車102は、出荷エリア112から離れて、次の配送先に物品を搬送する。
なお、図1では説明を簡単にするために省略されているが、実際の倉庫は、一般に、ウィング車102から下ろされたパレット104(又はこれからウィング車102に積み込まれるパレット)を仮置きするエリア、パレット104に積まれた物品の荷ほどきを行うエリア、出荷オーダに応じて物品のピッキング、仕分け、検品等を行うエリア、出荷する物品をパレットに積載するエリア等を含む。
管制システム101は、倉庫内の各ウィング車102及び各フォークリフト103の状況を把握して、それらを管制するための情報を出力する、上位の(又は第1の種類の)自律体である。これは、自律体システム全体に関する情報を取得して全体を最適化するための処理を行うものであり、これを全体知と呼んでもよい。これに対して、各ウィング車102及び各フォークリフト103は、管制システム101から出力された情報を必要に応じて利用しながら、自律的に自らの動作を決定する下位の(又は第2の種類の)自律体である。これは、それぞれ自らの周囲の情報を取得して自律的に動作するものであり、これを自律個と呼んでもよい。
図1の例では、倉庫内に、管制システム101と通信可能な一つ以上のカメラ105及び管制システム101と通信可能な一つ以上の信号機106が設けられる。各カメラ105は、倉庫内を撮影して、撮影した画像のデータを管制システム101に送信する。各信号機106は、例えば入荷エリア110又は出荷エリアに設けられ、管制システム101から送信された情報に従って何らかの信号を出力する。さらに、管制システム101は、各フォークリフト103と通信をしてもよい。
管制システム101は、カメラ105、信号機106及びフォークリフト103等と通信可能である限り、倉庫内又は倉庫外(遠隔地を含む)のいずれに設けられてもよい。
図2は、本発明の実施例1の自律体システム100における管制システム101の構成を示すブロック図である。
管制システム101は、プロセッサ201、通信インターフェース(I/F)202及び記憶装置203を有する計算機である。
プロセッサ201は、記憶装置203に格納されたプログラムに従って種々の処理を実行する。通信インターフェース202は、ネットワーク210に接続され、ネットワーク210を介して、カメラ105、信号機106及びフォークリフト103等と(ウィング車102が管制システム101との通信機能を有する場合には、ウィング車102とも)通信する。
記憶装置203は、例えば、DRAM(Dynamic Random Access Memory)等の主記憶装置と、ハードディスクドライブ又はフラッシュメモリ等の補助記憶装置との組合せであってもよい。記憶装置203は、状況把握部204、動作決定部205、動作実行部206及びタスク情報208を保持する。
状況把握部204、動作決定部205及び動作実行部206は、プロセッサ201によって実行されるプログラムである。以下の説明において上記の各部が実行する処理は、実際には、プロセッサ201が、記憶装置203に保持されたプログラムに従って、必要に応じて通信インターフェース202、カメラ105及び信号機106等を制御することによって実行する。
例えば、カメラ105による撮影機能と、プロセッサ201が状況把握部204のプログラムに従ってカメラ105が撮影した画像から状況を把握する機能と、の全体を状況把握部204の機能として扱ってもよい。言い換えると、カメラ105を状況把握部204の一部と考えてもよい。同様に、信号機106を動作実行部206の一部と考えてもよい。上記の各部の処理については後述する。
タスク情報208は、管制システム101が実行すべきタスクに関する情報である。例えば、実施例1の管制システム101が倉庫内のウィング車102及びフォークリフト103を管制する場合には、タスク情報208は、その倉庫から出荷されるべき物品の種類、数量及び出荷先等を含んだ出荷オーダを含んでもよい。
カメラ105は、倉庫内を撮影する光学カメラである。倉庫の状況を把握するために必要であれば倉庫外を撮影するカメラ105が設置されてもよい。カメラ105は、倉庫内を撮影して、その画像データをネットワーク210を介して管制システム101に送信する。状況把握部204は、画僧データに基づいて、倉庫の状況(例えば倉庫内の各エリアにおけるパレット104の配置、各ウィング車102及び各フォークリフト103の位置及び状態等)を把握する。
なお、カメラ105は、管制システム101が倉庫の状況を把握するための情報を取得するセンサの一例である。センサとして、カメラ105の代わりに(又はカメラ105に加えて)レーダー又はLIDAR(Laser Imaging Detection and Ranging)を用いてもよい。また、管制システム101が各ウィング車102及び各フォークリフト103の位置を把握するために例えばビーコンを使用してもよい。その場合はビーコン信号の受信機が倉庫内の各所に設置されてネットワーク210に接続される。倉庫に複数のカメラ105が設置されてもよいし、複数の種類のセンサが設置されてもよい。
信号機106は、例えば交通信号と同様に、進行を許可する青色、停止を指示する黄色又は赤色の色信号を出力してもよい。信号機106は、例えば入荷エリア110及び出荷エリア112に設置され、ウィング車102に対して進行の許可又は停止等の情報を提示するために使用される。信号機106は、ネットワーク210を介して管制システム101から送信された信号に従って、いずれかの色信号を出力してもよい。あるいは、信号機106は、色信号の代わりに図形、記号又は文字等を含む信号によって進行、停止等の情報を表示してもよい。さらに、信号機106は、ウィング車102のウィングの開閉を指示する情報を表示してもよい。あるいは、信号機106の代わりに(又はそれに加えて)、上記のような情報を含む音声信号を出力する装置が使用されてもよい。
ネットワーク210は、管制システム101とウィング車102、フォークリフト103、カメラ105及び信号機106との通信を可能にするものである限り、いかなる種類のものであってもよい。例えば、ネットワーク210は、管制システム101が遠隔地にある場合には広域ネットワークを含んでもよいし、移動するフォークリフト103等と通信するために無線ネットワークを含んでもよい。
図3は、本発明の実施例1の自律体システム100におけるウィング車102の構成を示すブロック図である。
ウィング車102は、物品が積載されたパレット104を搬送する車両である。ここではフォークリフト103によるパレットの積み下ろしが容易なウィング車(すなわち荷台部分の側板と天井が跳ね上がるタイプのトラック車両)を例示したが、それ以外のタイプの車両が使用されてもよい。
ウィング車102は、プロセッサ301、通信インターフェース302、センサ部303、駆動部304及び記憶装置305を有する。
プロセッサ301は、記憶装置305に格納されたプログラムに従って種々の処理を実行する。通信インターフェース302は、ネットワーク210に接続され、管制システム101と通信する。ただし、ウィング車102は管制システム101との通信機能を持たなくてもよく、その場合はウィング車102は通信インターフェース302を持たなくてもよい。
センサ部303は、ウィング車102の周囲の状況を把握するための情報を取得する。センサ部303は、例えば光学カメラ、レーダー又はLIDAR等を含んでもよいし、マイクロフォンのような音声センサを含んでもよい。ウィング車102は複数のセンサ部303を有してもよいし、複数の種類のセンサ部303を有してもよい。
駆動部304は、ウィング車102の走行及びウィングの開閉等の機能を有する。駆動部304は、例えば、内燃機関又は電動機のような原動機、原動機が発生した動力を車輪又はウィングに伝達する伝達装置、ウィング車102を所望の方向に走行させるための操舵装置等を含む。
記憶装置305は、例えば、DRAM等の主記憶装置と、ハードディスクドライブ又はフラッシュメモリ等の補助記憶装置との組合せであってもよい。記憶装置305は、状況把握部306、動作決定部307、動作実行部308及びタスク情報310を保持する。
状況把握部306、動作決定部307及び動作実行部308は、プロセッサ301によって実行されるプログラムである。以下の説明において上記の各部が実行する処理は、実際には、プロセッサ301が、記憶装置305に保持されたプログラムに従って、必要に応じて通信インターフェース302、センサ部303及び駆動部304等を制御することによって実行する。
例えば、センサ部303によるセンシング機能と、センサ部303がセンシングした情報に基づいて、プロセッサ301が状況把握部306のプログラムに従って状況を把握する機能と、の全体を状況把握部306の機能として扱ってもよい。言い換えると、センサ部303を状況把握部306の一部と考えてもよい。通信インターフェース302が受信した情報が状況把握に利用される場合には、通信インターフェース302も状況把握部306の一部と考えてもよい。同様に、駆動部304を動作実行部308の一部と考えてもよい。
なお、本実施例のウィング車102は、運転者なしで自動運転を行う自動運転機能、又は、運転者の運転を支援する運転支援機能を有する。上記の状況把握部306、動作決定部307及び動作実行部308の少なくとも一部は、自動運転機能又は運転支援機能の少なくとも一部として実装されてもよい。
また、図3では省略されているが、記憶装置305は、自動運転機能又は運転支援機能によって参照される地図データ等をさらに保持してもよい。
タスク情報310は、ウィング車102が実行すべきタスクに関する情報である。例えば、タスク情報310は、ウィング車102が次に向かうべき倉庫又は出荷先の情報等を含んでもよい。
図4は、本発明の実施例1の自律体システム100におけるフォークリフト103の構成を示すブロック図である。
フォークリフト103は、ウィング車102からのパレット104の荷卸し、入荷エリア110、在庫エリア111及び出荷エリア112の間のパレット104の搬送、及び、ウィング車102へのパレット104の積み込み等を行う車両である。
フォークリフト103は、プロセッサ401、通信インターフェース402、センサ部403、駆動部404及び記憶装置405を有する。
プロセッサ401は、記憶装置405に格納されたプログラムに従って種々の処理を実行する。通信インターフェース402は、ネットワーク210に接続され、管制システム101と通信する。
センサ部403は、フォークリフト103の周囲の状況を把握するための情報を取得する。センサ部403は、例えば光学カメラ、レーダー又はLIDAR等を含んでもよいし、マイクロフォンのような音声センサを含んでもよい。フォークリフト103は複数のセンサ部403を有してもよいし、複数の種類のセンサ部403を有してもよい。具体的には、センサ部403は、フォークリフト103の走行のために周囲の物体を検知するためのセンサ、及び、フォークの爪とパレット104との位置関係を計測するためのセンサ等を含んでもよい。
駆動部404は、フォークリフト103の走行及びフォークによるパレット104の上げ下ろしの機能を有する。駆動部404は、例えば、内燃機関又は電動機のような原動機、原動機が発生した動力を車輪又はフォークに伝達する伝達装置、フォークリフト103を所望の方向に走行させるための操舵装置等を含む。
記憶装置405は、例えば、DRAM等の主記憶装置と、ハードディスクドライブ又はフラッシュメモリ等の補助記憶装置との組合せであってもよい。記憶装置405は、状況把握部406、動作決定部407、動作実行部408及びタスク情報410を保持する。
状況把握部406、動作決定部407及び動作実行部408は、プロセッサ401によって実行されるプログラムである。以下の説明において上記の各部が実行する処理は、実際には、プロセッサ401が、記憶装置405に保持されたプログラムに従って、必要に応じて通信インターフェース402、センサ部403及び駆動部404等を制御することによって実行する。
例えば、センサ部403によるセンシング機能と、センサ部403がセンシングした情報に基づいて、プロセッサ401が状況把握部406のプログラムに従って状況を把握する機能と、の全体を状況把握部406の機能として扱ってもよい。言い換えると、センサ部403を状況把握部406の一部と考えてもよい。通信インターフェース402が受信した情報が状況把握に利用される場合には、通信インターフェース402も状況把握部406の一部と考えてもよい。同様に、駆動部404を動作実行部408の一部と考えてもよい。上記の各部の処理については後述する。
なお、本実施例のフォークリフト103は、運転者なしで自動運転を行う自動運転機能、又は、運転者の運転を支援する運転支援機能を有する。上記の状況把握部406、動作決定部407及び動作実行部408の少なくとも一部は、自動運転機能又は運転支援機能の少なくとも一部として実装されてもよい。
また、図4では省略されているが、記憶装置405は、自動運転機能又は運転支援機能によって参照される倉庫内の地図データ等をさらに保持してもよい。
タスク情報410は、フォークリフト103が実行すべきタスクに関する情報である。例えば、タスク情報410は、フォークリフト103が搬送すべきパレット104及びその搬送先を示す情報等を含んでもよい。
図5は、本発明の実施例1の自律体システム100における管制システム101が実行する処理を示すフローチャートである。
最初に、管制システム101の状況把握部204は、倉庫の状況を把握する(ステップ501)。例えば、状況把握部204は、各カメラ105から送信された画像データの画像認識等を行って、倉庫内の各エリアにおけるパレット104の配置、各ウィング車102の位置及び状態(例えば走行中であるか否か、駐車している場合はどこに駐車しているか、ウィングを開いているか否か等)、各フォークリフト103の位置及び状態(例えば走行中であるか否か、パレット104を積載しているか否か等)を把握してもよい。
次に、管制システム101の動作決定部205は、管制システム101の動作を決定する(ステップ502)。具体的には、動作決定部205は、状況把握部204によって把握された状況が入力されると、それに基づいて、管制システム101の動作を決定する。ここで管制システム101の動作とは、例えば、各信号機106への信号の送信及び各フォークリフト103への指示の送信等である。例えば、動作決定部205は、状況把握部204が把握した状況に基づいて、ウィング車102の入荷エリア又は出荷エリアへの到着、及びウィングの開閉等を把握又は予測し、それに基づいてフォークリフト103がパレット104を取りに行く(又は積み込みに行く)タイミングを決定してもよい。あるいは、ウィング車102からの荷卸し又はウィング車102への物品の積み込みが終了し、フォークリフト103が荷台から離れた状況を把握して、ウィング車102がウィングを閉じて発車するタイミングを決定してもよい。
具体的には、例えば、動作決定部205は、状況把握部204によって把握された状況を入力として、実行されるべき動作を出力とする関数を保持し、その関数を用いてステップ502を実行してもよい。この関数は、いかなるものであってもよいが、例えばニューラルネットワークによって実装されてもよい。
次に、管制システム101の動作実行部206は、決定した動作を実行する(ステップ503)。例えば、ステップ502において各信号機106が表示すべき信号(例えばウィング車102の進行又は停止、ウィングの開閉等を示す信号)が決定された場合、動作実行部206は、通信インターフェース202及びネットワーク210を介して、決定された信号を表示させる指示を各信号機106に送信する。また、ステップ502において各フォークリフト103に送信すべき情報(例えば各フォークリフト103の行き先、搬送すべきパレットの識別情報等)が決定された場合、動作実行部206は、通信インターフェース202及びネットワーク210を介して、決定された情報を各フォークリフト103に送信する。
その後、処理はステップ501に戻り、上記のステップ501から503の処理が繰り返し実行される。
なお、動作決定部205は、いずれかのタイミングで(例えば、学習に使用できる十分な量のデータが蓄積されたと判定された時点で)、動作の決定を最適化するための学習処理を行ってもよい。例えば、動作決定部205は、管制システム101に設定されたKPI(Key Performance Indicator)を保持し、その値が向上する(すなわち高い評価を示す値となる)ように関数のパラメータを変更してもよい。
ここで、動作決定部205が実行する学習処理の一例を説明する。管制システム101に設定されたKPI(すなわち管制システム101のパフォーマンスを評価するパラメータ)は、例えば、倉庫全体のスループット又は売上高等である。動作決定部205は、例えば、ステップ502において決定した動作が実行された後のKPIに基づいて、KPIを向上させる(例えばスループット又は売上高等が向上する)ように、ステップ502で用いられる関数のパラメータを変更してもよい。このようにして学習された関数を用いることによって、ステップ502では、KPIが向上するような動作が決定される。
図6は、本発明の実施例1の自律体システム100におけるウィング車102が実行する処理を示すフローチャートである。
最初に、ウィング車102の状況把握部306は、当該ウィング車102の周囲の状況を把握する(ステップ601)。例えば、状況把握部306は、センサ部303によって取得された情報に基づいて、当該ウィング車102の周囲の物体の識別、当該ウィング車102が荷卸し又は積み込みを行う入荷エリア110又は出荷エリア112の状況、及び、当該ウィング車102から視認できる信号機106の表示内容の識別等を行ってもよい。
次に、ウィング車102の動作決定部307は、ウィング車102の動作を決定する(ステップ602)。具体的には、動作決定部307は、状況把握部306によって把握された状況が入力されると、それに基づいて、ウィング車102の動作を決定する。ここでウィング車102の動作とは、例えば、入荷エリア110又は出荷エリア112への駐車及びそれらのエリアからの離脱、のための走行、停止及び操舵、並びに、ウィングの開閉等である。
具体的には、例えば、動作決定部307は、状況把握部306によって把握された状況を入力として、実行されるべき動作を出力とする関数を保持し、その関数を用いてステップ602を実行してもよい。この関数は、いかなるものであってもよいが、例えばニューラルネットワークによって実装されてもよい。
次に、ウィング車102の動作実行部308は、決定した動作を実行する(ステップ603)。例えば、ステップ602においてウィング車102の走行、停止、操舵又はウィングの開閉が決定された場合、動作実行部308は、決定された動作を実行する指示を駆動部304に送信する。
その後、処理はステップ601に戻り、上記のステップ601から603の処理が繰り返し実行される。
なお、動作決定部307は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。例えば、動作決定部307は、ウィング車102に設定されたKPIを保持し、その値が向上する(すなわち高い評価を示す値となる)ように関数のパラメータを変更してもよい。
ここで、動作決定部307が実行する学習処理の一例を説明する。ウィング車102に設定されたKPI(すなわちウィング車102のパフォーマンスを評価するパラメータ)は、例えば、ウィング車102の倉庫における滞在時間が短いほど評価が高くなるように設定される。動作決定部307は、例えば、ステップ602において決定した動作が実行された後に算出されたKPIに基づいて、KPIを向上させる(例えば滞在時間が短くなる)ように、ステップ602で用いられる関数のパラメータを変更してもよい。
より詳細には、例えば、動作決定部307は、センサ部303が取得した情報に基づいて状況把握部306が把握した周囲の状況を関数に入力して、その出力に基づいて動作を決定する。このとき、把握された周囲の状況には、ウィング車102の周囲の物体の認識結果等の他に、当該ウィング車102に向けて出力された信号機106の信号の表示内容の認識結果が含まれる。信号機106の表示内容は、管制システム101の動作結果であり、管制システム101が管制システム101のKPIを向上させるために当該ウィング車102が行うべきであると判断した動作を指示するものである。
しかし、このような管制システム101からの指示をそのまま実行することで当該ウィング車102のKPIが向上するとは限らない。これは、例えば使用しているセンサの種類及び設置位置等の違いのために、管制システム101が取得できる倉庫の状況と、ウィング車102が取得できる周囲の状況とが必ずしも一致しないこと、及び、管制システム101がウィング車102のKPIを把握していないことに起因する。ウィング車102に設定されたKPIは一般には管制システム101に設定されたものとは異なる。また、複数のウィング車102のそれぞれに異なるKPIが設定されている場合もある。
このため、動作決定部307は、例えば、周囲の状況のうち管制システム101の動作結果を認識した結果と、それ以外の状況と、のそれぞれに与える重みを、ウィング車102に設定されたKPIが向上するように変更することによって、ステップ602で用いられるパラメータを変更してもよい。このようにして学習された関数を用いることによって、ステップ602では、KPIが向上するような動作が決定される。
図7は、本発明の実施例1の自律体システム100におけるフォークリフト103が実行する処理を示すフローチャートである。
最初に、フォークリフト103の状況把握部406は、当該フォークリフト103の周囲の状況を把握する(ステップ701)。例えば、状況把握部406は、センサ部403によって取得された情報、及び、通信インターフェース402が管制システム101から受信した情報に基づいて、当該フォークリフト103の周囲の物体の識別、ウィング車の荷台の状況、荷台のパレットの状況、入荷エリア及び出荷エリアの状況、並びに、管制システム101の動作結果の識別等を行ってもよい。
次に、フォークリフト103の動作決定部407は、フォークリフト103の動作を決定する(ステップ702)。具体的には、動作決定部407は、状況把握部406によって把握された状況が入力されると、それに基づいて、フォークリフト103の動作を決定する。ここでフォークリフト103の動作とは、例えば、パレットの位置までの移動、パレットへのフォークのツメの差し込み及び持ち上げ、パレットの搬送先までの移動、並びに、搬送先にパレットを置く動作等である。
具体的には、例えば、動作決定部407は、状況把握部406によって把握された状況を入力として、実行されるべき動作を出力とする関数を保持し、その関数を用いてステップ702を実行してもよい。この関数は、いかなるものであってもよいが、例えばニューラルネットワークによって実装されてもよい。
次に、フォークリフト103の動作実行部408は、決定した動作を実行する(ステップ703)。例えば、ステップ702においてフォークリフト103の走行、停止、操舵又はフォークの上げ下げが決定された場合、動作実行部408は、決定された動作を実行する指示を駆動部404に送信する。
その後、処理はステップ701に戻り、上記のステップ701から703の処理が繰り返し実行される。
なお、動作決定部407は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。例えば、動作決定部407は、フォークリフト103に設定されたKPIを保持し、その値が向上する(すなわち高い評価を示す値となる)ように関数のパラメータを変更してもよい。
ここで、動作決定部407が実行する学習処理の一例を説明する。フォークリフト103に設定されたKPI(すなわちウィング車102のパフォーマンスを評価するパラメータ)は、例えば、フォークリフト103が効率的に作業をするほど、又は、確実に作業をするほど、評価が高くなるように設定される。作業の効率は、例えば単位時間当たりの作業量(搬送した物品の量又は移動距離等)によって計測されてもよい。また、作業の確実性は、例えば単位時間当たりの緊急停止回数等によって計測されてもよい。
動作決定部407は、例えば、ステップ702において決定した動作が実行された後に算出されたKPIに基づいて、KPIを向上させる(例えば作業の効率が向上する)ように、ステップ702で用いられる関数のパラメータを変更してもよい。
より詳細には、例えば、動作決定部407は、センサ部403が取得した情報及び通信インターフェース402を介して受信した情報に基づいて状況把握部406が把握した周囲の状況を関数に入力して、その出力に基づいて動作を決定する。このとき、把握された周囲の状況には、フォークリフト103の周囲の物体の認識結果等の他に、当該フォークリフト103に向けて管制システム101から送信された情報が含まれる。管制システムから送信された情報は、管制システム101の動作結果であり、例えば、管制システム101が管制システム101のKPIを向上させるために当該フォークリフト103が行うべきであると判断した動作を指示するものである。
しかし、このような管制システム101からの指示をそのまま実行することで当該フォークリフト103のKPIが向上するとは限らない。これは、例えば使用しているセンサの種類及び設置位置等の違いのために、管制システム101が取得できる倉庫の状況と、フォークリフト103が取得できる周囲の状況とが必ずしも一致しないこと、及び、管制システム101がフォークリフト103のKPIを把握していないことに起因する。フォークリフト103に設定されたKPIは一般には管制システム101に設定されたものとは異なる。また、複数のフォークリフト103のそれぞれに異なるKPIが設定されている場合もある。
このため、動作決定部307は、例えば、周囲の状況のうち管制システム101の動作結果を認識した結果と、それ以外の状況と、のそれぞれに与える重みを、フォークリフト103に設定されたKPIが向上するように変更することによって、ステップ702で用いられるパラメータを変更してもよい。このようにして学習された関数を用いることによって、ステップ702では、KPIが向上するような動作が決定される。
管制システム101、ウィング車102及びフォークリフト103がそれぞれに図5から図7に示したような方法で関数を学習することによって、各々が互いのKPIを把握していなくても、それぞれのKPIが向上するようにそれぞれの動作を決定することができる。
例えば、管制システム101は、カメラ105が撮影した画像から把握した倉庫の状況に基づいて、KPI(例えば倉庫のスループット)が向上するように、各ウィング車102及び各フォークリフト103に情報を提供する。例えば、管制システム101は、入荷エリア110にウィング車102が到着したことを把握すると、荷卸しのために入荷エリア110に行くことを指示する情報を各フォークリフト103に送信してもよい。
この情報を受信したフォークリフト103は、この情報と、自らのセンサ部403を介して把握した周囲の状況と、タスク情報410と、に基づいて、自らに設定されたKPI(例えば作業効率)が向上するように、自らの動作を決定する。その結果、フォークリフト103は、受信した情報に含まれる指示に従って入荷エリア110に移動してもよいし、従わずに他の動作を行ってもよい。
例えば、フォークリフト103は、既に他のパレット104を搬送中である場合、指示に従わずに当該パレット104の搬送を継続してもよい。また、フォークリフト103の現在地が入荷エリア110から遠い場合には、自らに設定されたKPIを向上させるために指示に従うことが適切でないと判断して、指示に従わずに別の動作を行ってもよい。
あるいは、例えば倉庫内で複数の機種のフォークリフト103が使用されており、機種によって搬送できるパレット104の条件(例えば重量等)が異なる場合がある。このような場合に、フォークリフト103が到着したウィング車102に積まれている物品に関する情報を取得できたとすると、フォークリフト103は、自らが搬送できないパレットを積んだウィング車102が到着した場合には、管制システム101からの指示を受けたとしてもそのウィング車102からの荷卸しを行わないという決定をすることができる。
あるいは、例えば管制システム101が倉庫内の画像から特定のエリアにおけるフォークリフト103の混雑を検出した場合に、その混雑を解消してKPIを向上させるために、混雑に関与しているフォークリフト103に対して当該エリアから離れるように移動の指示を送信してもよい。この指示を受けたフォークリフト103は、指示に従って移動してもよいし、指示に従うことによってフォークリフト103のKPIが悪化すると判断して指示に従わないという決定をしてもよい。
このように、管制システム101からフォークリフト103への指示は、必ず従わせるためのものではなく、フォークリフト103の動作の決定に緩やかに働きかけるものである。
ウィング車102も同様に、信号機106を介して受け取った管制システム101からの指示に沿った動作を行うことを決定してもよいし、自らに設定されたKPIを向上させるためにその指示に反する動作を行うことを決定してもよい。
このように、管制システム101が自らの動作を決定してそれを実行(すなわちそれぞれの下位の自律体に対する指示の内容を決定してそれを送信)すると、ある自律体はその指示に沿った動作を行い、別のある自律体はその指示に反する動作を行う場合がある。その結果、倉庫内の状態が変化する。管制システム101は、変化した倉庫内の状況を把握して、KPIの値を算出する。管制システム101は、先に把握した状況と、それに基づいて決定した動作と、その動作を実行した後の状況に基づいて算出されたKPIの値と、に基づいて、KPIの値が向上するように、把握した状況から動作を決定するための関数のパラメータを学習してもよい。
例えば、当初の管制システム101は、入荷エリア110にウィング車102が到着したときに、全てのフォークリフト103に入荷エリア110への移動を指示してもよい。しかし、学習の結果、管制システム101は、パレット104を搬送中でないフォークリフト103、入荷エリア110の近くにいるフォークリフト103、又は、到着したウィング車102に積まれているパレットの条件に合致するフォークリフト103に移動の指示を送信しやすくなることが考えられる。
このように、管制システム101は、事前に下位の各自律体の特性等(KPIを含む)を把握していなくても、各自律体に緩やかに働きかけて、その結果を学習することによって、下位の各自律体が自らに設定されたKPIに照らして受け入れやすい指示を出すことができるようになる。これによって、管制システム101の(すなわち自律体システム100全体の)KPIの向上に寄与し、かつ、各自律体のKPIの向上にも寄与するように、各自律体の動作を決定することができる。
なお、このような学習を行うために、管制システム101は、ある程度の割合で、あえて自らに設定されたKPIの値を悪化させるような指示、又は、各自律体が受け入れ難いことが予想される指示を送信してもよい。
一方、下位の自律体について言えば、例えばフォークリフト103は、センサ部403から取得された周囲の状況と、通信インターフェース402が受信した管制システム101からの指示と、に従って、自らのKPIを向上させるように、指示に沿った動作を行う場合もあり、指示に反する動作を行う場合もある。フォークリフト103は、決定した動作を行った後で、その動作が反映された状況に基づいて、自らに設定されたKPIの値を算出する。フォークリフト103は、先に把握した状況と、それに基づいて決定した動作と、その動作を実行した後の状況に基づいて算出されたKPIの値と、に基づいて、KPIの値が向上するように、把握した状況から動作を決定するための関数のパラメータを学習してもよい。
ここで、関数のパラメータは、センサ部403を介して把握した状況と、管制システム101からの指示と、のそれぞれに付される重みを含んでもよい。また、このような学習を行うために、フォークリフト103は、あえて自らに設定されたKPIの値を悪化させるような動作を決定してもよい。
ウィング車102については、上記のフォークリフト103と同様である。
上記のように上位及び下位の自律体がそれぞれに学習を行うことによって、各自律体が他の自律体の特性等を把握していなくても(いわば、上位の自律体から見た下位の自律体がブラックボックスであっても)、各自律体のKPIが向上し、かつ、全体としてのKPIも向上するように、各自律体の行動を決定することが可能になる。これによって、全体の情報を統合したり、全体の無矛盾性及び同期を保証したりする必要がなくなり、ロバストな動作が実現される。また、未知の下位の自律体が追加されたり、既にある下位の自律体の特性が変化したりしても、上位の自律体がそれに適応できるため、自律体システムの継続的な進化が可能になる。
また、上記の信号機106のような情報伝達手段を利用すれば、下位の自律体は上位の自律体に対するインターフェースを明示的に持つ必要がなくなる。これによって、例えば当初は想定されていなかった品種の(例えば他の自律体とは製造者が異なる)自律体も容易に接続することが可能になる。
上記の例では、ウィング車102への指示は信号機106を介して伝達され、フォークリフト103への指示は通信インターフェース402を介して伝達される。この例では、ウィング車102は通信インターフェース302を持たなくてもよい。これによって、事前に詳細な通信手順などを決めておくことなく、管制システム101からフォークリフト103への情報伝達が可能になる。
しかし、このような情報伝達方法は一例である。例えばウィング車102への情報伝達が通信インターフェース302を介して行われてもよい。あるいは、倉庫内の各所に信号機106と同様の信号機が設けられ、それを介してフォークリフト103への情報伝達が行われてもよい。
また、上記の例では、ウィング車102及びフォークリフト103のいずれも、自動運転機能又は運転支援機能を有しているが、それらの少なくとも一部は自動運転機能及び運転支援機能のいずれも有しなくてもよい。例えば、いずれかのウィング車102は、プロセッサ301、通信インターフェース302、センサ部303及び記憶装置305を有しなくてもよい。その場合、当該ウィング車102の運転者(すなわち人間)が、駆動部304を操作してウィング車102の走行及びウィングの開閉を制御する。また、通信インターフェース302及びセンサ部303は運転者の感覚器(例えば目及び耳等)によって代替される。また、状況把握部306、動作決定部307及び動作実行部308の機能は運転者の知能によって代替される。
この場合でも、運転者は、信号機106を参照することで管制システム101からの指示を受け取ることができる。また、この場合、ウィング車102に設定されたKPIは、例えば運転者が早く業務を終わらせたい、又は、確実に業務を遂行したい、といったものであってもよい。
フォークリフト103も、同様に、人間が運転するものであってもよい。その場合、信号機を介して管制システム101からの指示が伝達されてもよいし、通信インターフェース402を介して受信した指示が、フォークリフト103の表示部(図示省略)に表示され、運転者がそれを見て指示を受け取ってもよい。
また、実施例1の自律体システムは下位の自律体として複数のウィング車102及び複数のフォークリフト103を含むが、実際には、いずれか一方のみを含んでもよいし、さらに別の自律体を含んでもよい。例えば、倉庫内に物品をピッキングするロボットが設置される場合に、そのロボットが第2の種類の自律体として追加されてもよい。あるいは、在庫エリア111で物品を保管する棚をピッキングエリア等に搬送するための自動搬送車が使用される場合には、そのような自動搬送車が第2の種類の自律体として追加されてもよい。その場合、第2の種類の自律体もウィング車102及びフォークリフト103と同様に何らかのKPIが設定され、上記と同様の処理を実行する。
また、複数のウィング車102は、例えば製造者が異なる複数の種類の車両を含んでもよいし、それぞれに異なるKPIが設定されていてもよい。複数のフォークリフト103についても同様である。
以上の実施例1によれば、管制システム101がカメラ105等を介して把握した倉庫の状況に従って、管制システム101のKPIを向上させるために有効と判断される情報を下位の自律体(例えばウィング車102及びフォークリフト103)に提供する。これによって、例えば、フォークリフト103がウィング車102の荷台にアクセスするタイミングを当該ウィング車102及びその周囲の実際の状況にあわせて正確に知ることができる。このため、フォークリフト103の待ち時間等が減少し、荷卸し及び積み込みの作業時間が短縮される。また、ウィング車102が荷卸し及び物品の積み込みの実際の状況に合わせて、発車するタイミングを正確に知ることができる。このため、ウィング車102の停車時間が短縮される。
管制システム101のような上位の自律体がなく、下位の自律体が情報を直接交換する自律体システムでは、以下の理由によって、上記のような効果を得ることは困難である。すなわち、上位の自律体がないシステムでは、各ウィング車102及び各フォークリフト103がそれぞれ自車のセンサによって取得した情報に基づいて、それぞれに設定されたKPIを向上させるための動作を決定する。しかし、それぞれのセンサからは限られた範囲内の情報しか得られないため、取得した情報と実際の倉庫の状況との間に乖離が発生し、その結果としてKPIが向上しない場合がある。
一方、本実施例によれば、管制システム101が倉庫全体の(すなわち自律体システム全体の)状況を把握してそれに基づいて全体のKPIを向上させるために望ましい各自律体の動作を通知することができるため、全体のKPIを向上させることができる。
また、ウィング車102とフォークリフト103との間で直接情報をやり取りするために互いの通信手段を予め決めておく必要がある。しかし、実際には、例えばフォークリフト103が倉庫の所有者によって管理されるのに対してウィング車102は運送会社によって管理されるなど、管理者が異なる場合があり、通信手段を予め決めておくことが現実的には困難である。しかし、本実施例によれば、例えば信号機106等の情報伝達手段を用いることによって、予め通信手段を決めておかなくても必要な情報を提供することが可能になる。
次に、本発明の実施例2を説明する。以下に説明する相違点を除き、実施例2の自律体システムの各部は、図1〜図7に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
図8は、本発明の実施例2の自律体システム800の全体構成を示す説明図である。
実施例2の自律体システム800は、棚804に格納された物品805を取り出して仕分け用の箱806に詰めるピッキング作業を行うロボットシステムである。この自律体システム800は、自律体として、アーム・リフタ統合管理システム801、アームロボット802及びリフタ803を含む。
アームロボット802は、例えば垂直多関節ロボットであり、棚804に格納された物品805の取り出し、その物品805を箱806へ詰め込む。このために、アームロボット802は、周囲の状況として棚804に積まれた物品805の状況を把握する。この状況の把握のために、アームロボット802に設置されたセンサ(例えばカメラ等)が使用される。アームロボット802の動作の決定はアームロボット802の知能(例えば後述するアームロボット802の動作決定部307)によって行われる。
アームロボット802の構成は、以下の相違点を除いて、図3に示した実施例1のウィング車102又は図4に示した実施例1のフォークリフト103の構成と同様である。ここでは、図3を参照してアームロボット802の構成を説明する。
アームロボット802の通信インターフェース302は、ネットワーク210を介してアーム・リフタ統合管理システム801と通信する。アームロボット802のセンサ部303は、例えばアームロボット802に取り付けられたカメラである。このカメラが棚804の方向を撮影した画像に基づいて、アームロボット802の状況把握部306が棚804に積まれた物品805の状況を把握する。さらに、アームロボット802の状況把握部306は、アーム・リフタ統合管理システム801から伝達されたメッセージ(例えば、後述する、リフタ803が所望の高さまで持ち上がったことを示す情報)を把握する。
また、アームロボット802の駆動部304は、アームロボット802のアーム807の関節808及びアーム807の先端のハンド部809を駆動するモータ(図示省略)等を含む。
タスク情報310は、例えば、アームロボット802が取りだすべき物品を識別する情報等を含む。動作決定部307は、例えば、通信インターフェース302を介して取得した、アーム・リフタ統合管理システム801からの情報と、センサ部303によるセンシングの結果から把握される状態と、タスク情報310と、に基づいて、所望の物品805を取りだすための各関節808及びハンド部809の動作を決定する。そして、動作実行部308が、駆動部304を介して、決定された動作を実行する。
また、動作決定部307は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。これらの処理の流れは、図6に示したウィング車102の処理の流れと同様である。なお、アームロボット802に設定されるKPIは、例えば、作業の効率である。
リフタ803は、アームロボット802を所定の範囲内の任意の高さに移動させる機能を有する。このために、リフタ803は、周囲の状況として棚804の状況を把握する。この状況の把握のために、リフタ803に設置されたセンサ(例えばカメラ等)が使用される。リフタ803の動作の決定はリフタ803の知能(例えば後述するリフタ803の動作決定部407)によって行われる。
リフタ803の構成は、以下の相違点を除いて、図3に示した実施例1のウィング車102又は図4に示した実施例1のフォークリフト103の構成と同様である。ここでは、図4を参照してリフタ803の構成を説明する。
リフタ803の通信インターフェース402は、ネットワーク210を介してアーム・リフタ統合管理システム801と通信する。リフタ803のセンサ部403は、例えばリフタ803に取り付けられたカメラである。このカメラが棚804の方向を撮影した画像に基づいて、状況把握部406が棚804の状況を把握する。さらに、リフタ803の状況把握部406は、アーム・リフタ統合管理システム801から伝達されたメッセージ(例えば、後述する、アームロボット802を持ち上げるべき高さを示す情報)を把握する。また、リフタ803の駆動部404は、リフタ803を上下方向に駆動するモータ(図示省略)等を含む。
タスク情報410は、例えば、アームロボット802が取り出すべき物品が格納された棚の位置を示す情報等を含んでもよい。動作決定部407は、例えば、通信インターフェース402を介して取得した、アーム・リフタ統合管理システム801からの情報と、センサ部403によるセンシングの結果から把握される状態と、タスク情報410と、に基づいて、アームロボット802が所望の物品805を取りだすために適切なリフタ803の高さを決定する。そして、動作実行部408が、駆動部304を介して、決定された動作(例えば決定された高さまでのアームロボット802の持ち上げ)を実行する。
また、動作決定部407は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。これらの処理の流れは、図7に示したフォークリフト103の処理の流れと同様である。なお、リフタ803に設定されるKPIは、例えば、上下方向の移動回数の少なさ(すなわち、上下方向の移動回数が少ないほど評価が高くなる)である。
アーム・リフタ統合管理システム801は、アームロボット802及びリフタ803と通信してそれらを管理する計算機である。アーム・リフタ統合管理システム801の構成は、以下の相違点を除いて、図2に示した実施例1の管制システム101の構成と同様である。ここで、図2を参照してアーム・リフタ統合管理システム801の構成を説明する。
アーム・リフタ統合管理システム801の通信インターフェース202は、ネットワーク210を介してアームロボット802及びリフタ803と通信する。さらに、ネットワーク210には一つ以上のカメラ105が接続される。ただし、カメラ105はネットワーク210を介さずにアーム・リフタ統合管理システム801に接続されてもよい。各カメラ105は、自律体システム800の全体を撮影してもよいし、自律体システム800の所定の部分を撮影してもよいし、自律体システム800の周囲(例えば棚804及び物品805)を撮影してもよい。このカメラ105は、自律体システム800の状況を把握するためのセンサの一例であり、他の種類のセンサが使用されてもよい。
状況把握部204は、カメラ105が撮影した画像に基づいて、自律体システム800の状況を把握する。ここで把握される状況は、例えば、棚804の状況、棚804に格納された物品805の状況、アームロボット802の状況及びリフタ803の状況である。
タスク情報208は、例えば、アームロボット802が取り出すべき物品を識別する情報及びその物品が格納された棚の位置を示す情報等を含んでもよい。動作決定部205は、カメラ105によって撮影された画像から把握される状況と、タスク情報208と、に基づいて、棚804のどの位置に目的の物品805があるかを把握する。そして、動作決定部205は、アームロボット802が目的の物品805を取りだすために適切なリフタ803の高さ(すなわちアームロボット802を持ち上げるべき高さ)を決定する。動作実行部206は、通信インターフェース202を介して決定された高さをリフタ803に伝達する。続いて、動作実行部206は、リフタ803がアームロボット802を決定された高さまで持ち上げたことをアームロボット802に伝達する。
アームロボット802は、目的の物品805を掴む動作を行う。その結果、目的の物品805をつかめなかった場合は、状況把握部204がカメラ105からの情報に従ってそのことを把握する。動作決定部205は、把握された情報に基づいて、リフタ803の高さが適切でなかったと判断して、より適切なリフタ803の高さを決定し、動作実行部206がその高さをリフタ803に伝達する。
また、動作決定部205は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。これらの処理の流れは、図5に示した管制システム101の処理の流れと同様である。なお、アーム・リフタ統合管理システム801に設定されるKPIは、例えば、自律体システム800全体としての作業の効率である。
なお、本実施例の自律体システム800は、より大きな自律体システム一部であってもよい。例えば、実施例2の自律体システム800は、実施例1の自律体システム100の倉庫に、棚からの物品のピッキングを行うロボットとして組み込まれてもよい。その場合、実施例2のアーム・リフタ統合管理システム801は、アームロボット802及びリフタ803に対しては上位の自律体として動作し、管制システム101に対しては下位の自律体として動作する。
また、上記の例ではアームロボット802を一つの下位の自律体として扱ったが、実際にはアームロボット802が上位の自律体と下位の自律体とからなる自律体システムであってもよい。例えば、下位の自律体は、それぞれの関節808の状況を把握するセンサ部、それから得られた情報に基づいて動作を決定する動作決定部、及び、決定した動作に従って関節を駆動する駆動部等を有してもよい。一方、上位の自律体は、アームロボット802全体及びその周囲の状況を把握するセンサ部、それから得られた情報に基づいて動作を決定する動作決定部、及び、決定した動作を各関節808に伝達する動作実行部等を有してもよい。
このように、本発明が適用される自律体システムは、3以上の階層を有してもよい。その場合でも、上記の実施例1及び実施例2に説明したように、それぞれの自律体が、それぞれに設定されたKPIが向上するように学習した結果に基づいて、それぞれが取得した情報からそれぞれの動作を決定することによって、個々の自律体のKPIを向上させながら、自律体システム全体としてのKPIも向上するような動作を行うことができる。また、そのような自律体システムを、上位と下位の自律体のインターフェースの詳細な取り決めを必要とせず、事前の情報の統合等を必要とせず、下位の自律体の構成が変化しても上位の自律体が適応できる、柔軟なシステムとして構築することができる。
以上の実施例2によれば、アーム・リフタ統合管理システム801がカメラ105等を介して把握した倉庫の状況に従って、アーム・リフタ統合管理システム801のKPIを向上させるために有効と判断される情報を下位の自律体(例えばアームロボット802及びリフタ803)に提供する。これによって、例えば、リフタ803は、どの高さまでアームロボット802を持ちあげればよいか、リフタ803自身では判断できないものを知ることができる。また、アームロボット802は、おおよそどの位置に目的の物品805が置かれているかを予め知ることができる。このため、リフタ803によって持ち上げられたときに目的の物品805を見つけやすい。言い換えると、目的の物品805を見つけるまでの時間を短縮することができ、また、確実に見つけることができる。
アーム・リフタ統合管理システム801のような上位の自律体がなく、下位の自律体が情報を直接交換する自律体システムでは、以下の理由によって、上記のような効果を得ることは困難である。すなわち、上位の自律体がないシステムでは、リフタ803は、まだアームロボット802を持ち上げていない状態では、センサ部403を介して棚804の上の段の状態を知ることができない。同様に、まだ持ち上げられていないアームロボット802は、センサ部303を介して棚の中の物品を把握することができない。
一方、本実施例によれば、アーム・リフタ統合管理システム801が自律体システム800全体及びその周囲の状況を把握してそれに基づいて全体のKPIを向上させるために望ましい各自律体の動作を通知することができるため、全体のKPIを向上させることができる。
次に、本発明の実施例3を説明する。以下に説明する相違点を除き、実施例3の自律体システムの各部は、図1〜図7に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
図9は、本発明の実施例3の自律体システム900の全体構成を示す説明図である。
実施例3の自律体システム900は、自律体として、自動運転車902、人が運転する自動車903及びそれらが利用する駐車場904を管制する駐車場内管制システム901を含む駐車場システムである。
駐車場内管制システム901は、広い駐車場904内で、車両(例えば一つ以上の自動運転車902及び一つ以上の人が運転する自動車903を含む)がどこをどれだけの速度で走行しているか、駐車場内の路上(すなわち、駐車領域906以外の、車両が移動するための領域)をどのように占有しているか、といったことを監視する。さらに、駐車場内管制システム901は、駐車領域906のどの区画が空いているかを監視する。そして、駐車場内管制システム901は、上記の監視結果を把握して、自動運転車902及び人が運転する自動車903に対して緩やかな制御を行う。
駐車場904には、例えば、一つ以上の案内表示板908が設けられる。これは、駐車場内管制システム901からの情報を自動運転車902及び人が運転する自動車903に伝達する手段の一例である。
自動運転車902の構成は、以下の相違点を除いて、図3に示した実施例1のウィング車102の構成と同様である。ここで、図3を参照して自動運転車902の構成を説明する。
自動運転車902の通信インターフェース302は、ネットワーク210を介して駐車場内管制システム901と通信する。自動運転車902のセンサ部303は、例えば自動運転車902に取り付けられ、自動運転車902の周囲を撮影するカメラ又は距離センサ等である。ここではカメラの例を説明する。自動運転車902の状況把握部306は、カメラが撮影した画像に基づいて、駐車場904内の自車の周囲の状況を把握する。
さらに、自動運転車902の状況把握部306は、駐車場内管制システム901から伝達された情報(例えば、駐車場904内の状況、移動先の区画及びそこまでの経路の情報等)を把握する。状況把握部306は、この情報を、センサ部303のカメラ等によって取得された情報(例えば案内表示板908の表示内容の認識結果)から把握してもよいし、通信インターフェース302を介して取得した情報から把握してもよい。
また、自動運転車902の駆動部304は、例えば、内燃機関又は電動機のような原動機、原動機が発生した動力を車輪に伝達する伝達装置、自動運転車902を所望の方向に走行させるための操舵装置等を含む。
タスク情報310は、例えば、駐車可能な区画を探してそこに自車を移動させる、といった情報を含む。動作決定部307は、例えば、通信インターフェース302又はセンサ部303を介して取得した、駐車場内管制システム901からの情報と、センサ部303によるセンシングの結果から把握される状態と、タスク情報310と、に基づいて、進行、停止及び操舵量等の動作を決定する。そして、動作実行部308が、駆動部304を介して、決定された動作を実行する。
また、動作決定部307は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。これらの処理の流れは、図6に示したウィング車102の処理の流れと同様である。なお、自動運転車902に設定されるKPIは、例えば、燃料(又は電力)の消費量を最小にしたい、又は、自車を駐車する区画及びそこまでの経路を指示してほしい、といったものである。
なお、自動運転車902は、人による操作を必要とせずに走行できる完全な自動運転機能を有してもよいし、人の運転の一部を支援する運転支援機能を有してもよい。また、実施例1のウィング車102の場合と同様、上記の状況把握部306、動作決定部307及び動作実行部308の機能の少なくとも一部は、自動運転機能又は運転支援機能の少なくとも一部として実装されてもよい。
人が運転する自動車903の構成は、以下の相違点を除いて、自動運転車902の構成と同様である。すなわち、人が運転する自動車903は、プロセッサ301、通信インターフェース302、センサ部303及び記憶装置305を有しなくてもよい。自動運転車902における状況把握部306、動作決定部307及び動作実行部308に相当する機能は、人が運転する自動車903においては、運転者の知能によって置き換えられる。タスク情報310は運転者によって記憶される。また、センサ部303は、運転者の感覚器(例えば目及び耳等)によって置き換えられる。
なお、人が運転する自動車903に設定されるKPIは、自動運転車902に設定されるものと同様のものであってもよいが、それとは逆に、例えば、自車を駐車する区画及びそこまでの経路を指示してほしくない、といったものであってもよいし、人の出口に近いところに駐車したい、又は日陰に駐車したい、といったものであってもよい。
駐車場内管制システム901は、駐車場904内を監視して、自動運転車902及び人が運転する自動車903に対して緩やかな制御を行う計算機である。駐車場内管制システム901の構成は、以下の相違点を除いて、図2に示した実施例1の管制システム101の構成と同様である。ここで、図2を参照して駐車場内管制システム901の構成を説明する。
ネットワーク210にはそれぞれが駐車場904の少なくとも一部の領域を撮影する一つ以上のカメラ105が接続される。各カメラ105は、それぞれ適切な場所に据え付けられた固定カメラであってもよいが、カメラ付きドローンのように移動するカメラであってもよい。このカメラ105は、自律体システム900の状況を把握するためのセンサの一例であり、他の種類のセンサが使用されてもよい。
さらに、ネットワーク210には案内表示板908が接続される。これは、駐車場内管制システム901が各車両を制御するための情報伝達手段の一例である。このような情報伝達手段の他の例としては、駐車場904内の各所に設けられた、実施例1と同様の信号機等が挙げられる。
状況把握部204は、カメラ105が撮影した画像に基づいて、自律体システム900の状況を把握する。ここで把握される状況は、例えば、各車両がどこをどれだけの速度で走行しているか、駐車場内の路上をどのように占有しているか、といった状況である。
タスク情報208は、例えば、駐車場904に入ってきた車両を、駐車場904内の空き区画に誘導する、及び、いずれかの区画から出た車両を駐車場904の出口に誘導する、といったものであってもよい。動作決定部205は、カメラ105によって撮影された画像から把握される駐車場904の状況(例えば駐車場904内の各車両の状況)と、タスク情報208と、に基づいて、駐車場904内に渋滞が発生しないように、及び、各車両が早く、現在位置の近くに駐車できるように、各車両の制御を決定し、動作実行部206がその制御を実行する。制御は、例えば、案内表示板908への情報の表示によって行われる。車両がネットワーク210に接続された通信インターフェース302を介して情報を受信可能である場合には、動作実行部206は、通信インターフェース202及びネットワーク210を介して制御情報を伝達してもよい。
なお、図9には一つの案内表示板908のみを示しているが、実際には駐車場904に複数の案内表示板908が設置されてもよい。その場合、それぞれの案内表示板908は、全て同じ内容(例えば駐車場904内の全ての空き区画)を表示してもよいが、それぞれ異なる内容を表示してもよい。例えば、各案内表示板908は、その付近を走行している車両を誘導したい空き区画のみを表示してもよい。また、各案内表示板908は、例えば車両の進行方向等、空き区画以外の情報を表示してもよい。それぞれの案内表示板908がどのような状況においてどのような表示をするかは、後述する学習の結果に基づいて決定される。
動作決定部205は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。具体的には、動作決定部205は、どういう情報を車両に提供すると、どういう車両の流れが発生するかを過去の実績等から学習してもよい。また、動作決定部205は、適切な制御が行われる情報の提供方法(例えば案内表示板908への表示方法)をシミュレーションで探索してもよい。このとき、駐車場内管制システム901に設定されたKPIは、例えば、駐車場904の利用効率、又は、駐車場904を利用する人の満足度等であってもよい。そして、動作実行部206は、最適な情報を最適な方法で車両に提供する。これらの処理の流れは、図5に示した管制システム101の処理の流れと同様である。
以上の実施例3によれば、自動運転車902の、例えば燃料消費を最少にしたいというKPIが向上するように、駐車位置及びそこまでの移動経路が最適化される。また、人が運転する自動車903の、例えば早く駐車したい、人の出口に近い場所に駐車したい、又は日陰に駐車したいといったそれぞれのKPIが向上するように、駐車位置及びそこまでの移動経路が最適化される。このような効果は、駐車場内管制システム901を有しない自律体システムにおいて、各自動運転車902及び人が運転する各自動車903が相互に直接情報を交換しても、得ることは困難である。
次に、本発明の実施例4を説明する。以下に説明する相違点を除き、実施例4の自律体システムの各部は、図1〜図7に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
図10は、本発明の実施例4の自律体システム1000の全体構成を示す説明図である。
実施例4の自律体システム1000は、自律体として、ショベルカー1002、ダンプカー1003、人1004及びそれらを管制する施工現場管制システム1001を含む建機システムである。
施工現場管制システム1001は、施工現場における自律体(例えばショベルカー1002、ダンプカー1003及び人1004)の干渉及び干渉可能性を監視し、各自律体に対して適切な制御(情報の提示)を行う。また、施工現場管制システム1001は、施工現場の自律体以外に関する状況(例えば掘削された穴の状況又は施工に使用される資材の状況等)を監視し、各自律体に対して適切な制御(情報の提示)を行う。
なお、図10には説明を簡単にするために自律体システム1000に含まれる自律体として一つのショベルカー1002、一つのダンプカー1003及び一人の人1004を示しているが、これらは一例であり、自律体システム1000は、複数のショベルカー1002、複数のダンプカー1003及び複数の人1004を含んでもよいし、それらの少なくともいずれかを含まなくてもよいし、例えば一つ以上のブルドーザ等、他の建機を含んでもよい。
また、一つ以上のショベルカー1002及び一つ以上のダンプカー1003の少なくともいずれかは、人の操作によらずに(又は人の操作を支援して)自律的に動作する建機(以下、自律建機と記載する)であってもよく、他のいずれかは人が運転する一般的な建機(以下、一般建機とも記載する)であってもよい。
自律建機の構成は、例えば図3に示したウィング車102又は図4に示したフォークリフト103の構成と同様であってもよい。ここでは図3を参照する。自律建機の状況把握部306は、例えばカメラ等の、当該自律建機のセンサ部303を介して、周囲の状況として施工現場の当該自律建機の周囲の状況を把握する。
このようにして把握された周囲の状況には、施工現場管制システム1001から提供された情報が含まれる。この情報は、例えば、当該自律建機の付近に他の自律体がある否か、及び、他の自律体が接近中であるか否か、といった情報を含んでもよい。動作決定部307は、把握された状況及びタスク情報310(例えばこれから行うべき掘削又は運搬等の動作に関する情報)に基づいて、例えば掘削又は運搬といった動作を決定し、動作実行部308が駆動部304を介して決定した動作を実行する。
一般建機の構成は、例えば図3に示したウィング車102又は図4に示したフォークリフト103の構成と同様であってもよい。ここでは図3を参照する。ただし、一般建機は、プロセッサ301、通信インターフェース302、センサ部303及び記憶装置305を有しなくてもよい。一般建機の運転者の感覚器(例えば目及び耳等)が自律建機のセンサ部303に相当する。一般建機の運転者の知能が自律建機の状況把握部306、動作決定部307及び動作実行部308に相当する。また、タスク情報310に相当する情報(例えばこれから行うべき掘削又は運搬等の動作に関する情報)が運転者によって記憶されていてもよい。
一般建機の運転者は、自らの感覚器を介して、周囲の状況として施工現場の当該自律建機の周囲の状況を把握する。このようにして把握された周囲の状況には、施工現場管制システム1001から提供された情報(例えば、上記と同様の他の自律体の接近に関する情報)が含まれる。
運転者は、把握された状況及びタスク情報310に相当する情報に基づいて、例えば掘削又は運搬といった動作を決定し、駆動部304を介して決定した動作を実行する。
自律建機及び一般建機に設定されるKPIは、例えば、効率的に作業をしたい、又は、確実に作業をしたい、と言ったものであってもよい。建機ごとに異なるKPIが設定されていてもよい。
人1004は、目及び耳等の感覚器を使って周囲の状況を把握し、動作(例えば現在行っている作業を続ける、周囲の物体(例えば接近してきた他の自律体)を回避する、又は周囲を再確認するなど)を決定し、決定した動作を行う。人1004が把握する周囲の状況には、施工現場管制システム1001から提供された情報(例えば、上記と同様のに関する情報)が含まれる。
人1004のKPIは、その人1004が施工現場における施工作業を行う作業者である場合には、例えば効率的に作業をしたい、確実に作業をしたい、又は疲れたくない、といったものであってもよい。また、その人1004が作業者以外の人(例えば施工現場の観察をする人又は作業者への物品(例えば弁当)の配達をする人)である場合には、例えばそれぞれの目的を効率的に、かつ確実に達成したい、といったものであってもよい。
施工現場管制システム1001の構成は、図2に示した実施例1の管制システム101の構成と同様である。施工現場管制システム1001の状況把握部204は、例えば一つ以上のカメラ105を介して、周囲の状況として施工現場の全体の状況(例えば、ショベルカー1002、ダンプカー1003及び人1004といった各自律体の状況、並びに、施工現場内の穴及び資材の状況等)を把握する。ここで、各カメラ105は、それぞれ適切な場所に据え付けられた固定カメラであってもよいが、カメラ付きドローンのように移動するカメラであってもよい。このカメラ105は、自律体システム1000の状況を把握するためのセンサの一例であり、他の種類のセンサが使用されてもよい。
施工現場管制システム1001のタスク情報208は、例えば施工現場において実行されるべき作業(例えば掘削及び運搬等)に関する情報であってもよい。施工現場管制システム1001の動作決定部205は、カメラ105によって撮影された画像から把握された施工現場の状況と、タスク情報208と、に基づいて、各自律体の連携作業が効率的かつ確実に行われるように、それぞれの制御内容を決定する。ここで、各自律体の連携作業とは、例えば、ショベルカー1002が掘削した土をダンプカー1003に入れ、人1004が掘削によって生じた穴を成型する、などである。
そして、動作実行部206が、決定された制御を行う。制御は、各自律体への情報提示によって行われる。例えば、実施例1と同様の信号機106が施工現場内に設けられてもよいし、音声によって必要な情報が各自律体に提供されてもよい。
動作決定部205は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。具体的には、動作決定部205は、どういう情報を各自律体に提供すると、それぞれがどういう動作を行い、全体としてどのような挙動になるかを、実績等から学習してもよい。また、動作決定部205は、適切な制御が行われる情報の提供方法をシミュレーションで探索してもよい。このとき、施工現場管制システム1001に設定されたKPIは、例えば、施工現場の作業効率であってもよい。そして、動作実行部206は、最適な情報を最適な方法で各自律体に提供する。これらの処理の流れは、図5に示した管制システム101の処理の流れと同様である。
以上の実施例4によれば、自律建機の動作が、他の自律体及び現場の状況に合わせて、効率の観点で最適になる。同様に、一般建機の動作が、他の自律体及び現場の状況に合わせて、効率の観点で最適になる。作業者や作業者以外の人の動作が、他の自律体及び現場の状況に合わせて、効率及び疲労度の観点で最適になる。
このような効果は、施工現場管制システム1001を有しない自律体システムにおいて、各自律体が相互に直接情報を交換しても、得ることは困難である。これは、例えば以下の理由による。すなわち、それぞれの自律体が把握した状況と実際の状況との間に乖離が発生する可能性がある。また、互いの通信手段を予め決めておく必要があるが、一般的にはそれぞれの自律体の提供者、運営者が異なるため、それが現実的には困難である。
次に、本発明の実施例5を説明する。以下に説明する相違点を除き、実施例5の自律体システムの各部は、図1〜図7に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
図11は、本発明の実施例5の自律体システム1100の全体構成を示す説明図である。
実施例5の自律体システム1100は、二つのワーク(加工対象の部品)を組合せてそれらをネジで締めるネジ締めロボットシステムである。この自律体システム1100は、自律体として、ネジ締め監視システム1101、第1のハンドロボット1102及び第2のハンドロボット1103を含む。
第1のハンドロボット1102は、第1のワーク1104を作業台1107の上に置き、続いて第2のワーク1105を第1のワーク1104の上に載せてそのまま静止させる。
第2のハンドロボット1103は、第1のワーク1104及び第2のワーク1105のネジ穴1108にネジ1106を差し込み、第2のハンドロボット1103のアームの先端に取り付けられたネジ締め器具1109がネジ1106を締める。
ネジ締め監視システム1101は、第2のワーク1105を載せた位置のずれ、及び、ネジ締めの失敗等を監視し、第1のハンドロボット1102及び第2のハンドロボット1103に対して適切な制御(情報の提示)を行う。
第1のハンドロボット1102及び第2のハンドロボット1103の構成は、例えば図3に示したウィング車102又は図4に示したフォークリフト103の構成と同様であってもよい。また、以下の説明において省略されている部分に関しては、実施例2のアームロボット802に関する説明が適用されてもよい。ここでは第1のハンドロボット1102の構成に関して図3を、第2のハンドロボット1103の構成に関して図4を参照する。
第1のハンドロボット1102の状況把握部306は、例えば第1のハンドロボット1102に取り付けられたカメラ等の、第1のハンドロボット1102のセンサ部303を介して、周囲の状況として第1のワーク1104の状態、第2のワーク1105の状態及び作業台1107の状態を把握する。
また、状況把握部306が把握する状況には、ネジ締め監視システム1101から提供された情報が含まれる。この情報は、例えば、各ワークの固定位置のずれ、及び、ネジ締め作業の完了又は失敗の情報等を含む。動作決定部307は、把握された状況及びタスク情報310(例えばこれから行うべきネジ締め作業に関する情報)に基づいて、例えば各ワークの保管場所からの取り出し及び作業台1107上の所定の位置への固定といった動作を決定し、動作実行部308が駆動部304を介して決定した動作を実行する。
なお、第1のハンドロボット1102に設定されるKPIは、例えば、効率的に作業をしたい、といったものである。
第2のハンドロボット1103の状況把握部406は、例えば第2のハンドロボット1103に取り付けられたカメラ等の、第2のハンドロボット1103のセンサ部403を介して、周囲の状況としてネジ穴1108、ネジ1106及びネジ締め器具1109の状況を把握する。
また、状況把握部406が把握する状況には、ネジ締め監視システム1101から提供された情報が含まれる。この情報は、例えば、各ワークがネジ締め作業が開始できる状態になっているかどうか、及び、ネジ締め作業の完了又は失敗の情報等を含む。動作決定部407は、把握された状況及びタスク情報410(例えばこれから行うべきネジ締め作業に関する情報)に基づいて、例えばネジ穴1108へのネジ1106の差し込み及びネジ締め器具1109によるネジ締めといった動作を決定し、動作実行部408が駆動部404を介して決定した動作を実行する。
なお、第2のハンドロボット1103に設定されるKPIは、例えば、効率的に作業をしたい、及び、ネジ締めを成功させたい、といったものである。
ネジ締め監視システム1101の構成は、図2に示した実施例1の管制システム101の構成と同様である。ネジ締め監視システム1101の状況把握部204は、例えば一つ以上のカメラ105を介して、周囲の状況として、例えば、第1のワーク1104及び第2のワーク1105の状態(例えば互いのネジ穴が重なっているか)、並びに、第1のハンドロボット1102及び第2のハンドロボット1103の状況を把握する。ここで、カメラ105は、例えば、各ワーク及びハンドロボットを撮影できる適切な場所に設置された一つ以上のカメラである。このカメラ105は、自律体システム1100の状況を把握するためのセンサの一例であり、他の種類のセンサが使用されてもよい。
ネジ締め監視システム1101のタスク情報208は、例えばこれから実行されるべきネジ締め作業に関する情報である。ネジ締め監視システム1101の動作決定部205は、カメラ105によって撮影された画像から把握された状況と、タスク情報208と、に基づいて、第1のハンドロボット1102及び第2のハンドロボット1103の制御内容を決定する。
例えば、動作決定部205は、二つのワークの状況(例えば互いのネジ穴が重なった状態で置かれているか等)を把握し、状況によって第2のワーク1105の位置の補正指示を第1のハンドロボット1102に通知することを決定してもよい。また、動作決定部205は、例えば二つのワークのネジ穴が重なったことによってネジ締め作業が実行できる状態になった場合にはそのことを第2のハンドロボット1103に通知することを決定してもよい。さらに、動作決定部205は、ネジ締めが成功又は失敗したことを把握し、失敗したときはやり直しを第2のハンドロボット1103に通知することを決定してもよい。
そして、動作実行部206が、決定された制御を行う。制御は、各自律体への情報提示(例えばネットワーク210を介した情報の送信)によって行われる。
動作決定部205は、いずれかのタイミングで、動作の決定を最適化するための学習処理を行ってもよい。具体的には、動作決定部205は、どういう情報を各ハンドロボットに提供すると、ネジ締め作業の結果(成功又は失敗)がどうなるか、また、作業に要する時間の長さがどうなるか、といったことを、実績等から学習してもよい。このとき、ネジ締め監視システム1101に設定されたKPIは、例えば、効率的に作業をしたい、及び、ネジ締めを成功させたい、といったものであってもよい。これらの処理の流れは、図5に示した管制システム101の処理の流れと同様である。
以上の実施例5によれば、第1のハンドロボット1102の動作が、ネジ締めの成功の観点で適切になる。また、第2のハンドロボット1103の動作が効率的(例えば待ち時間が少ない、及び、失敗の可能性が少ない)になる。
このような効果は、ネジ締め監視システム1101を有しない自律体システムにおいて、各ハンドロボットが相互に直接情報を交換しても、得ることは困難である。これは、例えば以下の理由による。すなわち、それぞれのハンドロボットが把握した状況と実際の状況との間に乖離が発生する可能性がある。また、それぞれのハンドロボットが状況を観測できない可能性がある。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明のより良い理解のために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることが可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、制御線及び情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
100、800、900、1000、1100 自律体システム
101 管制システム
102 ウィング車
103 フォークリフト
104 パレット
105 カメラ
106 信号機
801 リフタ統合管理システム
802 アームロボット
803 リフタ
901 駐車場内管制システム
902 自動運転車
903 自動車
904 駐車場
906 駐車領域
908 案内表示板
1001 施工現場管制システム
1002 ショベルカー
1003 ダンプカー
1004 人
1101 ネジ締め監視システム
1102 第1のハンドロボット
1103 第2のハンドロボット
1104 第1のワーク
1105 第2のワーク
1106 ネジ

Claims (12)

  1. 複数の自律体を有する自律体システムであって、
    前記複数の自律体の各々は、状況を把握する状況把握部と、把握された状況に基づいて動作を決定する動作決定部と、決定した動作を実行する動作実行部と、を有し、
    前記自律体システムが有する前記複数の自律体は、一つ以上の第1の自律体と、二つ以上の第2の自律体とを含み、
    前記第1の自律体の前記状況把握部が把握する状況は、前記第2の自律体の状況を含み、
    前記第2の自律体の前記状況把握部が把握する状況は、前記第1の自律体の動作実行部によって実行された動作の結果を含み、
    前記第2の自律体の前記動作決定部は、前記第1の自律体の動作実行部によって実行された動作の結果に基づいて動作を決定することを特徴とする自律体システム。
  2. 請求項1に記載の自律体システムであって、
    前記第1の自律体の前記動作決定部は、前記第1の自律体の前記状況把握部が把握した状況に基づいて算出される評価パラメータが高い評価を示す値となるように前記第1の自律体の動作を決定することを特徴とする自律体システム。
  3. 請求項2に記載の自律体システムであって、
    前記第1の自律体の前記動作決定部は、前記第1の自律体の前記状況把握部が把握した状況に基づいて動作を決定する関数を保持し、前記評価パラメータが高い評価を示す値となるように前記関数のパラメータを変更することを特徴とする自律体システム。
  4. 請求項1に記載の自律体システムであって、
    前記第2の自律体の前記動作決定部は、前記第2の自律体の前記状況把握部が把握した状況に基づいて算出される評価パラメータが高い評価を示す値となるように前記第2の自律体の動作を決定することを特徴とする自律体システム。
  5. 請求項4に記載の自律体システムであって、
    前記第2の自律体の前記状況把握部が把握した状況は、前記第1の自律体の動作実行部によって実行された動作の結果と、それ以外の状況と、を含み、
    前記第2の自律体の前記動作決定部は、前記第1の自律体の動作実行部によって実行された動作の結果と、それ以外の状況と、に基づいて動作を決定する関数を保持し、前記評価パラメータが高い評価を示す値となるように前記関数のパラメータを変更することを特徴とする自律体システム。
  6. 請求項5に記載の自律体システムであって、
    前記関数のパラメータは、前記第1の自律体の動作実行部によって実行された動作の結果と、それ以外の状況と、のそれぞれに付される重みを含むことを特徴とする自律体システム。
  7. 複数の自律体を有する自律体システムの制御方法であって、
    前記複数の自律体の各々が、状況を把握する状況把握手順と、把握された状況に基づいて動作を決定する動作決定手順と、決定した動作を実行する動作実行手順と、を含み、
    前記自律体システムが有する前記複数の自律体は、一つ以上の第1の自律体と、二つ以上の第2の自律体とを含み、
    前記第1の自律体が前記状況把握手順において把握する状況は、前記第2の自律体の状況を含み、
    前記第2の自律体が前記状況把握手順において把握する状況は、前記第1の自律体の動作実行手順で実行された動作の結果を含み、
    前記第2の自律体は、前記動作決定手順において、前記第1の自律体の動作実行手順で実行された動作の結果に基づいて動作を決定することを特徴とする制御方法。
  8. 請求項7に記載の制御方法であって、
    前記第1の自律体は、前記動作決定手順において、前記第1の自律体の前記状況把握手順で把握された状況に基づいて算出される評価パラメータが高い評価を示す値となるように前記第1の自律体の動作を決定することを特徴とする制御方法。
  9. 請求項8に記載の制御方法であって、
    前記第1の自律体は、前記第1の自律体の前記状況把握手順で把握された状況に基づいて動作を決定する関数を保持し、前記動作決定手順において、前記評価パラメータが高い評価を示す値となるように前記関数のパラメータを変更することを特徴とする制御方法。
  10. 請求項7に記載の制御方法であって、
    前記第2の自律体は、前記動作決定手順において、前記第2の自律体の前記状況把握手順で把握された状況に基づいて算出される評価パラメータが高い評価を示す値となるように前記第2の自律体の動作を決定することを特徴とする制御方法。
  11. 請求項10に記載の制御方法であって、
    前記第2の自律体が前記状況把握手順において把握した状況は、前記第1の自律体の前記動作実行手順において実行された動作の結果と、それ以外の状況と、を含み、
    前記第2の自律体は、
    前記第1の自律体の動作実行手順で実行された動作の結果と、それ以外の状況と、に基づいて動作を決定する関数を保持し、前記動作決定手順において、前記評価パラメータが高い評価を示す値となるように前記関数のパラメータを変更することを特徴とする制御方法。
  12. 請求項11に記載の制御方法であって、
    前記関数のパラメータは、前記第1の自律体の動作実行手順で実行された動作の結果と、それ以外の状況と、のそれぞれに付される重みを含むことを特徴とする制御方法。
JP2018223859A 2018-11-29 2018-11-29 自律体システム及びその制御方法 Pending JP2020087206A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2018223859A JP2020087206A (ja) 2018-11-29 2018-11-29 自律体システム及びその制御方法
CN201910949154.8A CN111232884B (zh) 2018-11-29 2019-10-08 自主体系统及其控制方法
US16/669,049 US11340611B2 (en) 2018-11-29 2019-10-30 Autonomous body system and control method thereof
DE102019217568.6A DE102019217568B4 (de) 2018-11-29 2019-11-14 System von autonomen einrichtungen und steuerungsverfahren davon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018223859A JP2020087206A (ja) 2018-11-29 2018-11-29 自律体システム及びその制御方法

Publications (1)

Publication Number Publication Date
JP2020087206A true JP2020087206A (ja) 2020-06-04

Family

ID=70680997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018223859A Pending JP2020087206A (ja) 2018-11-29 2018-11-29 自律体システム及びその制御方法

Country Status (4)

Country Link
US (1) US11340611B2 (ja)
JP (1) JP2020087206A (ja)
CN (1) CN111232884B (ja)
DE (1) DE102019217568B4 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210152314A (ko) * 2020-06-08 2021-12-15 롯데정보통신 주식회사 매장 픽업 서비스를 제공하기 위한 로봇 시스템 및 그 방법
WO2023188702A1 (ja) * 2022-03-28 2023-10-05 日本電気株式会社 制御装置、制御方法、および記録媒体
WO2024047975A1 (ja) * 2022-08-30 2024-03-07 日立Astemo株式会社 管制装置、状態管理方法、および状態管理プログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220324113A1 (en) * 2021-04-12 2022-10-13 Sanctuary Cognitive Systems Corporation Systems, devices, and methods for developing robot autonomy
CN114419150A (zh) * 2021-12-21 2022-04-29 未来机器人(深圳)有限公司 叉车取货方法、装置、计算机设备、存储介质
WO2023192313A1 (en) * 2022-03-28 2023-10-05 Seegrid Corporation Continuous and discrete estimation of payload engagement/disengagement sensing
DE102022211255A1 (de) 2022-10-24 2024-04-25 Siemens Healthineers Ag Steuerung von Robotern mit zentralisierter Positionserfassung

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6383385A (ja) * 1986-09-29 1988-04-14 沖電気工業株式会社 無人搬送車による自動扉の開閉制御方法
JP2019110742A (ja) * 2017-11-20 2019-07-04 コリア インスティチュート オブ エナジー リサーチ 自律型コミュニティエネルギー管理システム及び方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4671628B2 (ja) 2004-06-16 2011-04-20 ソニー株式会社 ロボット装置の制御システム及び制御方法
US7123169B2 (en) * 2004-11-16 2006-10-17 Northrop Grumman Corporation Method and apparatus for collaborative aggregate situation awareness
US7894932B2 (en) 2005-07-19 2011-02-22 Kiva Systems, Inc. Method and system for replenishing inventory items
US8947531B2 (en) * 2006-06-19 2015-02-03 Oshkosh Corporation Vehicle diagnostics based on information communicated between vehicles
US8352111B2 (en) * 2009-04-06 2013-01-08 GM Global Technology Operations LLC Platoon vehicle management
US9155961B2 (en) 2009-05-28 2015-10-13 Anki, Inc. Mobile agents for manipulating, moving, and/or reorienting components
JP2011108044A (ja) 2009-11-18 2011-06-02 Fanuc Ltd N個のロボットを同時に制御するロボット制御装置
CA2907452A1 (en) * 2013-03-15 2014-09-18 Peloton Technology Inc. Vehicle platooning systems and methods
WO2014194191A1 (en) 2013-05-31 2014-12-04 Anki, Inc. Mobile agents for manipulating, moving, and/or reorienting components
CN103927639A (zh) * 2014-02-10 2014-07-16 武汉科技大学 一种基于实时信息的钢铁产品物流系统及其调度方法
CN103761588B (zh) * 2014-02-18 2016-09-14 重庆大学 基于多目标建模优化的危化品运输调度方法
JP5877867B2 (ja) 2014-04-25 2016-03-08 ファナック株式会社 複数台のロボットのシミュレーション装置
CN103955818B (zh) * 2014-05-27 2018-02-02 山东大学 多层穿梭车自动仓储系统的任务调度方法
SG10201406357QA (en) * 2014-10-03 2016-05-30 Infinium Robotics Pte Ltd System for performing tasks in an operating region and method of controlling autonomous agents for performing tasks in the operating region
DE102015216272A1 (de) 2015-08-26 2017-03-02 Airbus Operations Gmbh Modularer Roboter-Bausatz, Schwarm modularisierter Roboter und Verfahren zum Erledigen von Aufgaben durch einen Schwarm modularisierter Roboter
US10239529B2 (en) * 2016-03-01 2019-03-26 Ford Global Technologies, Llc Autonomous vehicle operation based on interactive model predictive control
EP3913598A1 (en) * 2016-06-23 2021-11-24 Telefonaktiebolaget LM Ericsson (publ) Methods identifying vehicles and related systems, controllers, and vehicles
JP6457473B2 (ja) * 2016-12-16 2019-01-23 ファナック株式会社 ロボットおよびレーザスキャナの動作を学習する機械学習装置,ロボットシステムおよび機械学習方法
CN108657705B (zh) * 2017-03-31 2020-01-24 深圳市凯通物流有限公司 智能化物流仓库及货物存储方法
EP3418843B1 (en) * 2017-06-23 2021-03-17 Volkswagen Aktiengesellschaft Concept of coordinating an emergency braking of a platoon of communicatively coupled vehicles
KR101984922B1 (ko) * 2017-09-13 2019-05-31 엘지전자 주식회사 차량의 군집 주행 방법 및 차량
DE102017221104A1 (de) * 2017-11-24 2019-05-29 Robert Bosch Gmbh Verfahren zum Koordinieren von Abständen innerhalb eines Fahrzeugverbands
KR102417904B1 (ko) * 2017-12-11 2022-07-07 현대자동차주식회사 군집 주행 제어 시스템, 장치 및 방법
KR102417905B1 (ko) * 2017-12-11 2022-07-07 현대자동차주식회사 선두 차량의 군집 주행 제어 장치 및 방법
DE102017223717B4 (de) 2017-12-22 2019-07-18 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6383385A (ja) * 1986-09-29 1988-04-14 沖電気工業株式会社 無人搬送車による自動扉の開閉制御方法
JP2019110742A (ja) * 2017-11-20 2019-07-04 コリア インスティチュート オブ エナジー リサーチ 自律型コミュニティエネルギー管理システム及び方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210152314A (ko) * 2020-06-08 2021-12-15 롯데정보통신 주식회사 매장 픽업 서비스를 제공하기 위한 로봇 시스템 및 그 방법
KR102387778B1 (ko) * 2020-06-08 2022-04-15 롯데정보통신 주식회사 매장 픽업 서비스를 제공하기 위한 로봇 시스템 및 그 방법
WO2023188702A1 (ja) * 2022-03-28 2023-10-05 日本電気株式会社 制御装置、制御方法、および記録媒体
WO2024047975A1 (ja) * 2022-08-30 2024-03-07 日立Astemo株式会社 管制装置、状態管理方法、および状態管理プログラム

Also Published As

Publication number Publication date
CN111232884A (zh) 2020-06-05
CN111232884B (zh) 2022-01-04
US20200174473A1 (en) 2020-06-04
US11340611B2 (en) 2022-05-24
DE102019217568B4 (de) 2021-01-14
DE102019217568A1 (de) 2020-06-04

Similar Documents

Publication Publication Date Title
US11340611B2 (en) Autonomous body system and control method thereof
US10955827B2 (en) Controller and machine learning device for controlling a conveying machine to optimize conveyance of an article
CN108140157B (zh) 用于评估和调节工业车辆性能的计算机执行的处理和系统
US11767168B2 (en) Automatic transportation of pallets of goods
CN111386233B (zh) 仓库系统
EP1757554B1 (en) Anti-sway control for crane
US20190064845A1 (en) Systems and methods for generating a mission for a self-driving material-transport vehicle
US20120123614A1 (en) Method and apparatus for virtualizing industrial vehicles to automate task execution in a physical environment
TW200825647A (en) Transportation vehicle system
EP3341162B1 (en) Selective deployment of a robot to perform mapping
US20150019006A1 (en) Robot system and robot controller
KR20160108706A (ko) 자율 주행 기반 무인 운반차 시스템 및 이의 제어 방법
WO2020107468A1 (zh) 一种无人设备的控制方法及无人车
KR20230035987A (ko) 물류로봇의 이동위치별 plc 운용 시스템 및 그 방법
KR20220085959A (ko) 산업운반차량 운용 시스템 및 그 방법
JP6980777B2 (ja) 在庫品管理システム、運送装置及び運送装置と運送対象物との結合方法
WO2020184168A1 (ja) 無人搬送車の通信システム
US11001446B2 (en) Apparatus, systems, and methods for payload pick-up and drop-off with a self-driving material-transport vehicle
JP2021039450A (ja) 設計支援システム、設計支援方法、及びプログラム
CN114296464B (zh) 一种基于二维码导航的agv控制系统及方法
JP6711555B1 (ja) 搬送システム、領域決定装置、および、領域決定方法
JP2021165897A (ja) 制御装置、移動制御システム、制御方法及びプログラム
CN114237213A (zh) 一种用于港口车的自动驾驶系统
KR20220115247A (ko) 자율주행로봇 및 그 제어 방법
JP4296351B2 (ja) 走行制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220922

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230110

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20230410