JP5893666B2 - 力に応じて動かすロボットのロボット制御装置およびロボットシステム - Google Patents

力に応じて動かすロボットのロボット制御装置およびロボットシステム Download PDF

Info

Publication number
JP5893666B2
JP5893666B2 JP2014082732A JP2014082732A JP5893666B2 JP 5893666 B2 JP5893666 B2 JP 5893666B2 JP 2014082732 A JP2014082732 A JP 2014082732A JP 2014082732 A JP2014082732 A JP 2014082732A JP 5893666 B2 JP5893666 B2 JP 5893666B2
Authority
JP
Japan
Prior art keywords
force
axis
robot
axes
operation axis
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
JP2014082732A
Other languages
English (en)
Other versions
JP2015202537A (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.)
FANUC Corp
Original Assignee
FANUC 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 FANUC Corp filed Critical FANUC Corp
Priority to JP2014082732A priority Critical patent/JP5893666B2/ja
Priority to CN201510152002.7A priority patent/CN104972463B/zh
Priority to DE102015004484.2A priority patent/DE102015004484B4/de
Priority to US14/684,930 priority patent/US9566707B2/en
Publication of JP2015202537A publication Critical patent/JP2015202537A/ja
Application granted granted Critical
Publication of JP5893666B2 publication Critical patent/JP5893666B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • B25J13/085Force or torque sensors

Description

