JP2015174185A - ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム - Google Patents

ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム Download PDF

Info

Publication number
JP2015174185A
JP2015174185A JP2014052546A JP2014052546A JP2015174185A JP 2015174185 A JP2015174185 A JP 2015174185A JP 2014052546 A JP2014052546 A JP 2014052546A JP 2014052546 A JP2014052546 A JP 2014052546A JP 2015174185 A JP2015174185 A JP 2015174185A
Authority
JP
Japan
Prior art keywords
command value
joint
angle
joints
hand position
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
JP2014052546A
Other languages
English (en)
Inventor
夏樹 松波
Natsuki Matsunami
夏樹 松波
智宏 田見
Tomohiro Tami
智宏 田見
川内 直人
Naoto Kawauchi
直人 川内
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.)
Mitsubishi Heavy Industries Ltd
Original Assignee
Mitsubishi Heavy Industries Ltd
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 Mitsubishi Heavy Industries Ltd filed Critical Mitsubishi Heavy Industries Ltd
Priority to JP2014052546A priority Critical patent/JP2015174185A/ja
Priority to PCT/JP2015/055929 priority patent/WO2015137167A1/ja
Priority to US15/117,800 priority patent/US20170120449A1/en
Publication of JP2015174185A publication Critical patent/JP2015174185A/ja
Pending legal-status Critical Current

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/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/04Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type by rotating at least one arm, excluding the head movement itself, e.g. cylindrical coordinate type or polar coordinate type
    • B25J9/046Revolute coordinate type
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40314Simulation of program locally before remote operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40373Control of trajectory in case of a limb, joint disturbation, failure
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40495Inverse kinematics model controls trajectory planning and servo system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40515Integration of simulation and planning

Abstract

【課題】多関節マニピュレータの制御において、関節の可動範囲による運動の制限を緩和する技術を提供する。
【解決手段】多関節マニピュレータの各関節について、角度の可動範囲と、その内側に定義される安全域とを設定する。各関節の現在角度と、手先位置指令値とに基づいて、各関節の角度指令値を生成する。角度指令値が安全域を超えた場合、その関節の角度指令値を生成する際に、角度指令値の変化速度を小さくする障害回避制御を行う。
【選択図】図1

Description

