JP6895086B2 - ロボットの制御装置、制御方法及びプログラム - Google Patents

ロボットの制御装置、制御方法及びプログラム Download PDF

Info

Publication number
JP6895086B2
JP6895086B2 JP2018043294A JP2018043294A JP6895086B2 JP 6895086 B2 JP6895086 B2 JP 6895086B2 JP 2018043294 A JP2018043294 A JP 2018043294A JP 2018043294 A JP2018043294 A JP 2018043294A JP 6895086 B2 JP6895086 B2 JP 6895086B2
Authority
JP
Japan
Prior art keywords
posture
gripping
robot
candidates
gripping posture
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
JP2018043294A
Other languages
English (en)
Other versions
JP2019155509A (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.)
Omron Corp
Original Assignee
Omron 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 Omron Corp filed Critical Omron Corp
Priority to JP2018043294A priority Critical patent/JP6895086B2/ja
Publication of JP2019155509A publication Critical patent/JP2019155509A/ja
Application granted granted Critical
Publication of JP6895086B2 publication Critical patent/JP6895086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本開示は、ロボットの制御装置、制御方法及びプログラムに関する。
従来から、ロボットに動作の始点となる初期の姿勢(初期姿勢)と動作の終点となる目標の姿勢(目標姿勢)を与え、当該初期姿勢から目標姿勢までの間のモーションを自動的に生成する手法が知られている。
特許文献1には、移動体が把持対象物を把持して運搬するために、当該移動体の移動経路を探索する経路探索装置において、把持位置の候補が複数入力されると、順次、初期位置と把持位置の各候補とを結ぶ移動経路の生成を試み、移動経路の生成に成功した候補の中から把持位置を決定することが記載されている。
特許第5962560号
ロボットを初期位置から目標位置まで移動させる移動経路や、ロボットを初期姿勢から目標姿勢まで動作させるモーションを自動的に生成する処理には、様々な手法を用いることができるが、計算負荷が低く、移動経路やモーション生成の算出可能性の高い手法が比較的よく用いられている。しかしそれらの手法においても、ロボットの初期姿勢と目標姿勢によっては、モーション生成が完了するまでの処理時間が長くかかる場合がある。
そのため、特許文献1に記載された経路探索装置では、把持位置の候補が複数ある場合に、把持位置の候補ごとに、移動経路の生成処理を並行して実行することにより、全体として処理時間を短縮しようとするものであるが、移動経路の生成処理を並行して同時に実行するため、移動経路を生成するための計算負荷が高くなっていた。
そこで、本発明は、ロボットが把持対象物を把持するための把持姿勢の候補が複数あるときに、モーション生成処理を並行して実行することなく、モーション生成の処理時間を短縮できる技術を提供する。
本開示の一態様に係る制御装置は、ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御する。この制御装置は、ロボットが把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部と、複数の把持姿勢の候補のそれぞれと、ロボットの初期姿勢とに基づいて、複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部と、初期姿勢から選択された把持姿勢までの間のロボットのモーションを生成するモーション生成部と、を備える。
この態様によれば、把持対象物の把持姿勢を決定する際に、少なくとも初期姿勢と把持姿勢候補とに基づいて各把持姿勢候補を評価することによって、複数の把持姿勢候補の中から適切な把持姿勢を選択することができる。これにより、モーション生成処理を実行することなく、初期姿勢から把持姿勢までの間のモーション生成に要する処理時間を短縮することができる。
なお、本開示において、「モーション」とは、ロボットが動作を開始する始点となる姿勢(以下「開始姿勢」ともいう。)から、動作を終了する終点となる姿勢(以下「終了姿勢」ともいう。)までの動作のことを言うものであるが、当該動作によってロボットが開始姿勢から終了姿勢に至るまでの経路を示すこともある。また、「動作計画」ないし「経路計画」とは、ロボットの開始姿勢と終了姿勢が与えられたときに、実空間上でロボット自身や障害物と干渉することなく、開始姿勢から終了姿勢まで動作するための指令値を作成することである。
また、ロボットは制御用のパラメータを与えられることにより動作する。例えば、多関節ロボットの場合、各ジョイントの角度が制御用パラメータとして与えられることにより、ロボットは動作する。本開示において、ロボットの「姿勢」とは、ロボットに制御用パラメータ(多関節ロボットならば各ジョイントの角度)が与えられたときのロボットの幾何的な体勢のことを言う。また、ロボットにある姿勢をとらせるための制御用パラメータの集合のこと、「姿勢」と呼ぶこともある。
本開示の他の態様に係る制御装置は、ロボットが把持対象物を把持して所定の配置位置まで運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御する。この制御装置は、ロボットが把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部と、複数の把持姿勢の候補のそれぞれと、ロボットの初期姿勢及び把持対象物を配置位置に配置することのできる配置姿勢とに基づいて、複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部と、初期姿勢から選択された把持姿勢までの間のロボットのモーションを生成し、さらに、選択された把持姿勢から配置姿勢までの間のロボットのモーションを生成するモーション生成部と、を備える。
この態様によれば、把持対象物の把持姿勢を選択する際に、少なくとも初期姿勢と把持姿勢候補と配置姿勢とに基づいて各把持姿勢候補を評価することによって、複数の把持姿勢候補の中から適切な把持姿勢候補を選択することができる。これにより、モーション生成処理を実行することなく、初期姿勢から把持姿勢を経て配置姿勢に至るまでの間のモーション生成に要する処理時間を短縮することができる。
上記各態様において、初期姿勢と複数の把持姿勢の候補とに基づいて中間姿勢を生成する中間姿勢生成部をさらに備え、把持姿勢選択部は、初期姿勢に基づく評価からは把持姿勢を選択することができなかったとき、初期姿勢にかえて中間姿勢を用いて、複数の把持姿勢の候補のそれぞれと中間姿勢とに基づいて、複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、複数の把持姿勢の候補の中から把持姿勢を選択してもよい。
この態様によれば中間姿勢を用いて複数の把持姿勢の候補を評価することにより、適切な把持姿勢を選択することができる。これにより、初期姿勢からは適切な把持姿勢を選択できない場合であっても、適切な把持姿勢候補を絞り込むことができるため、初期姿勢から適切な把持姿勢までのモーションをより確実に生成することができるようになる。
上記各態様において、ロボットが有する各軸の速度を含む仕様情報を格納するロボット仕様データ保持部をさらに備え、把持姿勢選択部は、ロボット仕様データ保持部に格納された仕様情報を用いて、ロボットの動作時間も考慮して前記複数の把持姿勢の候補を評価してもよい。
この態様によればロボットが有する各軸の速度を含む仕様情報を用いて把持姿勢を選択することにより、ロボットの動作時間も考慮したモーションを生成できるようになる。
上記各態様において、初期姿勢として、ロボットから取得した前記ロボットの現在の姿勢を用いてもよい。
この態様によれば、ロボットの現在の姿勢を初期姿勢として使用することで、実用性を損ねずにユーザの入力の負担を減らすことができる。
上記各態様において、ロボットのエンドエフェクタと当該エンドエフェクタによって把持される把持対象物との相対的な関係を格納する把持情報保持部と、センサから取得された把持対象物の位置及び向きと、前記把持情報保持部に格納された前記エンドエフェクタと前記把持対象物との相対的な関係とに基づいて、把持姿勢の候補を複数算出して、前記把持姿勢受付部に渡す把持姿勢算出部と、をさらに備えてもよい。
この態様によれば、把持姿勢の候補が、把持情報保持部に登録されたエンドエフェクタと把持対象物との相対的関係と当該把持対象物の位置及び向きとに基づいて算出されるため、実用性を損ねずにユーザの入力の負担を減らすことができる。
上記各態様において、ロボットはシミュレータであってもよい。この態様によれば、ロボット実機が無くてもモーションを作成することができる。
本開示の一態様に係る制御方法は、ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいてロボットを制御するための制御装置による制御方法である。この方法は、ロボットが把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、複数の把持姿勢の候補のそれぞれと、ロボットの初期姿勢とに基づいて、複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、複数の把持姿勢の候補の中から把持姿勢を選択するステップと、初期姿勢から選択された把持姿勢までの間のロボットのモーションを生成するステップと、を備える。
この態様によれば、把持対象物の把持姿勢を決定する際に、少なくとも初期姿勢と把持姿勢候補とに基づいて各把持姿勢候補を評価することによって、複数の把持姿勢候補の中から適切な把持姿勢を選択することができる。これにより、モーション生成処理を実行することなく、初期姿勢から把持姿勢までの間のモーション生成に要する処理時間を短縮することができる。
本開示の一態様に係るプログラムは、ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御するためのコンピュータに、ロボットが把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、複数の把持姿勢の候補のそれぞれと、ロボットの初期姿勢とに基づいて、複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、複数の把持姿勢の候補の中から把持姿勢を選択するステップと、初期姿勢から選択された把持姿勢までの間のロボットのモーションを生成するステップと、を実行させる。
この態様によれば、把持対象物の把持姿勢を決定する際に、少なくとも初期姿勢と把持姿勢候補とに基づいて各把持姿勢候補を評価することによって、複数の把持姿勢候補の中から適切な把持姿勢を選択することができる。これにより、モーション生成処理を実行することなく、初期姿勢から把持姿勢までの間のモーション生成に要する処理時間を短縮することができる。
本発明によれば、ロボットが把持対象物を把持するための把持姿勢の候補が複数あるときに、モーション生成処理を並行して実行することなく、モーション生成の処理時間を短縮できる技術を提供することができる。
本実施形態に係るロボット制御システム1の概略構成を示す図である。 第1実施形態に係る制御装置10のハードウェア構成の一例を示す図である。 第1実施形態に係る制御装置10の機能ブロックの一例を示す図である。 初期姿勢に対して、把持姿勢候補が2つある場合を例示した図である。 初期姿勢と把持姿勢候補をコンフィギュレーション空間上にサンプリングした図である。 初期姿勢に対して、把持姿勢候補が2つあり、ワーク把持後に配置位置まで運搬する場合を例示した図である。 初期姿勢と把持姿勢候補と配置姿勢とをコンフィギュレーション空間上にサンプリングした図である。 第1実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。 第2実施形態に係る制御装置10の機能ブロックの一例を示す図である。 第2実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。 第3実施形態に係る制御装置10の機能ブロックの一例を示す図である。 初期姿勢と把持姿勢の2つの候補とをコンフィギュレーション空間上にサンプリングした図である。 第3実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。 第4実施形態に係る制御装置10の機能ブロックの一例を示す図である。 第4実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。 第5実施形態に係る制御装置10の機能ブロックの一例を示す図である。 第5実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。
以下、本発明の一側面に係る実施の形態を図面に基づいて説明する。本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更又は改良され得るととともに、本発明には、その等価物も含まれる。なお、同一符号は、同一の構成要素を示すものとし、重複する説明は省略する。
§1 適用例
まず、図1を用いて、本発明が適用される場面の一例について説明する。図1は、本実施形態(以下「第1実施形態」ともいう。)に係るロボット制御システム1の概略構成を示す図である。同図に示すとおり、ロボット制御システム1は、制御装置10と、制御装置10により制御されるロボット20とを備える。
制御装置10は、ロボット20の動作を制御するコンピュータシステムである。制御装置10は、例えば、ロボット20がワークを把持して運搬するためのモーションを生成し、当該モーションに基づいてロボット20を制御するものであってよい。制御装置10の詳細は後述する。
ロボット20は、例えば、多関節ロボット、直交ロボット、又はパラレルリンクロボットなどのロボットであってよいが、これに限られない。ロボット20は、自律的に動作するマニピュレータとして動作し、例えば、部品の組み立て、搬送、塗装、検査、研磨、又は洗浄などの用途に用いることができるものであってよい。
本実施形態において、制御装置10は、ロボット20の初期姿勢と目標姿勢が与えられたとき、当該初期姿勢から目標姿勢までの間のモーションを生成する。本実施形態では、初期姿勢から目標姿勢に至る動作の途中において、ロボット20が取り得る姿勢の候補(以下「候補姿勢」ともいう。)が複数与えられたとき、制御装置10は、複数の候補姿勢をそれぞれ評価し、評価結果に基づいて、どの候補姿勢を選択することが適切であるかを、モーション生成処理を実行する前に判断する。制御装置10は、このようにして選択された候補姿勢を用いて、初期姿勢から、選択された候補姿勢を経て目標姿勢に至るまでの間のモーションを生成する。
ここで、複数の候補姿勢は、初期姿勢から目標姿勢に至る動作の途中に限られず、目標姿勢が複数の候補姿勢を含んでもよいし、また、初期姿勢が複数の候補姿勢を含んでもよい。目標姿勢が複数の候補姿勢を含む場合、制御装置10は、複数の候補姿勢の中から選択された候補姿勢を目標姿勢とし、初期姿勢から選択された候補姿勢に至るまでのモーションを生成する。また、初期姿勢が複数の候補姿勢を含む場合、制御装置10は、選択された候補姿勢を初期姿勢とし、そこから目標姿勢に至るまでのモーションを生成する。
次に、候補姿勢の評価について説明する。本実施形態において、制御装置10は、少なくともロボット20の姿勢を引数として含む所定の評価関数に基づいて、当該候補姿勢の評価値を算出することによって、各候補姿勢を評価してよい。例えば、制御装置10は、初期姿勢と候補姿勢と目標姿勢とを引数とする評価関数に基づいて、各候補姿勢の評価値を算出し、評価値が所定の基準を満たす候補姿勢を適切な姿勢であると判断し、選択してよい。また、別の評価の例として、初期姿勢と候補姿勢を引数とする第1の評価関数及び当該候補姿勢と目標姿勢を引数とする第2の評価関数に基づいて、各候補姿勢の第1及び第2の評価値を算出し、これらが所定の基準を満たす候補姿勢を、適切な姿勢であると判断し、選択してもよい。なお、目標姿勢が複数の候補姿勢を含む場合は、第1の評価関数を利用すればよく、初期姿勢が複数の候補姿勢を含む場合は、第2の評価関数を利用すればよい。また、評価関数は、例えば、より適切な候補姿勢の評価値が低くなるものであってもよいが、これに限らず、種々の評価関数を用いることができる。
評価関数は、例えば、初期姿勢と候補姿勢の間のノルム及び候補姿勢と目標姿勢の間のノルムを含むものであってよい。ここで、ノルムとは、コンフィギュレーション空間を含む所定のベクトル空間における姿勢間の距離を与える任意の関数であってよい。なお、ここでいう「距離」は、ユークリッド距離に限られない。「コンフィギュレーション」とはロボットの姿勢のことであり、ロボットに制御用パラメータが与えられたときのロボットの幾何的な体勢、または、ロボットにある姿勢をとらせるための制御用パラメータの集合のことであり、これら制御パラメータを自由度ごとに座標軸にとったベクトル空間のことをコンフィギュレーション空間と呼ぶ。また、評価関数は、所定の姿勢でワークを把持する際の把持の成功率、初期姿勢から目標姿勢までの動作の処理時間、その他任意の観点に基づく所定の評価をすることのできる関数を採用してよい。また、評価関数は、ロボット20の仕様に関する情報(例えば、各ジョイントの回転速度や可動域等)を引数として含んでもよい。
これにより、例えば、制御装置10は、把持姿勢の候補が複数与えられたとき、ロボット20の初期姿勢と把持姿勢候補とに基づいて、各把持姿勢候補を、姿勢間のコンフィギュレーション空間中の距離などを用いて、把持の成功率、処理時間等の観点に基づく所定の評価をすることにより、モーション生成処理を実行することなく、適切な把持姿勢を選択することができる。その後、制御装置10は、選択された把持姿勢を用いて、モーションを生成する。
なお、複数の候補姿勢は、離散的に与えられてもよいし、連続的に与えられてもよい。また、初期姿勢から目標姿勢に至るまでの間に、複数の候補姿勢が、複数セット与えられてもよい。例えば、複数の候補姿勢が2セット与えられる場合、制御装置10は、まず、所定の評価関数に基づいて、第1のセットの中から第1の候補姿勢を選択し、第2のセットの中から第2の候補姿勢を選択する。その後、制御装置10は、初期姿勢から、選択された第1の候補姿勢及び第2の候補姿勢を経て目標姿勢に至るまでの間のモーションを生成する。
ここで、ワークは、本発明の「把持対象物」の一例である。候補姿勢は、本発明の「把持姿勢の候補」の一例である。目標姿勢は、本発明の「配置姿勢」の一例であってもよいし、目標姿勢は「配置姿勢」を含む概念であると考えてもよい。
§2 構成例
<ロボット20の構成>
図1に示すように、第1実施形態において、ロボット20は、ベース22と、ワークを把持するためのエンドエフェクタ24と、ベース22とエンドエフェクタ24を接続するアーム26とを備えるものとする。アーム26は、複数のリンクLk(kは自然数)と、リンク同士を連結する複数のジョイントJi(iは自然数)により構成される。リンクLkには、ジョイントJiを駆動するための図示しないモータが内蔵され、後述するモーション生成部150からロボット20に対して出力される制御信号に基づいて制御される。また、各ジョイントJiには、回転角度等を検出するための図示しない角度センサが内蔵されていてもよく、計測された角度値等は、制御装置10に対して出力される構成となっている。
エンドエフェクタ24は、アーム26の先端に取り付けられており、指状の把持具を開閉させることによりワークを把持できるように構成されている。エンドエフェクタ24は複数の指の開閉による把持機構を持つグリッパのほか、ワークを吸着する機構を持つものやそれらの機構の組み合わせによるもの、または特別な機構を持たなくとも、たとえば針や板状の治具等によってワークを保持できるものであってもよい。また、ロボット20上又はロボット20の周辺に、後述するセンサ30(例えば、カメラ等)を設けて、ワークを検出できるようにしてもよい。
なお、ロボット20は、ファクトリーオートメーションに用いられる産業ロボットに限定されるものではなく、例えば、サービス業に用いられるロボット(例えば、オペレーティングロボット、医療用ロボット、掃除ロボット、レスキューロボット、セキュリティロボットなど)やその他のロボットであってもよい。また、実際の作業に用いられるロボット実機のかわりに、シミュレータの中に設定された仮想のロボットであってもよい。シミュレータを用いて、モーションを確定するための試行演習をする際に、本実施形態に係る把持姿勢選択手法を適用して、最適なモーションを効率良く生成することが可能である。
<制御装置10のハードウェア構成>
図2は、第1実施形態に係る制御装置10のハードウェア構成の一例を示す図である。同図に示すとおり、制御装置10は、その物理的構成として、入力装置11と、表示部12と、外部インタフェース(I/F)13と、メモリ14と、CPU(Central Processing Unit)15と、記憶装置16とを備える。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、本例では制御装置10が一台のコンピュータで構成される場合について説明するが、制御装置10は、複数のコンピュータを用いて実現されてもよい。また、図2で示す構成は一例であり、制御装置10はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。
入力装置11は、ユーザからデータの入力を受け付けるものであり、例えば、キーボード、マウス及びタッチパネルを含んでよい。表示部12は、CPU15による演算結果を視覚的に表示するものであり、例えば、LCD(Liquid Crystal Display)により構成されてよい。
外部I/F13は、制御装置10を他の機器に接続するインタフェースである。外部I/F13は、ロボット20やセンサ30と、例えば専用の通信インタフェースやイーサネット(登録商標)により接続されて、ロボット20やセンサ30から情報を受信したり、ロボット20の動作を制御するための制御データを送信したりしてよい。
メモリ14は、データの書き換え及び/又は読み出しが可能な記憶部であり、例えば半導体記憶素子で構成されてよい。メモリ14は、データの書き換えが可能なRAM(Random Access Memory)とデータの読み出しが可能なROM(Read Only Memory)によって構成されてもよい。メモリ14は、CPU15が実行する制御プログラム、入力装置11や外部I/F13から入力される入力データ及び表示部12や外部I/F13に出力される出力データといったデータを記憶してよい。なお、これらは例示であって、メモリ14には、これら以外のデータが記憶されていてもよいし、これらの一部が記憶されていなくてもよい。
CPU15は、メモリ14に記憶されたプログラムの実行に関する制御やデータの演算、加工を行う制御部である。CPU15は、複数の把持姿勢の候補を評価していずれか1つを選択する制御プログラムや、選択された把持姿勢に基づいてロボット20のモーションを生成し、生成されたモーションに基づいてロボット20の動作を制御する制御プログラムを実行する演算部である。CPU15は、入力装置11や外部I/F13から種々の入力データを受け取り、入力データの演算結果を表示部12に表示したり、外部I/F13から出力したり、メモリ14や記憶装置16に格納したりする。
本実施形態における制御装置10では、CPU15が制御プログラムを実行することにより、CPU15によって、後述する把持姿勢受付部120、把持姿勢選択部130、開始終了姿勢入力部140及びモーション生成部150の動作が実現される。制御プログラムは、メモリ14や記憶装置16等のコンピュータ読み取り可能な記憶媒体に記憶されて提供されてもよいし、外部I/F13により接続される通信ネットワークを介して提供されてもよい。CPU15によって制御プログラムを実行する際は、制御プログラムをメモリ14内のRAMに展開し、RAMに展開された制御プログラムをCPU15によって解釈及び実行することとしてよい。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、制御装置10は、CPU15とメモリ14が一体化したLSI(Large-Scale Integration)を備えていてもよい。
<制御装置10の機能構成>
次に、制御装置10の構成について説明する。図3は、第1実施形態に係る制御装置10の機能ブロックの一例を示す図である。同図に示すとおり、制御装置10は、把持姿勢受付部120と、把持姿勢選択部130と、開始終了姿勢入力部140と、モーション生成部150とを備える。また、同図中、入力装置11は、ユーザからデータの入力を受け付けるための物理的構成であり、ロボット20は、制御装置10により制御される対象であることは、上述のとおりである。
入力装置11は、ロボット20の初期姿勢、把持姿勢の候補及び/又は配置姿勢を入力することができる。本実施形態において、ユーザは、入力装置11を用いて、表示部12に表示されるロボット20の姿勢をGUI(Graphical User Interface)により変化させることにより、所望の姿勢を設定することができるように構成されてもよい。
なお、ロボット20の姿勢は、GUIを用いて特定しなくてもよい。たとえば、ユーザは、入力装置11であるキーボードを用いて、直接、ロボット20の各ジョイントの角度の集合を入力して、姿勢を特定することもできる。その場合、入力された角度の情報に基づいて、ロボット20の姿勢を表示部12に表示させてもよい。あるいは、ユーザがGUI等により特定したロボット20の手先部の空間座標(x, y, z, roll, pitch, yaw)に基づいて、キネマティクス情報を用いて、ロボット20の各ジョイントの角度を算出することで、姿勢に関する情報を取得するように構成してもよい。
把持姿勢受付部120は、ロボット20がワークを把持することのできる把持姿勢の候補を受け付ける。一般に、ある位置にあるワークを把持するためのロボット20の姿勢(把持姿勢)は複数存在する。そこで、把持姿勢受付部120は、複数の把持姿勢の候補を受け付けることができる。把持姿勢受付部120は、ユーザが入力装置11を用いて入力した把持姿勢を候補として受け付けてもよい。受け付けられた複数の把持姿勢の候補は、把持姿勢選択部130に通知される。
把持姿勢選択部130は、複数の把持姿勢の候補をそれぞれ評価し、各候補それぞれの評価に基づいて、複数の候補の中から適切な把持姿勢を1つ選択する。例えば、把持姿勢選択部130は、ロボット20の初期姿勢と把持姿勢とに基づいて、姿勢間のコンフィギュレーション空間中の距離などを用いて、把持の成功率、処理時間等の観点に基づく把持姿勢の評価を行うことができる。例えば、把持成功率に基づく優先度が設定されており、優先度が高いものを適切な把持姿勢として選択してもよい。このとき、把持姿勢選択部130は、ユーザから入力された初期姿勢と、把持姿勢受付部120から通知された複数の把持姿勢の候補とを比較して、各候補を評価することにより、適切な把持姿勢を選択する。選択された把持姿勢は、開始終了姿勢入力部に通知される。把持姿勢選択部130における具体的な評価例については、後述する。
開始終了姿勢入力部140は、モーション生成部150に対して、ロボット20の動作計画における開始姿勢と終了姿勢を入力する。本実施形態では、例えば、ユーザが入力装置11から入力した初期姿勢を開始姿勢とし、把持姿勢選択部130で選択された把持姿勢を終了姿勢として、モーション生成部150に通知する。
モーション生成部150は、開始終了姿勢入力部から通知された開始姿勢から終了姿勢までの間のロボット20のモーションを生成する。上述の例のように、開始姿勢及び終了姿勢として、ユーザが入力装置11から入力した初期姿勢及び把持姿勢選択部130で選択された把持姿勢が与えられたとき、モーション生成部150は、初期姿勢から把持姿勢までの間のロボット20のモーションを生成する。なお、モーションを生成するアルゴリズムは、既知の手法や今後開発される手法を採用し得る。例えば、既知の手法として、確率的ロードマップ法、軌跡最適化法、セル分解法、ポテンシャル法などが挙げられる。
§3 動作例
次に、図4から図7を用いて、把持姿勢選択部130における把持姿勢の候補(以下「把持姿勢候補」や単に「候補」ともいう。)の評価例について説明する。
<初期姿勢から把持姿勢まで>
図4は、初期姿勢に対して、把持姿勢候補が2つある場合を例示した図である。ここでは、説明のため、ジョイントが2つの2軸ロボットアームを前提に説明するが、ジョイントの数を2つに限定する趣旨ではなく、ジョイントの数は任意である。この例では、図4(A)に示すとおり、初期姿勢41は、第1のジョイントJ1の角度が10度、第2のジョイントJ2の角度が10度であるものとする。なお、理解を容易にするため、以後、第1のジョイントJ1と第2のジョイントJ2の角度を、(J1,J2)=(10°,10°)などと表す。
このとき、ワークを把持できる把持姿勢候補が、図4(B)に示すとおり2つあるものとする。第1候補43aは、(J1,J2)=(20°,50°)であり、第2候補43bは、(J1,J2)=(70°,−50°)である。
図5は、初期姿勢と把持姿勢候補をコンフィギュレーション空間上にサンプリングした図である。同図においては、横軸が第1のジョイントJ1の角度、縦軸が第2のジョイントJ2の角度からなるベクトル空間に、初期姿勢41と、2つの把持姿勢候補43a,43bがプロットされている。開始姿勢から終了姿勢までの間のモーションを生成する処理において、開始姿勢と終了姿勢の値が近いほうが、処理の成功率が高く、処理時間も短くなるという傾向がある。そこで、例えば、把持姿勢選択部130は、図5において初期姿勢41に距離がより近い第1候補43aをより適切な把持姿勢であるものと評価して、第1候補43aを把持姿勢として選択する。
各把持姿勢候補を評価するための評価式としては、任意の評価式を採用し得るが、例えば、初期姿勢と把持姿勢候補の距離に基づく評価式として次の式を用いてもよい。
Figure 0006895086
ここで、js,iは初期姿勢のジョイントJiのジョイント値、jc,iはある把持姿勢候補のジョイントJiのジョイント値を表す。ここでは、ジョイント値は角度である。把持姿勢選択部130は、各把持姿勢候補ごとにこの評価値Cを算出し、評価値Cが最小となるもの、閾値以下のもの、などの条件を満たす把持姿勢候補を選択する。また、初期姿勢と把持姿勢候補の距離に基づく評価式として、ユークリッド距離などを使用してもよい。
また、評価値については、ジョイントの値域[jimin,jimax]やジョイントの動作速度vを考慮した、以下のような変形も考えられる。
Figure 0006895086
Figure 0006895086
ここで、ジョイントの値域[jimin,jimax]とは、例えば、ジョイントJiの可動域(可動する角度の下限jiminと上限jimax)であり、ジョイントの動作速度vとは、ジョイントJiの回転速度である。Cnormはロボットの動きやすさ、Ctimeはロボットの動作にかかる時間も考慮に入れた評価値であり、例えば、後者はロボットの動作時間を勘案して把持姿勢の選択する際に用いることができる。
<初期姿勢から把持姿勢を経て配置姿勢まで>
次に、ロボット20がワークを把持した後、所定の配置位置まで運搬する場合の、把持姿勢の選択について説明する。
このとき、把持姿勢選択部130は、ロボット20の初期姿勢と把持姿勢候補と配置姿勢とに基づいて、把持姿勢候補の評価を行うことができる。また、開始終了姿勢入力部140は、例えば、ユーザが入力装置11から入力した初期姿勢と配置姿勢を受け取り、さらに、把持姿勢選択部130から選択された把持姿勢を受け取ると、まず、初期姿勢を開始姿勢とし、選択された把持姿勢を終了姿勢として、モーション生成部150に通知して、初期姿勢から選択された把持姿勢までのモーションを生成させた後、次に、選択された把持姿勢を開始姿勢とし、配置姿勢を終了姿勢として、モーション生成部150に通知して、選択された把持姿勢から配置姿勢までのモーションを生成させる。
図6は、初期姿勢に対して、把持姿勢候補が2つあり、ワーク把持後に配置位置まで運搬する場合を例示した図である。ここでも、図4と同様に、説明のため、2軸ロボットアームを前提に説明するが、ジョイントの数はこれに限定されず、任意である。
図6(A)及び(B)に示すとおり、初期姿勢41と2つの把持姿勢候補43a,43bは、図4の例と同じである。この例ではさらに、ワークを把持した後、図6(C)に示すとおり、(J1,J2)=(70°,−70°)によって表される配置姿勢45までロボット20を動作させて、ワークを配置位置まで運搬する。
図7は、初期姿勢と把持姿勢候補と配置姿勢とをコンフィギュレーション空間上にサンプリングした図である。同図においては、図5と同様、横軸が第1のジョイントJ1の角度、縦軸が第2のジョイントJ2の角度からなるベクトル空間に、初期姿勢41と、2つの把持姿勢候補43a,43bに加え、配置姿勢45がプロットされている。このとき、把持姿勢選択部130は、初期姿勢41から第1候補43aを経由して配置姿勢45に至る経路と、初期姿勢41から第2候補43bを経由して配置姿勢45に至る経路とで、2つの把持姿勢候補43a,43bをそれぞれ評価する。
例えば、数1と同様の距離に基づく評価式を用いる場合、初期姿勢と把持姿勢候補に数1を適用して算出した第1の評価値と、把持姿勢候補と配置姿勢に数1を適用した算出した第2の評価値の和を取ることによって、初期姿勢から把持姿勢候補を経由して配置姿勢に至る経路全体の評価値を求めてもよい。
この例では、第1候補43aを経由した場合の距離に基づく評価値C1は、
C1=初期姿勢41と第1候補43aの距離+第1候補43aと配置位置の距離
={|20−10|+|50−10|}+{|70−20|+|−70−50|}
=220
であり、他方、第2候補43bを経由した場合の距離に基づく評価値C2は、
C2=初期姿勢41と第2候補43bの距離+第2候補43bと配置位置の距離
={|70−10|+|−50−10|}+{|70−70|+|−70+50|}
=140
である。したがって、初期姿勢から配置姿勢までの経路全体では、図4及び図5に示す例と異なり、第2候補43bの方がより高い評価となる。したがって、この例では、第2候補43bが把持姿勢として選択される。
なお、図7において、初期姿勢41から2つの候補43a,43bの区間及び2つの候補43a,43bから配置姿勢45までの区間のうち、第1姿勢43aから配置姿勢45までの区間の距離が最長となっている。一般に、コンフィギュレーション空間における距離が長くなるとモーションを生成するための計算に要する処理時間が指数関数的に伸びることから、配置姿勢まで含む経路全体でみれば、最長の区間を有する第1姿勢43aの方が、モーションを生成できないリスクが高いという一般的な理解とも整合する。
<第1実施形態のフローチャート>
次に、第1実施形態における処理フローを説明する。
図8は、第1実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。同図に示すとおり、まず、ユーザは入力装置11を用いて、ロボット20の初期姿勢を入力する(ステップS10)。また、ユーザは、必要に応じて配置姿勢を入力してもよい。入力された初期姿勢は、把持姿勢選択部130と開始終了姿勢入力部140に通知される。また、配置姿勢が入力されたとき、配置姿勢は、把持姿勢選択部130と開始終了姿勢入力部140に通知される。
続いて、ユーザは入力装置11を用いて、ロボット20がワークを把持するための把持姿勢候補を複数入力する(ステップS20)。入力された複数の把持姿勢候補は、把持受付部120を介して把持姿勢選択部130に通知される。
把持姿勢選択部130は、初期姿勢と把持姿勢候補とに基づいて、また、配置姿勢が通知されたときはさらに配置姿勢にも基づいて、各把持姿勢候補を評価し、評価値に基づいてより適切な把持姿勢を選択する(ステップS30)。選択された把持姿勢は、開始終了姿勢入力部140に通知される。
開始終了姿勢入力部140は、初期姿勢と選択された把持姿勢をモーション生成部150に渡す。また、配置姿勢が通知されているときは、これに加えて、選択された把持姿勢と配置姿勢をモーション生成部150に渡す。モーション生成部150は、初期姿勢から選択された把持姿勢までのモーションを生成し、さらに、配置姿勢が通知されているときは、選択された把持姿勢から配置姿勢までのモーションも生成する(ステップS40)。
そして、モーション生成部150は、生成されたモーションに基づいて、ロボット20の動作を制御する(ステップ50)。
こうして、本実施形態によれば、モーション生成部150で把持姿勢を含むモーションの生成処理を実施する前処理の段階で、初期姿勢から把持姿勢までの経路、又は、初期姿勢から把持姿勢を経由して配置姿勢に至るまでの経路全体で、複数の把持姿勢候補の中から、適切な把持姿勢を選択することができるため、モーション生成に要する処理時間を短縮することができる。
§4 他の実施形態
<第2実施形態>
図9は、第2実施形態に係る制御装置10の機能ブロックの一例を示す図である。第2実施形態は、第1実施形態に中間姿勢生成部160が追加されたものであり、中間姿勢生成部160以外の構成は、特に説明しない限り、第1実施形態と同様である。
把持姿勢選択部130が、複数の把持姿勢候補の中から適切な把持姿勢を見つけられなかったとき、中間姿勢生成部160に、初期姿勢と複数の把持姿勢候補を通知する。なお、把持姿勢選択部130が、適切な把持姿勢を見つけられない場合としては、例えば、各候補ごとに算出された評価値が、所定の閾値(把持位置として選択されるための最低ライン)をいずれも満たさない場合が挙げられる。
中間姿勢生成部160は、把持姿勢選択部130から初期姿勢と複数の把持姿勢候補を受け取ると、初期姿勢から中間姿勢まで、及び、中間姿勢から把持姿勢候補までの間で、いずれもモーションを生成できるような中間姿勢を生成する。例えば、中間姿勢生成部160は、初期姿勢と複数の把持姿勢候補間の各ジョイント値の中間値をとる姿勢を、中間姿勢として求めてもよい。その後、把持姿勢選択部130は、中間姿勢と複数の把持姿勢候補とを比較して、各候補ごとの評価値を算出し、より適切な把持姿勢を選択する。
図10は、第2実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。第1実施形態と比べて、ステップS32とS34が追加されている。
ステップS30で把持姿勢選択部130が複数の把持姿勢候補の中から適切なものを選択する際に、適切な把持姿勢候補の有無を判別し(ステップS32)、適切な把持姿勢候補が無かったとき(ステップS32:No)、中間姿勢生成部160が、中間姿勢を生成する(ステップS34)。そして、中間姿勢を利用して、より適切な把持姿勢を選択する。ステップS32で適切な把持姿勢候補が有る場合(ステップS32:Yes)、その適切な把持姿勢候補に基づいて、また、ステップS34で中間姿勢が生成された場合は、当該中間姿勢を利用して選択された把持姿勢候補に基づいて、モーションが生成される(ステップS40)。
上述のとおり、モーション生成部150におけるモーションの生成処理の計算時間は、姿勢間の距離に対して指数関数的に増大する。第2実施形態によれば、モーション生成部150に初期姿勢と把持姿勢を渡して、初期姿勢から把持姿勢までのモーションを生成させるかわりに、一又は複数の把持姿勢に対して適切な中間姿勢を追加して、初期姿勢から中間姿勢までと、中間姿勢から把持姿勢までに分けて、それぞれでモーションを生成させることにより、モーション生成に要する処理時間を短縮することができる。また、ロボット20の現在姿勢や目標姿勢からモーションを生成しようとすると成功率や処理速度が下がってしまう場合に、現在姿勢から中間姿勢まで、及び、中間姿勢から把持姿勢までのそれぞれで成功率や処理時間が短くなるような中間姿勢を追加することで、トータルの成功率や処理時間を向上できる。
<第3実施形態>
図11は、第3実施形態に係る制御装置10の機能ブロックの一例を示す図である。第3実施形態は、第1実施形態にロボット仕様データベース(ロボット仕様DB)170が追加されたものであり、ロボット仕様DB170以外の構成は、特に説明しない限り、第1実施形態と同様である。なお、ロボット仕様DB170は、本発明の「ロボット仕様データ保持部」の一例である。
ロボット仕様DB170には、ロボット20の仕様に関する情報が格納されている。ロボット20の仕様に関する情報としては、例えば、ロボット20を構成する各リンクLnの長さや、各ジョイントJmの回転速度、可動域、トルク等が挙げられる。
把持姿勢選択部130は、ユーザから入力された初期姿勢と、把持姿勢受付部120から通知された複数の把持姿勢候補と、ロボット仕様DB170から読み出した仕様情報を勘案し、各把持姿勢候補を評価する。例えば、把持姿勢選択部130は、ロボット仕様DB170からジョイントJmの回転速度を読み出して、成功率と処理時間だけでなく、ロボット20の動作時間まで考慮した評価を行うことで、ロボット20の動作時間を考慮した把持姿勢を選択し、選択された把持姿勢を開始終了姿勢入力部140に通知する。
次に、ロボットの動作速度を考慮した評価について説明する。
図12は、初期姿勢と把持姿勢の2つの候補とをコンフィギュレーション空間上にサンプリングした図である。同図に示す例において、初期姿勢51は、(J1,J2)=(0°,0°)である。また、把持姿勢の第1候補53aは、(J1,J2)=(50°,0°)であり、第2候補53bは、(J1,J2)=(25°,25°)であるものとする。
一般に、ロボットのジョイントJmの回転速度はトルクとのトレードオフであり、全て同じとは限らない。通常は、ベースに近い方がロボット自体の重量を考慮して高トルクとなっており、低速である。そのため、初期姿勢と把持姿勢候補のコンフィギュレーション空間中の距離が等しい場合でも、使用するジョイントの組み合わせによって動作時間が異なることがある。ロボット制御において、一般には、動作時間が短い方が望ましい。
図12に示す例において、数1で示した距離に基づく評価式を用いると、第1候補53aの評価値C1は、C1=|50−0|+|0−0|=50であり、第2候補53bの評価値C2も、C2=|25−0|+|25−0|=50であり、同じ評価値となる。
ここで、ジョイントJ1の回転速度が毎秒10°であり、ジョイントJ2の回転速度が毎秒20°であるとする。このとき、数3で示した動作速度を考慮した評価式を用いると、第1候補53aと第2候補53bの評価値C1,C2はそれぞれ、
C1=max(|50−0|/10,|0−0|/20)=5秒
C2=max(|25−0|/10,|25−0|/20)=2.5秒
となり、第2候補53bの方が、動作時間がより短くなる可能性が高く、有用であるといえる。したがって、この例で動作速度を考慮した評価式を用いる場合、把持姿勢選択部130は、第2候補53bを把持姿勢として選択する。
このように、ロボットのジョイントの回転速度も考慮して把持姿勢を決定することにより、高速なジョイントを優先的に使用したモーションを生成して動作を高速に実行できるようになる。また、距離が等しい場合に限らず、距離と動作時間それぞれに重み付けをした評価式を用いることにより、成功率と動作時間の優先度を変更することも可能である。
図13は、第3実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。第1実施形態と比べて、ステップS25が追加されている。
把持姿勢選択部130は、ステップS20でユーザが入力した複数の把持姿勢候補が通知された後、ロボット仕様DB170から、ロボット20の仕様情報を読み出す(ステップS25)。そして、把持姿勢選択部130は、読み出した仕様情報も考慮して、把持姿勢を選択する(ステップS30)。
<第4実施形態>
図14は、第4実施形態に係る制御装置10の機能ブロックの一例を示す図である。第4実施形態は、ロボット20から制御装置10に、ロボット20の現在の姿勢(現在姿勢)が通知されるほかは、特に説明しない限り、第1実施形態と同様である。
第4実施形態では、ロボット20が、把持姿勢選択部130と開始終了姿勢入力部140に対して、ロボット20の現在姿勢を、初期姿勢としてフィードバックする。把持姿勢選択部130は、ユーザが入力装置11から入力した初期姿勢の代わりに、ロボット20から受け取った現在姿勢を初期姿勢として、把持姿勢を選択する。また、開始終了姿勢入力部140は、ロボット20から受け取った現在姿勢を初期姿勢として、モーション生成部150に渡して、モーションを生成させる。これにより、初期姿勢をユーザが与える必要なく、ロボット20の現在の姿勢を使用することで、実用性を損ねずにユーザの入力の負担を減らすことができる。
図15は、第4実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。第1実施形態と比べて、ステップS5が追加されている。
まず、ロボット20が現在姿勢を検出して、検出された現在姿勢を制御装置10にフィードバックする。これにより、制御装置10は、ロボット20の現在姿勢を取得する(ステップS5)。制御装置10は、現在姿勢を初期姿勢として、把持姿勢選択部130と開始終了姿勢入力部140に渡すため、ステップS10において、ユーザから初期姿勢の入力を受け付ける必要はない。
<第5実施形態>
図16は、第5実施形態に係る制御装置10の機能ブロックの一例を示す図である。第5実施形態は、センサ30によって検出されたワークの位置に基づいて、把持姿勢の候補を算出するものであり、第1実施形態に、把持情報登録データベース(把持情報登録DB)180と把持姿勢算出部190とが追加されたものである。また、ロボット20上又はロボット20の周辺に、ワークの位置及び向き等を検出するためのセンサ30が設けられている。これら以外の構成は、特に説明しない限り、第1実施形態と同様である。なお、把持情報登録DB180は、本発明の「把持情報保持部」の一例である。
把持情報登録DB180は、把持に関する情報が登録されている。把持に関する情報としては、例えば、ワークとエンドエフェクタ24の相対的な関係の情報が挙げられる。より具体的には、エンドエフェクタ24の基準座標系と、ワークの基準座標系に対して、エンドエフェクタ24がワークを把持したときのワークとエンドエフェクタ24の基準座標系間のアフィン変換を表す行列を、把持情報としてよい。
把持姿勢算出部190は、センサ30で計測したワークの位置及び向きと、把持情報登録DB180に登録されたワークとエンドエフェクタ24の相対的な関係の情報から、把持姿勢候補を計算する。例えば、センサ30によって計測されたワーク位置及び向きに、上述の変換行列を適用することで、ワークを把持するときのエンドエフェクタ24の空間的な把持姿勢を求めることができる。算出された把持姿勢は、把持姿勢受付部120に通知される。
把持姿勢受付部120は、入力装置11から入力された把持姿勢候補又は把持姿勢算出部190から通知された把持姿勢候補を、把持姿勢選択部130に通知する。把持姿勢の候補は、事前に登録されたワークとエンドエフェクタ24の相対的関係と、ワークの位置及び向きから算出されるため、実用性を損ねずにユーザの入力の負担を減らすことができる。
図17は、第5実施形態におけるロボット制御システム1の処理の流れを示すフローチャートである。第1実施形態と比べて、ステップS11〜S15が追加されている。
ステップ10で、ユーザから初期姿勢等が入力された後、又は、ユーザによる初期姿勢等の入力と並行して、センサ30はワークの位置及び向きを計測する(S11)。把持姿勢算出部190は、センサ30で計測された結果を受け取り、ワークの位置及び向きを認識する(S12)。また、把持姿勢算出部190は、把持情報登録DB180から把持情報を読み出す(S13)。そして、ワークの位置及び向きと把持情報とに基づいて、エンドエフェクタ24の姿勢(把持手先姿勢)を計算する(S14)。計算された把持手先姿勢に対して逆キネマティクス演算により、把持姿勢の候補を算出する(S15)。
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
上述の実施形態の一部又は全部は、以下の付記のように記載され得るが、以下には限定されない。
(付記1)
ロボット(20)が把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボット(20)を制御する制御装置(10)であって、
前記ロボット(20)が前記把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部(120)と、
前記複数の把持姿勢の候補のそれぞれと、前記ロボット(20)の初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部(130)と、
前記初期姿勢から前記選択された把持姿勢までの間の前記ロボット(20)のモーションを生成するモーション生成部(150)と、
を備える制御装置(10)。
(付記2)
ロボット(20)が把持対象物を把持して所定の配置位置まで運搬するためのモーションを生成し、当該モーションに基づいて前記ロボット(20)を制御する制御装置(10)であって、
前記ロボット(20)が前記把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部(120)と、
前記複数の把持姿勢の候補のそれぞれと、前記ロボット(20)の初期姿勢及び前記把持対象物を前記配置位置に配置することのできる配置姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部(130)と、
前記初期姿勢から前記選択された把持姿勢までの間の前記ロボット(20)のモーションを生成し、さらに、前記選択された把持姿勢から前記配置姿勢までの間の前記ロボット(20)のモーションを生成するモーション生成部(150)と、
を備える制御装置(10)。
(付記3)
前記初期姿勢と前記複数の把持姿勢の候補とに基づいて中間姿勢を生成する中間姿勢生成部(160)をさらに備え、
前記把持姿勢選択部(130)は、前記初期姿勢に基づく評価からは把持姿勢を選択することができなかったとき、前記初期姿勢にかえて前記中間姿勢を用いて、前記複数の把持姿勢の候補のそれぞれと前記中間姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する、
付記1または2記載の制御装置(10)。
(付記4)
前記ロボット(20)が有する各軸の速度を含む仕様情報を格納するロボット仕様データ保持部(170)をさらに備え、
前記把持姿勢選択部(130)は、前記ロボット仕様データ保持部(170)に格納された前記仕様情報を用いて、前記ロボット(20)の動作時間も考慮して前記複数の把持姿勢の候補を評価する、
付記1から3のいずれか1つに記載の制御装置(10)。
(付記5)
前記初期姿勢として、前記ロボット(20)から取得した前記ロボット(20)の現在の姿勢を用いる、
付記1から4のいずれか1つに記載の制御装置(10)。
(付記6)
前記ロボット(20)のエンドエフェクタ(24)と当該エンドエフェクタ(24)によって把持される把持対象物との相対的な関係を格納する把持情報保持部(180)と、
センサ(30)から取得された把持対象物の位置及び向きと、前記把持情報保持部(180)に格納された前記エンドエフェクタ(24)と前記把持対象物との相対的な関係とに基づいて、把持姿勢の候補を複数算出して、前記把持姿勢受付部(120)に渡す把持姿勢算出部(190)と、をさらに備える
付記1から5のいずれか1つに記載の制御装置(10)。
(付記7)
前記ロボット(20)はシミュレータを含む、
付記1から6のいずれか1つに記載の制御装置(10)。
(付記8)
ロボット(20)が把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボット(20)を制御するための制御装置(10)による制御方法であって、
前記ロボット(20)が前記把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、
前記複数の把持姿勢の候補のそれぞれと、前記ロボット(20)の初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択するステップと、
前記初期姿勢から前記選択された把持姿勢までの間の前記ロボット(20)のモーションを生成するステップと、
を備える制御方法。
(付記9)
ロボット(20)が把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボット(20)を制御するためのコンピュータに、
前記ロボット(20)が前記把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、
前記複数の把持姿勢の候補のそれぞれと、前記ロボット(20)の初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択するステップと、
前記初期姿勢から前記選択された把持姿勢までの間の前記ロボット(20)のモーションを生成するステップと、
を実行させるためのプログラム。
1…ロボット制御システム、10…制御装置、11…入力装置、12…表示部、13…外部インタフェース、14…メモリ、15…CPU、16…記憶装置、20…ロボット、22…ベース、24…エンドエフェクタ、26…アーム、Ln…リンク、Jm…ジョイント、30…センサ、120…把持姿勢受付部、130…把持姿勢選択部、140…開始終了姿勢入力部、150…モーション生成部、160…中間姿勢生成部、170…ロボット仕様データベース、180…把持情報登録データベース、190…把持姿勢算出部