本発明は、ロボットに作用する力にもとづいて、ロボットを移動させるロボット制御装置と、該ロボットおよび該ロボット制御装置を含むロボットシステムに関する。
ロボットに力を作用させることにより、ロボットを移動させるロボットの操作方法や、ロボットを移動させて位置を教示する方法として、ダイレクトティーチが知られている。これを用いて、ロボットに対して所望の移動方向に力を作用させて直接的に誘導することによって、ロボットを直交座標系上における所望の位置および/または姿勢に移動させることができる。
これに関連する技術として、特許文献1には、ロボットの腕の先端に取付けた力検出器の手動操作部を操作したとき、力検出器より発生する信号をもとに、ロボットの腕の先端の位置、姿勢を移動させる方法が開示されている。
また特許文献2には、ロボットに設けた力センサで、手先効果器に人為的に加えた力を検出し、この検出で得られた力信号を用いてロボットアームの動作を制御する際、操作方向設定手段で設定された方向にのみロボットアームを誘導するロボットの直接教示装置が開示されている。
特開昭56−85106号公報 特開平06―250728号公報
特許文献1に記載の方法は、力に応じて、ロボットの先端部の直交座標系上での位置および/または姿勢を移動させることができるが、ダイレクトティーチ中に、各軸を所望の位置に移動させることはできない。
特許文献2に記載の装置では、ダイレクトティーチによりロボットを移動させるとき、その移動方向を制限して、制限した方向にのみ移動させることによって、操作性の向上を実現している。この制限する方向は、ロボットの先端のデカルト座標系上での位置および/または姿勢に関する方向であって、ダイレクトティーチ中に、各軸の制御に切り替え、ある所望の軸だけ動かすようにするなどの、駆動する軸の制限に関する方法などは提案されていない。
そこで本発明は、ロボットの先端部に力を作用させて、ロボットの先端部の直交座標系上での位置および/または姿勢を変更する際に、移動が困難な位置に移動させることができ、さらに、特別な入力装置などを用いることなく、移動方法の切り替えの入力作業をおこなう必要もなく、軸を所望の位置に簡易に移動させることができるロボット制御装置と、該ロボット制御装置および該ロボットを含むロボットシステムを提供することを目的とする。
上記目的を達成するために、本願第1の発明は、複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、前記ロボットの先端部に作用させた力を計測する力計測部と、前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、前記ロボットを移動させる指令を出力する操作指令部と、前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向をもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置を提供する。
本願第2の発明は、複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、前記ロボットの先端部に作用させた力を計測する力計測部と、前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、前記ロボットを移動させる指令を出力する操作指令部と、前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸と前記ロボットの先端部との位置関係をもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置を提供する。
本願第3の発明は、複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、前記ロボットの先端部に作用させた力を計測する力計測部と、前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、前記ロボットを移動させる指令を出力する操作指令部と、前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向、および、前記操作軸と前記ロボットの先端部との位置関係の内の少なくとも一方と、所定の優先順位とをもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置を提供する。
本願第4の発明は、2つ以上の回転軸を含む複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、前記ロボットの先端部に作用させた力を計測する力計測部と、前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、前記ロボットを移動させる指令を出力する操作指令部と、前記複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、前記操作軸設定部は、前記複数の軸の内、前記複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を前記操作軸として設定し、前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置を提供する。
本願第5の発明は、2つ以上の回転軸を含む複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、前記ロボットの先端部に作用させた力を計測する力計測部と、前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、前記ロボットを移動させる指令を出力する操作指令部と、前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、前記操作軸設定部は、前記複数の軸の内、前記複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を前記操作軸として設定し、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向、前記操作軸と前記ロボットの先端部との位置関係、および、所定の優先順位の内、少なくとも1つをもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置を提供する。
本願第6の発明は、第1〜第5のいずれか1つの発明に係るロボット制御装置と前記ロボットとを含むロボットシステムを提供する。
本願第7の発明は、第6の発明において、前記ロボットシステムは、前記ロボット制御装置に設定を入力する教示操作装置を備え、前記操作軸設定部は、前記教示操作装置からの入力をもとに前記操作軸を設定し、前記教示操作装置は、前記操作軸として設定可能な軸の内、操作軸とする軸が組み合わされた選択肢から選択して入力する、ロボットシステムを提供する。
本願第8の発明は、第6の発明において、前記ロボットシステムは、前記ロボット制御装置に設定を入力する教示操作装置を備え、前記操作軸設定部は、前記教示操作装置からの入力をもとに前記操作軸を設定し、前記教示操作装置は、前記複数の軸の内、前記操作軸として選択可能な軸を示し、選択された軸をもとに、前記選択された軸以外の軸において、前記操作軸として前記選択された軸と同時に選択可能であることと、前記選択された軸と同時に選択可能でないこととの少なくとも一方を表示する、ロボットシステムを提供する。
本願第9の発明は、第1〜第3および第5のいずれか1つの発明に係るロボット制御装置と前記ロボットとを含むロボットシステムであって、前記ロボットシステムは表示装置を備え、前記表示装置は、前記操作軸設定部が前記操作軸を、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定するときの設定条件を表示する、ロボットシステムを提供する。
本願第10の発明は、第7または第8の発明において、前記教示操作装置は、前記ロボットの現在の軸の位置をもとに、前記複数の軸の内の回転軸の回転中心線から、前記ロボットの先端部までの最短距離が所定の閾値以下であるときに、前記回転軸の回転中心線の付近に前記ロボットの先端部が存在することを示すか、または、前記操作軸として該軸を含む軸の設定を設定可能としないことを示す、ロボットシステムを提供する。
本発明によれば、ロボットの先端部に力を作用させることによって、ロボットを移動させる操作方法において、特別な入力装置などを用いることなく、また、移動方法の切り替えの入力作業をおこなうことなく、所望とする軸の位置を、より簡易に移動させることができる。
本発明の一実施形態に係るロボット制御装置によって制御されるロボットを具備するロボットシステムの概略構成を示す図である。 本発明の一実施形態に係るロボット制御装置の構成を機能的に示す図である。 本発明の一実施形態に係るロボット制御装置による処理の過程を示すフローチャートである。 操作力算出部によって操作力を算出する方法の一例を説明するための図である。 操作力算出部によって操作力を算出する方法の一例を説明するための図である。 操作軸に対して、移動させる操作軸とするか否かを、判定、設定する方法の一例を説明するための図である。 操作軸に対して、移動させる操作軸とするか否かを、判定、設定する方法の一例を説明するための図である。 操作軸に対して、移動させる操作軸とするか否かを、判定、設定する方法の一例を説明するための図である。 本発明の一実施形態に係るロボット制御装置による処理の過程を示すフローチャートである。 本発明の一実施形態に係るロボット制御装置による処理の過程を示すフローチャートである。 本発明の一実施形態に係るロボット制御装置によって制御されるロボットを具備するロボットシステムにおける、教示操作装置の取りつけ位置の一例を示す図である。 本発明の一実施形態に係るロボット制御装置によって制御されるロボットを具備するロボットシステムにおける、教示操作装置の取りつけ位置の一例を示す図である。 本発明の一実施形態に係るロボット制御装置に設定を入力する教示操作装置に表示する画面の一例を示す図である。 本発明の一実施形態に係るロボット制御装置に設定を入力する教示操作装置に表示する画面の一例を示す図である。
以下、添付図面を参照して本発明の実施形態を説明する。以下の図面において同様の部材には同様の参照符号が付けられている。なお理解を容易にするために、図面での縮尺は適宜変更している。
本願明細書において、「力」とは、特に断らない限り、力の並進方向成分および力のモーメント成分を含むものとし、「位置および/または姿勢」とは、位置および姿勢の少なくとも一方を含むものとする。また、「軸」とは、ロボットを構成するリンクとリンクとをつなぐ関節部分であり、リンクとリンクとの位置関係や角度関係を変える部分とする。例えば、軸の位置(回転軸の場合の位置は、角度とする)を変えることによって、リンクとリンクとの位置関係を変えることができ、ロボットの先端部の位置および/または姿勢を変えることができる。なお、軸とする部分とは異なる箇所に、軸の位置を移動させるアクチュエータを配置してもよい。さらに、「力制御ゲイン」とは、作用する力に応じてロボットを移動させる力制御において、作用する力の大きさをもとに、制御周期毎の、直交座標系上のロボットの先端部の位置および/または姿勢や、ロボットの各軸の位置などの移動量を求めるための係数とする。
また、ロボットの軸の回転中心線回りに作用させる力、または、ロボットの軸の回転中心線回りにかかる力とは、ロボットの軸が回転軸の場合であって、座標系の1つの軸がロボットの軸の回転中心線と一致するように、ロボットの軸に対して座標系を設定するとき、その座標系上で、ロボットの軸の回転中心線と直交する平面、かつ、原点がロボットの軸の回転中心線とその平面との交点である、平面において存在する並進方向の力、または、ロボットの軸の回転中心線回りに作用する力のモーメントとする。
図1は、本発明の一実施形態に係るロボット制御装置10と、ロボット制御装置10によって制御されるロボット50を具備するロボットシステム11の構成例を示す概略図である。ロボット制御装置10は、所定の制御周期毎にロボット50の各軸の位置を制御するように構成されている。
ロボットシステム11では、操作者60がロボット50の先端部58に力(外力)を作用させたとき、ロボット制御装置10は、力計測部21(図2参照)が計測したロボット50の先端部58に作用する力、設定されたデータ、およびロボット50の位置データなどにもとづいて、ロボット50の各軸を移動させるアクチュエータを制御して、ロボット50を構成する軸の位置を変え、ロボット50を移動させる。またロボット制御装置10は、演算処理装置、ROM、RAMなどを含むハードウェア構成を有しており、後述する種々の機能を実行する。
以下、図1を参照しつつ、ロボット50の構造をより具体的に説明する。図1の実施形態では、ロボット50は、6軸構成の垂直多関節型ロボットであるが、各軸の位置が制御可能、また、直交位置が制御可能なロボットであれば、前記構造を有する任意の公知のロボットにも同様に適用可能である。また本実施形態では、6つの軸はいずれも回転軸であるが、直動軸を含んでも構わない。
ロボット50は6つの軸、すなわち、ロボット50の台座59に近い側から順に、1番目の軸をJ1軸51、2番目の軸をJ2軸52、3番目の軸をJ3軸53、4番目の軸をJ4軸54、5番目の軸をJ5軸55、6番目の軸をJ6軸56、とする軸を有する。J1軸51、J4軸54、J6軸56は、図面上で、軸と軸をつなぐ、リンク回りに回転する(すなわちこの軸位置では紙面に平行な)回転軸R1を有し、J2軸52、J3軸53、J5軸55は、図面上で、軸と軸をつなぐ、リンクとは直交する方向回りに回転する(すなわちこの軸位置では紙面に垂直な)回転軸R2を有する。なお、図1は、ロボット50の軸の構成を表すための簡易的な説明図である。また、各軸の原点を、各軸に設定した座標系の原点でありかつリンクとリンクとが接続される点として定義すると、各軸の原点の位置は、空間に設定した座標系(以降、基準座標系とも称する)上の位置として表される。図1の構成では、J1軸51とJ2軸52の軸の原点は同じ位置にあり、J3軸53とJ4軸54の原点は同じ位置にあり、J5軸55とJ6軸56の原点は同じ位置にあるとする。
本実施形態では、回転軸に対して当該軸の位置を移動させる、と述べる場合、当該軸の位置とは回転軸の回転角度であり、「軸の位置を移動させる」とは当該回転軸を回転させて位置を変えることを意味する。また、「軸の原点の位置」とは、空間に対して設定した座標系(基準座標系)上の、各軸に設定した座標系の原点の位置を表すものとする。また、基準座標系とは、空間に対して固定した直交座標系上で、ロボット50の先端部58やフランジ部57(ロボット50に対する先端部58の取りつけ部位)、また各軸に設定した座標系などの、位置および/または姿勢を表すための座標系とする。
また、空間に対して設定した基準座標系上の、ロボット50の位置および/または姿勢を表すため、ロボット50に対して設定した座標系をツール座標系とし、ツール座標系の原点であり、かつ、並進移動させる点または回転移動させるときの中心点を制御点とする。さらに、基準座標系に平行に、制御点に対して設定した座標系を制御座標系とする。なお、制御点の位置は、ロボット50に対して設定する位置であれば、任意の位置であって構わない。
ロボット50の先端部58は、ロボット50の台座59から最も遠い軸(ここではJ6軸56)の先端側(ロボット50のフランジ部57)に取りつけられている物体が存在する部分である。ロボット50の先端部58には、図示しないが、6軸の力センサが取りつけられている。ロボット制御装置10は、所定時間毎に検出された力センサの出力をもとに、力計測部21によって、操作者がロボット50の先端部58に作用させた力を計測する。
力計測部21は、ロボット50の先端部58における、力を計測する点に原点がある座標系を設定して、ロボット50の先端部58に作用させた力として、その座標系上の、力の並進方向の成分Fおよび力のモーメント成分Mを計測する。以下、この座標系を力計測座標系とし、力計測座標系の原点を力計測点とする。このとき、ロボット50の先端部58に設定した座標系のX軸、Y軸、Z軸の力の並進方向成分をそれぞれFx、Fy、Fzと表すとともに、X軸、Y軸、Z軸回りで検出される力のモーメント成分をそれぞれMx、My、Mzと表す。
ここで、力計測点は、操作者が力を作用させる作用点、または、力センサに設定したセンサ座標系の原点、センサ座標系の軸上の点などに設定することができる。本実施形態では、6成分を計測するが、力の並進方向成分F、または、力のモーメント成分Mを計測するようにしてもよい。また、力センサの取りつけ位置は、ロボット50の先端部58に作用させた力を計測できる限り、任意の箇所であってよい。また、ロボット50の先端部58に作用する力を計測する計測手段は、6軸の力センサでなくともよく、例えば3軸の力センサを用いてもよい。或いは、力センサを使用する代わりに、ロボット50を構成する軸を移動させるアクチュエータがモータである場合の電流値、または、軸の指令位置と実際の軸の位置との間の偏差、または、各軸に取りつけたトルクセンサの出力などをもとに、ロボット50の先端部58に作用する力を推定してもよい。
ロボット50の先端部58には、ワークを加工したり、ワークを搬送したりするなどの作業をおこなうためのツールや、力に応じた移動操作をおこなうための操縦装置などを取りつけることができる。操縦装置は例えば、操作者60が把持可能なハンドルや操縦桿の形態を有し、教示をおこなうためのボタン等を具備することができる。力センサをロボット50の先端部58に取りつけるとき、ロボット50に取りつけた力センサに対してツールや操縦装置を取りつけてもよいし、または、ロボット50に取りつけたツールに対して力センサを取りつけ、その先に操縦装置を取りつけてもよい。ロボット50の先端部58に力を作用させるときは、操縦装置を用いずに力センサに取りつけたツールに対して力を作用させてもよいし、または、力センサに取りつけた操縦装置に対して力を作用させるようにしてもよい。
力センサに取りつけたツールや操縦装置に対して、操作者が力を作用させて、ロボット50を移動させる場合、力計測部21は、力センサが検出した力にもとづいて、ロボット50の先端部58に操作者が作用させた正味の力を計測する。ここで、ロボット50の先端部58に取りつけたツールに、力センサと操縦装置を組み合わせた装置を取りつけると、力センサに取りつけられた物体が、重力や慣性力によって力センサに及ぼす影響が小さくなり、正味の力を求める場合の誤差も小さくなる。
また、ツールに対して、力センサと操縦装置を組み合わせた装置を簡易に着脱可能とすべく、磁石やばねなどを用いて構成される機構などを用いて取りつけることによって、力に応じてロボット50を移動操作させる場合にのみ、力を検出する装置を取りつけることが可能となる。これによって、教示操作が不要な時には装置を取り外しておいたり、必要に応じて他のロボットシステムで使用したりすることが可能となる。
図2は、本発明の第1の実施形態に係るロボット制御装置10の構成を機能的に示す図である。図示されるように、ロボット制御装置10は、力計測部21と、操作力算出部22と、操作指令部23と、操作軸設定部24と、記憶部25と、入力部71と、表示出力部72とを具備している。
力計測部21は、操作者が、ロボット50の先端部58に作用する正味の力を計測する。このとき、力計測部21は、力センサが検出した力に対して、力センサに取りつけられたツールや操縦装置、または把持したワークなどの物体が、重力や慣性力(コリオリ力、ジャイロ効果を含む)などによって及ぼす影響を必要に応じて補償して、ロボット50の先端部58に操作者が作用させた正味の力を計測する。力センサに取りつけられた物体が及ぼす重力や慣性力の影響の補償は、公知の方法でおこなうことができる。例えば、力センサに取りつけられた物体に対して、操作者が力を作用させる前に、質量や重心を算出しておき、前記算出した物体の質量および重心と、ロボットの移動動作を参照すると共に、例えば特開2008−142810号公報に開示される手法によって算出することができる。
操作力算出部22は、力計測部21が計測した、ロボット50の先端部58に作用する、力の並進方向の成分および/または力のモーメント成分を含む力をもとに、ロボット50の各軸の位置を移動させるための操作力を算出する。操作力算出部22は、例えば、本実施形態のように移動させる軸が回転軸である場合、次のようにして操作力を算出する。
力計測部21が計測した、ロボット50の先端部58に実際に作用する正味の力(計測値)をもとに操作力を算出する。または、ロボット50の先端部58に作用する力をもとに、移動させる軸に対して、仮想的に作用するとした力である仮想力を操作力として算出してもよい。具体的には、移動させる軸に対して、軸の回転中心線に直交する平面に、ロボット50の先端部58に作用する並進方向の力を射影したとき、軸に対して、正負のどちらの回転方向を向いているかをもとに、換言すれば、軸の回転中心線回りに作用する並進方向の力の向きをもとに、軸を移動させる操作力の方向を定め、力計測部21が計測した並進方向の力の大きさ、または、前記射影した力の大きさ、または、前記射影した力の、回転中心線から射影した力の作用点までの位置ベクトルに直交する成分の大きさをもとに、操作力の大きさを求める。
また、力計測部21が計測した、ロボット50の先端部58に作用する力をもとに、移動させる軸に対して、回転中心線回りの力のモーメントを算出して、操作力を求めてもよい。或いは、力計測部21が計測した、ロボット50の先端部58に作用する力をもとに、移動させる軸に対して、回転中心線回りの力のモーメントを算出するときに、適宜、力のベクトルや、位置ベクトルの算出方法を工夫して、操作性を向上させるようにモーメントを算出し、操作力を求めてもよい。
また、移動させる軸に対して、軸の回転中心線回りに作用する力のモーメントの正負をもとに、軸を移動させる操作力の方向を定め、力計測部21が計測した力の大きさをもとに、操作に応じた適切な操作力の大きさを求めてもよい。なお、操作力の方向は、移動させる軸の移動方向を定めることができるような、方向、正負の符号など、順方向か逆方向を定めるものであればよい。また、力に応じて移動させるときのロボットの操作性を向上させるために、必要に応じて、操作中のロボットの移動方向、移動速度などを考慮して、操作力を調整することが好ましい。なお本実施形態では、回転軸の場合を示したが、操作する軸が直動軸である場合、軸方向の力の並進方向の成分を算出する。
操作軸設定部24は、前記複数の軸(すなわちJ1軸51、J2軸52、J3軸53、J4軸54、J5軸55およびJ6軸56)の内、力に応じて移動させる軸を操作軸として設定するとともに、力の方向に応じた操作軸の移動方向を設定する。また、操作軸が複数である場合、移動操作の状況に応じて、操作軸に対する移動させるか否かの設定、換言すれば、操作軸とした軸の内、どの軸を移動させ、どの軸は移動させないようにするかを設定する。
力に応じて移動させる軸(すなわち操作軸)の選定では、操作者からの入力をもとに設定してもよいし、ロボット50の現在の各軸の位置をもとに設定してもよい。力の方向に応じた操作軸の移動方向は、予め設定された値にもとづいて設定してもよいし、または、移動操作中の、ロボット50の各軸の位置や、ロボット50の先端部58に作用する力に応じて、設定するようにしてもよい。操作軸が複数である場合に、移動操作の状況に応じて、操作軸に対して移動させるか否かを設定するとき(換言すれば、操作軸の内、移動させる軸を選定するとき)は、操作軸に対する、力計測部21が計測した力の方向や、操作軸とロボット50の先端部58との位置関係や、所定の優先順位などをもとにして設定する。
操作指令部23は、ロボット50の先端部58に作用させた力にもとづいてロボット50を移動させるように、操作軸設定部24の設定、および、力計測部21が計測した力をもとに操作力算出部22が算出した操作力にもとづいて、操作軸の位置を移動させる操作指令を出力する。操作指令部23は、操作軸が複数あるとき、操作軸設定部24の設定にもとづいて、移動操作の状況に応じて、操作軸の内、どの軸を移動させるかを定めて、その軸を移動させる操作指令を出力する。操作力にもとづいて操作指令を生成するときには、力制御ゲインによって、操作力に対する移動速度を定めてもよい。また、操作時の状況に応じて、操作力に対する応答性を下げたり、速度を加減速したりするなど、必要に応じて移動速度を調整することが好ましい。
記憶部25には、力計測部21が力を計測するために必要なパラメータ、操作力算出部22が操作力を算出するために必要なパラメータ、操作軸設定部24が操作軸を設定するために必要なパラメータや設定の結果など、各種の計算に必要なパラメータおよび計算結果などが記憶される。
入力部71は、ロボット制御装置10に接続されるとともに各種設定を入力することのできる入力装置から転送されるデータや、他の制御装置やコンピュータに入力された設定がネットワークを介してロボット制御装置10に転送されるデータ等などの、ロボット制御装置10に入力されたデータを受信して処理する。
表示出力部72は、各種設定などを入力するときに必要な情報、操作軸設定部24によって設定された操作軸、操作軸の力の方向に応じた移動方向、操作軸に対する移動させるか否かの設定、などの表示出力処理を実行する。
次に、操作者がロボット50の先端部58に力を作用させて、ロボット50を移動させるときの、本発明の第1の実施形態に係るロボット制御装置10による処理の一例を図3を参照して説明する。図3は、ロボット制御装置10による処理の過程の一例を示すフローチャートである。
ロボット50を移動させる処理が開始され、操作者60などによってロボット50の先端部58に外力が作用すると、力計測部21が、先端部58に作用する力を計測する(ステップS1)。次に操作軸設定部24が、力に応じて移動させる操作軸を設定するとともに、力の方向に応じた操作軸の移動方向を設定する(ステップS2)。
次に、力計測部21が計測したロボット50の先端部58に作用する力をもとに、操作軸設定部24が設定した操作軸に対して、操作力算出部22が、操作軸の位置を移動させるための操作力を算出し(ステップS3)、操作軸設定部24が、操作軸が2つ以上であるか否かを判定する(ステップS4)。この判定は、操作軸が複数ある場合、移動操作の状況に応じて、力に応じて移動させるとした軸の内、移動させる軸と移動させない軸を設定するか否かを判定するためのものである。操作軸が2つ以上である場合、ステップS6へ進む。操作軸が2つ未満である場合、ステップS5へ進む。
操作軸設定部24は、操作軸が1つのときは、当該操作軸を「移動させる軸」として設定する(換言すれば「移動させない軸」とはしない)(ステップS5)。一方、操作軸が2つ以上であるときは、操作軸設定部24は、移動操作の状況に応じて、操作軸とした軸の各々に対して、移動させるか否かを設定する(ステップS6)。つまり、力に応じて移動させるとした操作軸が複数ある場合、所望の軸を移動させるため、ステップS6によって、移動操作の状況に応じて、移動させる軸と、移動させない軸とを設定する。次に操作指令部23は、操作力算出部22が算出した操作力、操作軸設定部24の設定をもとに、操作軸の位置を移動させる操作指令を生成して出力する(ステップS7)。
ここでステップS3において、操作力算出部22が、操作軸の位置を移動させるための操作力を算出する処理のいくつかの例について、さらに説明する。なおこれらの算出処理は、操作軸毎に異なっていてもよいし、移動操作の状況に応じて適宜異なっていてもよい。
図4は、ロボット50の先端部58において、力Fsが作用していることが、力計測部21によって計測されていることを示す図である。力Fsは、力の並進方向の成分Fおよび力のモーメント成分Mを含み、力の並進方向の成分Fx、Fy、Fzおよび力のモーメント成分Mx、My、Mzから成る力とする。操作軸に対して座標系を設定するときは、操作軸の回転中心線と座標系のZ軸が一致するように座標系を設定する。力計測部21が計測した力Fsを、この操作軸に設定した座標系上の力に座標変換して、算出される力におけるZ軸回りの力のモーメントを、操作力として求めることができる。
或いは、操作力は次のように求めてもよい。図5は、図4に示した、ロボット50を構成する複数の軸の内のいずれかの軸を操作軸31とした場合に、力計測部21が計測した力Fsをもとに、操作力算出部22が、操作軸31に対する操作力を算出する方法を説明する図である。まず操作軸31に対して、点P1、X軸Ax,Y軸Ay、Z軸Az軸で構成される座標系を設定する。この設定は、操作軸31の基準座標系上の位置を表す点P1が座標系の原点となり、Z軸Azが操作軸31の回転中心線と一致し、X軸Ax、Y軸Ayの成す平面Cが操作軸の回転中心線と直交する平面となるようにおこなわれる。平面Cは、操作軸31に設定した座標系の、X軸Ax、Y軸Ayが成す平面(X−Y平面)とする。また、点P2は、ロボット50の先端部58に作用させた力を計測するときの力計測座標系の原点である、力計測点を平面Cに射影した点とする。ここで、力計測部21が計測した力Fsのモーメント成分の力M(Mx、My、Mz)を、平面C上の力のモーメントに座標変換した力のモーメントを力のモーメントM21、または、操作軸31に設定した座標系上の力のモーメントに変換したときのZ軸Az回りの力のモーメントを力のモーメントM21とする。
位置ベクトルPvは、平面Cにおける、点P1から点P2への位置ベクトルである。位置ベクトルPvの大きさは、操作軸の回転中心線と力計測点との最短距離となる。力Fpは、力計測部21が計測した力Fsの並進方向の成分の力F(Fx、Fy、Fz)をもとに、平面C上で、操作軸の回転中心線回りに作用する力として求めた、並進方向の力である。或いは、並進方向の成分の力Fを平面Cに射影して得られる並進方向の力を、力Fpとしてもよい。また、力Fsの並進方向の成分の力Fをもとに力Fpを求めるとき、力Fsの並進方向の成分の力Fが作用する方向と、所定方向への方向の回転操作とをもとに力Fpを算出するようにしてもよい。なお、平面C上の力Fpを求めるときに、力Fsの並進方向の成分の力Fの方向の変動によって、力Fによって求まる力Fpの大きさが変動することを軽減させるようにしてもよい。
次に、平面C上の力Fpと、位置ベクトルPvとの外積演算によって求めた力のモーメントM11または力のモーメントM21をもとに操作力を求める。具体的には、位置ベクトルPvの大きさが所定の閾値より小さいときは、力のモーメントM21を操作力とする。一方、位置ベクトルPvの大きさが所定の閾値以上であるときは、位置ベクトルPvと力Fpの外積演算から力のモーメントを算出し、算出した力のモーメントM11を操作力とする。または、算出した力のモーメントM11と、力のモーメントM21とを足し合わせた力のモーメントを操作力としてもよい。或いはさらに、力のモーメントM11と、力のモーメントM21のそれぞれに係数をかけて、すなわちそれぞれの影響力を考慮した重み付けをした上で、足し合わせるようにしてもよい。その際、これらの係数は、位置ベクトルPvの大きさや、力Fpの大きさなどをもとに調整してもよい。
力計測部21が計測した力Fsの力のモーメント成分の力Mの影響を排除するようにしたい場合や、力Fsの並進方向の力のみで移動させたい場合、力のモーメントM21を考慮せず、力のモーメントM11のみを操作力とすることが好ましい。また、力Fpの大きさが同じであっても、位置ベクトルPvの大きさによって、算出される力のモーメントM11の大きさは変わってしまう。このため、力のモーメントM21とは異なり、力のモーメントM11は、ロボット50の先端部58の位置の移動によって大きさが変わり、操作力が変動してしまう。このため、位置ベクトルPvの大きさが所定の閾値以上でありかつ、力Fpの大きさが所定の閾値より小さい場合には、力のモーメントM21のみを操作力とすることが好ましい場合がある。
以上のように、力計測部21が計測した力Fsの並進方向の成分の力Fをもとに求めた平面C上の力Fpと、平面C上の位置ベクトルPvとをもとに求めた力のモーメントM11および/または力計測部21が計測した力Fsの力のモーメント成分の力Mをもとに求めた力のモーメントM21をもとに、操作軸31に仮想的に作用する力を、操作力として求める。この力のモーメントM11を求めるとき、前述のように力Fの方向の変動によって、力Fpの大きさがなるべく変動しないように力Fpを求めたり、力Fpの方向を方向に応じて代表的な方向となる並進方向の力を求めたり、位置ベクトルPvの大きさに応じて代表的な位置ベクトルを求めたりして、力のモーメントを求めることによって、移動操作時の操作力の変動を低減させ、ロボット50を安定して移動させ、操作性を向上させることが可能となる。なお、このとき、力Fpの方向や大きさ、位置ベクトルPvの大きさなどを変更する場合には、求められる操作力が急に変化しないように、すなわちなめらかに変化するように、前記変更をおこなうことが好ましい。
また、操作力の別の算出方法として、次のように算出してもよい。位置ベクトルPvと力Fpとの成す角度を算出することによって、位置ベクトルPvと力Fpによって求められる力のモーメントの符号が正か負となるかを判定して、操作軸31の位置を正方向か負方向かのどちらの方向に移動させるかを決めて、操作力の符号を求める。操作力の大きさは、力Fpの大きさや、力Fsの並進方向の成分の力Fの大きさなどとする。このようにして、操作力を求めるようにしてもよい。このとき、位置ベクトルPvの大きさが小さい場合は、力のモーメントM21を用いる。また、力のモーメントM21も同時に考慮するように、このように符号と大きさを算出して求めた値に係数をかけた値と、力のモーメントM21に別の係数をかけた値とを足し合わせて算出した仮想力を、操作力とするようにしてもよい。
次に、本発明の第1の実施形態に係るロボット制御装置10の操作軸設定部24の処理について、さらに詳細に説明する。操作軸設定部24は、複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する。また、移動操作の状況に応じて、操作軸とした軸に対して、移動させるか否かを設定する。操作軸設定部24では、ステップS6において、移動操作の状況に応じて、操作軸に対する、力計測部21が計測した力の方向をもとに、操作軸に対して、移動させるか否かを設定する。また操作軸設定部24は、移動操作の状況に応じて、操作軸とした軸に対して、移動させるか否かを判定して設定する。これらの方法について、図4〜図6を参照しつつ、説明する。
操作軸設定部24によって、入力や、設定、ロボット50の現在の軸の位置などをもとに、ロボット50を構成する複数の軸の内、操作軸とする軸を設定する。ここでは、操作軸として、2つ以上の複数の軸が設定されているとする。操作軸が2つ以上ある場合、ロボット50の先端部58に作用させる力の方向によっては、操作力算出部22で算出した操作力にもとづいて操作軸を移動させると、複数の軸が同時に移動することがある。このとき、複数の操作軸の内、所望する軸または所定の条件を満たす軸を移動させるために、また、他の所定の条件を満たす軸を移動させないために、移動操作の状況に応じて、操作軸に対する、力計測部21が計測した力の方向をもとにして、移動させる操作軸と、移動させない操作軸とを設定する。なお、「移動させる操作軸」とは、力に応じて移動することが許可された操作軸を意味し、「移動させない操作軸」は、力が作用していても移動させない操作軸を意味する。
操作軸に対する、力計測部21が計測した力の方向をもとにして、移動させる操作軸とするか否かを判定する方法は、操作軸に対する、力計測部21が計測した力の方向をもとに求められる値を、所定の閾値と比較したり、他の操作軸に対して同様の方法で求められた値と比較したりすることによって、移動させるか否かを判定することが可能であれば、どのような方法を用いてもよい。
以下、操作軸に対する、力計測部21が計測した力の方向をもとに、移動させるか否かを設定するときの判定方法の例について説明する。ロボット50の先端部58に力を作用させたときに、操作力によって複数の操作軸を移動させるか否かは、操作力算出部22によって算出された、操作軸のそれぞれの操作力の大きさが、所定の閾値以上であるか否かによって判定することができる。これによって、ロボット50の先端部58に作用させた力によって複数の操作軸が移動すると判定されたとき、移動させない操作軸を定めるようにしてもよい。
操作軸に対して、移動させるか否かを判定するとき、同時に条件を満たす軸が複数存在し、移動させる軸をさらに制限または選定する場合は、軸毎に定める所定の優先順位による選定方法や、別の操作軸の選定方法などを同時に用いて、複数の判定方法を矛盾しないように組み合わせることによって、移動させる軸をさらに選定するようにすることが好ましい。また、移動させる操作軸とするか否かの判定をするとき、全ての操作軸に対して判定するときの所定の優先順位を設定しておき、全ての操作軸に対して優先順位に従って順に判定していく。このとき、移動させる軸となる軸が存在した場合、その操作軸のみを移動させる操作軸とし、移動させる操作軸が見つかるまで全ての操作軸に対して、順に移動させる操作軸を探すようにしてもよい。
前述したように、図4は、ロボット50の先端部58に力Fsが作用していることが、力計測部21によって計測されていることを示す。操作軸に対して移動させるか否かを判定する方法の一例として、力計測部21によって計測された、ロボット50の先端部58に作用する力Fsの並進方向の成分の力Fと、操作軸の回転中心線とが、複数の操作軸の内、最も平行に近い操作軸を、移動させない操作軸と判定する。或いは、力Fと操作軸の回転中心線とが成す角度が、平行となるときの角度から所定閾値以内の範囲である操作軸を、移動させない操作軸と判定してもよい。
別の方法として、図5に示すように、操作軸31に対する操作力を算出するときに求めた平面C上の力Fpと、位置ベクトルPvとの成す角度が、直交するときの角度から所定の閾値以内の範囲である操作軸を、移動させる操作軸と判定してもよい。或いは、平面C上の力Fpと位置ベクトルPvとが成す角度が、複数の操作軸の内、最も直交するときの角度に近い操作軸を、移動させる操作軸と判定してもよい。
別の方法を、図6を参照して説明する。図6は、力Fpの方向をもとに、移動させる操作軸とするか否かの判定をする別の方法を説明するための図である。図6では、図5に対して、後述の直線Lw、直線Lv、範囲Ra、範囲Rbを追加している。直線Lwは、平面C上に延在し、点P1、点P2を含む直線とする。直線Lvは、平面C上に延在し、点P2において直線Lwと直交する直線とする。力Fpと直線Lwとが成す角度をもとに、力Fpの方向が、平面C上で直線Lvに関して、点P1が存在する側の所定の範囲Ra内にあるか、範囲Ra外(点P1が存在しない側)の所定の範囲Rb内にあるかを求め、力Fpの方向に応じて、移動させる操作軸とするか否か判定する。ただし、力Fpが、位置ベクトルPvや直線Lwと成す角度が、それらと平行となるときの角度から所定閾値以内であるときには、移動させない軸と設定する。換言すれば、力Fpの方向が、位置ベクトルPvや直線Lwの方向と平行に近い場合、その操作軸は、移動させない軸と設定する。この方法を用いて、ある操作軸に対しては、ある操作軸について求めた力Fpが所定の範囲Ra内にあるとき、移動させる操作軸とし、別のある操作軸に対しては、その操作軸について求めた力Fpが所定の範囲Rb内にあるとき、移動させる操作軸と判定する、などのようにしてもよい。
別の方法を、図7を参照して説明する。図7は、力計測部21によって計測される力Fsの並進方向の成分の力Fの方向と、操作軸の回転中心線とが成す角度をもとに、移動させる操作軸とするか否かを判定する別の方法を説明するための図である。なお、他と同様に、記号の意味が同じものは説明を省略する。図7では、ある操作軸31の回転中心線とZ軸Azが一致するように、操作軸31に設定した座標系上の力Fを示している。力Fは、力計測点P3において作用している。また点P3がその上に存在するように、Z軸Azを平行移動させた軸を軸Azaとする。
このとき、軸Azaに対して力Fの方向が成す角度Daを算出し、角度Daが0度から90度以内にあるか、90度から180度以内にあるかを判定する。この角度Daが存在する範囲をもとにして、移動させる操作軸とするか否かを判定する。この角度Daが存在する範囲をもとにすることによって、操作軸の回転中心線に対する力Fの方向を求めて、移動させる操作軸とするか否かを判定する。この方法を用いて、ある操作軸に対しては、ある操作軸について求めた角度Daが0度から90度以内のとき、移動させる操作軸とし、別のある操作軸に対しては、その操作軸について求めた角度Daが90度から180度以内にあるとき、移動させる操作軸と判定する、などのようにしてもよい。
上述のような複数の方法を単独でまたは組み合わせて使用することにより、移動操作の状況に応じて、操作軸に対する、力計測部21が計測した力の方向をもとに、操作軸に対して、移動させるか否かを判定することができる。
ステップS7において、操作指令部23によって、操作軸の位置を移動させるための操作指令を生成、出力する方法について、さらに説明する。操作指令部23は、操作軸設定部24によって設定された複数の軸の内、操作軸とする軸、力の方向に応じた移動方向、その軸を移動させるか否か、についての設定にもとづいて、移動させるとした操作軸を、操作力算出部22によって求めた操作力と、操作軸設定部24によって設定される力の方向に応じた移動方向とにもとづいて移動させる。このとき、操作指令部23は、操作力の符号と、操作軸設定部24が設定した力の方向、ここでは、操作力の符号に応じた操作軸の移動方向をもとに、操作軸の目標とする移動方向(回転軸の場合、回転方向)を決定し、操作力の大きさをもとに、操作軸の目標とする移動速度を算出する。
このとき、操作力の大きさに、力に対する移動の応答性を定める力制御ゲインを乗算した力制御によって、操作軸の目標とする移動速度を算出することが好ましい。また、操作軸の回転中心線からロボット50の先端部58までの最短距離に応じて、力制御ゲインを変更するようにしてもよい。これによって、ロボット50の先端部58の位置によって、操作力に対する応答性を変更し、空間における領域毎にロボット50の移動速度を調整することができる。
また、操作軸の回転中心線から、ロボット50の先端部58までの最短距離が比較的大きい場合と小さい場合に、同じ操作力に対して、操作軸の速度を同じ角速度で移動させるようにすると、前記最短距離が大きい場合には、前記最短距離が小さい場合に対して、ロボット50の先端部58の並進方向の速度は速くなる。場合によっては、同じ操作力に対して、操作軸の角速度を同じにするのではなく、操作軸からロボット50の先端部58の位置が遠い場合には、操作軸からロボット50の先端部58の位置が近い場合よりも、遅くした方が、安全であり、またロボット50の操作もしやすくなる。
このために、操作軸の回転中心線から、ロボット50の先端部58までの最短距離が大きくなるに従って、力制御ゲインを、前記最短距離をもとにして、小さくするようにしてもよい。これによって、操作力の大きさが同じ場合でも、操作軸からロボット50の先端部58が遠くなるに従って、ロボット50の先端部58の速度を小さくすることができ、安全性を高め、操作性を向上させることが可能となる。
また、操作力の大きさに応じて操作軸の目標とする速度を変える場合では、操作力の大きさが同じでも、ロボット50の先端部58が、操作軸から遠くなるに従って、ロボット50の先端部58の接線速度は大きくなってしまう。そこで、操作指令部23は、移動させるとした、操作軸に対して、前述のようにして求めた操作力と、操作軸設定部24によって設定される力の方向に応じた移動方向とにもとづいて移動させるとき、操作力にもとづいて、操作軸の回転中心線回りの、ロボット50の先端部58の目標とする移動方向および目標とする接線速度を求めて、ロボット50の先端部58の目標とする移動方向および目標とする接線速度をもとに、操作軸の目標とする移動方向および目標とする移動速度を求めて、当該操作軸を移動させるようにしてもよい。
これによって、操作力の大きさが同じ場合、ロボット50の先端部58の位置によらず、ロボット50の先端部58の接線速度を同じにすることが可能となる。この場合、ロボット50の先端部58が、操作軸から離れるに従って、操作力の大きさが同じでも、操作軸の回転速度は小さくなる。また、このような効果を得るため、操作力の大きさをもとに、操作軸の目標とする移動速度を算出する場合には、操作力を算出するときに、操作軸の回転中心線から、ロボット50の先端部58までの最短距離で除算演算をするようになどしてもよい。また、操作力にもとづいて、操作軸の回転中心線回りの、ロボット50の先端部58の移動方向および接線速度を求めてから、操作軸の目標とする移動方向および目標とする移動速度を求めるとき、操作力の大きさに、力に対する移動の応答性を定める力制御ゲインを乗算してロボット50の先端部58の移動量を求める力制御によって、ロボット50の先端部58の目標とする接線速度を算出してもよい。以上のようにして、操作指令部23は、操作軸設定部24によって設定された、複数の軸の内、操作軸とする軸、力の方向に応じた移動方向、その軸を移動させるか否か、の設定にもとづいて、移動させるとした操作軸を、操作力算出部22によって求めた操作力と、操作軸設定部24によって設定される力の方向に応じた移動方向に応じて移動させる指令を生成して出力する。
次に、本発明の第2の実施形態に係るロボット制御装置について説明する。第2の実施形態に係るロボット制御装置では、本発明の第1の実施形態に係るロボット制御装置10とは、ステップS6における、操作軸設定部24が、操作軸に対して、移動させるか否かを設定するときの設定方法のみが異なり、他は第1の実施形態と同様でよいので、図2および図3について第1の実施形態と同様の部分については説明を省略する。つまり第2の実施形態では、操作軸設定部24が用いる設定方法は、移動操作の状況に応じて、操作軸に対して、移動させるか否かを設定するというものであって、根本的な技術的思想は第1の実施形態と共通する。
本発明の第2の実施形態において、操作軸設定部24は、複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する。また、移動操作の状況に応じて、操作軸とした軸に対して、移動させるか否かを設定する。第2の実施形態における操作軸設定部24では、ステップS6において、移動操作の状況に応じて、操作軸とロボット50の先端部58との位置関係をもとに、各操作軸について移動させるか否かを設定する。
第2の実施形態に係るロボット制御装置の操作軸設定部24の機能についてより詳細に説明する。まず、操作軸設定部24によって、入力や、設定、ロボット50の現在の軸の位置などをもとに、ロボット50を構成する複数の軸の内、操作軸とする軸を設定する。ここでは、操作軸として、2つ以上の複数の軸が設定されているとする。
操作軸が2つ以上ある場合、ロボット50の先端部58に作用させる力の方向によっては、操作力算出部22で算出した操作力にもとづいて操作軸を移動させると、複数の軸を同時に移動させてしまうことがある。このとき、複数の操作軸の内、所望の軸または所定の条件を満たす軸を移動させるために、また、他の所定の条件を満たす軸を移動させないために、移動操作の状況に応じて、操作軸と、ロボット50の先端部58との位置関係をもとにして、移動させる操作軸と、移動させない操作軸とを設定する。なお、「移動させる操作軸」とは、力に応じて移動することが許可された操作軸を意味し、「移動させない操作軸」は、力が作用していても移動させない操作軸を意味する。
操作軸とロボット50の先端部58との位置関係をもとにして、移動させる操作軸とするか否かを判定する方法は、操作軸とロボット50の先端部58との位置関係をもとに求められる値を、所定の閾値と比較したり、他の操作軸に対して同様の方法で求められた値と比較したりすることによって、移動させるか否かを判定することが可能であれば、どのような方法を用いてもよい。
ロボット50の先端部58に力を作用させたときに、操作力によって、複数の操作軸が移動するか否かは、操作力算出部22によって算出された、操作軸のそれぞれの操作力の大きさが所定の閾値以上であるか否かによって、判定することができる。これによって、ロボット50の先端部58に作用させた力によって、複数の操作軸が移動すると判定されたとき、移動させない操作軸を定めるようにしてもよい。
操作軸に対して、移動させるか否かを判定するとき、同時に条件を満たす軸が複数存在し、移動させる軸をさらに制限または選定する場合は、軸毎に定める所定の優先順位による選定方法や、別の操作軸の選定方法などを同時に用いて、複数の判定方法を矛盾しないように組み合わせることによって、移動させる軸をさらに選定するようにすることが好ましい。また、移動させる操作軸とするか否かの判定をするとき、全ての操作軸に対して判定するときの所定の優先順位を設定しておき、全ての操作軸に対して優先順位に従って順に判定していく。このとき、移動させる軸となる軸が存在した場合、その操作軸のみを移動させる操作軸とし、移動させる操作軸が見つかるまで全ての操作軸に対して、順に移動させる操作軸を探すようにしてもよい。
操作軸とロボット50の先端部58との位置関係をもとに、移動させるか否かを設定するときの判定方法の一例について、図8を参照しつつ説明する。図8では、前述と同様に、ある操作軸に対して設定された座標系が示されている。まず、ある操作軸に対して、点P1、X軸Ax,Y軸Ay、Z軸Az軸で構成される座標系を設定する。この設定は、操作軸の基準座標系上の位置を表す点P1が座標系の原点となり、Z軸Azが操作軸の回転中心線と一致し、X軸Ax、Y軸Ayの成す平面Cが操作軸の回転中心線と直交する平面となるようにおこなわれる。点P3は、ロボット50の先端部58の位置を表す点であり、ここでは力計測点とする。平面Cは、ある操作軸に設定した座標系の、X軸Ax、Y軸Ayが成す平面(X−Y平面)とする。
操作軸に対して移動させるか否かを判定する方法の一例では、操作軸の原点の点P1とロボット50の先端部58の位置を表す点P3との間の距離Eaを各操作軸について求め、複数の操作軸の内、距離Eaが最も小さい操作軸を移動させる操作軸と判定する。或いは、距離Eaが所定の閾値内にある操作軸を、移動させる操作軸と判定してもよい。
別の方法では、操作軸の回転中心線とロボット50の先端部58の位置を表す点P3との最短距離Ebを各操作軸について求め、複数の操作軸の内、距離Ebが最も小さい操作軸を移動させる操作軸と判定する。或いは、距離Ebが所定の閾値内にある操作軸を、移動させる軸と判定してもよい。
また別の方法では、操作軸の回転中心線と直交しかつ操作軸の原点の点P1を含む平面Cと、ロボット50の先端部58の位置を表す点P3との最短距離Ecを各軸について求め、複数の操作軸の内、距離Ecが最も小さい操作軸を移動させる操作軸と判定する。或いは、距離Ecが所定の閾値内にある操作軸を、移動させる操作軸と判定してもよい。
さらに別の方法では、ロボット50の先端部58が操作軸に設定した座標系上のどの領域に存在するかによって、移動させるかどうかを判定してもよい。例えば、座標系上の領域を、第1象限(X軸Ax方向の位置が正、Y軸Ay方向の位置が正、Z軸Az方向の位置が正)、第2象限(X軸Ax方向の位置が負、Y軸Ay方向の位置が正、Z軸Az方向の位置が正)、第3象限(X軸Ax方向の位置が負、Y軸Ay方向の位置が負、Z軸Az方向の位置が正)、第4象限(X軸Ax方向の位置が正、Y軸Ay方向の位置が負、Z軸Az方向の位置が正)、第5象限(X軸Ax方向の位置が正、Y軸Ay方向の位置が正、Z軸Az方向の位置が負)、第6象限(X軸Ax方向の位置が負、Y軸Ay方向の位置が正、Z軸Az方向の位置が負)、第7象限(X軸Ax方向の位置が負、Y軸Ay方向の位置が負、Z軸Az方向の位置が負)、第8象限(X軸Ax方向の位置が正、Y軸Ay方向の位置が負、Z軸Az方向の位置が負)に8分割したとき、象限毎に移動させるか否かを対応させるようにする。このとき、ロボット50の先端部58の位置を表す点P3がどの象限に存在するかによって、移動させる操作軸とするか否かを判定する。このとき、各象限において、さらに領域の制限を設定するようにしてもよい。例えば、領域の制限の設定は、X軸Ax、Y軸Ay、Z軸Azの各方向の位置が所定の範囲内にあるか否かにもとづいておこなってもよいし、上述の距離Ea、距離Eb、距離Ecなどが、所定の範囲内にあるか否かにもとづいておこなってもよい。このように、操作軸に設定した座標系上のある象限の、ある所定の領域に、ロボット50の先端部58の位置を表す点P3が存在するとき、移動させる操作軸と判定する。
上記のような複数の判定方法を単独でまたは組み合わせて使用することにより、移動操作の状況に応じて、操作軸と、ロボット50の先端部58との位置関係をもとに、操作軸に対して、移動させるか否かを判定することができる。
次に、本発明の第3の実施形態に係るロボット制御装置について説明する。第3の実施形態に係るロボット制御装置では、本発明の第1の実施形態に係るロボット制御装置10とは、ステップS6における、操作軸設定部24が、操作軸に対して、移動させるか否かを設定するときの設定方法のみが異なり、他は第1の実施形態と同様でよいので、図2および図3について第1の実施形態と同様の部分については説明を省略する。つまり第2の実施形態では、操作軸設定部24が用いる設定方法は、移動操作の状況に応じて、操作軸に対して、移動させるか否かを設定するというものであって、根本的な技術的思想は第1の実施形態と共通する。
本発明の第3の実施形態において、操作軸設定部24は、複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する。また、移動操作の状況に応じて、操作軸とした軸に対して、移動させるか否かを設定する。第3の実施形態における操作軸設定部24では、ステップS6において、移動操作の状況に応じて、操作軸に対する力計測部21が計測した力の方向と、操作軸とロボット50の先端部58との位置関係の内、少なくとも一方と、所定の優先順位をもとに、操作軸に対して移動させるか否かを設定する。
第3の実施形態に係るロボット制御装置の操作軸設定部24の機能についてより詳細に説明する。まず、操作軸設定部24によって、入力や、設定、ロボット50の現在の軸の位置などをもとに、ロボット50を構成する複数の軸の内、操作軸とする軸を設定する。ここでは、操作軸として、2つ以上の複数の軸が設定されているとする。このとき、複数の操作軸の内、所望の軸または所定の条件を満たす軸を移動させるために、また、他の所定の条件を満たす軸を移動させないために、移動操作の状況に応じて、操作軸に対して、移動させる操作軸と、移動させない操作軸とを設定する。なお、「移動させる操作軸」とは、力に応じて移動することが許可された操作軸を意味し、「移動させない操作軸」は、力が作用していても移動させない操作軸を意味する。
このとき、操作軸を、移動させる操作軸とするか否かを判定する方法として、第1または第2の実施形態において説明したような、力計測部21が計測した力の方向をもとに判定する方法と、操作軸とロボット50の先端部58との位置関係をもとに判定する方法との少なくとも一方と、さらに、所定の優先順位にもとづいて移動させるか否かを判定する方法を用いる。
操作軸に対する、力計測部21が計測した力の方向をもとに判定する方法と、操作軸とロボット50の先端部58との位置関係をもとに判定する方法とは、適宜組み合わせて、操作軸を移動させるとするか否かを、より複数の条件の組み合わせで判定することができる。例えば、ある操作軸について、複数の条件のいずれか1つでも移動させると判定された場合、その操作軸は移動させると判定する。または、複数の条件のすべてで移動させると判定された場合に、移動させる操作軸とすると判定してもよい。或いは、複数の条件に対して、それぞれの条件で、移動させると判定された場合の点数を定めておき、複数の条件で判定したときの点数の合計が所定の値以上の場合に、移動させる操作軸とすると判定してもよい。
また、操作軸に対する、力計測部21が計測した力の方向をもとに判定する方法だけでは移動させる操作軸が定まらない場合、または、操作軸と、ロボット50の先端部58との位置関係をもとに判定する方法だけでは移動させる操作軸が定まらない場合は、他の方法を用いて判定することができる。このとき、操作軸に対する、力計測部21が計測した力の方向と、操作軸とロボット50の先端部58との位置関係と、さらに所定の優先順位の関係を考慮して判定するとよい。例えば、上述の移動させるか否かの判定によって、移動させると判定された操作軸が複数存在し、それらの操作軸に対して、さらに移動させる操作軸を選定したい場合、各操作軸に対して、優先順位をつけて選定するとよい。このように、力の方向の条件、位置関係の条件、所定の優先順位の条件といった、複数の条件を用いて判定することによって、移動させる操作軸とするか、または、移動させない操作軸とするかの判定において、より所望の操作軸を移動させられるようにしたり、不要な軸を移動させないようにしたりすることが可能となる。
次に、本発明の第4の実施形態に係るロボット制御装置について説明する。第4の実施形態に係るロボット制御装置は、本発明の第1の実施形態に係るロボット制御装置10とは、図9のフローチャートに示すように、図3に示したフローチャートからステップS4〜S6が省略されている点で異なる。また第4の実施形態では、図2に記載の操作軸設定部24は、操作軸に対して移動させるか否かの設定は実行せず、所望の操作軸を移動させることをより容易とすべく、ロボット50を構成する複数の軸の内、2つの操作軸を選定して設定する。
本発明の第1〜第3の実施形態に係るロボット制御装置は、操作軸が複数存在する場合、操作軸として設定されている軸に対して、移動操作の状況に応じて、移動させるか否かを設定して、所望とする軸を移動させる。これに対して、本発明の第4の実施形態に係るロボット制御装置は、操作軸が複数存在する場合、所望とする軸を移動させることをより容易とするように、予め、2つの軸を操作軸として設定しておく。つまり、ロボット50を構成する複数の軸から、適切な2つの軸を操作軸とすることによって、移動操作時に、所望とする軸を選択的に移動させることを実現する。第4の実施形態は、力に応じて移動させる軸である操作軸が複数存在する場合に、所望の軸を選択的に移動させる方法を実現するという点において、本発明の第1〜第3の実施形態に係るロボット制御装置と技術的思想は同じである。
図9に示すように、ロボット50を移動させる処理が開始されと、操作者60などによってロボット50の先端部58に外力が作用すると、力計測部21が、先端部58に作用する力を計測する(ステップS1)。操作軸設定部24は、力に応じて移動させる操作軸を設定し、また、力の方向に応じた操作軸の移動方向を設定する(ステップS2)。
力計測部21が計測した、ロボット50の先端部58に作用する力をもとに、操作軸設定部24が設定した操作軸に対して、操作力算出部22が、操作軸の位置を移動させるための操作力を算出する(ステップS3)。操作指令部23は、操作力算出部22が算出した操作力、操作軸設定部24の設定をもとに、操作軸の位置を移動させる操作指令を生成して出力する(ステップS7)。
第4の実施形態に係るロボット制御装置の操作軸設定部24の処理について、さらに説明する。ステップS2において、操作軸設定部24は、複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた操作軸の移動方向を設定する。このとき、操作軸設定部24は、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸として設定する。
このように、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸とすることによって、ロボット50の先端部58に作用させる力の方向を適切な方向にした場合、操作軸を独立に移動させ、所望の軸を力に応じて移動させることが可能となる。つまり、このように設定された2つの操作軸に対して、所望の一方の操作軸のみを移動させたい場合、ロボット50の先端部58に、他方の操作軸の回転中心線と平行な方向に力を作用させることによって、所望の一方の操作軸のみを移動させることが可能となる。
このような軸の設定方法の一例について、図1を参照しつつ説明する。なお、ここでは、操作力算出部22は、操作軸の回転中心線回りに作用する力をもとに、本発明の第1の実施形態に係るロボット制御装置10に関連して説明したように操作力を求めるものとする。力の方向に応じた操作軸の移動方向は、操作力が作用する方向と同じ方向とする。
図1に示されるような軸で構成されるロボット50の場合、例えば、2つの操作軸としてJ1軸51およびJ2軸52を設定することができる。これらの軸は、ロボット50を構成する複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸となっている(後述する2つの軸についても同様である)。この場合、ロボット50の先端部58に対して、J2軸52の回転中心線と平行な方向の、並進方向の力を作用させたとすると、J1軸51については、回転中心線回りに力が作用するために、操作力算出部22によって算出される操作力をもとに、移動させることができる。一方、J2軸52については、回転中心線回りに力が作用しないため、移動させることはできない。また、ロボット50の先端部58に対して、J1軸51の回転中心線と平行な方向の、並進方向の力を作用させたとすると、J2軸52については、回転中心線回りに力が作用するために、操作力算出部22によって算出される操作力をもとに、移動させることができる。一方、J1軸51については、回転中心線回りに力が作用しないため、移動させることはできない。
一方、2つの操作軸として、J3軸53およびJ4軸54を設定してもよい。この場合も、一方の操作軸のみを移動させたい場合、他方の操作軸の回転中心線と平行な方向に力を作用させることによって、所望の一方の操作軸のみを移動させることが可能となる。或いは、2つの操作軸として、J4軸54およびJ5軸55を設定してもよい。この場合も、一方の操作軸のみを移動させたい場合、他方の操作軸の回転中心線と平行な方向に力を作用させることによって、所望の一方の操作軸のみを移動させることが可能となる。また或いは、2つの操作軸は、J5軸55およびJ6軸56に設定してもよい。この場合も、一方の操作軸のみを移動させたい場合、他方の操作軸の回転中心線と平行な方向に力を作用させることによって、所望の一方の操作軸のみを移動させることが可能となる。
以上のように、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸として設定し、ロボット50の先端部58に作用させる力を適切な方向とした場合、2つの操作軸に対して、所望の操作軸のみを移動させることが可能となる。これによって、教示操作装置などを用いて、移動させる軸を切り替え設定することなく、移動させる軸を選択できたり、また、ロボット50の軸の位置や、作用させる力の方向によっては、2つの軸を同時に移動させたりすることも可能となる。
本発明の第5の実施形態に係るロボット制御装置では、第4の実施形態においてさらに、操作軸設定部24が、移動操作の状況に応じて、操作軸に対する力計測部21が計測した力の方向と、操作軸とロボット50の先端部58との位置関係と、所定の優先順位の内、少なくとも1つをもとに、操作軸に対して移動させるか否かを設定する。
第5の実施形態に係るロボット制御装置は、第4の実施形態に係るロボット制御装置とは、図10のフローチャートに示すように、図9に示したフローチャートに、移動動作の状況に応じて、操作軸に対して、移動させるか否かを設定するステップ(ステップS6)が追加されている点で異なる。ただし第5の実施形態に係るロボット制御装置も、他の実施形態に係るロボット制御装置と同様に、操作軸が複数存在する場合に、所望の操作軸を選択的に移動させる方法を実現することを目的としている。
本発明の第4の実施形態に係るロボット制御装置による、操作軸の移動操作では、一方の操作軸のみを移動させたい場合、他方の操作軸の回転中心線と平行な方向に力を作用させることによって、所望の一方の操作軸のみを移動させることが可能となる。このとき、移動操作の状況によっては、他方の操作軸の回転中心線と平行な方向に力を作用させることが困難である場合が存在する。また、他方の操作軸の回転中心線と平行な方向に力を作用させても操作力の大きさがゼロであったり、操作力が作用しなかったりするといった状況になり、一方の操作軸を移動させることが困難な場合が存在する。第5の実施形態では、このような状況においても、所望の操作軸を移動させることができるようにするため、ロボット50の先端部58に作用させる力が、他方の操作軸の回転中心線と平行な方向でなくとも、一方の操作軸を移動させることが可能となるようにする。
図10に示すステップS2において、操作軸設定部24は、複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた操作軸の移動方向を設定する。このとき、操作軸設定部24は、操作者からの入力やロボット50の現在の各軸の位置などをもとに、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸として設定する。
図10に示すステップS6において、操作軸設定部24は、移動動作の状況に応じて、操作軸に対して、移動させるか否かを設定する。より詳細には、操作軸設定部24は、移動操作の状況に応じて、操作軸に対する、力計測部21が計測した力の方向と、操作軸とロボット50の先端部58との位置関係と、所定の優先順位の関係の内、少なくとも1つの関係をもとに、操作軸に対して、移動させるか否かを設定する。
このとき、操作軸を、移動させる操作軸とするか否かを判定する方法として、操作軸に対する、力計測部21が計測した力の方向をもとに判定する方法と、操作軸とロボット50の先端部58との位置関係をもとに判定する方法と、所定の優先順位をもとに判定する方法の内、少なくとも1つの方法が用いられる。操作軸は2つであるので、ロボット50の先端部58に作用させた力をもとに算出される操作力によって、2つの操作軸が両方とも移動してしまう場合、各操作軸に対して、所定の優先順位を設定しておき、それにもとづいて、どちらか1つを移動させるようにしてもよい。
また、操作軸設定部24が、移動操作の状況に応じて、操作軸とした軸に対して、移動させるか否かを判定して設定する方法と同様に、2つの操作軸に対して、移動させるか否かを判定して設定するようにしてもよい。
本発明の第6の実施形態においては、図11に示すように、ロボットシステム11は、ロボット制御装置10に各種設定などを入力する教示操作装置70を備え、操作軸設定部24は、教示操作装置70からの入力をもとに操作軸を設定し、教示操作装置70は、前記操作軸として設定可能な軸の内、操作軸とする軸が組み合わされた選択肢から選択して入力する。
図11に示すように、ロボット制御装置10によって制御されるロボット50を具備するロボットシステム11では、ロボット制御装置10に各種設定などを入力する教示操作装置70が、ロボット制御装置10に接続されている。また、各種設定などを入力するときに、操作者60が表示装置70を保持しなくてもよいように、表示装置70は、ロボット50上の適当な箇所に、例えば、図12に示すようにロボット50の先端部58や、また、ロボット50を構成する軸間をつなぐリンク上などに取りつけ可能に構成されたものでもよい。また、この教示操作装置70は、各種状態を表示出力する表示機能を備えた装置であってもよく、さらに、各種設定などを入力したり、ロボット50の移動操作、停止の操作入力をおこなったり、ロボット50の移動操作に関する各種状態を表示したりすることができる装置であってもよい。
操作軸設定部24は、教示操作装置70からの入力をもとに操作軸を設定する。操作軸は、ここでは、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸が操作軸として設定可能であるとする。
操作軸として設定可能な軸を選択肢として表示し、該選択肢から操作軸を入力(設定)可能とした表示例を、図13(a)および図13(b)に示す。例えば、「J1−J2」は、J1軸とJ2軸を操作軸とすることを表し、これに関連付けられた(図示例では文字の左側に表示された)マークの色によって、その操作軸の組み合わせが選択されたかどうかを表すことができる。ある組み合わせを選択すると、他の組み合わせは選択から外されるようにしておくことが好ましい。
例えば、図13(b)の表示例では2つの操作軸としてJ4軸とJ5軸の組み合わせを表す「J4−J5」が選択肢に含まれているが、図13(a)の表示例ではこの選択肢はなく、故に「J4−J5」は選択できないようになっている。このように、設定が好ましくない操作軸の組み合わせは、設定できないようにすることができる。また、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸とすべき場合、どの軸の組み合わせがそのような組み合わせになるのか、また、選択可能であるのかということが分かりにくい場合、このような入力方法によって、操作軸の設定を容易におこなうことが可能となる。
本発明の第7の実施形態においては、図12に示すように、ロボットシステム11は、ロボット制御装置10に各種設定などを入力する教示操作装置70を備え、操作軸設定部24は、教示操作装置70からの入力をもとに操作軸を設定し、教示操作装置70は、ロボット50を構成する複数の軸の内、操作軸として選択可能な軸を示し、選択された軸をもとに、選択された軸以外の軸において、操作軸として前記選択された軸と同時に選択可能であるか、および/または、前記選択された軸と同時に選択可能でないかを示すことができる。
第7の実施形態では、教示操作装置70は、図14(a)および図14(b)に示すように、ロボット50を構成する複数の軸の内、操作軸として選択可能な軸を示し、選択された軸をもとに、選択された軸以外の軸において、選択可能であるか、および/または、選択可能でないかを示す。このとき、選択肢として表示した軸に対して、マークやボタン、文字などの、色や形状、大きさを変えたり、囲みや線を追加したりするなどのようにして、選択可能であるか、および/または、選択可能でないかを示す。操作軸は、ここでは、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸が操作軸として設定可能である。
図14(a)では、ロボット50を構成する軸の内、操作軸として選択可能な軸が示されていて、J4軸が操作軸として既に選択されているとする。このとき、J3軸またはJ5軸が操作軸としてJ4軸と組み合わせることが可能であることを示すため、J3軸およびJ5軸の表示部分において、文字の左側のマークの色やマークの形状などの表示を変えることが示されている。また、それ以外の、J1軸、J2軸およびJ6軸は、操作軸としてJ4軸とは組み合わせることができないことを示すように、文字の左側のマークの表示が変えられている。
一方、図14(b)では、J5軸が操作軸として既に選択されているとき、操作軸としてJ4軸およびJ6軸がJ5軸に対して、操作軸として同時に組み合わせることが可能な軸であること、また、それ以外の軸に対しては、同時に組み合わせることが可能でないことを示すために、文字の左側のマークの表示が変えられている。
このように、ロボット50を構成する複数の軸の内、1つの軸を操作軸に設定したとき、他のどの軸を同時に選択することが可能か、または、可能でないかを視覚的に表示する。これによって、ロボット50を構成する複数の軸の内、複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を操作軸として選択すべき場合のように、どの軸の組み合わせが可能であるかということが分かりにくい場合、操作軸の設定を容易におこなうことが可能となる。
本発明の第8の実施形態においては、第1、第2、第3および第5の実施形態において、さらに、ロボットシステム11が、教示操作装置70のような表示装置を備え、当該表示装置は、操作軸設定部24が操作軸を移動させるか否かを設定するときの設定条件を表示する。また表示装置は、教示操作装置70とは別の装置としてもよい。また、表示装置は、入力および表示を可能とする教示操作装置70とは異なり、表示のみをおこなう装置としてもよい。上記表示装置に、操作軸設定部24が操作軸を移動させるか否かを設定するときの設定条件を表示することによって、どのようにして移動操作をおこなえば所望の軸を移動させることが可能となるかなどが分かりやすくなるので、移動操作時の操作性を向上させることが可能となる。
本発明の第9の実施形態においては、第6および第7の実施形態において、さらに、教示操作装置が、ある軸が回転軸である場合、ロボット50の現在の軸の位置をもとに、ロボット50を構成する複数の軸の内、ある軸の回転中心線から、ロボット50の先端部58までの最短距離が所定閾値以下である場合、該軸の回転中心線の付近にロボット50の先端部58が存在することを示す、または、操作軸として該軸を含む軸の設定を設定可能としないことを示すことができる。
ロボット50の軸の位置によって、ある操作軸の回転中心線から、ロボット50の先端部58の位置までの最短距離が所定閾値より小さい場合、ロボット50の先端部58に並進方向の力を作用させることでは、その操作軸に対する操作力が適切に求められないため、その操作軸を意図した通りに移動させることができない場合がある。このようなことを操作者に通知し、場合によっては回避させるため、該軸の回転中心線の付近にロボット50の先端部58が存在することを示したり、操作軸として該軸を含む軸の設定を設定可能としないことを示したりする。
また本発明の第6および第7の実施形態においては、教示操作装置70から操作軸を設定するときに、操作軸や、操作軸の組み合わせにおける選択肢において、ある操作軸の回転中心線からロボット50の先端部58の位置までの最短距離が所定閾値より小さい軸を含む選択肢は選択できないようにしてもよい。また、教示操作装置70から操作軸を設定するときに、ある軸を操作軸として選択したとき、選択された軸以外の軸において、そのような軸は選択不可である旨を示すことが好ましい。これによって、操作軸を適切に設定することが可能となるため、操作性を向上させることが可能となる。
説明のために選定された特定の実施形態を参照して本発明が説明されたが、当業者には本発明の基本的概念及び範囲から逸脱することなく多数の変更が可能であることは明らかである。すなわち、本発明の技術的思想の範囲内で考えられる他の形態についても、本発明の範囲内に含まれる。
10 ロボット制御装置
11 ロボットシステム
21 力計測部
22 操作力算出部
23 操作指令部
24 操作軸設定部
25 記憶部
31 操作軸
50 ロボット
51 J1軸
52 J2軸
53 J3軸
54 J4軸
55 J5軸
56 J6軸
57 フランジ部
58 先端部
59 台座
60 操作者
70 教示操作装置
71 入力部
72 表示出力部