本発明は、多関節マニピュレータを備えたロボットの制御に関する。
多関節マニピュレータ(多関節アーム)を備えたロボットが知られている。図1は、多関節マニピュレータの参考例を示す。多関節マニピュレータ101は、直列的に接続された複数のリンクL101〜L106を備える。隣接する一対のリンク(例えばリンクL101とL102)は、その間に設けられた関節(関節J102)によって互いに可動的に接続される。図1の例では、6つの回転関節(関節J101〜J106)を有する多関節マニピュレータ101が描かれている。
具体的には、固定された基部102に、支持部103の一端が取り付けられる。支持部103の他端に、第1の関節J101の一方側が取り付けられる。第1の関節J101の他方側に、第1のリンクL101の一端が取り付けられる。第1のリンクL101の他端に、第2の関節J102の一方側が取り付けられる。以下、同様にして、第5のリンクL105の他端に第6の関節J106の一方側が取り付けられる。第6の関節J106の他方側に第6のリンクL106の一端が取り付けられる。リンクL106の他端にエンドエフェクタ104が取り付けられる。
作業者は、手先(エンドエフェクタの先端などの位置)のワールド座標系における位置指令値を制御装置に対して指定する。制御装置は、逆運動学計算により、手先が位置指令値の方向に移動するように、各関節J101〜J106の角度指令値を計算する。各関節J101〜J106は、その角度指令値に従ってモータ等により駆動される。このような制御により、多関節マニピュレータ101の手先を所望の位置に移動することができる。
非特許文献1には、このような多関節マニピュレータの制御についての一般論が記載されている。
吉川恒夫『ロボット制御基礎論』、コロナ社、1988年11月25日発行
図2は、参考例における多関節マニピュレータ101を示す。手先105を目標点110に移動する制御を考える。作業者が目標点110を入力すると、制御装置は手先105が目標点110に移動するように関節角度の指令値を計算する。その指令値に従って、手先105が目標点110に到達するように各関節が駆動される。図2には、この動作において手先105が描く軌道111が描かれている。
このような制御においては、制御装置が手先105の位置及び姿勢について指令値を与え、その指令値に基づいて、各関節の角度の指令値を逆運動学により計算する。その各関節角度の指令値により、多関節マニピュレータ101が駆動される。
各関節角度を計算する逆運動学計算において、手先速度と関節角速度の関係付けを与えるヤコビ行列を用いると、容易かつシステマティックに指令値を計算することができる。この場合、ヤコビ行列を用いて算出された関節角速度を時間積分することにより、各関節の角度変位(角度の変化量)δθの指令値が求められる。この変化量δθの指令値と関節の角度の現在値を足すことにより、関節の角度の指令値が得られる。
次に、このように指令値を算出する場合に発生し得る問題について説明する。説明を簡単にするために、図2の多関節マニピュレータ101において3つの関節J102、J104、J106のみが駆動されることと仮定する。図3は、手先105が軌道111を描いて動く場合に、上記のような方法で算出された各関節J102、J104、J106の角度の例を示す。図3の横線は時間を示す。図3(a)に曲線で描かれている角度121は関節J102の角度θ1の時間変化を示す。図3(b)に曲線で描かれている角度122は関節J104の角度θ2の時間変化を示す。図3(c)に曲線で描かれている角度123は関節J106の角度θ3の時間変化を示す。
多関節マニピュレータ101の各関節J102、J104、J106の可動範囲が狭い場合などの場合を考えると、手先105が目標点110に接近することが難しい可能性がある。図3には、各関節J102、J104、J106の可動範囲が示されている。関節J102の角度θ1は、下限値LL101と上限値UL101の間の範囲で可動であり、その範囲を超えることは出来ないものとする。同様に、関節J104の角度θ2は、下限値LL102と上限値UL102の間の範囲で可動であり、関節J106の角度θ3は、下限値LL103と上限値UL103の間の範囲で可動である。
図3の例では、時刻t1において関節J102の角度θ1が下限値LL101を下回っている。従って、順運動・逆運動計算に従って目標点110に到達するための関節角度を計算しても、時刻t1において関節J102が可動範囲を超えてしまう。このような場合、その時刻で動作停止をさせるインターロックを設けることが普通である。そのため、ヤコビ行列を用いた順運動学及び逆運動学計算をリアルタイムに行いながら多関節マニピュレータ101を制御している場合には、時刻t1で停止してしまう。
図3の例では、仮に関節J102、J104、J106の可動範囲に制限が無いと考えた場合に手先105が目標点110に到達する時刻t2において、すべての関節の角度θ1〜θ3は、それぞれの可動範囲の内側に収まっている。すなわち、関節角度の指令値が一旦は可動範囲を超えているものの、手先105が目標点110に達した段階での多関節マニピュレータ101の姿勢においては、各関節J102、J104、J106の角度は可動範囲内である。従って、途中の軌道111が異なっていれば、手先105を目標点110に移動することができた可能性がある。
多関節マニピュレータの制御において、関節の可動範囲による運動の制限を緩和する技術が望まれる。
本発明の一側面において、シミュレーション装置は、複数の関節を備える多関節マニピュレータのシミュレーション装置であって、複数の関節の各々について、角度の可動範囲と、可動範囲の内側に定義される安全域とを記憶装置に記憶する記憶部と、複数の関節の各々の現在の角度を示す現在角度データと、多関節マニピュレータの手先位置指令値とに基づいて、複数の関節の各々の角度指令値を生成する角度指令値計算部とを備える。角度指令値計算部は、複数の関節のいずれかの内、角度指令値が安全域を超えた関節である停止候補関節が発生したとき、停止候補関節の角度指令値を生成する際に、角度指令値の変化速度を小さくする障害回避制御を行う。
本発明の他の側面において、制御装置は、本発明によるシミュレーション装置によって生成された角度指令値によって多関節マニピュレータを制御する。
本発明の更に他の側面において、ロボットシステムは、本発明による制御装置と、多関節マニピュレータとを備える。
本発明の更に他の側面において、シミュレーション方法は、複数の関節を備える多関節マニピュレータのシミュレーション方法であって、複数の関節の各々について、角度の可動範囲と、可動範囲の内側に定義される安全域とを記憶装置に記憶する工程と、複数の関節の各々の現在の角度を示す現在角度データと、多関節マニピュレータの手先位置指令値とに基づいて、複数の関節の各々の角度指令値を生成する工程とを備える。角度指令値を生成する工程において、複数の関節のいずれかの内、角度指令値が安全域を超えた関節である停止候補関節が発生したとき、停止候補関節の角度指令値を生成する際に、角度指令値の変化速度を小さくする障害回避制御を行う。
本発明の更に他の側面において、制御方法は、本発明によるシミュレーション方法で生成された角度指令値によって多関節マニピュレータを制御する。
本発明の更に他の側面において、プログラムは、本発明によるシミュレーション方法をコンピュータに実行させる。
本発明により、多関節マニピュレータの制御において、関節の可動範囲による運動の制限を緩和する技術が提供される。
図1は、多関節マニピュレータの参考例を示す。 図2は、多関節マニピュレータの参考例を示す。 図3は、関節の角度指令値の時間変化を示す。 図4は、ロボットシステムを示す。 図5は、関節の制御における計算の説明図である。 図6は、関節の角度指令値の時間変化を示す。 図7は、関節の角度指令値の時間変化を示す。 図8は、コンピュータによって実現される機能ブロックを示す。 図9は、安全域テーブルを示す。 図10は、障害回避制御のフローチャートである。 図11は、データテーブルを示す。 図12は、多関節マニピュレータのシミュレーション計算の説明図である。 図13は、多関節マニピュレータ画像の一例を示す。 図14は、軌道修正処理のフローチャートである。 図15は、多関節マニピュレータ画像の一例を示す。 図16は、経由点設定処理のフローチャートである。 図17は、経由点の設定方法の説明図である。
以下、添付図面を参照して、本発明の実施形態を説明する。図4は、本発明の一実施形態における多関節マニピュレータ1と、コンピュータD1と、表示装置D2とを備えたロボットシステムを示す。多関節マニピュレータ1は、床面等に固定された基部2を備える。基部2に、支持部3の一端が固定される。基部2が台車等によって移動可能な場合には、その移動についての座標変換を施せば、以下の説明は同様に適用できる。
支持部3の他端は、関節J1の一方側に固定される。関節J2の他方側に、第1のリンクL1の一端が取り付けられる。第1のリンクL1の他端に、第2の関節J2の一方側が取り付けられる。以下、同様にして、第5のリンクL5の他端に第6の関節J6の一方側が取り付けられる。第6の関節J6の他方側に、第6のリンクL6の一端が取り付けられる。第6のリンクL6の他端に、エンドエフェクタ4が取り付けられる。図4の例では、6個の関節J1〜J6を備える多関節マニピュレータ1が描かれているが、これより多い、またはこれより少ないn個の関節J1〜Jnを備えたn自由度の多関節マニピュレータ1を用いてもよい。
作業者は、多関節マニピュレータ1のエンドエフェクタ4の先端などに設定される手先5のワールド座標系における位置及び姿勢を示す位置・姿勢指令値(最終的な目標値)を制御装置に対して指定する。制御装置は、手先5が位置・姿勢指令値に示された状態に向かうように、各関節J1〜J6の角度指令値を生成する。各関節J1〜J6は、その角度指令値に従ってモータ等により駆動される。このような制御により、多関節マニピュレータ1の手先5を所望の位置に移動することができる。
多関節マニピュレータ1に、コンピュータD1が接続される。コンピュータD1は、ハードディスク等の有体の非遷移的(tangible,non−transitory)な記憶媒体を備える。コンピュータD1は、その記憶媒体に格納されたソフトウェアを実行することによって、多関節マニピュレータ1の動作をシミュレーションにより再現することができる。そのシミュレーションにより、多関節マニピュレータ1の動作が表示装置D2の画面上で再現される。作業者は、その画面上に表示された多関節マニピュレータ画像6を見て、グラフィカルユーザインタフェースによって画面上の手先5を所望の場所に移動し、更にその姿勢を指定する。このような画面操作により、多関節マニピュレータ1の手先5の位置・姿勢指令値を設定することができる。
コンピュータD1及び表示装置D2により、多関節マニピュレータ1のシミュレーションを行うシミュレーション装置、多関節マニピュレータ1の制御用データ生成装置、及び多関節マニピュレータ1の制御装置が実現される。コンピュータD1、表示装置D2、及び多関節マニピュレータ1により、ロボットシステムが構成される。
図5は、手先5の指令値を入力したときの関節J1〜J6の制御における計算の一般的な流れを示す。多関節マニピュレータ1は、エンコーダなどによって、関節J1〜J6の各々の現在の姿勢を示す関節角度θを検出することができる。コンピュータD1は、多関節マニピュレータ1から、各関節J1〜J6の関節角度θの検出値を取得する(A0)。コンピュータD1は、その関節角度θと、予め記憶したリンクパラメータに基づいて順運動学計算を行うことにより、ワールド座標系における現在の手先位置及び手先姿勢を計算する(A1)。
一方、作業者はコンピュータD1を用い、表示装置D2のシミュレーション画像を見ながら、手先5の最終的な目標位置及び目標姿勢を示す手先指令を入力する。コンピュータD1は、多関節マニピュレータ1の手先5が現在位置姿勢から最終目標位置姿勢に到達するまでの位置姿勢の軌道を生成する。この軌道により、現在の手先5に対して、次の制御周期で目標とすべき手先位置及び姿勢の指令値が与えられる(A8)。コンピュータD1は、A1で算出された現在の手先位置及び姿勢に対する、手先位置及び姿勢の指令値の偏差Eを計算する(A2)。コンピュータD1は更に、予め設定された位置姿勢制御用の比例ゲインKPを偏差Eに掛ける(A3)。
各関節J1〜J6の現在の角度の検出値に基づいて、関節の角速度と直交座標系における手先速度との関係を示すヤコビ行列Jを計算する(A4)。更に、そのヤコビ行列の逆行列J−1(多関節マニピュレータ1が冗長自由度を持っている場合は疑似逆行列)を計算する(A5)。この逆ヤコビ行列を用いて、ゲインを掛けた位置姿勢偏差KP・Eから関節角速度の指令値を算出する(A6)。
関節角速度の指令値を時間積分することにより、各関節J1〜J6の角度の変化量の指令値が算出される。ブロックA0で入力された各関節J1〜J6の角度の現在値に、この角度の変化量の指令値を足すことにより、関節角度の指令値が得られる(A7)。コンピュータD1は、関節角度の指令値を多関節マニピュレータ1に送信する。多関節マニピュレータ1の制御装置は、その指令値に基づいて、各関節J1〜J6のモータ等を制御する。以上の制御により、作業者が指定した目標位置及び目標姿勢を取るようにエンドエフェクタ4を動かすことが可能である。
次に、本実施形態において関節J1〜J6の可動限界付近における制御について説明する。まず図6を参照して、本実施形態における制御の基本的な考えを説明する。図6は、或る関節について、可動範囲が制限されていないと仮定した場合の角度θの指令値の時間変化を示す。しかし実際には、この関節は、可動範囲が下限LL1と上限UL1との間の範囲に制限されているものとする。その内側に、仮想的なリミットを設定する。すなわち、下限LL1よりやや大きい値に仮想的な下限LL2を設定する。上限UL1よりやや小さい値に仮想的な上限UL2を設定する。このような仮想的な上限UL2、下限LL2は、各関節の特性に応じて、関節毎に設定される。
関節の角度21が仮想的な上限UL2と下限LL2の間の値を取っている領域では、実際の上限UL1、下限LL1まで余裕幅があるので、通常の順運動学・逆運動学の計算によって指令値を算出して制御を行う。
図6の例では、時刻t1において角度21(指令値)が仮想的な下限LL2を下回り、時刻t2において角度21が実際の下限LL1を下回る。その後、時刻t3において角度21が実際の下限LL1を上回り、可動範囲に戻る。更に、時刻t4において仮想的な下限LL2を上回り、安全域22に入る。最終的に、時刻t5において手先5が最終目標点に到達した段階では、角度21は可動範囲の内側に入っている。
このような制御において、関節の角度21が上限UL1又は下限LL1に近づいたときに、何らかの対処を取ることが望まれる。そのため、角度21が仮想的な下限LL2を下回るか、又は仮想的な上限UL2を上回ったときに、障害回避制御が行われる。例えば図6では、時刻t1において角度21が仮想的な下限LL2を下回るので、通常制御から障害回避制御への切り替えが行われる。
図7は、障害回避制御における角度21の変化の一例を示す。障害回避制御が開始される時刻t1において、リミットに近づいた関節の角度指令値の変化速度を小さくする。このとき、その他の関節については通常制御が続行される。図7の時刻t1以降の角度21は、このような角度指令値による制御結果を示す。このような制御の結果、角度21が下限LL1に接近するまでに時間の余裕が生じる。
図7において、点線で示した角度23は、時刻t1以降においても通常制御を続行した場合の角度の変化を示す。この場合、時刻t2において関節の角度23が下限LL1に達して、多関節マニピュレータ1の動作が停止してしまう。しかしながら、障害回避制御を適用した場合、関節の角度の変化速度が低下しているために、時刻t2になってもまだ下限LL1に到達するまでには余裕幅がある。このような状態において、他の関節が回転することにより、多関節マニピュレータ1の姿勢が変化する。その結果、障害回避制御を行っている関節に対する角度指令値が変化するため、角度指令値がリミットに達することを回避できる可能性がある。図7の例では、障害回避制御を行っている期間に関節の角度21の変化が下限LL1から離れる方向に転じ、時刻t3において仮想的な下限LL2を上回って安全域22に入る。この時刻t3において、関節の制御が障害回避制御から通常の制御に戻される。
以上のような障害回避制御について、以下により具体的に説明する。図8は、障害回避制御を行うためにコンピュータD1によって実現される機能ブロックを示す。コンピュータD1は、記憶部11、角度指令値計算部12、障害回避制御部13、軌道データ生成部14、シミュレーション部15、障害関節表示部16、及び軌道修正部17として機能する。これらの各機能ブロックは、コンピュータD1の演算制御装置が非遷移的な記憶媒体に格納されたソフトウェアを読み出して実行することによって実現することができる。
図9は、記憶部11が記憶する安全域テーブル25を示す。多関節マニピュレータ1が備えるn個の関節J1、J2、…Jnの各々について、可動範囲の上限と下限(実際のリミット)と、それより内側に設定された安全域22の上限と下限とが登録される。関節J1、J2、…Jnのうちの一部にのみ安全域22を登録して障害回避制御を適用してもよい。上限・下限ではなく右回転方向の限界角度と左回転方向の限界角度の対などによって可動範囲を登録してもよい。
[ステップS1:軌道データ入力]
図10は、障害回避制御のフローチャートである。軌道データ生成部14は、多関節マニピュレータ1の手先5の位置姿勢の指令値を示す軌道データを生成する。この軌道データは、多関節マニピュレータ1の手先を、現在手先位置から目標手先位置まで所定の軌道(例えば等速直線運動)に沿って移動させるために用いられる。このような軌道データは、例えば、多関節マニピュレータ1の制御周期毎の手先5の位置姿勢の指令値として与えられる。コンピュータD1が多関節マニピュレータ1の制御を行うとき、このようにして生成された軌道データを入力する。
図11に、本実施形態における制御で用いるデータを表したデータテーブル24を示す。このようなデータテーブル24を記憶部11に格納してもよい。データテーブル24において、手先指令値(少なくとも手先の位置を示す手先位置指令値、より一般的には手先の姿勢も示す手先位置姿勢指令値)A1〜Anが、軌道データを示す。軌道データは、現在手先位置に近い第1番目の時刻T1における手先指令値A1から目標手先位置に近い第n番目の時刻Tnにおける手先指令値Anまでの一連の手先位置指令値Ai(iは1以上n以下の整数)からなる。各手先指令値Aiは、位置を示す3つの値(X、Y、Zと記す)と、姿勢を示す3つの値(A、B、Cと記し、オイラー角などにより表現できる三次元空間内の角度を示す)とを含む。
[ステップS2:手先の現在位置・姿勢の計算]
多関節マニピュレータ1の各関節J1〜J6には、その回転角度を検出するエンコーダ等の検出装置が取り付けられる。コンピュータD1は、各関節J1〜J6の回転角度の検出値を多関節マニピュレータ1からリアルタイムで(例えば10msのオーダーの制御周期で)読み込む。この角度の検出値が、データテーブル24に、複数の関節の各々の現在の角度を示す現在角度データC1〜Cnとして示されている。
以下、ステップS4まで、角度指令値計算部12は、図5に示した方法によって、関節角度指令値を算出するための計算を実行する。まず、多関節マニピュレータ1から読み込まれた関節角度の検出値から、順運動学計算によって、多関節マニピュレータ1の手先5の現在位置が算出される。角度指令値計算部12は更に、手先5のリンク(図4ではエンドエフェクタ4を備えたリンクL6)の現在姿勢を算出する。これらは図5のA1の処理に相当する。
[ステップS3:関節角速度指令値の算出]
ステップS1で入力された軌道データ指令値と、ステップS2で生成された手先5の位置・姿勢の現在値とに基づいて、図5のA2〜A5の計算を行うことにより、各関節J1〜J6に対する回転の速度を示す角速度指令値Vθ(単位はラジアン毎秒[rad/s])が算出される。これは図5のA6に相当する。
[ステップS4:関節角度指令値の算出]
複数の関節J1〜J6の各々の関節角速度指令値Vθに、図5のA7のように係数Kを掛けて時間積分することにより、次の制御周期における関節の角度の変化量の指令値δθ[rad]が算出される。ステップS2で入力された各関節J1〜J6の角度の現在値に、角度の変化量の指令値δθを加えることにより、複数の関節の各々の角度指令値θ[rad]が生成される。この角度指令値θが、図11のデータテーブル24において、各時刻Tiにおける角度指令値Biとして示されている。通常制御において、係数Kは例えばK=1に設定される。
[ステップS5:関節角度指令値の仮想リミットをチェック]
障害回避制御部13は、各関節J1〜J6について、ステップS5で算出された角度指令値が仮想リミットの範囲内(仮想の下限LL2と仮想の上限UL2との間の領域)に入っているか否かを判定する。この判定は、安全域テーブル25に登録された各関節J1〜Jnの安全域の値を用いて行われる。又は他の方法として、安全域テーブル25に登録された各関節J1〜Jnの可動範囲の上限と下限を用い、可動範囲のうちの上限又は下限に近い所定範囲(例えば可動範囲全体の幅の10パーセント以内)の値に入ったときに、仮想リミットの範囲内に入ったと判定してもよい。
[ステップS6:指令値による分岐処理]
すべての関節J1〜J6について角度指令値が仮想リミット以内であった場合(ステップS7Yes)、すべての関節J1〜J6について通常制御を行うために、処理はステップS8に移行する。複数の関節J1〜J6のいずれかの内、角度指令値が仮想リミットを超えていた関節があった場合、停止する可能性のある停止候補関節であると判定する。その停止候補関節について障害回避制御を行うため、処理はステップS7に移行する。
[ステップS7:障害回避制御の積分係数設定]
ステップS6において角度指令値が仮想リミット外であると判定された関節に対して、障害回避制御が適用される。具体的には、ステップS4の計算で用いられた積分係数Kを小さくする。例えば、K=0.1に設定する。他の関節については、通常制御が続けられる。このような設定により、ステップS4(図5のA7)で算出される関節の回転角度がリミットに近づく速度が遅くなり、図7の期間t1〜t3における角度21のような制御を実現することができる。
[ステップS8:通常制御の積分係数設定]
ステップS5で関節角度指令値を生成する積分計算時に用いた係数Kとして、通常制御の値(例:K=1)に設定する。前回の制御周期までに通常制御を行っていた関節については、係数K=1は変化しない。前回の制御周期までに障害回避制御を行っていた関節については、ステップS7で今回新たに角度指令値が仮想リミット内であると判定された場合、障害回避制御時の積分係数の値(例:K=0.1)が通常制御時の値K=1に戻される。
[ステップS9:指令値をコントローラへ出力]
コンピュータD1は、ステップS4で算出された関節J1〜J6の角度指令値を多関節マニピュレータ1に出力する。多関節マニピュレータ1のコントローラは、その角度指令値を用いて各関節J1〜J6の角度を制御する。
[多関節マニピュレータの動作のシミュレーション]
次に、多関節マニピュレータ1の動作のシミュレーションについて説明する。上記の図10では、多関節マニピュレータ1の実機の動作中に関節がリミットに近づいた場合の制御について説明した。それに対して、実機の動作を伴わずに、関節がリミットに近づいた場合の多関節マニピュレータ1の動作をシミュレーションによって再現することも可能である。
図8のシミュレーション部15は、そのようなシミュレーション計算を実行する。図12を参照して、そのようなシミュレーションについて説明する。図5と比較して、以下の2点が異なっている。
(1)ブロックA7で生成された関節の角度指令値θが各関節角度の現在値θとしてフィードバックされるフィードバック処理FBが追加されている。
(2)図5のブロックA0において多関節マニピュレータ1の実機から各関節J1〜J6の角度の現在値を取得していた。その代わりに、図12のブロックA9においては、時刻Tiにおける関節の角度指令値θと手先指令値を用いてブロックA7で算出された関節角度の指令値θが、次の時刻Ti+1における各関節角度の現在値θとして与えられる。
図5と図12における計算の違いは、以下のような意味を有する。
(a)図5では、時刻Tiにおける計算により、ブロックA7において関節角度の指令値を生成し、その指令値によって多関節マニピュレータ1を制御した。その制御の結果として得られた各関節角度の検出値が、次の時刻Ti+1における制御計算に用いられた。
(b)それに対して図12では、疑似的にθ指令を更新して次の時刻におけるθの現在値として用い、ヤコビ行列の収束計算を実施する。このような計算により、多関節マニピュレータ1の動作をコンピュータD1の内部で疑似的に再現する。
このようなシミュレーションは、図11のデータテーブル24を参照して、以下のように行うこともできる。シミュレーション部15は、手先指令値A1からAnまでを順次用いて、多関節マニピュレータの動作の仮想的な再現を行う。シミュレーション部15は更に、角度指令値計算部において手先指令値Aiに基づく計算結果として、時刻Tiにおける複数の関節の各々の角度指令値Biを得る。その角度指令値Biを、次の時刻Ti+1における複数の関節の各々の現在角度データCi+1として設定することにより、図12のフィードバック処理FBが行われる。
このようなシミュレーションにより、多関節マニピュレータ1の手先5が現在の位置姿勢から最終目標位置姿勢に到達するまでの動作を近似的に再現することができる。そのため、その動作において各関節について可動範囲を外れる可能性があるか否かを確認することができる。
図13は、コンピュータD1によって計算され表示装置D2に表示される多関節マニピュレータ画像6の一例を示す。実線は制御の開始位置、点線は制御の途中位置における多関節マニピュレータ画像6を示す。制御の開始位置において、手先5の位置姿勢が与えられる。更に、目標点32における最終目標位置姿勢が設定される。更に、開始位置と目標点32との間を繋ぐ軌道31が設定される。
コンピュータD1は、これらの設定と、リンクパラメータや各関節J1〜J4の可動範囲などの多関節マニピュレータ1を定義する情報とを用いることにより、図12に示したシミュレーションを実行する。その結果、手先5が軌道31を目標点32まで移動するときの多関節マニピュレータ1の運動を仮想的に再現することができる。
このようなシミュレーションにおいて、関節が可動範囲のリミットに達したか否かの判定が行われる。図8の障害関節表示部16は、多関節マニピュレータ1のシミュレーション上の運動について、各関節J1〜J4が可動範囲に入っているか否かを判定する。可動範囲に入っている場合は、シミュレーションを続行する。いずれかの関節J1〜J4の角度指令値(図11の角度指令値Bi)が可動範囲を超えた場合は、障害関節が発生したと判定する。障害関節が発生した場合、シミュレーションを停止し、その時点Tiでの多関節マニピュレータ画像6を表示する。図13における点線は、手先が停止点33に到達したときに、関節(例えば関節J2)が可動範囲を超えたため、シミュレーションが停止された状態での多関節マニピュレータ画像6を示す。
このようなシミュレーションにおいて、図10を用いて説明した障害回避処理を仮想的に再現することも可能である。
[軌道修正処理]
このようなシミュレーションにおいて、いずれかの関節J1〜J4の角度が可動範囲を超える場合、すべての関節J1〜J4の角度が可動範囲内に収まるように、軌道31を修正することが望まれる。図14は、多関節マニピュレータ1のシミュレーション方法と、その方法中で実行される軌道修正処理のフローチャートである。
図10のステップS1と同様に、軌道データ生成部14は、軌道データを生成する(ステップS21)。図10のステップS2〜S4と同様に、運動学計算により、各関節J1〜J4の角度指令値が計算される。但し、図10の場合では実機から取得した関節角度の現在値を用いて角度指令値を計算したのに対し、図14の場合には、図12に示した方法により、疑似的に多関節マニピュレータ1の動作が再現され、多関節マニピュレータ画像6の動作として表示される(ステップS22)。
障害回避制御部13は、各関節J1〜J4について、ステップS22で算出された角度指令値が可動範囲に入っているか否かを判定する。この判定は、安全域テーブル25に登録された可動範囲の上限と下限の値を用いて行われる(ステップS23)。
すべての関節J1〜J4について角度指令値が可動範囲内であった場合(ステップS24Yes)、処理はステップS27に移行する。関節J1〜J4のいずれかについて、時刻Tiにおける角度指令値Biが可動範囲を超えた場合、処理はステップS25に移行する(ステップS24No)。
[ステップS25:CG画面での停止]
関節J1〜J4のいずれかの角度指令値Biが可動範囲を超えた場合、シミュレーションが停止され、その時点での多関節マニピュレータ画像6が表示される。図15は、関節J3の角度指令値Biが上限を超えた場合の表示例を示す。障害関節表示部16は、角度がリミットに達した関節J3について、分かりやすいように、画面上でその関節を指示する障害関節表示を行う。例えば、障害関節を他の関節と区別する表示(例えば違う色での表示)がなされる。更に、関節J3の角度が可動範囲の一方側の端を超えたか他方側の端を超えたかを示す障害方向表示を行う。図15の例では、障害方向表示として、関節J3の角度が下限に達したのかを矢印等により示す上限/下限表示34が表示されている。
[ステップS26:手先指令値の記憶]
次に、角度がリミットに達した関節J3について、リミットから外れるように、すなわち可動範囲の中心側に向かうように手先指令値を修正して記憶する。具体的には、手先の軌道上に新たに経由点を設定することにより、関節J3の角度が可動範囲に収まるようにする。図16は、そのような経由点設定処理のフローチャートである。まず、停止点33における手先位置が読み込まれる(ステップS31)。次に、関節J3の角度が可動範囲の下限か上限かが判定される(ステップS32)。
次に、図17に例示されるような手前点35を設定する。手前点35は、例えば、時刻Tiにおける角度指令値Biによってシミュレーションが停止した場合、それよりも所定期間だけ以前の時刻Ti−k(kは1以上の整数)における手先指令値Ai−kによって設定される(ステップS33)。
次に、経由点36が設定される。経由点36は、修正を施す前の軌道31と比べて、停止点33でリミットに達した関節J3がリミットから離れる方向(図17の離脱方向37)となるように設定される。言い換えれば、関節J3がその可動範囲の中心に近い角度となるように経由点が設定される。
例えば、手先5が停止点33に位置する時点で関節J3の角度が上限に達してした場合、他の全ての関節J1、J2、J4を固定して、関節J3の角度を所定の角度Δθだけ小さい値にしたときの手先5の位置が、経由点36として設定される(ステップS34)。手前点35と経由点36とを直線などの軌道38で繋ぎ、経由点36と目標点32とを直線などの軌道39で繋ぐことにより、修正された軌道が生成される。このような経由点36の設定は、軌道修正部17が自動的に行ってもよいし、作業者による入力操作によって行ってもよい(ステップS35)。
軌道修正部17は、修正された軌道38、39の手先指令値を記憶する(図14のステップS26)。以上の軌道修正処理は、いずれかの関節J1〜J4がリミットに達する度に実行される。そのため、2以上の経由点36が設定されることもある。
修正された軌道が生成されると、ステップS21からの処理が繰り返される。但し、以後の計算は、手前点35の時点の軌道31まで戻って、修正された軌道を用いて実行される。
図14に戻って、ステップS24において全ての関節J1〜J4の角度指令値が可動範囲内であった場合(ステップS24Yes)、手先5が目標点32(最終手先目標値)に到達したか否か判定される(ステップS27)。手先5が目標点32に到達していない場合は、ステップS21からの処理が繰り返される(ステップS27No)。手先5が目標点32に到達した場合(ステップS27Yes)、処理はステップS28に移行する。
ステップS26で軌道修正が行われた場合、経由点36を通る軌道(図17の例では手前点35までは軌道31、手前点35以降では修正された軌道38、39)を連結することにより、修正された軌道を描く手先指令値が生成される(ステップS28)。
コンピュータD1は、この手先指令値を多関節マニピュレータ1に実動作指令として送信する(ステップS29)。シミュレーション上、関節J1〜J4が可動範囲を超えないように手先指令値が修正されているため、実機でも動作が停止せずに手先5が目標点32まで到達できる見込みが高い。
図14を用いて説明した軌道修正処理において、図10を用いて説明した障害回避処理を適用することもできる。その場合、ステップS23において関節角度指令値が可動範囲内か否かを判定する前に、ステップS5、S6における関節角度指令値が仮想リミット以内か否かの判定が行われる。関節角度指令値が仮想リミットを超えていた場合、ステップS7における障害回避処理が実行される。その後、ステップS23以降の処理が行われる。
このような処理により、いずれかの関節の角度が仮想リミットに近づいた場合には、まず障害回避処理が実行される。それでもその関節が実際のリミットに到達した場合にのみ、ステップS26での軌道修正処理が行われる。そのため、軌道修正処理が少なくなり、当初の軌道に近い自然な経路で手先5を目標点32に導くことができる。
1 多関節マニピュレータ
2 基部
3 支持部
4 エンドエフェクタ
5 手先
6 多関節マニピュレータ画像
11 記憶部
12 角度指令値計算部
13 障害回避制御部
14 軌道データ生成部
15 シミュレーション部
16 障害関節表示部
17 軌道修正部
21 角度
22 安全域
23 角度
24 データテーブル
25 安全域テーブル
31 軌道
32 目標点
33 停止点
34 上限/下限表示
35 手前点
36 経由点
37 離脱方向
38 軌道
39 軌道
101 多関節マニピュレータ
102 基部
103 支持部
104 エンドエフェクタ
105 手先
110 目標点
111 軌道
121〜123 角度
D1 コンピュータ
D2 表示装置
J1〜J6 関節
J101〜J106 関節
L1〜L5 リンク
L101〜L106 リンク
LL101〜LL103 下限
UL101〜UL103 上限
LL1 下限
LL2 仮想的な下限
UL1 上限
UL2 仮想的な上限

