JP7415356B2 - プログラム移送システムおよびロボットシステム - Google Patents

プログラム移送システムおよびロボットシステム Download PDF

Info

Publication number
JP7415356B2
JP7415356B2 JP2019138615A JP2019138615A JP7415356B2 JP 7415356 B2 JP7415356 B2 JP 7415356B2 JP 2019138615 A JP2019138615 A JP 2019138615A JP 2019138615 A JP2019138615 A JP 2019138615A JP 7415356 B2 JP7415356 B2 JP 7415356B2
Authority
JP
Japan
Prior art keywords
work
robot
program
unit
management controller
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
JP2019138615A
Other languages
English (en)
Other versions
JP2021022187A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2019138615A priority Critical patent/JP7415356B2/ja
Priority to CN202010732557.XA priority patent/CN112298995A/zh
Priority to US16/940,467 priority patent/US11237819B2/en
Publication of JP2021022187A publication Critical patent/JP2021022187A/ja
Application granted granted Critical
Publication of JP7415356B2 publication Critical patent/JP7415356B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • B65G47/905Control arrangements
    • 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/1658Programme controls characterised by programming, planning systems for manipulators characterised by programming language
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • 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/40053Pick 3-D object from pile of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Robotics (AREA)
  • Computational Linguistics (AREA)
  • Manipulator (AREA)
  • General Factory Administration (AREA)

Description

