JP2016133902A - Flexible object state calculation method, robot trajectory generation device, robot device, program and recording medium - Google Patents
Flexible object state calculation method, robot trajectory generation device, robot device, program and recording medium Download PDFInfo
- Publication number
- JP2016133902A JP2016133902A JP2015006953A JP2015006953A JP2016133902A JP 2016133902 A JP2016133902 A JP 2016133902A JP 2015006953 A JP2015006953 A JP 2015006953A JP 2015006953 A JP2015006953 A JP 2015006953A JP 2016133902 A JP2016133902 A JP 2016133902A
- Authority
- JP
- Japan
- Prior art keywords
- torque
- robot
- posture
- restraint
- flexible object
- 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.)
- Granted
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 130
- 239000013598 vector Substances 0.000 claims abstract description 13
- 230000000452 restraining effect Effects 0.000 claims description 89
- 238000000034 method Methods 0.000 claims description 49
- 230000008569 process Effects 0.000 claims description 25
- 239000011159 matrix material Substances 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 abstract description 2
- 238000004422 calculation algorithm Methods 0.000 description 26
- 238000013461 design Methods 0.000 description 16
- 239000000758 substrate Substances 0.000 description 16
- 238000004088 simulation Methods 0.000 description 12
- 230000000052 comparative effect Effects 0.000 description 11
- 238000004519 manufacturing process Methods 0.000 description 10
- 239000000463 material Substances 0.000 description 10
- 238000012790 confirmation Methods 0.000 description 8
- 230000000704 physical effect Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 210000000078 claw Anatomy 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 239000007779 soft material Substances 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012916 structural analysis Methods 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
Description
本発明は、柔軟物(例えば、ワイヤー、ハーネス、ケーブルなど)の状態(形状、拘束力、拘束トルク)を計算する計算方法、ロボット軌道生成装置、ロボット装置、プログラム及び記録媒体に関する。 The present invention relates to a calculation method, a robot trajectory generation device, a robot device, a program, and a recording medium for calculating a state (shape, restraint force, restraint torque) of a flexible object (for example, a wire, a harness, a cable, etc.).
製品を設計し製造する上で、ワイヤー、ハーネス、ケーブルなどの柔軟物を配置する場合がある。通常、製品の設計は、仮想3次元空間内における柔軟物と他の剛体などの部品との配置を考慮して行う。 In designing and manufacturing products, flexible objects such as wires, harnesses, and cables may be arranged. Usually, product design is performed in consideration of the arrangement of a flexible object and other rigid bodies in a virtual three-dimensional space.
ワイヤー、ハーネス、ケーブルなどの柔軟物は、弾性特性を有するが、弾性論で前提とする微小変形の範囲を越えて大きく変形する。大変形した形状は1次元幾何物体である曲線で特徴づけられるため、このような大変形柔軟物を以下では線条弾性体とよぶ。 A flexible object such as a wire, a harness, or a cable has elastic characteristics, but greatly deforms beyond the range of minute deformation assumed in elasticity. Since the greatly deformed shape is characterized by a curve which is a one-dimensional geometric object, such a large deformable flexible material is hereinafter referred to as a linear elastic body.
製品や装置の配置設計においては、線条弾性体を部分的に拘束(例えば把持)する拘束部(例えばロボットハンド)を空間内で移動させる際に、拘束部の移動により線条弾性体の長さや形状を変化させて設計する必要がある。また、線条弾性体を拘束する拘束部において拘束に必要な拘束力及び拘束トルクから拘束部の選定や設計をする必要がある。 In the layout design of products and devices, when a restraint part (for example, a robot hand) that partially restrains (for example, grips) the linear elastic body is moved in space, the length of the linear elastic body is increased by the movement of the restraint part. It is necessary to design by changing the sheath shape. Moreover, it is necessary to select and design the restraint portion from the restraint force and restraint torque necessary for restraint in the restraint portion restraining the linear elastic body.
そのような設計において、線条弾性体の形状特性、拘束条件を与え、線条弾性体を強制変位させた場合の予測形状を有限要素法により算出することが知られている(特許文献1参照)。しかしながら、有限要素法により線条弾性体の形状を算出する場合、線条弾性体の大変形に対応するには、非線形の境界値問題を解く必要があるが、境界値問題を解くには収束計算が必要となり、収束計算によっては計算コストが大きくなるという問題があった。 In such a design, it is known to give a shape characteristic and a constraint condition of the linear elastic body and calculate a predicted shape when the linear elastic body is forcibly displaced by a finite element method (see Patent Document 1). ). However, when calculating the shape of a linear elastic body by the finite element method, it is necessary to solve a nonlinear boundary value problem in order to cope with a large deformation of the linear elastic body. There is a problem that calculation is required and the calculation cost increases depending on the convergence calculation.
そこで、有限要素法を用いない構造解析手法として、線条弾性体の形状を特徴づける空間曲線に沿って質点とバネが連続的に分布するモデルを使用することも考えられる。このモデルに基づけば、線条弾性体の大変形は計算できるが、非線形の偏微分方程式に対する境界値問題を解くことが必要であるため、何らかの数値計算法に頼らなければならない。 Therefore, as a structural analysis method that does not use the finite element method, it may be possible to use a model in which mass points and springs are continuously distributed along a spatial curve that characterizes the shape of the line elastic body. Based on this model, it is possible to calculate the large deformation of the line elastic body, but it is necessary to solve the boundary value problem for the nonlinear partial differential equation, so it is necessary to rely on some numerical calculation method.
一方、初期値を推測した上で、初期値問題に対して数値積分を行うことで最終値を求め、最終値が境界条件に収束するまで初期値の推定を繰り返すShooting法(狙い撃ち法)という計算手法が知られている(非特許文献1参照)。 On the other hand, after calculating the initial value, the final value is obtained by performing numerical integration on the initial value problem, and the calculation called the “Shooting method” (the shooting method) in which the initial value is estimated until the final value converges to the boundary condition. A technique is known (see Non-Patent Document 1).
しかしながら、非特許文献1には、平面変形の計算例については記載されているものの、3次元空間への拡張方法については記載されていない。したがって、3次元空間で大変形する柔軟物の状態(形状、拘束力及び拘束トルク)の収束計算に、非特許文献1の計算方法をそのまま適用することは困難であった。
However, Non-Patent
そこで、本発明は、柔軟物の形状、拘束力及び拘束トルクを計算する際の計算コストを小さくしながら、柔軟物の形状、拘束力及び拘束トルクを短時間で求めることを目的とするものである。 Therefore, the present invention aims to obtain the shape, restraining force and restraining torque of a flexible object in a short time while reducing the calculation cost when calculating the shape, restraining force and restraining torque of the flexible object. is there.
本発明の柔軟物の状態計算方法は、演算部が、少なくとも2つの拘束部により位置及び姿勢が拘束される柔軟物について前記少なくとも2つの拘束部の内、拘束される2つの拘束箇所の間の形状と、前記2つの拘束箇所のうち一方の拘束箇所の位置及び姿勢を固定したときに前記2つの拘束箇所のうち他方の拘束箇所に生じる拘束力及び拘束トルクと、を計算する柔軟物の状態計算方法であって、前記演算部が、前記柔軟物を仮想3次元空間内で複数のバネ関節及び複数のリンクでモデル化し、前記仮想3次元空間内における前記他方の拘束箇所の目標位置、前記他方の拘束箇所の目標姿勢、前記目標位置に対して許容する位置ずれ量を示す位置許容誤差、前記目標姿勢に対して許容する姿勢ずれ量を示す姿勢許容誤差、前記拘束力の初期値、及び前記拘束トルクの初期値を設定する設定工程と、前記演算部が、前記拘束力及び前記拘束トルクに基づいて、前記バネ関節の角度、前記リンクの姿勢、及び前記バネ関節の位置を、前記一方の拘束箇所から前記他方の拘束箇所に向かって順次計算することで、前記柔軟物の前記2つの拘束箇所の間の形状を求める形状計算工程と、前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の位置の前記目標位置に対する位置誤差が、前記位置許容誤差以下であるか否かを判断する位置判断工程と、前記演算部が、前記位置判断工程にて前記位置誤差が前記位置許容誤差を上回っていると判断した場合、前記拘束力を更新する拘束力更新工程と、前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の前記目標姿勢に対する姿勢誤差が、前記姿勢許容誤差以下であるか否かを判断する姿勢判断工程と、前記演算部が、前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差を上回っていると判断した場合、前記拘束トルクを更新する拘束トルク更新工程と、を備え、前記演算部は、前記位置判断工程にて前記位置誤差が前記位置許容誤差以下と判断するまで、前記拘束力更新工程、前記形状計算工程及び前記位置判断工程を繰り返し、且つ前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差以下と判断するまで、前記拘束トルク更新工程、前記形状計算工程及び前記姿勢判断工程を繰り返し、前記拘束トルク更新工程では、前記演算部が、前記姿勢誤差に比例する値を用いて、前記拘束トルクを更新し、前記拘束力更新工程では、前記演算部が、前記位置誤差を前記拘束トルクのベクトル方向の軸まわりに回転変換した値に比例する値を用いて、前記拘束力を更新することを特徴とする。 According to the flexible object state calculation method of the present invention, the arithmetic unit is configured to provide a flexible object whose position and posture are constrained by at least two constraining units, and between the two constrained portions constrained among the at least two constraining units. The state of the flexible object that calculates the shape and the restraining force and the restraining torque generated at the other restraining location of the two restraining locations when the position and posture of the one restraining location are fixed. In the calculation method, the calculation unit models the flexible object with a plurality of spring joints and a plurality of links in a virtual three-dimensional space, and a target position of the other restraint location in the virtual three-dimensional space, Target posture of the other restraint location, position tolerance indicating the amount of positional deviation allowed with respect to the target position, posture tolerance indicating the amount of posture deviation allowed with respect to the target posture, initial value of the binding force And a setting step for setting an initial value of the restraint torque, and the calculation unit calculates the angle of the spring joint, the posture of the link, and the position of the spring joint based on the restraint force and the restraint torque, A shape calculation step for obtaining a shape between the two restraint locations of the flexible object by sequentially calculating from one restraint location toward the other restraint location, and the calculation unit is obtained by the shape calculation step. A position determination step for determining whether a position error of the position of the other restraint location based on the calculated shape result with respect to the target position is equal to or less than the position allowable error; and the calculation unit includes the position determination step. When the position error is determined to exceed the position allowable error, the constraint force update step for updating the constraint force, and the calculation result obtained by the calculation unit by the calculation unit A posture determination step of determining whether a posture error of the other restrained location based on the target posture is equal to or smaller than the posture tolerance error; and the calculation unit determines that the posture error is the posture in the posture determination step. A restraint torque update step for updating the restraint torque when it is determined that the tolerance exceeds the tolerance, and the calculation unit determines that the position error is equal to or less than the position tolerance in the position determination step. The constraint force update step, the shape calculation step, and the position determination step are repeated, and the constraint torque update step, the shape calculation step until the posture error is determined to be equal to or less than the posture allowable error in the posture determination step. The posture determination step is repeated, and in the constraint torque update step, the calculation unit updates the constraint torque using a value proportional to the posture error, and In the restraint force update step, the calculation unit updates the restraint force using a value proportional to a value obtained by rotationally converting the position error about an axis in the vector direction of the restraint torque.
本発明によれば、柔軟物の形状、拘束力及び拘束トルクを計算する際の計算コストが小さくなり、柔軟物の形状、拘束力及び拘束トルクを短時間で求めることが可能となる。 According to the present invention, the calculation cost for calculating the shape, restraining force, and restraining torque of the flexible object is reduced, and the shape, restraining force, and restraining torque of the flexible object can be obtained in a short time.
以下、本発明を実施するための形態を、図面を参照しながら詳細に説明する。 Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.
[第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に生じる拘束力及び拘束トルクを計算する。以下、形状、拘束力及び拘束トルクを総称して、「状態」という。
[First Embodiment]
FIG. 1 is a schematic diagram showing a flexible object according to the first embodiment of the present invention. The flexible material shown in FIG. 1 is a linear elastic body (including a strip elastic body) 3 and is greatly deformed. The linear
図2は、本発明の第1実施形態に係る柔軟物の状態を計算する柔軟物状態計算装置を有する計算システム示すブロック図である。計算システム100は、柔軟物状態計算装置(以下、「計算装置」という)200と、計算装置200に接続された操作装置301、表示装置302及び外部記憶装置303と、を有する。計算装置200は、コンピュータで構成されている。
FIG. 2 is a block diagram showing a calculation system having a flexible object state calculation device for calculating the state of the flexible object according to the first embodiment of the present invention. The
計算装置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を備えている。
The
CPU201には、ROM202、RAM203、HDD204、記録ディスクドライブ205及び各種のインタフェース211〜213が、バス220を介して接続されている。ROM202には、BIOS等の基本プログラムが格納されている。RAM203は、CPU201の演算処理結果等、各種データを一時的に記憶する記憶装置である。
A
HDD204は、CPU201の演算処理結果や外部から取得した各種データ等を記憶する記憶装置であると共に、CPU201に、後述する各種演算処理を実行させるためのプログラム240を記録するものである。CPU201は、HDD204に記録(格納)されたプログラム240に基づいて線条弾性体(柔軟物)3の状態(形状、拘束力及び拘束トルク)の計算方法の各工程を実行する。
The
記録ディスクドライブ205は、記録ディスク241に記録された各種データやプログラム等を読み出すことができる。
The
インタフェース211には、ユーザが操作可能な操作装置301が接続されている。操作装置301は、例えばキーボードやマウス等であり、CPU201にユーザの操作に応じた信号を出力する。
An
インタフェース212には、表示装置302が接続されている。表示装置302は、CPU201の制御の下、各種画像を表示する。
A
インタフェース213には、外部記憶装置303が接続されている。外部記憶装置303は、書き換え可能な不揮発性メモリや外付けHDD等の記憶装置である。
An
なお、本実施形態では、コンピュータ読み取り可能な記録媒体がHDD204であり、HDD204にプログラム240が格納される場合について説明するが、これに限定するものではない。プログラム240は、コンピュータ読み取り可能な記録媒体であれば、いかなる記録媒体に記録されていてもよい。例えば、プログラム240を供給するための記録媒体としては、図2に示すROM202や外部記憶装置303、記録ディスク241等を用いてもよい。具体例を挙げて説明すると、記録媒体として、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性メモリ、ROM等を用いることができる。
In this embodiment, the case where the computer-readable recording medium is the
CPU201は、線条弾性体3のベース1と手先2との間の形状と、ベース1の位置及び姿勢を固定したときに手先2に生じる拘束力及び拘束トルクとを計算する。以下、線条弾性体3の状態(形状、拘束力及び拘束トルク)の計算方法について詳細に説明する。
The
図3は、本発明の第1実施形態に係る柔軟物の状態(形状、拘束力及び拘束トルク)の計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図3に示す各工程を実行する。
FIG. 3 is a flowchart showing each step of the method for calculating the state (shape, restraining force and restraining torque) of the flexible object according to the first embodiment of the present invention. Here, the
まず、CPU201は、線条弾性体3の離散モデル化を行う(S1:設定工程)。図4は、図1に示す線条弾性体(柔軟物)3を離散化したモデル図である。CPU201は、図4に示すように、線条弾性体3を、XYZの直交座標で規定された仮想3次元空間内で複数(n個:nは2以上の正の整数)のバネ関節41〜4n及び複数(n個)のリンク51〜5nでモデル化する。各リンク51〜5nは、軸状の剛体とする。線条弾性体3の離散化モデルは、リンク51〜5nをバネ関節41〜4nにより直列に接続した剛体・バネ関節直列モデルである。
First, the
なお、第1実施形態では、バネ関節41〜4nを繋ぐリンク51〜5nを剛体としたが、直動バネとして線条弾性体3をモデル化することも可能である。
In the first embodiment, the
実際には図1に示すような曲線状の線条弾性体3を、剛体・バネ関節直列モデルでは、図4に示すように、複数(n個)のバネ関節41〜4nを節点とし複数(n個)のリンク51〜5nを線分とする、折れ線で表される。
Actually, the curved linear
各リンク51〜5nの長さは同一とし、長手方向の長さをl=L/nで表す。なお、計算の簡略化のために各リンク51〜5nの長さを同一としたが、同一でなくてもよい。また、nは線条弾性体3の分割数とする。
The
各バネ関節(節点)41〜4nで角度(折れ線の向き)が変化する。第1実施形態では空間変形であるので、各バネ関節41〜4nは3自由度の関節である。 The angle (direction of the broken line) changes at each spring joint (node) 4 1 to 4 n . Since the first embodiment is a spatial deformation, each of the spring joints 4 1 to 4 n is a joint having three degrees of freedom.
バネ関節41〜4n及びリンク51〜5nの番号を、図4に示すように、ベース1(根元)側から手先2側に向かって順に付す。即ち、ベース1側から手先2側に向かって、第1バネ関節41,第2バネ関節42,…,第nバネ関節4nとする。また、ベース1側から手先2側に向かって、第1リンク51,第2リンク52,…,第nリンク5nとする。
The numbers of the spring joints 4 1 to 4 n and the
第iバネ関節4i(iは1〜n)の位置をpi−1∈R3(R3は3次の実数空間)とする。第iリンク5iの姿勢をFi∈SO(3)(SO(3):3次の特殊直交群{F∈R3×3|FTF=I3,detF=1},I3は3次の単位行列)とする。
The position of the i- th spring joint 4 i (i is 1 to n) is defined as p i−1 ∈R 3 (R 3 is a third-order real space). The orientation of the i-
CPU201は、ステップS1においてモデル化するにあたり、以下の値を予め設定する。
1.バネ関節及びリンクの変形モデルの物性値及び線条弾性体の物性値から、又は同定実験から求まるバネ定数Kd
バネ定数Kd=diag{kdt,kdn,kdb}(3次の対角行列)である。各対角要素kdt,kdn,kdbは、3自由度のバネ関節の各軸回りのバネ定数を表す。連続モデルの場合のバネ定数をK=diag{kt,kn,kb}(kdt,kdn,kdbは3自由度関節の各軸回りのバネ定数)とすると、Kd=K/lの関係がある。
2.仮想3次元空間内における線条弾性体3の手先2の目標位置p*及び目標姿勢F*
3.目標位置p*に対して許容する位置ずれ量を示す位置許容誤差EP及び目標姿勢F*に対して許容する姿勢ずれ量を示す姿勢許容誤差EO
4.線状弾性体の手先位置・姿勢を拘束するための拘束力λの初期値及び拘束トルクτの初期値
5.仮想3次元空間内における線条弾性体3のベース1の位置p0及び拘束姿勢F0
The
1. Spring constant Kd obtained from physical property value of deformation model of spring joint and link and physical property value of linear elastic body, or from identification experiment
The spring constant Kd = diag {k dt , k dn , k db } (third-order diagonal matrix). Each diagonal element k dt , k dn , k db represents a spring constant around each axis of a spring joint with three degrees of freedom. If the spring constant in the case of the continuous model is K = diag {k t , k n , k b } (k dt , k dn , k db are the spring constants around each axis of the three-degree-of-freedom joint), Kd = K / There is a relationship of l.
2. The target position p * and the target posture F * of the
3. A position allowable error E P indicating the amount of positional deviation allowed with respect to the target position p * and a position allowable error E O indicating the amount of positional deviation allowed with respect to the target posture F * .
4). 4. Initial value of restraining force λ and initial value of restraining torque τ for restraining the hand position / posture of the linear elastic body The position p 0 and the restraint posture F 0 of the
次に、CPU201は、第iバネ関節4iの角度θiを計算する(S2)。θi∈R3は、ベース1側から第i番目の3自由度のバネ関節4iの角度ベクトルであり、次式(1)で計算する。
Next, the
ここで、式(1)中‘×’は外積演算であり、θt,i,θn,i,θb,i∈Rはそれぞれ第i番目のバネ関節4iの3自由度の各軸まわりの関節角度である。なお、式(1)において、pnはp*と置き換えてもよい。
Here, in Expression (1), “×” is a cross product operation, and θ t, i , θ n, i , θ b, i ∈ R are axes of three degrees of freedom of the i-
また、Ai∈R3×3は、第iバネ関節4iにおける3自由度の関節の各軸方向の単位ベクトルat,i,an,i,ab,i∈R3を並べてできる行列であり、次式(2)で定義される。
Ai∈R 3 × 3 is a matrix formed by arranging unit vectors at , i , an , i , a b, i ∈ R 3 in the respective axial directions of the joints with three degrees of freedom in the i-
次に、CPU201は、第iリンク5iの姿勢Fiを計算する(S3)。具体的に説明すると、CPU201は、第iリンク5iの姿勢Fi∈SO(3)を、次式(3)で計算する。
Next, the
ここで、RJ∈SO(3)は、3自由度のバネ関節4iの回転作用を表す行列であり、次式(4)で定義される。 Here, R J ∈ SO (3) is a matrix representing the rotational action of the spring joint 4 i having three degrees of freedom, and is defined by the following equation (4).
ここで、R(a,θ)は、a軸まわりに角度θ回転させる回転作用素(回転行列)である。 Here, R (a, θ) is a rotation operator (rotation matrix) that rotates the angle θ around the a axis.
次に、CPU201は、第(i+1)バネ関節4i+1の位置piを計算する(S4)。具体的に説明すると、CPU201は、第(i+1)バネ関節4i+1の位置pi∈R3を次式(5)で計算する。
Next,
ここでex=[1 0 0]Tはx方向の単位ベクトルである。 Here, e x = [1 0 0] T is a unit vector in the x direction.
これらステップS2〜S4を、i=1からi=nまで繰り返す(S5:形状計算工程)。即ちステップS5は、ステップS2の第iバネ関節の角度θiの計算、ステップS3の第iリンクの姿勢Fiの計算、ステップS4の第(i+1)関節の位置piの計算(第(n+1)関節位置pnは手先2の位置に相当)をi=1からi=nまで繰り返す。以上、CPU201は、拘束力λ及び拘束トルクτに基づいて、バネ関節の角度、リンクの姿勢、及びバネ関節の位置を、ベース1側から手先2側に向かって順次計算することで、線条弾性体3のベース1と手先2との間の形状を求める。ここで、線条弾性体3のベース1と手先2との間の形状とは、バネ関節41〜4nの角度、リンク51〜5nの姿勢及びバネ関節41〜4nの位置のことである。
These steps S2 to S4 are repeated from i = 1 to i = n (S5: shape calculation step). That step S5, calculation of the angle theta i of the i spring joint step S2, the computation of the attitude F i of the i-th link of the step S3, the (i + 1) in step S4 the computation of the position p i of the joint (the (n + 1 ) joint position p n repeats corresponding to the position of the hand 2) from i = 1 to i = n. As described above, the
次にCPU201は、ステップS5により求めた形状計算結果に基づく手先2の位置pnの目標位置p*に対する位置誤差ΔP(=p*−pn)の大きさが、位置許容誤差EP以下であるか否かを判断する(S6:位置判断工程)。判断は次式(6)で行う。
Then CPU201, the size of the position error ΔP with respect to the target position p * position p n of the
CPU201は、式(6)において許容誤差EP内であれば(S6:Yes)、ステップS7に移行する。CPU201は、ステップS5により求めた形状計算結果に基づく手先2の姿勢Fnの目標姿勢F*に対する姿勢誤差ΔO(=θerrω)の大きさが、姿勢許容誤差EO以下であるか否かを判断する(S7:姿勢判断工程)。判断は次式(7)で行う。
CPU201, if the allowable error E P in the formula (6) (S6: Yes) , the process proceeds to step S7. The
ここで、θerrω∈R3は姿勢誤差を表すベクトルであり、次式(8)で定義される。 Here, θ err ωεR 3 is a vector representing an attitude error and is defined by the following equation (8).
θerr∈[−π π]は等価回転角度であり、次式(9)により求められる。 θ err ε [−π π] is an equivalent rotation angle and is obtained by the following equation (9).
また、行列Φは次式(10)で与えられる。 The matrix Φ is given by the following equation (10).
また、ω∈R3(||ω||=1)は等価回転軸であり、次式(11)で与えられる。 Further, ω∈R 3 (|| ω || = 1) is an equivalent rotation axis, and is given by the following equation (11).
式(6)及び式(7)において許容値内であれば(S6,S7:Yes)、線条弾性体3の形状、拘束力及び拘束トルクの計算を終了する。
If it is within an allowable value in Expression (6) and Expression (7) (S6, S7: Yes), the calculation of the shape, restraining force and restraining torque of the linear
CPU201は、ステップS6において、位置誤差ΔPの大きさが位置許容誤差EPよりも大きいと判断した場合、即ち位置誤差ΔPの大きさが位置許容誤差EPを上回っていると判断した場合(S6:No)、拘束力を更新する(S8:拘束力更新工程)。次に、CPU201は、ステップS2の処理に移行し、位置誤差の大きさが位置許容誤差以下になるまで、繰り返し計算を行う。
CPU201 in step S6, if the magnitude of the position error ΔP is determined to be greater than the position tolerance E P, i.e. when the magnitude of the position error ΔP is determined to be above the position tolerance E P (S6 : No), the binding force is updated (S8: binding force update step). Next, the
CPU201はステップS7において姿勢誤差ΔOの大きさが姿勢許容誤差EOよりも大きいと判断した場合、即ち姿勢誤差ΔOの大きさが姿勢許容誤差EOを上回っていると判断した場合(S7:No)、拘束トルクを更新する(S9:拘束トルク更新工程)。次に、ステップS2の処理に移行し、位置誤差の大きさが位置許容誤差以下となり、かつ姿勢誤差の大きさが姿勢許容誤差以下となるまで繰り返し計算を行う。
When the
即ちCPU201は、ステップS6にて位置誤差ΔPの大きさが位置許容誤差EP以下となるまで、ステップS8、ステップS5及びステップS6を繰り返す。 That CPU201, at step S6 to the size of the position error ΔP is equal to or less than the position tolerance E P, step S8, and repeats the steps S5 and S6.
また、CPU201は、ステップS7にて姿勢誤差ΔOの大きさが姿勢許容誤差EO以下となるまで、ステップS9、ステップS5及びステップS7を繰り返す。第1実施形態では、ステップS6にて位置誤差ΔPの大きさが位置許容誤差EPであると判断した場合に、ステップS7に移行する。したがって、姿勢誤差ΔOの大きさが姿勢許容誤差EO以下となるまで、ステップS9、ステップS5、ステップS6及びステップS7を繰り返すことになる。
Further, the
第1実施形態では、ステップS8における拘束力の更新則は次式(12)のアルゴリズムで定義される。 In the first embodiment, the constraint force update rule in step S8 is defined by the algorithm of the following equation (12).
即ち、CPU201は、位置誤差ΔPを拘束トルクτのベクトル方向の軸まわりに回転変換した値に比例する値(更新値)を用いて、拘束力λを更新する。つまり、更新値を拘束力λに加算して新たな拘束力λとする。具体的に説明すると、CPU201は、位置誤差ΔPを拘束トルクτのベクトル方向の軸まわりに拘束トルクτの大きさに比例する量で逆回転した値に比例する値(更新値)を加算して、拘束力λを更新する。
That is, the
ここで、逆回転とは、式(12)中マイナスの符号で表され、拘束トルクτのベクトル方向に見て、ベクトル方向の軸まわりに右回転を正としたときの逆、即ち左回転をいう。 Here, the reverse rotation is represented by a minus sign in the equation (12), and is the reverse of the right rotation around the axis in the vector direction when viewed in the vector direction of the restraining torque τ, that is, the left rotation. Say.
また、第1実施形態では、ステップS9における拘束トルクの更新則は次式(13)のアルゴリズムで定義される。 In the first embodiment, the constraint torque update rule in step S9 is defined by the algorithm of the following equation (13).
即ち、CPU201は、姿勢誤差ΔOに比例する値(更新値)を用いて、拘束トルクτを更新する。つまり、更新値を拘束トルクτに加算して新たな拘束トルクτとする。
That is, the
式(12)及び式(13)中、‘←’は更新を表す。cPおよびcOは、更新則の調整パラメータであり、正の定数である。cTも正の定数であるが、このアルゴリズム特有の調整パラメータである。 In Expression (12) and Expression (13), “←” represents update. c P and c O are adjustment parameter update law is a positive constant. c T is also a positive constant, but is an adjustment parameter specific to this algorithm.
拘束力、拘束トルクの更新則として手先の位置及び姿勢に関する誤差情報を利用して、拘束力、拘束トルクを更新する際の最もシンプルなアルゴリズムは、位置誤差、姿勢誤差に比例した値を、更新増分とすることである。 The simplest algorithm for updating restraint force and restraint torque using error information on hand position and posture as the update rule of restraint force and restraint torque is to update the value proportional to the position error and posture error. Incremental.
比較例1では、拘束トルクの更新則は式(13)と同じとした上で、拘束力の更新側は、式(14)に示すように、位置誤差に比例した値を更新増分とする。 In the first comparative example, the constraint torque update rule is the same as in equation (13), and the constraint force update side sets a value proportional to the position error as the update increment as shown in equation (14).
この更新則を比例アルゴリズムとよぶことにする。この比例アルゴリズムでは、収束性に問題がある。この問題を解決したのが,第1実施形態においてステップS8,S9で使用した式(12)及び式(13)の更新アルゴリズムである。手先2の姿勢を収束させるための計算プロセスにおいて、拘束トルクの更新増分を姿勢誤差としている点は前述比較例1の比例アルゴリズムと同じである。第1実施形態の特徴は、手先2の位置を収束させるための計算プロセスにある。
This update rule is called a proportional algorithm. This proportional algorithm has a problem in convergence. What solved this problem is the update algorithm of equations (12) and (13) used in steps S8 and S9 in the first embodiment. The calculation process for converging the posture of the
前述比較例1の比例アルゴリズムとの違いは位置誤差に回転作用が加わっている点である。より具体的には、拘束力の更新増分を、位置誤差を拘束トルクτのベクトル方向の軸まわりに逆回転させた量としている。 The difference from the proportional algorithm of the first comparative example is that a rotational action is added to the position error. More specifically, the update increment of the constraint force is an amount obtained by reversely rotating the position error around the axis of the constraint torque τ in the vector direction.
手先2の位置誤差に回転を加えることが効果的であるならば、トルクベクトルの暫定値ではなく、姿勢誤差に対応して回転させることが妥当のように考えられる。比較例2では、次式(15)のようなアルゴリズムとしている。
If it is effective to add rotation to the position error of the
比較例2でも、手先2の拘束トルクの更新則は式(13)と同じである。ここで、cRは正の定数であり、このアルゴリズム特有の調整パラメータである。比較例2のアルゴリズムと第1実施形態のアルゴリズムとの違いは、τの代わりに姿勢誤差ΔOを用いている点である。この比較例2のアルゴリズムを単純回転アルゴリズムとよぶ。単純回転アルゴリズムでも収束性は改善されない。これは姿勢誤差に対応して回転させることだけでは収束性の改善には繋がらないことを示している。
Also in the comparative example 2, the update rule of the restraint torque of the
図5は、第1実施形態のアルゴリズムによるシミュレーション結果を示すグラフである。図6は、比較例1のアルゴリズムによるシミュレーション結果を示すグラフである。図7は、比較例2のアルゴリズムによるシミュレーション結果を示すグラフである。 FIG. 5 is a graph showing a simulation result by the algorithm of the first embodiment. FIG. 6 is a graph showing a simulation result by the algorithm of Comparative Example 1. FIG. 7 is a graph showing a simulation result by the algorithm of Comparative Example 2.
シミュレーション条件は以下である。
・弾性体材料特性
線条弾性体3の全長L=150[mm]
材料特性:ヤング率E=210[GPa]=210,000[N/mm2]、ポワソン比ν=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]とした。
The simulation conditions are as follows.
-Elastic body material characteristic Total length L of the line | wire
Material characteristics: Young's modulus E = 210 [GPa] = 210,000 [N / mm 2 ], Poisson's ratio ν = 0.3
Cross-sectional shape: a rectangle with a width w = 20 [mm] and a thickness t = 0.1 [mm] The discrete spring constants k dt , k dn , and k db are expressed by the following equations (16) and (17): k dt = 162 [mNm / rad], k dn = 4.67 [kNm / rad], and k db = 167 [mNm / rad].
ここで、式(16)のJは断面捩りモーメントであり、断面形状が長方形のため、J=k2wt3であり、k2=0.3とした。また、式(17)のIは断面2次モーメントであり、断面形状が長方形のため、kdnにおいてはI=wt3/12から求め、kdbにおいてはI=w3t/12から求めた。
・シミュレーションパラメータ
分割数n=50
位置許容誤差EP=0.01[mm]
姿勢許容誤差EO=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]回転させた姿勢。
・アルゴリズムパラメータ
位置更新の比例定数cP=0.0005
姿勢更新の比例定数cO=1.0
パラメータcT=0.1
パラメータcR=0.1
Here, the J of formula (16) is a cross-sectional torsional moment, since the cross-sectional shape of a rectangle, a J = k2wt 3, was k2 = 0.3. Further, a I is the second moment of the formula (17), since the cross-sectional shape of a rectangle, in the k dn calculated from I = wt 3/12, in the k db was obtained from I = w 3 t / 12 .
・ Simulation parameter Number of divisions n = 50
Position tolerance E P = 0.01 [mm]
Attitude tolerance E O = 1.0 [deg] = π / 180 [rad]
・ Initial conditions Initial shape: Shape and restraining force / torque to obtain hand position [90; 0; 78.97], hand posture [1 0 0; 0 0 1; 0 -1 0] are obtained in advance. It was.
Target condition Target hand position [90; 0; 58.97] = position of −20 [mm] in the z direction from the initial hand position.
Target hand posture [1 0 0; 0 0.342 0.9397; 0-0.9397 0.3420] = posture obtained by rotating the initial hand posture by 20 [deg] around the x-axis.
Algorithm parameter Position update proportionality constant c P = 0.0005
Proportional update proportionality constant c O = 1.0
Parameter c T = 0.1
Parameter c R = 0.1
なお、これらのアルゴリズムのパラメータは、挙動が不安定にならない範囲で大きな値に設定した。 Note that the parameters of these algorithms were set to large values within a range where the behavior does not become unstable.
図5〜図7の実験結果に示されるように、3つのアルゴリズムにおいて、図5に示す第1実施形態のアルゴリズムのみ収束し、線条弾性体3の形状、拘束力及び拘束トルクを求めることが可能となる。また、離散化モデルを用いて線条弾性体3の形状、拘束力及び拘束トルクを計算したので、有限要素法による従来例と比較しても、線条弾性体3の形状、拘束力及び拘束トルクを計算する際の計算コストが小さくなる。よって、線条弾性体3の形状、拘束力及び拘束トルクの計算結果を短時間で収束させることができる。換言すれば、線条弾性体3の形状、拘束力及び拘束トルクを短時間で求めることが可能となる。
As shown in the experimental results of FIGS. 5 to 7, in the three algorithms, only the algorithm of the first embodiment shown in FIG. 5 converges, and the shape, restraining force, and restraining torque of the linear
[第2実施形態]
次に、本発明の第2実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図8は、本発明の第2実施形態に係るロボット装置を示す斜視図である。なお、第2実施形態において、上記第1実施形態と同様の構成については、同一符号を用い、詳細な説明は省略する。図8に示すロボット装置1000は、ロボット600と、ロボット600の動作を制御するロボット制御部である制御装置400と、制御装置400に接続されたティーチングペンダント500と、を備えている。また、ロボット装置1000は、上記第1実施形態と同様の構成の柔軟物状態計算装置(計算装置)200を備えている。第2実施形態では、計算装置200は、ロボット600の軌道を生成するロボット軌道生成装置である。制御装置400は、生成された軌道に基づきロボット600の動作を制御する。第2実施形態では計算装置200と制御装置400を説明の簡略化のため、物理的に分けて表現しているが、装置として一体としても構わない。
[Second Embodiment]
Next, a method for calculating the state of a flexible object by the calculation device of the robot apparatus according to the second embodiment of the present invention will be described. FIG. 8 is a perspective view showing a robot apparatus according to the second embodiment of the present invention. In the second embodiment, the same components as those in the first embodiment are denoted by the same reference numerals, and detailed description thereof is omitted. A
ロボット600は、多関節のロボットである。ロボット600は、垂直多関節型のロボットアーム601と、ロボットアーム601の先端に接続された拘束部であるロボットハンド602と、を備えている。
The
ロボットアーム601は、作業台に固定されるベース部(基端ロボットリンク)603と、変位や力を伝達する複数のロボットリンク621〜626と、を有している。ベース部603及び複数のロボットリンク621〜626は、複数の関節J1〜J6で旋回又は回転可能に互いに連結されている。また、ロボットアーム601は、各関節J1〜J6に設けられた、関節を駆動する関節駆動装置610を備えている。各関節J1〜J6に配置された関節駆動装置610は、必要なトルクの大きさに合わせて適切な出力のものが用いられる。
The
ロボットハンド602は、柔軟物を把持する複数(第2実施形態では2つ)の把持爪604と、複数の把持爪604を駆動する不図示の駆動部と、駆動部の回転角度を検出する不図示のエンコーダと、回転を把持動作に変換する不図示の機構とを有している。この不図示の機構は、カム機構やリンク機構などで必要な把持動作に合わせて設計される。なお、ロボットハンド602に用いる駆動部に必要なトルクは、ロボットアーム601の関節用と異なるが、基本構成は同じである。また、ロボットハンド602は、把持爪604等に作用する力(反力)やモーメントを検出可能な不図示の力覚センサを有している。
The
ティーチングペンダント500は、制御装置400に接続可能に構成され、制御装置400に接続された際に、ロボットアーム601やロボットハンド602を駆動制御する指令を制御装置400に送信可能に構成されている。
The
計算装置200のCPU201(図2)は、与えられた2つ以上の教示点間を繋ぐロボット600の軌道を生成して制御装置400に軌道データを出力する。教示点は、ロボット600の先端の位置及び姿勢を示すパラメータ値、又は関節J1〜J6の角度を示すパラメータ値で設定される。ロボット600の軌道とは、時間をパラメータとしたロボット600の経路を表したもの、即ち、動作時刻毎(所定時間間隔)のロボット600の各関節J1〜J6の角度(つまり、関節駆動装置610のモータの回転角度)である。
The CPU 201 (FIG. 2) of the
図9(a)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。図9(b)は、本発明の第2実施形態に係るロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。なお、図9(a)において、ロボット600については、ロボットハンド602と、ロボットアーム601の先端周辺のみ図示した。また、図9(b)において、ロボット600については、ロボットハンド602のみ図示した。
FIG. 9A is a perspective view showing the vicinity of a robot hand for explaining a manufacturing operation by the robot apparatus according to the second embodiment of the present invention. FIG. 9B is a front view showing the vicinity of the robot hand for explaining the manufacturing operation by the robot apparatus according to the second embodiment of the present invention. In FIG. 9A, only the
ここで、第2実施形態において、線条弾性体(柔軟物)は、フレキシブルフラットケーブル(以下、「ケーブル」)13である。 Here, in the second embodiment, the linear elastic body (flexible object) is a flexible flat cable (hereinafter, “cable”) 13.
ケーブル13の長手方向の一端の拘束箇所(一方の拘束箇所)11が、基板18に固定(実装)された一方の拘束部(ロボットハンド以外の拘束部)であるコネクタ16に挿入されて、コネクタ16に拘束される。また、ケーブル13の長手方向の他端の近傍の拘束箇所(他方の拘束箇所)12が、他方の拘束部であるロボットハンド602の把持爪604に把持されて、ロボットハンド602に拘束される。なお、ケーブル13をロボットハンド602で把持した際のケーブル13の拘束箇所12の位置及び姿勢は予めわかっていることとする。
A restraint portion (one restraint portion) 11 at one end in the longitudinal direction of the
コネクタ16に挿入されたケーブル13の拘束箇所11が、上記第1実施形態のベース1に相当し、ケーブル13の拘束箇所12が、上記第1実施形態の手先2に相当する。基板18の近傍には、基板17が配置され、基板17には、ケーブル13の他端が挿入されるコネクタ19が固定(実装)されている。基板17は剛体である。第2実施形態では、ロボットハンド602にケーブル13を把持させて、ロボット600にケーブル13の他端をコネクタ19に挿入させる挿入動作を行わせる。その際、コネクタ19が固定された基板17が、ケーブル13の周辺にある障害物となる。
The
図10は、本発明の第2実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図10に示す各工程を実行する。
FIG. 10 is a flowchart showing each step of the flexible object state calculation method according to the second embodiment of the present invention. Here, the
図10に示すフローチャートは、図9のようにロボットハンド602に把持された線条弾性体であるケーブル13が障害物である基板17に干渉しているか否かを判断する手順を示す。
The flowchart shown in FIG. 10 shows a procedure for determining whether or not the
なお、軌道データに従ってロボット600を動作させると、ロボット600の先端の位置及び姿勢、即ちロボット600の各関節J1〜J6の角度は動作時刻毎に変化することが考えられる。第2実施形態では、ロボット600が静止している、又はある動作時刻のロボット600の動作状態で、ケーブル13が障害物である基板17に干渉しているか否かを判断する手順を示す。
Note that when the
第2実施形態では、計算装置200は、3次元モデルを用い、干渉確認が可能なシミュレーション装置を想定しており、干渉が発生した場合は、図2に示す表示装置302の画面に3次元モデルを表示する機能があるものとする。
In the second embodiment, the
まず、計算装置200のCPU201は、ケーブル13のモデルが設定される仮想3次元空間の座標基準で、障害物の位置及び形状を設定する(S11:障害物設定工程)。第2実施形態では、基板17を障害物とし、基板17の形状及び位置を設定する。
First, the
次に、CPU201は、ケーブル13が障害物に干渉する可能性のある干渉領域を設定する(S12)。干渉領域は、ステップS11で設定した基板17の位置及び形状に基づいて設定する。
Next, the
次に、CPU201は、ケーブル13の物性値の設定を行う(S13:設定工程)。ケーブル13の物性値とは、ケーブル13の形状、拘束力及び拘束トルクの計算に必要な物性値であるケーブル13の全長、ヤング率、ポワソン比、断面形状である幅、厚さ、断面捩りモーメントを決定する捩りの比例定数のことである。
Next, the
次に、CPU201は、ケーブル13の状態計算用のパラメータの設定を行う(S14:設定工程)。パラメータにはケーブル13の形状、拘束力及び拘束トルクの計算に必要な分割数n、拘束位置の許容誤差EP、拘束姿勢の許容誤差EO、初期条件としてケーブル13の拘束箇所12の位置及び姿勢を設定する。なお、これらステップS13,S14は、上記第1実施形態において説明した図3のステップS1で行ったものを、説明の都合上、別のステップとして分けて図示したものである。したがって、ステップS13,S14の設定動作を、ステップS1で行ってもよい。
Next, the
次に、CPU201は、ケーブル13の拘束箇所11,12間の形状の計算を行う(S15)。ケーブル13の形状の計算は、上記第1実施形態において図3を用いて説明した、線条弾性体3の形状、拘束力及び拘束トルクの計算方法を用いる。最終的にステップS5で求めた線条弾性体3の形状の計算結果を以下のステップで用いる。
Next, the
次に、CPU201は、干渉確認を行う(S16)。干渉確認は、ステップS15で計算した形状のケーブル13が、ステップS12で設定した干渉領域に侵入するか否かで確認する。なお、図10には、ケーブル13が干渉領域に侵入していることを条件とするフローチャートが図示されているが、ケーブル13が干渉領域に侵入しない場合には、そのまま終了する。
Next, the
次に、CPU201は、図3のステップS5による形状計算結果に基づき、ケーブル13が障害物である基板17と干渉するか否かを判断する(S17)。
Next, the
CPU201は、干渉ありと判断した場合(S17:Yes)、干渉していることを示す画像を、表示装置302に表示させるよう画像データを表示装置302に出力する。CPU201は、干渉なしと判断した場合(S17:No)は干渉確認を終了する。
When the
以上、第3実施形態では、ロボットハンド602がケーブル13のような柔軟物を把持した際に基板17のような障害物と干渉するか否かの判断を、上記第1実施形態のステップS5で求めた形状計算結果を用いて行う。これにより、ケーブル13が障害物に干渉するか否かの干渉判断を、迅速かつ正確に行うことができる。その結果、ロボット600をオフライン(シミュレーション)で教示するオフライン教示の作業性が向上する。
As described above, in the third embodiment, when the
[第3実施形態]
次に、本発明の第3実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図11は、本発明の第3実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ロボット装置の構成は、上記第2実施形態と同様であり、詳細な説明を省略する。
[Third Embodiment]
Next, a method for calculating the state of a flexible object by the calculation apparatus for the robot apparatus according to the third embodiment of the present invention will be described. FIG. 11 is a flowchart showing each step of the flexible object state calculation method according to the third embodiment of the present invention. The configuration of the robot apparatus is the same as that of the second embodiment, and detailed description thereof is omitted.
第3実施形態では、上記第2実施形態の干渉確認手順を基に、動的に形状及び拘束箇所12の位置及び姿勢が変化するケーブル13が、障害物である基板17に干渉するか否かを判断するまでに発展させたものである。
In the third embodiment, based on the interference confirmation procedure of the second embodiment, whether or not the
ロボット600が軌道データに従って動作した際に、ロボットハンド602が把持したケーブル13の拘束箇所12の位置及び姿勢が動的に変化することにより、ケーブル13の拘束箇所11と拘束箇所12との間の形状が動的に変化する。
When the
第3実施形態では、その際に障害物である基板17に、動的に形状が変化するケーブル13が干渉するか否かを判断する。
In the third embodiment, it is determined whether or not the
以下、図11に示すフローチャートに沿って詳細に説明する。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図11に示す各工程を実行する。なお、ケーブル13をロボットハンド602で把持した際の初期のケーブル13の拘束箇所12の位置及び姿勢、更にケーブル13の拘束箇所12の位置及び姿勢とロボット600との相対位置は予めわかっていることとする。
Hereinafter, it will be described in detail along the flowchart shown in FIG. Here, the
図11に示すステップS21〜S24は、上記第2実施形態で説明した図10のステップS11〜S14と同じであり、詳細な説明は省略する。 Steps S21 to S24 shown in FIG. 11 are the same as steps S11 to S14 of FIG. 10 described in the second embodiment, and detailed description thereof is omitted.
次に、CPU201は、ロボット600の軌道計算を行う(S25)。ロボット600の軌道は、上述したように、2つ以上の教示点を結ぶ際のロボット600に対する指令である。ロボット600の移動を開始する教示点と移動を終了する教示点を結ぶ際のロボット600の軌道の分割数は、ロボット600の制御周期と加速度、速度、トルク等によって変化する。
Next, the
次に、CPU201は、ロボット600の軌道に応じて移動するケーブル13の拘束箇所(手先)12の位置及び姿勢の計算を行う(S26)。即ち、CPU201は、拘束箇所12を仮想3次元空間内で仮想的に移動させることとなる(移動工程)。ロボット600の軌道におけるケーブル13の拘束箇所12の位置及び姿勢の計算は、ステップS25で求めたロボット600の軌道の開始点から終了点まで、軌道の分割数毎に実施する。
Next, the
次に、CPU201は、ケーブル13の初期形状の更新を行う(S27)。ケーブル13の初期形状の更新は、ステップS26で計算した軌道の分割数毎のケーブル13の拘束箇所12の位置及び姿勢から行う。
Next, the
次に、CPU201は、ケーブル13の拘束箇所11,12間の形状計算を行う(S28)。ケーブル13の形状の計算は、上記第1実施形態において図3を用いて説明した、線条弾性体3の形状、拘束力及び拘束トルクの計算方法を用いる。最終的にステップS5で求めた線条弾性体3の形状の計算結果を、以下のステップで用いる。この計算は、軌道の分割数毎に行う。
Next, the
次に、CPU201は、干渉確認を行う(S29)。干渉確認は、ステップS28で計算した形状のケーブル13が、ステップS22で設定した干渉領域に侵入するか否かで確認する。なお、図11には、ケーブル13が干渉領域に侵入していることを条件とするフローチャートが図示されているが、ケーブル13が干渉領域に侵入しない場合には、ステップS32の処理に移行する。
Next, the
次に、CPU201は、ステップS30の処理に移行するが、ステップS30,S31は、上記第2実施形態で説明した図10のステップS17,S18と同じ内容のため、説明を省略する。
Next, the
次に、CPU201は、ロボット600の軌道の終点か否かを確認する(S32)。CPU201は、終点でなければ(S32:No)、ステップS26に移行し、ロボット軌道の終点になるまで(S32:Yes)、ステップS26〜ステップS32を繰り返す。これにより、CPU201は、ステップS30の処理を、ステップS26において仮想3次元空間内で移動させた拘束箇所12の位置及び姿勢を算出する度に、即ち拘束箇所12を仮想3次元空間内で移動させる度に行う。
Next, the
CPU201は、ステップS32において、軌道の終点が確認された場合、干渉確認を終了する。そして、CPU201は、作業者の指示に従って又はプログラムに従って、干渉する軌道について修正する。このように、CPU201は、ケーブル13の状態に基づいてロボット600の軌道を生成する。このように生成された軌道のデータは、計算装置200から制御装置400に送信され、制御装置400にて設定される。そして、制御装置400は、製造工程において、設定した軌道に従ってロボット600の動作を制御する。
When the end point of the trajectory is confirmed in step S32, the
以上、第3実施形態によれば、ロボットハンド602で把持したケーブル13の拘束箇所12の位置又は姿勢がロボット600の移動により動的に変化した場合にも、干渉を判断することが可能となる。そして、ケーブル13が障害物に干渉するか否かの干渉判断を、迅速かつ正確に行うことができる。その結果、ロボット600をオフライン(シミュレーション)で教示するオフライン教示の作業性が向上する。
As described above, according to the third embodiment, it is possible to determine interference even when the position or posture of the
なお、第3実施形態では、干渉確認を実施するロボット600の軌道として、教示点(始点)から教示点(終点)までの軌道全区間としたが、任意の区間の軌道としてもよい。また、軌道の分割数に関しても任意の分割数でもよい。また、干渉の確認方法は、上記第1実施形態及び第2実施形態共に干渉確認が可能なシミュレーション装置内に組み込まれ、干渉領域と重なった線条弾性体を3次元データで画面表示することが望ましいが、干渉の有無を画面表示するのみでもよい。干渉が確認された場合、ロボット600の位置及び姿勢やロボットハンド602による拘束箇所12の変更、干渉回避のための教示点を作成してケーブル13が基板17と干渉することを回避することが可能となる。
In the third embodiment, the trajectory of the
[第4実施形態]
次に、本発明の第4実施形態に係るロボット装置の計算装置による柔軟物の状態計算方法について説明する。図12(a)は、本発明の第4実施形態において計算対象となる実装基板の斜視図であり、図12(b)は、本発明の第4実施形態において計算対象となる実装基板の上面図である。
[Fourth Embodiment]
Next, a flexible object state calculation method by the calculation apparatus of the robot apparatus according to the fourth embodiment of the present invention will be described. FIG. 12A is a perspective view of a mounting board to be calculated in the fourth embodiment of the present invention, and FIG. 12B is an upper surface of the mounting board to be calculated in the fourth embodiment of the present invention. FIG.
基板27の上には、フレキシブルフラットケーブル(以下、「ケーブル」という)が接続されるコネクタ25a,25bと、コンデンサ等の電子部品26a〜26cとがレイアウト(実装)されている。
On the
図12(a)に示すように、コネクタ25a,25bに接続されるケーブルの設計を行う際に、電子部品26a〜26cを避けて接続しなければならない場合、ケーブルの形状が複雑なものになる。そのため、設計したケーブルの形状において、コネクタ25a,25bからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルの長手方向の端部にかかっているか否かを判断する必要がある。
As shown in FIG. 12A, when designing cables to be connected to the
第4実施形態では、ケーブルのような線条弾性体を設計する際に、コネクタからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルの端にかかっているか否かを確認する。以下、ケーブルの形状を決定する設計支援手順について説明する。なお、第4実施形態においても、上記実施形態と同様、計算装置200(図2)を用いて行う。 In the fourth embodiment, when designing a linear elastic body such as a cable, whether or not the force or torque that pulls the cable from the connector or the force or torque that causes breakage of the cable is applied to the end of the cable. Confirm. A design support procedure for determining the shape of the cable will be described below. Note that, in the fourth embodiment as well, the calculation device 200 (FIG. 2) is used as in the above embodiment.
図13は、本発明の第4実施形態に係る柔軟物の状態計算方法の各工程を示すフローチャートである。ここで、図2に示す演算部としてのCPU201は、プログラム240を実行することにより、図13に示す各工程を実行する。
FIG. 13 is a flowchart showing each step of the flexible object state calculation method according to the fourth embodiment of the present invention. Here, the
CPU201は、コネクタ25a,25bの位置及び姿勢の設定を行う(S41:設定工程)。第4実施形態では、コネクタ25aが一方の拘束部であり、コネクタ25bが他方の拘束部である。コネクタ25aの位置及び姿勢が、ケーブルの一端(一方の拘束箇所)の位置及び姿勢、コネクタ25bの位置及び姿勢が、ケーブルの他端(他方の拘束箇所)の位置及び姿勢である。ケーブルの一端(一方の拘束箇所)が上記第1実施形態のベース1、ケーブルの他端(他方の拘束箇所)が上記第1実施形態の手先2に相当する。
The
次に、CPU201は、線条弾性体であるケーブルの物性値の設定を行う(S42:設定工程)。ケーブルの物性値は、ケーブルの形状、拘束力及び拘束トルクの計算に必要な物性値であるヤング率、ポワソン比、断面形状である幅、厚さ、断面捩りモーメントを決定する捩りの比例定数を設定する。 Next, CPU201 sets the physical-property value of the cable which is a linear elastic body (S42: setting process). The physical properties of the cable are the torsional proportionality constants that determine the shape of the cable, the binding force, the Young's modulus, Poisson's ratio, the cross-sectional width, thickness, and the torsional moment that are necessary to calculate the binding torque. Set.
次に、CPU201は、線条弾性体であるケーブルの状態(形状、拘束力及び拘束トルク)の計算用のパラメータの設定を行う(S43:設定工程)。パラメータには、ケーブルの形状、拘束力及び拘束トルクの計算に必要な分割数n、拘束位置の許容誤差EP、拘束姿勢の許容誤差EOを設定する。
Next, the
次に、CPU201は、ケーブルの端にかかる拘束力及び拘束トルクの上限値(負荷力及び負荷トルク)を設定する(S44:設定工程)。上限値はケーブルの接続不良が発生するコネクタからケーブルが抜けない力及びトルクや、ケーブルに断線が発生しない力及びトルクを設定するのが望ましい。
Next, the
次に、CPU201は、設計したケーブルの初期形状を設定する(S45:設定工程)。
Next, the
次に、CPU201は、ケーブルの拘束力及び拘束トルクの計算を行う(S46)。ケーブルの拘束力及び拘束トルクの計算方法は、上記第1実施形態で説明した線条弾性体3の形状、拘束力及び拘束トルクの計算方法とする。
Next, the
CPU201は、拘束力が、予め設定した負荷力(上限値)を超えるか否かを判断する(S47:拘束力判断工程)。CPU201は、ステップS47において、上限値を超えていると判断した場合(S47:Yes)、拘束力の計算結果を出力し(S48)、次のステップS49に移行する。出力先は、例えば図2に示す表示装置302であり、計算結果が表示装置302に表示される。CPU201は、ステップS47において、上限値を超えていないと判断した場合(S47:No)、そのまま次のステップS49に移行する。
The
CPU201は、拘束トルクが、予め設定した負荷トルク(上限値)を超えるか否かを判断する(S49:拘束トルク判断工程)。CPU201は、ステップS49において、上限値を超えていると判断した場合(S49:Yes)、拘束トルクの計算結果を出力して(S50)終了し、上限値を超えていないと判断した場合(S49:No)そのまま終了する。出力先は、例えば図2に示す表示装置302であり、計算結果が表示装置302に表示される。
The
ステップS47及びステップS49において、上限値を超えていない場合は、ケーブルの形状が決定する。 In step S47 and step S49, when the upper limit value is not exceeded, the shape of the cable is determined.
以上、第4実施形態によれば、コネクタからケーブルが抜ける力又はトルクや、ケーブルに断線が発生する力又はトルクが、ケーブルにかからないように、ケーブルの形状を設計することが可能となる。 As described above, according to the fourth embodiment, it is possible to design the shape of the cable so that the cable is not subjected to the force or torque that causes the cable to come out of the connector or the force or torque that causes the cable to break.
なお、第4実施形態では、拘束力、拘束トルクの上限値に対し、計算したケーブルの拘束力、拘束トルクが超えている場合、拘束力、拘束トルクの計算結果を出力したが、単純にOK、NGなど、ユーザが判断できる結果の出力のみでもよい。 In the fourth embodiment, when the calculated cable restraint force and restraint torque exceed the upper limit values of the restraint force and restraint torque, the calculation result of the restraint force and restraint torque is output, but it is simply OK. , NG, etc., only the output of the result that the user can judge may be used.
また、第4実施形態では、コネクタの位置及び姿勢を固定してケーブルの形状を決定する設計支援方法を提供しているが、これに限定するものではない。図13のステップS41のコネクタの位置及び姿勢の設定を変更し、図13のステップS45において、ケーブルの形状を固定し、コネクタの配置を決定する設計支援方法としてもよい。 In the fourth embodiment, a design support method for fixing the position and orientation of the connector and determining the shape of the cable is provided. However, the present invention is not limited to this. The setting of the position and orientation of the connector in step S41 in FIG. 13 may be changed, and in step S45 in FIG.
また、第4実施形態では、図13に示すステップS47,S49において、上限値を超えている場合に図13に示すステップS48,S50において、拘束力、拘束トルクの計算結果を出力することでケーブルの設計者がケーブルの設計変更することができる。しかし、線条弾性体の端にかかる拘束力、拘束トルクの上限を超えた場合に、ケーブルの設計変更ではなく、コネクタの再選定やコネクタの仕様変更をしてもよい。 In the fourth embodiment, when the upper limit value is exceeded in steps S47 and S49 shown in FIG. 13, the calculation result of the binding force and the binding torque is output in steps S48 and S50 shown in FIG. The designer of the cable can change the design of the cable. However, when the upper limit of the binding force and the binding torque applied to the end of the linear elastic body is exceeded, the selection of the connector or the specification of the connector may be changed instead of the cable design change.
また、第4実施形態では、コネクタの位置及び姿勢を固定してケーブルの形状を決定する設計支援方法を提供した。しかし、一方の拘束部をロボットハンドとすることで、ロボットの動作により他方の拘束部であるコネクタからケーブルが抜ける力や、ケーブルに断線が発生する力がかかっていないことを確認することも可能となる。その方法として、まず、図13のステップS45のケーブルの形状を固定する。次に、ステップS41のコネクタ位置姿勢設定の内、片方を第3実施形態の図9のようにケーブル13の片方をロボットハンド602で把持する。次に、ロボット600が動作した際のケーブル13の動的に変化する手先位置及び姿勢と置き換える。それにより、ロボットの動作によりコネクタからケーブルが抜ける力や、ケーブルに断線が発生する力がかかっていないことを確認することが可能となる。
In the fourth embodiment, a design support method for fixing the position and orientation of the connector and determining the shape of the cable is provided. However, by making one restraint part a robot hand, it is also possible to confirm that there is no force that pulls out the cable from the connector that is the other restraint part due to the operation of the robot or that the cable is broken. It becomes. As the method, first, the shape of the cable in step S45 in FIG. 13 is fixed. Next, one of the
第1〜第4実施形態では、フレキシブルフラットケーブルを含め、断面形状が長方形のものを線条弾性体としたが、断面形状は三角形以上の多角形、円や楕円のような丸い形状のワイヤーや管、ゴムチューブ等であってもよい。また、線条弾性体が、束線のような複数の線から構成されていてもよい。 In 1st-4th embodiment, although the cross-sectional shape was made into the linear elastic body including a flexible flat cable, the cross-sectional shape is a polygon more than a triangle, a round wire like a circle and an ellipse, A tube, a rubber tube, etc. may be sufficient. Moreover, the filament elastic body may be comprised from the some line | wire like a bundle line.
また、第2〜第4実施形態では、ケーブルの初期形状は直線を想定しているが、L字やN字のように、途中部位が曲がった形状、Y字、E字のように2股以上に分かれた形状であってもよい。 Further, in the second to fourth embodiments, the initial shape of the cable is assumed to be a straight line, but a halfway portion such as an L shape or an N shape, a Y shape, or an E shape is bent. The shape divided above may be sufficient.
また、第2〜第4実施形態では、ベースの位置及び姿勢を固定とした。図14(a)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す斜視図である。図14(b)は、変形例として、ロボット装置による製造作業を説明するためのロボットハンド近傍を示す正面図である。 In the second to fourth embodiments, the position and posture of the base are fixed. FIG. 14A is a perspective view showing the vicinity of a robot hand for explaining a manufacturing operation by the robot apparatus as a modified example. FIG. 14B is a front view showing the vicinity of the robot hand for explaining the manufacturing operation by the robot apparatus as a modified example.
図14(a)及び図14(b)のように、ケーブル13の一端がコネクタ16に拘束され、更に、ケーブル13の途中の箇所が、固定部位58で固定されている。固定部位58により拘束される箇所を、ベース及び手先のうち一方とし、ケーブル13の一端又は他端を、ベース及び手先のうち他方として、線条弾性体の形状、拘束力、拘束トルクを求めてもよい。つまり、拘束される箇所は、線条弾性体の両端に限るものではなく、長手方向の任意の2箇所が拘束されればよい。この場合、2箇所の間の形状を求め、2箇所の一方に対して他方に働く拘束力及び拘束トルクを求めればよい。
As shown in FIGS. 14A and 14B, one end of the
また、固定部位58が複数になり、フレキシブルフラットケーブルが順次固定されることでベース又は手先の位置及び姿勢を、固定部位間や固定部位とケーブルの端部等に変更させて線条弾性体の形状、拘束力及び拘束トルクを求めてもよい。つまり、拘束される箇所が3つ以上あってもよく、隣接する2つの拘束箇所の間の形状、2つの拘束箇所のうち他方の拘束箇所の拘束力及び拘束トルクを求めればよい。
In addition, there are a plurality of fixing
また、第2〜第4実施形態では、計算装置200が、ロボット制御部である制御装置400とは別のロボット軌道生成装置である場合について説明したが、これに限定するものではない。制御装置400が計算装置200の機能を有する場合であってもよい。この場合、制御装置400の演算部(CPU)が、第2〜第4実施形態で説明した演算処理を行う。
In the second to fourth embodiments, the case where the
以上、本発明は、例えばケーブルやワイヤーハーネスの設計支援、ロボットによる柔軟物マニピュレーションにおける軌道計画支援、弾性受動関節の設計支援、閉ループ弾性体に基づく瞬発力発生機構の設計支援、カテーテルの設計支援等に適用可能である。 As described above, the present invention includes, for example, design support for cables and wire harnesses, support for trajectory planning in flexible object manipulation by robots, design support for elastic passive joints, design support for instantaneous force generation mechanisms based on closed-loop elastic bodies, design support for catheters, etc. It is applicable to.
なお、本発明は、以上説明した実施形態に限定されるものではなく、本発明の技術的思想内で多くの変形が可能である。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されない。 The present invention is not limited to the embodiment described above, and many modifications are possible within the technical idea of the present invention. In addition, the effects described in the embodiments of the present invention only list the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments of the present invention.
[その他の実施形態]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
[Other Embodiments]
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
1…ベース(一方の拘束箇所)、2…手先(他方の拘束箇所)、3…線条弾性体(柔軟物)、41〜4n…バネ関節、51〜5n…リンク、200…計算装置、201…CPU(演算部)
DESCRIPTION OF
Claims (11)
前記演算部が、前記柔軟物を仮想3次元空間内で複数のバネ関節及び複数のリンクでモデル化し、前記仮想3次元空間内における前記他方の拘束箇所の目標位置、前記他方の拘束箇所の目標姿勢、前記目標位置に対して許容する位置ずれ量を示す位置許容誤差、前記目標姿勢に対して許容する姿勢ずれ量を示す姿勢許容誤差、前記拘束力の初期値、及び前記拘束トルクの初期値を設定する設定工程と、
前記演算部が、前記拘束力及び前記拘束トルクに基づいて、前記バネ関節の角度、前記リンクの姿勢、及び前記バネ関節の位置を、前記一方の拘束箇所から前記他方の拘束箇所に向かって順次計算することで、前記柔軟物の前記2つの拘束箇所の間の形状を求める形状計算工程と、
前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の位置の前記目標位置に対する位置誤差が、前記位置許容誤差以下であるか否かを判断する位置判断工程と、
前記演算部が、前記位置判断工程にて前記位置誤差が前記位置許容誤差を上回っていると判断した場合、前記拘束力を更新する拘束力更新工程と、
前記演算部が、前記形状計算工程により求めた形状計算結果に基づく前記他方の拘束箇所の前記目標姿勢に対する姿勢誤差が、前記姿勢許容誤差以下であるか否かを判断する姿勢判断工程と、
前記演算部が、前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差を上回っていると判断した場合、前記拘束トルクを更新する拘束トルク更新工程と、を備え、
前記演算部は、前記位置判断工程にて前記位置誤差が前記位置許容誤差以下と判断するまで、前記拘束力更新工程、前記形状計算工程及び前記位置判断工程を繰り返し、且つ前記姿勢判断工程にて前記姿勢誤差が前記姿勢許容誤差以下と判断するまで、前記拘束トルク更新工程、前記形状計算工程及び前記姿勢判断工程を繰り返し、
前記拘束トルク更新工程では、前記演算部が、前記姿勢誤差に比例する値を用いて、前記拘束トルクを更新し、
前記拘束力更新工程では、前記演算部が、前記位置誤差を前記拘束トルクのベクトル方向の軸まわりに回転変換した値に比例する値を用いて、前記拘束力を更新することを特徴とする柔軟物の状態計算方法。 For the flexible object whose position and posture are constrained by at least two constraining units, one of the at least two constraining units and the shape between the two constrained regions and one of the two constrained regions A state calculation method of a flexible object for calculating a restraining force and a restraining torque generated in the other restraint location among the two restraint locations when the position and posture of the restraint location are fixed,
The arithmetic unit models the flexible object with a plurality of spring joints and a plurality of links in a virtual three-dimensional space, and a target position of the other restraint location in the virtual three-dimensional space, a target of the other restraint location Posture, position allowable error indicating the amount of positional deviation allowed for the target position, posture allowable error indicating the amount of positional deviation allowed for the target posture, initial value of the binding force, and initial value of the binding torque A setting process for setting
Based on the restraining force and the restraining torque, the calculation unit sequentially changes the angle of the spring joint, the posture of the link, and the position of the spring joint from the one restraint location to the other restraint location. By calculating, a shape calculation step for obtaining a shape between the two restrained points of the flexible object,
A position determination step for determining whether or not a position error of the position of the other constrained location based on the shape calculation result obtained by the shape calculation step with respect to the target position is equal to or less than the position allowable error; ,
A binding force update step of updating the binding force when the calculation unit determines that the position error exceeds the position allowable error in the position determination step;
A posture determination step of determining whether or not a posture error with respect to the target posture of the other constraint location based on a shape calculation result obtained by the shape calculation step is less than or equal to the posture tolerance error;
A binding torque update step of updating the binding torque when the calculation unit determines that the posture error exceeds the posture tolerance in the posture determination step;
The calculation unit repeats the binding force update step, the shape calculation step, and the position determination step until the position error is determined to be equal to or less than the position allowable error in the position determination step, and the posture determination step. Until the posture error is determined to be equal to or less than the posture allowable error, the constraint torque update step, the shape calculation step, and the posture determination step are repeated,
In the restraint torque update step, the calculation unit updates the restraint torque using a value proportional to the posture error,
In the constraint force update step, the calculation unit updates the constraint force using a value proportional to a value obtained by rotationally converting the position error about an axis in the vector direction of the constraint torque. How to calculate the state of an object.
前記拘束力更新工程では、前記演算部が、
前記拘束トルク更新工程では、前記演算部が、
In the binding force update step, the calculation unit
In the restraint torque update step, the calculation unit
前記演算部が、前記形状計算工程による形状計算結果に基づき、前記柔軟物が前記障害物と干渉するか否かを判断する干渉判断工程と、を更に備えたことを特徴とする請求項1乃至3のいずれか1項に記載の柔軟物の状態計算方法。 An obstacle setting step in which the computing unit sets an obstacle around the flexible object in the virtual three-dimensional space;
The said calculating part is further provided with the interference determination process of determining whether the said flexible object interferes with the said obstruction based on the shape calculation result by the said shape calculation process. 4. The method for calculating a state of a flexible object according to any one of 3 above.
前記干渉判断工程は、前記演算部が、前記移動工程で前記他方の拘束箇所を前記仮想3次元空間内で移動させる度に行うことを特徴とする請求項4に記載の柔軟物の状態計算方法。 The calculation unit further includes a moving step of virtually moving the other restraint location in the virtual three-dimensional space,
5. The flexible object state calculation method according to claim 4, wherein the interference determination step is performed each time the calculation unit moves the other restrained portion in the virtual three-dimensional space in the movement step. .
前記演算部は、柔軟物の2つの拘束箇所のうち一方の拘束箇所がロボットハンド以外の拘束部に拘束され、他方の拘束箇所が前記ロボットハンドに拘束されるものとして、請求項1乃至7のいずれか1項に記載の柔軟物の状態計算方法の各工程を実行して柔軟物の状態を求め、求めた柔軟物の状態に基づいてロボットの軌道を生成することを特徴とするロボット軌道生成装置。 It has an arithmetic unit that calculates the state of flexible objects,
8. The calculation unit according to claim 1, wherein one of the two restraints of the flexible object is restrained by a restraint other than the robot hand, and the other restraint is restrained by the robot hand. Robot trajectory generation, characterized in that each step of the flexible object state calculation method according to any one of the above items is executed to determine the state of the flexible object, and the robot trajectory is generated based on the determined state of the flexible object. apparatus.
前記ロボットの動作を制御するロボット制御部と、を備え、
前記ロボット制御部は、柔軟物の状態を計算する演算部を有し、
前記演算部は、柔軟物の2つの拘束箇所のうち一方の拘束箇所が前記ロボットハンド以外の拘束部に拘束され、他方の拘束箇所が前記ロボットハンドに拘束されるものとして、請求項1乃至7のいずれか1項に記載の柔軟物の状態計算方法の各工程を実行して柔軟物の状態を求め、
前記ロボット制御部は、前記ロボットハンドに柔軟物の他方の拘束箇所を拘束させた状態で、求めた柔軟物の状態に基づき生成された前記ロボットの軌道に従って前記ロボットの動作を制御することを特徴とするロボット装置。 A robot having a robot hand;
A robot control unit for controlling the operation of the robot,
The robot control unit has a calculation unit for calculating the state of a flexible object,
The calculation unit is configured such that one of the two restrained locations of the flexible object is restrained by a restraining portion other than the robot hand, and the other restraint location is restrained by the robot hand. Execute the respective steps of the flexible object state calculation method according to any one of the above to obtain the state of the flexible object,
The robot control unit controls the operation of the robot according to a trajectory of the robot generated based on the determined state of the flexible object in a state where the robot hand restrains the other restraint portion of the flexible object. A robot device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015006953A JP6465289B2 (en) | 2015-01-16 | 2015-01-16 | Flexible object state calculation method, robot trajectory generation device, robot device, program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015006953A JP6465289B2 (en) | 2015-01-16 | 2015-01-16 | Flexible object state calculation method, robot trajectory generation device, robot device, program, and recording medium |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016133902A true JP2016133902A (en) | 2016-07-25 |
JP6465289B2 JP6465289B2 (en) | 2019-02-06 |
Family
ID=56426267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015006953A Active JP6465289B2 (en) | 2015-01-16 | 2015-01-16 | Flexible object state calculation method, robot trajectory generation device, robot device, program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6465289B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020042406A (en) * | 2018-09-07 | 2020-03-19 | 国立大学法人 筑波大学 | Arithmetic unit and program |
CN111283660A (en) * | 2018-12-07 | 2020-06-16 | 精工爱普生株式会社 | Robot system and connection method |
JP2021091012A (en) * | 2019-12-06 | 2021-06-17 | キヤノン株式会社 | Information processing method, method for controlling robot device, robot system, method for manufacturing article, and information processing device |
CN114077794A (en) * | 2021-11-23 | 2022-02-22 | 北京邮电大学 | Flexible body feedback force and deformation calculation method in virtual reality |
-
2015
- 2015-01-16 JP JP2015006953A patent/JP6465289B2/en active Active
Non-Patent Citations (1)
Title |
---|
▲高▼須亮輔: "閉ループ弾性体の形状計算アルゴリズム", 日本ロボット学会誌, vol. 第32巻 第4号, JPN6018045945, 15 May 2014 (2014-05-15), JP, pages 365 - 371, ISSN: 0003924487 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020042406A (en) * | 2018-09-07 | 2020-03-19 | 国立大学法人 筑波大学 | Arithmetic unit and program |
JP7109075B2 (en) | 2018-09-07 | 2022-07-29 | 国立大学法人 筑波大学 | Arithmetic device and program |
CN111283660A (en) * | 2018-12-07 | 2020-06-16 | 精工爱普生株式会社 | Robot system and connection method |
TWI701116B (en) * | 2018-12-07 | 2020-08-11 | 日商精工愛普生股份有限公司 | Robot system and connection method |
JP2021091012A (en) * | 2019-12-06 | 2021-06-17 | キヤノン株式会社 | Information processing method, method for controlling robot device, robot system, method for manufacturing article, and information processing device |
JP7508218B2 (en) | 2019-12-06 | 2024-07-01 | キヤノン株式会社 | Information processing method, robot, article manufacturing method, and information processing device |
CN114077794A (en) * | 2021-11-23 | 2022-02-22 | 北京邮电大学 | Flexible body feedback force and deformation calculation method in virtual reality |
Also Published As
Publication number | Publication date |
---|---|
JP6465289B2 (en) | 2019-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6921602B2 (en) | Continuum robot control system, its control method, and program | |
JP6924145B2 (en) | Robot teaching method and robot arm control device | |
JP6465289B2 (en) | Flexible object state calculation method, robot trajectory generation device, robot device, program, and recording medium | |
US20140031982A1 (en) | Robotic system and robot control device | |
JP6739954B2 (en) | Robot device, article manufacturing method, and control method | |
JP2013132731A (en) | Robot control system, robot system and robot control method | |
CN103459101B (en) | Method and system for manipulator joint-limit handling algorithm | |
EP3978203A1 (en) | Singularity-free kinematic parameterization of soft robot manipulators | |
JP5173958B2 (en) | Moving body posture generation method and moving body posture generation apparatus | |
KR101086361B1 (en) | robot pose controlling method and apparatus thereof | |
Mochiyama | Model validation of discretized spatial closed elastica | |
JP2017024142A (en) | Robot control device for compensating for elastic deformation of support medium | |
WO2022137581A1 (en) | Simulation device and simulation program | |
JP6112947B2 (en) | Robot apparatus, robot control method, program, and recording medium | |
JP2008200763A (en) | Control device for manipulator for working | |
JP6862849B2 (en) | Arithmetic logic units, arithmetic methods, arithmetic programs and robot systems | |
WO2020149020A1 (en) | Robot control device, robot control method, and robot control program | |
TWI781708B (en) | Learning apparatus, learning method, learning program, control apparatus, control method, and control program | |
Bhalkikar et al. | Kinematic models for Cable-driven Continuum Robots with multiple segments and varying cable offsets | |
WO2021149419A1 (en) | Simulation device, and simulation program | |
WO2017026045A1 (en) | Hand-force measurement device, hand-force measurement method, and hand-force measurement program | |
JP7556283B2 (en) | Simulation device and simulation program | |
JP2020179440A (en) | Display method | |
JP4647919B2 (en) | Control method and control apparatus | |
JP7525146B2 (en) | Robots and robot control programs |
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 |