JP2016159406A - ロボット制御装置、ロボット制御方法及びロボットシステム - Google Patents

ロボット制御装置、ロボット制御方法及びロボットシステム Download PDF

Info

Publication number
JP2016159406A
JP2016159406A JP2015041562A JP2015041562A JP2016159406A JP 2016159406 A JP2016159406 A JP 2016159406A JP 2015041562 A JP2015041562 A JP 2015041562A JP 2015041562 A JP2015041562 A JP 2015041562A JP 2016159406 A JP2016159406 A JP 2016159406A
Authority
JP
Japan
Prior art keywords
robot
accuracy
information
space
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015041562A
Other languages
English (en)
Inventor
大澤 弘幸
Hiroyuki Osawa
弘幸 大澤
小林 一彦
Kazuhiko Kobayashi
一彦 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2015041562A priority Critical patent/JP2016159406A/ja
Publication of JP2016159406A publication Critical patent/JP2016159406A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】対象物の計測精度とロボットの動作精度とを考慮したロボット動作計画を容易に決定する。
【解決手段】ロボット制御装置20は、対象物40に対して作業を実行するロボット装置10を制御する。ロボット制御装置20は、対象物40の位置姿勢を計測可能な計測手段である形状取得装置30の計測精度に関する情報と、ロボット装置10の動作精度に関する情報と、上記作業に関する情報とを取得する。また、ロボット制御装置20は、取得した情報に基づいて、ロボット装置10が作業を実行する空間を規定するためのロボット装置10の動作計画を決定する。
【選択図】 図1

Description

