JP2018167333A - ロボット制御装置、ロボットおよびロボットシステム - Google Patents

ロボット制御装置、ロボットおよびロボットシステム Download PDF

Info

Publication number
JP2018167333A
JP2018167333A JP2017064540A JP2017064540A JP2018167333A JP 2018167333 A JP2018167333 A JP 2018167333A JP 2017064540 A JP2017064540 A JP 2017064540A JP 2017064540 A JP2017064540 A JP 2017064540A JP 2018167333 A JP2018167333 A JP 2018167333A
Authority
JP
Japan
Prior art keywords
robot
arm
target position
force
control unit
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
JP2017064540A
Other languages
English (en)
Inventor
喜士 山田
Yoshiji Yamada
喜士 山田
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 JP2017064540A priority Critical patent/JP2018167333A/ja
Publication of JP2018167333A publication Critical patent/JP2018167333A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

【課題】障害物を回避するロボットの提供。【解決手段】ロボットのアームを制御するロボット制御装置であって、前記アームの先端部の目標位置を取得する目標位置取得部と、前記先端部が前記目標位置に到達する前の位置である第1位置と前記目標位置との間に障害物が存在する場合、前記第1位置と前記目標位置を結ぶ直線に対して凸状の軌跡で前記先端部を移動させるアーム制御部と、を備えるロボット制御装置が構成される。【選択図】図1

Description