Claims (10)

  1. 複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、
    前記ロボットの先端部に作用させた力を計測する力計測部と、
    前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、
    前記ロボットを移動させる指令を出力する操作指令部と、
    前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、
    前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向をもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、
    前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置。
  2. 複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、
    前記ロボットの先端部に作用させた力を計測する力計測部と、
    前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、
    前記ロボットを移動させる指令を出力する操作指令部と、
    前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、
    前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸と前記ロボットの先端部との位置関係をもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、
    前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置。
  3. 複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、
    前記ロボットの先端部に作用させた力を計測する力計測部と、
    前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、
    前記ロボットを移動させる指令を出力する操作指令部と、
    前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる1つ又は2つ以上の軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、
    前記操作軸設定部は、前記操作軸が1つであるときに、該操作軸を力に応じて移動することが許可された操作軸として設定し、前記操作軸が2つ以上であるときに、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向、および、前記操作軸と前記ロボットの先端部との位置関係の内の少なくとも一方と、所定の優先順位とをもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、
    前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置。
  4. 2つ以上の回転軸を含む複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、
    前記ロボットの先端部に作用させた力を計測する力計測部と、
    前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、
    前記ロボットを移動させる指令を出力する操作指令部と、
    前記複数の軸の内、力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、
    前記操作軸設定部は、前記複数の軸の内、前記複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を前記操作軸として設定し、
    前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置。
  5. 2つ以上の回転軸を含む複数の軸から成るロボットに作用させた力にもとづいて、前記ロボットを移動させるロボット制御装置において、
    前記ロボットの先端部に作用させた力を計測する力計測部と、
    前記力計測部が計測した力をもとに、前記ロボットの各軸の位置の移動操作をする操作力を算出する操作力算出部と、
    前記ロボットを移動させる指令を出力する操作指令部と、
    前記複数の軸の内、力に応じて移動することが許可されているときに力に応じて移動させる軸を操作軸として設定し、さらに力の方向に応じた前記操作軸の移動方向を設定する操作軸設定部と、を備え、
    前記操作軸設定部は、前記複数の軸の内、前記複数の軸の位置によらず回転軸の回転中心線が直交する2つの回転軸を前記操作軸として設定し、移動操作の状況に応じて、前記操作軸に対する前記力計測部が計測した力の方向、前記操作軸と前記ロボットの先端部との位置関係、および、所定の優先順位の内、少なくとも1つをもとに、前記操作軸とした軸の各々に対して、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定し、
    前記操作指令部は、前記操作軸設定部の設定、および、前記操作力算出部が算出した操作力にもとづいて、前記操作軸の位置を移動させる操作指令を出力する、ロボット制御装置。
  6. 請求項1〜5のいずれか1項に記載のロボット制御装置と前記ロボットとを含むロボットシステム。
  7. 前記ロボットシステムは、前記ロボット制御装置に設定を入力する教示操作装置を備え、
    前記操作軸設定部は、前記教示操作装置からの入力をもとに前記操作軸を設定し、
    前記教示操作装置は、前記操作軸として設定可能な軸の内、操作軸とする軸が組み合わされた選択肢から選択して入力する、請求項6に記載のロボットシステム。
  8. 前記ロボットシステムは、前記ロボット制御装置に設定を入力する教示操作装置を備え、
    前記操作軸設定部は、前記教示操作装置からの入力をもとに前記操作軸を設定し、
    前記教示操作装置は、前記複数の軸の内、前記操作軸として選択可能な軸を示し、選択された軸をもとに、前記選択された軸以外の軸において、前記操作軸として前記選択された軸と同時に選択可能であることと、前記選択された軸と同時に選択可能でないこととの少なくとも一方を表示する、請求項6に記載のロボットシステム。
  9. 請求項1〜3および5のいずれか1項に記載のロボット制御装置と前記ロボットとを含むロボットシステムであって、
    前記ロボットシステムは表示装置を備え、
    前記表示装置は、前記操作軸設定部が前記操作軸を、力に応じて移動することが許可された操作軸か、力が作用していても移動させない操作軸のいずれとするかを設定するときの設定条件を表示する、ロボットシステム。
  10. 前記教示操作装置は、前記ロボットの現在の軸の位置をもとに、前記複数の軸の内の回転軸の回転中心線から、前記ロボットの先端部までの最短距離が所定の閾値以下であるときに、前記回転軸の回転中心線の付近に前記ロボットの先端部が存在することを示すか、または、前記操作軸として該軸を含む軸の設定を設定可能としないことを示す、請求項7または8に記載のロボットシステム。