本発明は、対象物に対して作業を実行するロボットを制御するためのロボット制御装置、ロボット制御方法及びロボットシステムに関する。
近年のロボット技術の発展とともに、製品の組立作業や解体作業のような複雑なタスクを、人間の代わりにロボットが行うようになりつつある。このようなロボットは、ハンドなどのエンドエフェクタによって部品を把持するなどにより所定の作業を行う。
従来、ロボットによって対象物の把持等を行うロボットハンドリング装置として、特許文献1に記載の技術がある。この技術は、三次元視覚センサによって対象物の位置を検出し、検出した対象物の位置に基づいて、ロボットハンドを対象物の把持位置に位置決めし、対象物を把持するものである。
特許第3702257号公報
ところで、ロボットによる高精度な作業を実現するためには、ロボットの動作計画を適切に決定する必要がある。具体的には、センサによって対象物を高精度に計測できる空間範囲や、ロボットが高精度に動作することができる空間範囲を考慮して、ロボットが作業を実行する空間を規定する必要がある。しかしながら、上記特許文献1に記載の技術では、ユーザがプログラミングにより上記のような最適な動作計画を決定しなければならず、膨大な工数がかかる。
そこで、本発明は、対象物の計測精度とロボットの動作精度とを考慮した適切なロボット動作計画を容易に決定することを目的とする。
上記課題を解決するために、本発明に係るロボット制御装置の一態様は、対象物に対して作業を実行するロボットを制御するロボット制御装置であって、前記対象物の位置姿勢を計測可能な計測手段の計測精度に関する情報と、前記ロボットの動作精度に関する情報と、前記作業に関する情報とを取得する取得手段と、前記取得手段によって取得した情報に基づいて、前記ロボットが前記作業を実行する空間を規定するための前記ロボットの動作計画を決定する決定手段を備える。
本発明によれば、対象物の計測精度とロボットの動作精度とを考慮した適切なロボット動作計画を容易に決定することができる。
本実施形態のロボットシステムの一例を示す構成図である。 ロボット制御装置のハードウェア構成例を示す図である。 ロボット制御処理の流れを示すフローチャートである。 動作計画作成処理の流れを示すフローチャートである。 タスク情報及びジョブ情報の内容を示す図である。 ジョブ必要空間範囲について説明する図である。 精度保証範囲とジョブ必要空間範囲との関係を示す図である。 計測精度保証範囲とジョブ必要空間範囲との関係を示す図である。 本実施形態の応用例を説明するための図である。 本実施形態の応用例を説明するための図である。
以下、添付図面を参照して、本発明を実施するための形態について詳細に説明する。
なお、以下に説明する実施の形態は、本発明の実現手段としての一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
(第一の実施形態)
図1は、本実施形態におけるロボット制御装置を備えるロボットシステム100の構成例を示す図である。
ロボットシステム100は、ロボット装置10と、ロボット制御装置20と、形状取得装置30と、を備える。ロボット装置10は、第一のロボット装置11と第二のロボット装置12とを備える。これらロボット装置11及び12は、例えば多関節ロボットであり、ロボットの各関節の角度を変更することで手先部の位置姿勢を変更可能な位置姿勢変更機構をそれぞれ備える。位置姿勢変更機構は、電動モータによって駆動されてもよいし、油圧や空気圧等の流体圧で作動するアクチュエータによって駆動されてもよい。この位置姿勢変更機構は、ロボット制御装置20によって作成される動作指示情報をもとに駆動される。
さらに、各ロボット装置11及び12の手先部には、それぞれエンドエフェクタ13及び14が取り付けられている。エンドエフェクタ13及び14は、ロボット装置11及び12のワークの種類に応じた作業を実現するためのツールであり、例えばロボットハンド等である。当該ロボットハンドとしては、モータ駆動可能なチャック機構を有し物体を把持可能なハンドや、空気圧で物体を吸着する吸着パッドを用いたハンド等を用いることができる。なお、エンドエフェクタ13及び14は、アームに対して着脱可能に取り付けられており、ワークの種類に応じて交換可能である。なお、ロボット10は、多関節ロボットに限定されるものではなく、数値制御(Numerical Control:NC)可能な可動式の機械であってもよい。
本実施形態では、ロボット装置10が、例えば複写機の解体作業を行う場合について説明する。すなわち、ロボット装置10の作業対象となる対象物40は、例えばトナーカートリッジ等の容器である。当該トナーカートリッジには、複数のネジが部品として取り付けられている。ロボット装置10は、上記対象物40を把持して固定し、当該対象物40に取り付けられたネジを取り外す作業を実行するものとする。例えば、第一のロボット装置11は、対象物40を支持することを目的とする支持腕、第二のロボット装置12は、ネジを取り外す等の精密な作業を行うことを目的とする精密腕として機能する。この場合、第二のロボット装置12のエンドエフェクタ14は、ネジを取り外すためのドライバとなる。なお、ロボット装置10の作業はこれに限定されるものではない。
形状取得装置30は、対象物40の形状を示す情報を取得し、当該情報をロボット制御装置20へ出力する。形状取得装置30は、ロボット装置10に搭載してもよいし、他の作業機械に搭載してもよいし、更には所定の撮影対象空間の上空に固定配置してもよい。
形状取得装置30は、例えばプロジェクタ(投影手段)とカメラ(撮像手段)とを備え、三角測量の原理を用いて対象物40に関する三次元情報(距離画像や三次元点群データ)を取得する。すなわち、プロジェクタは、対象物40に対してパターン光を投射し、カメラは、当該パターン光が投射された対象物40の二次元画像を撮影する。形状取得装置30は、上記カメラで撮影した画像データをロボット制御装置20に出力する。ここで、パターン光としては、空間符号化法の幅の異なる複数の縞模様パターンや、複数の線パターンなどを利用することができる。なお、形状取得装置30は、対象物40の三次元情報および二次元画像を取得可能であれば、上記構成に限定されるものではない。
ロボット制御装置20は、ロボット装置10の動作計画を決定し、当該動作計画に基づいてロボット装置10を制御するロボット制御処理を実行する。本実施形態では、ロボット制御装置20は、形状取得装置30の対象物40の計測精度と、ロボット装置10(エンドエフェクタ14)の動作精度とを考慮した動作計画を決定する。具体的には、ロボット制御装置20は、上記計測精度と上記動作精度とに基づいて、ロボット装置10の作業を実行する空間を規定するための動作計画を決定する。本実施形態では、ロボット装置10は、形状取得装置30の計測精度保証範囲とロボット装置10の動作精度保証範囲とに、ロボット装置10の作業必要範囲が含まれるように、ロボット装置10の動作計画を決定する。
ここで、上記計測精度保証範囲とは、形状取得装置30が高精度に対象物40を計測できる空間範囲(計測精度が保証された範囲)である。また、上記動作精度保証範囲とは、ロボット装置10が高精度に動作できる空間範囲(動作精度が保証された範囲)である。さらに、上記作業必要範囲とは、ロボット装置10による作業の実行に必要な空間範囲である。このロボット制御装置20は、例えばパーソナルコンピュータ(PC)により構成されており、図1に示す各部201〜212を備える。
形状取得部201は、形状取得装置30が取得した対象物40の三次元情報及び二次元画像を取得し、これを位置姿勢計測部202に出力する。位置姿勢計測部202は、形状情報保持部203が予め保持する対象物40の形状モデルをもとに、対象物40の位置及び姿勢を計測する。ここで、上記形状モデルとしては、三次元CADに基づく三次元幾何モデルや、実際の対象物40もしくは対象物40を模した三次元幾何モデルを予め定められた複数の視点から見た参照画像モデル等が挙げられる。位置姿勢計測部202は、対象物40の位置姿勢情報を、状態保持部204に記録すると共に動作計画算出部205に出力する。
状態保持部204は、ロボット装置10の位置姿勢情報や、形状取得装置30の位置姿勢情報および計測パラメータ情報を保持する。ここで、計測パラメータ情報は、形状取得装置30の光学条件(視野角や焦点面までの距離等)や誤差情報等を含む。
動作計画算出部205は、位置姿勢計測部202が出力する対象物40の位置姿勢情報、状態保持部204が保持する各種情報、及び工程情報保持部206が保持する工程情報に基づいて、ロボット装置10の動作計画を算出する。ここで、工程情報は、ロボット装置10による対象物40への操作に関する情報(後述するタスク情報)を含む。
動作計画算出部205は、算出した動作計画を動作計画記憶部207に記憶すると共に、動作決定部208に出力する。動作計画の算出は処理工数がかかるため、一度算出した動作計画を動作計画記憶部207に記憶し参照可能とすることで、演算負荷を削減する。
動作決定部208は、動作計画算出部205が算出した動作計画に基づいて、ロボット装置11及び12の動作指令情報をそれぞれ作成する。そして、動作決定部208は、第一のロボット装置11の動作指令情報を第一のロボット制御部209に出力する。また、動作決定部208は、第二のロボット装置12の動作指令情報を第二のロボット制御部210に出力する。通知部211は、ロボット制御装置20の状態やロボット制御処理の処理結果等を使用者に通知する。通知の手段としては、例えばLEDランプやディスプレイ装置などを用いることができる。なお、上記の各部208〜211は、ロボット制御装置20に搭載されている必要はなく、別装置に搭載されていてもよい。
外部I/F部212は、第一のロボット制御部209が作成した動作指示情報を第一のロボット装置11に送信する。また、外部I/F部212は、第二のロボット制御部210が作成した動作指示情報を第二のロボット装置12に送信する。さらに、外部I/F部212は、形状取得装置30が取得した情報を受信し、これを形状取得部201へ送信する。
(ロボット制御装置20のハードウェア構成)
図2は、ロボット制御装置20のハードウェア構成の一例である。
ロボット制御装置20は、CPU21と、ROM22と、RAM23と、外部メモリ2 4と、入力部25と、表示部26と、通信I/F27と、システムバス28とを備える。
CPU21は、ロボット制御装置20における動作を統括的に制御するものであり、システムバス28を介して、各構成部(22〜27)を制御する。ROM22は、CPU21が処理を実行するために必要な制御プログラム等を記憶する不揮発性メモリである。なお、当該プログラムは、外部メモリ24や着脱可能な記憶媒体(不図示)に記憶されていてもよい。RAM23は、CPU21の主メモリ、ワークエリア等として機能する。すなわち、CPU21は、処理の実行に際してROM22から必要なプログラム等をRAM23にロードし、当該プログラム等を実行することで各種の機能動作を実現する。
外部メモリ24は、例えば、CPU21がプログラムを用いた処理を行う際に必要な各種データや各種情報等を記憶している。また、外部メモリ24には、例えば、CPU21がプログラム等を用いた処理を行うことにより得られた各種データや各種情報等が記憶される。入力部25は、例えばキーボードやマウス等のポインティングデバイスにより構成され、オペレータが入力部25を介して当該ロボット制御装置20に指示を与えることができるようになっている。表示部26は、液晶ディスプレイ(LCD)等のモニタで構成される。通信I/F27は、外部装置(図1では、ロボット装置10や形状取得装置30)と通信するためのインターフェースである。システムバス28は、CPU21、ROM22、RAM23、外部メモリ24、入力部25、表示部26及び通信I/F27を通信可能に接続する。
以下、ロボット制御装置20が実行する処理について具体的に説明する。
(ロボット制御処理)
図3は、ロボット制御装置20が実行するロボット制御処理手順を示すフローチャートである。図3に示される処理は、図2のCPU21が、ROM22もしくは外部メモリ24に格納されたプログラムを読み出して実行することにより実現される。ただし、図3の処理の一部または全部が、専用のハードウェアにより実現されてもよい。
先ずS1において、CPU21は、システムの初期化処理を行う。すなわち、ロボット装置10のロボットコントローラおよび他の接続機器との接続を初期化し、ロボット制御装置20のプログラムを実行可能な状態とする。
次にS2において、CPU21は、形状取得装置30を制御し、対象物40を計測する。そして、形状取得部201は、形状取得装置30から対象物40の三次元情報を取得する。次に、位置姿勢計測部202は、対象物40のパターンマッチング処理を行う。このとき、位置姿勢計測部202は、形状情報保持部203が保持する対象物40の形状モデルを参照し、例えばICP(Iterative Closest Point)アルゴリズム等によって対象物40の位置姿勢を算出する。位置姿勢計測部202は、算出した対象物40の位置姿勢情報を、動作計画算出部205に出力すると共に、状態保持部204に記録する。
S3では、動作計画算出部205は、ロボット装置10の動作計画を決定する動作計画決定処理を実施する。このS3において、動作計画算出部205は、工程情報保持部206から工程情報を取得し、ロボット装置10による対象物40への操作を実現するための動作計画を決定する。動作計画算出部205は、上記工程情報と、形状取得装置30の空間的な計測分解能である計測精度情報と、ロボット装置11及び12の空間的な制御精度である動作精度情報と基づいて上記動作計画を決定する。ここで、形状取得装置30の計測精度情報は、形状取得装置30の位置姿勢や計測パラメータ情報(光学条件や誤差情報)によって決まる。また、ロボット装置10の動作精度情報は、各ロボット装置11及び12の関節条件(関節角度、可動域等)や機械的誤差によって決まる。
動作計画算出部205は、対象物40への操作の実現に要するロボット装置10の作業必要範囲が、形状取得装置30の計測精度を保証する計測精度保証範囲と、ロボット装置10の動作精度を保証する動作精度保証範囲とに収まるように、上記動作計画を決定する。当該動作計画としては、例えばロボット装置11及び12のアームの移動開始点(座標)と移動終了点(座標)とを決定する。この動作計画決定処理については後で詳述する。
S4では、動作決定部208は、S3において決定した動作計画に基づいて、各ロボット装置11及び12の移動開始点から移動終了点までのアームの軌道制御や、ハンド部分の開閉制御などを実施するための動作指令情報を作成する。具体的には、動作決定部208は、各ロボット装置11及び12のアームの軌道計算を行い、当該アームの各関節の角度情報を時系列に算出する。軌道計算には、例えばRRT(Rapidly-exploring Random Tree)などのアルゴリズムを用いることができる。ここでは、予めわかっている障害物や、オンライン時に検出された障害物、対象物体40などの衝突を回避した軌道を算出できればよい。動作決定部208は、作成した動作指令情報を第一のロボット制御部209や第二のロボット制御部210へ出力する。これにより、ロボット装置10の動作指示が行われる。
S5では、CPU21は、ロボット装置10による操作(ジョブ)の動作計画がすべて完了したか否かを判定する。そして、完了していない場合には、動作計画の決定処理を継続すると判断してS2に戻り、完了している場合にはS6に移行する。S6では、CPU21は、所定のシステム終了処理(例えば、他の接続機器との接続の切断等)を実施してから図3に示す処理を終了する。
なお、本実施形態では、上記のS3において、通知部211が、精度に関する情報を表示部26に表示してもよい。例えば、通知部211は、ロボット装置10の作業必要範囲が形状取得装置10の計測精度保証範囲内に含まれているかどうか等を、3DのグラフィックスでロボットのCGに重畳して表現したものを表示部26に表示してもよい。これにより、ユーザによる状況確認が容易となる。
また、本実施形態では、形状取得装置30が三次元情報を取得し、当該三次元情報に基づいて対象物40の位置姿勢を計測しているが、これに限定されるものではない。例えば、二次元情報やその他の位置姿勢センサなどによる計測結果を用いて、対象物40の位置姿勢を計測してもよい。
(動作計画決定処理)
図4は、図3のS3において実行する動作計画決定処理手順を示すフローチャートである。先ずS301において、動作計画算出部205は、対象物40の位置姿勢情報を状態保持部204から取得する。ここで動作計画算出部205が取得する位置姿勢情報は、対象物40に取り付けられたネジ等、ロボット装置10の操作の実行の対象となる実行対象物の位置姿勢情報を含む。次にS302では、動作計画算出部205は、ロボット装置10が対象物40を把持しているか否かを判定する。そして、ロボット装置10が対象物40を把持していない場合にはS303に移行し、把持している場合にはS306に移行する。
ロボット装置10が対象物40を把持していない場合、動作計画算出部205は、S303〜S305において、第一のロボット装置11が対象物40を把持するための把持計画を決定する。
先ずS303において、動作計画算出部205は、第一のロボット装置11のアームの姿勢変化の軌道を算出する。当該軌道の算出には、例えばForce−Closure(力拘束)による把持姿勢評価を用いた経路計画アルゴリズム等を利用することができる。経路計画アルゴリズムとしては、例えばRRT等を利用することができる。次にS304では、動作計画算出部205は、S303において決定した把持姿勢に関する情報に基づいて、第一のロボット装置11による把持姿勢の開始位置と終了位置とを決定する。S305では、動作計画算出部205は、対象物40を把持するためのエンドエフェクタ13の開閉動作計画を算出する。このように、ロボット装置10が対象物40を把持していない場合、動作計画算出部205は、把持計画を決定して図3のメインルーチンに戻る。これにより、対象物40の把持が行われる。
また、上記のS302において、ロボット装置10が対象物40を把持していると判断された場合には、動作計画算出部205は、S306〜S315において、第二のロボット装置12が対象物40に対する操作を実行するための動作計画を決定する。
先ずS306において、動作計画算出部205は、過去に同じ対象物40に対する操作を行ったことがあるか否かを判定する。具体的には、動作計画算出部205は、動作計画記憶部207を参照し、過去のジョブ情報を確認する。そして、動作計画算出部205は、過去に同じジョブ情報を構築して実行したことがあるかどうかを確認する。
ここで、ジョブ情報について、図5を参照しながら説明する。この図5に示すように、ジョブ情報51は、n個(n≧1)のタスク情報50nの配列によって構成される。すなわち、対象物40へのジョブは、いくつかの所定の動作で構成されるタスクを少なくとも1つ実行することで実現される。
タスク情報50は、ロボット装置10の基本動作を示すものである。例えば、本実施形態の場合、「ドライバがネジに接触する」、「ドライバを回してネジを緩める」、「ドライバによってネジを保持する」といった特定のロボットの動作がタスクとなる。そして、これらの特定のロボットの動作であるタスクを組み合わせることで、「ネジを取り外す」といった1つのジョブを実現する。上記動作計画の算出は、このタスクの組み合わせを算出することを含む。工程情報保持部206は、工程情報として、さまざまなロボット動作に対応する複数のタスク情報50を保持している。
タスク情報50は、タスク名501、タスク必要精度502、タスク必要空間範囲503、対象物との相対位置姿勢504、タスク前状態505、タスク後状態506、タスク実行プログラム507、タスク実行時間508を含む。
タスク名501は、タスクを特定するためのユニークな名前である。タスク必要精度502は、このタスクを実行するために必要な精度がどの程度であるかを示す情報である。タスク必要空間範囲503は、このタスクを実行するために必要な空間がどの程度であるかを示す情報である。対象物との相対位置姿勢504は、このタスクを実行する際の開始地点となる位置姿勢を示している。タスク前状態505は、このタスクを実行する際に必要となる状態を示す状態情報である。タスク後状態506は、このタスクを実行したことによって変化する状態を示す状態情報である。タスク実行プログラム507は、このタスクを実行する際に呼び出されるプログラムを示している。タスク実行時間508は、このタスクを実行する際に必要となる時間を示している。
ジョブ情報51は、ジョブ名511、ジョブ必要精度512、ジョブ必要空間範囲513、対象物との相対位置姿勢514、ジョブ前状態515、ジョブ後状態516、ジョブ実行時間517、ジョブ評価値518、タスク情報配列519を含む。
ジョブ名511は、ジョブを特定するためのユニークな名前である。ジョブ必要精度512は、タスク情報配列519内のタスク情報で要求されているタスク必要精度502のうち最も高い精度の値である。ジョブ必要空間範囲513は、タスク情報配列519内のタスク情報で要求されているタスク必要空間範囲503のすべてのORを行った空間である。対象物との相対位置姿勢514は、タスク情報配列519内の最初のタスク情報の対象物との相対位置姿勢504の値である。ジョブ前状態515は、タスク情報配列519内の最初のタスク情報のタスク前状態505の状態情報である。ジョブ後状態516は、タスク情報配列519内の最後のタスク情報のタスク後状態506の状態情報である。ジョブ実行時間517は、タスク情報配列519内のすべてのタスク情報のタスク実行時間508の合計の値である。ジョブ評価値518は、ジョブ全体の効率を示す値である。タスク情報配列519は、このジョブ情報を構成するタスク情報50の配列である。
図4のS306では、動作計画算出部205は、動作計画記憶部207に記憶された過去のジョブ情報51の例えばジョブ名511を確認し、過去に同じジョブ情報51を構築して実行したことがあるかどうかを確認する。そして、動作計画算出部205は、過去に同じジョブ情報51を構築して実行したことがあると判断した場合には、S307に移行し、そのジョブ情報51を動作計画記憶部207から読み込む。一方、過去に同じジョブ情報51を構築していないと判断した場合にはS308に移行し、ジョブ情報51を生成する。
以下、S308におけるジョブ情報51の生成方法について説明する。
先ず、タスク情報配列519の生成方法について説明する。タスク情報配列519は、工程情報保持部206が保持している全てのタスク情報50の各種状態を参照し、条件を満たすタスク情報50を順番につなぐことで生成する。各タスク情報50には、タスク前状態505が存在する。タスク前状態505は、タスクを実行する際の前提になる状態を示す情報である。例えば、対象物40に実行対象物(本実施形態では、ネジ)が存在する状態を「SCREW_EXIST」、第二のロボット装置12が実行対象物を保持している状態を「SCREW_HOLD」などの文字列の配列で示すことができる。また、「対象物40を発見していない」という状態を「TONERBOTTLE_NO_EXIST」のように示すこともできる。このような状態を示す情報は、位置姿勢計測部202が上記文字列の配列によって状態保持部204に記録する。これにより、ロボットシステムの状態及びロボットシステムが捕捉している状態を把握することができる。
同様に、タスク後状態506も、タスクの実行により変化する状態の情報を文字列の配列で示すことができる。そこで、タスク情報配列519を生成する場合には、各タスク情報50のタスク前状態505とタスク後状態506とを比較し、タスク情報50の実行の順番を決定する。すなわち、タスク情報配列519の前段になるタスク情報50のタスク後状態506が、後段になるタスク情報50のタスク前状態505を内包するものを検索し、随時選択する。そして、最終目的状態であるジョブ後状態516が最後のタスク情報50のタスク後状態506に内包された時点で、タスク情報配列519の生成は完了する。なお、タスク情報50の検索の際に、複数のタスク情報50が選択可能となる場合がある。この場合は、タスク実行時間508を比較し、タスク実行時間508が最も短いタスク情報50を選択する。これにより、タクトタイムを最短にするタスク情報配列519を生成することができる。
タスク情報配列519の生成が完了すると、ジョブ必要精度512、ジョブ必要空間範囲513、対象物との相対位置姿勢514、ジョブ前状態515、ジョブ後状態516、ジョブ実行時間517、及びジョブ評価値518を決定することができる。以下、ジョブ必要空間範囲513とジョブ評価値518との決定方法について説明する。
ジョブ必要空間範囲513は、上述したように、このジョブを構成するタスクのタスク必要空間範囲503のすべてのORを行った空間である。例えば、ロボット装置12が実行する、ドライバを用いてネジを外すというジョブを、3つのタスクから構成するものとする。ここで、3つのタスクとは、図6(a)に示すネジに接近するタスク(SCREW_CONTACT)、図6(b)に示すネジを取り外すタスク(SCREW_REMOVE)、図6(c)に示すネジを保持するタスク(SCREW_HOLD)とする。
なお、図6では、対象物40にネジ41〜44が取り付けられており、当該対象物40をロボット装置11が把持しているものとする。また、この図6では、ロボット装置12がネジ41を取り外すジョブを実行する例について示している。
図6(a)のタスク「SCREW_CONTACT」においては、ロボット装置12のエンドエフェクタ14は、ネジ41から所定距離離れた位置から矢印71に示す方向に移動し、ネジ41にドライバを接触させる動作をする。このタスクを実行するために、空間641が必要となる。この空間641の範囲がタスク「SCREW_CONTACT」のタスク必要空間範囲となる。
また、図6(b)のタスク「SCREW_REMOVE」においては、ロボット装置12のエンドエフェクタ14は、ドライバを回しながら矢印72に示す方向に移動し、ネジ41を対象物40から外す動作をする。このタスクを実行するために、空間642が必要となる。この空間642の範囲がタスク「SCREW_REMOVE」のタスク必要空間範囲となる。更に、図6(c)のタスク「SCREW_HOLD」においては、ロボット装置12のエンドエフェクタ14は、ネジ41を保持した動作をする。このタスクを実行するために必要となる空間643の範囲が、タスク「SCREW_HOLD」のタスク必要空間範囲となる。
したがって、これら3つのタスクによって構成されるジョブに必要なジョブ必要空間範囲513は、3つのタスク必要空間範囲641〜643のORをとった空間となる。このようにして、ジョブ必要空間範囲513を決定することができる。
次に、ジョブ評価値518の決定方法について説明する。本実施形態においては、タスク情報配列519が生成された段階で、対象物との相対位置姿勢504からロボットの動作概略がわかる。そこで、ロボット装置10の開始点と終了点とを、対象物との相対位置姿勢504より推定し、そのときにかかるエンドエフェクタ14の移動距離をジョブ実行にかかるコストの概算値として算出し、これをジョブ評価値518とする。
ロボット装置10が動作する場合、障害物などのリアルタイムな環境情報等を加味して、障害物を避けながら、ロボットの動作計画を遂行するロボットの軌道情報が生成され、最終的なロボットの動作コストが算出できる。しかしながら、ロボットの動作計画算出後の段階では、この処理は演算コストが高い。そこで、本実施形態では、その代替として、上述したようにジョブ実行にかかるコストの概略値を算出し、ジョブ評価値518として利用する。したがって、高速にジョブ同士の効率の比較を行うことができる。なお、本実施形態においては、エンドエフェクタ14の移動距離をジョブ実行の評価関数としたが、他の比較指標を用いてもよい。
図4に戻って、S309では、動作計画算出部205は、対象物40に対する操作の実現に必要な作業必要範囲が、計測精度保証範囲及び動作精度保証範囲に入っているか否かを確認する。すなわち、図7に示すように、計測精度保証範囲61と動作精度保証範囲62とが重複する空間範囲である精度保証範囲63内に、ジョブ必要空間範囲64が含まれているか否かを判定する。ここで、ジョブ必要空間範囲64は、ジョブ情報51のジョブ必要空間範囲513から確認することができる。
計測精度保証範囲とは、形状取得装置30の光学条件などによって決定する空間的な領域である。形状取得装置30の測定精度は、形状取得装置30の光学条件や三角測量法による誤差等から決定される。形状取得装置30の光学条件とは、撮影を行うカメラや投光に使うプロジェクタのレンズの焦点距離や光学センサ(CCDやCMOS)の素子間隔、レンズの光学ズレ量やラジアルレンズ歪み、センサ歪み等の誤差要因などを含む。また、三角測量法による誤差とは、キャリブレーション誤差、カメラやプロジェクタの取り付け誤差などを含む。これらの精度決定要因から算出される空間的な精度(分解能)が、所定の基準値以下である空間を計測精度保証範囲とする。
また、動作精度保証範囲とは、ロボット装置12の関節条件や機械的誤差などによって決定する空間的な領域である。エンドエフェクタ14の空間的な制御精度は、ロボット装置12の関節の動作精度によって決まる。このような精度決定要因から算出される空間的な精度(制御誤差)が、所定の基準値以下である空間を動作精度保証範囲とする。
そして、精度保証範囲63が存在しない場合や、ジョブ実行空間範囲64が精度保証範囲63内に入っていない場合には、動作計画算出部205は、S310〜S312において、ジョブ実行空間範囲64を精度保証範囲63内に配置するためのロボット装置10の動作計画を算出する。
先ずS310では、動作計画算出部205は、ジョブ情報51からジョブ必要空間範囲を取得する。次にS311では、動作計画算出部205は、S310において取得したジョブ必要空間範囲を内包する精度保証範囲を算出する。このとき、動作計画算出部205は、実行すべき各タスクのタスク必要精度を考慮して精度保証範囲を算出する。具体的には、ジョブ必要空間範囲を構成する各タスク必要空間範囲が、それぞれ各タスクのタスク必要精度を満たす精度保証範囲内に配置されるようにする。
精度保証範囲の保証精度は、上述した基準値によって決定される。ここで、当該基準値を1つのみではなく複数設定すれば、保証精度の異なる精度保証範囲を段階的に設定することができる。例えば、図8に示すように、範囲611→612→613→614の順に段階的に保証精度が低下する計測精度保証範囲を設定することができる。ここで、例えば、範囲611の計測精度は0.1[mm]、範囲612の計測精度は1.0[mm]、範囲613の計測精度は2.0[mm]、範囲614の計測精度は3.0[mm]である。
また、1つのジョブを構成する各タスクのタスク必要精度はそれぞれ異なり得る。例えば、上述した3つのタスク「SCREW_CONTACT」、「SCREW_REMOVE」、「SCREW_HOLD」のタスク必要精度はそれぞれ異なる。例えば、タスク「SCREW_CONTACT」の必要精度は0.1[mm]、タスク「SCREW_REMOVE」の必要精度は1.0[mm]、タスク「SCREW_HOLD」の必要精度は2.0[mm]である。
したがって、この場合、ジョブ必要空間範囲の位置姿勢(対象物40の形状取得装置30に対する相対的な位置姿勢)は、タスク「SCREW_CONTACT」のタスク必要空間範囲641が、当該タスクのタスク必要精度を満たす範囲611内に入るような位置姿勢であればよい。また、タスク「SCREW_REMOVE」のタスク必要空間範囲642は、当該タスクのタスク必要精度を満たす範囲612内に入っていればよい。タスク「SCREW_HOLD」についても同様である。
つまり、ジョブ全体で、タスク「SCREW_CONTACT」で要求される精度が必要なわけではなく、各タスクに必要な精度がそれぞれ満たされていればよい。このように、要求される精度に応じて適切にジョブ必要空間範囲の位置姿勢を決定することができる。
なお、ここでは計測精度保証範囲とジョブ必要空間範囲との関係について説明したが、動作精度保証範囲とジョブ必要空間範囲との関係についても同様である。ロボット装置10の動作精度は、各ロボット装置11及び12の機械的誤差などから決定するが、複数の基準値を設定することで、動作精度保証範囲を段階的に設定することができる。最終的なロボット動作計画の算出は、計測精度保証範囲及び動作精度保証範囲とジョブ必要空間範囲とが、同時に満たされている必要がある。
以下、計測精度保証範囲と動作精度保証範囲とジョブ必要空間範囲との関係について述べる。上述したように、ジョブ必要空間範囲が、計測精度保証範囲及び動作精度保証範囲内に入ることで、精度を保証したロボットの動作計画を策定することができる。この条件は、次式で表すことができる。
G(d1,d2,a)=F(d1)+M(d2)+T(a) ………(1)
ここで、G(d1,d2,a)は、計測精度保証範囲と動作精度保証範囲とジョブ必要空間範囲との重なり合いの精度評価関数である。また、d1は、計測精度保証範囲を示す。F(d1)は、計測精度保証範囲d1において位置姿勢計測部202によって計測される対象物40の位置姿勢の精度を評価するための精度評価関数を示す。さらに、d2は、動作精度保証範囲を示す。そして、M(d2)は、動作精度保証範囲d2におけるロボット装置10の動作の精度を評価するための精度評価関数である。また、aは、ジョブ必要空間内での必要精度を示し、T(a)は、上記aの場所におけるジョブの必要精度を評価するための必要精度評価関数を示す。
本実施形態では、精度評価関数G(d1,d2,a)を最小化するd1,d2,aを決めることで、計測精度保証範囲と動作精度保証範囲とジョブ必要空間範囲とを、最適に空間に配置する。つまり、次式で表される最適化演算を行って、精度評価関数G(d1,d2,a)を最小化するd1,d2,aを決定する。
Figure 2016159406
このような最適化演算を実行することにより、計測精度と動作精度との保証精度が最も高い空間に必要精度が最も高い空間を配置するような、計測精度保証範囲、動作精度保証範囲及びジョブ必要空間範囲の位置姿勢を決定することができる。すなわち、上記条件を満たすジョブ必要空間範囲の位置姿勢と精度保証範囲の位置姿勢とを算出することができる。なお、この位置姿勢の算出には、モンテカルロ法等のサンプリング演算手法などを用いることもできる。
このように、精度評価関数による評価を行うことで、ジョブ必要空間範囲を、計測精度保証範囲及び動作精度保証範囲内に配置するためのロボットの動作計画を算出する。したがって、容易且つ適切にロボットの動作計画を算出することができる。なお、評価関数の算出に際し、ジョブ必要空間範囲や精度保証範囲の位置姿勢の実現に要するロボット(エンドエフェクタ)の移動距離や実行時間を考慮してもよい。これにより、タクトタイムを最短にするロボットの動作計画を算出することができる。
なお、本実施形態では、ロボット装置10の作業全てをジョブ必要空間範囲で示し、これが計測精度保証範囲及び動作精度保証範囲内に収まるように、ロボットの動作計画を作成している。しかしながら、ジョブ全体に対して精度を保証する必要がない場合には、タスクの一部分に対してのみジョブ必要空間範囲を割り振ってもよい。
動作計画算出部205は、上述したようにジョブ必要空間範囲の位置姿勢と精度保証範囲の位置姿勢とを算出すると、次に、これらを実現するための各ロボット装置11及び12の位置姿勢を算出する。すなわち、ジョブ必要空間範囲の位置姿勢を、上記条件を満たす位置姿勢とするための第一のロボット装置11の位置姿勢を算出する。また、精度保証範囲の位置姿勢(動作精度保証範囲の位置姿勢)を、上記条件を満たす位置姿勢とするための第二のロボット装置12の位置姿勢を算出する。
そして、図4のS312では、動作計画算出部205は、各ロボット装置11及び12の位置姿勢を、S311において算出した位置姿勢とするための各ロボット装置11及び12の開始位置と終了位置とを算出する。このように、動作計画算出部205は、最適な精度保証範囲を作成し、当該範囲内に最適にジョブ必要空間範囲を配置するための動作計画を決定して図3のメインルーチンに戻る。
また、動作計画算出部205は、S309において作業必要範囲が精度保証範囲内に含まれていると判断した場合、S313〜S315において、タスクを実行するためのロボット装置10の実行計画を作成する。
先ずS313では、動作計画算出部205は、実行すべきタスクを選択する。ここでは、動作計画算出部205は、状態保持部204から得られる対象物40や実行対象物(例えば、ネジ41〜44)と、タスク情報50のタスク前状態505とを比較し、実行すべきタスク情報50を選択する。次にS314では、動作計画算出部205は、S313において選択したタスク情報50の対象物との相対位置姿勢504を取得し、これをロボット装置10の開始位置として決定する。また、動作計画算出部205は、S313において選択したタスク情報50のタスク後状態506を取得し、これに基づいてロボット装置10の終了位置を決定する。そして、S315では、動作計画算出部205は、S313において選択したタスク情報50のタスク実行プログラム507を読み出し実行する。このように、動作計画算出部205は、タスクを実行するための動作計画を決定して図3のメインルーチンに戻る。
以上のように、本実施形態では、ロボット制御装置20は、形状取得装置30の計測精度に関する情報と、ロボット装置10の動作精度に関する情報と、ロボット装置10による作業に関する情報(ジョブ情報)とに基づいて動作計画を決定する。計測精度と動作精度とを考慮して、ロボット装置10が作業を実行する空間を規定するための動作計画を決定するので、ロボット装置10を高精度に作業させるための動作計画を決定することができる。したがって、ロボット装置10が作業(ジョブ)を実行したときの精度保証を実現することができる。また、このような動作計画を自動的に決定するので、ユーザによる教示工程を削減することができ、大幅な工数削減となる。
また、ロボット制御装置20は、計測精度と動作精度とが保証された精度保証範囲と、ロボットによる作業の実行に必要な作業必要範囲(ジョブ必要空間範囲)とをそれぞれ導出する。そして、ロボット制御装置20は、作業必要範囲が精度保証範囲内に配置されるような動作計画を導出する。したがって、ロボット装置10を常に計測精度と動作精度とが保証された範囲内で動作させるような動作計画を決定することができる。また、計測精度保証範囲と動作精度保証範囲とが重複する空間範囲を精度保証範囲とするので、適切に両精度が保証される空間範囲を導出することができる。
さらに、ロボット制御装置20は、作業に必要な精度を更に考慮して動作計画を導出する。すなわち、作業必要範囲が、ジョブに必要な精度を満たす精度保証範囲内に配置されるような動作計画を導出する。また、ジョブが複数のタスクを含んで構成されている場合には、各タスク必要空間が、それぞれ各タスクに必要な精度を満たす精度保証範囲内に配置されるような動作計画を導出する。このように、作業の精度情報を考慮するので、より適切な動作計画を決定することができる。特に、高精度が要求されるタスクと高精度が要求されないタスクとが混在し、ジョブ全体で高精度が要求されるわけではない場合などにも適切に対応することができる。
また、ロボット制御装置20は、精度評価関数による評価を行うことで動作計画を導出する。このように、評価関数による評価を行うため、容易且つ適切に動作計画の最適化を実現することができる。具体的には、上記(2)式に示す精度評価関数G(d1,d2,a)を最小化するような最適化計算を行うので、計測精度保証範囲と動作精度保証範囲とジョブ必要空間範囲とを、最適に空間に配置することができる。
さらに、ロボット制御装置20は、ジョブ必要空間範囲が精度保証範囲内に配置されるような動作計画を決定するに際し、ロボット装置10が備える複数のアーム(複数のロボット装置11及び12)の動作計画をそれぞれ決定する。例えば、ジョブ必要空間範囲の位置姿勢を、上記条件を満たす位置姿勢とするために、第一のロボット装置11の動作計画を決定する。また、精度保証範囲の位置姿勢(動作精度保証範囲の位置姿勢)を、上記条件を満たす位置姿勢とするために、第二のロボット装置12の動作計画を決定する。
このように、複数のロボット装置11及び12との協調動作をプランニングすることができる。また、ロボット制御装置20は、対象物40を支持する少なくとも支持腕と、当該支持腕が支持する対象物40に対して精密作業を実行する精密腕との動作計画をそれぞれ決定する。このように、機能の違う腕の協調動作を適切にプランニングすることができる。
(応用例1)
上記実施形態においては、第一のロボット装置11と第二のロボット装置12とを同時に動作させ、タスク動作を複数並列に実行するよう動作計画を決定することもできる。これにより、よりタクトタイムの少ない動作計画を生成することができ、ジョブの実行を高速で実現することができる。
以下、特定のタスク動作を複数並列に実行する手法について、図9を参照しながら説明する。この図9は、タスクの動作の並列動作に関して説明する図である。上述した図6との違いは、タスク「WORK_MOVE」が追加されている点であり、図9(a)に示す動作は図6(a)と同様である。したがって、ここでは処理の異なる部分を中心に説明する。
4つのネジ41〜44を順次取り外す処理を行う際、対象物40を第一のロボット装置11で固定したままであると、第二のロボット装置12のエンドエフェクタ14の動作だけで当該処理を実現しなければならない。そのため、エンドエフェクタ14の移動の時間の分だけ、タクトタイムが余分にかかってしまう。
そこで、図9(b)に示すように、タスク「SCREW_REMOVE」を実行しているときに(エンドエフェクタ14が矢印74で示される方向に移動しているときに)、タスク「WORK_MOVE」を並列に実行する。これにより、エンドエフェクタ14に必要であった移動時間(例えば、ネジ41の取り付け位置からネジ42の取り付け位置までの移動時間)を削減することができる。タスク「WORK_MOVE」は、矢印75で示される方向に対象物40が移動するように、第一のロボット装置11を移動させる動作である。このタスク「WORK_MOVE」を実行する際に必要になる空間範囲は、タスク必要空間範囲644である。
ここで、タスクの並列実行が可能となる条件は、並列実行するタスクのタスク必要空間範囲同士が重ならないことと、並列実行した場合に、上述したジョブ評価関数の値がより低くなること(エンドエフェクタ14の移動コストが低くなること)である。この条件の判定処理を、図4のS308に追加することで実現することができる。
また、タスク動作の並列実行は、タスク情報50を拡張することで対応可能である。すなわち、タスク情報50に、例えば「タスク並列実行」を追加する。これは、タスク並列実行のためのフラグであり、このフラグがONの場合は、動作計画算出部205はタスクの並列実行を実現するような動作計画を作成する。そして、第一のロボット制御部209及び第二のロボット制御部210が制御動作する際も、動作決定部208で出力された並列動作を考慮した軌道計画によって動作する。なお、この軌道計画の演算も、例えばRRTなどのアルゴリズムを用いることができる。
以上により、複数のロボット装置の腕を同時に動作させながら互いに協調するプログラミングを自動化することができる。したがって、開発にかかる開発工数を減少させ、よりタクトタイムのかからないロボットの動作計画を生成することができる。
(応用例2)
上記実施形態においては、計測精度保証範囲と対象物40の位置とから必要精度を満足しているかを判断することにより、余分な形状計測を減らし、タクトタイムをより低減できるように構成することもできる。以下、この点について、図10を参照しながら説明する。
図10(a)は、ネジ45を取り外すために、エンドエフェクタ14が矢印76の方向に移動してネジ45に接近するタスク「SCREW_CONTACT_1」を示している。また、図10(b)は、ネジ46を取り外すために、エンドエフェクタ14が矢印77の方向に移動してネジ46に接近するタスク「SCREW_CONTACT_2」を示している。ここでは、対象物40は、第一のロボット装置11によって固定されているものとする。タスク「SCREW_CONTACT_1」は、図10(a)に示すように、エンドエフェクタ14の位置姿勢精度を保証するために、形状取得装置30の計測精度保証範囲615内にネジ45が配置された状態で実行する。
次に、タスク「SCREW_CONTACT_2」を実行する場合、ネジ46の位置姿勢を形状取得装置30で取得する必要がある。このとき、ネジ46がネジ45よりも大きく、計測精度保証範囲616内に存在している場合、ネジ46の位置姿勢は、形状取得装置30によって計測されている。ここで、計測精度保証範囲616の必要精度は、計測精度保証範囲615の必要精度よりも低いが、タスク「SCREW_CONTACT_2」のタスク必要精度よりも高ければ、精度の問題は生じない。そのため、この場合には、図8(b)にて、タスク「SCREW_CONTACT_2」を実行する際に、形状取得装置30によるネジ46の位置姿勢の形状計測は省略することができる。
このように、要求精度の高いタスクと、要求精度の比較的低いタスクとが組み合わされている場合、形状計測の省略可能かどうかを判断し、できるだけ形状計測の頻度を低下させるようにする。これにより、ジョブ実行全体のタクトタイムを低減することができる。
また、他の方法として、対象物40等が位置出し治具等を用いることにより位置精度が保証できる場合にも、形状取得装置30によるネジ46の位置姿勢の形状計測を省略することができる。さらに、これらの精度を使用者に知らせるために、通知部211を用いて、段階的な精度を表示部26に表示してもよい。
以上により、形状計測の頻度を低下させ、よりタクトタイムのかからないロボットの動作計画を生成することができる。
(応用例3)
上記実施形態においては、複数のジョブの実行に際し、ジョブ間の動作の接続を考慮してロボットの動作計画を算出するようにしてもよい。この場合、図5に示すタスク情報50及びジョブ情報51に加え、動作計画記憶部207はジョブリスト情報を記憶するようにする。ここで、ジョブリスト情報は、ジョブ情報51と同様のデータ構造を有し、タスク情報50とジョブ情報51との関係性と同等の関係性を、ジョブ情報51との間で有する。つまり、ジョブリスト情報は、ジョブリスト名、ジョブリスト必要精度、ジョブリスト必要空間範囲、対象物との相対位置姿勢、ジョブリスト前情報、ジョブリスト後状態、ジョブリスト実行時間、ジョブリスト評価値、ジョブ情報配列などのメンバを持つデータ構造である。
ジョブの中で動作するロボットの動作は、特定ロボット動作(タスク)の順序を決定することで構成される。その結果、タスク情報配列が生成される。これと同様に、ジョブリストの中で動作するロボットの動作は、ジョブ情報の順序を決定することで構成することができる。このように、ジョブリスト情報は、ジョブ情報51と同様に構築することができる。すなわち、ジョブ情報配列は、タスク情報配列を生成する処理と同様の処理を行うことで生成することができる。なお、ジョブ間の動作に関して、上述したタスクの並列化やタスクの空間利用の最適化と同等の処理を、ジョブに対しても行うこともできる。その結果、ジョブ間の動作を最適化することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
10…ロボット装置、11…第一のロボット装置、12…第二のロボット装置、13,14…エンドエフェクタ、20…ロボット制御装置、201…形状取得部、202…位置姿勢計測部、203…形状情報保持部、204…状態保持部、205…動作計画算出部、206…工程情報保持部、207…動作計画記憶部、208…動作決定部、209…第一のロボット制御部、210…第二のロボット制御部、211…通知部、30…形状取得装置、40…対象物、100…ロボットシステム

