JP7468694B2 - 情報収集装置、情報収集方法及びプログラム - Google Patents

情報収集装置、情報収集方法及びプログラム Download PDF

Info

Publication number
JP7468694B2
JP7468694B2 JP2022563274A JP2022563274A JP7468694B2 JP 7468694 B2 JP7468694 B2 JP 7468694B2 JP 2022563274 A JP2022563274 A JP 2022563274A JP 2022563274 A JP2022563274 A JP 2022563274A JP 7468694 B2 JP7468694 B2 JP 7468694B2
Authority
JP
Japan
Prior art keywords
information
robot
task
work
identifier
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.)
Active
Application number
JP2022563274A
Other languages
English (en)
Other versions
JPWO2022107207A5 (ja
JPWO2022107207A1 (ja
Inventor
雅嗣 小川
博之 大山
永哉 若山
真澄 一圓
伸治 加美
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Publication of JPWO2022107207A1 publication Critical patent/JPWO2022107207A1/ja
Publication of JPWO2022107207A5 publication Critical patent/JPWO2022107207A5/ja
Application granted granted Critical
Publication of JP7468694B2 publication Critical patent/JP7468694B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1661Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40113Task planning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Description

本開示は、ロボットの作業に関する情報を収集する情報収集装置、情報収集方法及び記憶媒体の技術分野に関する。
ロボットの作業に関するデータ収集を行う手法が提案されている。例えば、特許文献1には、ロボットの動作データを収集する条件を定める収集条件を設定し、収集条件を満たすロボットの動作データを収集するロボット動作データ収集システムが開示されている。
特開2020-046764号公報
遠隔でのロボット制御を可能とするため、ロボットの動作シーケンスの自動生成により自律性を持たせたロボット制御を行うことが考えらえる。このようなロボットシステムでは、種々の環境で活動するロボットからデータを収集し、ロボット制御に用いる情報の更新を行うことがロボット制御の精度向上のために必要となる。
本開示の目的の1つは、上述した課題を鑑み、ロボットの作業に関する情報を好適に収集することが可能な情報収集装置、情報収集方法及び記憶媒体を提供することである。
情報収集装置の一の態様は、
ロボットの作業に関連する作業関連情報を取得する情報取得手段と、
前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定するタスク識別子設定手段と、
を有し、
前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
前記タスク識別子設定手段は、前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する、
情報収集装置である。
コンピュータが、
ロボットの作業に関連する作業関連情報を取得し、
前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定し、
前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する、
情報収集方法である。
プログラムの一の態様は、
ロボットの作業に関連する作業関連情報を取得し、
前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定し、
前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する処理をコンピュータに実行させるプログラムである。
ロボットの作業に関連する作業関連情報の収集を好適に行うことができる。
第1実施形態におけるロボット統括システムの構成を示す。 ロボットコントローラのハードウェア構成を示す。 アプリケーション情報のデータ構造の一例を示す。 作業関連情報のデータ構造の一例を示す。 情報収集装置の機能ブロックの一例である。 ロボット動作期間におけるサブタスクの実行状況と、作業関連情報に設定されるタスク識別子との関係を表す図である ロボットコントローラの機能ブロックの一例である。 ピックアンドプレイスを目的タスクとした場合の作業空間の俯瞰図を示す。 目的タスクを指定するタスク指定画面の表示例を示す。 第1実施形態において情報収集装置が実行する処理の概要を示すフローチャートの一例である。 第2実施形態における情報収集装置の概略構成図を示す。 第2実施形態において、情報収集装置が実行する処理手順を示すフローチャートの一例である。
以下、図面を参照しながら、情報収集装置、情報収集方法、記憶媒体の実施形態について説明する。
<第1実施形態>
(1)システム構成
図1は、第1実施形態に係るロボット統括システム100の構成を示す。ロボット統括システム100は、主に、指示装置2と、情報収集装置3と、複数のタスク実行システム50(50A、50B、…)とを有する。指示装置2と情報収集装置3とタスク実行システム50とは、通信網6を介してデータ通信を行う。
指示装置2は、各タスク実行システム50においてロボット5に実行させるタスク(「目的タスク」とも呼ぶ。)に関する作業者による指示を受け付ける装置である。指示装置2は、目的タスクに関する所定の表示又は音出力を行ったり、作業者の入力に基づき生成した指示信号「D1」をタスク実行システム50へ供給したりする。この場合、指示装置2は、例えば、目的タスクの指示が可能なタスク実行システム50のリストを表示し、リストから選択されたタスク実行システム50に対して目的タスクの指定等に関する入力を受け付ける。指示装置2は、入力部と表示部とを備えるタブレット端末であってもよく、据置型のパーソナルコンピュータであってもよい。
情報収集装置3は、ロボットの作業に関連する情報(「ロボット作業関連情報D2」とも呼ぶ。)をタスク実行システム50の各々から受信し、受信したロボット作業関連情報D2を記憶する。情報収集装置3は、機能的には、ロボット作業関連情報記憶部42と、更新アプリケーション情報記憶部43とを有する。ロボット作業関連情報記憶部42は、情報収集装置3がタスク実行システム50の各々から受信したロボット作業関連情報D2を記憶する。更新アプリケーション情報記憶部43は、ロボット作業関連情報記憶部42に記憶された情報を分析することで生成・更新されたアプリケーション情報を記憶する。アプリケーション情報は、ロボットが実行すべきシーケンスである動作シーケンスを目的タスクから生成するために必要な種々の情報である。情報収集装置3は、更新アプリケーション情報記憶部43に記憶されたアプリケーション情報とタスク実行システム50に記憶されたアプリケーション情報とを同期するために必要な更新情報「D3」を、タスク実行システム50に送信する。
タスク実行システム50は、指定された目的タスクを実行するシステムであり、夫々異なる環境に設けられる。各タスク実行システム50は、ロボットコントローラ1(1A、1B、…)と、ロボット5(5A、5B、…)と、計測装置7(7A、7B、…)と、を備える。
ロボットコントローラ1は、同一のタスク実行システム50内に属するロボット5に実行させる目的タスクが指定された場合に、ロボット5の動作計画を時相論理に基づき策定し、当該動作計画に基づきロボット5を制御する。具体的には、ロボットコントローラ1は、時相論理により表した目的タスクを、ロボット5が受付可能な単位となるタスクのタイムステップ(時間刻み)毎のシーケンスに変換し、生成したシーケンスに基づきロボット5を制御する。以後では、ロボット5が受付可能な単位により目的タスクを分解したタスク(コマンド)を、「サブタスク」とも呼び、目的タスクを達成するためにロボット5が実行すべきサブタスクのシーケンスを「サブタスクシーケンス」又は「動作シーケンス」と呼ぶ。
また、ロボットコントローラ1は、ロボット5の動作シーケンスを目的タスクから生成するために必要なアプリケーション情報を記憶するアプリケーション情報記憶部41(41A、41B、…)を有する。アプリケーション情報の詳細は、図3を参照しながら後述する。
また、ロボットコントローラ1は、同一のタスク実行システム50に属するロボット5及び計測装置7と、通信網を介し、又は、無線若しくは有線による直接通信により、データ通信を行う。例えば、ロボットコントローラ1は、ロボット5の制御に関する制御信号をロボット5に送信する。他の例では、ロボットコントローラ1は、計測装置7が生成した計測信号を受信する。
さらに、ロボットコントローラ1は、指示装置2及び情報収集装置3と、通信網6を介してデータ通信を行う。例えば、ロボットコントローラ1は、指示装置2から、目的タスクの指定又はロボット5の動作指令等に関する指示信号D1を受信する。また、ロボットコントローラ1は、情報収集装置3に対し、ロボット5の制御において生成した各種情報、ロボット5及び計測装置7と授受を行った各種情報を含むロボット作業関連情報D2を送信する。ロボット作業関連情報D2の詳細は、図4を参照しながら後述する。また、ロボットコントローラ1は、通信網6を介して情報収集装置3から更新情報D3を受信し、受信した更新情報D3に基づき、アプリケーション情報記憶部41に記憶するアプリケーション情報を更新する。
なお、ロボット5又は計測装置7が生成したロボット作業関連情報D2は、ロボットコントローラ1を介して情報収集装置3に供給される代わりに、ロボットコントローラ1を介すことなく、ロボット5又は計測装置7により直接的に情報収集装置3に供給されてもよい。
ロボット5は、タスク実行システム50毎に1台又は複数台存在し、同一のタスク実行システム50に属するロボットコントローラ1から供給される制御信号に基づき目的タスクに関する作業を行う。ロボット5は、例えば、組み立て工場、食品工場などの各種工場、又は、物流の現場などで動作を行うロボットである。ロボット5は、垂直多関節型ロボット、水平多関節型ロボット、又はその他の任意の種類のロボットであってもよく、ロボットアームなどの夫々が独立して動作する制御対象物を複数有してもよい。また、ロボット5は、作業空間内で動作する他のロボット、作業者又は工作機械と協働作業を行うものであってもよい。また、ロボットコントローラ1とロボット5とは、一体に構成されてもよい。
また、ロボット5は、ロボット5の状態を示す状態信号を、同一のタスク実行システム50に属するロボットコントローラ1に供給してもよい。この状態信号は、ロボット5全体又は関節などの特定部位の状態(位置、角度等)を検出するセンサの出力信号であってもよく、ロボット5の制御部が生成したロボット5の動作シーケンスの進捗状態を示す信号であってもよい。
計測装置7は、各タスク実行システム50において目的タスクが実行される作業空間内の状態を検出するカメラ、測域センサ、ソナーまたはこれらの組み合わせとなる1又は複数のセンサである。計測装置7は、生成した計測信号を、同一のタスク実行システム50に属するロボットコントローラ1に供給する。計測装置7は、作業空間内で移動する自走式又は飛行式のセンサ(ドローンを含む)であってもよい。また、計測装置7は、ロボット5に設けられたセンサ、及び作業空間内の他の物体に設けられたセンサなどを含んでもよい。また、計測装置7は、作業空間内の音を検出するセンサを含んでもよい。このように、計測装置7は、作業空間内の状態を検出する種々のセンサであって、任意の場所に設けられたセンサを含んでもよい。
なお、図1に示すロボット統括システム100の構成は一例であり、当該構成に種々の変更が行われてもよい。例えば、タスク実行システム50に夫々存在するロボットコントローラ1は、複数の装置から構成されてもよい。この場合、ロボットコントローラ1を構成する複数の装置は、予め割り当てられた処理を実行するために必要な情報の授受を、これらの複数の装置間において行う。また、アプリケーション情報記憶部41は、ロボットコントローラ1とデータ通信を行う1または複数の外部記憶装置により記憶されてもよい。この場合、外部記憶装置は、各タスク実行システム50で共通して参照されるアプリケーション情報記憶部41を記憶する1又は複数のサーバ装置であってもよい。同様に、ロボット作業関連情報記憶部42及び更新アプリケーション情報記憶部43の少なくとも一方は、情報収集装置3とデータ通信を行う1又は複数の外部記憶装置により記憶されてもよい。また、タスク実行システム50には、ロボット5の作業環境に関する温度、湿度等の指標の検出を行うセンサが設けられてもよい。
(2)ハードウェア構成
図2(A)は、ロボットコントローラ1(1A、1B、…)のハードウェア構成を示す。ロボットコントローラ1は、ハードウェアとして、プロセッサ11と、メモリ12と、インターフェース13とを含む。プロセッサ11、メモリ12及びインターフェース13は、データバス10を介して接続されている。
プロセッサ11は、メモリ12に記憶されているプログラムを実行することにより、ロボットコントローラ1の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ11は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、TPU(Tensor Processing Unit)などのプロセッサである。プロセッサ11は、複数のプロセッサから構成されてもよい。プロセッサ11は、コンピュータの一例である。
メモリ12は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ12には、ロボットコントローラ1が実行する処理を実行するためのプログラムが記憶される。また、メモリ12は、アプリケーション情報記憶部41として機能する。アプリケーション情報記憶部41に記憶されたアプリケーション情報は、更新情報D3に基づき更新される。なお、メモリ12が記憶する情報の一部は、ロボットコントローラ1と通信可能な1又は複数の外部記憶装置により記憶されてもよく、ロボットコントローラ1に対して着脱自在な記憶媒体により記憶されてもよい。
インターフェース13は、ロボットコントローラ1と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
なお、ロボットコントローラ1のハードウェア構成は、図2(A)に示す構成に限定されない。例えば、ロボットコントローラ1は、表示装置、入力装置又は音出力装置の少なくともいずれかと接続又は内蔵してもよい。
図2(B)は、指示装置2のハードウェア構成を示す。指示装置2は、ハードウェアとして、プロセッサ21と、メモリ22と、インターフェース23と、入力部24aと、表示部24bと、音出力部24cとを含む。プロセッサ21、メモリ22及びインターフェース23は、データバス20を介して接続されている。また、インターフェース23には、入力部24aと表示部24bと音出力部24cとが接続されている。
プロセッサ21は、メモリ22に記憶されているプログラムを実行することにより、所定の処理を実行する。プロセッサ21は、CPU、GPU、TPUなどのプロセッサである。プロセッサ21は、インターフェース23を介して入力部24aが生成した信号を受信することで、指示信号D1を生成し、インターフェース23を介してロボットコントローラ1に当該指示信号D1を送信する。また、プロセッサ21は、インターフェース23を介してロボットコントローラ1から受信した出力制御信号に基づき、表示部24b又は音出力部24cの少なくとも一方を、インターフェース23を介して制御する。
メモリ22は、RAM、ROM、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ22には、指示装置2が実行する処理を実行するためのプログラムが記憶される。
インターフェース23は、指示装置2と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。また、インターフェース23は、入力部24a、表示部24b、及び音出力部24cのインターフェース動作を行う。入力部24aは、ユーザの入力を受け付けるインターフェースであり、例えば、タッチパネル、ボタン、キーボード、音声入力装置などが該当する。表示部24bは、例えば、ディスプレイ、プロジェクタ等であり、プロセッサ21の制御に基づき表示を行う。また、音出力部24cは、例えば、スピーカであり、プロセッサ21の制御に基づき音出力を行う。
なお、指示装置2のハードウェア構成は、図2(B)に示す構成に限定されない。例えば、入力部24a、表示部24b又は音出力部24cの少なくともいずれかは、指示装置2と電気的に接続する別体の装置として構成されてもよい。また、指示装置2は、カメラなどの種々の装置と接続してもよく、これらを内蔵してもよい。
図2(C)は、情報収集装置3のハードウェア構成を示す。情報収集装置3は、ハードウェアとして、プロセッサ31と、メモリ32と、インターフェース33とを含む。プロセッサ31、メモリ32及びインターフェース33は、データバス30を介して接続されている。
プロセッサ31は、メモリ32に記憶されているプログラムを実行することにより、情報収集装置3の全体の制御を行うコントローラ(演算装置)として機能する。プロセッサ31は、例えば、CPU、GPU、TPUなどのプロセッサである。プロセッサ31は、複数のプロセッサから構成されてもよい。プロセッサ31は、コンピュータの一例である。
メモリ32は、RAM、ROM、フラッシュメモリなどの各種の揮発性メモリ及び不揮発性メモリにより構成される。また、メモリ32には、ロボットコントローラ1が実行する処理を実行するためのプログラムが記憶される。また、メモリ32は、ロボット作業関連情報記憶部42及び更新アプリケーション情報記憶部43として機能する。なお、メモリ32が記憶する情報の一部は、情報収集装置3と通信可能な1又は複数の外部記憶装置により記憶されてもよく、情報収集装置3に対して着脱自在な記憶媒体により記憶されてもよい。
インターフェース33は、情報収集装置3と他の装置とを電気的に接続するためのインターフェースである。これらのインターフェースは、他の装置とデータの送受信を無線により行うためのネットワークアダプタなどのワイアレスインタフェースであってもよく、他の装置とケーブル等により接続するためのハードウェアインターフェースであってもよい。
なお、情報収集装置3のハードウェア構成は、図2(C)に示す構成に限定されない。例えば、情報収集装置3は、表示装置、入力装置又は音出力装置の少なくともいずれかと接続又は内蔵してもよい。
(3)アプリケーション情報
次に、アプリケーション情報記憶部41が記憶するアプリケーション情報のデータ構造について説明する。
図3は、アプリケーション情報のデータ構造の一例を示す。図3に示すように、アプリケーション情報は、抽象状態指定情報I1と、制約条件情報I2と、動作限界情報I3と、サブタスク情報I4と、抽象モデル情報I5と、物体モデル情報I6とを含む。
抽象状態指定情報I1は、動作シーケンスの生成にあたり定義する必要がある抽象状態を指定する情報である。この抽象状態は、作業空間内における物体の抽象的な状態であって、後述する目標論理式において使用する命題として定められる。例えば、抽象状態指定情報I1は、目的タスクの種類毎に、定義する必要がある抽象状態を指定する。
制約条件情報I2は、目的タスクを実行する際の制約条件を示す情報である。制約条件情報I2は、例えば、目的タスクがピックアンドプレイスの場合、障害物にロボット5(ロボットアーム)が接触してはいけないという制約条件、ロボット5(ロボットアーム)同士が接触してはいけないという制約条件などを示す。なお、制約条件情報I2は、目的タスクの種類毎に夫々適した制約条件を記録した情報であってもよい。
動作限界情報I3は、ロボットコントローラ1により制御が行われるロボット5の動作限界に関する情報を示す。動作限界情報I3は、例えば、ロボット5の速度、加速度、又は角速度の上限を規定する情報である。なお、動作限界情報I3は、ロボット5の可動部位又は関節ごとに動作限界を規定する情報であってもよい。
サブタスク情報I4は、動作シーケンスの構成要素となるサブタスクの情報を示す。「サブタスク」は、ロボット5が受付可能な単位により目的タスクを分解したタスクであって、細分化されたロボット5の動作を指す。例えば、目的タスクがピックアンドプレイスの場合には、サブタスク情報I4は、ロボット5のロボットアームの移動であるリーチングと、ロボットアームによる把持であるグラスピングとをサブタスクとして規定する。サブタスク情報I4は、目的タスクの種類毎に使用可能なサブタスクの情報を示すものであってもよい。なお、サブタスク情報I4には、外部入力による動作指令が必要なサブタスクに関する情報が含まれてもよい。
抽象モデル情報I5は、作業空間におけるダイナミクスを抽象化した抽象モデルに関する情報である。例えば、抽象モデルは、後述するように、現実のダイナミクスをハイブリッドシステムにより抽象化したモデルにより表されている。抽象モデル情報I5は、上述のハイブリッドシステムにおけるダイナミクスの切り替わりの条件を示す情報を含む。切り替わりの条件は、例えば、ロボット5により作業対象となる物(「対象物」とも呼ぶ。)をロボット5が掴んで所定位置に移動させるピックアンドプレイスの場合、対象物はロボット5により把持されなければ移動できないという条件などが該当する。抽象モデル情報I5は、目的タスクの種類毎に適した抽象モデルに関する情報を有している。
物体モデル情報I6は、計測装置7が生成した計測信号から認識すべき作業空間内の各物体の物体モデルに関する情報である。上述の各物体は、例えば、ロボット5、障害物、ロボット5が扱う工具その他の対象物、ロボット5以外の作業体などが該当する。物体モデル情報I6は、例えば、上述した各物体の種類、位置、姿勢、現在実行中の動作などをロボットコントローラ1が認識するために必要な情報と、各物体の3次元形状を認識するためのCAD(Computer Aided Design)データなどの3次元形状情報とを含んでいる。前者の情報は、ニューラルネットワークなどの機械学習における学習モデルを学習することで得られた推論器のパラメータを含む。この推論器は、例えば、画像が入力された場合に、当該画像において被写体となる物体の種類、位置、姿勢等を出力するように予め学習される。また、対象物などの主要な物体に画像認識用のARマーカが付されている場合には、ARマーカにより物体を認識するために必要な情報が物体モデル情報I6として記憶されてもよい。
なお、アプリケーション情報記憶部41は、上述した情報の他、ロボット5の動作シーケンスの生成処理に関する種々の情報を記憶してもよい。
(4)作業関連情報
図4は、情報収集装置3が各タスク実行システム50から受信するロボット作業関連情報D2のデータ構造の一例を示す。図4に示すように、ロボット作業関連情報D2は、ロボット構成情報D21と、動作計画情報D22と、計測情報D23と、ロボット動作状況情報D24と、作業環境情報D25とを含んでいる。なお、図4に示すロボット作業関連情報D2は、一括して情報収集装置3に供給される代わりに、情報の種類、又は/及び、生成タイミングに応じてロボット作業関連情報D2を構成する個々の情報が逐次的に情報収集装置3に供給されてもよい。即ち、タスク実行システム50は、ロボット作業関連情報D2として送信すべき情報を複数回に分けて情報収集装置3に供給してもよい。
ロボット構成情報D21は、タスク実行システム50の各々におけるロボット5の構成を表す情報である。ロボット構成情報D21は、例えば、ロボット5の台数、各ロボット5の配置、各ロボット5の種類などの情報を含んでいる。なお、ロボット構成情報D21は、ロボット5の構成に加えて、計測装置7の構成(台数、配置、種類等)に関する情報をさらに含んでもよい。ロボット構成情報D21は、ロボット作業関連情報D2として情報収集装置3に送信される他の情報より先行して情報収集装置3に供給されてもよい。
動作計画情報D22は、タスク実行システム50の各々におけるロボットコントローラ1が策定するロボット5の動作計画に関する情報である。動作計画情報D22は、例えば、ロボットコントローラ1がロボット5に供給する動作シーケンスに関する制御信号に加えて、当該制御信号を生成する過程において生成した任意の情報(中間生成情報)を含んでもよい。例えば、動作計画情報D22は、設定された目的タスクの情報、ロボットコントローラ1が設定した抽象状態(命題を含む)に関する情報、動作シーケンスを決定する際に使用した評価関数(報酬関数、価値関数)に関する情報等を含んでもよい。また、動作計画情報D22は、ロボットコントローラ1が使用したアプリケーション情報のバージョン情報などを含んでもよい。また、動作計画情報D22は、動作シーケンスを生成した日時及び動作シーケンスを構成する各サブタスクの実行予定日時等を示す日時情報を含んでいる。動作計画情報D22は、ロボットコントローラ1による動作計画の策定後に直ちに情報収集装置3に供給されてよく、ロボット作業関連情報D2として情報収集装置3に送信される他の情報と一括して情報収集装置3に供給されてもよい。
計測情報D23は、タスク実行システム50の各々において設けられた計測装置7がロボット5による目的タスクの実行中において生成する計測信号である。この計測信号は、計測日時を示す日時情報と関連付けられている。
ロボット動作状況情報D24は、タスク実行システム50の各々において、ロボットコントローラ1が生成した動作シーケンスの制御信号に基づきロボット5が動作している期間(「ロボット動作期間」とも呼ぶ。)におけるロボット5の動作状況を表す情報である。ロボット動作状況情報D24は、サブタスクごとのロボット5の実行結果(成功又は失敗)を示すログ情報であってもよく、動作シーケンスを実行中のロボット5の状態に関するログ情報であってもよい。状態に関するログ情報は、例えば、ロボット5の稼働時間長、ロボット5のエンドエフェクタやアクチュエータ等の角度、角速度、角加速度、位置、速度、加速度、力、トルクなどの情報を含む。これらのログ情報は、対象となる動作の実行日時を示す日時情報と関連付けられている。ロボット動作状況情報D24は、ロボットコントローラ1が生成する情報であってもよく、ロボット5が生成する情報であってもよく、その両方を含む情報であってもよい。
作業環境情報D25は、タスク実行システム50の各々において検出された作業環境に関する検出情報である。作業環境情報D25は、例えば、ロボット動作期間での作業空間の温度、湿度その他環境を表す指標である。
なお、計測情報D23、ロボット動作状況情報D24及び作業環境情報D25は、ロボット動作期間中において所定時間間隔ごとに情報収集装置3に供給されてもよく、ロボット動作期間終了後に一括して情報収集装置3に供給されてもよい。
ロボット作業関連情報D2には、上述した情報に限らず、ロボット5の作業に関する任意の情報が含まれていてもよい。例えば、ロボット作業関連情報D2には、タスク実行システム50の各々に対して割り当てられた識別情報が含まれてもよい。
(5)情報収集装置の処理概要
次に、情報収集装置3の処理概要について説明する。概略的には、情報収集装置3は、各タスク実行システム50から供給されるロボット作業関連情報D2をロボット作業関連情報記憶部42に記憶する場合に、実行対象のタスクを表す識別子(「タスク識別子」とも呼ぶ。)をロボット作業関連情報D2に設定する。これにより、情報収集装置3は、複数の環境で作業するロボット5のデータを収集する場合に、アプリケーション情報の更新等を目的とした分析、学習において好適に活用できるように、収集したデータの仕分けを行う。
図5は、情報収集装置3の処理の概要を示す機能ブロックの一例である。情報収集装置3のプロセッサ31は、機能的には、情報取得部35と、タスク識別子設定部36と、アプリケーション情報更新部37とを有する。なお、図5では、各ブロック間で授受が行われるデータの一例が示されているが、これに限定されない。後述する他の機能ブロックの図においても同様である。
情報取得部35は、インターフェース33を介してタスク実行システム50の各々からロボット作業関連情報D2を受信し、受信したロボット作業関連情報D2又はその一部をタスク識別子設定部36に供給する。情報取得部35の処理の詳細については、「(6)情報取得部の詳細」のセクションにて詳しく説明する。
なお、タスク実行システム50の各々は、ロボット作業関連情報D2を、目的タスクの実行(動作計画を含む)の開始後から目的タスクの実行終了までの期間において、所定時間間隔毎に送信してもよく、目的タスクの実行完了時などの所定のタイミングにおいてまとめて送信してもよい。また、情報取得部35は、ロボット作業関連情報D2を各タスク実行システム50に対して要求することで、ロボット作業関連情報D2を受信してもよい。この場合、例えば、情報取得部35は、指示装置2から目的タスクの指示情報等を受信することで、目的タスクの実行中のタスク実行システム50を認識し、目的タスクの実行中のタスク実行システム50のロボットコントローラ1にロボット作業関連情報D2の送信を要求する。
タスク識別子設定部36は、情報取得部35から供給されたロボット作業関連情報D2に対してタスク識別子をタグとして設定する処理(所謂タグ付け処理)を実行し、タスク識別子を設定したロボット作業関連情報D2をロボット作業関連情報記憶部42に記憶する。この場合、タスク識別子は、サブタスクを少なくとも識別可能な識別子である。タスク識別子設定部36の処理の詳細については、「(7)タスク識別子設定部の詳細」のセクションにて詳しく説明する。
アプリケーション情報更新部37は、ロボット作業関連情報記憶部42に記憶された情報に基づき、アプリケーション情報を更新し、更新したアプリケーション情報を更新アプリケーション情報記憶部43に記憶する。この場合、アプリケーション情報更新部37は、ロボット作業関連情報記憶部42に記憶されたロボット作業関連情報を、設定されたタスク識別子が示すタスク毎に分析・学習することで、抽象状態指定情報I1、制約条件情報I2、動作限界情報I3、サブタスク情報I4、抽象モデル情報I5、又は物体モデル情報I6の少なくともいずれかを更新する。この場合、アプリケーション情報更新部37は、管理者等による外部入力を、インターフェース33を介した入力部により受け付け、当該外部入力に基づき上述の更新を行ってもよい。
また、アプリケーション情報更新部37は、更新したアプリケーション情報を表す更新情報D3を、各タスク実行システム50に配信する。この場合、例えば、アプリケーション情報更新部37は、更新アプリケーション情報記憶部43に記憶した更新後の全てのアプリケーション情報を更新情報D3として各タスク実行システム50に配信する。他の例では、アプリケーション情報更新部37は、更新部分に該当するアプリケーション情報のみを更新情報D3として各タスク実行システム50に配信する。その後、更新情報D3を受信した各タスク実行システム50のロボットコントローラ1は、更新情報D3に基づきアプリケーション情報記憶部41に記憶されたアプリケーション情報を更新する。
ここで、情報取得部35、タスク識別子設定部36及びアプリケーション情報更新部37の各構成要素は、例えば、プロセッサ31がプログラムを実行することによって実現できる。また、必要なプログラムを任意の不揮発性記憶媒体に記録しておき、必要に応じてインストールすることで、各構成要素を実現するようにしてもよい。なお、これらの各構成要素の少なくとも一部は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組合せ等により実現してもよい。また、これらの各構成要素の少なくとも一部は、例えばFPGA(Field-Programmable Gate Array)又はマイクロコントローラ等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。また、各構成要素の少なくとも一部は、ASSP(Application Specific Standard Produce)、ASIC(Application Specific Integrated Circuit)又は量子コンピュータ制御チップにより構成されてもよい。このように、各構成要素は、種々のハードウェアにより実現されてもよい。以上のことは、後述する他の実施の形態においても同様である。さらに、これらの各構成要素は,例えば,クラウドコンピューティング技術などを用いて、複数のコンピュータの協働によって実現されてもよい。
(6)情報取得部の詳細
情報取得部35が実行する処理の詳細について説明する。好適には、情報取得部35は、受信したロボット作業関連情報D2について、所定の収集条件が満たされるか否かを判定し、収集条件が満たされるロボット作業関連情報D2を、タスク識別子設定部36に供給する。これにより、タスク識別子設定部36によるタスク識別子の設定処理による処理負荷等を好適に低減する。
ここで、「収集条件」は、タスク識別子と関連付けてロボット作業関連情報記憶部42に記憶する対象となるロボット作業関連情報D2を判定する条件を指す。収集条件は、例えば、ロボット作業関連情報D2をロボット作業関連情報記憶部42に記憶するタスク実行システム50を指定する条件であってもよく、ロボット作業関連情報D2をロボット作業関連情報記憶部42に記憶する時間帯を指定する条件であってもよい。具体的な収集条件を指定する情報は、例えばメモリ32等に予め記憶されている。
また、収集条件は、タスク実行システム50に存在するロボット5の構成を指定する条件であってもよい。この場合、情報取得部35は、ロボット作業関連情報D2として送信されるロボット構成情報D21に基づき、収集条件として設定したロボット5の構成を有するタスク実行システム50を特定する。そして、情報取得部35は、収集条件として設定したロボット5の構成を有するタスク実行システム50から送信されたロボット作業関連情報D2を、タスク識別子設定部36に供給する。
なお、情報取得部35は、収集条件が満たれさないロボット作業関連情報D2を、ロボット作業関連情報記憶部42に記憶せずに破棄してもよく、タスク識別子の設定処理を行わずにそのままロボット作業関連情報記憶部42に記憶してもよい。これらのいずれの場合においても、タスク識別子設定部36によるタスク識別子の設定処理の負荷を削減することができる。この場合、例えば、収集条件が満たれさないロボット作業関連情報D2に対する対応を定めた設定情報がメモリ32等に記憶されており、情報取得部35は、当該設定情報に従い、収集条件が満たされないロボット作業関連情報D2への対応(破棄又はそのままロボット作業関連情報記憶部42に記憶)を決定する。
(7)タスク識別子設定部の詳細
次に、タスク識別子の設定処理の詳細について説明する。タスク識別子設定部36は、ロボット動作期間に生成されるロボット作業関連情報D2(例えば、計測情報D23、ロボット動作状況情報D24及び作業環境情報D25)について、少なくとも対応するサブタスクを表すタスク識別子をタグとして設定する。具体的には、タスク識別子設定部36は、ロボット動作期間において実行されるロボット5の各サブタスクの実行期間を認識し、認識した各サブタスクの実行期間に生成されたロボット作業関連情報D2に対し、対応するサブタスクのタスク識別子を設定する。
図6は、あるタスク実行システム50のロボット動作期間におけるサブタスクの実行状況と、ロボット動作期間に生成されるロボット作業関連情報D2に付されるタスク識別子との関係を表す図である。図6の例では、時刻「t1」から時刻「t7」までの期間がタスク実行システム50Aでのロボット動作期間に相当し、当該期間においてロボット5はサブタスクである「サブタスク1」~「サブタスク4」を実行している。
タスク識別子設定部36は、ロボット実行期間において実行される各サブタスクの実行期間を、ロボット作業関連情報D2に含まれる動作計画情報D22又はロボット動作状況情報D24に基づき認識する。具体的には、タスク識別子設定部36は、タイムステップ毎に計画されたサブタスクのシーケンスの情報を示す動作計画情報D22、又は、実際にロボット5が実行したサブタスクのログ情報を示すロボット動作状況情報D24の少なくとも一方を参照し、各サブタスクの実行期間を認識する。そして、タスク識別子設定部36は、ロボット動作期間において生成されるロボット作業関連情報D2を、当該ロボット作業関連情報D2に付加された時刻情報に基づき、各サブタスクの実行期間と対応付ける。
具体的には、タスク識別子設定部36は、時刻t1から時刻「t2」までの期間及び時刻「t5」から時刻「t6」までの期間が「サブタスク1」の実行期間であると認識する。また、タスク識別子設定部36は、時刻t2から時刻「t3」までの期間及び時刻「t4」から時刻「t5」までの期間が「サブタスク2」の実行期間であると認識する。さらに、タスク識別子設定部36は、時刻t3から時刻t4までの期間が「サブタスク3」の実行期間、時刻t6から時刻t7までの期間が「サブタスク4」の実行期間であると認識する。
そして、タスク識別子設定部36は、サブタスクの実行期間ごとに分けたロボット作業関連情報D2に対し、対応するサブタスクを少なくとも表すタスク識別子を設定する。図6の例では、タスク識別子設定部36は、対応する目的タスクXとサブタスクとの両方を識別するためのタスク識別子を設定する。例えば、タスク識別子設定部36は、時刻t1から時刻t2までの期間に日時情報が対応付けられたロボット作業関連情報D2については、「目的タスクX」と「サブタスク1」を表すタスク識別子を設定する。また、タスク識別子設定部36は、時刻t2から時刻t3までの期間に日時情報が対応付けられたロボット作業関連情報D2については、「目的タスクX」と「サブタスク2」を表すタスク識別子を設定する。なお、このタスク識別子は、対象のサブタスクに対して固有の識別子と、対象の目的タスクに対して固有の識別子との組み合わせであってもよく、サブタスクと目的タスクの組み合わせに対して固有の1つの識別子であってもよい。
このように、タスク識別子設定部36は、各タスク実行システム50から供給されるロボット作業関連情報D2について、生成時において実行中であった目的タスク及びサブタスクに対応するタスク識別子を設定する。これにより、タスク識別子設定部36は、アプリケーション情報更新部37でのサブタスクごとの実行結果の分析等がしやすいようにタグ付けされた情報をロボット作業関連情報記憶部42に記憶することができる。このようなタスク識別子の設定により、例えば、失敗がどのサブタスクにおいて発生したかの把握の容易化、及び、サブタスク毎の学習の容易化が期待できる。
(8)ロボットコントローラの制御
次に、各タスク実行システム50においてロボットコントローラ1が実行するロボット5の制御について説明する。以下に述べるように、ロボットコントローラ1は、時相論理に基づくロボット5の動作計画を行う。
(8-1)機能ブロック
図7は、ロボットコントローラ1のプロセッサ11の機能的な構成を示す機能ブロックの一例である。プロセッサ11は、機能的には、抽象状態設定部71と、目標論理式生成部72と、タイムステップ論理式生成部73と、抽象モデル生成部74と、制御入力生成部75と、サブタスクシーケンス生成部76と、を有する。
抽象状態設定部71は、計測装置7から供給される計測信号と、目的タスクの実行を指示する指示信号D1と、抽象状態指定情報I1と、物体モデル情報I6と、に基づき、作業空間内の抽象状態を設定する。この場合、抽象状態設定部71は、目的タスクを実行する際に考慮する必要がある作業空間内の物体を認識し、当該物体に関する認識結果Imを生成する。そして、抽象状態設定部71は、認識結果Imに基づいて、目的タスクを実行する際に考慮する必要がある各抽象状態に対し、論理式で表すための命題を定義する。抽象状態設定部71は、指示信号D1が供給された場合、設定した抽象状態を表す情報(「抽象状態設定情報IS」とも呼ぶ。)を、目標論理式生成部72に供給する。
目標論理式生成部72は、抽象状態設定情報ISに基づき、指示信号D1により指定された目的タスクを、最終的な達成状態を表す時相論理の論理式(「目標論理式Ltag」とも呼ぶ。)に変換する。この場合、目標論理式生成部72は、アプリケーション情報記憶部41から制約条件情報I2を参照することで、目的タスクの実行において満たすべき制約条件を、目標論理式Ltagに付加する。そして、目標論理式生成部72は、生成した目標論理式Ltagを、タイムステップ論理式生成部73に供給する。
タイムステップ論理式生成部73は、目標論理式生成部72から供給された目標論理式Ltagを、各タイムステップでの状態を表した論理式(「タイムステップ論理式Lts」とも呼ぶ。)に変換する。そして、タイムステップ論理式生成部73は、生成したタイムステップ論理式Ltsを、制御入力生成部75に供給する。
抽象モデル生成部74は、アプリケーション情報記憶部41が記憶する抽象モデル情報I5と、抽象状態設定部71から供給される認識結果Imとに基づき、作業空間における現実のダイナミクスを抽象化した抽象モデル「Σ」を生成する。この場合、抽象モデル生成部74は、対象のダイナミクスを連続ダイナミクスと離散ダイナミクスとが混在したハイブリッドシステムとみなし、ハイブリッドシステムに基づく抽象モデルΣを生成する。抽象モデルΣの生成方法については後述する。抽象モデル生成部74は、生成した抽象モデルΣを、制御入力生成部75へ供給する。
制御入力生成部75は、タイムステップ論理式生成部73から供給されるタイムステップ論理式Ltsと、抽象モデル生成部74から供給される抽象モデルΣとを満たし、評価関数(たとえば、ロボットによって消費されるエネルギー量を表す関数)を最適化するタイムステップ毎のロボット5への制御入力を決定する。そして、制御入力生成部75は、ロボット5へのタイムステップ毎の制御入力を示す情報(「制御入力情報Icn」とも呼ぶ。)を、サブタスクシーケンス生成部76へ供給する。
サブタスクシーケンス生成部76は、制御入力生成部75から供給される制御入力情報Icnと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクのシーケンスであるサブタスクシーケンスSrを生成し、サブタスクシーケンスSrをロボット5へ供給する。
(8-2)抽象状態設定部
まず、抽象状態設定部71は、物体モデル情報I6を参照し、作業空間の環境を認識する技術(画像処理技術、画像認識技術、音声認識技術、RFID(Radio Frequency Identifier)を用いる技術等)により計測信号を解析することで、認識結果Imを生成する。認識結果Imには、作業空間内の物体の種類、位置、及び姿勢などの情報が含まれている。また、作業空間内の物体は、例えば、ロボット5、ロボット5が取り扱う工具又は部品などの対象物、障害物及び他作業体(ロボット5以外に作業を行う人又はその他の物体)などである。
次に、抽象状態設定部71は、認識結果Imと、アプリケーション情報記憶部41から取得した抽象状態指定情報I1とに基づき、作業空間内の抽象状態を設定する。この場合、まず、抽象状態設定部71は、抽象状態指定情報I1を参照し、作業空間内において設定すべき抽象状態を認識する。なお、作業空間内において設定すべき抽象状態は、目的タスクの種類によって異なる。よって、目的タスクの種類毎に設定すべき抽象状態が抽象状態指定情報I1に規定されている場合には、抽象状態設定部71は、指示信号D1により指定された目的タスクに対応する抽象状態指定情報I1を参照し、設定すべき抽象状態を認識する。
図8は、ピックアンドプレイスを目的タスクとした場合の作業空間の俯瞰図を示す。図8に示す作業空間には、2つのロボットアーム52a、52bと、4つの対象物61(61a~61d)と、障害物62と、対象物61の目的地である領域Gとが存在している。
この場合、まず、抽象状態設定部71は、対象物61の状態、障害物62の存在範囲、ロボット5の状態、領域Gの存在範囲等を認識する。
ここでは、抽象状態設定部71は、対象物61a~61dの各々の中心の位置ベクトル「x」~「x」を、対象物61a~61dの位置として認識する。また、抽象状態設定部71は、対象物を把持するロボットハンド53aの位置ベクトル「xr1」と、ロボットハンド53bの位置ベクトル「xr2」とを、ロボットアーム52aとロボットアーム52bの位置として認識する。
同様に、抽象状態設定部71は、対象物61a~61dの姿勢(図8の例では対象物が球状のため不要)、障害物62の存在範囲、領域Gの存在範囲等を認識する。なお、抽象状態設定部71は、例えば、障害物62を直方体とみなし、領域Gを矩形とみなす場合には、障害物62及び領域Gの各頂点の位置ベクトルを認識する。
また、抽象状態設定部71は、抽象状態指定情報I1を参照することで、目的タスクにおいて定義すべき抽象状態を決定する。この場合、抽象状態設定部71は、作業空間内に存在する物体に関する認識結果Im(例えば物体の種類毎の個数)と、抽象状態指定情報I1とに基づき、抽象状態を示す命題を定める。
図8の例では、抽象状態設定部71は、認識結果Imにより特定される対象物61a~61dに対し、夫々識別ラベル「1」~「4」を付す。また、抽象状態設定部71は、対象物「i」(i=1~4)が最終的に載置されるべき目標地点である領域G内に存在するという命題「g」を定義する。また、抽象状態設定部71は、障害物62に対して識別ラベル「O」を付し、対象物iが障害物Oに干渉しているという命題「o」を定義する。さらに、抽象状態設定部71は、ロボットアーム52同士が干渉するという命題「h」を定義する。なお、抽象状態設定部71は、対象物「i」が作業テーブル(初期状態で対象物及び障害物が存在するテーブル)内に存在するという命題「v」、作業テーブル及び領域G以外の作業外領域に対象物が存在するという命題「w」などをさらに定めてもよい。作業外領域は、例えば、対象物が作業テーブルから落下した場合に対象物が存在する領域(床面等)である。
このように、抽象状態設定部71は、抽象状態指定情報I1を参照することで、定義すべき抽象状態を認識し、当該抽象状態を表す命題(上述の例ではg、o、h等)を、対象物61の数、ロボットアーム52の数、障害物62の数、ロボット5の数等に応じてそれぞれ定義する。そして、抽象状態設定部71は、抽象状態を表す命題を示す情報を、抽象状態設定情報ISとして目標論理式生成部72に供給する。
(8-3)目標論理式生成部
まず、目標論理式生成部72は、指示信号D1により指定された目的タスクを、時相論理を用いた論理式に変換する。
例えば、図8の例において、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクが与えられたとする。この場合、目標論理式生成部72は、目的タスクを線形論理式(LTL:Linear Temporal Logic)の「eventually」に相当する演算子「◇」と、抽象状態設定部71により定義された命題「g」と用いて、論理式「◇g」を生成する。また、目標論理式生成部72は、演算子「◇」以外の任意の時相論理の演算子(論理積「∧」、論理和「∨」、否定「¬」、論理包含「⇒」、always「□」、next「○」、until「U」等)を用いて論理式を表現してもよい。また、線形時相論理に限らず、MTL(Metric Temporal Logic)やSTL(Signal Temporal Logic)などの任意の時相論理を用いて論理式を表現してもよい。
なお、指示信号D1は、自然言語により目的タスクを指定する情報であってもよい。自然言語で表されたタスクを論理式に変換する方法は、種々の技術が存在する。
次に、目標論理式生成部72は、制約条件情報I2が示す制約条件を、目的タスクを示す論理式に付加することで、目標論理式Ltagを生成する。
例えば、図8に示すピックアンドプレイスに対応する制約条件として、「ロボットアーム52同士が常に干渉しない」、「対象物iは障害物Oに常に干渉しない」の2つが制約条件情報I2に含まれていた場合、目標論理式生成部72は、これらの制約条件を論理式に変換する。具体的には、目標論理式生成部72は、図8の説明において抽象状態設定部71により定義された命題「o」及び命題「h」を用いて、上述の2つの制約条件を、夫々以下の論理式に変換する。
□¬h
□¬o
よって、この場合、目標論理式生成部72は、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクに対応する論理式「◇g」に、これらの制約条件の論理式を付加することで、以下の目標論理式Ltagを生成する。
(◇g)∧(□¬h)∧(∧□¬o
なお、実際には、ピックアンドプレイスに対応する制約条件は、上述した2つに限られず、「ロボットアーム52が障害物Oに干渉しない」、「複数のロボットアーム52が同じ対象物を掴まない」、「対象物同士が接触しない」などの制約条件が存在する。このような制約条件についても同様に、制約条件情報I2に記憶され、目標論理式Ltagに反映される。
(8-4)タイムステップ論理式生成部
タイムステップ論理式生成部73は、目的タスクを完了するタイムステップ数(「目標タイムステップ数」とも呼ぶ。)を定め、目標タイムステップ数で目標論理式Ltagを満たすような各タイムステップでの状態を表す命題の組み合わせを定める。この組み合わせは、通常複数存在するため、タイムステップ論理式生成部73は、これらの組み合わせを論理和により結合した論理式を、タイムステップ論理式Ltsとして生成する。上述の組み合わせは、ロボット5に命令する動作のシーケンスを表す論理式の候補となり、以後では「候補φ」とも呼ぶ。
ここで、図8の説明において例示した「最終的に対象物(i=2)が領域Gに存在する」という目的タスクが設定された場合のタイムステップ論理式生成部73の処理の具体例について説明する。
この場合、以下の目標論理式Ltagが目標論理式生成部72からタイムステップ論理式生成部73へ供給される。
(◇g)∧(□¬h)∧(∧□¬o
この場合、タイムステップ論理式生成部73は、命題「g」をタイムステップの概念を含むように拡張した命題「gi,k」を用いる。ここで、命題「gi,k」は、「タイムステップkで対象物iが領域Gに存在する」という命題である。ここで、目標タイムステップ数を「3」とした場合、目標論理式Ltagは、以下のように書き換えられる。
(◇g2,3)∧(∧k=1,2,3□¬h)∧(∧i,k=1,2,3□¬oi,k
また、◇g2,3は、以下の式に示すように書き換えることが可能である。
Figure 0007468694000001
このとき、上述した目標論理式Ltagは、以下に示す4つの候補「φ」~「φ」の論理和(φ∨φ∨φ∨φ)により表される。
Figure 0007468694000002
よって、タイムステップ論理式生成部73は、4つの候補φ~φの論理和をタイムステップ論理式Ltsとして定める。この場合、タイムステップ論理式Ltsは、4つの候補φ~φの少なくともいずれかが真となる場合に真となる。
次に、目標タイムステップ数の設定方法について補足説明する。
タイムステップ論理式生成部73は、例えば、指示装置2から供給される指示信号D1により指定された作業の見込み時間に基づき、目標タイムステップ数を決定する。この場合、タイムステップ論理式生成部73は、メモリ12又は記憶装置4に記憶された、1タイムステップ当たりの時間幅の情報に基づき、上述の見込み時間から目標タイムステップ数を算出する。他の例では、タイムステップ論理式生成部73は、目的タスクの種類毎に適した目標タイムステップ数を対応付けた情報を予めメモリ12又は記憶装置4に記憶しておき、当該情報を参照することで、実行すべき目的タスクの種類に応じた目標タイムステップ数を決定する。
好適には、タイムステップ論理式生成部73は、目標タイムステップ数を所定の初期値に設定する。そして、タイムステップ論理式生成部73は、制御入力生成部75が制御入力を決定できるタイムステップ論理式Ltsが生成されるまで、目標タイムステップ数を徐々に増加させる。この場合、タイムステップ論理式生成部73は、設定した目標タイムステップ数により制御入力生成部75が最適化処理を行った結果、最適解を導くことができなかった場合、目標タイムステップ数を所定数(1以上の整数)だけ加算する。
このとき、タイムステップ論理式生成部73は、目標タイムステップ数の初期値を、ユーザが見込む目的タスクの作業時間に相当するタイムステップ数よりも小さい値に設定するとよい。これにより、タイムステップ論理式生成部73は、不必要に大きな目標タイムステップ数を設定することを好適に抑制する。
(8-5)抽象モデル生成部
抽象モデル生成部74は、抽象モデル情報I5と、認識結果Imとに基づき、抽象モデルΣを生成する。ここで、抽象モデル情報I5には、目的タスクの種類毎に、抽象モデルΣの生成に必要な情報が記録されている。例えば、目的タスクがピックアンドプレイスの場合には、対象物の位置や数、対象物を置く領域の位置、ロボット5の台数(又はロボットアーム52の数)等を特定しない汎用的な形式の抽象モデルが抽象モデル情報I5に記録されている。そして、抽象モデル生成部74は、抽象モデル情報I5に記録された、ロボット5のダイナミクスを含む汎用的な形式の抽象モデルに対し、認識結果Imを反映することで、抽象モデルΣを生成する。これにより、抽象モデルΣは、作業空間内の物体の状態と、ロボット5のダイナミクスとが抽象的に表されたモデルとなる。作業空間内の物体の状態は、ピックアンドプレイスの場合には、対象物の位置及び数、対象物を置く領域の位置、ロボット5の台数等を示す。
なお、他作業体が存在する場合、他作業体の抽象化されたダイナミクスに関する情報が抽象モデル情報I5に含まれてもよい。この場合、抽象モデルΣは、作業空間内の物体の状態と、ロボット5のダイナミクスと、他作業体のダイナミクスとが抽象的に表されたモデルとなる。
ここで、ロボット5による目的タスクの作業時においては、作業空間内のダイナミクスが頻繁に切り替わる。例えば、ピックアンドプレイスでは、ロボットアーム52が対象物iを掴んでいる場合には、当該対象物iを動かすことができるが、ロボットアーム52が対象物iを掴んでない場合には、当該対象物iを動かすことができない。
以上を勘案し、本実施形態においては、ピックアンドプレイスの場合、対象物iを掴むという動作を論理変数「δ」により抽象表現する。この場合、例えば、抽象モデル生成部74は、図8に示す作業空間に対して設定すべき抽象モデルΣを、以下の式(1)により定めることができる。
Figure 0007468694000003
ここで、「u」は、ロボットハンドj(「j=1」はロボットハンド53a、「j=2」はロボットハンド53b)を制御するための制御入力を示し、「I」は単位行列を示し、「0」は零行例を示す。なお、制御入力は、ここでは、一例として速度を想定しているが、加速度であってもよい。また、「δj,i」は、ロボットハンドjが対象物iを掴んでいる場合に「1」であり、その他の場合に「0」である論理変数である。また、「xr1」、「xr2」は、ロボットハンドj(j=1、2)の位置ベクトル、「x」~「x」は、対象物i(i=1~4)の位置ベクトルを示す。また、「h(x)」は、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合に「h(x)≧0」となる変数であり、論理変数δとの間で以下の関係を満たす。
δ=1 ⇔ h(x)≧0
この式では、対象物を掴める程度に対象物の近傍にロボットハンドが存在する場合には、ロボットハンドが対象物を掴んでいるとみなし、論理変数δを1に設定している。
ここで、式(1)は、タイムステップkでの物体の状態とタイムステップk+1での物体の状態との関係を示した差分方程式である。そして、上記の式(1)では、把持の状態が離散値である論理変数により表わされ、物体の移動は連続値により表わされているため、式(1)はハイブリッドシステムを示している。
式(1)では、ロボット5全体の詳細なダイナミクスではなく、対象物を実際に把持するロボット5の手先であるロボットハンドのダイナミクスのみを考慮している。これにより、制御入力生成部75による最適化処理の計算量を好適に削減することができる。
また、抽象モデル情報I5には、ダイナミクスが切り替わる動作(ピックアンドプレイスの場合には対象物iを掴むという動作)に対応する論理変数、及び、認識結果Imから式(1)の差分方程式を導出するための情報が記録されている。よって、抽象モデル生成部74は、対象物の位置や数、対象物を置く領域(図8では領域G)、ロボット5の台数等が変動する場合であっても、抽象モデル情報I5と認識結果Imとに基づき、対象の作業空間の環境に即した抽象モデルΣを決定することができる。
なお、抽象モデル生成部74は、式(1)に示されるモデルに代えて、混合論理動的(MLD:Mixed Logical Dynamical)システムまたはペトリネットやオートマトンなどを組み合わせたハイブリッドシステムのモデルを生成してもよい。
(8-6)制御入力生成部
制御入力生成部75は、タイムステップ論理式生成部73から供給されるタイムステップ論理式Ltsと、抽象モデル生成部74から供給される抽象モデルΣとに基づき、最適となるタイムステップ毎のロボット5に対する制御入力を決定する。この場合、制御入力生成部75は、目的タスクに対する評価関数を定義し、抽象モデルΣ及びタイムステップ論理式Ltsを制約条件として評価関数を最小化する最適化問題を解く。評価関数は、例えば、目的タスクの種類毎に予め定められ、メモリ12又は記憶装置4に記憶されている。
例えば、ピックアンドプレイスを目的タスクとした場合、制御入力生成部75は、運ぶ対象となる対象物と当該対象物を運ぶ目標地点との距離「d」と制御入力「u」とが最小となる(即ちロボット5が費やすエネルギーを最小化する)ように評価関数を定める。上述の距離dは、「最終的に対象物(i=2)が領域Gに存在する」という目的タスクの場合には、対象物(i=2)と領域Gとのタイムステップkでの距離に相当する。
この場合、制御入力生成部75は、全タイムステップにおける距離dのノルムの2乗と制御入力uのノルムの2乗との和を評価関数として定める。そして、制御入力生成部75は、抽象モデルΣ及びタイムステップ論理式Lts(即ち候補φの論理和)を制約条件とする以下の式(2)に示す制約付き混合整数最適化問題を解く。
Figure 0007468694000004
ここで、「T」は、最適化の対象となるタイムステップ数であり、目標タイムステップ数であってもよく、後述するように、目標タイムステップ数よりも小さい所定数であってもよい。この場合、好適には、制御入力生成部75は、論理変数を連続値に近似する(連続緩和問題とする)。これにより、制御入力生成部75は、計算量を好適に低減することができる。なお、線形論理式(LTL)に代えてSTLを採用した場合には、非線形最適化問題として記述することが可能である。
また、制御入力生成部75は、目標タイムステップ数が長い場合(例えば所定の閾値より大きい場合)、最適化に用いるタイムステップ数を、目標タイムステップ数より小さい値(例えば上述の閾値)に設定してもよい。この場合、制御入力生成部75は、例えば、所定のタイムステップ数が経過する毎に、上述の最適化問題を解くことで、逐次的に制御入力uを決定する。
好適には、制御入力生成部75は、目的タスクの達成状態に対する中間状態に相当する所定のイベント毎に、上述の最適化問題を解き、使用すべき制御入力uを決定してもよい。この場合、制御入力生成部75は、次のイベント発生までのタイムステップ数を、最適化に用いるタイムステップ数に設定する。上述のイベントは、例えば、作業空間におけるダイナミクスが切り替わる事象である。例えば、ピックアンドプレイスを目的タスクとした場合には、ロボット5が対象物を掴む、ロボット5が運ぶべき複数の対象物のうちの1つの対象物を目的地点へ運び終える、などがイベントとして定められる。イベントは、例えば、目的タスクの種類毎に予め定められており、目的タスクの種類毎にイベントを特定する情報が記憶装置4に記憶されている。
(8-7)サブタスクシーケンス生成部
サブタスクシーケンス生成部76は、制御入力生成部75から供給される制御入力情報Icnと、アプリケーション情報記憶部41が記憶するサブタスク情報I4とに基づき、サブタスクシーケンスSrを生成する。この場合、サブタスクシーケンス生成部76は、サブタスク情報I4を参照することで、ロボット5が受け付け可能なサブタスクを認識し、制御入力情報Icnが示すタイムステップ毎の制御入力をサブタスクに変換する。
例えば、サブタスク情報I4には、ピックアンドプレイスを目的タスクとする場合にロボット5が受け付け可能なサブタスクとして、ロボットハンドの移動(リーチング)とロボットハンドの把持(グラスピング)の2つのサブタスクを示す関数が定義されている。この場合、リーチングを表す関数「Move」は、例えば、当該関数実行前のロボット5の初期状態、当該関数実行後のロボット5の最終状態、及び当該関数の実行に要する所要時間をそれぞれ引数とする関数である。また、グラスピングを表す関数「Grasp」は、例えば、当該関数実行前のロボット5の状態、及び当該関数実行前の把持対象の対象物の状態、論理変数δをそれぞれ引数とする関数である。ここで、関数「Grasp」は、論理変数δが「1」のときに掴む動作を行うこと表し、論理変数δが「0」のときに放す動作を行うこと表す。この場合、サブタスクシーケンス生成部76は、関数「Move」を、制御入力情報Icnが示すタイムステップ毎の制御入力により定まるロボットハンドの軌道に基づき決定し、関数「Grasp」を、制御入力情報Icnが示すタイムステップ毎の論理変数δの遷移に基づき決定する。
そして、サブタスクシーケンス生成部76は、関数「Move」と関数「Grasp」とにより構成されるサブタスクシーケンスSrを生成し、当該サブタスクシーケンスSrをロボット5に供給する。例えば、目的タスクが「最終的に対象物(i=2)が領域Gに存在する」の場合、サブタスクシーケンス生成部76は、対象物(i=2)に最も近いロボットハンドに対し、関数「Move」、関数「Grasp」、関数「Move」、関数「Grasp」のサブタスクシーケンスSrを生成する。この場合、対象物(i=2)に最も近いロボットハンドは、1回目の関数「Move」により対象物(i=2)の位置まで移動し、1回目の関数「Grasp」により対象物(i=2)を把持し、2回目の関数「Move」により領域Gまで移動し、2回目の関数「Grasp」により対象物(i=2)を領域Gに載置する。
(9)タスク指定画面
次に、指示装置2が目的タスクに関する指示を作業者から受け付ける場合に表示する画面の一例について説明する。
図9は、指示装置2が表示する目的タスクを指定するタスク指定画面の表示例を示す。指示装置2は、例えば、タスク実行システム50のリストから作業者が選択したタスク実行システム50のロボットコントローラ1から、所定の表示信号を受信することで、図9に示すタスク指定画面を表示している。図9に示すタスク指定画面は、主に、タスク種類指定欄25と、作業空間表示欄26と、各種ボタン28(28a、28b)とを有する。
指示装置2は、タスク種類指定欄25において、目的タスクの種類を指定する入力を受け付ける。ここでは、一例として、タスク種類指定欄25はプルダウンメニュー形式の入力欄であり、指示装置2は、受付可能な目的タスクの種類の候補を、タスク種類指定欄25において選択可能に一覧表示する。ここでは、指示装置2には、ピックアンドプレイスが目的タスクの種類として指定されている。なお、目的タスクはピックアンドプレイスに限らず、ねじ回しを伴うタスク、移動型ロボットが物を移動させるタスクなど種々のタスクであってもよい。
また、指示装置2は、作業空間表示欄26において、計測装置7が作業空間内を撮像した画像(作業空間画像)を表示し、タスク種類指定欄25において指定された目的タスクの実行に必要な指定を受け付ける。図9の例では、指示装置2は、作業空間表示欄26上で対象物と目的地とを夫々指定する入力を受け付ける。ここでは、一例として、指示装置2は、対象物を指定したマーク27a~27dを実線により表示し、目的地を指定したマーク27eを破線により表示している。そして、指示装置2は、対象物決定ボタン28aが選択されたことを検知した場合、ユーザが描いたマーク27a~27dの位置情報を、対象物の位置を特定する情報として認識する。また、指示装置2は、さらに目的地決定ボタン28bが選択されたことを検知した場合、対象物決定ボタン28aの選択後にユーザが描いたマーク27eの位置情報を、目的地を特定する情報として認識する。そして、指示装置2は、これらの対象物及び目的地を特定する情報(ここでは作業空間画像上での各マークの位置情報)を、指示信号D1として対象のタスク実行システム50に属するロボットコントローラ1に供給する。
このように、図9に示されるタスク指定画面によれば、指示装置2は、目的タスクの種類の指定及び目的タスクに関連する物体の指定に関するユーザ入力を好適に受け付け、目的タスクを指定する指示信号D1を好適にロボットコントローラ1に供給することができる。
なお、指示装置2は、対象物及び目的地を丸印で囲む入力を受け付ける代わりに、タッチ操作又はクリック操作により対象物及び目的地を構成する一部の画素を夫々指定する入力を受け付けてもよい。この場合、指示装置2は、指定された各画素の位置情報を、対象物及び目的地を夫々特定する情報とみなし、指示信号D1としてロボットコントローラ1に供給する。また、指示装置2は、計測装置7が生成した作業空間画像を作業空間表示欄26に表示する代わりに、作業空間内の環境を再現したCAD画像を作業空間表示欄26に表示してもよい。この場合、ロボットコントローラ1は、抽象状態設定部71が生成した認識結果Imと、対象物等に関するCADデータを記録した物体モデル情報I6とに基づき、作業空間内の環境を再現したCAD画像を表示する表示信号を指示装置2に送信する。
(10)処理フロー
図10は、第1実施形態において情報収集装置3が実行するロボット作業関連情報D2の受信及び蓄積に関する処理の概要を示すフローチャートの一例である。情報収集装置3は、図10に示すフローチャートの処理を、指示装置2により目的タスクが指定されたタスク実行システム50の各々を対象として実行する。
まず、情報収集装置3の情報取得部35は、ロボット構成情報D21を取得する(ステップS101)。この場合、情報取得部35は、少なくともロボット構成情報D21を含んだロボット作業関連情報D2を対象のタスク実行システム50から受信することで、ロボット構成情報D21を取得する。その後、情報取得部35は、対象のタスク実行システム50からロボット構成情報D21以外のロボット作業関連情報D2を受信する(ステップS102)。
次に、情報取得部35は、収集条件が満たされるか否かの判定を行う(ステップS103)。この場合、情報取得部35は、対象のタスク実行システム50から送信されるロボット作業関連情報D2について、設定した収集条件が満たされるか否か判定する。この収集条件は、ステップS101で取得したロボット構成情報D21が示すロボット5の構成に関する条件であってもよく、ロボット5の構成以外の条件(例えば日時に関する条件)であってもよい。
そして、タスク識別子設定部36は、ステップS103での収集条件の判定において、収集条件が満たされたと判定した場合(ステップS104;Yes)、ステップS103で受信したロボット作業関連情報D2に対してタスク識別子を設定し、タスク識別子を設定したロボット作業関連情報D2をロボット作業関連情報記憶部42に記憶する(ステップS105)。この場合、タスク識別子設定部36は、ロボット作業関連情報D2を日時情報に基づきサブタスクの実行期間毎に区分けし、対応するサブタスクを少なくとも表すタスク識別子を、区分けしたロボット作業関連情報D2の各々に対して設定する。
一方、ステップS102での収集条件の判定において、収集条件が満たされなかったと判定した場合(ステップS104;No)、情報取得部35は、受信したロボット作業関連情報D2を破棄する、又は、タスク識別子の設定を行うことなく受信したロボット作業関連情報D2をそのままロボット作業関連情報記憶部42に記憶する(ステップS106)。
次に、情報収集装置3は、対象のタスク実行システム50において目的タスクが完了したか否か判定する(ステップS107)。この場合、例えば、情報収集装置3は、ロボット作業関連情報D2を所定時間長以上受信しなくなった場合、又は、目的タスクが完了した旨の情報をタスク実行システム50又は指示装置2から受信した場合等に、対象のタスク実行システム50において目的タスクが完了したと判定する。そして、情報収集装置3は、目的タスクが完了したと判定した場合(ステップS107;Yes)、フローチャートの処理を終了する。一方、目的タスクが完了していないと判定した場合(ステップS107;No)、情報収集装置3は、ステップS102へ処理を戻し、引き続きロボット作業関連情報D2の受信及び蓄積に関する処理を行う。
(11)変形例
次に、第1実施形態の変形例について説明する。以下の変形例は任意に組み合わせて上記の第1実施形態に適用してもよい。
(第1変形例)
情報収集装置3の一部の機能が各タスク実行システム50に備わってもよい。例えば、各タスク実行システム50のロボットコントローラ1は、情報取得部35の一部の機能に相当する処理を実行してもよい。
この場合、各タスク実行システム50のロボットコントローラ1は、対象のタスク実行システム50において生成された各種情報をロボット5及び計測装置7等から収集してロボット作業関連情報D2を生成する。また、ロボットコントローラ1は、指示装置2又は情報収集装置3等から供給された又はメモリ12に予め記憶された収集条件が満たされるか否か判定し、収集条件が満たされると判定した場合に限り、ロボット作業関連情報D2を情報収集装置3に送信する。この態様においても、情報収集装置3は、ロボット作業関連情報D2をタスク識別子によりタグ付けした情報を蓄積してアプリケーション情報の更新等に好適に使用することができる。
また、いずれかのロボットコントローラ1は、情報収集装置3として機能し、図1に示すロボットコントローラ1の処理と情報収集装置3の処理との両方を実行してもよい。このように、ロボット統括システム100は、マスター/スレーブ方式により実現されてもよい。さらに別の例では、各タスク実行システム50のロボットコントローラ1が夫々情報収集装置3として機能してもよい。この場合、ロボットコントローラ1は、自身が属するタスク実行システム50内で生成された作業関連情報の収集、タスク識別子の設定、及びタスク識別子が設定された作業関連情報の記憶などを行う。
(第2変形例)
図7に示すロボットコントローラ1のブロック構成は一例であり、種々の変更がなされてもよい。
例えば、ロボット5に命令する動作のシーケンスの候補φの情報が記憶装置4に予め記憶され、ロボットコントローラ1は、当該情報に基づき、制御入力生成部75の最適化処理を実行する。これにより、ロボットコントローラ1は、最適な候補φの選定とロボット5の制御入力の決定を行う。この場合、ロボットコントローラ1は、サブタスクシーケンスSrの生成において、抽象状態設定部71、目標論理式生成部72及びタイムステップ論理式生成部73に相当する機能を有しなくともよい。このように、図7に示すロボットコントローラ1の一部の機能ブロックの実行結果に関する情報が予めアプリケーション情報記憶部41に記憶されていてもよい。
他の例では、アプリケーション情報には、目的タスクに対応するサブタスクシーケンスSrを設計するためのフローチャートなどの設計情報が予め含まれており、ロボットコントローラ1は、当該設計情報を参照することで、サブタスクシーケンスSrを生成してもよい。なお、予め設計されたタスクシーケンスに基づきタスクを実行する具体例については、例えば特開2017-39170号に開示されている。
<第2実施形態>
図11は、第2実施形態における情報収集装置3Xの概略構成図を示す。情報収集装置3Xは、主に、情報取得手段35Xと、タスク識別子設定手段36Xとを有する。なお、情報収集装置3Xは、複数の装置から構成されてもよい。
情報取得手段35Xは、ロボットの作業に関連する作業関連情報を取得する。情報取得手段35Xは、例えば、第1実施形態における情報取得部35とすることができる。
タスク識別子設定手段36Xは、作業関連情報に対し、ロボットが実行するタスクの識別子を設定する。タスクの識別子が設定された作業関連情報は、情報収集装置3Xが備えるメモリ又は外部メモリに記憶される。タスク識別子設定手段36Xは、例えば、第1実施形態におけるタスク識別子設定部36とすることができる。
図12は、第2実施形態において情報収集装置3Xが実行するフローチャートの一例を示す。情報取得手段35Xは、ロボットの作業に関連する作業関連情報を取得する(ステップS201)。タスク識別子設定手段36Xは、作業関連情報に対し、ロボットが実行するタスクの識別子を設定する(ステップS202)。
第2実施形態によれば、情報収集装置3Xは、ロボットの作業に関連する作業関連情報に対して、ロボットが実行するタスクの識別子を設定する。これにより、タスク毎の作業関連情報の分析・学習等を円滑化することができる。
なお、上述した各実施形態において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(Non-Transitory Computer Readable Medium)を用いて格納され、コンピュータであるプロセッサ等に供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記憶媒体(Tangible Storage Medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記憶媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記憶媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(Transitory Computer Readable Medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
1 ロボットコントローラ
2 指示装置
3、3X 情報収集装置
5 ロボット
7 計測装置
41 アプリケーション情報記憶部
42 ロボット作業関連情報記憶部
43 更新アプリケーション情報記憶部
50 タスク実行システム
100 ロボット統括システム

Claims (10)

  1. ロボットの作業に関連する作業関連情報を取得する情報取得手段と、
    前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定するタスク識別子設定手段と、
    を有し、
    前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
    前記タスク識別子設定手段は、前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する、
    する情報収集装置。
  2. 前記ロボットは、前記ロボットが実行すべき目的となる目的タスクを時相論理により表した論理式に基づき生成された前記サブタスクのシーケンスを実行する、請求項に記載の情報収集装置。
  3. ロボットの作業に関連する作業関連情報を取得する情報取得手段と、
    前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定するタスク識別子設定手段と、
    を有し、
    前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
    前記タスク識別子設定手段は、前記サブタスクの各々の実行期間に基づき区分けした前記作業関連情報の各々に対し、対応するサブタスクを表す前記識別子を設定し、
    前記ロボットは、前記ロボットが実行すべき目的となる目的タスクを時相論理により表した論理式に基づき生成された前記サブタスクのシーケンスを実行する、情報収集装置。
  4. 前記識別子は、前記サブタスクと、前記ロボットが実行すべき目的となる目的タスクとを識別する情報であり、
    前記タスク識別子設定手段は、前記サブタスクの各々の実行期間に基づき区分けした前記作業関連情報の各々に対し、対応するサブタスク及び目的タスクを表す前記識別子を設定する、請求項1~3のいずれか一項に記載の情報収集装置。
  5. 前記情報取得手段は、前記作業関連情報の収集に関する判定条件である収集条件が満たされるか否か判定し、
    前記タスク識別子設定手段は、当該収集条件が満たされる場合、作業関連情報に対して前記識別子を設定する、請求項1~4のいずれか一項に記載の情報収集装置。
  6. 前記情報取得手段は、前記収集条件が満たされない場合、前記作業関連情報を破棄または前記識別子を設定せずに記憶する、請求項5に記載の情報収集装置。
  7. 前記ロボットは、複数の環境の各々において設けられた1又は複数のロボットであり、
    前記複数の環境の各々において前記1又は複数のロボットを含むタスク実行システムが存在し、
    前記情報取得手段は、前記タスク実行システムの各々から前記作業関連情報を受信し、
    前記タスク識別子設定手段は、前記タスク実行システムの各々から受信する前記作業関連情報に対し、対応する前記1又は複数のロボットが実行するタスクを表す前記識別子を設定する、請求項1~6のいずれか一項に記載の情報収集装置。
  8. 前記情報取得手段は、前記ロボットの構成に関するロボット構成情報を取得する、請求項1~7のいずれか一項に記載の情報収集装置。
  9. コンピュータが、
    ロボットの作業に関連する作業関連情報を取得し、
    前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定し、
    前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
    前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する、
    情報収集方法。
  10. ロボットの作業に関連する作業関連情報を取得し、
    前記作業関連情報に対し、前記ロボットが実行するタスクの識別子を設定し、
    前記識別子は、前記ロボットが受付可能な単位のタスクであるサブタスクを少なくとも識別する情報であり、
    前記サブタスクの各々の実行期間を前記ロボットの動作計画情報又は前記ロボットが実行したサブタスクのログ情報に基づき認識し、認識された前記実行期間と、前記作業関連情報の各々に付加された時刻情報と、に基づき、前記作業関連情報の各々に対応するサブタスクを表す前記識別子を設定する処理をコンピュータに実行させるプログラム。
JP2022563274A 2020-11-17 2020-11-17 情報収集装置、情報収集方法及びプログラム Active JP7468694B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/042805 WO2022107207A1 (ja) 2020-11-17 2020-11-17 情報収集装置、情報収集方法及び記憶媒体

Publications (3)

Publication Number Publication Date
JPWO2022107207A1 JPWO2022107207A1 (ja) 2022-05-27
JPWO2022107207A5 JPWO2022107207A5 (ja) 2023-07-25
JP7468694B2 true JP7468694B2 (ja) 2024-04-16

Family

ID=81708481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022563274A Active JP7468694B2 (ja) 2020-11-17 2020-11-17 情報収集装置、情報収集方法及びプログラム

Country Status (3)

Country Link
US (1) US20230321828A1 (ja)
JP (1) JP7468694B2 (ja)
WO (1) WO2022107207A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340848A (ja) 2004-05-25 2005-12-08 Asml Netherlands Bv 機械におけるタスクを計画する方法、機械を制御する方法、管理機械用制御システム、リソグラフィ機器、リソグラフィ処理セル、及びコンピュータ・プログラム
JP2020046764A (ja) 2018-09-14 2020-03-26 株式会社安川電機 動作データ収集システム、動作データ収集方法、及びプログラム
JP2020113262A (ja) 2019-12-05 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008149942A1 (ja) * 2007-06-05 2008-12-11 Asa Co., Ltd. 配膳装置
JP6855801B2 (ja) * 2017-01-16 2021-04-07 沖電気工業株式会社 異常検知システム、異常検知装置、異常検知方法およびプログラム
US11034019B2 (en) * 2018-04-19 2021-06-15 Brown University Sequence-to-sequence language grounding of non-Markovian task specifications
DE102018207539A1 (de) * 2018-05-15 2019-11-21 Robert Bosch Gmbh Verfahren zum Betreiben eines Roboters in einem Multiagentensystem, Roboter und Multiagentensystem

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005340848A (ja) 2004-05-25 2005-12-08 Asml Netherlands Bv 機械におけるタスクを計画する方法、機械を制御する方法、管理機械用制御システム、リソグラフィ機器、リソグラフィ処理セル、及びコンピュータ・プログラム
JP2020046764A (ja) 2018-09-14 2020-03-26 株式会社安川電機 動作データ収集システム、動作データ収集方法、及びプログラム
JP2020113262A (ja) 2019-12-05 2020-07-27 株式会社エクサウィザーズ 学習済モデル生成装置、ロボット制御装置、及び、プログラム

Also Published As

Publication number Publication date
US20230321828A1 (en) 2023-10-12
JPWO2022107207A1 (ja) 2022-05-27
WO2022107207A1 (ja) 2022-05-27

Similar Documents

Publication Publication Date Title
WO2022074823A1 (ja) 制御装置、制御方法及び記憶媒体
JP7264253B2 (ja) 情報処理装置、制御方法及びプログラム
TW201723425A (zh) 在一環境中使用代理人的基於感測器之觀測以估計該環境中一物件之姿勢及估計該姿勢之一不確定性度量
Tuli et al. Knowledge-based digital twin for predicting interactions in human-robot collaboration
JP7452619B2 (ja) 制御装置、制御方法及びプログラム
JP7448024B2 (ja) 制御装置、制御方法及びプログラム
JP7343033B2 (ja) 制御装置、制御方法及びプログラム
JP7485058B2 (ja) 判定装置、判定方法及びプログラム
US20230241770A1 (en) Control device, control method and storage medium
JP7468694B2 (ja) 情報収集装置、情報収集方法及びプログラム
WO2022244060A1 (ja) 動作計画装置、動作計画方法及び記憶媒体
WO2022224447A1 (ja) 制御装置、制御方法及び記憶媒体
WO2022224449A1 (ja) 制御装置、制御方法及び記憶媒体
JP7364032B2 (ja) 制御装置、制御方法及びプログラム
JP7435815B2 (ja) 動作指令生成装置、動作指令生成方法及びプログラム
Nambiar et al. Automation of unstructured production environment by applying reinforcement learning
JP7276466B2 (ja) 情報処理装置、制御方法及びプログラム
JP7456552B2 (ja) 情報処理装置、情報処理方法及びプログラム
WO2022074827A1 (ja) 命題設定装置、命題設定方法及び記憶媒体
JP7323045B2 (ja) 制御装置、制御方法及びプログラム
JP7416199B2 (ja) 制御装置、制御方法及びプログラム
JP7435814B2 (ja) 時相論理式生成装置、時相論理式生成方法及びプログラム
JP7491400B2 (ja) 支援制御装置、支援装置、ロボット制御システム、支援制御方法及びプログラム
WO2022180788A1 (ja) 制約条件学習装置、制約条件学習方法及び記憶媒体
JP7409474B2 (ja) 制御装置、制御方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230509

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240131

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240318

R150 Certificate of patent or registration of utility model

Ref document number: 7468694

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150