本発明は、プログラム移送システムおよびロボットシステムに関するものである。
特許文献1には、用途変更時または制御プログラムのバージョン変更時に制御プログラムの必要な部分を自動的に判断し移入する産業用ロボットが開示されている。
特開平11-110027号公報
しかしながら、ロボットの作業が多様化すると制御プログラムの種類やデータ量が増えてしまう。そのため、上述のような更新作業が煩雑化したり、移入した制御プログラムが適切でなかったりすることがある。
本発明のプログラム移送システムは、ロボットと通信を行って通信結果を出力する通信部と、
前記通信結果により前記ロボットが有する作業プログラムを確認し、前記作業プログラムとは別の対象作業プログラムを移入するか否かを判断する判断部と、
前記判断部が移入すると判断したときに、前記対象作業プログラムを前記ロボットに移入するプログラム移入部と、
前記ロボットから作業済の作業データを収集する収集部と、
前記収集部が収集した前記作業データを用いて機械学習を行い、前記機械学習の結果により前記対象作業プログラムを更新するプログラム更新部と、を有することを特徴とする。
第1実施形態に係るロボットシステムの全体構成を示す図である。 ロボットの一例を示す斜視図である。 作業管理コントローラーの構成を示すブロック図である。 作業管理コントローラーの処理を説明するフローチャートである。 作業プログラムの更新作業を説明するフローチャートである。 ロボットの動作を説明するフローチャートである。 ロボットによる部品の把持作業を説明するフローチャートである。 第2実施形態に係るロボットシステムの構成を示すブロック図である。
以下、本発明のプログラム移送システムおよびロボットシステムを添付図面に示す実施形態に基づいて詳細に説明する。
<第1実施形態>
図1は、第1実施形態に係るロボットシステムの全体構成を示す図である。図2は、ロボットの一例を示す斜視図である。図3は、作業管理コントローラーの構成を示すブロック図である。図4は、作業管理コントローラーの処理を説明するフローチャートである。図5は、作業プログラムの更新作業を説明するフローチャートである。図6は、ロボットの動作を説明するフローチャートである。図7は、ロボットによる部品の把持作業を説明するフローチャートである。
図1に示すロボットシステム1は、例えば、工場100で用いられる。工場100内の棚190には、例えば、部品Aが無造作に収容されたボックス110A、部品Bが無造作に収容されたボックス110B、部品Cが無造作に収容されたボックス110Cが並べられている。そして、工場100内の作業領域では、ボックス110Aから部品Aをビンピッキングして作業台120まで搬送する複数のロボット200Aと、ボックス110Bから部品Bをビンピッキングして作業台120まで搬送する複数のロボット200Bと、ボックス110Cから部品Cをビンピッキングして作業台120まで搬送する複数のロボット200Cと、がそれぞれ自律して作業を行っている。
さらに、工場100内では、作業領域の外側において、複数のロボット200Dが周回し、または、所定の位置に待機しており、滞っている作業があればロボット200Dを用いてその作業を支援することができるようになっている。つまり、ロボット200Dは、ロボット200A~200Cを補助する予備的なロボットであり、部品Aの搬送が滞っていれば、ロボット200Aに交じって部品Aの搬送を支援し、部品Bの搬送が滞っていれば、ロボット200Bに交じって部品Bの搬送を支援し、部品Cの搬送が滞っていれば、ロボット200Cに交じって部品Cの搬送を支援する。ロボット200Dは、その役割を終えると、再び工場100内の作業領域の外側を周回し、または、所定の位置で待機する。
ただし、ロボットシステム1が適用される場所や工場内のロボットが行う作業としては、特に限定されない。例えば、ロボットが行う作業は、部品A、B、Cの組み立て、洗浄、検査、試験等の作業であってもよい。
ロボット200A~200Dは、いずれも自走可能なロボットであり、その構成としては、特に限定されず、部品の搬送、その他の作業に適した構成とすることができる。なお、本実施形態では、ロボット200A~200Dの構成が互いに同様であるため、以下の説明ではロボット200Aの構成について代表して説明し、その他のロボット200B~200Dについては、その説明を省略する。
図2に示すように、ロボット200Aは、載置台211を有する基台210と、基台210に設けられているロボットアーム220と、基台210に設けられている移動機構230と、ロボットアーム220および移動機構230の駆動を制御するロボット制御装置240と、を有する。
ロボット200Aは、載置台211に配膳トレイTを載置し、移動機構230によってボックス110Aまで移動し、ロボットアーム220によってボックス110Aから部品Aをピックアップし、ピックアックした部品Aを載置台211に載置した配膳トレイT上に配膳し、移動機構230によって作業台120まで移動し、ロボットアーム220によって載置台211に載置した部品Aをピックアップし、ピックアックした部品Aを配膳トレイTごと作業台120に載置する作業を繰り返す。
移動機構230には自動走行システムが適用され、ロボット200Aは、事前に指定された経路に沿って自動走行する。移動機構230は、基台210に設けられている操舵用の1対の前輪231および駆動用の1対の後輪232を有する。また、図示しないが、移動機構230は、移動時にロボット200が受ける加速度を検出する加速度センサー、通路の目印となるマーカーを検出するマーカーセンサー等の各種センサーを有する。そして、ロボット制御装置240は、前記センサーの検出結果を用いてロボット200の走行制御を行う。ただし、移動機構230の構成としては、特に限定されない。
ロボットアーム220は、6軸多関節アームである。つまり、ロボットアーム220は、基台210に回動自在に連結されている第1アーム221と、第1アーム221に回動自在に連結されている第2アーム222と、第2アーム222に回動自在に連結されている第3アーム223と、第3アーム223に回動自在に連結されている第4アーム224と、第4アーム224に回動自在に連結されている第5アーム225と、第5アーム225に回動自在に連結されている第6アーム226と、第6アーム226に接続されているハンド227と、を有する。
ハンド227の構成は、部品Aを把持することができれば、特に限定されない。本実施形態のハンド227は、第6アーム226に装着されている基部228と、基部228に設けられている一対の爪部229a、229bと、を有し、爪部229a、229bで部品Aを挟んで把持することができる。この他にも、例えば、4つの爪部で部品Aを挟み込む構成、エアチャック、静電チャック等によって部品Aを把持する構成等であってもよい。
また、第5アーム225には、部品Aを画像認識するためのカメラ250が設けられている。そして、カメラ250が取得した画像に基づいてボックス110A内に無造作に収容された部品Aの位置および姿勢を検知し、その結果に基づいてハンド227が部品Aを把持する構成となっている。
以上、ロボット200Aについて説明した。本実施形態では、前述したように、ロボット200A~200Dの構成が互いに同一であるが、これに限定されない。すなわち、ロボット200A~200Dのうちの少なくとも1つのロボットが他のロボットと異なる構成となっていてもよい。特に、ロボット200A、200B、200Cのハンド227の構成は、部品A、B、Cの重量、形状、材質に合わせて適宜変更することができる。また、例えば、ロボット200A同士でも異なる構成となっていてもよい。ロボット200B~200Dについても同様である。別の構成のロボット200A~200Dとしては、例えば、ロボットアーム220が水平多関節アームであるもの、ロボットアーム220が複数装備されたもの等であってもよいし、ロボットアーム220を有しないAGV(無人搬送車)であってもよいし、移動機構230を有さず自律移動ができない固定型または可動型のロボットであってもよい。
図1に戻って、ロボットシステム1は、工場100内に設置され、ロボット200Aの作業を管理するための作業管理コントローラー400Aと、ロボット200Bの作業を管理するための作業管理コントローラー400Bと、ロボット200Cの作業を管理するための作業管理コントローラー400Cと、を有する。また、作業管理コントローラー400Aは、少なくともロボット200A、200Dと通信可能に設置されており、作業管理コントローラー400Bは、少なくともロボット200B、200Dと通信可能に設置されており、作業管理コントローラー400Cは、少なくともロボット200C、200Dと通信可能に設置されている。本実施形態では、作業管理コントローラー400A、400B、400Cは、それぞれ、全てのロボット200A~200Dと通信可能に設置されている。
なお、これら作業管理コントローラー400A~400Cの構成は、互いに同様であるため、以下の説明では、説明の便宜上、作業管理コントローラー400Aについて代表して説明し、その他の作業管理コントローラー400B、400Cについては、その説明を省略する。また、以下では、ロボット200A~200Dをまとめて単に「ロボット200」とも言う。
作業管理コントローラー400Aは、例えば、コンピューターから構成され、情報を処理するプロセッサー(CPU)と、プロセッサーに通信可能に接続されたメモリーと、外部インターフェースと、を有する。また、メモリーにはプロセッサーにより実行可能な各種プログラムが保存され、プロセッサーは、メモリーに記憶された各種プログラム等を読み込んで実行することができる。
図3に示すように、作業管理コントローラー400Aは、プログラム移送システムを構成しており、通信部410と、判断部420と、ロボット数判断部430と、解放部440と、プログラム移入部450と、作業状態確認部460と、収集部470と、プログラム更新部480と、を有する。
通信部410は、ロボット200および他の作業管理コントローラー400B、400Cと通信する機能を有する。通信部410は、通信可能なロボット200を検索し、そのロボット200と通信を行い、通信結果を出力する。通信部410は、部品Aの搬送作業を行うロボット200Aとはもちろんのこと、ロボット200B~200Dとも通信可能である。通信手段としては、特に限定されないが、例えば、Wi-Fi、Bluetooth(登録商標)等の無線通信システムを用いることができる。ただし、通信部410は、ロボット200Aの他には少なくともロボット200Dと通信可能であればよい。また、通信部410の通信エリアが工場100内の一部に限られている場合は、ロボット200との通信が常時可能でなくても、例えば、ロボット200が通信可能エリア内を通過する際に一時的に通信可能となっていればよい。
判断部420は、通信部410を介して作業管理コントローラー400Aと接続されている各ロボット200Dについて、それぞれどのような作業プログラムに従って作業を行っているかを確認する。本実施形態では、各ロボット200Dは、部品Aの搬送作業を行う作業プログラムPA、部品Bの搬送作業を行う作業プログラムPB、部品Cの搬送作業を行う作業プログラムPCおよび工場100内で周回または待機させる作業プログラムPDのいずれか1つの作業プログラムに従って作業している。そのため、判断部420は、通信先の各ロボット200Dが作業プログラムPA、PB、PC、PDのうちのどの作業プログラムに従って作業しているかを確認し、さらには、その作業プログラムのバージョン情報についても確認する。これにより、通信先のロボット200Dの作業状態を容易に確認することができる。
判断部420は、通信部410を介して通信した各ロボット200Dについて、作業プログラムPAを移入する必要があるか否かすなわち現在の作業プログラムを作業プログラムPAに書き換える必要があるか否かを判断する。つまり、通信部410から出力されるロボット200Dとの通信結果により、作業プログラムPA以外の作業プログラムPB、PC、PDに基づいて作業を行っているロボット200Dを、作業プログラムPAに基づいて作業するロボット200Aとして機能させる必要があるか否かを判断する。
具体的に説明すると、判断部420は、まず、作業管理コントローラー400Aの管理対象である部品Aの搬送作業状況と、図示しないホストコンピューターから受け取った作業計画とを比較して、部品Aの搬送作業が予定通り進んでいるか、予定よりも早く進んでいるか、予定よりも遅れているかを判断する。搬送作業状況が作業計画に対して予定通りである場合および予定よりも早く進んでいる場合には、それ以上ロボット200Aを増やす必要がない。したがって、この場合には、判断部420は、ロボット200Dに作業プログラムPAを移入する必要がないと判断する。一方で、搬送作業状況が作業計画に対して遅れている場合には、ロボット200Aの数を増やして、作業スピードを高める必要がある。したがって、この場合には、判断部420は、少なくとも1つのロボット200Dに作業プログラムPAを移入して、ロボット200Dで部品Aの搬送作業を補助する必要があると判断する。
また、判断部420は、確認した作業プログラムが作業プログラムPAであった場合には、そのバージョン情報を確認し、バージョンが最新であるか否かを判断する。
ロボット数判断部430は、判断部420の判断結果に基づいて、部品Aの搬送作業を行うロボット200Aの数の過不足を判断する。具体的には、ロボット数判断部430は、判断部420で部品Aの搬送作業状況が計画通りであると判断されれば、ロボット200Aの数は適当であり増減させる必要はないと判断する。一方、ロボット数判断部430は、判断部420で部品Aの搬送作業状況が計画より早く進んでいると判断されれば、ロボット200Aの数が過多でありロボット200Aの数を減らす必要がある判断し、さらに、ロボット200Aを何台減らせば作業計画通りに復帰するかを求める。反対に、ロボット数判断部430は、判断部420で部品Aの搬送作業状況が計画より遅れていると判断されれば、ロボット200Aの数が足りずロボット200Aの数を増やす必要がある判断し、さらに、ロボット200Aを何台増やせば作業計画通りに復帰するかを求める。このようなロボット数判断部430を有することにより、ロボット200Aの過不足を明確に判断することができる。
解放部440は、前述のように、ロボット数判断部430がロボット200Aの数が過多であると判断した場合に、ロボット200Aの少なくとも1つを部品Aの搬送作業から解放する。つまり、作業プログラムPAが確保しているロボット200Aのメモリー領域を解放する。なお、部品Aの搬送作業から解放するロボット200Aの数は、ロボット数判断部430の判断結果に基づく。具体的には、解放部440は、過多分の全ロボット200Aに対して作業プログラムPDを移入して、すなわち、作業プログラムPAを作業プログラムPDに書き換えてこれら全ロボット200Aをロボット200Dに変更する。これにより、部品Aの搬送作業から解放されたロボット200Dを、他の遅れている作業の補助に当たらせることができ、作業全体の効率化を図ることができる。
ただし、これに限定されず、例えば、作業管理コントローラー400Bとの通信によって部品Bの搬送作業が作業計画から遅れていることが判明している場合、解放部440は、過多分のロボット200Aの少なくとも1つのロボット200Aに対して作業プログラムPBを移入して、このロボット200Aをロボット200Bに変更してもよい。同様に、作業管理コントローラー400Cとの通信によって部品Cの搬送作業が作業計画から遅れていることが判明している場合、解放部440は、過多分のロボット200Aの少なくとも1つのロボット200Aに対して作業プログラムPCを移入して、このロボット200Aをロボット200Cに変更してもよい。これにより、部品B、Cの搬送作業の遅れを減少させることができる。
プログラム移入部450は、解放部440と逆の機能を有する。つまり、プログラム移入部450は、前述のように、ロボット数判断部430がロボット200Aの数が足りないと判断した場合に、ロボット200Dの少なくとも1つを部品Aの搬送作業に従事する新たなロボット200Aとする。なお、部品Aの搬送作業に新たに従事させるロボット200Dの数は、ロボット数判断部430の判断結果に基づく。具体的には、プログラム移入部450は、過少分を補う全ロボット200Dに対して作業プログラムPAを移入して、すなわち、作業プログラムPDを作業プログラムPAに書き換えてこれら全ロボット200Dをロボット200Aに変更する。仮に、ロボット200Dの数がロボット200Aの過少分を補う数に足りなかった場合には、プログラム移入部450は、全ロボット200Dをロボット200Aに変更すればよい。
ただし、これに限定されず、例えば、作業管理コントローラー400Bとの通信によって部品Bの搬送作業が作業計画よりも早く進んでいることが判明している場合、プログラム移入部450は、過多分のロボット200Bの少なくとも1つに対して作業プログラムPAを移入して、このロボット200Bをロボット200Aに変更してもよい。同様に、作業管理コントローラー400Cとの通信によって部品Cの搬送作業が作業計画よりも早く進んでいることが判明している場合、プログラム移入部450は、過多分のロボット200Cの少なくとも1つに対して作業プログラムPAを移入して、このロボット200Cをロボット200Aに変更してもよい。これにより、例えば、前述したようにロボット200Dの数が足りない場合に、その不足分をロボット200B、200Cによって補うことができる。
作業状態確認部460は、ロボット200Dの現在の状態を確認する。具体的には、作業状態確認部460は、各ロボット200Dについて、現在、ロボット200Aとして部品Aの搬送作業に従事しているのか、その場合は作業中なのか作業が完了しているのか、ロボット200Bとして部品Bの搬送作業に従事しているのか、その場合は作業中なのか作業が完了しているのか、ロボット200Cとして部品Cの搬送作業に従事しているのか、その場合は作業中なのか作業が完了しているのか、または、これらいずれの作業にも従事していないのかを確認する。これにより、各ロボット200Dの作業状況を把握することができ、例えば、解放部440やプログラム移入部450の処理が容易となる。
収集部470は、通信部410を介して、各ロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dから作業済の作業データを収集する。この作業データには、作業を指示通りに行うことができた際の情報である作業成功情報と、作業を指示通りに行うことができなかった際の情報である作業失敗情報と、が含まれている。作業失敗情報としては、特に限定されず、作業内容によっても異なるが、本実施形態の場合には、例えば、カメラ250による部品Aの撮影画像、画像処理により認識された特徴量、部品Aの位置および姿勢の誤認識、ピックアップ中のハンド227からの部品Aの落下、移動中の指定ルートからの逸脱、移動中の部品Aの落下等の情報が挙げられる。
また、収集部470は、通信部410を介して、各ロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dに対して収集済みの作業データの削除を指示する削除依頼を送信することができ、この依頼を受け取ったロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dは、送信済みの作業データを削除する。これにより、ロボット200Dに必要なメモリー容量を抑えることができると共に、同じ作業データを重複して収集してしまうことを抑制することができる。また、作業データの漏洩リスクを低減することもできる。
プログラム更新部480は、収集部470が集めた作業データに基づいて、失敗作業が減るような好ましくは無くなるような更新作業プログラムPAAを生成する。更新作業プログラムPAAの生成方法としては、特に限定されないが、機械学習を用いることが好ましい。すなわち、プログラム更新部480は、大量に収集された作業成功情報および作業失敗情報をサンプルデータとして入力して解析を行い、そのデータから作業の失敗を減少させるために有用な規則、判断基準等を抽出し、作業プログラムPAのアルゴリズムを発展させることにより更新作業プログラムPAAを生成することが好ましい。
前述したように、判断部420は、各ロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dが保持している作業プログラムPAのバージョン情報を確認する。そのため、プログラム移入部450は、判断部420が、保持している作業プログラムPAが最新のものではないと判断したロボット200Aおよび部品Aの搬送作業に従事しているロボット200Dに対して通信部410を介して更新作業プログラムPAAを移送する。つまり、プログラム更新部480は、更新作業プログラムPAAを最新の作業プログラムとして書き換える。これにより、ロボット200Aおよび部品Aの搬送作業に従事しているロボット200Dの失敗作業が減少し、部品Aの搬送作業の効率、歩留まりを高めることができる。
ロボットシステム1では、収集部470による作業データの収集と、プログラム更新部480による更新作業プログラムPAAの生成および書き換えとが、定期的に繰り替えされる。これにより、各ロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dを最新の作業プログラムPAに維持することができ、各ロボット200Aおよび部品Aの搬送作業に従事している各ロボット200Dの作業効率が向上する。
なお、プログラム更新部480は、全ロボット200Aおよび部品Aの搬送作業に従事している全ロボット200Dに対して共通の更新作業プログラムPAAを生成してもよいし、ロボット200Aおよび部品Aの搬送作業に従事しているロボット200D毎に個別の更新作業プログラムPAAを生成してもよい。構成は同じであっても、ロボット200Aおよび部品Aの搬送作業に従事しているロボット200D毎にその特性に若干の差異がある場合があるため、ロボット200Aおよび部品Aの搬送作業に従事しているロボット200D毎に個別の更新作業プログラムPAAを生成し、ロボット200Aおよび部品Aの搬送作業に従事しているロボット200D毎に個別の更新作業プログラムPAAを移入することにより、失敗作業をより効果的に減少させることができる。
ロボット200Aおよび部品Aの搬送作業に従事しているロボット200D毎に個別の更新作業プログラムPAAを生成する場合には、対応するロボット200Dから収集した作業データだけに基づいて更新作業プログラムPAAを生成してもよい。このように、対応するロボット200Dから収集した作業データだけを用いて更新作業プログラムPAAを生成することにより、このロボット200Dに特化した更新作業プログラムPAAを生成することができる。反対に、対応するロボット200Dから収集した作業データに加えて、他のロボット200(200A、200D)から収集した作業データを用いて更新作業プログラムPAAを生成してもよい。このように、対応するロボット200Dを含む複数のロボット200から収集した作業データを用いて更新作業プログラムPAAを生成することにより、作業データを短時間の間で大量に収集することができる。そのため、学習量が多くなり、その分、より精度の高い更新作業プログラムPAAを生成することができ、かつ、更新作業プログラムPAAの更新サイクルを短くすることもできる。
以上、作業管理コントローラー400Aの構成について説明した。このような作業管理コントローラー400Aで構成されたプログラム移送システムによれば、ロボット200D自身から収集した作業データを用いて機械学習を行い、その機械学習の結果により作業プログラムPAが更新されるため、更新作業が容易であり、かつ、適切な作業プログラムPAをロボット200Dに移入することができる。
さらに、ロボット200Dが、作業管理コントローラー400A、400B、400Cからの依頼を受けて部品Aの搬送作業、部品Bの搬送作業、部品Cの搬送作業を必要な時に切り替えながら実行することができる。そのため、ロボット200Dで滞っている作業を補助することができ、その作業を作業計画通りに復帰させることができる。したがって、ロボットシステム1の作業効率が高まる。また、多数のロボット200Dを容易に部品Aの搬送作業、部品Bの搬送作業および部品Cの搬送作業に従事させることができる。
次に、この作業管理コントローラー400Aの処理の一例を図4に示すフローチャートに基づいて説明する。
まず、作業管理コントローラー400Aは、ステップS101として、ロボット200Dを検索する。次に、作業管理コントローラー400Aは、ステップS102として、検索したロボット200Dとの通信を開始する。次に、作業管理コントローラー400Aは、ステップS103、S104として、通信を開始したロボット200Dが保持している作業プログラムの有無および内容を確認する。
ロボット200Dが作業プログラムPAを保持している場合、すなわち、ロボット200Dがロボット200Aを補助するために部品Aの搬送作業に従事している場合、作業管理コントローラー400Aは、ステップS105、S106として、そのロボット200Dの作業データの保持状況を確認する。そして、ロボット200Dが作業データを保持している場合、作業管理コントローラー400Aは、ステップS107として、そのロボット200Dから作業データを収集して蓄積する。次に、作業管理コントローラー400Aは、ステップS108として、ロボット200Dに対して収集済みの作業データの削除を依頼する。
次に、作業管理コントローラー400Aは、ステップS109、S110として、ロボット200D(部品Aの搬送作業を行っているロボット200D)の作業状況、具体的には、作業中であるか作業が完了しているかを確認する。そして、作業中である場合、作業管理コントローラー400Aは、ステップS111、S112として、作業プログラムPAの有無を確認し、作業プログラムPAを有する場合は、そのバージョン情報を確認する。
作業プログラムPAのバージョンが最新でない場合、作業管理コントローラー400Aは、ステップS113、S114として、部品Aの搬送作業に従事するロボット200Dに更新作業プログラムPAAを移入し、ロボット200Dに部品Aの搬送作業を継続することを依頼する。そして、作業管理コントローラー400Aは、ステップS115として、ロボット200Dとの通信を終了し、終了後は、ステップS101に戻る。
前述したステップS104に戻って、通信を開始したロボット200Dが作業プログラムPB、PCを保持している場合、すなわち、ロボット200Dがロボット200B、200Cと共に部品B、Cの搬送作業に従事している場合、作業管理コントローラー400Aは、ステップS115として、そのロボット200Dとの通信を終了する。
一方、ステップS104において、通信を開始したロボット200Dが作業プログラムPDを保持している場合、すなわち、ロボット200Dがどの作業にも従事していない場合や、ステップS110において、ロボット200Dのロボット200Aとしての作業が完了している場合、作業管理コントローラー400Aは、ステップS116、S117として、作業計画を確認し、部品Aの搬送作業をロボット200Dで補助する必要があるか否かを確認する。つまり、ロボット200Dへの部品Aの搬送作業依頼の有無を確認する。
部品Aの搬送作業の補助が必要な場合、作業管理コントローラー400Aは、ステップS118として、ロボット200Dに部品Aの搬送作業を依頼する。具体的には、ロボット200Dに作業プログラムPAを移入する。このステップS118が完了すると前述したステップS111に進む。一方、部品Aの搬送作業の補助を必要としていない場合、作業管理コントローラー400Aは、ステップS119として、ロボット200Dに作業プログラムPAの削除を依頼する。これにより、ロボット200Dは、初期状態に戻り、作業プログラムPDに基づいて作動する。このステップS119が完了すると、作業管理コントローラー400Aは、ステップS115として、ロボット200Dとの通信を終了する。
次に、更新作業プログラムPAAの更新処理の一例を図5に示すフローチャートに基づいて説明する。
まず、作業管理コントローラー400Aは、ステップS201、S202として、ロボット200Aとして作動するロボット200Dが保持する作業データの増加量が閾値を超えているか否かを確認する。すなわち、未収集の作業データの増加量が閾値を超えているか否かを確認する。作業データの増加量が閾値以上である場合、作業管理コントローラー400Aは、ステップS203として、増加分の作業データを収集し、収集した作業データに基づいて更新作業プログラムPAAを生成する。
そして、作業管理コントローラー400Aは、ステップS204として、生成した更新作業プログラムPAAをロボット200Dに移入する。すなわち、作業プログラムPAを最新バージョンに書き換える。ステップS204が完了すると、または、前述したステップS202で作業データの増加量が閾値未満であると判断された場合、作業管理コントローラー400Aは、ステップS205として、ロボット200Dに作業データが所定量蓄積されるまで、更新作業プログラムPAAの更新処理を一定時間停止する。
以上、作業管理コントローラー400Aの処理の一例について説明した。次に、ロボット200Dを部品Aの搬送作業に従事させる場合の処理の一例を図6に示すフローチャートに基づいて説明する。
まず、ロボット200Dは、ステップS301として、作業管理コントローラー400Aから作業プログラムPAが移入され、作業プログラムPAの実行を開始する。具体的には、ロボット200Dは、まず、ステップS302として、配膳トレイTの置き場に移動する。次に、ロボット200Dは、ステップS303として、ロボットアーム220で空の配膳トレイTをピックアップして、その配膳トレイTを載置台211に載置する。次に、ロボット200Dは、ステップS304として、部品Aが収容されているボックス110Aに移動する。次に、ロボット200Dは、ステップS305として、ボックス110Aから部品Aをピックアップし、その部品Aを配膳トレイT上に配膳する。また、ロボット200Dは、この際の作業データを蓄積する。このステップS305は、定めされた数の部品Aを配膳トレイT上に配膳するまで繰り返し行われる。
次に、ロボット200Dは、ステップS306として、作業台120まで移動する。次に、ロボット200Dは、ステップS307として、ロボットアーム220で配膳トレイTごと部品Aをピックアップし、その配膳トレイTを作業台120上に載置する。
以上のステップS302~S307を所定数の配膳トレイTを搬送し終えるまで繰り返すことにより、部品Aの搬送作業が終了する。次に、ロボット200Dは、ステップS308として、作業管理コントローラー400Aからの依頼を受けて、蓄積した作業データを作業管理コントローラー400Aに送信する。なお、この際、ロボット200Dは、作業管理コントローラー400Aと通信可能なエリアまで移動してもよい。次に、ロボット200Dは、ステップS309として、作業管理コントローラー400Aからの依頼を受けて、送信済みの作業データを削除する。
次に、ロボット200Dは、ステップS310、S311として、作業管理コントローラー400Aに、追加依頼の有無を問い合わせる。すなわち、部品Aの搬送を続けて実行するか、部品Aの搬送を終了するかを問い合わせる。追加依頼があれば、ロボット200Dは、ステップS301に戻って、S301~S310を繰り返す。反対に、追加依頼がなければ、ロボット200Dは、ステップS312として、作業管理コントローラー400Aからの依頼を受けて作業プログラムPAを削除する。
次に、ステップS305について、図7に示すフローチャートに基づいてより詳しく説明する。
ロボット200Dは、まず、ステップS401として、ボックス110A内の部品Aを画像認識する。次に、ロボット200Dは、ステップS402として、画像認識結果に基づいてハンド227で把持する1つの部品Aを決定し、その把持計画を作成する。次に、ロボット200Dは、ステップS403として、作成した把持計画に基づいてボックス110A内の部品Aをハンド227で把持する。次に、ロボット200Dは、ステップS404として、部品Aの把持状態を確認する。次に、ロボット200Dは、ステップS405として、載置台211上の配膳トレイTを画像認識する。次にロボット200Dは、ステップS406として、画像認識の結果に基づいて、ハンド227で把持した部品Aを配膳トレイTの所定位置に配膳する。次に、ロボット200Dは、ステップS407として、ステップS401~S406までの作業データを保存する。ロボット200Aは、以上のステップS401~S407を定められた数の部品Aを配膳トレイT上に配膳するまで繰り返す。以上、ステップS305について詳細に説明した。
以上のように、作業管理コントローラー400Aにより構成されたプログラム移送システムは、ロボット200Dと通信を行って通信結果を出力する通信部410と、通信結果によりロボット200Dが有する作業プログラムを確認し、この作業プログラムとは別の対象作業プログラムとしての作業プログラムPAを移入するか否かを判断する判断部420と、判断部420が作業プログラムPAをロボット200Dに移入すると判断したときに、作業プログラムPAをロボット200Dに移入するプログラム移入部450と、ロボット200Dから作業済の作業データを収集する収集部470と、収集部470が収集した作業データを用いて機械学習を行い、この機械学習の結果により作業プログラムPAを更新するプログラム更新部480と、を有する。このようなプログラム移送システムによれば、ロボット200D自身から収集した作業データを用いて機械学習を行い、その機械学習の結果により作業プログラムPAが更新されるため、更新作業が容易であり、かつ、更新されたより適切な更新作業プログラムPAAをロボット200Dに移入することができる。
また、前述したように、プログラム更新部480は、ロボット200Dから収集した作業データと、ロボット200Dとは別のロボット200から収集した作業データと、を用いて機械学習を行い、その機械学習の結果に基づいて作業プログラムPAを更新作業プログラムPAAに更新する。これにより、学習量が多くなり、その分、より精度の高い更新作業プログラムPAAを生成することができ、かつ、更新作業プログラムPAAの更新サイクルを短くすることもできる。
また、前述したように、収集部470による作業データの収集と、プログラム更新部480による作業プログラムPAの更新と、を繰り返す。これにより、部品Aの搬送作業に従事しているロボット200Dを最新の作業プログラムPAに維持することができ、当該ロボット200Dの作業効率が向上する。
また、前述したように、プログラム移送システムは、作業プログラムPAが確保(保持)していたロボット200Dのメモリー領域を解放する解放部440を有する。これにより、部品Aの搬送作業から解放されたロボット200Dを、他の遅れている作業の補助に当たらせることができ、作業全体の効率化を図ることができる。
また、前述したように、プログラム移送システムは、作業プログラムPAに対応する作業を作業計画通りに進めるために必要なロボット200Aの数の過不足を判断するロボット数判断部430を有する。このようなロボット数判断部430を有することにより、ロボット200Aの過不足を明確に判断することができる。
また、前述したように、プログラム移入部450は、判断部420がロボット数判断部430がロボット200Aの数が不足していると判断した場合に、作業プログラムPAをロボット200Dに移入する。これにより、ロボット200Dによって部品Aの搬送作業を補助することができ、当該作業の効率を高めることができる。また、ロボット200Aの数が足りているにも関わらず、ロボット200Dが部品Aの搬送作業を補助するのを防止でき、より多くのロボット200Dを他の作業を補助するために待機させることができる。
また、前述したように、プログラム移送システムは、ロボット200Dの作業状態を確認する作業状態確認部460を有する。これにより、ロボット200Dの制御をし易くなる。
また、前述したように、ロボットシステム1は、ロボット200Dと、上述のプログラム移送システムと、を有する。つまり、ロボットシステム1は、ロボット200Dと、ロボット200Dと通信を行って通信結果を出力する通信部410と、通信結果によりロボット200Dが有する作業プログラムを確認し、この作業プログラムとは別の対象作業プログラムとしての作業プログラムPAを移入するか否かを判断する判断部420と、判断部420が作業プログラムPAをロボット200Dに移入すると判断したときに、作業プログラムPAをロボット200Dに移入するプログラム移入部450と、ロボット200Dから作業済の作業データを収集する収集部470と、収集部470が収集した作業データを用いて機械学習を行い、この機械学習の結果により作業プログラムPAを更新するプログラム更新部480と、を有する。このようなロボットシステム1によれば、ロボット200D自身から収集した作業データを機械学習することにより作業プログラムPAが更新されるため、更新作業が容易であり、かつ、適切な作業プログラムPAをロボット200Dに移入することができる。
<第2実施形態>
図8は、第2実施形態に係るロボットシステムの構成を示すブロック図である。
本実施形態は、作業管理コントローラー400A~400Cの配置が異なること以外は、前述した第1実施形態と同様である。以下の説明では、本実施形態に関し、前述した実施形態との相違点を中心に説明し、同様の事項に関してはその説明を省略する。また、図8において、前述した実施形態と同様の構成については、同一符号を付している。作業管理コントローラー400A~400Cは、互いに同様の構成であるため、以下では、説明の便宜上、作業管理コントローラー400Aについて代表して説明し、作業管理コントローラー400B、400Cについてはその説明を省略する。
図8に示すように、本実施形態のロボットシステム1では、部品Aの搬送作業を行う複数のロボット200Aのうちの1つのロボット200Aがマスターロボット200A’として機能し、他のロボット200Aがマスターロボット200A’と通信可能なスレーブロボット200A”として機能する。そして、このマスターロボット200A’が作業管理コントローラー400Aを有する。
具体的には、マスターロボット200A’は、作業管理コントローラー400Aを構成する各部のうち、通信部410と、判断部420と、ロボット数判断部430と、解放部440と、プログラム移入部450と、作業状態確認部460と、収集部470と、を有し、これら各部がマスターロボット200A’に搭載されている。一方、作業管理コントローラー400Aを構成する各部のうちの残りのプログラム更新部480は、マスターロボット200A’には設けられておらず、例えば、工場100外の遠隔地に設置され、マスターロボット200A’とインターネット、LAN(ローカルエリアネットワーク)等を介して通信可能なサーバーSVが有している。サーバーSVは、コンピューターで構成されており、例えば、クラウドサーバー、フォグサーバー等を用いることができる。
以上のように、作業管理コントローラー400Aをマスターロボット200A’に搭載することにより、工場100内でマスターロボット200A’と共に作業管理コントローラー400Aを移動させることができる。そのため、例えば、今までとは作業場所を変えて作業を行う際にも、マスターロボット200A’を移動させるだけでスレーブロボット200A”やロボット200Dと共に当該作業を実行することができる。また、プログラム更新部480は、大量のデータを処理するために装置構成が大型化し易い。そのため、プログラム更新部480については、マスターロボット200A’に搭載せずにサーバーSVが有することにより、マスターロボット200A’の大型化および重量の増加を効果的に抑制することができる。また、サーバーSVによれば、設計自由度が高く、処理能力を簡単に高めることができる。
以上のように、作業管理コントローラー400Aで構成されるプログラム移送システムでは、通信部410、判断部420および収集部470は、作業プログラムPAが移入されるロボット200Dとは別のロボットであるマスターロボット200A’が有する。これにより、工場100内でマスターロボット200A’と共に作業管理コントローラー400Aを移動させることができる。そのため、例えば、今までとは作業場所を変えて作業を行う際にも、マスターロボット200A’を移動させるだけでスレーブロボット200A”やロボット200Dと共に当該作業を実行することができる。
また、前述したように、プログラム更新部480は、通信部410と通信可能なサーバーSVが有している。プログラム更新部480は、大量のデータを処理するために装置構成が大型化し易い。そのため、プログラム更新部480については、マスターロボット200A’に搭載せずにサーバーSVが有することにより、マスターロボット200A’の大型化および重量の増加を効果的に抑制することができる。また、サーバーSVによれば、設計自由度が高く、処理能力を簡単に高めることができる。
このような第2実施形態によっても、前述した第1実施形態と同様の効果を発揮することができる。
以上、本発明のプログラム移送システムおよびロボットシステムを図示の実施形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物が付加されていてもよい。また、本発明は、前記各実施形態のうちの、任意の2以上の構成を組み合わせたものであってもよい。
1…ロボットシステム、100…工場、110A、110B、110C…ボックス、120…作業台、190…棚、200、200A、200B、200C、200D…ロボット、200A’…マスターロボット、200A”…スレーブロボット、210…基台、211…載置台、220…ロボットアーム、221…第1アーム、222…第2アーム、223…第3アーム、224…第4アーム、225…第5アーム、226…第6アーム、227…ハンド、228…基部、229a、229b…爪部、230…移動機構、231…前輪、232…後輪、240…ロボット制御装置、250…カメラ、400A、400B、400C…作業管理コントローラー、410…通信部、420…判断部、430…ロボット数判断部、440…解放部、450…プログラム移入部、460…作業状態確認部、470…収集部、480…プログラム更新部、A、B、C…部品、PA、PB、PC、PD…作業プログラム、PAA…更新作業プログラム、S101~S119、S201~S205、S301~S312、S401~S407…ステップ、SV…サーバー、T…配膳トレイ