Claims (16)

  1. 対象物に対して作業を実行するロボットを制御するロボット制御装置であって、
    前記対象物の位置姿勢を計測可能な計測手段の計測精度に関する情報と、前記ロボットの動作精度に関する情報と、前記作業に関する情報とを取得する取得手段と、
    前記取得手段によって取得した情報に基づいて、前記ロボットが前記作業を実行する空間を規定するための前記ロボットの動作計画を決定する決定手段を備えることを特徴とするロボット制御装置。
  2. 前記決定手段は、
    前記計測手段の計測精度に関する情報と、前記ロボットの動作精度に関する情報とに基づいて、前記計測精度と前記動作精度とが保証された精度保証空間を導出する第一の導出手段と、
    前記作業に関する情報に基づいて、前記ロボットによる前記作業の実行に必要な作業必要空間を導出する第二の導出手段と、
    前記作業必要空間が前記精度保証空間内に配置されるような前記動作計画を導出する第三の導出手段と、を備えることを特徴とする請求項1に記載のロボット制御装置。
  3. 前記作業に関する情報は、前記作業に必要な精度に関する情報を含み、
    前記第三の導出手段は、前記作業必要空間が、前記作業に必要な精度を満たす前記精度保証空間内に配置されるような前記動作計画を導出することを特徴とする請求項2に記載のロボット制御装置。
  4. 前記作業は、複数のタスクを含んで構成されており、
    前記第二の導出手段は、前記ロボットによる前記タスクの実行にそれぞれ要する複数のタスク必要空間を包括する空間を前記作業必要空間として導出し、
    前記第三の導出手段は、前記複数のタスク必要空間が、それぞれ各タスクに必要な精度を満たす前記精度保証空間内に配置されるような前記動作計画を導出することを特徴とする請求項3に記載のロボット制御装置。
  5. 前記第三の導出手段は、前記作業必要空間と前記精度保証空間との重なり空間を評価するための評価関数の最適化計算により、前記動作計画を導出することを特徴とする請求項2〜4のいずれか1項に記載のロボット制御装置。
  6. 前記第一の導出手段は、
    前記計測手段の計測精度に関する情報に基づいて、前記計測手段の計測精度が保証された計測精度保証空間を導出する第四の導出手段と、
    前記ロボットの動作精度に関する情報に基づいて、前記ロボットの動作精度が保証された動作精度保証空間を導出する第五の導出手段と、を備え、
    前記計測精度保証空間と前記動作精度保証空間とが重複する空間を前記精度保証空間として導出することを特徴とする請求項2〜5のいずれか1項に記載のロボット制御装置。
  7. 前記第四の導出手段は、前記計測手段の分解能を示す値が所定の第一の基準値以下となる空間を、前記計測精度保証空間として導出することを特徴とする請求項6に記載のロボット制御装置。
  8. 前記第四の導出手段は、複数の前記第一の基準値を用いて、保証精度の異なる前記計測精度保証空間を複数導出することを特徴とする請求項7に記載のロボット制御装置。
  9. 前記第五の導出手段は、前記ロボットの制御誤差を示す値が所定の第二の基準値以下となる空間を、前記動作精度保証空間として導出することを特徴とする請求項6〜8のいずれか1項に記載のロボット制御装置。
  10. 前記第五の導出手段は、複数の前記第二の基準値を用いて、保証精度の異なる前記動作精度保証空間を複数導出することを特徴とする請求項9に記載のロボット制御装置。
  11. 前記決定手段は、前記ロボットが備える複数の腕の動作計画をそれぞれ決定することを特徴とする請求項1〜10のいずれか1項に記載のロボット制御装置。
  12. 前記決定手段は、前記対象物を支持する少なくとも1本の支持腕、及び当該支持腕が支持する前記対象物に対して精密作業を実行する少なくとも1本の精密腕の動作計画をそれぞれ決定することを特徴とする請求項11に記載のロボット制御装置。
  13. 前記決定手段による前記ロボットの動作計画の決定状況をユーザに通知する通知制御手段をさらに備えることを特徴とする請求項1〜12に記載のロボット制御装置。
  14. 対象物に対して作業を実行するロボットを制御するロボット制御方法であって、
    前記対象物の位置姿勢を計測可能な計測手段の計測精度に関する情報と、前記ロボットの動作精度に関する情報と、前記作業に関する情報とを取得するステップと、
    取得した情報に基づいて、前記ロボットが前記作業を実行する空間を規定するための前記ロボットの動作計画を決定するステップと、を含むことを特徴とするロボット制御方法。
  15. ロボットと、
    前記請求項1〜13のいずれか1項に記載のロボット制御装置と、
    前記決定手段が決定した前記ロボットの動作計画に基づいて、前記ロボットを駆動制御する駆動制御手段と、を備えることを特徴とするロボットシステム。
  16. コンピュータを、前記請求項1〜13のいずれか1項に記載のロボット制御装置の各手段として機能させるためのプログラム。