本発明は、ロボット制御装置、ロボットおよびロボットシステムに関する。
ロボットの動作範囲に障害物が存在する場合に当該障害物を回避する技術が知られている。例えば、特許文献1においては、ロボットアームの軌道を計画する際にノードとエッジとによって軌道を表現し、障害物に干渉する場合には追加ノードを生成し、既存のノードを削除する構成が開示されている。
特開2012−190405号公報
上述の従来技術においては、障害物に干渉する場合に削除されるノードが存在する。しかし、ノードが教示された位置である場合、そのノードを削除できない場合がある。従って、目標位置に向けて移動する過程で障害物に干渉し得る場合に従来技術を適用できない場合がある。
上記課題の少なくとも一つを解決するために、本発明のロボット制御装置は、ロボットのアームを制御するロボット制御装置であって、アームの先端部の目標位置を取得する目標位置取得部と、先端部が目標位置に到達する前の位置である第1位置と目標位置との間に障害物が存在する場合、第1位置と目標位置を結ぶ直線に対して凸状の軌跡で先端部を移動させるアーム制御部と、を備える。
この構成によれば、第1位置と目標位置との間に障害物が存在する場合、アームの先端部が凸状の軌跡で移動し、障害物を回避することができる。
さらに、凸状の軌跡は、第1位置と目標位置とを通るなめらかな曲線であってもよい。この構成によれば、アームの先端部が凸状の軌跡を移動している過程において、アームの位置が急変する可能性を低減することができる。
さらに、凸状の軌跡は、第1位置と目標位置とを結ぶ直線に垂直な方向に凸であり、当該直線を含む平面上に存在する構成であっても良い。この構成によれば、簡単に凸状の軌跡を定義することができる。
さらに、凸状の軌跡は、第1位置と目標位置とを通る二次曲線である構成であっても良い。この構成によれば、簡単に凸状の軌跡を定義することができる。
ロボットシステムの斜視図である。 ロボット制御装置の機能ブロック図である。 障害物回避処理のフローチャートである。 障害物回避処理のフローチャートである。 第1位置と目標位置とを示す図である。 凸状の軌跡を示す図である。
以下、本発明の実施形態について添付図面を参照しながら以下の順に説明する。なお、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
(1)ロボットシステムの構成:
(2)ロボットの制御:
(3)障害物回避処理:
(4)他の実施形態:
(1)ロボットシステムの構成:
図1は本発明の一実施形態にかかるロボット制御装置で制御されるロボットを含むロボットシステムを示す斜視図である。本発明の一実施例としてのロボットシステムは、図1に示すように、ロボット1を備えている。ロボット1はエンドエフェクターを備える6軸ロボットである。また、本実施形態においては、作業台を視野に含むカメラ20が設置されており、ロボット1の作業範囲を撮影することができる。
ロボット1は、ロボット制御装置40によって制御される。ロボット制御装置40はケーブルによりロボット1、カメラ20と通信可能に接続される。なお、ロボット制御装置40の構成要素がロボット1に備えられていても良い。また、ロボット制御装置40は複数の装置によって構成されても良い。また、ロボット制御装置40は、図示しない教示装置をケーブル、または無線通信によって接続可能である。教示装置は、専用のコンピューターであってもよいし、ロボット1を教示するためのプログラムがインストールされた汎用のコンピューターであってもよい。さらに、ロボット制御装置40と教示装置とは、一体に構成されていてもよい。
ロボット1は、アームに各種のエンドエフェクターを装着して使用される単腕ロボットである。図1に示すように、ロボット1は、基台Tと、6個のアーム部材A1〜A6と、6個の関節J1〜J6を備える。基台Tは作業台に固定されている。基台Tと6個のアーム部材A1〜A6は関節J1〜J6によって連結される。関節J1〜J6とエンドエフェクターは可動部であり、これらの可動部が動作することによってロボット1は各種の作業を行うことができる。
本実施形態において、関節J2、J3、J5は曲げ関節であり、関節J1、J4、J6はねじり関節である。アームAのうち最も先端側のアーム部材A6には、力覚センサーPとエンドエフェクターとが装着される。ロボット1は、6つの関節を駆動させることによって、可動範囲内においてエンドエフェクターを任意の位置に配置し、任意の姿勢(角度)とすることができる。
ロボット1が備えるエンドエフェクターはグリッパー23であり、対象物Wを把持することができる。本実施形態においては、ロボット1が備えるエンドエフェクターに対して相対的に固定された位置がツールセンターポイント(TCP)として定義される。TCPの位置はエンドエフェクターの基準の位置となり、TCPが原点となり、エンドエフェクターに対して相対的に固定された3次元直交座標系であるTCP座標系が定義される。
力覚センサーPは、6軸の力検出器である。力覚センサーPは、力覚センサー上の点を原点とした3次元直交座標系であるセンサー座標系において互いに直交する3個の検出軸と平行な力の大きさと、当該3個の検出軸まわりのトルクの大きさとを検出する。なお、本実施例では6軸ロボットを例にしているが、ロボットの態様は種々の態様であっても良いし、ロボット1の態様が異なっていてもよい。また、関節J6以外の関節J1〜J5のいずれか1つ以上に力検出器としての力覚センサーを備えても良い。
ロボット1が設置された空間を規定する座標系をロボット座標系というとき、ロボット座標系は、水平面上において互いに直交するx軸とy軸と、鉛直上向きを正方向とするz軸とによって規定される3次元の直交座標系である(図1参照)。z軸における負の方向は概ね重力方向と一致する。またx軸周りの回転角をRxで表し、y軸周りの回転角をRyで表し、z軸周りの回転角をRzで表す。x,y,z方向の位置により3次元空間における任意の位置を表現でき、Rx,Ry,Rz方向の回転角により3次元空間における任意の姿勢を表現できる。以下、位置と表記した場合、姿勢も意味し得ることとする。また、力と表記した場合、トルクも意味し得ることとする。
なお、本実施形態においてはロボット1に作用する力を制御する力制御と、ロボット1の特定の部位を目標位置に配置する位置制御とが実行可能である。力制御においては、任意の点に作用する当該作用力が目標力になるように制御される。各種の部位に作用する力は、3次元直交座標系である力制御座標系において定義される。目標力(トルクを含む)は、力制御座標系で表現された力の作用点を起点としたベクトルで表現可能であり、目標力ベクトルの起点は力制御座標系の原点であり、作用力の方向は力制御座標系の1軸方向と一致している。
位置制御においては、制御対象となる点が目標位置に移動するように制御される。制御対象となる点の位置は、ロボット座標系において定義される。本実施形態において各種の座標系の関係は予め定義されており、各種の座標系での座標値は互いに変換可能である。すなわち、TCP座標系、センサー座標系、ロボット座標系、力制御座標系における位置やベクトルは互いに変換可能である。ここでは簡単のため、ロボット制御装置40がTCPの位置およびTCPに作用する作用力をロボット座標系で制御する説明をするが、ロボット1の位置やロボット1に作用する力は、各種の座標系で定義でき、互いに変換可能であるため、位置や力がどの座標系で定義され、制御されても良い。むろん、ここで述べた座標系以外にも他の座標系(例えば対象物に固定されたオブジェクト座標系等)が定義され、変換可能であっても良い。
(2)ロボットの制御:
ロボット1は、教示を行うことにより各種作業が可能となる汎用ロボットであり、図2に示すようにアクチュエーターとしてのモーターM1〜M6と、センサーとしてのエンコーダーE1〜E6とを備える。アームを制御することはモーターM1〜M6を制御することを意味する。モーターM1〜M6とエンコーダーE1〜E6とは、関節J1〜J6のそれぞれに対応して備えられており、エンコーダーE1〜E6はモーターM1〜M6の回転角度を検出する。
ロボット制御装置40は、コンピューター等のハードウェア資源と記憶部41に記憶された各種のソフトウェア資源を備え、プログラムを実行可能である。本実施形態においてロボット制御装置40は、目標位置取得部42、アーム制御部43として機能する。なお、ハードウェア資源は、CPU,RAM,ROM等からなる構成であっても良いし、ASIC等によって構成されても良く、種々の構成を採用可能である。
本実施形態において、アーム制御部43は、位置制御部43a、力制御部43b、サーボ43cを備えている。また、アーム制御部43においては、モーターM1〜M6の回転角度の組み合わせと、ロボット座標系におけるTCPの位置との対応関係U1が図示しない記憶媒体に記憶され、座標系の対応関係U2が定義され、図示しない記憶媒体に記憶されている。従って、アーム制御部43は、対応関係U2に基づいて、任意の座標系におけるベクトルを他の座標系におけるベクトルに変換することができる。例えば、アーム制御部43は、力覚センサーPの出力に基づいてセンサー座標系でのロボット1への作用力を取得し、ロボット座標系におけるTCPの位置に作用する力に変換することができる。また、アーム制御部43は、力制御座標系で表現された目標力をロボット座標系におけるTCPの位置における目標力に変換することができる。むろん、対応関係U1,U2は記憶部41に記憶されていても良い。
アーム制御部43は、アームを駆動することによって、ロボット1とともに移動する各種の部位の位置や各種の部位に作用する力を制御することができ、位置の制御は主に位置制御部43a、力の制御は主に力制御部43bによって実行される。サーボ43cは、サーボ制御を実行することが可能であり、エンコーダーE1〜E6の出力が示すモーターM1〜M6の回転角度Daと、制御目標である目標角度Dtとを一致させるフィードバック制御を実行する。すなわち、サーボ43cは、回転角度Daと目標角度Dtとの偏差、当該偏差の積分、当該偏差の微分にサーボゲインKpp,Kpi,Kpdを作用させたPID制御を実行することができる。
さらに、サーボ43cは、当該サーボゲインKpp,Kpi,Kpdが作用した出力と、回転角度Daの微分との偏差、当該偏差の積分、当該偏差の微分にサーボゲインKvp,Kvi,Kvdを作用させたPID制御を実行することができる。当該サーボ43cによる制御は、モーターM1〜M6のそれぞれに対して実行可能である。従って、各サーボゲインはロボット1が備える6軸のそれぞれについて実行可能である。
記憶部41には、ロボット1を制御するためのパラメーター41aおよびロボットプログラム41bが記憶される。本実施形態において、パラメーター41aおよびロボットプログラム41bは、教示によって生成され、記憶部41に記憶される。なお、ロボットプログラム41bは、主に、ロボット1が実施する作業のシーケンス(工程の順序)を示し、予め定義されたコマンドの組み合わせによって記述される。また、パラメーター41aは、主に、各工程を実現するために必要とされる具体的な値であり、各コマンドの引数として記述される。
すなわち、本実施形態において、一連の作業は複数の工程に分けられ、各工程に含まれる位置制御や力制御において参照されるパラメーターがパラメーター41aとして記憶部41に記憶される。位置制御に使用するパラメーター41aは、より具体的には、各工程におけるロボット1のTCPの始点としての目標位置および終点としての目標位置を含み、これらの位置は、例えばロボット座標系で定義される。すなわち、ロボット座標系の各軸についての並進位置と回転位置とが定義される。力制御に関するパラメーター41aは、例えば、目標力を示すパラメーターであり、目標力ベクトルの起点と、起点からの6軸成分(3軸の並進力、3軸のトルク)を示すパラメーターやインピーダンスパラメーター(後述するm,d,k)等である。
本実施形態において目標位置取得部42は、記憶部41を参照してパラメーター41aおよびロボットプログラム41bを取得する。このように、本実施形態においてはパラメーター41aおよびロボットプログラム41bに基づいてTCPの目標位置が取得されるため、目標位置取得部42は、TCPの目標位置を取得する機能に相当する。なお、本実施形態においてTCPはアームの先端部に該当するため、目標位置取得部42はアームの先端部の目標位置を取得する機能である。
本実施形態において、一連の作業は複数の工程に分けられ、各工程を実施するロボットプログラム41bが教示によって生成されるが、ロボット1の作業過程において位置制御部43aは、ロボットプログラム41bが示す各工程をさらに微小時間ΔT毎の微小工程に細分化する。そして、位置制御部43aは、パラメーター41aに基づいて微小工程毎の目標位置であるサブ目標位置Ltを生成する。すなわち、位置制御部43aは、始点としての目標位置と終点としての目標位置との間をTCPが直線移動するようにサブ目標位置Ltを生成する。力制御部43bは、パラメーター41aに基づいて一連の作業の各工程における目標力fLtを取得する。
すなわち、位置制御部43aは、パラメーター41aを参照し、各工程の始点としての目標位置から終点としての目標位置まで移動する場合(姿勢の場合は姿勢が変化する場合)の微小工程毎のTCPの位置をサブ目標位置Ltとして生成する。力制御部43bは、各工程についての力制御パラメーターが示す目標力を参照し、力制御座標系とロボット座標系との対応関係U2に基づいて当該目標力をロボット座標系における目標力fLtに変換する。当該目標力fLtは、任意の点に作用する力として変換され得るが、ここでは、後述の作用力がTCPに作用している力として表現されるため、当該作用力と目標力fLtとを運動方程式で解析するため、目標力fLtがTCPの位置における力に変換されるとして説明を行う。むろん、工程によっては、目標力fLtが定義されない場合もあり、この場合、力制御を伴わない位置制御が行われる。
なお、ここでLの文字は、ロボット座標系を規定する軸の方向(x,y,z,Rx,Ry,Rz)のなかのいずれか1個の方向を表すこととする。また、Lは、L方向の位置も表すこととする。例えば、L=xの場合、ロボット座標系にて設定されたサブ目標位置のx方向成分がLt=xtと表記され、目標力のx方向成分がfLt=fxtと表記される。
位置制御や力制御を実行するため、アーム制御部43は、ロボット1の状態を取得することができる。すなわち、アーム制御部43は、モーターM1〜M6の回転角度Daを取得し、対応関係U1に基づいて、当該回転角度Daをロボット座標系におけるTCPの位置L(x,y,z,Rx,Ry,Rz)に変換することができる。またアーム制御部43は、対応関係U2を参照し、TCPの位置Lと、力覚センサーPの検出値および位置とに基づいて、力覚センサーPに現実に作用している力をTCPに作用している作用力fに変換してロボット座標系において特定することができる。
すなわち、力覚センサーPに作用している力は、センサー座標系で定義される。そこで、アーム制御部43は、ロボット座標系におけるTCPの位置Lと対応関係U2と力覚センサーPの検出値に基づいて、ロボット座標系においてTCPに作用する作用力fを特定する。また、ロボットに作用するトルクは、作用力fと、ツール接触点(エンドエフェクターとワークの接触点)から力覚センサーPまでの距離とから算出することができ、図示されないfトルク成分として特定される。なお、アーム制御部43は、作用力fに対して重力補償を行う。重力補償とは、作用力fから重力成分を除去する処理である。重力補償は、例えば、TCPの姿勢ごとにTCPに作用する作用力fの重力成分を予め調査しておき、作用力fから当該重力成分を減算するなどして実現可能である。
TCPに作用する重力以外の作用力fと、TCPに作用すべき目標力fLtとが特定されると、力制御部43bは、対象物等の物体がTCPに存在し、当該TCPに力が作用し得る状態において、インピーダンス制御による補正量ΔL(以後、力由来補正量ΔLと呼ぶ。)を取得する。すなわち、力制御部43bはパラメーター41aを参照して目標力fLtとインピーダンスパラメーターm,d,kを取得し、運動方程式(1)に代入して力由来補正量ΔLを取得する。なお、当該力由来補正量ΔLは、TCPが機械的インピーダンスを受けた場合に、目標力fLtと作用力fとの力偏差Δf(t)を解消するために、TCPが移動すべき位置Lの大きさを意味する。
Figure 2018167333
(1)式の左辺は、TCPの位置Lの2階微分値に仮想慣性係数mを乗算した第1項と、TCPの位置Lの微分値に仮想粘性係数dを乗算した第2項と、TCPの位置Lに仮想弾性係数kを乗算した第3項とによって構成される。(1)式の右辺は、目標力fLtから現実の作用力fを減算した力偏差Δf(t)によって構成される。(1)式における微分とは、時間による微分を意味する。
力由来補正量ΔLが得られると、アーム制御部43は、対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターM1〜M6の目標の回転角度である目標角度Dtに変換する。サーボ43cは、目標角度DtからモーターM1〜M6の現実の回転角度であるエンコーダーE1〜E6の出力(回転角度Da)を減算することにより、駆動位置偏差De(=Dt−Da)を算出する。サーボ43cは、駆動位置偏差DeにサーボゲインKpp,Kpi,Kpdを乗算した値と、現実の回転角度Daの時間微分値である駆動速度との差である駆動速度偏差に、サーボゲインKvp,Kvi,Kvdを乗算した値とを加算することにより、制御量Dcを導出する。制御量Dcは、モーターM1〜M6のそれぞれについて特定され、各モーターM1〜M6の制御量DcでモーターM1〜M6のそれぞれが制御される。アーム制御部43がモーターM1〜M6を制御する信号は、PWM(Pulse Width Modulation)変調された信号である。
以上のように、運動方程式に基づいて目標力fLtから制御量Dcを導出してモーターM1〜M6を制御するモードを力制御モードというものとする。またアーム制御部43は、エンドエフェクター等の構成要素が対象物Wから力を受けない非接触状態の工程では、力制御を行わず、サブ目標位置から線形演算で導出する回転角度でモーターM1〜M6を制御する。サブ目標位置から線形演算で導出する回転角度でモーターM1〜M6を制御するモードを位置制御モードというものとする。さらに、アーム制御部43は、サブ目標位置から線形演算で導出する回転角度と目標力を運動方程式に代入して導出する回転角度とを例えば線型結合によって統合し、統合した回転角度でモーターM1〜M6を制御するハイブリッドモードでもロボット1を制御することができる。これらのモードはロボットプログラム41bによって予め決められる。
位置制御モードまたはハイブリッドモードで制御を行う場合、位置制御部43aは、微小工程毎のサブ目標位置Ltを取得する。微小工程毎のサブ目標位置Ltが得られると、アーム制御部43は、対応関係U1に基づいて、ロボット座標系を規定する各軸の方向の動作位置を、各モーターM1〜M6の目標の回転角度である目標角度Dtに変換する。サーボ43cは、サーボゲインKpp,Kpi,Kpd,Kvp,Kvi,Kvdを取得し、目標角度Dtに基づいて、制御量Dcを導出する。制御量Dcは、モーターM1〜M6のそれぞれについて特定され、各モーターM1〜M6の制御量DcでモーターM1〜M6のそれぞれが制御される。この結果、各工程において、TCPは、微小工程毎のサブ目標位置Ltを経由し、各工程の始点としての目標位置から終点としての目標位置まで移動する。なお、ハイブリッドモードでは、アーム制御部43は、微小工程毎のサブ目標位置Ltに、力由来補正量ΔLを加算することにより動作位置(Lt+ΔL)を特定し、当該動作位置に基づいて目標角度Dtを取得し、制御量Dcを取得する。
以上のように、本実施形態においては、ロボット1のTCPを目標位置に移動させることによって各種の作業を行わせることができる。しかし、本実施形態において目標位置間の移動は、直線移動であるため、アームの直線的な移動先に障害物が存在する状態であると、アームと障害物とが干渉してしまう。
そこで、本実施形態においては、干渉を防止するため障害物を監視する構成を備えている。具体的には、本実施形態においてアーム制御部43は、カメラ20を制御し、カメラ20が備える撮像センサーによって撮像された画像を取得することができる。当該画像は、作業対象である対象物Wの検出に利用可能であり、本実施形態においては障害物の検出に利用される。
カメラ20から画像が出力されると、アーム制御部43は、撮像画像に基づいて物体の形状、大きさおよび位置を検出する。物体の形状、大きさおよび位置の検出は種々の手法で実施されて良く、撮像画像内の像の位置や形状、大きさに基づいて検出されても良いし、既定の形状および大きさの物体のテンプレートに基づいてテンプレートマッチング処理が行われても良いし、測距計等によって検出されても良く、種々の構成が採用可能である。
いずれにしても、物体が検出されると、アーム制御部43は、物体とアームとが干渉するか否かを判定する。すなわち、物体の形状、大きさおよび位置が特定された状態において、アーム制御部43は、現在のアームの状態からTCPが次の目標位置に達するまでの間に、アームと物体とがロボット座標系の同一位置(または既定距離以下の位置)に存在する場合、物体とアームとが干渉すると判定される。
なお、当該判定は種々の手法で行われて良く、TCPが各サブ目標位置に存在する状況でアームが占める領域を、ロボット1のアームの3次元モデルに基づいて特定し、当該領域内に物体が含まれる場合に干渉すると判定される構成等を採用可能である。むろん、他の手法、例えば、物体に接する多角形(立方体等)を想定し、当該立方体と目標位置間を結ぶ直線とが交差する場合に干渉すると判定される構成など、種々の構成を採用可能である。
物体とアームとが干渉すると判定された場合、当該物体はアームから見ると障害物である。この場合、アーム制御部43は、第1位置と目標位置を結ぶ直線に対して凸状の軌跡でTCPを移動させる。すなわち、アーム制御部43は、先端部としてのTCPが目標位置に到達する前の位置である第1位置と目標位置との間に障害物が存在する場合に、サブ目標位置を修正する。この際、サブ目標位置が凸上の軌跡となるようにサブ目標位置を修正する。修正が行われるとアーム制御部43の位置制御部43aは、修正後のサブ目標位置Ltでサーボ43cを動作させる。この結果、アームの移動先に障害物が存在する場合であっても、アームは当該障害物を回避して目標位置に移動することができる。
(3)障害物回避処理:
次に、障害物回避処理を詳細に説明する。図3、図4は、障害物回避処理のフローチャートである。本実施形態においては、ロボット1による作業中において一定期間(例えば100ms)毎に障害物回避処理の実行が開始される。障害物回避処理によって凸状の軌跡が特定された場合、次の目標位置まで障害物回避処理は開始されない。
障害物回避処理が開始されると、アーム制御部43は、物体情報を取得する(ステップS100)。すなわち、アーム制御部43は、カメラ20を制御してカメラ20の撮像画像を取得し、物体の検出処理を行う。物体が検出された場合、アーム制御部43は当該物体の形状、大きさおよび位置を示す情報を物体情報として取得する。
次に、アーム制御部43は、エンコーダーE1〜E6の出力を取得する(ステップS105)。次に、アーム制御部43は、アームの先端部の位置を取得する(ステップS110)。すなわち、アーム制御部43は、ステップS105で取得されたエンコーダーの出力に基づいて、アームの位置および姿勢を取得し、アームに連動する先端部(TCP)の位置をロボット座標系において取得する。
次に、アーム制御部43は、次の目標位置を取得する(ステップS115)。すなわち、目標位置取得部42は記憶部41を参照してパラメーター41aおよびロボットプログラム41bを取得する。取得されたパラメーター41aおよびロボットプログラム41bは位置制御部43aに受け渡され、位置制御部43aは、現在のTCPの位置の次に到達すべき目標位置を特定する。
次に、アーム制御部43は、次の目標位置までの移動過程においてアームと物体とが干渉するか否かを判定する(ステップS120)。すなわち、アーム制御部43は、サブ目標位置に基づいてアームが占める領域を取得し、ステップS100で取得された物体の形状、大きさおよび位置と比較し、物体がアームと干渉する障害物であるか否かを判定する。ステップS120において、アームと物体とが干渉すると判定されない場合、アーム制御部43は、障害物回避処理を終了する。すなわち、アーム制御部43は、障害物の回避を伴わない通常の制御を続ける。
一方、ステップS120において、アームと物体とが干渉すると判定された場合、アーム制御部43は、凸方向の基準となる基準方向を取得する(ステップS130)。当該基準方向は、繰り返し処理によって凸形状を決定する際の初期の凸方向であり、本実施形態においては、TCPの現在位置である第1位置と次の目標位置と既定の固定位置とを通る平面に垂直な方向である。
図5は、固定位置が基台Tの根元である場合における平面を一点鎖線によって模式的に示す図である。図5においては、目標位置を位置Po、第1位置を位置P1、基台Tの根元を位置Pbとして示している。また、TCPが第1位置P1に存在する状態におけるロボット1のアームを破線、TCPが目標位置Poに存在する状態におけるロボット1のアームを実線によって示している。図6は、位置P1PoPbで形成される平面を模式的に示しており、当該平面に垂直な基準方向Dbを破線の矢印によって示している。平面に垂直な方向は2方向あり得るが、いずれか一方が基準方向とされる。
次に、アーム制御部43は、回転角度増分dφと繰り返し回数Nφを取得する(ステップS135)。本実施形態においては、第1位置P1と目標位置Poを結ぶ直線を軸として凸方向を回転させながら障害物を回避可能な凸状の軌跡を探索する構成となっており、当該回転の1ステップに相当する回転角度増分dφは予め決められている。そこで、アーム制御部43は当該予め決められた回転角度増分dφを取得する。繰り返し回数Nφは当該ステップの最大回数であり、アーム制御部43は360度/dφによって繰り返し回数Nφを取得する。
次に、アーム制御部43は、凸の大きさの最大値hmax、最小値hmin、増分dhを取得する(ステップS140)。本実施形態において、凸状の軌跡は、第1位置P1と目標位置Poとを通るなめらかな曲線であり、放物線である。さらに、本実施形態においては、第1位置P1と目標位置Poとを結ぶ直線の中点から、凸方向に凸の大きさだけ離れた位置が頂点となる。
本実施形態においては、当該凸の大きさを変化させながら障害物を回避可能な凸状の軌跡を探索する構成となっており、当該変化の1ステップに相当する大きさの増分dhは予め決められている。また、凸の大きさの最大値hmax、最小値hminも予め決められている。そこで、アーム制御部43は当該予め決められた最大値hmax、最小値hmin、増分dhを取得する
次に、アーム制御部43は、大きさ変化の繰り返し回数Nhを取得する(ステップS145)。すなわち、繰り返し回数Nhは当該大きさの変化ステップの最大繰り返し回数であり、アーム制御部43は(hmax−hmin)/dhによって繰り返し回数Nhを取得する。
次に、アーム制御部43は、回転のステップ数をカウントする変数iを0に初期化し(ステップS150)、変数iが角度変化の上限回数を示す繰り返し回数Nφより小さいか否かを判定する(ステップS155)。ステップS155において、変数iが繰り返し回数Nφより小さいと判定されない場合、アーム制御部43は、図示しないディスプレイにエラーを表示して(ステップS160)、障害物回避処理を終了する。すなわち、この場合、障害物の回避が不可能であると見なされ、ロボット1の作業が停止される。この場合、人為的な障害物の除去等の後に再度ロボット1を動作させることが可能になる。
ステップS155において、変数iが繰り返し回数Nφより小さいと判定された場合、アーム制御部43は、凸方向の角度を基準方向からi・dφだけ回転させる(ステップS165)。すなわち、アーム制御部43は、i番目のステップにおける回転角をi・dφによって算出し、基準方向に対して回転させた角度を現在の角度として取得する。図6においては、i・dφがφである場合の回転角が例示されている。すなわち、この例においては、基準方向Dbから角度が矢印方向に回転するようにφが増加して凸方向が変化していく。
次に、アーム制御部43は、凸の大きさ変化のステップ数をカウントする変数jを0に初期化し(ステップS170)、変数jが大きさ変化の上限回数を示す繰り返し回数Nhより小さいか否かを判定する(ステップS175)。ステップS175において、変数jが繰り返し回数Nhより小さいと判定されない場合、アーム制御部43は、変数iをインクリメントし(ステップS177)、ステップS155以降の処理を繰り返す。
一方、ステップS175において、変数jが繰り返し回数Nhより小さいと判定された場合、アーム制御部43は、凸方向の大きさをhminからj・dhだけ増加させる(ステップS180)。すなわち、アーム制御部43は、j番目のステップにおける凸の大きさをj・dhによって算出し、大きさの最小値hminに対して加えた大きさを現在の凸の大きさとして取得する。図6においては、i・dh+hminがhである場合の大きさが例示されている。すなわち、この例においては、大きさhがhminからhmaxに変化していく。
hminやhmaxは予め決められていれば良く、任意性があるが、hminが0ではない値とされることにより、凸状の軌跡の探索における無駄な探索が減る可能性を高めることができる。すなわち、第1位置P1と目標位置Poとの間で障害物が干渉し得る場合、第1位置P1と目標位置Poとを結ぶ直線から微少量だけ変化させて凸状の軌跡を生成しても、干渉を避けられない場合が多い。そこで、hminを0ではない下限値とし、凸の大きさが当該下限値以上になるように設定すれば、凸状の軌跡の探索における無駄な探索が減る可能性を高めることができる。
さらに、ロボット1は、極めて多数の姿勢を取ることができるものの、あらゆる位置にTCPを配置できるほど任意性が高くはない場合も多い。従って、第1位置P1と目標位置Poとの間を結ぶ直線から過度に遠い領域には、ロボット1によってTCPを配置できない場合が増加し得る。そこで、hmaxを上限値とし、凸の大きさが当該上限値以下になるように設定すれば、凸状の軌跡の探索において、ロボット1で実現できない軌跡が探索される可能性を低減することができる。
次に、アーム制御部43は、凸方向の角度および大きさに基づいて放物線を取得する(ステップS185)。すなわち、アーム制御部43は、ロボット座標系において、第1位置P1と目標位置Poとを結ぶ直線を軸として基準方向Dbからφだけ回転した方向に向けて、直線から大きさhだけはなれた位置を頂点とみなす。そして、アーム制御部43は、第1位置P1と目標位置Poと頂点とを通る放物線を取得する。なお、当該放物線は、第1位置P1と目標位置Poとを結ぶ直線に垂直な方向に凸であり、当該直線を含む平面上に存在する二次曲線である。
次に、アーム制御部43は、凸状の軌跡を実現するアーム関節角度を計算する(ステップS190)。すなわち、アーム制御部43は、ステップS185で取得された放物線を、第1位置P1と目標位置Poとの間のTCPの軌道と見なす。そして、アーム制御部43は、TPCが微小時間ΔT毎に当該軌道上に位置するように微小工程毎の目標位置であるサブ目標位置Ltを算出する。なお、ロボット1は、上述のようにあらゆる位置にTCPを配置できるほど任意性が高くはないため、微小工程毎の目標位置であるサブ目標位置Ltが算出できず、ステップS190の計算が失敗する場合もある。
次に、アーム制御部43は、アーム関節角度の取得が成功したか否かを判定し(ステップS195)、成功したと判定されない場合には、変数jをインクリメントし(ステップS210)、ステップS175以降の処理を繰り返す。ステップS195において、アーム関節角度の取得が成功したと判定された場合、アーム制御部43は、凸状の軌跡において障害物と干渉するか否かを判定する(ステップS200)。すなわち、アーム制御部43は、ステップS190で取得された凸状の軌跡を実現するアーム関節角度のそれぞれに基づいてアームが占める領域を取得し、ステップS100で取得された障害物の形状、大きさおよび位置と比較し、障害物がアームと干渉するか否かを判定する。ステップS200において、アームと障害物とが干渉すると判定された場合、アーム制御部43は、ステップS210以後の処理を繰り返す。すなわち、アーム制御部43は、障害物を回避可能な凸状の軌跡の探索を続ける。
一方、ステップS200において、アームと障害物とが干渉しないと判定された場合、アーム制御部43は、凸状の軌跡を実現するアーム関節角度でロボットを制御する(ステップS205)。すなわち、アーム制御部43は、ステップS190において計算されたサブ目標位置に基づいてロボット1のアームを位置制御する。
(4)他の実施形態:
以上の実施形態は本発明を実施するための一例であり、他にも種々の実施形態を採用可能である。例えば、ロボット制御装置は、ロボットに内蔵されていても良いし、ロボットの設置場所と異なる場所、例えば外部のサーバ等に備えられていても良い。さらに、ロボット制御装置が複数のロボットを制御するように構成されていても良い。ロボット制御装置が複数の装置に分散して配置されていても良い。例えば、ロボット制御装置の一部がロボットに内蔵され、他の一部がロボットの外部のサーバ等に配置されていても良い。
さらに、上述の実施形態の一部の構成が省略されてもよいし、処理の順序が変動または省略されてもよい。例えば、凸状の軌跡が探索される際に、凸状の軌跡の候補が障害物と干渉するか否か判定された後に当該軌跡を実現するアーム関節角度が計算されても良い。また、凸方向の角度の変化と凸の大きさの変化の順序が逆であっても良い。さらに、増分dφ、dhによる回転角や大きさの増加は一様でなくても良い。例えば、最初のステップで基準方向から角度増分dφだけ増加させ、次のステップで基準方向から角度増分dφだけ減少させる処理が繰り返されても良い。また、最初のステップで基準方向から角度増分dφだけ増加させ、次のステップで基準方向+180度の方向から角度増分dφだけ増加させる処理が繰り返されても良い。さらに、最初のステップでhminから大きさの増分dhだけ増加させ、次のステップでhmaxから大きさの増分dhだけ減少させる処理が繰り返されても良い。
さらに、凸状の軌跡を探索する際のパラメーターであるdφ、dh、hmax、hminは可変であっても良い。例えば、これらのパラメーターを第1位置と目標位置との距離に応じて変化させても良いし、第1位置と目標位置との間の障害物の大きさや数等に応じて変化させても良い。前者としては、例えば、第1位置と目標位置との距離が長いほどhmaxやhminが大きく、または小さくなる構成等が挙げられる。前者としては、例えば、障害物の数が多いほどhmaxやhminが大きくなる構成等が挙げられる。
アームは、ロボットの設置位置に対して相対的に移動し、姿勢が変化するように構成されていれば良く、その自由度(可動軸の数等)は任意である。ロボットの態様は、種々の態様であって良く、直交ロボット、水平多関節ロボット、垂直多関節ロボット、双腕ロボット等であって良い。むろん、軸の数やアームの数、エンドエフェクターの態様等は種々の態様を採用可能である。
目標位置取得部は、アームの先端部の目標位置を取得することができればよい。すなわち、ロボットにおいては、アームの先端の特定の部位を目標位置に移動させる位置制御が行われ、目標位置取得部は、当該位置制御における目標位置を取得することができればよい。先端部は、位置制御の目標が設定される部位であり、アーム全体から見て線端側に位置する部位であれば良く、例えば、エンドエフェクターの先端であっても良いし、エンドエフェクターに固定された位置(TCP等)であっても良い。
目標位置は、ロボットによる作業の過程でアームの先端部が存在すべき位置や通過すべき位置等であれば良く、少なくとも1個存在する。むろん、位置制御以外の制御、例えば、力制御が併用される場合において先端部が存在すべき位置や通過すべき位置等は目標位置となり得る。
アーム制御部は、第1位置と目標位置との間に障害物が存在する場合、第1位置と目標位置を結ぶ直線に対して凸状の軌跡で先端部を移動させることができればよい。すなわち、アーム制御部は、第1位置と目標位置とを結ぶ直線の軌跡ではなく、当該直線上に存在し得る障害物を避ける凸状の軌跡を設定し、当該軌跡に従ってアームの先端部が移動するようにロボットを制御する。
障害物は、上述の実施形態のようにカメラの撮像画像に基づいて特定されても良いし、他の構成、例えば、作業空間に存在する物体(工場の生産設備の部材等)の設計情報等に基づいてアームの先端部の周囲の物体の位置を特定し、第1位置および目標位置と比較される構成等であっても良い。また、障害物は、アームの先端部やアームと干渉し得る任意の物体である。
第1位置は、先端部が目標位置に到達する前における先端部の位置であればよい。従って、第1位置が目標位置であっても良い。この場合において、2個の目標位置の間に障害物が存在するならば、両目標位置間において先端部が凸状の軌跡を移動する。
凸状の軌跡は、第1位置と目標位置を結ぶ直線に対して凸であれば良く、軌跡に沿って移動する場合に当該直線から一旦遠ざかり、後に近づく軌跡であれば良い。従って、上述の実施形態のような、なめらかな曲線以外の軌跡、例えば、階段状の軌跡であっても良い。
凸状の軌跡がなめらかの曲線である場合、当該曲線は、ロボットのアームが急激な動作を行わないような曲線であることが好ましい。すなわち、変化が大きい曲線の軌跡をアームの先端部でトレースしようとすると、変化が大きい点でアームの位置が急激に変化することがある。そこで、なめらかな曲線、例えば、微分可能な曲線によって凸状の軌跡を構成すれば、アームの位置が急激に変化する可能性を低減することができる。
第1位置と目標位置とを通る二次曲線は上述のような放物線以外にも、種々の曲線を想定可能であり、例えば、楕円や双曲線の一部である構成を採用可能である。
1…ロボット、20…カメラ、23…グリッパー、40…ロボット制御装置、41…記憶部、41a…パラメーター、41b…ロボットプログラム、42…目標位置取得部、43…アーム制御部、43a…位置制御部、43b…力制御部、43c…サーボ