Claims (8)

  1. ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御する制御装置であって、
    前記ロボットが前記把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部と、
    前記複数の把持姿勢の候補のそれぞれと、前記ロボットの初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部と、
    前記初期姿勢から前記選択された把持姿勢までの間の前記ロボットのモーションを生成するモーション生成部と、
    前記初期姿勢と前記複数の把持姿勢の候補とに基づいて中間姿勢を生成する中間姿勢生成部と、を備え
    前記把持姿勢選択部は、前記初期姿勢に基づく評価からは把持姿勢を選択することができなかったとき、前記初期姿勢にかえて前記中間姿勢を用いて、前記複数の把持姿勢の候補のそれぞれと前記中間姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する、
    制御装置。
  2. ロボットが把持対象物を把持して所定の配置位置まで運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御する制御装置であって、
    前記ロボットが前記把持対象物を把持することのできる把持姿勢の候補を複数受け付ける把持姿勢受付部と、
    前記複数の把持姿勢の候補のそれぞれと、前記ロボットの初期姿勢及び前記把持対象物を前記配置位置に配置することのできる配置姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する把持姿勢選択部と、
    前記初期姿勢から前記選択された把持姿勢までの間の前記ロボットのモーションを生成し、さらに、前記選択された把持姿勢から前記配置姿勢までの間の前記ロボットのモーションを生成するモーション生成部と、
    前記初期姿勢と前記複数の把持姿勢の候補とに基づいて中間姿勢を生成する中間姿勢生成部と、を備え、
    前記把持姿勢選択部は、前記初期姿勢及び前記配置姿勢に基づく評価からは把持姿勢を選択することができなかったとき、前記初期姿勢及び前記配置姿勢にかえて前記中間姿勢を用いて、前記複数の把持姿勢の候補のそれぞれと前記中間姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する、
    制御装置。
  3. 前記ロボットが有する各軸の速度を含む仕様情報を格納するロボット仕様データ保持部をさらに備え、
    前記把持姿勢選択部は、前記ロボット仕様データ保持部に格納された前記仕様情報を用いて、前記ロボットの動作時間も考慮して前記複数の把持姿勢の候補を評価する、
    請求項1又は請求項2に記載の制御装置。
  4. 前記初期姿勢として、前記ロボットから取得した前記ロボットの現在の姿勢を用いる、
    請求項1からのいずれか1項に記載の制御装置。
  5. 前記ロボットのエンドエフェクタと当該エンドエフェクタによって把持される把持対象物との相対的な関係を格納する把持情報保持部と、
    センサから取得された把持対象物の位置及び向きと、前記把持情報保持部に格納された前記エンドエフェクタと前記把持対象物との相対的な関係とに基づいて、把持姿勢の候補を複数算出して、前記把持姿勢受付部に渡す把持姿勢算出部と、をさらに備える
    請求項1からのいずれか1項に記載の制御装置。
  6. 前記ロボットはシミュレータを含む、
    請求項1からのいずれか1項に記載の制御装置。
  7. ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御するための制御装置による制御方法であって、
    前記ロボットが前記把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、
    前記複数の把持姿勢の候補のそれぞれと、前記ロボットの初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択するステップと、
    前記初期姿勢から前記選択された把持姿勢までの間の前記ロボットのモーションを生成するステップと、
    前記初期姿勢と前記複数の把持姿勢の候補とに基づいて中間姿勢を生成するステップと、を備え
    前記選択するステップにおいて、前記初期姿勢に基づく評価からは把持姿勢を選択することができなかったとき、前記初期姿勢にかえて前記中間姿勢を用いて、前記複数の把持姿勢の候補のそれぞれと前記中間姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する、
    制御方法。
  8. ロボットが把持対象物を把持して運搬するためのモーションを生成し、当該モーションに基づいて前記ロボットを制御するためのコンピュータに、
    前記ロボットが前記把持対象物を把持することのできる把持姿勢の候補を複数受け付けるステップと、
    前記複数の把持姿勢の候補のそれぞれと、前記ロボットの初期姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択するステップと、
    前記初期姿勢から前記選択された把持姿勢までの間の前記ロボットのモーションを生成するステップと、
    前記初期姿勢と前記複数の把持姿勢の候補とに基づいて中間姿勢を生成するステップと、を実行させ
    前記選択するステップにおいて、前記初期姿勢に基づく評価からは把持姿勢を選択することができなかったとき、前記初期姿勢にかえて前記中間姿勢を用いて、前記複数の把持姿勢の候補のそれぞれと前記中間姿勢とに基づいて、前記複数の把持姿勢の候補のそれぞれを評価し、当該評価に基づいて、前記複数の把持姿勢の候補の中から把持姿勢を選択する、
    るためのプログラム。