Claims (13)

  1. 複数の関節を備える多関節マニピュレータのシミュレーション装置であって、
    前記複数の関節の各々について、角度の可動範囲と、前記可動範囲の内側に定義される安全域とを記憶装置に記憶する記憶部と、
    前記複数の関節の各々の現在の角度を示す現在角度データと、前記多関節マニピュレータの手先位置指令値とに基づいて、前記複数の関節の各々の角度指令値を生成する角度指令値計算部とを具備し、
    前記角度指令値計算部は、前記複数の関節のいずれかの内、前記角度指令値が前記安全域を超えた関節である停止候補関節が発生したとき、前記停止候補関節の前記角度指令値を生成する際に、前記角度指令値の変化速度を小さくする障害回避制御を行う
    シミュレーション装置。
  2. 請求項1に記載されたシミュレーション装置であって、
    前記角度指令値計算部は、前記複数の関節の各々の角速度の指令値に係数を掛けて時間積分することによって前記角度指令値を生成し、
    前記障害回避制御は、前記係数の値を小さくすることによって実行される
    シミュレーション装置。
  3. 請求項1又は2に記載されたシミュレーション装置であって、
    更に、前記多関節マニピュレータの手先を、現在手先位置から目標手先位置まで所定の軌道に沿って移動させるための軌道データであって、前記現在手先位置に近い第1番目の時刻T1における手先位置指令値A1から前記目標手先位置に近い第n番目の時刻Tnにおける手先位置指令値Anまでの一連の手先位置指令値Ai(iは1以上n以下の整数)からなる軌道データを生成する軌道データ生成部と、
    前記手先位置指令値A1からAnまでを順次用いて、前記多関節マニピュレータの動作の仮想的な再現を行うシミュレーション部とを具備し、
    前記シミュレーション部は、
    前記角度指令値計算部において前記手先位置指令値Aiに基づく計算結果として、時刻Tiにおける前記複数の関節の各々の角度指令値Biを得、
    前記角度指令値Biを、次の時刻Ti+1における前記複数の関節の各々の前記現在角度データCi+1として設定する
    シミュレーション装置。
  4. 請求項3に記載されたシミュレーション装置であって、
    更に、前記仮想的な再現において、前記角度指令値Biが前記可動範囲を超えた関節である障害関節が発生したとき、時刻Tiにおける前記多関節マニピュレータを示すシミュレーション画像を表示し、且つ、前記シミュレーション画像において前記障害関節を指示する障害関節表示を行う障害関節表示部
    を具備するシミュレーション装置。
  5. 請求項4に記載されたシミュレーション装置であって、
    前記可動範囲は、一方側の端と他方側の端とによって定義され、
    前記障害関節表示部は更に、前記障害関節が、前記一方側の端と前記他方側の端とのうちのいずれを超えたかを示す障害方向表示を行う
    シミュレーション装置。
  6. 請求項3から5のいずれかに記載されたシミュレーション装置であって、
    更に、前記角度指令値Biが前記可動範囲を超えたとき前記軌道データに修正を施す軌道修正部を具備し、
    前記修正において、時刻Tiよりも以前の時刻Ti−k(kは1以上の整数)における前記手先位置指令値Ai−kが、前記修正を施す前と比べて前記複数の関節のうち前記可動範囲を超えた関節の角度が前記可動範囲の中心側に近い角度となるように修正される
    シミュレーション装置。
  7. 請求項1から6のいずれかに記載されたシミュレーション装置によって生成された前記角度指令値によって前記多関節マニピュレータを制御する制御装置。
  8. 請求項7に記載された制御装置と、前記多関節マニピュレータとを具備するロボットシステム。
  9. 複数の関節を備える多関節マニピュレータのシミュレーション方法であって、
    前記複数の関節の各々について、角度の可動範囲と、前記可動範囲の内側に定義される安全域とを記憶装置に記憶する工程と、
    前記複数の関節の各々の現在の角度を示す現在角度データと、前記多関節マニピュレータの手先位置指令値とに基づいて、前記複数の関節の各々の角度指令値を生成する工程とを具備し、
    前記角度指令値を生成する工程において、前記複数の関節のいずれかの内、前記角度指令値が前記安全域を超えた関節である停止候補関節が発生したとき、前記停止候補関節の前記角度指令値を生成する際に、前記角度指令値の変化速度を小さくする障害回避制御を行う
    シミュレーション方法。
  10. 請求項9に記載されたシミュレーション方法であって、
    前記角度指令値を生成する工程において、前記複数の関節の各々の角速度の指令値に係数を掛けて時間積分することによって前記角度指令値を生成し、
    前記障害回避制御は、前記係数の値を小さくすることによって実行される
    シミュレーション方法。
  11. 請求項9又は10に記載されたシミュレーション方法であって、
    更に、前記多関節マニピュレータの手先を、現在手先位置から目標手先位置まで所定の軌道に沿って移動させるための軌道データであって、前記現在手先位置に近い第1番目の時刻T1における手先位置指令値A1から前記目標手先位置に近い第n番目の時刻Tnにおける手先位置指令値Anまでの一連の手先位置指令値Ai(iは1以上n以下の整数)からなる軌道データを生成する工程と、
    前記手先位置指令値A1からAnまでを順次用いて、前記多関節マニピュレータの動作の仮想的な再現を行う工程とを具備し、
    前記仮想的な再現を行う工程は、
    前記角度指令値を計算する工程において前記手先位置指令値Aiに基づく計算結果として、時刻Tiにおける前記複数の関節の各々の角度指令値Biを得る工程と、
    前記角度指令値Biを、次の時刻Ti+1における前記複数の関節の各々の前記現在角度データCi+1として設定する工程とを具備する
    シミュレーション方法。
  12. 請求項9から11のいずれかに記載されたシミュレーション方法で生成された前記角度指令値によって前記多関節マニピュレータを制御する制御方法。
  13. 請求項9から11のいずれかに記載されたシミュレーション方法をコンピュータに実行させるプログラム。
