JP6465289B2 - 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体 - Google Patents

柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体 Download PDF

Info

Publication number
JP6465289B2
JP6465289B2 JP2015006953A JP2015006953A JP6465289B2 JP 6465289 B2 JP6465289 B2 JP 6465289B2 JP 2015006953 A JP2015006953 A JP 2015006953A JP 2015006953 A JP2015006953 A JP 2015006953A JP 6465289 B2 JP6465289 B2 JP 6465289B2
Authority
JP
Japan
Prior art keywords
robot
posture
torque
flexible object
restraint
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
JP2015006953A
Other languages
English (en)
Other versions
JP2016133902A (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.)
Canon Inc
University of Tsukuba NUC
Original Assignee
Canon Inc
University of Tsukuba NUC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc, University of Tsukuba NUC filed Critical Canon Inc
Priority to JP2015006953A priority Critical patent/JP6465289B2/ja
Publication of JP2016133902A publication Critical patent/JP2016133902A/ja
Application granted granted Critical
Publication of JP6465289B2 publication Critical patent/JP6465289B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Manipulator (AREA)

Description

本発明は、柔軟物(例えば、ワイヤー、ハーネス、ケーブルなど)の状態(形状、拘束力、拘束トルク)を計算する計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体に関する。
製品を設計し製造する上で、ワイヤー、ハーネス、ケーブルなどの柔軟物を配置する場合がある。通常、製品の設計は、仮想3次元空間内における柔軟物と他の剛体などの部品との配置を考慮して行う。
ワイヤー、ハーネス、ケーブルなどの柔軟物は、弾性特性を有するが、弾性論で前提とする微小変形の範囲を越えて大きく変形する。大変形した形状は1次元幾何物体である曲線で特徴づけられるため、このような大変形柔軟物を以下では線条弾性体とよぶ。
製品や装置の配置設計においては、線条弾性体を部分的に拘束(例えば把持)する拘束部(例えばロボットハンド)を空間内で移動させる際に、拘束部の移動により線条弾性体の長さや形状を変化させて設計する必要がある。また、線条弾性体を拘束する拘束部において拘束に必要な拘束力及び拘束トルクから拘束部の選定や設計をする必要がある。
そのような設計において、線条弾性体の形状特性、拘束条件を与え、線条弾性体を強制変位させた場合の予測形状を有限要素法により算出することが知られている(特許文献1参照)。しかしながら、有限要素法により線条弾性体の形状を算出する場合、線条弾性体の大変形に対応するには、非線形の境界値問題を解く必要があるが、境界値問題を解くには収束計算が必要となり、収束計算によっては計算コストが大きくなるという問題があった。
そこで、有限要素法を用いない構造解析手法として、線条弾性体の形状を特徴づける空間曲線に沿って質点とバネが連続的に分布するモデルを使用することも考えられる。このモデルに基づけば、線条弾性体の大変形は計算できるが、非線形の偏微分方程式に対する境界値問題を解くことが必要であるため、何らかの数値計算法に頼らなければならない。
一方、初期値を推測した上で、初期値問題に対して数値積分を行うことで最終値を求め、最終値が境界条件に収束するまで初期値の推定を繰り返すShooting法(狙い撃ち法)という計算手法が知られている(非特許文献1参照)。
特許第4392297号公報
Chao-Chieh Lan and Kok-Meng Lee: Generalized Shooting Method for Analyzing Compliant Mechanisms with Curved Members, ASME Journal of Mechanical Design, 128, 765.775, 2006.
しかしながら、非特許文献1には、平面変形の計算例については記載されているものの、3次元空間への拡張方法については記載されていない。したがって、3次元空間で大変形する柔軟物の状態(形状、拘束力及び拘束トルク)の収束計算に、非特許文献1の計算方法をそのまま適用することは困難であった。
そこで、本発明は、柔軟物の形状、拘束力及び拘束トルクを計算する際の計算コストを小さくしながら、柔軟物の形状、拘束力及び拘束トルクを短時間で求めることを目的とするものである。
本発明の柔軟物の状態計算方法は、演算部が、少なくとも2つの拘束部により位置及び姿勢が拘束される柔軟物について前記少なくとも2つの拘束部の内、拘束される2つの拘束箇所の間の形状と、前記2つの拘束箇所のうち一方の拘束箇所の位置及び姿勢を固定したときに前記2つの拘束箇所のうち他方の拘束箇所に生じる拘束力及び拘束トルクと、を計算する柔軟物の状態計算方法であって、前記演算部が、前記柔軟物を仮想3次元空間内で複数のバネ関節及び複数のリンクでモデル化し、前記仮想3次元空間内における前記他方の拘束箇所の目標位置、前記他方の拘束箇所の目標姿勢、前記目標位置に対して許容する位置ずれ量を示す位置許容誤差、前記目標姿勢に対して許容する姿勢ずれ量を示す姿勢許容誤差、前記拘束力の初期値、及び前記拘束トルクの初期値を設定する設定工程と、前記演算部が、前記拘束力及び前記拘束トルクに基づいて、前記バネ関節の角度、前記リンクの姿勢、及び前記バネ関節の位置を、前記一方の拘束箇所から前記他方の拘束箇所に向かって順次計算することで、前記柔軟物の前記2つの拘束箇所の間の形状を求める形状計算工程と、前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の位置の前記目標位置に対する位置誤差が、前記位置許容誤差以下であるか否かを判断する位置判断工程と、前記演算部が、前記位置判断工程にて前記位置誤差が前記位置許容誤差を上回っていると判断した場合、前記拘束力を更新する拘束力更新工程と、前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の前記目標姿勢に対する姿勢誤差が、前記姿勢許容誤差以下であるか否かを判断する姿勢判断工程と、前記演算部が、前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差を上回っていると判断した場合、前記拘束トルクを更新する拘束トルク更新工程と、を備え、前記演算部は、前記位置判断工程にて前記位置誤差が前記位置許容誤差以下と判断するまで、前記拘束力更新工程、前記形状計算工程及び前記位置判断工程を繰り返し、且つ前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差以下と判断するまで、前記拘束トルク更新工程、前記形状計算工程及び前記姿勢判断工程を繰り返し、前記拘束トルク更新工程では、前記演算部が、前記姿勢誤差に比例する値を用いて、前記拘束トルクを更新し、前記拘束力更新工程では、前記演算部が、前記位置誤差を前記拘束トルクのベクトル方向の軸まわりに回転変換した値に比例する値を用いて、前記拘束力を更新することを特徴とする。
本発明によれば、柔軟物の形状、拘束力及び拘束トルクを計算する際の計算コストが小さくなり、柔軟物の形状、拘束力及び拘束トルクを短時間で求めることが可能となる。
本発明の第1実施形態に係る柔軟物を示す模式図である。 本発明の第1実施形態に係る柔軟物の状態を計算する柔軟物状態計算装置を有する計算システム示すブロック図である。 本発明の第1実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。 図1に示す柔軟物を離散化したモデル図である。 第1実施形態のアルゴリズムによるシミュレーション結果を示すグラフである。 比較例1のアルゴリズムによるシミュレーション結果を示すグラフである。 比較例2のアルゴリズムによるシミュレーション結果を示すグラフである。 本発明の第2実施形態に係るロボット装置を示す斜視図である。 (a)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。(b)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。 本発明の第2実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。 本発明の第3実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。 (a)は、本発明の第4実施形態において計算対象となる実装基板の斜視図である。(b)は、本発明の第4実施形態において計算対象となる実装基板の上面図である。 本発明の第4実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。 (a)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。(b)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。
[第1実施形態]
図1は、本発明の第1実施形態に係る柔軟物を示す模式図である。図1に示す柔軟物は線条弾性体(帯条の弾性体も含む)3であり、大変形する。線条弾性体3は、XYZの直交座標で規定された空間内に配置される。線条弾性体3は、例えばワイヤー、ハーネス、ケーブル(例えば、フレキシブルフラットケーブル)である。線条弾性体3の長手方向の両端1,2が、拘束部6,7により拘束される拘束箇所である。2つの拘束箇所(両端)1,2のうち、一方の拘束箇所をベース1、他方の拘束箇所を手先2とする。線条弾性体3は、2つの拘束部6,7のうち一方の拘束部6によりベース1の位置及び姿勢が拘束され、他方の拘束部7により手先2の位置及び姿勢が拘束される。線条弾性体3のベース1と手先2との間(2つの拘束箇所間)の長手方向の長さをLとする。第1実施形態では、ベース1と手先2との間の部分が大変形する場合について、ベース1の位置及び姿勢を固定したときの、ベース1と手先2との間の形状、並びに手先2に生じる拘束力及び拘束トルクを計算する。以下、形状、拘束力及び拘束トルクを総称して、「状態」という。
図2は、本発明の第1実施形態に係る柔軟物の状態を計算する柔軟物状態計算装置を有する計算システム示すブロック図である。計算システム100は、柔軟物状態計算装置(以下、「計算装置」という)200と、計算装置200に接続された操作装置301、表示装置302及び外部記憶装置303と、を有する。計算装置200は、コンピュータで構成されている。
計算装置200は、演算部としてのCPU(Central Processing Unit)201を備えている。また、計算装置200は、記憶部として、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HDD(Hard Disk Drive)204を備えている。また、計算装置200は、記録ディスクドライブ205、及び各種のインタフェース211〜213を備えている。
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205及び各種のインタフェース211〜213が、バス220を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果等、各種データを一時的に記憶する記憶装置である。
HDD204は、CPU201の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU201に、後述する各種演算処理を実行させるためのプログラム240を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム240に基づいて線条弾性体(柔軟物)3の状態(形状、拘束力及び拘束トルク)の計算方法の各工程を実行する。
記録ディスクドライブ205は、記録ディスク241に記録された各種データやプログラム等を読み出すことができる。
インタフェース211には、ユーザが操作可能な操作装置301が接続されている。操作装置301は、例えばキーボードやマウス等であり、CPU201にユーザの操作に応じた信号を出力する。
インタフェース212には、表示装置302が接続されている。表示装置302は、CPU201の制御の下、各種画像を表示する。
インタフェース213には、外部記憶装置303が接続されている。外部記憶装置303は、書き換え可能な不揮発性メモリや外付けHDD等の記憶装置である。
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD204であり、HDD204にプログラム240が格納される場合について説明するが、これに限定するものではない。プログラム240は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム240を供給するための記録媒体としては、図2に示すROM202や外部記憶装置303、記録ディスク241等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
CPU201は、線条弾性体3のベース1と手先2との間の形状と、ベース1の位置及び姿勢を固定したときに手先2に生じる拘束力及び拘束トルクとを計算する。以下、線条弾性体3の状態(形状、拘束力及び拘束トルク)の計算方法について詳細に説明する。
図3は、本発明の第1実施形態に係る柔軟物の状態(形状、拘束力及び拘束トルク)の計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図3に示す各工程を実行する。
まず、CPU201は、線条弾性体3の離散モデル化を行う(S1:設定工程)。図4は、図1に示す線条弾性体(柔軟物)3を離散化したモデル図である。CPU201は、図4に示すように、線条弾性体3を、XYZの直交座標で規定された仮想3次元空間内で複数(n個:nは2以上の正の整数)のバネ関節4〜4及び複数(n個)のリンク5〜5でモデル化する。各リンク5〜5は、軸状の剛体とする。線条弾性体3の離散化モデルは、リンク5〜5をバネ関節4〜4により直列に接続した剛体・バネ関節直列モデルである。
なお、第1実施形態では、バネ関節4〜4を繋ぐリンク5〜5を剛体としたが、直動バネとして線条弾性体3をモデル化することも可能である。
実際には図1に示すような曲線状の線条弾性体3を、剛体・バネ関節直列モデルでは、図4に示すように、複数(n個)のバネ関節4〜4を節点とし複数(n個)のリンク5〜5を線分とする、折れ線で表される。
各リンク5〜5の長さは同一とし、長手方向の長さをl=L/nで表す。なお、計算の簡略化のために各リンク5〜5の長さを同一としたが、同一でなくてもよい。また、nは線条弾性体3の分割数とする。
各バネ関節(節点)4〜4で角度(折れ線の向き)が変化する。第1実施形態では空間変形であるので、各バネ関節4〜4は3自由度の関節である。
バネ関節4〜4及びリンク5〜5の番号を、図4に示すように、ベース1(根元)側から手先2側に向かって順に付す。即ち、ベース1側から手先2側に向かって、第1バネ関節4,第2バネ関節4,…,第nバネ関節4とする。また、ベース1側から手先2側に向かって、第1リンク5,第2リンク5,…,第nリンク5とする。
第iバネ関節4(iは1〜n)の位置をpi−1∈R(Rは3次の実数空間)とする。第iリンク5の姿勢をF∈SO(3)(SO(3):3次の特殊直交群{F∈R3×3|FF=I,detF=1},Iは3次の単位行列)とする。
CPU201は、ステップS1においてモデル化するにあたり、以下の値を予め設定する。
1.バネ関節及びリンクの変形モデルの物性値及び線条弾性体の物性値から、又は同定実験から求まるバネ定数Kd
バネ定数Kd=diag{kdt,kdn,kdb}(3次の対角行列)である。各対角要素kdt,kdn,kdbは、3自由度のバネ関節の各軸回りのバネ定数を表す。連続モデルの場合のバネ定数をK=diag{k,k,k}(kdt,kdn,kdbは3自由度関節の各軸回りのバネ定数)とすると、Kd=K/lの関係がある。
2.仮想3次元空間内における線条弾性体3の手先2の目標位置p及び目標姿勢F
3.目標位置pに対して許容する位置ずれ量を示す位置許容誤差E及び目標姿勢Fに対して許容する姿勢ずれ量を示す姿勢許容誤差E
4.線状弾性体の手先位置・姿勢を拘束するための拘束力λの初期値及び拘束トルクτの初期値
5.仮想3次元空間内における線条弾性体3のベース1の位置p及び拘束姿勢F
次に、CPU201は、第iバネ関節4の角度θを計算する(S2)。θ∈Rは、ベース1側から第i番目の3自由度のバネ関節4の角度ベクトルであり、次式(1)で計算する。
Figure 0006465289
ここで、式(1)中‘×’は外積演算であり、θt,i,θn,i,θb,i∈Rはそれぞれ第i番目のバネ関節4の3自由度の各軸まわりの関節角度である。なお、式(1)において、pはpと置き換えてもよい。
また、Ai∈R3×3は、第iバネ関節4における3自由度の関節の各軸方向の単位ベクトルat,i,an,i,ab,i∈Rを並べてできる行列であり、次式(2)で定義される。
Figure 0006465289
次に、CPU201は、第iリンク5の姿勢Fを計算する(S3)。具体的に説明すると、CPU201は、第iリンク5の姿勢F∈SO(3)を、次式(3)で計算する。
Figure 0006465289
ここで、R∈SO(3)は、3自由度のバネ関節4の回転作用を表す行列であり、次式(4)で定義される。
Figure 0006465289
ここで、R(a,θ)は、a軸まわりに角度θ回転させる回転作用素(回転行列)である。
次に、CPU201は、第(i+1)バネ関節4i+1の位置pを計算する(S4)。具体的に説明すると、CPU201は、第(i+1)バネ関節4i+1の位置p∈Rを次式(5)で計算する。
Figure 0006465289
ここでe=[1 0 0]はx方向の単位ベクトルである。
これらステップS2〜S4を、i=1からi=nまで繰り返す(S5:形状計算工程)。即ちステップS5は、ステップS2の第iバネ関節の角度θの計算、ステップS3の第iリンクの姿勢Fの計算、ステップS4の第(i+1)関節の位置pの計算(第(n+1)関節位置pは手先2の位置に相当)をi=1からi=nまで繰り返す。以上、CPU201は、拘束力λ及び拘束トルクτに基づいて、バネ関節の角度、リンクの姿勢、及びバネ関節の位置を、ベース1側から手先2側に向かって順次計算することで、線条弾性体3のベース1と手先2との間の形状を求める。ここで、線条弾性体3のベース1と手先2との間の形状とは、バネ関節4〜4の角度、リンク5〜5の姿勢及びバネ関節4〜4の位置のことである。
次にCPU201は、ステップS5により求めた形状計算結果に基づく手先2の位置pの目標位置pに対する位置誤差ΔP(=p−p)の大きさが、位置許容誤差E以下であるか否かを判断する(S6:位置判断工程)。判断は次式(6)で行う。
Figure 0006465289
CPU201は、式(6)において許容誤差E内であれば(S6:Yes)、ステップS7に移行する。CPU201は、ステップS5により求めた形状計算結果に基づく手先2の姿勢Fの目標姿勢Fに対する姿勢誤差ΔO(=θerrω)の大きさが、姿勢許容誤差E以下であるか否かを判断する(S7:姿勢判断工程)。判断は次式(7)で行う。
Figure 0006465289
ここで、θerrω∈Rは姿勢誤差を表すベクトルであり、次式(8)で定義される。
Figure 0006465289
θerr∈[−π π]は等価回転角度であり、次式(9)により求められる。
Figure 0006465289
また、行列Φは次式(10)で与えられる。
Figure 0006465289
また、ω∈R(||ω||=1)は等価回転軸であり、次式(11)で与えられる。
Figure 0006465289
式(6)及び式(7)において許容値内であれば(S6,S7:Yes)、線条弾性体3の形状、拘束力及び拘束トルクの計算を終了する。
CPU201は、ステップS6において、位置誤差ΔPの大きさが位置許容誤差Eよりも大きいと判断した場合、即ち位置誤差ΔPの大きさが位置許容誤差Eを上回っていると判断した場合(S6:No)、拘束力を更新する(S8:拘束力更新工程)。次に、CPU201は、ステップS2の処理に移行し、位置誤差の大きさが位置許容誤差以下になるまで、繰り返し計算を行う。
CPU201はステップS7において姿勢誤差ΔOの大きさが姿勢許容誤差Eよりも大きいと判断した場合、即ち姿勢誤差ΔOの大きさが姿勢許容誤差Eを上回っていると判断した場合(S7:No)、拘束トルクを更新する(S9:拘束トルク更新工程)。次に、ステップS2の処理に移行し、位置誤差の大きさが位置許容誤差以下となり、かつ姿勢誤差の大きさが姿勢許容誤差以下となるまで繰り返し計算を行う。
即ちCPU201は、ステップS6にて位置誤差ΔPの大きさが位置許容誤差E以下となるまで、ステップS8、ステップS5及びステップS6を繰り返す。
また、CPU201は、ステップS7にて姿勢誤差ΔOの大きさが姿勢許容誤差E以下となるまで、ステップS9、ステップS5及びステップS7を繰り返す。第1実施形態では、ステップS6にて位置誤差ΔPの大きさが位置許容誤差Eであると判断した場合に、ステップS7に移行する。したがって、姿勢誤差ΔOの大きさが姿勢許容誤差E以下となるまで、ステップS9、ステップS5、ステップS6及びステップS7を繰り返すことになる。
第1実施形態では、ステップS8における拘束力の更新則は次式(12)のアルゴリズムで定義される。
Figure 0006465289
即ち、CPU201は、位置誤差ΔPを拘束トルクτのベクトル方向の軸まわりに回転変換した値に比例する値(更新値)を用いて、拘束力λを更新する。つまり、更新値を拘束力λに加算して新たな拘束力λとする。具体的に説明すると、CPU201は、位置誤差ΔPを拘束トルクτのベクトル方向の軸まわりに拘束トルクτの大きさに比例する量で逆回転した値に比例する値(更新値)を加算して、拘束力λを更新する。
ここで、逆回転とは、式(12)中マイナスの符号で表され、拘束トルクτのベクトル方向に見て、ベクトル方向の軸まわりに右回転を正としたときの逆、即ち左回転をいう。
また、第1実施形態では、ステップS9における拘束トルクの更新則は次式(13)のアルゴリズムで定義される。
Figure 0006465289
即ち、CPU201は、姿勢誤差ΔOに比例する値(更新値)を用いて、拘束トルクτを更新する。つまり、更新値を拘束トルクτに加算して新たな拘束トルクτとする。
式(12)及び式(13)中、‘←’は更新を表す。cおよびcは、更新則の調整パラメータであり、正の定数である。cも正の定数であるが、このアルゴリズム特有の調整パラメータである。
拘束力、拘束トルクの更新則として手先の位置及び姿勢に関する誤差情報を利用して、拘束力、拘束トルクを更新する際の最もシンプルなアルゴリズムは、位置誤差、姿勢誤差に比例した値を、更新増分とすることである。
比較例1では、拘束トルクの更新則は式(13)と同じとした上で、拘束力の更新側は、式(14)に示すように、位置誤差に比例した値を更新増分とする。
Figure 0006465289
この更新則を比例アルゴリズムとよぶことにする。この比例アルゴリズムでは、収束性に問題がある。この問題を解決したのが,第1実施形態においてステップS8,S9で使用した式(12)及び式(13)の更新アルゴリズムである。手先2の姿勢を収束させるための計算プロセスにおいて、拘束トルクの更新増分を姿勢誤差としている点は前述比較例1の比例アルゴリズムと同じである。第1実施形態の特徴は、手先2の位置を収束させるための計算プロセスにある。
前述比較例1の比例アルゴリズムとの違いは位置誤差に回転作用が加わっている点である。より具体的には、拘束力の更新増分を、位置誤差を拘束トルクτのベクトル方向の軸まわりに逆回転させた量としている。
手先2の位置誤差に回転を加えることが効果的であるならば、トルクベクトルの暫定値ではなく、姿勢誤差に対応して回転させることが妥当のように考えられる。比較例2では、次式(15)のようなアルゴリズムとしている。
Figure 0006465289
比較例2でも、手先2の拘束トルクの更新則は式(13)と同じである。ここで、cは正の定数であり、このアルゴリズム特有の調整パラメータである。比較例2のアルゴリズムと第1実施形態のアルゴリズムとの違いは、τの代わりに姿勢誤差ΔOを用いている点である。この比較例2のアルゴリズムを単純回転アルゴリズムとよぶ。単純回転アルゴリズムでも収束性は改善されない。これは姿勢誤差に対応して回転させることだけでは収束性の改善には繋がらないことを示している。
図5は、第1実施形態のアルゴリズムによるシミュレーション結果を示すグラフである。図6は、比較例1のアルゴリズムによるシミュレーション結果を示すグラフである。図7は、比較例2のアルゴリズムによるシミュレーション結果を示すグラフである。
シミュレーション条件は以下である。
・弾性体材料特性
線条弾性体3の全長L=150[mm]
材料特性:ヤング率E=210[GPa]=210,000[N/mm]、ポワソン比ν=0.3
断面形状:幅w=20[mm]、厚さt=0.1[mm]の長方形
離散バネ定数kdt,kdn,kdbは以下の式(16)及び式(17)からkdt=162[mNm/rad]、kdn=4.67[kNm/rad]、kdb=167[mNm/rad]とした。
Figure 0006465289
ここで、式(16)のJは断面捩りモーメントであり、断面形状が長方形のため、J=k2wtであり、k2=0.3とした。また、式(17)のIは断面2次モーメントであり、断面形状が長方形のため、kdnにおいてはI=wt/12から求め、kdbにおいてはI=wt/12から求めた。
・シミュレーションパラメータ
分割数n=50
位置許容誤差E=0.01[mm]
姿勢許容誤差E=1.0[deg]=π/180[rad]
・初期条件
初期形状:手先位置[90;0;78.97],手先姿勢[1 0 0;0 0 1;0 −1 0]となるような形状および拘束力・拘束トルクを予め求めて与えた。
・目標条件
目標手先位置[90;0;58.97]=初期手先位置よりもz方向に−20[mm]の位置。
目標手先姿勢[1 0 0;0 0.342 0.9397;0 −0.9397 0.3420]=初期手先姿勢をx軸回りに20[deg]回転させた姿勢。
・アルゴリズムパラメータ
位置更新の比例定数c=0.0005
姿勢更新の比例定数c=1.0
パラメータc=0.1
パラメータc=0.1
なお、これらのアルゴリズムのパラメータは、挙動が不安定にならない範囲で大きな値に設定した。
図5〜図7の実験結果に示されるように、3つのアルゴリズムにおいて、図5に示す第1実施形態のアルゴリズムのみ収束し、線条弾性体3の形状、拘束力及び拘束トルクを求めることが可能となる。また、離散化モデルを用いて線条弾性体3の形状、拘束力及び拘束トルクを計算したので、有限要素法による従来例と比較しても、線条弾性体3の形状、拘束力及び拘束トルクを計算する際の計算コストが小さくなる。よって、線条弾性体3の形状、拘束力及び拘束トルクの計算結果を短時間で収束させることができる。換言すれば、線条弾性体3の形状、拘束力及び拘束トルクを短時間で求めることが可能となる。
[第2実施形態]
次に、本発明の第2実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図8は、本発明の第2実施形態に係るロボット装置を示す斜視図である。なお、第2実施形態において、上記第1実施形態と同様の構成については、同一符号を用い、詳細な説明は省略する。図8に示すロボット装置1000は、ロボット600と、ロボット600の動作を制御するロボット制御部である制御装置400と、制御装置400に接続されたティーチングペンダント500と、を備えている。また、ロボット装置1000は、上記第1実施形態と同様の構成の柔軟物状態計算装置(計算装置)200を備えている。第2実施形態では、計算装置200は、ロボット600の軌道を生成するロボット軌道生成装置である。制御装置400は、生成された軌道に基づきロボット600の動作を制御する。第2実施形態では計算装置200と制御装置400を説明の簡略化のため、物理的に分けて表現しているが、装置として一体としても構わない。
ロボット600は、多関節のロボットである。ロボット600は、垂直多関節型のロボットアーム601と、ロボットアーム601の先端に接続された拘束部であるロボットハンド602と、を備えている。
ロボットアーム601は、作業台に固定されるベース部(基端ロボットリンク)603と、変位や力を伝達する複数のロボットリンク621〜626と、を有している。ベース部603及び複数のロボットリンク621〜626は、複数の関節J1〜J6で旋回又は回転可能に互いに連結されている。また、ロボットアーム601は、各関節J1〜J6に設けられた、関節を駆動する関節駆動装置610を備えている。各関節J1〜J6に配置された関節駆動装置610は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
ロボットハンド602は、柔軟物を把持する複数(第2実施形態では2つ)の把持爪604と、複数の把持爪604を駆動する不図示の駆動部と、駆動部の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド602に用いる駆動部に必要なトルクは、ロボットアーム601の関節用と異なるが、基本構成は同じである。また、ロボットハンド602は、把持爪604等に作用する力(反力)やモーメントを検出可能な不図示の力覚センサを有している。
ティーチングペンダント500は、制御装置400に接続可能に構成され、制御装置400に接続された際に、ロボットアーム601やロボットハンド602を駆動制御する指令を制御装置400に送信可能に構成されている。
計算装置200のCPU201(図2)は、与えられた2つ以上の教示点間を繋ぐロボット600の軌道を生成して制御装置400に軌道データを出力する。教示点は、ロボット600の先端の位置及び姿勢を示すパラメータ値、又は関節J1〜J6の角度を示すパラメータ値で設定される。ロボット600の軌道とは、時間をパラメータとしたロボット600の経路を表したもの、即ち、動作時刻毎(所定時間間隔)のロボット600の各関節J1〜J6の角度(つまり、関節駆動装置610のモータの回転角度)である。
図9(a)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。図9(b)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。なお、図9(a)において、ロボット600については、ロボットハンド602と、ロボットアーム601の先端周辺のみ図示した。また、図9(b)において、ロボット600については、ロボットハンド602のみ図示した。
ここで、第2実施形態において、線条弾性体(柔軟物)は、フレキシブルフラットケーブル(以下、「ケーブル」)13である。
ケーブル13の長手方向の一端の拘束箇所(一方の拘束箇所)11が、基板18に固定(実装)された一方の拘束部(ロボットハンド以外の拘束部)であるコネクタ16に挿入されて、コネクタ16に拘束される。また、ケーブル13の長手方向の他端の近傍の拘束箇所(他方の拘束箇所)12が、他方の拘束部であるロボットハンド602の把持爪604に把持されて、ロボットハンド602に拘束される。なお、ケーブル13をロボットハンド602で把持した際のケーブル13の拘束箇所12の位置及び姿勢は予めわかっていることとする。
コネクタ16に挿入されたケーブル13の拘束箇所11が、上記第1実施形態のベース1に相当し、ケーブル13の拘束箇所12が、上記第1実施形態の手先2に相当する。基板18の近傍には、基板17が配置され、基板17には、ケーブル13の他端が挿入されるコネクタ19が固定(実装)されている。基板17は剛体である。第2実施形態では、ロボットハンド602にケーブル13を把持させて、ロボット600にケーブル13の他端をコネクタ19に挿入させる挿入動作を行わせる。その際、コネクタ19が固定された基板17が、ケーブル13の周辺にある障害物となる。
図10は、本発明の第2実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図10に示す各工程を実行する。
図10に示すフローチャートは、図9のようにロボットハンド602に把持された線条弾性体であるケーブル13が障害物である基板17に干渉しているか否かを判断する手順を示す。
なお、軌道データに従ってロボット600を動作させると、ロボット600の先端の位置及び姿勢、即ちロボット600の各関節J1〜J6の角度は動作時刻毎に変化することが考えられる。第2実施形態では、ロボット600が静止している、又はある動作時刻のロボット600の動作状態で、ケーブル13が障害物である基板17に干渉しているか否かを判断する手順を示す。
第2実施形態では、計算装置200は、3次元モデルを用い、干渉確認が可能なシミュレーション装置を想定しており、干渉が発生した場合は、図2に示す表示装置302の画面に3次元モデルを表示する機能があるものとする。
まず、計算装置200のCPU201は、ケーブル13のモデルが設定される仮想3次元空間の座標基準で、障害物の位置及び形状を設定する(S11:障害物設定工程)。第2実施形態では、基板17を障害物とし、基板17の形状及び位置を設定する。
次に、CPU201は、ケーブル13が障害物に干渉する可能性のある干渉領域を設定する(S12)。干渉領域は、ステップS11で設定した基板17の位置及び形状に基づいて設定する。
次に、CPU201は、ケーブル13の物性値の設定を行う(S13:設定工程)。ケーブル13の物性値とは、ケーブル13の形状、拘束力及び拘束トルクの計算に必要な物性値であるケーブル13の全長、ヤング率、ポワソン比、断面形状である幅、厚さ、断面捩りモーメントを決定する捩りの比例定数のことである。
次に、CPU201は、ケーブル13の状態計算用のパラメータの設定を行う(S14:設定工程)。パラメータにはケーブル13の形状、拘束力及び拘束トルクの計算に必要な分割数n、拘束位置の許容誤差E、拘束姿勢の許容誤差E、初期条件としてケーブル13の拘束箇所12の位置及び姿勢を設定する。なお、これらステップS13,S14は、上記第1実施形態において説明した図3のステップS1で行ったものを、説明の都合上、別のステップとして分けて図示したものである。したがって、ステップS13,S14の設定動作を、ステップS1で行ってもよい。
次に、CPU201は、ケーブル13の拘束箇所11,12間の形状の計算を行う(S15)。ケーブル13の形状の計算は、上記第1実施形態において図3を用いて説明した、線条弾性体3の形状、拘束力及び拘束トルクの計算方法を用いる。最終的にステップS5で求めた線条弾性体3の形状の計算結果を以下のステップで用いる。
次に、CPU201は、干渉確認を行う(S16)。干渉確認は、ステップS15で計算した形状のケーブル13が、ステップS12で設定した干渉領域に侵入するか否かで確認する。なお、図10には、ケーブル13が干渉領域に侵入していることを条件とするフローチャートが図示されているが、ケーブル13が干渉領域に侵入しない場合には、そのまま終了する。
次に、CPU201は、図3のステップS5による形状計算結果に基づき、ケーブル13が障害物である基板17と干渉するか否かを判断する(S17)。
CPU201は、干渉ありと判断した場合(S17:Yes)、干渉していることを示す画像を、表示装置302に表示させるよう画像データを表示装置302に出力する。CPU201は、干渉なしと判断した場合(S17:No)は干渉確認を終了する。
以上、第3実施形態では、ロボットハンド602がケーブル13のような柔軟物を把持した際に基板17のような障害物と干渉するか否かの判断を、上記第1実施形態のステップS5で求めた形状計算結果を用いて行う。これにより、ケーブル13が障害物に干渉するか否かの干渉判断を、迅速かつ正確に行うことができる。その結果、ロボット600をオフライン(シミュレーション)で教示するオフライン教示の作業性が向上する。
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図11は、本発明の第3実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ロボット装置の構成は、上記第2実施形態と同様であり、詳細な説明を省略する。
第3実施形態では、上記第2実施形態の干渉確認手順を基に、動的に形状及び拘束箇所12の位置及び姿勢が変化するケーブル13が、障害物である基板17に干渉するか否かを判断するまでに発展させたものである。
ロボット600が軌道データに従って動作した際に、ロボットハンド602が把持したケーブル13の拘束箇所12の位置及び姿勢が動的に変化することにより、ケーブル13の拘束箇所11と拘束箇所12との間の形状が動的に変化する。
第3実施形態では、その際に障害物である基板17に、動的に形状が変化するケーブル13が干渉するか否かを判断する。
以下、図11に示すフローチャートに沿って詳細に説明する。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図11に示す各工程を実行する。なお、ケーブル13をロボットハンド602で把持した際の初期のケーブル13の拘束箇所12の位置及び姿勢、更にケーブル13の拘束箇所12の位置及び姿勢とロボット600との相対位置は予めわかっていることとする。
図11に示すステップS21〜S24は、上記第2実施形態で説明した図10のステップS11〜S14と同じであり、詳細な説明は省略する。
次に、CPU201は、ロボット600の軌道計算を行う(S25)。ロボット600の軌道は、上述したように、2つ以上の教示点を結ぶ際のロボット600に対する指令である。ロボット600の移動を開始する教示点と移動を終了する教示点を結ぶ際のロボット600の軌道の分割数は、ロボット600の制御周期と加速度、速度、トルク等によって変化する。
次に、CPU201は、ロボット600の軌道に応じて移動するケーブル13の拘束箇所(手先)12の位置及び姿勢の計算を行う(S26)。即ち、CPU201は、拘束箇所12を仮想3次元空間内で仮想的に移動させることとなる(移動工程)。ロボット600の軌道におけるケーブル13の拘束箇所12の位置及び姿勢の計算は、ステップS25で求めたロボット600の軌道の開始点から終了点まで、軌道の分割数毎に実施する。
次に、CPU201は、ケーブル13の初期形状の更新を行う(S27)。ケーブル13の初期形状の更新は、ステップS26で計算した軌道の分割数毎のケーブル13の拘束箇所12の位置及び姿勢から行う。
次に、CPU201は、ケーブル13の拘束箇所11,12間の形状計算を行う(S28)。ケーブル13の形状の計算は、上記第1実施形態において図3を用いて説明した、線条弾性体3の形状、拘束力及び拘束トルクの計算方法を用いる。最終的にステップS5で求めた線条弾性体3の形状の計算結果を、以下のステップで用いる。この計算は、軌道の分割数毎に行う。
次に、CPU201は、干渉確認を行う(S29)。干渉確認は、ステップS28で計算した形状のケーブル13が、ステップS22で設定した干渉領域に侵入するか否かで確認する。なお、図11には、ケーブル13が干渉領域に侵入していることを条件とするフローチャートが図示されているが、ケーブル13が干渉領域に侵入しない場合には、ステップS32の処理に移行する。
次に、CPU201は、ステップS30の処理に移行するが、ステップS30,S31は、上記第2実施形態で説明した図10のステップS17,S18と同じ内容のため、説明を省略する。
次に、CPU201は、ロボット600の軌道の終点か否かを確認する(S32)。CPU201は、終点でなければ(S32:No)、ステップS26に移行し、ロボット軌道の終点になるまで(S32:Yes)、ステップS26〜ステップS32を繰り返す。これにより、CPU201は、ステップS30の処理を、ステップS26において仮想3次元空間内で移動させた拘束箇所12の位置及び姿勢を算出する度に、即ち拘束箇所12を仮想3次元空間内で移動させる度に行う。
CPU201は、ステップS32において、軌道の終点が確認された場合、干渉確認を終了する。そして、CPU201は、作業者の指示に従って又はプログラムに従って、干渉する軌道について修正する。このように、CPU201は、ケーブル13の状態に基づいてロボット600の軌道を生成する。このように生成された軌道のデータは、計算装置200から制御装置400に送信され、制御装置400にて設定される。そして、制御装置400は、製造工程において、設定した軌道に従ってロボット600の動作を制御する。
以上、第3実施形態によれば、ロボットハンド602で把持したケーブル13の拘束箇所12の位置又は姿勢がロボット600の移動により動的に変化した場合にも、干渉を判断することが可能となる。そして、ケーブル13が障害物に干渉するか否かの干渉判断を、迅速かつ正確に行うことができる。その結果、ロボット600をオフライン(シミュレーション)で教示するオフライン教示の作業性が向上する。
なお、第3実施形態では、干渉確認を実施するロボット600の軌道として、教示点(始点)から教示点(終点)までの軌道全区間としたが、任意の区間の軌道としてもよい。また、軌道の分割数に関しても任意の分割数でもよい。また、干渉の確認方法は、上記第1実施形態及び第2実施形態共に干渉確認が可能なシミュレーション装置内に組み込まれ、干渉領域と重なった線条弾性体を3次元データで画面表示することが望ましいが、干渉の有無を画面表示するのみでもよい。干渉が確認された場合、ロボット600の位置及び姿勢やロボットハンド602による拘束箇所12の変更、干渉回避のための教示点を作成してケーブル13が基板17と干渉することを回避することが可能となる。
[第4実施形態]
次に、本発明の第4実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図12(a)は、本発明の第4実施形態において計算対象となる実装基板の斜視図であり、図12(b)は、本発明の第4実施形態において計算対象となる実装基板の上面図である。
基板27の上には、フレキシブルフラットケーブル(以下、「ケーブル」という)が接続されるコネクタ25a,25bと、コンデンサ等の電子部品26a〜26cとがレイアウト(実装)されている。
図12(a)に示すように、コネクタ25a,25bに接続されるケーブルの設計を行う際に、電子部品26a〜26cを避けて接続しなければならない場合、ケーブルの形状が複雑なものになる。そのため、設計したケーブルの形状において、コネクタ25a,25bからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルの長手方向の端部にかかっているか否かを判断する必要がある。
第4実施形態では、ケーブルのような線条弾性体を設計する際に、コネクタからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルの端にかかっているか否かを確認する。以下、ケーブルの形状を決定する設計支援手順について説明する。なお、第4実施形態においても、上記実施形態と同様、計算装置200(図2)を用いて行う。
図13は、本発明の第4実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図13に示す各工程を実行する。
CPU201は、コネクタ25a,25bの位置及び姿勢の設定を行う(S41:設定工程)。第4実施形態では、コネクタ25aが一方の拘束部であり、コネクタ25bが他方の拘束部である。コネクタ25aの位置及び姿勢が、ケーブルの一端(一方の拘束箇所)の位置及び姿勢、コネクタ25bの位置及び姿勢が、ケーブルの他端(他方の拘束箇所)の位置及び姿勢である。ケーブルの一端(一方の拘束箇所)が上記第1実施形態のベース1、ケーブルの他端(他方の拘束箇所)が上記第1実施形態の手先2に相当する。
次に、CPU201は、線条弾性体であるケーブルの物性値の設定を行う(S42:設定工程)。ケーブルの物性値は、ケーブルの形状、拘束力及び拘束トルクの計算に必要な物性値であるヤング率、ポワソン比、断面形状である幅、厚さ、断面捩りモーメントを決定する捩りの比例定数を設定する。
次に、CPU201は、線条弾性体であるケーブルの状態(形状、拘束力及び拘束トルク)の計算用のパラメータの設定を行う(S43:設定工程)。パラメータには、ケーブルの形状、拘束力及び拘束トルクの計算に必要な分割数n、拘束位置の許容誤差E、拘束姿勢の許容誤差Eを設定する。
次に、CPU201は、ケーブルの端にかかる拘束力及び拘束トルクの上限値(負荷力及び負荷トルク)を設定する(S44:設定工程)。上限値はケーブルの接続不良が発生するコネクタからケーブルが抜けない力及びトルクや、ケーブルに断線が発生しない力及びトルクを設定するのが望ましい。
次に、CPU201は、設計したケーブルの初期形状を設定する(S45:設定工程)。
次に、CPU201は、ケーブルの拘束力及び拘束トルクの計算を行う(S46)。ケーブルの拘束力及び拘束トルクの計算方法は、上記第1実施形態で説明した線条弾性体3の形状、拘束力及び拘束トルクの計算方法とする。
CPU201は、拘束力が、予め設定した負荷力(上限値)を超えるか否かを判断する(S47:拘束力判断工程)。CPU201は、ステップS47において、上限値を超えていると判断した場合(S47:Yes)、拘束力の計算結果を出力し(S48)、次のステップS49に移行する。出力先は、例えば図2に示す表示装置302であり、計算結果が表示装置302に表示される。CPU201は、ステップS47において、上限値を超えていないと判断した場合(S47:No)、そのまま次のステップS49に移行する。
CPU201は、拘束トルクが、予め設定した負荷トルク(上限値)を超えるか否かを判断する(S49:拘束トルク判断工程)。CPU201は、ステップS49において、上限値を超えていると判断した場合(S49:Yes)、拘束トルクの計算結果を出力して(S50)終了し、上限値を超えていないと判断した場合(S49:No)そのまま終了する。出力先は、例えば図2に示す表示装置302であり、計算結果が表示装置302に表示される。
ステップS47及びステップS49において、上限値を超えていない場合は、ケーブルの形状が決定する。
以上、第4実施形態によれば、コネクタからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルにかからないように、ケーブルの形状を設計することが可能となる。
なお、第4実施形態では、拘束力、拘束トルクの上限値に対し、計算したケーブルの拘束力、拘束トルクが超えている場合、拘束力、拘束トルクの計算結果を出力したが、単純にOK、NGなど、ユーザが判断できる結果の出力のみでもよい。
また、第4実施形態では、コネクタの位置及び姿勢を固定してケーブルの形状を決定する設計支援方法を提供しているが、これに限定するものではない。図13のステップS41のコネクタの位置及び姿勢の設定を変更し、図13のステップS45において、ケーブルの形状を固定し、コネクタの配置を決定する設計支援方法としてもよい。
また、第4実施形態では、図13に示すステップS47,S49において、上限値を超えている場合に図13に示すステップS48,S50において、拘束力、拘束トルクの計算結果を出力することでケーブルの設計者がケーブルの設計変更することができる。しかし、線条弾性体の端にかかる拘束力、拘束トルクの上限を超えた場合に、ケーブルの設計変更ではなく、コネクタの再選定やコネクタの仕様変更をしてもよい。
また、第4実施形態では、コネクタの位置及び姿勢を固定してケーブルの形状を決定する設計支援方法を提供した。しかし、一方の拘束部をロボットハンドとすることで、ロボットの動作により他方の拘束部であるコネクタからケーブルが抜ける力や、ケーブルに断線が発生する力がかかっていないことを確認することも可能となる。その方法として、まず、図13のステップS45のケーブルの形状を固定する。次に、ステップS41のコネクタ位置姿勢設定の内、片方を第3実施形態の図9のようにケーブル13の片方をロボットハンド602で把持する。次に、ロボット600が動作した際のケーブル13の動的に変化する手先位置及び姿勢と置き換える。それにより、ロボットの動作によりコネクタからケーブルが抜ける力や、ケーブルに断線が発生する力がかかっていないことを確認することが可能となる。
第1〜第4実施形態では、フレキシブルフラットケーブルを含め、断面形状が長方形のものを線条弾性体としたが、断面形状は三角形以上の多角形、円や楕円のような丸い形状のワイヤーや管、ゴムチューブ等であってもよい。また、線条弾性体が、束線のような複数の線から構成されていてもよい。
また、第2〜第4実施形態では、ケーブルの初期形状は直線を想定しているが、L字やN字のように、途中部位が曲がった形状、Y字、E字のように2股以上に分かれた形状であってもよい。
また、第2〜第4実施形態では、ベースの位置及び姿勢を固定とした。図14(a)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。図14(b)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。
図14(a)及び図14(b)のように、ケーブル13の一端がコネクタ16に拘束され、更に、ケーブル13の途中の箇所が、固定部位58で固定されている。固定部位58により拘束される箇所を、ベース及び手先のうち一方とし、ケーブル13の一端又は他端を、ベース及び手先のうち他方として、線条弾性体の形状、拘束力、拘束トルクを求めてもよい。つまり、拘束される箇所は、線条弾性体の両端に限るものではなく、長手方向の任意の2箇所が拘束されればよい。この場合、2箇所の間の形状を求め、2箇所の一方に対して他方に働く拘束力及び拘束トルクを求めればよい。
また、固定部位58が複数になり、フレキシブルフラットケーブルが順次固定されることでベース又は手先の位置及び姿勢を、固定部位間や固定部位とケーブルの端部等に変更させて線条弾性体の形状、拘束力及び拘束トルクを求めてもよい。つまり、拘束される箇所が3つ以上あってもよく、隣接する2つの拘束箇所の間の形状、2つの拘束箇所のうち他方の拘束箇所の拘束力及び拘束トルクを求めればよい。
また、第2〜第4実施形態では、計算装置200が、ロボット制御部である制御装置400とは別のロボット軌道生成装置である場合について説明したが、これに限定するものではない。制御装置400が計算装置200の機能を有する場合であってもよい。この場合、制御装置400の演算部(CPU)が、第2〜第4実施形態で説明した演算処理を行う。
以上、本発明は、例えばケーブルやワイヤーハーネスの設計支援、ロボットによる柔軟物マニピュレーションにおける軌道計画支援、弾性受動関節の設計支援、閉ループ弾性体に基づく瞬発力発生機構の設計支援、カテーテルの設計支援等に適用可能である。
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1…ベース(一方の拘束箇所)、2…手先(他方の拘束箇所)、3…線条弾性体(柔軟物)、4〜4…バネ関節、5〜5…リンク、200…計算装置、201…CPU(演算部)