Claims (11)

  1. 第1作業プログラムに基づく第1作業を管理する第1作業管理コントローラーと、
    第2作業プログラムに基づく第2作業を管理する第2作業管理コントローラーと、
    前記第1作業管理コントローラーおよび第2作業管理コントローラーと通信可能な第1ロボットと、を備え、
    前記第1作業管理コントローラーは、
    前記第1ロボットと通信を行って第1通信結果を出力する第1通信部と、
    前記第1通信結果により前記第1ロボットが前記第1作業を行っているか否かを確認し、前記第1作業を行っていない場合に、前記第1ロボットに前記第1作業プログラムを移入するか否かを判断する第1判断部と、
    前記第1判断部が移入すると判断したときに、前記第1作業プログラムを前記第1ロボットに移入する第1プログラム移入部と、
    前記第1ロボットから作業済の前記第1作業に関する第1作業データを収集する第1収集部と、
    前記第1収集部が収集した前記第1作業データを用いて機械学習を行い、前記機械学習の結果により前記第1作業プログラムを更新する第1プログラム更新部と、を有し、
    前記第2作業管理コントローラーは、
    前記第1ロボットと通信を行って第2通信結果を出力する第2通信部と、
    前記第2通信結果により前記第1ロボットが前記第2作業を行っているか否かを確認し、前記第2作業を行っていない場合に、前記第1ロボットに前記第2作業プログラムを移入するか否かを判断する第2判断部と、
    前記第2判断部が移入すると判断したときに、前記第2作業プログラムを前記第1ロボットに移入する第2プログラム移入部と、
    前記第1ロボットから作業済の前記第2作業に関する第2作業データを収集する第2収集部と、
    前記第2収集部が収集した前記第2作業データを用いて前記機械学習を行い、前記機械学習の結果により前記第2作業プログラムを更新する第2プログラム更新部と、を有し、
    前記第1収集部は、前記第1収集部が収集した前記第1作業データを削除するように前記第1ロボットに指示を出し、
    前記第2収集部は、前記第2収集部が収集した前記第2作業データを削除するように前記第1ロボットに指示を出すことを特徴とするロボットシステム。
  2. 前記第1通信部、前記第1判断部および前記第1収集部は、前記第1作業プログラムが移入される前記第1ロボットとは別の第2ロボットが有する請求項1に記載のロボットシステム。
  3. 前記第1プログラム更新部は、前記第1通信部と通信可能なサーバーが有している請求項1または2に記載のロボットシステム。
  4. 前記第1プログラム更新部は、前記第1ロボットから収集した前記第1作業データと、前記第2ロボットから収集した作業データと、を用いて前記機械学習を行う請求項1ないし3のいずれか1項に記載のロボットシステム。
  5. 前記第1収集部による前記第1作業データの収集と、前記第1プログラム更新部による前記第1作業プログラムの更新と、を繰り返す請求項1ないし4のいずれか1項に記載のロボットシステム。
  6. 前記第1作業プログラムが保持している前記第1ロボットのメモリー領域を解放する解放部を有する請求項1ないし5のいずれか1項に記載のロボットシステム。
  7. 前記第1作業管理コントローラーは、前記第1作業プログラムに対応する作業を作業計画通りに進めるために必要なロボットの数の過不足を判断するロボット数判断部を有する請求項1ないし6のいずれか1項に記載のロボットシステム。
  8. 前記第1プログラム移入部は、前記第1判断部が前記ロボット数判断部が前記必要なロボットの数が不足していると判断した場合に、前記対象作業プログラムを前記第1ロボットに移入する請求項7に記載のロボットシステム。
  9. 前記第1作業管理コントローラーは、前記第1ロボットの作業状態を確認する作業状態確認部を有する請求項1ないし8のいずれか1項に記載のロボットシステム。
  10. 前記第2通信部、前記第2判断部および前記第2収集部は、前記第2作業プログラムが移入される前記第1ロボットとは別の第3ロボットが有する請求項1ないし9のいずれか1項に記載のロボットシステム。
  11. 前記第1ロボットは、前記第1作業および前記第2作業を行う作業領域の外側において周回または待機しており、前記第1プログラム移入部により前記第1作業プログラムを移入されることによって前記第1作業を行い、前記第2プログラム移入部により前記第2作業プログラムを移入されることによって前記第2作業を行う請求項1ないし10のいずれか1項に記載のロボットシステム。