JP2014052546A 2014-03-14 2014-03-14 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム Pending JP2015174185A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014052546A JP2015174185A (ja) 2014-03-14 2014-03-14 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
PCT/JP2015/055929 WO2015137167A1 (ja) 2014-03-14 2015-02-27 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
US15/117,800 US20170120449A1 (en) 2014-03-14 2015-02-27 Simulation apparatus of robot, simulation method of robot, control unit and robot system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052546A JP2015174185A (ja) 2014-03-14 2014-03-14 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム

Publications (1)

Publication Number Publication Date
JP2015174185A true JP2015174185A (ja) 2015-10-05

Family

ID=54071615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052546A Pending JP2015174185A (ja) 2014-03-14 2014-03-14 ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム

Country Status (3)

Country Link
US (1) US20170120449A1 (ja)
JP (1) JP2015174185A (ja)
WO (1) WO2015137167A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107186711A (zh) * 2017-05-12 2017-09-22 广州视源电子科技股份有限公司 机械臂的限位保护方法、装置及机器人
WO2021177313A1 (ja) * 2020-03-05 2021-09-10 ファナック株式会社 ロボットプログラミング装置及びロボットプログラミング方法
US11312011B2 (en) 2018-02-28 2022-04-26 Kabushiki Kaisha Toshiba Manipulator system, control device, control method, and computer program product
WO2022208601A1 (ja) * 2021-03-29 2022-10-06 新明和工業株式会社 旅客搭乗橋
WO2024048286A1 (ja) * 2022-08-30 2024-03-07 ローレルバンクマシン株式会社 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10303180B1 (en) * 2017-04-20 2019-05-28 X Development Llc Generating and utilizing non-uniform volume measures for voxels in robotics applications
CN108481323B (zh) * 2018-03-14 2021-04-27 清华大学天津高端装备研究院洛阳先进制造产业研发基地 基于增强现实的机器人运动轨迹自动编程系统及方法
US11850755B2 (en) * 2018-06-26 2023-12-26 Fanuc America Corporation Visualization and modification of operational bounding zones using augmented reality
KR102221089B1 (ko) * 2018-12-05 2021-02-26 (주)미래컴퍼니 수술용 슬레이브 암을 원격으로 제어하는 방법 및 시스템
US20230278211A1 (en) * 2020-06-25 2023-09-07 Hitachi High-Tech Corporation Robot Teaching Device and Work Teaching Method
CN112472298B (zh) * 2020-12-15 2022-06-24 深圳市精锋医疗科技股份有限公司 手术机器人及其控制装置、控制方法
US11845190B1 (en) * 2021-06-02 2023-12-19 Google Llc Injecting noise into robot simulation
CN114367975A (zh) * 2021-11-15 2022-04-19 上海应用技术大学 串联工业机器人控制算法的验证系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007203380A (ja) * 2006-01-30 2007-08-16 Kawasaki Heavy Ind Ltd ロボットの教示支援装置
JP2012192518A (ja) * 2012-07-12 2012-10-11 Kawasaki Heavy Ind Ltd 冗長関節部を有する冗長ロボットの制御装置および制御方法
WO2013038544A1 (ja) * 2011-09-15 2013-03-21 株式会社安川電機 ロボットシステム及びロボット制御装置
JP2014018912A (ja) * 2012-07-18 2014-02-03 Seiko Epson Corp ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007203380A (ja) * 2006-01-30 2007-08-16 Kawasaki Heavy Ind Ltd ロボットの教示支援装置
WO2013038544A1 (ja) * 2011-09-15 2013-03-21 株式会社安川電機 ロボットシステム及びロボット制御装置
JP2012192518A (ja) * 2012-07-12 2012-10-11 Kawasaki Heavy Ind Ltd 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP2014018912A (ja) * 2012-07-18 2014-02-03 Seiko Epson Corp ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107186711A (zh) * 2017-05-12 2017-09-22 广州视源电子科技股份有限公司 机械臂的限位保护方法、装置及机器人
WO2018205488A1 (zh) * 2017-05-12 2018-11-15 广州视源电子科技股份有限公司 机械臂的限位保护方法、装置及机器人
US11312011B2 (en) 2018-02-28 2022-04-26 Kabushiki Kaisha Toshiba Manipulator system, control device, control method, and computer program product
WO2021177313A1 (ja) * 2020-03-05 2021-09-10 ファナック株式会社 ロボットプログラミング装置及びロボットプログラミング方法
JP7469457B2 (ja) 2020-03-05 2024-04-16 ファナック株式会社 ロボットプログラミング装置及びロボットプログラミング方法
WO2022208601A1 (ja) * 2021-03-29 2022-10-06 新明和工業株式会社 旅客搭乗橋
JP7449448B2 (ja) 2021-03-29 2024-03-13 新明和工業株式会社 旅客搭乗橋
WO2024048286A1 (ja) * 2022-08-30 2024-03-07 ローレルバンクマシン株式会社 多関節ロボットの制御方法、ロボットシステム、プログラム、及び、物品の製造方法