JP2014082732A 2014-04-14 2014-04-14 力に応じて動かすロボットのロボット制御装置およびロボットシステム Active JP5893666B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014082732A JP5893666B2 (ja) 2014-04-14 2014-04-14 力に応じて動かすロボットのロボット制御装置およびロボットシステム
CN201510152002.7A CN104972463B (zh) 2014-04-14 2015-04-01 根据力动作的机器人的机器人控制装置及机器人系统
DE102015004484.2A DE102015004484B4 (de) 2014-04-14 2015-04-07 Robotersteuerung und Robotersystem zum Bewegen eines Roboters in Erwiderung einer Kraft
US14/684,930 US9566707B2 (en) 2014-04-14 2015-04-13 Robot controller and robot system for moving robot in response to force

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014082732A JP5893666B2 (ja) 2014-04-14 2014-04-14 力に応じて動かすロボットのロボット制御装置およびロボットシステム

Publications (2)

Publication Number Publication Date
JP2015202537A JP2015202537A (ja) 2015-11-16
JP5893666B2 true JP5893666B2 (ja) 2016-03-23

Family

ID=54193327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014082732A Active JP5893666B2 (ja) 2014-04-14 2014-04-14 力に応じて動かすロボットのロボット制御装置およびロボットシステム

Country Status (4)