JP2015041562A 2015-03-03 2015-03-03 ロボット制御装置、ロボット制御方法及びロボットシステム Pending JP2016159406A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015041562A JP2016159406A (ja) 2015-03-03 2015-03-03 ロボット制御装置、ロボット制御方法及びロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015041562A JP2016159406A (ja) 2015-03-03 2015-03-03 ロボット制御装置、ロボット制御方法及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2016159406A true JP2016159406A (ja) 2016-09-05

Family

ID=56845944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015041562A Pending JP2016159406A (ja) 2015-03-03 2015-03-03 ロボット制御装置、ロボット制御方法及びロボットシステム

Country Status (1)

Country Link
JP (1) JP2016159406A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018122409A (ja) * 2017-02-02 2018-08-09 トヨタ車体株式会社 ロボットの制御装置
CN108687760A (zh) * 2017-03-30 2018-10-23 株式会社安川电机 机器人动作指令生成方法以及机器人动作指令生成装置
JP2019077026A (ja) * 2017-10-19 2019-05-23 キヤノン株式会社 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
JP2019202408A (ja) * 2018-05-25 2019-11-28 富士通株式会社 情報処理装置、ロボット作業決定方法及びロボット作業決定プログラム
JPWO2021014532A1 (ja) * 2019-07-22 2021-01-28

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018122409A (ja) * 2017-02-02 2018-08-09 トヨタ車体株式会社 ロボットの制御装置
US11065764B2 (en) 2017-03-30 2021-07-20 Kabushiki Kaisha Yaskawa Denki Method of generating robot operation command and robot operation command generation device
CN108687760A (zh) * 2017-03-30 2018-10-23 株式会社安川电机 机器人动作指令生成方法以及机器人动作指令生成装置
JP2018167361A (ja) * 2017-03-30 2018-11-01 株式会社安川電機 ロボット動作指令生成方法、ロボット動作指令生成装置及びコンピュータプログラム
CN108687760B (zh) * 2017-03-30 2022-06-14 株式会社安川电机 机器人动作指令生成方法以及机器人动作指令生成装置
JP2019077026A (ja) * 2017-10-19 2019-05-23 キヤノン株式会社 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
JP7323993B2 (ja) 2017-10-19 2023-08-09 キヤノン株式会社 制御装置、ロボットシステム、制御装置の動作方法及びプログラム
JP7087675B2 (ja) 2018-05-25 2022-06-21 富士通株式会社 情報処理装置、ロボット作業決定方法及びロボット作業決定プログラム
JP2019202408A (ja) * 2018-05-25 2019-11-28 富士通株式会社 情報処理装置、ロボット作業決定方法及びロボット作業決定プログラム
WO2021014532A1 (ja) * 2019-07-22 2021-01-28 日本電気株式会社 情報処理装置、制御方法及び記憶媒体
JPWO2021014532A1 (ja) * 2019-07-22 2021-01-28
JP7205631B2 (ja) 2019-07-22 2023-01-17 日本電気株式会社 情報処理装置、制御方法及びプログラム
US12251842B2 (en) 2019-07-22 2025-03-18 Nec Corporation Information processing device, control method, and storage medium