Claims (6)

  1. ロボットのアームを制御するロボット制御装置であって、
    前記アームの先端部の目標位置を取得する目標位置取得部と、
    前記先端部が前記目標位置に到達する前の位置である第1位置と前記目標位置との間に障害物が存在する場合、前記第1位置と前記目標位置を結ぶ直線に対して凸状の軌跡で前記先端部を移動させるアーム制御部と、
    を備えるロボット制御装置。
  2. 前記凸状の軌跡は、前記第1位置と前記目標位置とを通るなめらかな曲線である、
    請求項1に記載のロボット制御装置。
  3. 前記凸状の軌跡は、前記第1位置と前記目標位置とを結ぶ直線に垂直な方向に凸であり、当該直線を含む平面上に存在する、
    請求項1または請求項2のいずれかに記載のロボット制御装置。
  4. 前記凸状の軌跡は、前記第1位置と前記目標位置とを通る二次曲線である、
    請求項1〜請求項3のいずれかに記載のロボット制御装置。
  5. 請求項1〜請求項4のいずれかに記載されたロボット制御装置によって制御されるロボット。
  6. 請求項1〜請求項4のいずれかに記載されたロボット制御装置と、当該ロボット制御装置によって制御される前記ロボットとを備えるロボットシステム。
JP2017064540A 2017-03-29 2017-03-29 ロボット制御装置、ロボットおよびロボットシステム Pending JP2018167333A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017064540A JP2018167333A (ja) 2017-03-29 2017-03-29 ロボット制御装置、ロボットおよびロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017064540A JP2018167333A (ja) 2017-03-29 2017-03-29 ロボット制御装置、ロボットおよびロボットシステム