Also Published As

Publication number Publication date
WO2015137167A1 (ja) 2015-09-17
US20170120449A1 (en) 2017-05-04

Similar Documents

Publication Publication Date Title
JP2015174185A (ja) ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム
JP6238628B2 (ja) ロボット装置、ロボット制御方法、ロボット制御プログラム及びロボット装置を用いた部品の製造方法
KR101607742B1 (ko) 티칭 시스템 및 티칭 방법
KR20180038479A (ko) 로봇시스템
JP6669715B2 (ja) 振動抑制装置
JP2015221491A (ja) 経路学習制御
US11179793B2 (en) Automated edge welding based on edge recognition using separate positioning and welding robots
JP6379853B2 (ja) ロボットの制御装置及び制御方法
US10406688B2 (en) Offline programming apparatus and method having workpiece position detection program generation function using contact sensor
JP2015205302A (ja) シーム溶接システム、シーム溶接方法および被溶接物の生産方法
JP2016028842A (ja) アクチュエータシステム
US20180264647A1 (en) Processing device, parameter adjusting method, and storage medium
JP2014065100A (ja) ロボットシステム、及びロボットのティーチング方法
JP2020011328A (ja) 自動経路生成装置
JP2014217901A (ja) ロボットシステム
WO2015137162A1 (ja) 制御装置、ロボットシステム、および制御用データ生成方法
CN110154043B (zh) 基于加工结果进行学习控制的机器人系统及其控制方法
JP2009066738A (ja) ロボットの教示装置
US10022868B2 (en) Inverse kinematic solution for multi-joint link mechanism, and teaching-data creating device using the inverse kinematic solution
US11878423B2 (en) Robot system
JP5382148B2 (ja) ロボットの動作制御装置及びその動作制御方法
US20200238512A1 (en) Teaching Data Generation System For Vertical Multi-Joint Robot
De Graaf et al. Applications of robotics in laser welding
JP2022174858A (ja) 直接教示装置及び直接教示方法
TW202333008A (zh) 控制裝置、教示裝置、及機械系統

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160706

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170628

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180110