JP2019138615A 2019-07-29 2019-07-29 プログラム移送システムおよびロボットシステム Active JP7415356B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2019138615A JP7415356B2 (ja) 2019-07-29 2019-07-29 プログラム移送システムおよびロボットシステム
CN202010732557.XA CN112298995A (zh) 2019-07-29 2020-07-27 程序转移系统以及机器人系统
US16/940,467 US11237819B2 (en) 2019-07-29 2020-07-28 Program transfer system performing machine learning for preceding robotic work data and robot system having the program transfer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019138615A JP7415356B2 (ja) 2019-07-29 2019-07-29 プログラム移送システムおよびロボットシステム

Publications (2)

Publication Number Publication Date
JP2021022187A JP2021022187A (ja) 2021-02-18
JP7415356B2 true JP7415356B2 (ja) 2024-01-17

Family

ID=74258699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019138615A Active JP7415356B2 (ja) 2019-07-29 2019-07-29 プログラム移送システムおよびロボットシステム

Country Status (3)

Country Link
US (1) US11237819B2 (ja)
JP (1) JP7415356B2 (ja)
CN (1) CN112298995A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742992B (zh) * 2021-04-19 2024-03-01 广东工业大学 基于深度学习的主从控制方法及应用

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2017117332A (ja) 2015-12-25 2017-06-29 ファナック株式会社 製造セルの作業の遅れを修正する製造管理装置
JP2017199077A (ja) 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ
JP2018043338A (ja) 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08174356A (ja) 1994-12-28 1996-07-09 Nissan Motor Co Ltd 部品組立装置
JP3196704B2 (ja) 1997-09-30 2001-08-06 松下電器産業株式会社 産業用ロボット
JP2001121461A (ja) 1999-10-26 2001-05-08 Denso Corp ロボットシステム
JP2005246543A (ja) 2004-03-04 2005-09-15 Yaskawa Electric Corp ロボットシステム
EP2286963B1 (en) * 2009-05-22 2019-05-15 Toyota Motor East Japan, Inc. Work-assisting robot system
US8584120B2 (en) * 2009-11-23 2013-11-12 Julian Michael Urbach Stream-based software application delivery and launching system
US8813076B2 (en) * 2011-11-17 2014-08-19 International Business Machines Corporation Virtual machine updates
DE102016009030B4 (de) * 2015-07-31 2019-05-09 Fanuc Corporation Vorrichtung für maschinelles Lernen, Robotersystem und maschinelles Lernsystem zum Lernen eines Werkstückaufnahmevorgangs
EP3409428B1 (en) * 2016-01-26 2024-02-14 Fuji Corporation Work system comprising a job creation device and a work robot control device
JP6603257B2 (ja) * 2017-03-31 2019-11-06 ファナック株式会社 行動情報学習装置、管理装置、ロボット制御システム及び行動情報学習方法
WO2019047018A1 (zh) * 2017-09-05 2019-03-14 深圳蓝胖子机器人有限公司 自动输送包裹的方法、系统、机器人及存储装置
CN208494999U (zh) * 2018-06-28 2019-02-15 北京京东尚科信息技术有限公司 货物分拣装置和货物分拣系统
KR102212352B1 (ko) * 2018-10-08 2021-02-04 국방과학연구소 로봇 제어 방법 및 장치
US20200167687A1 (en) * 2018-11-27 2020-05-28 Amazon Technologies, Inc. Simulation modeling exchange
WO2020140271A1 (zh) * 2019-01-04 2020-07-09 珊口(上海)智能科技有限公司 移动机器人的控制方法、装置、移动机器人及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017030135A (ja) 2015-07-31 2017-02-09 ファナック株式会社 ワークの取り出し動作を学習する機械学習装置、ロボットシステムおよび機械学習方法
JP2017117332A (ja) 2015-12-25 2017-06-29 ファナック株式会社 製造セルの作業の遅れを修正する製造管理装置
JP2017199077A (ja) 2016-04-25 2017-11-02 ファナック株式会社 複数台の産業機械を有する生産システムの動作を最適化するセルコントローラ
JP2018043338A (ja) 2016-09-16 2018-03-22 ファナック株式会社 ロボットの動作プログラムを学習する機械学習装置,ロボットシステムおよび機械学習方法