Publications (1)

Publication Number Publication Date
JP2018167333A true JP2018167333A (ja) 2018-11-01

Family

ID=64019105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017064540A Pending JP2018167333A (ja) 2017-03-29 2017-03-29 ロボット制御装置、ロボットおよびロボットシステム

Country Status (1)

Country Link
JP (1) JP2018167333A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020157862A1 (ja) 2019-01-30 2020-08-06 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法および記録媒体
JP7421076B2 (ja) 2019-12-26 2024-01-24 株式会社デンソーウェーブ ロボットの制御装置
CN117754562A (zh) * 2023-11-14 2024-03-26 湖南视比特机器人有限公司 一种双臂共y轴桁架机器人搬运轨迹规划方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020157862A1 (ja) 2019-01-30 2020-08-06 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法および記録媒体
JPWO2020157862A1 (ja) * 2019-01-30 2021-11-11 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法およびプログラム
JP7180695B2 (ja) 2019-01-30 2022-11-30 日本電気株式会社 障害物回避制御装置、障害物回避制御システム、障害物回避制御方法およびプログラム
JP7421076B2 (ja) 2019-12-26 2024-01-24 株式会社デンソーウェーブ ロボットの制御装置
CN117754562A (zh) * 2023-11-14 2024-03-26 湖南视比特机器人有限公司 一种双臂共y轴桁架机器人搬运轨迹规划方法及系统