Country Link
US (1) US9566707B2 (ja)
JP (1) JP5893666B2 (ja)
CN (1) CN104972463B (ja)
DE (1) DE102015004484B4 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133143A (ko) * 2016-05-25 2017-12-05 한화테크윈 주식회사 로봇 팔 제어 장치 및 방법

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10768708B1 (en) * 2014-08-21 2020-09-08 Ultrahaptics IP Two Limited Systems and methods of interacting with a robotic tool using free-form gestures
JP6924145B2 (ja) * 2015-10-14 2021-08-25 川崎重工業株式会社 ロボット教示方法及びロボットアーム制御装置
JP6577326B2 (ja) * 2015-10-16 2019-09-18 ファナック株式会社 人と協働して物体を運搬するロボットを制御するロボット制御装置、ロボットシステム、およびその方法
DE102015222168B4 (de) 2015-11-11 2024-02-22 Kuka Roboter Gmbh Verfahren und computerprogramm zur korrektur von fehlern eines manipulatorsystems
KR101898092B1 (ko) * 2016-06-17 2018-09-12 주식회사 뉴로메카 다자유도 로봇의 말단 제어를 위한 콘트롤러, 상기 콘트롤러를 이용한 다자유도 로봇 제어방법 및 이에 의해 동작하는 로봇
JPWO2018012110A1 (ja) 2016-07-11 2019-04-25 ソニー株式会社 処理装置、システム、および制御方法
TWI587996B (zh) * 2016-08-25 2017-06-21 財團法人工業技術研究院 機械手臂教導裝置
JP2018069361A (ja) * 2016-10-27 2018-05-10 セイコーエプソン株式会社 力制御座標軸設定装置、ロボットおよび力制御座標軸設定方法
JP6633580B2 (ja) 2017-08-02 2020-01-22 ファナック株式会社 ロボットシステム及びロボット制御装置
DE102017124356B3 (de) 2017-10-18 2018-12-27 Franka Emika Gmbh Robotersystem, Vorrichtung und Verfahren zur Applikation einer Prozesskraft auf ein Objekt
DE102017011130B4 (de) * 2017-12-01 2021-03-04 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters
CN109927056B (zh) * 2017-12-19 2020-11-10 合肥欣奕华智能机器有限公司 一种示教摇杆及机器人示教方法、机器人控制系统
DE102018200864B3 (de) 2018-01-19 2019-02-07 Kuka Deutschland Gmbh Verfahren und System zum Steuern eines Roboters
DE102018207921B3 (de) 2018-05-18 2019-06-19 Kuka Deutschland Gmbh Steuern eines Roboters
JP7124439B2 (ja) * 2018-05-22 2022-08-24 セイコーエプソン株式会社 制御装置及びロボットシステム
DE102018208088A1 (de) * 2018-05-23 2019-11-28 Kuka Deutschland Gmbh Verfahren und Steuerung zum Steuern eines Roboters
JP7048176B2 (ja) * 2018-05-23 2022-04-05 アズビル株式会社 ロボットの直接教示装置及び直接教示方法
DE102018127905A1 (de) 2018-11-08 2020-05-14 Franka Emika Gmbh Roboter und Verfahren zur Steuerung der Bewegung eines Roboters
DE102018127921B4 (de) 2018-11-08 2021-10-07 Franka Emika Gmbh Roboter und Verfahren zur Bestimmung eines Bewegungsraums mittels eines Roboters
JP7238450B2 (ja) * 2019-02-14 2023-03-14 株式会社デンソーウェーブ ロボットの制御装置およびロボットの制御方法
CN112454333B (zh) 2020-11-26 2022-02-11 青岛理工大学 基于图像分割及表面肌电信号的机器人示教系统及方法
JP7351539B2 (ja) * 2021-09-13 2023-09-27 株式会社メルティンMmi 操作者の動きに基づいてロボットの動きを制御するためのプログラム、方法、およびシステム

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5685106A (en) 1979-12-14 1981-07-11 Hitachi Ltd Robot teaching method
JPH06250728A (ja) * 1993-02-26 1994-09-09 Hitachi Constr Mach Co Ltd ロボットの直接教示装置
JPH085106A (ja) 1994-06-21 1996-01-12 Sanyo Electric Co Ltd 空気調和装置
US5495410A (en) * 1994-08-12 1996-02-27 Minnesota Mining And Manufacturing Company Lead-through robot programming system
WO2004103651A1 (ja) * 1999-06-01 2004-12-02 Hirohiko Arai 物体協調運搬ロボットの制御方法及びその装置
US6385508B1 (en) * 2000-10-31 2002-05-07 Fanuc Robotics North America, Inc. Lead-through teach handle assembly and method of teaching a robot assembly
EP1386699A4 (en) * 2001-02-21 2006-04-19 Sony Corp ROBOT DEVICE AND METHOD FOR CONTROLLING THE OPERATION OF THE ROBOT DEVICE
JP2002239963A (ja) 2001-02-21 2002-08-28 Sony Corp ロボット装置、ロボット装置の動作制御方法、プログラム及び記録媒体
US7212886B2 (en) * 2002-12-12 2007-05-01 Kabushiki Kaisha Yaskawa Denki Robot control apparatus and method
JP3923053B2 (ja) * 2004-03-31 2007-05-30 ファナック株式会社 ロボット教示装置
ATE476692T1 (de) * 2006-02-23 2010-08-15 Abb Ab System zur steuerung der position und orientierung eines objekts je nach von einem benutzer empfangenen kräften und drehmomenten
JP4267027B2 (ja) 2006-12-07 2009-05-27 ファナック株式会社 ロボット制御装置
DE102007062108A1 (de) 2007-12-21 2009-07-02 Kuka Roboter Gmbh Industrieroboter und Verfahren zum Programmieren eines Industrieroboters
JP4443614B2 (ja) * 2008-02-27 2010-03-31 トヨタ自動車株式会社 パワーアシスト装置及びその制御方法
DE102009018403A1 (de) * 2009-04-22 2010-10-28 Kuka Roboter Gmbh Verfahren und Vorrichtung zur Regelung eines Manipulators
EP2243585B1 (de) 2009-04-22 2018-08-08 KUKA Deutschland GmbH Verfahren und Vorrichtung zur Steuerung einer Positioniervorrichtung zum Schweißen
JP4759660B2 (ja) * 2009-08-21 2011-08-31 パナソニック株式会社 ロボットアーム制御用の装置、方法、プログラム及び集積電子回路、並びに、組立ロボット
DE102010019640A1 (de) * 2010-05-06 2011-11-10 Kuka Roboter Gmbh Handgerät und Verfahren zum Steuern und/oder Programmieren eines Manipulators
DE102010029745A1 (de) * 2010-06-07 2011-12-08 Kuka Laboratories Gmbh Werkstück-Handhabungssystem und Verfahren zum Manipulieren von Werkstücken mittels kooperierender Manipulatoren
JP5180414B2 (ja) * 2011-01-27 2013-04-10 パナソニック株式会社 ロボットアームの制御装置及び制御方法、ロボット、ロボットアーム制御プログラム、並びに、集積電子回路
JP5399593B2 (ja) * 2011-11-10 2014-01-29 パナソニック株式会社 ロボット、ロボットの制御装置、制御方法、及び制御プログラム
DE102012009010A1 (de) * 2012-05-05 2012-12-13 Daimler Ag Verfahren zum Erzeugen einer Bewegung eines Roboters
DE102013218823A1 (de) * 2013-09-19 2015-04-02 Kuka Laboratories Gmbh Verfahren zum manuell geführten Verstellen der Pose eines Manipulatorarms eines Industrieroboters und zugehöriger Industrieroboter
DE102013222456A1 (de) * 2013-11-05 2015-05-07 Kuka Laboratories Gmbh Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter
DE102014202145A1 (de) * 2014-02-06 2015-08-06 Kuka Roboter Gmbh Verfahren zum Programmieren eines Industrieroboters und zugehörigerIndustrieroboter

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170133143A (ko) * 2016-05-25 2017-12-05 한화테크윈 주식회사 로봇 팔 제어 장치 및 방법
KR102486985B1 (ko) * 2016-05-25 2023-01-10 주식회사 한화 로봇 팔 제어 장치 및 방법