Also Published As

Publication number Publication date
JP2021022187A (ja) 2021-02-18
US11237819B2 (en) 2022-02-01
CN112298995A (zh) 2021-02-02
US20210034353A1 (en) 2021-02-04

Similar Documents

Publication Publication Date Title
JP6738112B2 (ja) ロボットシステムの制御装置及び制御方法
JP6717974B2 (ja) 車両のためのセンサ軌道計画
CN111730603B (zh) 机器人系统的控制装置以及控制方法
JP6811258B2 (ja) ロボット車両の位置測定
US10384870B2 (en) Method and device for order picking in warehouses largely by machine
KR101954554B1 (ko) 물리적 환경에서 로봇 디바이스들의 선단의 동작을 동적으로 관리하는 방법 및 시스템
JP4839487B2 (ja) ロボット及びタスク実行システム
AU2019404207A1 (en) Collaborative autonomous ground vehicle
JP2022501287A (ja) キッティングマシン
US9429951B2 (en) Transport management apparatus, transport system, and transport management program
KR20210077643A (ko) 개별 컵 제어를 갖는 지능형 그리퍼
JP2023093559A (ja) 仕分けシステム、移動ロボット、仕分けシステムの運転方法、コンピュータプログラム製品、及びコンピュータ可読媒体
JP7415356B2 (ja) プログラム移送システムおよびロボットシステム
JP2023168562A (ja) ハンドリングシステム
CN114072255A (zh) 移动机器人传感器配置
JP7069703B2 (ja) 自律移動ロボット
TW202333919A (zh) 控制多個機器人以協同地拾取及放置物品
WO2021070439A1 (ja) ロボット装置及びその制御方法
US20210116923A1 (en) Autonomous mobile vehicle
US11656923B2 (en) Systems and methods for inter-process communication within a robot
JP7318713B2 (ja) 搬送システム、制御装置、搬送方法及びプログラム
JP7078901B2 (ja) 制御システムおよび制御方法
JP7494433B2 (ja) 生産システム
JP7488384B1 (ja) 工具管理装置
JP7487552B2 (ja) 充電方法および充電システム

Legal Events

Date Code Title Description
RD07 Notification of extinguishment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7427

Effective date: 20200811

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210915

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220614

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230526

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231114

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20231121

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231218

R150 Certificate of patent or registration of utility model

Ref document number: 7415356

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150