Claims (11)

  1. 演算部が、少なくとも2つの拘束部により位置及び姿勢が拘束される柔軟物について前記少なくとも2つの拘束部の内、拘束される2つの拘束箇所の間の形状と、前記2つの拘束箇所のうち一方の拘束箇所の位置及び姿勢を固定したときに前記2つの拘束箇所のうち他方の拘束箇所に生じる拘束力及び拘束トルクと、を計算する柔軟物の状態計算方法であって、
    前記演算部が、前記柔軟物を仮想3次元空間内で複数のバネ関節及び複数のリンクでモデル化し、前記仮想3次元空間内における前記他方の拘束箇所の目標位置、前記他方の拘束箇所の目標姿勢、前記目標位置に対して許容する位置ずれ量を示す位置許容誤差、前記目標姿勢に対して許容する姿勢ずれ量を示す姿勢許容誤差、前記拘束力の初期値、及び前記拘束トルクの初期値を設定する設定工程と、
    前記演算部が、前記拘束力及び前記拘束トルクに基づいて、前記バネ関節の角度、前記リンクの姿勢、及び前記バネ関節の位置を、前記一方の拘束箇所から前記他方の拘束箇所に向かって順次計算することで、前記柔軟物の前記2つの拘束箇所の間の形状を求める形状計算工程と、
    前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の位置の前記目標位置に対する位置誤差が、前記位置許容誤差以下であるか否かを判断する位置判断工程と、
    前記演算部が、前記位置判断工程にて前記位置誤差が前記位置許容誤差を上回っていると判断した場合、前記拘束力を更新する拘束力更新工程と、
    前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の前記目標姿勢に対する姿勢誤差が、前記姿勢許容誤差以下であるか否かを判断する姿勢判断工程と、
    前記演算部が、前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差を上回っていると判断した場合、前記拘束トルクを更新する拘束トルク更新工程と、を備え、
    前記演算部は、前記位置判断工程にて前記位置誤差が前記位置許容誤差以下と判断するまで、前記拘束力更新工程、前記形状計算工程及び前記位置判断工程を繰り返し、且つ前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差以下と判断するまで、前記拘束トルク更新工程、前記形状計算工程及び前記姿勢判断工程を繰り返し、
    前記拘束トルク更新工程では、前記演算部が、前記姿勢誤差に比例する値を用いて、前記拘束トルクを更新し、
    前記拘束力更新工程では、前記演算部が、前記位置誤差を前記拘束トルクのベクトル方向の軸まわりに回転変換した値に比例する値を用いて、前記拘束力を更新することを特徴とする柔軟物の状態計算方法。
  2. λを前記拘束力、τを前記拘束トルク、ΔPを前記位置誤差、ΔOを前記姿勢誤差、c,c,cを正の定数とし、R(a,θ)をa軸まわりに角度θ回転させる回転行列としたとき、
    前記拘束力更新工程では、前記演算部が、
    Figure 0006465289
    の式に従って前記拘束力を更新し、
    前記拘束トルク更新工程では、前記演算部が、
    Figure 0006465289
    の式に従って前記拘束トルクを更新することを特徴とする請求項1に記載の柔軟物の状態計算方法。
  3. 前記設定工程では、前記演算部が前記リンクを前記バネ関節で直列に接続したモデルで前記柔軟物をモデル化することを特徴とする請求項1又は2に記載の柔軟物の状態計算方法。
  4. 前記演算部が、前記柔軟物の周辺の障害物を前記仮想3次元空間内で設定する障害物設定工程と、
    前記演算部が、前記形状計算工程による形状計算結果に基づき、前記柔軟物が前記障害物と干渉するか否かを判断する干渉判断工程と、を更に備えたことを特徴とする請求項1乃至3のいずれか1項に記載の柔軟物の状態計算方法。
  5. 前記演算部が、前記他方の拘束箇所を前記仮想3次元空間内で仮想的に移動させる移動工程を更に備え、
    前記干渉判断工程は、前記演算部が、前記移動工程で前記他方の拘束箇所を前記仮想3次元空間内で移動させる度に行うことを特徴とする請求項4に記載の柔軟物の状態計算方法。
  6. 前記演算部が、前記拘束力が、予め設定した負荷力を超えるか否かを判断する拘束力判断工程を更に備えたことを特徴とする請求項1乃至5のいずれか1項に記載の柔軟物の状態計算方法。
  7. 前記演算部が、前記拘束トルクが、予め設定した負荷トルクを超えるか否かを判断する拘束トルク判断工程を更に備えたことを特徴とする請求項1乃至6のいずれか1項に記載の柔軟物の状態計算方法。
  8. 柔軟物の状態を計算する演算部を備え、
    前記演算部は、柔軟物の2つの拘束箇所のうち一方の拘束箇所がロボットハンド以外の拘束部に拘束され、他方の拘束箇所が前記ロボットハンドに拘束されるものとして、請求項1乃至7のいずれか1項に記載の柔軟物の状態計算方法の各工程を実行して柔軟物の状態を求め、求めた柔軟物の状態に基づいてロボットの軌道を生成することを特徴とするロボット軌道生成装置。
  9. ロボットハンドを有するロボットと、
    前記ロボットの動作を制御するロボット制御部と、を備え、
    前記ロボット制御部は、柔軟物の状態を計算する演算部を有し、
    前記演算部は、柔軟物の2つの拘束箇所のうち一方の拘束箇所が前記ロボットハンド以外の拘束部に拘束され、他方の拘束箇所が前記ロボットハンドに拘束されるものとして、請求項1乃至7のいずれか1項に記載の柔軟物の状態計算方法の各工程を実行して柔軟物の状態を求め、
    前記ロボット制御部は、前記ロボットハンドに柔軟物の他方の拘束箇所を拘束させた状態で、求めた柔軟物の状態に基づき生成された前記ロボットの軌道に従って前記ロボットの動作を制御することを特徴とするロボット装置。
  10. コンピュータに、請求項1乃至7のいずれか1項に記載の柔軟物の状態計算方法の各工程を実行させるためのプログラム。
  11. 請求項10に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2015006953A 2015-01-16 2015-01-16 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体 Active JP6465289B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015006953A JP6465289B2 (ja) 2015-01-16 2015-01-16 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015006953A JP6465289B2 (ja) 2015-01-16 2015-01-16 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2016133902A JP2016133902A (ja) 2016-07-25