Similar Documents

Publication Publication Date Title
US10618164B2 (en) Robot system having learning control function and learning control method
Stolt et al. Force controlled robotic assembly without a force sensor
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
JP6592969B2 (ja) 嵌合方法
JP2018126798A (ja) 制御装置、ロボットおよびロボットシステム
JP2018126799A (ja) 制御装置、ロボットおよびロボットシステム
US11040451B2 (en) Teaching device and teaching method
JP2018126796A (ja) 制御装置、ロボットおよびロボットシステム
JP2018126797A (ja) 制御装置、ロボットおよびロボットシステム
JP2018039099A (ja) ワークの接触状態推定装置及び接触状態推定方法
Takahashi et al. Passive alignment principle for robotic assembly between a ring and a shaft with extremely narrow clearance
JP7306937B2 (ja) ロボットに支持された部材の位置を調整するロボット装置の制御装置
JP2018167333A (ja) ロボット制御装置、ロボットおよびロボットシステム
CN113189950B (zh) 用于大型弱刚性结构件装配的双机器人协同柔顺装调方法
JP6322949B2 (ja) ロボット制御装置、ロボットシステム、ロボット、ロボット制御方法及びロボット制御プログラム
CN111515928B (zh) 机械臂运动控制系统
CN113858189B (zh) 机器人的控制方法及机器人系统
JP6697544B2 (ja) 最適化装置及びそれを備えた垂直型多関節ロボット
JP2019111604A (ja) 制御装置、ロボット、およびロボットシステム
Ranjan et al. Identification and control of NAO humanoid robot to grasp an object using monocular vision
WO2018088199A1 (ja) ロボット制御装置、ロボット、ロボットシステム、及び、ロボット制御方法
Miyabe et al. An approach toward an automated object retrieval operation with a two-arm flexible manipulator
Shauri et al. Sensor integration and fusion for autonomous screwing task by dual-manipulator hand robot
JP2016221646A (ja) ロボットおよびロボットシステム
US11318611B2 (en) Multi center impedance control

Legal Events

Date Code Title Description
RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180910