JP2018043294A 2018-03-09 2018-03-09 ロボットの制御装置、制御方法及びプログラム Active JP6895086B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018043294A JP6895086B2 (ja) 2018-03-09 2018-03-09 ロボットの制御装置、制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018043294A JP6895086B2 (ja) 2018-03-09 2018-03-09 ロボットの制御装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2019155509A JP2019155509A (ja) 2019-09-19
JP6895086B2 true JP6895086B2 (ja) 2021-06-30

Family

ID=67992947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018043294A Active JP6895086B2 (ja) 2018-03-09 2018-03-09 ロボットの制御装置、制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6895086B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022162769A1 (ja) 2021-01-27 2022-08-04 川崎重工業株式会社 ロボットシステム、移動経路生成装置および移動経路生成方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250023A (ja) * 1991-10-23 1993-09-28 Sanyo Electric Co Ltd ロボットマニピュレータの経路自動生成法
JP4941068B2 (ja) * 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
JP5002609B2 (ja) * 2009-03-17 2012-08-15 株式会社東芝 移動マニピュレータの軌道生成システム
JP5560948B2 (ja) * 2010-06-23 2014-07-30 株式会社安川電機 ロボット装置
JP5911299B2 (ja) * 2011-12-27 2016-04-27 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
JP2013244560A (ja) * 2012-05-25 2013-12-09 Dainippon Screen Mfg Co Ltd 把持機構の軌道生成装置、把持機構の軌道生成方法、把持機構の軌道生成プログラム、記録媒体、ロボットプログラム作成装置
JP5765355B2 (ja) * 2013-03-18 2015-08-19 株式会社安川電機 ロボットピッキングシステム及び被加工物の製造方法
JP2014205209A (ja) * 2013-04-11 2014-10-30 三菱電機株式会社 ロボットシステム、及びロボットシステムの制御方法

