JP7334784B2 - ロボット制御システム、ロボット制御方法、及び、プログラム - Google Patents

ロボット制御システム、ロボット制御方法、及び、プログラム Download PDF

Info

Publication number
JP7334784B2
JP7334784B2 JP2021540609A JP2021540609A JP7334784B2 JP 7334784 B2 JP7334784 B2 JP 7334784B2 JP 2021540609 A JP2021540609 A JP 2021540609A JP 2021540609 A JP2021540609 A JP 2021540609A JP 7334784 B2 JP7334784 B2 JP 7334784B2
Authority
JP
Japan
Prior art keywords
robot
task
program
programs
executing
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
JP2021540609A
Other languages
English (en)
Other versions
JPWO2021033315A5 (ja
JPWO2021033315A1 (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 JPWO2021033315A1 publication Critical patent/JPWO2021033315A1/ja
Publication of JPWO2021033315A5 publication Critical patent/JPWO2021033315A5/ja
Application granted granted Critical
Publication of JP7334784B2 publication Critical patent/JP7334784B2/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/04Manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/12Hotels or restaurants
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • 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
    • B25J9/1666Avoiding collision or forbidden zones
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36503Adapt program to real coordinates, software orientation
    • 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/36Nc in input of data, input key till input tape
    • G05B2219/36513Select out of a plurality of programs, patterns
    • 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/39Robotics, robotics to robotics hand
    • G05B2219/39453Select program as function of location of mobile manipulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Game Theory and Decision Science (AREA)
  • Primary Health Care (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Educational Administration (AREA)
  • Manufacturing & Machinery (AREA)
  • Manipulator (AREA)

Description

本発明は、ロボットを様々な環境で、簡便にかつローコストで使用するためのロボット制御システムに関する。
近年、深刻な人手不足を背景に、自動車工場などの大量生産を行う工場だけでなく、あらゆる業種において、ロボットの導入が検討されている。例えば、物流の現場では、AGV(Automated Guided Vehicle)と呼ばれる自動搬送車を使い、搬送の自動化が検討されている。また、電子部品の組み立て工場では、ロボットアームという腕型のロボットの導入が検討されている。今後、食品工場、外食、ホテル、病院、介護といった業種でもロボット導入の検討が加速すると考えられる。
一般的に、ロボットは特注品である。ロボットを使用する環境と、ロボットを使用するタスク(モノを運ぶ、ネジを締めるなど)を予め設定し、その環境とそのタスクに合わせて高度に調整したロボットを構築する。この調整は、従来は人手でのプログラミングで行っており、大きな手間であったが、近年はディープラーニングなどのデータを用いた学習による自動化が進み始めている。例えば、特許文献1~3には、学習を利用したロボットの調整について開示されている。但し、いずれの方法で調整したとしても、その調整は、調整に使用したロボット、調整時の環境、調整したタスクという調整時の条件に限定したものであり、そのいずれの条件が変わっても調整のやり直しをする必要がある。
特開平9-81205号公報 特開2005-78519号公報 特開2007-66242号公報
上述のように、ロボット導入の検討が様々な業種で行われているが、ユーザが満足するレベルで導入が進んでいるとは言い難い。特に、食品工場、外食、ホテル、病院、介護などでは想定ほど導入が進んでいない。その要因はいくつか存在する。
これらの業界は、ロボットを固定の環境で使用することが難しい。例えば、食品工場では作るものが週単位で変わり、作る量に合わせてラインを変更しなければならない。ラインが変わればロボットの配置も変えなければならない。しかし、ロボットにとって配置変更は、環境が変わったことに他ならない。したがって、ロボットを再度調整する必要が発生する。現場でユーザがロボットを調整するのは困難であり、ロボットインテグレーターにその都度、調整作業を発注することになる。ディープラーニングなどの技術で調整の自動化は進んでいるものの、ディープラーニングで調整を行うには膨大なサンプルデータが必要であり、調整に数か月を要することもざらである。つまり、週単位で変更が起きる現場で、その都度、発注、調整が行われるという状況は、実質的にロボットが使用できないのと同じである。これがロボット導入の進まない第一の要因である。
また、人間が見たら同じタスクと思われるタスクもロボットにとっては同じではない。例えば、食品工場で働く人にとって、「から揚げを掴む」というタスクと「エビフライを掴む」というタスクは、おかずを弁当に入れるという意味で同じタスクである。しかし、ロボットにとって、これらのタスクは別物である。弁当に入れるおかずは毎日のように変わり、恒久的ではない。したがって、おかずの種類が変わるたびに頻繁にロボットが実行するべきタスクが変わり、タスク変更の調整をロボットインテグレーターに発注する必要が生じる。これも環境変化の話と同様に非現実的な話であり、タスクが頻繁に変わる場合、ロボット導入が進まない。これが、第二の原因である。
本発明の1つの目的は、ロボット導入時に生じる膨大な調整作業を不要とし、ロボットの導入を容易にすることが可能なロボット制御システムを提供することにある。
上記の課題を解決するため、本発明の一つの観点は、ロボット制御システムであって、
アーム型のロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段と、
前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付手段と、
前記タスク及び前記属性情報に基づいて、前記記憶手段から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得手段と、
取得したプログラムに基づいて前記ロボットを制御するロボット制御手段と、
前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新する学習手段と、を備え
前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われる
本発明の他の観点は、ロボット制御方法であって、
アーム型のロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
取得したプログラムに基づいて前記ロボットを制御し、
前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新し、
前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われる
本発明の他の観点は、プログラムであって、
アーム型のロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
取得したプログラムに基づいて前記ロボットを制御し、
前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新する処理をコンピュータに実行させ
前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われる
本発明の他の観点は、クラウド装置であって、
アーム型のロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段と、
ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信手段と、
前記タスク及び前記属性情報に基づいて、前記記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得手段と、
取得したプログラムを前記ロボットのコントローラへ送信する送信手段と、
前記コントローラにおいて、前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新することで得られた更新プログラムを、前記コントローラから受信して前記記憶手段に記憶するプログラム更新手段と、
を備え
前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われる
本発明によれば、ロボット導入時に生じる膨大な調整作業を不要とし、ロボットの導入を容易にすることが可能なロボット制御システムを提供することが可能となる。
ロボット制御システムの全体構成を示すブロック図である。 クラウド装置及びコントローラのハードウェア構成を示すブロック図である。 第1実施形態に係るロボット制御システムの機能構成を示すブロック図である。 第2実施形態に係るロボット制御システムの機能構成を示すブロック図である。 インタフェース部の表示例を示す。 タスク学習部による学習のシーケンスを示す。 タスク生成モードにおけるインタフェース部の表示例を示す。 第3実施形態に係るロボット制御システムの機能構成を示すブロック図である。 実施例に係るロボットの作業場の概略を示す平面図である。
以下、図面を参照して、本発明の好適な実施形態について説明する。
[システム構成]
(全体構成)
図1は、本発明の実施形態に係るロボット制御システムの全体構成を示すブロック図である。ロボット制御システム1は、クラウド装置100と、コントローラ200と、インタフェース部300とを備える。クラウド装置100と、コントローラ200と、インタフェース部300とは、有線又は無線により相互に通信可能である。クラウド装置100は、クラウド側に設置されるサーバ装置である。一方、コントローラ200及びインタフェース部300は、ロボットによる作業が行われる実環境に設置される。コントローラ200は、ロボットを制御する装置である。インタフェース部300は、ロボットを制御するために必要な情報を入力するためにユーザにより操作される。なお、図1では、便宜上、1組のコントローラ200及びインタフェース部300を図示しているが、実際には、1つのクラウド装置100に対して、複数のコントローラ200及びインタフェース部300が共通して使用される。
(クラウド装置のハードウェア構成)
図2(A)は、クラウド装置100のハードウェア構成を示すブロック図である。図示のように、クラウド装置100は、通信部102と、プロセッサ103と、メモリ104と、記録媒体105と、データベース(DB)106と、を備える。
通信部102は、有線又は無線のネットワークにより、コントローラ200及びインタフェース部300と通信する。具体的に、通信部102は、インタフェース部300から、ユーザが指定したタスク及びその属性情報を受信する。また、通信部102は、ユーザが指定したタスク及び属性情報に対応するプログラムをコントローラ200へ送信する。
プロセッサ103は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、クラウド装置100の全体を制御する。具体的に、プロセッサ103は、ユーザにより指定されたタスク及び属性情報に対応するプログラムをコントローラ200に送信したり、プログラムの使用により発生する料金を算出したりする処理を実行する。
メモリ104は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。メモリ104は、プロセッサ103により実行される各種のプログラムを記憶する。また、メモリ104は、プロセッサ103による各種の処理の実行中に作業メモリとしても使用される。
記録媒体105は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、クラウド装置100に対して着脱可能に構成される。記録媒体105は、プロセッサ103が実行する各種のプログラムを記録している。クラウド装置100が各種の処理を実行する際には、記録媒体105に記録されているプログラムがメモリ104にロードされ、プロセッサ103により実行される。
データベース106は、複数のタスクごとに用意されたプログラム(以下、「タスク別プログラム」とも呼ぶ。)を記憶する。また、データベース106は、ユーザによるタスク別プログラムの使用履歴を記憶する。なお、上記に加えて、クラウド装置100は、ユーザが指示や入力を行うためのキーボード、マウスなどの入力機器や、表示装置を備えていても良い。
(コントローラのハードウェア構成)
図2(B)は、コントローラ200のハードウェア構成を示すブロック図である。図示のように、コントローラ200は、通信部202と、プロセッサ203と、メモリ204と、記録媒体205と、データベース(DB)206と、を備える。
通信部202は、有線又は無線のネットワークにより、クラウド装置100及びインタフェース部300と通信する。具体的に、通信部202は、クラウド装置100からタスク別プログラムを受信する。また、必要に応じて、通信部202は、コントローラ200において学習されたタスク別プログラムや、コントローラ200において生成された新たなタスク別プログラムをクラウド装置100へ送信する。
プロセッサ203は、CPU、又はCPUとGPU(Graphics Processing Uit)などのコンピュータであり、予め用意されたプログラムを実行することにより、コントローラ200の全体を制御する。具体的に、プロセッサ203は、タスク別プログラムを実行することによりロボットを制御する処理、タスク別プログラムを学習する処理、新たなタスク別プログラムを生成する処理などを実行する。
メモリ204は、ROM、RAMなどにより構成される。メモリ204は、プロセッサ203により実行される各種のプログラムを記憶する。また、メモリ204は、プロセッサ203による各種の処理の実行中に作業メモリとしても使用される。
記録媒体205は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、コントローラ200に対して着脱可能に構成される。記録媒体205は、プロセッサ203が実行する各種のプログラムを記録している。コントローラ200が各種の処理を実行する際には、記録媒体205に記録されているプログラムがメモリ204にロードされ、プロセッサ203により実行される。
データベース206は、コントローラ200においてタスク別プログラムを学習する際に使用されるデータを記憶する。なお、上記に加えて、コントローラ200は、キーボード、マウスなどの入力機器や、表示装置などを備えていても良い。
[第1実施形態]
図3は、第1実施形態に係るロボット制御システム1Aの機能構成を示す。図示のように、ロボット制御システム1Aは、記憶部111と、受付部112と、取得部113と、ロボット制御部211と、を備える。
本実施形態では、ロボットを制御するプログラムが、タスクごとに分割され、タスク別プログラムとしてロボット制御部211に供給される点が1つの特徴である。「タスク」とは、ロボットが動作の完了により実現する目標である。例えば、アーム型のロボット(以下、「ロボットアーム」とも呼ぶ。)であれば、タスクとして「対象物を運ぶ」、「ネジを締める」などがある。この場合、「対象物を運ぶ」とは、ある地点から別の地点へ対象物を動かすことを意味する。「対象物を運ぶ」は、一般的に、「ピック&プレイス」と呼ばれるロボットアームの基本動作である。「対象物」としては様々なものが挙げられ、例えば食品工場の場合では、「から揚げ」、「エビフライ」などロボットが運ばなくてはいけない対象物が挙げられる。システム上、タスクは動詞として定義され、その動詞の目的語を属性情報として定義する。
先に述べたように、ロボットにとって、タスク「エビフライを運ぶ」と、タスク「から揚げを運ぶ」は異なるタスクである。したがって、これらのタスクを実行するためのプログラムは、異なるプログラムとして構築される。一方、システム上は、ユーザの使い勝手を考え、これらのタスクを、同一タスクで属性情報が違うものとして扱う。即ち、システム上は、タスク「エビフライを運ぶ」と、タスク「から揚げを運ぶ」は、同一の「対象物を運ぶ(ピック&プレイス)」というタスクであり、その属性情報である「エビフライ」と「から揚げ」が異なるものとして取り扱う。
記憶部111は、複数のタスクについて、上記のようなタスク別プログラムを記憶している。受付部112は、ユーザによるタスク及び属性情報の選択を受け付ける。例えば、ユーザは、インタフェース部300を操作して、ロボットに実行させるタスクと、そのタスクを実行するタスク別プログラムに関する属性情報とを指定する。受付部112は、インタフェース部300から、ユーザによるタスク及び属性情報の選択を受け取る。
取得部113は、ユーザが選択したタスク及び属性情報に基づいて、記憶部111からそのタスクを実行するためのタスク別プログラムを取得し、ロボット制御部221に提供する。ロボット制御部211は、提供されたタスク別プログラムを実行して、ロボットを制御する。こうして、タスクごとに用意されたプログラムと、属性情報とを選択することにより、所望のタスクをロボットに実行させることが可能となる。
なお、1つの好適な例では、記憶部111、受付部112及び取得部113はクラウド装置100内にあり、ロボット制御部211はコントローラ200にある。この場合、取得部113は、記憶部111から取得したタスク別プログラムをコントローラ200のロボット制御部211へ送信することになる。一方、他の好適な例では、記憶部111、受付部112、取得部113及びロボット制御部211のすべてがコントローラ200の内部にあってもよい。この場合には、コントローラ200内の記憶部111には、予めクラウド装置100からダウンロードされたタスク別プログラムが記憶されていることになる。
[第2実施形態]
次に、本発明の第2実施形態について説明する。図4は、第2実施形態に係るロボット制御システム1Bの機能構成を示すブロック図である。図示のように、クラウド装置100は、プログラム記憶部121と、送受信部122とを備える。また、コントローラ200は、ロボット制御部221と、送受信部222と、タスク学習部223と、タスク生成部224と、を備える。
クラウド装置100において、プログラム記憶部121は、第1実施形態における記憶部111と同様に、複数のタスクについてタスク別プログラムを記憶している。送受信部122は、インタフェース部300から、ユーザによるタスク及び属性情報の指定を受信する。そして、送受信部122は、ユーザが指定したタスクに対応するタスク別プログラムをプログラム記憶部121から取得し、コントローラ200へ送信する。
インタフェース部300は、ユーザの希望を取得するための装置である。ユーザは、インタフェース部300の表示を見て、所望のタスクと属性情報を、指、専用ペン、マウスなどの入力機器を用いて選択する。ユーザが入力した情報は、通信ネットワークを介し、クラウド装置100へ送られる。
図5は、インタフェース部300の一例を示す。この例では、インタフェース部300は、タブレット端末により構成されている。インタフェース部300は、少なくとも、タスクと属性情報を表示する。図5の例では、タブレット端末の表示部20に、タスクウィンドウ21と、属性情報ウィンドウ22と、操作部23とが表示されている。ユーザは、操作部23を操作し、タスクウィンドウ21に表示されているアイコンを指定してタスクを選択するとともに、属性情報ウィンドウ22に表示されている属性情報を選択する。この例では、ユーザがタスクとして「ピック&プレイス」を選択しているため、属性情報ウィンドウ22にはピック&プレイスの対象物である「エビフライ」、「コロッケ」などが表示されている。ユーザがタスク及び属性情報を選択し、送信指示を行うと、インタフェース部300は、ユーザが選択したタスク及び属性情報をクラウド装置100へ送信する。
ロボット制御部221は、ロボットに運動指示を与える。図4の例では、ロボットとして、ロボットアームを例示している。コントローラ200の送受信部222は、インタフェース部300でユーザが選択したタスク及び属性情報に紐づけられたタスク別プログラムを、クラウド装置100のから通信ネットワークを介してダウンロードする。なお、基本的には、コントローラ200は、必要なタスク別プログラムをその都度ダウンロードする形態をとる。但し、その代わりに、コントローラ200は、クラウド装置100のプログラム記憶部121に記憶されている全てのタスク別プログラムを予めコントローラ200にインプリメント又はダウンロードしておき、インタフェース部300からユーザが選択したタスク及び属性情報を取得し、対応するタスク別プログラムをアクティベートする形態を取っても良い。
コントローラ200において、ロボット制御部221は、タスク別プログラムが算出した運動指示を出力し、ロボット(本実施形態では、ロボットアーム)を最終的に動作させる。運動指示は、一般的に、ロボットアームの姿勢、アクチュエータ(モータなど)のトルクなどである。運動指示は、ロボットを動かすための信号と考えて良い。ロボット制御部221は、運動指示を、ロボットアームを形成するアクチュエータに直接出力しても良い。また、ロボットアームが独自のコントローラを持っている場合、ロボット制御部221は、タスク別プログラムが算出した運動指示を、独自のコントローラ用の出力に変換し、その独自のコントローラに出力しても良い。
上述の仕組みで組み込まれたタスク別プログラムは、様々な環境に置かれたロボットで実行されることになる。この場合、ロボットが置かれた環境でプログラムを調整した方が良い。そのため、本実施形態では、ロボットが置かれた環境でタスク別プログラムを調整するタスク学習部223を備える。
タスク学習部223により学習が行われたタスク別プログラムは、適宜、ロボット制御部221に送信され、アップデートされる。本実施形態におけるタスク学習部223の特徴は、ロボットが障害物にぶつかるのを回避しながら学習をする機能を備えていることである。一般的な学習アルゴリズムでは、ロボットは周りにある障害物(即ち、周囲の環境にあるオブジェクト)とぶつかりながら、適切な動作を学習していく。このため、ロボットが現場に投入されて作業を行っている環境下では再学習をすることは難しい。なぜなら、衝突により、ロボットが周囲にあるオブジェクト傷つけたり、オブジェクトが他のロボットアームである場合には他のロボットアームの作業を邪魔したりすることになるからである。ましてや、周りに人がいる環境であれば、ロボットが人を傷つけたり、人の作業を邪魔したりすることとなる。
本実施形態では、この点を改良するため、障害物を回避しながら学習を遂行できるタスク学習部223を備える。これにより、ロボットが実際に動作する環境で、事前に調整しなくても、必要なタスク別プログラムをロボットにダウンロードするだけで、ロボットを活用できるという新たな仕組みが提供できる。
具体的に、障害物を回避しながら学習する仕組みとして、タスク学習部223は以下のようなアルゴリズムを使用する。いま、干渉関数B(x)として以下の関数を定義する。
Figure 0007334784000001
ここで、「制御対象機器」とは、制御されるロボットや無人機であり、図4の例ではロボットアームである。「x」は、制御対象機器の状態ベクトルである。ロボットのアクチュエータへの入力ベクトルを「u」とすると、障害物を避けて動くロボットの入力ベクトルは、以下の最適化計算によって求められる。
Figure 0007334784000002
ここで、「u」は最適な入力ベクトル、「P」はuに関する評価関数を作成するための行列、ΔB(x,u)は単位ステップ当たりのB(x)の変化、「γ」は係数である。タスク学習部223は、「uPu」で記述された評価関数(この場合、uの2次形式)を最小にする最適入力ベクトルuを求め、ロボットに最適入力ベクトルuを入力すれば、ロボットは障害物を回避して動作する。行列Pは様々に設定可能だが、タスクの達成度に関連するように設定されることが多い。
上記アルゴリズムでは、ロボットの動きは行列P次第である。しかし行列Pそのものが最初から好適であるかどうかはわからない場合も多い。そこで、学習のメカニズムも導入する。
学習するためには、学習のための報酬が必要であり、報酬は定義しなければならない。例えば、ロボットアームが「障害物とできるだけ距離を保ちながら、ロボットアームの手先をある地点Aまで延ばす」というタスクを実行する場合、ロボットアームの手先がA地点に近づくほど、かつ、障害物との物理距離が大きいほど、高い報酬を定義すれば良い。なお、ここでは報酬の値が高い方が良いという報酬の与え方をしているが、当然、報酬の値が低い方が良いという報酬の与え方もある。
図6は、タスク学習部223による学習のシーケンスを示す。まず、タスク学習部223は、タスクを実行する(ステップS10)。次に、タスク学習部223は、タスクの実行による報酬を計算する(ステップS11)。上記の例では、タスク学習部223は、ロボットアームの手先とA地点との距離、及び、ロボットアームの手先と障害物との距離に基づいて報酬を計算する。
次に、タスク学習部223は、計算された報酬が予め決められた規定値以上であるか否かを判定する(ステップS12)。報酬が規定値以上であれば(ステップS12:Yes)、タスク学習部223は学習を終了する。一方、報酬が規定値以上でない場合(ステップS12:No)、タスク学習部223は、行列Pをある更新則で更新することにより評価関数を更新し(ステップS13)、ステップS10へ戻ってステップS10~S12を繰り返す。このループを回すことにより、その環境にあったタスクを実行できる行列Pが学習され、ロボットは最適な動作でタスクを実行することができるようになる。
行列Pの更新とは、行列Pを構成する要素(パラメータ)を何らかの更新則で更新するという意味である。更新則をうまく設計すると、学習時間が速くなる。但し、学習時間を気にしないのであれば、ランダムにパラメータを微小量ずつ動かすという手法でも良い。パラメータを更新し、報酬が改善されれば、更新されたパラメータを採用するということを繰り返せばよい。
コントローラ200は、タスク学習部223の学習により得られた行列Pをクラウド装置100にアップロードし、クラウド装置100は受信した行列Pをプログラム記憶部121に保存しても良い。その場合、行列Pは、ユーザ名とともにタスクの属性情報として記憶される。また、この情報を他のユーザが閲覧したり、ダウンロードしたりできるようにしてもよい。
タスク生成部224は、ユーザが新たに定義したタスクを作成するために使用される。ユーザは、インタフェース部300を通じてロボットの運動を規定する。これには、多くのロボットアームで採用されている姿勢のティーチングの手法を用いれば良い。複雑なタスクの場合、まず、タスク生成部224が基本動作を作成し、その後、タスク学習部223を起動して、ロボット自らが学習しても良い。そうすることで、最適なタスクを定義できる。ユーザは、新たに作成されたタスクに関するタスク別プログラムや属性情報を、クラウド装置100にアップロードし、プログラム記憶部121に記憶して、他のユーザと共有することもできる。
例えば、ユーザは、インタフェース部300として機能する端末の音声入力受付部に対して音声を入力する。タスク生成部224は、入力された音声に対して自然言語処理を行い、タスクと属性情報を認識することで、タスク及び属性情報を作成することができる。インタフェース部300に、ユーザの使用する自然言語を選択するためのタブも表示し、ユーザは所望の言語を選択したうえで音声を入力するようにしてもよい。
また、例えば、ユーザは、図7に例示するように、インタフェース部300の表示画面におけるタスク記入欄及び属性情報記入欄に、作成したいタスク及び属性情報を自然言語の文で記入し、指やタッチペンで入力完了ボタンを押下することで、タスクを作成することができる。使用する自然言語を選択するためのタブも表示し、ユーザは所望の言語を選択したうえで入力するようにしてもよい。
以上述べたように、本実施形態では、タスク別にプログラムを分割する、及び、障害物を避けて自分と周りを破壊しないで学習するメカニズムを持つという特徴を持つことにより、ユーザは自身が必要とするタスクのみに使用料を払うだけで、ロボットを活用できるようになる。また、ユーザが改良したり、新規に作ったタスク別プログラムをクラウド装置100にアップロードして他人と共有したりすることができるため、特定メーカーがプログラムを供給するスピードを凌駕するスピードでタスク別プログラムを生成することができる。こうして、ロボット活用のすそ野が大きく広がり、人材不足に悩む様々な業界で省人化ロボットが導入できるようになる。
[第3実施形態]
次に、本発明の第3実施形態について説明する。図8は、第3実施形態に係るロボット制御システム1Cの機能構成を示すブロック図である。図示のように、クラウド装置100は、プログラム記憶部121と、送受信部122と、使用履歴蓄積部123と、料金算出部124と、を備える。なお、コントローラ200の構成は第2実施形態と同様である。
第3実施形態では、ユーザがクラウド装置100からタスク別プログラムをダウンロードして使用した際に、クラウド装置100が課金を行う機能を備える。使用履歴蓄積部123は、ユーザ毎に、タスク別プログラムの使用履歴を記録する。具体的に、使用履歴としては、プログラムのダウンロード回数、プログラムの使用時間などが考えられる。プログラムのダウンロード回数は、プログラム記憶部121から取得することができる。また、プログラムの使用時間は、コントローラ200のロボット制御部221から通信により取得することができる。なお、図8の例では、使用履歴蓄積部123はクラウド装置100上に実装されているが、ローカルサーバに実装されていても良い。
料金算出部124は、使用履歴蓄積部123に蓄積された、ユーザ毎のプログラム使用履歴をもとに、ユーザ毎に請求する料金の計算を行う。料金の課金方法としては、ダウンロード回数やプログラム使用時間の量に比例した従量課金でも良いし、ダウンロード回数やプログラム使用時間が所定の範囲であれば定額にする定額料金でも良い。料金算出部124は、ある数式、ロジックを内部に保持し、ユーザ毎に請求すべき料金の計算を行う。計算された料金を示す情報は、インタフェース部300に送信し、ユーザに表示することができる。
また、ユーザがタスク生成部224の機能を利用して新たなタスク別プログラムを生成し、クラウド装置100に提供した場合には、使用履歴蓄積部123にその履歴情報を記録し、料金算出部124はその履歴情報を考慮して料金を算出してもよい。例えば、料金算出部124は、新たなタスク別プログラムをアップロードしたユーザには、料金を割り引く、あるいは金銭的な報酬などのインセンティブを与えるなどしても良い。インセンティブとしては、例えば、金銭的報酬や割引券、無料券などが挙げられる。
[変形例]
上記の実施形態については、以下の変形例を適用することが可能である。
(変形例1)
図5に示すインタフェース部300は一例であり、本発明の適用はこれには限られない。例えば、図5では、インタフェース部300がタブレット端末で実装された例を示しているが、インタフェース部300は、パーソナルコンピュータやスマートフォンなどで実装されていても良い。
また、図5では、表示画面に表示された十字キーを操作部23の一例として記載しているが、ユーザからの選択操作は十字キーによる操作に限定されない。例えば、ユーザは、画面に表示されたマウスポインタで選択操作を行うことができる。また、インタフェース部300がタッチパネルを有する場合、ユーザは指やタッチペンで選択操作を行うことができる。
(変形例2)
図4などはロボットとしてロボットアームを例示しているが、ロボットは、ロボットアームだけでなく何でも良い。例えば、ロボットとしては、ビークル型の無人機(車や船のような無人機)やドローンなども使用できる。ビークル型のロボットの場合、タスクとしては、「○○を移動」というものが考えられる。ここで、「○○」には、舗装道路、でこぼこ道などの属性情報が入る。ロボットにとって、舗装道路とでこぼこ道を移動するのでは、運動指示が変わるからである。この場合、ロボット制御部の出力は、車輪のトルクでも良いし、車のスピード、加速度などでも良い。ロボット制御部は、それぞれのロボットのインタフェースに合わせた出力を行い、ロボットを動作させればよい。
(変形例3)
タスク学習部223は、すべてのタスクに関して使用できるため、図4に示すように、コントローラ200に実装されていることが通常である。しかし、タスクの学習をクラウド装置側で行うことも可能であり、タスク学習部をクラウド装置に構築しても良い。その場合、クラウド装置に設けられたタスク学習部は、通信ネットワークを介してロボット制御部から学習用の情報を入手し、学習を行えばよい。
[実施例]
次に、本発明を適用した具体的な実施例を説明する。本実施例では、図8に示した第3実施形態によるロボット制御システムを構築し、食品工場のユーザ3社(A社、B社、C社)への導入を行った。ユーザ3社のそれぞれがコントローラ200とインタフェース部300を所有し、共通の1つのクラウド装置100を利用するものとする。
サービスリリース時には、食品工場A社は、エビフライのピッキングのみにロボットを使用することを希望した。食品工場B社とC社は、エビフライとコロッケのピッキングにロボットを使用することを希望した。したがって、ロボット制御システムとしては、ロボットアームによる「ピック&プレイス」というタスクをクラウド装置100に用意し、属性情報として「エビフライ」および「コロッケ」を用意した。タスク別プログラムとしては、「エビフライのピック&プレイス」および「コロッケのピック&プレイス」の2種類を用意した。
ロボットアームは、各社1台を月額10万円でリースした。また、タスク別プログラムを使用する料金プランとしては、月額5万円で5プログラムまで使用可能な定額料金と、1プログラム3万円/月という従量課金の2種類を用意した。A社は従量課金を選択し、B社とC社は定額料金を選択した。
各社とも、ロボットアームが設置された後、タスク別プログラムをダウンロードし、エビフライおよびコロッケのピッキング作業を実施した。図9にピック&プレイスの作業場の概略図を示す。図9は、作業場を上側から見た平面図である。ロボットアーム37は、オーブン32で温められた具材34、即ちエビフライまたはコロッケを、オーブン32の横のテーブル35上のホテルパン36に並べていく。各社とも、作業場の概略は同じで、テーブル35はほぼホテルパン36と同じ大きさであり、ホテルパン36のオーブン32と反対側には壁38があるため、ロボット制御部221は、ロボットアーム37の壁38との衝突に気をつけなければならない。但し、各社のホテルパン36は大きさが異なる。A社は654mm×530mmのホテルパン36を2つ並べており、B社は654mm×530mmのホテルパン36を1つ置いており、C社は327×265mmのホテルパン36を1つ置いている。
クラウド装置100からプログラムをダウンロードした後、各社とも、問題なくエビフライまたはコロッケの「ピック&プレイス」作業を、壁にぶつかることなく、すぐに実施することができた。また、作業を開始直後のロボットアーム37は障害物をさける姿勢は取るものの壁38ぎりぎりまで近づくなど不安のある姿勢をとったが、徐々にオンライン学習を行い、数十回後の作業では、壁38から適切な距離を保って作業を完了するようになった。学習の報酬としては、対象物を置くべき位置に近づき、壁から100mm離れると高くなる報酬関数を設定した。
C社はその後、唐揚げを「ピック&プレイス」するタスクを、インタフェース部300を操作してタスク生成部224を用いて作成した。C社はさらに、C社の環境で唐揚げの「ピック&プレイス」作業を実行し、タスク学習部223を用いて最適なロボットアームの動作を実現した。そして、C社は、自身が作ったプログラムと学習情報をクラウド装置100のプログラム記憶部121にアップロードした。
A社ではその後、唐揚げを「ピック&プレイス」する必要が生じた。まず、A社は契約を従量課金から定額制に変更した。その上で、A社は、C社が作成してクラウド装置100に提供した唐揚げの「ピック&プレイス」のタスク別プログラムをダウンロードし、作業を追加した。A社においても、C社が作成した、唐揚げの「ピック&プレイス」のタスク別プログラムは良好に動作した。
C社がアップロードした、唐揚げの「ピック&プレイス」のタスク別プログラムが他社によりダウンロードされたことから、インセンティブとして、C社に5万円がキャッシュバックされた。
以上のように、実施形態に係るロボット制御システムを使って、複数の企業が簡単にロボットを導入することが可能となった。通常、ロボットアームを導入すると調整システムインテグレーション込みで500万円~1000万円かかり、その期間も半年から1年かかると言われている。本システムでは、導入コストおよび時間が大幅に短縮された。また、本システムでは、システムの利用会社間でタスク別プログラムを共有できる仕組みとインセンティブがあるため、多くの他社に使用されるタスク別プログラムをアップロードすれば収益源としても利用できる。本システムに参加する会社が増えれば増えるほど、参加企業が享受できるメリットは増大する。
なお、上記の実施例では、タスクとして「ピック&プレイス」のみについて記述しているが、「食品を切る」など他のタスクでも汎用的に使用できる。また、上記の実施例では、食品工場を示したが、組立工場など他の業種でも汎用的に使用することができ、組立工場特有の「ネジ閉め」タスクなども扱える。なお、上記の実施例で示した、料金体系、インセンティブは一例であり、様々な料金体系、インセンティブが考えられる。例えば、料金体系としては、サービスの利用回数(例えば、プログラムのダウンロード回数やプログラムの使用時間)に応じて料金を請求する体系や、利用期間に応じた料金を支払う体系(サブスクリプション方式)などが考えられる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付部と、
前記タスク及び前記属性情報に基づいて、前記記憶部から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
取得したプログラムに基づいて前記ロボットを制御するロボット制御部と、
を備えるロボット制御システム。
(付記2)
前記複数のプログラムは、前記タスクごとに用意されている付記1に記載のロボット制御システム。
(付記3)
前記ロボット制御部は、評価関数を用いて、前記ロボットに対する制御を決定する付記1又は2に記載のロボット制御システム。
(付記4)
ユーザ毎に、前記取得したプログラムの使用履歴を蓄積する使用履歴蓄積部と、
前記使用履歴に基づき、前記ユーザ毎に前記取得したプログラムの使用料金を算出する料金算出部と、
を備える付記1乃至3のいずれか一項に記載のロボット制御システム。
(付記5)
前記料金算出部は、料金算出に用いる量が所定の範囲以内の場合、予め定められた料金を算出する付記4に記載のロボット制御システム。
(付記6)
前記料金算出部は、利用期間に応じた定額料金を算出する付記4に記載のロボット制御システム。
(付記7)
前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を学習し、前記取得したプログラムを更新する学習部を備える付記1乃至6のいずれか一項に記載のロボット制御システム。
(付記8)
前記学習部は、障害物にぶつかることを回避しながら前記ロボットを動作させることで前記タスクの実行レベルを向上させる付記7に記載のロボット制御システム。
(付記9)
前記記憶部は、前記学習部で学習したプログラムを記憶する付記7又は8に記載のロボット制御システム。
(付記10)
前記記憶部は、前記ユーザが作成したタスクについてのプログラムを記憶する付記1乃至9のいずれか一項に記載のロボット制御システム
(付記11)
前記料金算出部は、前記ユーザが作成したタスクについてのプログラムが前記記憶部に記憶されると、前記ユーザに請求する料金を減額するか、又は、前記ユーザにインセンティブを与える付記4乃至6のいずれか一項に記載のロボット制御システム。
(付記12)
前記記憶手段がクラウド上に存在し、
前記記憶部と前記ロボット制御部とは、通信可能に接続されている付記1記載のロボット制御システム 。
(付記13)
ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
取得したプログラムに基づいて前記ロボットを制御するロボット制御方法。
(付記14)
ロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
取得したプログラムに基づいて前記ロボットを制御する処理をコンピュータに実行させるプログラムを記録した記録媒体。
(付記15)
ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶部と、
ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信部と、
前記タスク及び前記属性情報に基づいて、前記記憶部から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得部と、
取得したプログラムを送信する送信部と、
を備えるクラウド装置。
以上、実施形態及び実施例を参照して本発明を説明したが、本発明は上記実施形態及び実施例に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
1、1A、1B、1C ロボット制御システム
100 クラウド装置
121 プログラム記憶部
122 送受信部
123 使用履歴蓄積部
124 料金算出部
200 コントローラ
221 ロボット制御部
222 送受信部
223 タスク学習部
224 タスク生成部
300 インタフェース部

Claims (9)

  1. アーム型のロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段と、
    前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付ける受付手段と、
    前記タスク及び前記属性情報に基づいて、前記記憶手段から前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得手段と、
    取得したプログラムに基づいて前記ロボットを制御するロボット制御手段と、
    前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新する学習手段と、
    を備え
    前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われるロボット制御システム。
  2. 前記複数のプログラムは、前記タスクごとに用意されている請求項1に記載のロボット制御システム。
  3. 前記ロボット制御手段は、評価関数を用いて、前記ロボットに対する制御を決定する請求項1又は2に記載のロボット制御システム。
  4. ユーザ毎に、前記取得したプログラムの使用履歴を蓄積する使用履歴蓄積手段と、
    前記使用履歴に基づき、前記ユーザ毎に前記取得したプログラムの使用料金を算出する料金算出手段と、
    を備える請求項1乃至3のいずれか一項に記載のロボット制御システム。
  5. 前記料金算出手段は、料金算出に用いる量が所定の範囲以内の場合、予め定められた料金を算出する請求項4に記載のロボット制御システム。
  6. 前記料金算出手段は、利用期間に応じた定額料金を算出する請求項4に記載のロボット制御システム。
  7. アーム型のロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
    前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
    取得したプログラムに基づいて前記ロボットを制御し、
    前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新し
    前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われるロボット制御方法。
  8. アーム型のロボットに実行させるタスクと、複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、のユーザによる選択を受け付け、
    前記タスク及び前記属性情報に基づいて、ロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得し、
    取得したプログラムに基づいて前記ロボットを制御し、
    前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を、前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新する処理をコンピュータに実行させ
    前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われるプログラム。
  9. アーム型のロボットに実行させるタスクに応じた複数のプログラムを記憶する記憶手段と、
    ユーザにより選択された、前記ロボットに実行させるタスクと、前記複数のプログラムのうち前記タスクを実行させるためのプログラムに関する属性情報と、を受信する受信手段と、
    前記タスク及び前記属性情報に基づいて、前記記憶手段から、前記複数のプログラムのうち前記タスクを実行させるためのプログラムを取得する取得手段と、
    取得したプログラムを前記ロボットのコントローラへ送信する送信手段と、
    前記コントローラにおいて、前記取得したプログラムを実行することにより制御した前記ロボットの周囲の環境を前記ロボットが障害物にぶつかることを回避しながら学習し、前記取得したプログラムを更新することで得られた更新プログラムを、前記コントローラから受信して前記記憶手段に記憶するプログラム更新手段と、
    を備え
    前記学習は、前記障害物と前記ロボットとの干渉状態を示す干渉関数を用いて前記ロボットが前記障害物にぶつからないことを示す制約を含む最適化アルゴリズムに基づいて行われるクラウド装置。
JP2021540609A 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、プログラム Active JP7334784B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/032847 WO2021033315A1 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、記録媒体

Publications (3)

Publication Number Publication Date
JPWO2021033315A1 JPWO2021033315A1 (ja) 2021-02-25
JPWO2021033315A5 JPWO2021033315A5 (ja) 2022-04-19
JP7334784B2 true JP7334784B2 (ja) 2023-08-29

Family

ID=74660462

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021540609A Active JP7334784B2 (ja) 2019-08-22 2019-08-22 ロボット制御システム、ロボット制御方法、及び、プログラム

Country Status (4)

Country Link
US (1) US20220281105A1 (ja)
EP (1) EP4019206A4 (ja)
JP (1) JP7334784B2 (ja)
WO (1) WO2021033315A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113843801B (zh) 2021-10-18 2022-11-29 上海节卡机器人科技有限公司 复合机器人的控制方法、装置及***

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250045A (ja) 1999-12-30 2001-09-14 Sony Corp 購入システム及び方法、受注装置及び方法、データ販売代行システム、データ販売装置及び方法並びにコンピュータプログラム
JP2003108791A (ja) 2001-09-28 2003-04-11 Yamaha Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ配信サーバ
WO2017130286A1 (ja) 2016-01-26 2017-08-03 富士機械製造株式会社 ジョブ作成装置および作業システム並びに作業ロボットの制御装置
JP2018032126A (ja) 2016-08-23 2018-03-01 セイコーエプソン株式会社 ロボット情報管理装置、ロボットおよびロボット課金システム
US9925662B1 (en) 2015-06-28 2018-03-27 X Development Llc Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation
JP2018190241A (ja) 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP2018200539A (ja) 2017-05-26 2018-12-20 オムロン株式会社 学習装置、学習制御方法、及びそのプログラム
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法
JP2019030941A (ja) 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置
US20190217476A1 (en) 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Robot navigation and object tracking
JP2019121364A (ja) 2018-01-05 2019-07-22 アイロボット・コーポレーション 状況認識のためのモバイル清掃ロボット人工知能

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0981205A (ja) 1995-09-11 1997-03-28 Fujitsu Ltd 学習システム
JP3703822B2 (ja) 2003-09-02 2005-10-05 株式会社国際電気通信基礎技術研究所 内部変数推定装置、内部変数推定方法及び内部変数推定プログラム
JP4929449B2 (ja) 2005-09-02 2012-05-09 国立大学法人横浜国立大学 強化学習装置および強化学習方法
US8868241B2 (en) * 2013-03-14 2014-10-21 GM Global Technology Operations LLC Robot task commander with extensible programming environment
US20150149263A1 (en) * 2013-11-22 2015-05-28 Here Global B.V. Automated Parking Payment
CN105215987B (zh) * 2015-10-12 2017-03-22 埃夫特智能装备股份有限公司 一种工业机器人工艺云***及其工作方法
EP3243607B1 (en) * 2016-05-09 2021-01-27 OpiFlex Automation AB A system and a method for programming an industrial robot
KR102012073B1 (ko) * 2017-02-03 2019-08-19 두산로보틱스 주식회사 스킬 기반 로봇 프로그래밍 장치 및 방법
US20190068466A1 (en) * 2017-08-30 2019-02-28 Intel Corporation Technologies for auto-discovery of fault domains
EP3476545A1 (en) * 2017-10-27 2019-05-01 Creaholic SA Method for operating a computer-based inventory of hardware modules of a robotic system
WO2019209882A1 (en) * 2018-04-23 2019-10-31 Purdue Research Foundation Augmented reality interface for authoring tasks for execution by a programmable robot
JP2020011320A (ja) * 2018-07-17 2020-01-23 オムロン株式会社 パラメータ同定装置、方法、及びプログラム
JP7036686B2 (ja) * 2018-07-24 2022-03-15 株式会社ダイヘン オプション機能使用料演算方法、オプション機能使用料演算装置及びコンピュータプログラム
WO2020121585A1 (ja) * 2018-12-13 2020-06-18 株式会社Nttドコモ 移動手段判断装置
US20220171907A1 (en) * 2019-03-18 2022-06-02 Siemens Aktiengesellschaft Creation of digital twin of the interaction among parts of the physical system
US11203116B2 (en) * 2019-08-02 2021-12-21 Teradyne, Inc. System and method for predicting robotic tasks with deep learning

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001250045A (ja) 1999-12-30 2001-09-14 Sony Corp 購入システム及び方法、受注装置及び方法、データ販売代行システム、データ販売装置及び方法並びにコンピュータプログラム
JP2003108791A (ja) 2001-09-28 2003-04-11 Yamaha Corp コンテンツ配信プログラム、コンテンツ配信方法およびコンテンツ配信サーバ
US9925662B1 (en) 2015-06-28 2018-03-27 X Development Llc Generating a trained robot path based on physical manipulation of the robot and based on training user interface input(s) associated with the physical manipulation
WO2017130286A1 (ja) 2016-01-26 2017-08-03 富士機械製造株式会社 ジョブ作成装置および作業システム並びに作業ロボットの制御装置
JP2018032126A (ja) 2016-08-23 2018-03-01 セイコーエプソン株式会社 ロボット情報管理装置、ロボットおよびロボット課金システム
JP2018190241A (ja) 2017-05-09 2018-11-29 オムロン株式会社 タスク実行システム、タスク実行方法、並びにその学習装置及び学習方法
JP2018200539A (ja) 2017-05-26 2018-12-20 オムロン株式会社 学習装置、学習制御方法、及びそのプログラム
JP2019005834A (ja) 2017-06-22 2019-01-17 株式会社デンソー 学習システム及び学習方法
JP2019030941A (ja) 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置
JP2019121364A (ja) 2018-01-05 2019-07-22 アイロボット・コーポレーション 状況認識のためのモバイル清掃ロボット人工知能
US20190217476A1 (en) 2018-01-12 2019-07-18 Futurewei Technologies, Inc. Robot navigation and object tracking

Also Published As

Publication number Publication date
EP4019206A4 (en) 2022-08-17
EP4019206A1 (en) 2022-06-29
WO2021033315A1 (ja) 2021-02-25
JPWO2021033315A1 (ja) 2021-02-25
US20220281105A1 (en) 2022-09-08

Similar Documents

Publication Publication Date Title
Javaid et al. Substantial capabilities of robotics in enhancing industry 4.0 implementation
Takata et al. Human and robot allocation method for hybrid assembly systems
CN103492133B (zh) 具有运动冗余臂的工业机器人和用于控制该机器人的方法
Jimeno et al. State of the art of the virtual reality applied to design and manufacturing processes
CN104423303B (zh) 最优化的运动控制部件和能量效率的估量和调节方法
EP3643455B1 (en) Method and system for programming a cobot for a plurality of industrial cells
Van Roy Neuro-dynamic programming: Overview and recent trends
CN110226182A (zh) 机器人的交易***以及交易方法
CN110856934B (zh) 规划使用机器人***抬起重物的运动的方法
EP3798747A1 (en) Controlling a machine based on an online digital twin
JP7334784B2 (ja) ロボット制御システム、ロボット制御方法、及び、プログラム
Marler et al. Use of multi-objective optimization for digital human posture prediction
JP6900863B2 (ja) 制御装置、制御方法および制御プログラム
US11559893B2 (en) Robot control for avoiding singular configurations
CN115916477A (zh) 机器人演示学习的技能模板分发
US20210349444A1 (en) Accelerating robotic planning for operating on deformable objects
Mitterberger et al. Tie a knot: human–robot cooperative workflow for assembling wooden structures using rope joints
JP2009274180A (ja) ロボット動作計画方法及び装置
Luo et al. Interactive generation of dynamically feasible robot trajectories from sketches using temporal mimicking
JP6608731B2 (ja) 対価設定装置及び対価設定方法
Kulmer et al. Medium-term Capacity Management through Reinforcement Learning–Literature review and concept for an industrial pilot-application
Tamizi et al. Inference search algorithm for optimizing scheduling and minimizing mean tardiness in parallel joint robots
Baklouti et al. Remote control of mobile robot through 3D virtual reality environment
Tirian Automation of a warehouse by means of a robotic arm
Rodríguez Hoyos et al. Virtual reality interface for assist in programming of tasks of a robotic manipulator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230512

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: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230731

R151 Written notification of patent or utility model registration

Ref document number: 7334784

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151