JP6465289B2 true JP6465289B2 (ja) 2019-02-06

Family

ID=56426267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015006953A Active JP6465289B2 (ja) 2015-01-16 2015-01-16 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP6465289B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7109075B2 (ja) * 2018-09-07 2022-07-29 国立大学法人 筑波大学 演算装置及びプログラム
JP7167681B2 (ja) * 2018-12-07 2022-11-09 セイコーエプソン株式会社 ロボットシステムおよび接続方法

Also Published As

Publication number Publication date
JP2016133902A (ja) 2016-07-25

Similar Documents

Publication Publication Date Title
JP6921602B2 (ja) 連続体ロボットの制御システム及びその制御方法、並びに、プログラム
JP6924145B2 (ja) ロボット教示方法及びロボットアーム制御装置
US20140031982A1 (en) Robotic system and robot control device
JP5191738B2 (ja) マニピュレータの制御方法および制御システム
JP6739954B2 (ja) ロボット装置、物品の製造方法、および制御方法
JP2013132731A (ja) ロボット制御システム、ロボットシステム及びロボット制御方法
US9205555B2 (en) Manipulator joint-limit handling algorithm
JP5173958B2 (ja) 移動体姿勢生成方法および移動体姿勢生成装置
JP6465289B2 (ja) 柔軟物の状態計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体
Mochiyama Model validation of discretized spatial closed elastica
JP2017024142A (ja) 支持体の弾性変形を補償するロボット制御装置
EP3978203A1 (en) Singularity-free kinematic parameterization of soft robot manipulators
Nakagawa et al. Real-time shape estimation of an elastic rod using a robot manipulator equipped with a sense of force
JP6112947B2 (ja) ロボット装置、ロボット制御方法、プログラム及び記録媒体
JP2008200763A (ja) 作業用マニピュレータの制御装置
JP6862849B2 (ja) 演算装置、演算方法、演算プログラムおよびロボットシステム
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
WO2021149419A1 (ja) シミュレーション装置およびシミュレーションプログラム
WO2017026045A1 (ja) ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム
JP7318295B2 (ja) 表示方法
CN116867620A (zh) 机器人模型的学习装置、机器人模型的机器学习方法、机器人模型的机器学习程序、机器人控制装置、机器人控制方法、以及机器人控制程序
JP4647919B2 (ja) 制御方法および制御装置
WO2022137581A1 (ja) シミュレーション装置およびシミュレーションプログラム
TWI781708B (zh) 學習裝置、學習方法、學習程式、控制裝置、控制方法及控制程式
JP7424122B2 (ja) シミュレーション装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181113

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181225

R150 Certificate of patent or registration of utility model

Ref document number: 6465289

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250