Similar Documents

Publication Publication Date Title
US20230060472A1 (en) Teaching device, teaching method, and robot system
JP5144785B2 (ja) ロボットの着目部位と周辺物との干渉を予測する方法及び装置
US10551821B2 (en) Robot, robot control apparatus and robot system
JP4271232B2 (ja) ロボットのオフラインプログラミングを実行するための装置、方法、プログラム及び記録媒体
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP5365379B2 (ja) ロボットシステム及びロボットシステムのキャリブレーション方法
JP5670416B2 (ja) ロボットシステム表示装置
JP5872894B2 (ja) ロボット動作教示支援装置及び方法
US20050273202A1 (en) Method and device for improving the positioning accuracy of a manipulator
EP2375298A2 (en) Programming method for a robot, programming apparatus for a robot, and robot control system
CA3248455A1 (en) AUTONOMOUS ASSEMBLY ROBOTS
JP2008021092A (ja) ロボットシステムのシミュレーション装置
JP6825026B2 (ja) 情報処理装置、情報処理方法及びロボットシステム
JP2016159406A (ja) ロボット制御装置、ロボット制御方法及びロボットシステム
CN112743537B (zh) 注释装置
JP2023506050A (ja) 機械の少なくとも1つの動き及び少なくとも1つの活動をトレーニングするための手持ち式装置、システム、及び方法
KR100644174B1 (ko) 로봇 용접의 보정방법
JP2021059012A (ja) 情報処理装置、情報処理方法及びロボットシステム
CN116194252B (zh) 机器人系统
JP7249221B2 (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
JP7496936B2 (ja) 異なる座標フレーム間の制約を用いた較正の最適化
EP4094904B1 (en) Robot system control device, robot system control method, computer control program, and robot system
US20230264352A1 (en) Robot device for detecting interference of constituent member of robot
Chalus et al. Calibration and using a laser profile scanner for 3D robotic welding
JP7450857B2 (ja) 計測パラメータの最適化方法及び装置、並びに、コンピュータ制御プログラム