Also Published As

Publication number Publication date
JP2019155509A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
Bagnell et al. An integrated system for autonomous robotics manipulation
Wang et al. Human intention prediction in human-robot collaborative tasks
JP5210884B2 (ja) 物理的多関節システムの姿勢を制御するコンピュータを用いた方法および多関節システムを位置決めするシステム
Nguyen Constructing force-closure grasps
Ruppel et al. Cost functions to specify full-body motion and multi-goal manipulation tasks
Shi et al. Real-time grasping planning for robotic bin-picking and kitting applications
JP2009521334A (ja) 多関節システムの動作の再構築、リターゲット、軌道追従及び推定
Bestick et al. Learning human ergonomic preferences for handovers
US10899017B1 (en) System for co-adaptation of robot control to human biomechanics
Zhao et al. Efficient trajectory optimization for robot motion planning
WO2021033486A1 (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
Laschi et al. Learning-based control strategies for soft robots: Theory, achievements, and future challenges
Hudson et al. Model-based autonomous system for performing dexterous, human-level manipulation tasks
Waltersson et al. Planning and control for cable-routing with dual-arm robot
Sanfilippo et al. A universal control architecture for maritime cranes and robots using genetic algorithms as a possible mapping approach
JP6895086B2 (ja) ロボットの制御装置、制御方法及びプログラム
WO2022080132A1 (ja) 軌道生成装置、軌道生成方法、及び軌道生成プログラム
Sanchez et al. Four-arm collaboration: Two dual-arm robots work together to manipulate tethered tools
Park et al. Robotic furniture assembly: task abstraction, motion planning, and control
Seredyński et al. Grasp planning taking into account the external wrenches acting on the grasped object
Bouzid et al. Investigating feed-forward back-propagation neural network with different hyperparameters for inverse kinematics of a 2-DoF robotic manipulator: A comparative study
Huang et al. Dexterous manipulation of construction tools using anthropomorphic robotic hand
Prats et al. Compliant interaction in household environments by the Armar-III humanoid robot
JP2022122670A (ja) ロボットモデルの学習装置、ロボットモデルの機械学習方法、ロボットモデルの機械学習プログラム、ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
Yu et al. Generalizable whole-body global manipulation of deformable linear objects by dual-arm robot in 3-d constrained environments

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210519

R150 Certificate of patent or registration of utility model

Ref document number: 6895086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250