Also Published As

Publication number Publication date
CN104972463A (zh) 2015-10-14
US9566707B2 (en) 2017-02-14
DE102015004484A1 (de) 2015-10-15
US20150290796A1 (en) 2015-10-15
CN104972463B (zh) 2016-11-16
DE102015004484B4 (de) 2020-02-06
JP2015202537A (ja) 2015-11-16

Similar Documents

Publication Publication Date Title
JP5893666B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP5893665B2 (ja) 作用された力に応じて移動されるロボットを制御するロボット制御装置
US10423154B2 (en) Robot system including force-controlled pushing device
US9149931B2 (en) Robot system, robot control device and method for controlling robot
JP5893664B2 (ja) 作用された力に応じて移動されるロボットを制御するロボット制御装置
US10751874B2 (en) Method of teaching robot and robotic arm control device
US11161249B2 (en) Robot control apparatus and robot system
JP2015085445A (ja) ロボット制御装置、ロボットおよびロボット制御方法
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
JP2016028842A (ja) アクチュエータシステム
JP2016190292A (ja) ロボット制御装置、ロボットシステムおよびロボット制御方法
US20150051735A1 (en) Control apparatus of robot, robot, and program thereof
JP2021030364A (ja) ロボット制御装置
CN115003463A (zh) 机器人模拟装置
CN112118940B (zh) 机械手的直接教示装置以及直接教示方法
JP2013094947A (ja) ロボットアーム
JP2007313612A (ja) 多関節ロボットの制御装置及びその制御方法
JP2020110884A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP6238110B2 (ja) ロボットハンドの制御方法と制御装置
JP2023096221A (ja) ロボットの直接教示装置及び直接教示方法
JP2014140913A (ja) ロボット制御装置、ロボット制御システム、及びロボットの制御方法
JPWO2013038544A1 (ja) ロボットシステム及びロボット制御装置

Legal Events

Date Code Title Description
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151112

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160224

R150 Certificate of patent or registration of utility model

Ref document number: 5893666

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150