JP2024035977A - Offline teaching method for articulated robot, program, articulated robot, and information processing device - Google Patents
Offline teaching method for articulated robot, program, articulated robot, and information processing device Download PDFInfo
- Publication number
- JP2024035977A JP2024035977A JP2022140645A JP2022140645A JP2024035977A JP 2024035977 A JP2024035977 A JP 2024035977A JP 2022140645 A JP2022140645 A JP 2022140645A JP 2022140645 A JP2022140645 A JP 2022140645A JP 2024035977 A JP2024035977 A JP 2024035977A
- Authority
- JP
- Japan
- Prior art keywords
- joint
- posture
- model
- angle
- range
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000010365 information processing Effects 0.000 title claims description 20
- 230000036544 posture Effects 0.000 claims abstract description 129
- 239000011159 matrix material Substances 0.000 claims abstract description 53
- 230000007704 transition Effects 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 abstract description 39
- 238000004088 simulation Methods 0.000 description 24
- 239000010410 layer Substances 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 210000000707 wrist Anatomy 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 210000002569 neuron Anatomy 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 238000012360 testing method Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 238000012795 verification Methods 0.000 description 7
- 239000012636 effector Substances 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 5
- 210000001503 joint Anatomy 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000005452 bending Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】多関節ロボットの意図しない挙動を効率よく抑制することが可能なオフラインティーチング方法を提供する。【解決手段】多関節ロボットのオフラインティーチング方法は、多関節ロボットの仮想化モデルが取り得る姿勢のうち、仮想化モデルの特異点と特異点近傍とを含む範囲を、シミュレータが決定するステップと、シミュレータが、仮想化モデルにおける各関節の角度を制御することにより、仮想化モデルの姿勢を第1の姿勢から第2の姿勢へと遷移させるステップとを備える。仮想化モデルの姿勢を第1の姿勢から第2の姿勢に遷移させるステップでは、仮想化モデルの姿勢が範囲外のときには、シミュレータは、ヤコビ行列を用いて各関節の角度を算出し、仮想化モデルの姿勢が範囲内のときには、シミュレータは、予め生成された学習済みモデルを用いて各関節の角度を算出する。【選択図】図22The present invention provides an offline teaching method that can efficiently suppress unintended behavior of an articulated robot. [Solution] An offline teaching method for an articulated robot includes a step in which a simulator determines a range including a singular point and a vicinity of the singular point of the virtualized model among postures that a virtualized model of the articulated robot can take; The simulator controls the angle of each joint in the virtualized model to transition the posture of the virtualized model from the first posture to the second posture. In the step of transitioning the posture of the virtualized model from the first posture to the second posture, if the posture of the virtualized model is outside the range, the simulator calculates the angle of each joint using the Jacobian matrix, and transitions the virtualized model from the first posture to the second posture. When the posture of the model is within the range, the simulator calculates the angle of each joint using a learned model generated in advance. [Selection diagram] Figure 22
Description
本開示は、多関節ロボットのオフラインティーチング方法、プログラム、多関節ロボット、および、情報処理装置に関する。 The present disclosure relates to an offline teaching method and program for an articulated robot, an articulated robot, and an information processing device.
従来、産業用ロボットとして多関節ロボットが知られている。このような多関節ロボットを生産ライン等で使用する場合、多関節ロボットに所望の動作を行わせるために、事前に多関節ロボットに対してティーチングを行う必要がある。 Conventionally, articulated robots have been known as industrial robots. When such an articulated robot is used on a production line or the like, it is necessary to teach the articulated robot in advance in order to make the articulated robot perform a desired operation.
このようなティーチングの手法として、オンラインティーチングと、オフラインティーチングとが知られている。オンラインティーチングは、ティーチングペンダントを用いて、現場でロボットに直接ティーチングを行う手法である。オフラインティーチングは、コンピュータ上でティーチングデータを生成し、かつ当該ティーチングデータをロボットへ送信することにより、当該ロボットに対してティーチングを行う手法である。前者のオンラインティーチングは、生産ラインを停止させた状態で、専門的な教育を受けた作業員が行う必要がある。このため、近年、後者のオフラインティーチングが積極的に活用されている。 Online teaching and offline teaching are known as such teaching methods. Online teaching is a method of directly teaching a robot on site using a teaching pendant. Offline teaching is a method of teaching a robot by generating teaching data on a computer and transmitting the teaching data to the robot. The former type of online teaching needs to be performed by workers who have received specialized training while the production line is stopped. For this reason, the latter type of offline teaching has been actively utilized in recent years.
オフラインティーチングを行う際に、多関節ロボット姿勢(マニピュレータ手先の位置および姿勢)から各関節の変位を求める必要がある。このような運動学は、「逆運動学」と称される。逆運動学の解法として、局所的に線形な関係を作って各関節の変位を求めるヤコビ法が知られている。ヤコビ法では、局所的な線形空間で逆問題を解き、次の局所的な線形空間で逆問題を解くといったことが繰り返される。その際、制御したい変数の微分(マニピュレータ手先の位置および姿勢の微分)をどれだけ小さくしたとしても、制御する変数(当該リンクを移動させる関節の変位)が発散してしまうことが起こる。このようなロボットの姿勢は、「特異点」と称されている。特異点は、ロボットの構造上、制御できなくなる姿勢である。なお、マニピュレータ手先とは、エンドエフェクタの部分を指す。 When performing offline teaching, it is necessary to find the displacement of each joint from the multi-joint robot posture (position and posture of the manipulator hand). Such kinematics is called "inverse kinematics." As a solution method for inverse kinematics, the Jacobi method is known, which calculates the displacement of each joint by creating a locally linear relationship. The Jacobi method repeatedly solves an inverse problem in a local linear space, then solves the inverse problem in the next local linear space. In this case, no matter how small the differential of the variable to be controlled (the differential of the position and posture of the manipulator hand) is made, the variable to be controlled (the displacement of the joint that moves the link) may diverge. This posture of the robot is called a "singularity." A singularity is a posture that cannot be controlled due to the robot's structure. Note that the manipulator hand refers to the end effector part.
特開2006-227724号公報(特許文献1)には、位置指令と関節データと特異点領域情報とに基づいてロボットが特異点領域に進入したか否かを判定する進入判断部と、進入判断部の判定結果に基づいて起動され、特異点領域に進入したロボットが特異点領域を通過する際の位置指令を生成出力する特異点通過位置指令生成部を具備する特異点通過位置生成部とを備えたロボットの制御装置が開示されている([要約])。 Japanese Unexamined Patent Publication No. 2006-227724 (Patent Document 1) discloses an entry determination unit that determines whether a robot has entered a singularity region based on a position command, joint data, and singularity region information; a singularity passing position command generation section that is activated based on the determination result of the section and generates and outputs a position command for the robot that has entered the singularity region to pass through the singularity region; A robot control device equipped with the following is disclosed ([Abstract]).
また、日本工業規格(JIS)のB8439-1992(特許文献2)には、ロボットの手首部分の形態として、FLIPと、NONFLIP(FLIPの形態から、手首部の姿勢を変えずに、腕を腕の軸回りに180°回転させた形態)といったフラグが定義されている。 In addition, Japanese Industrial Standards (JIS) B8439-1992 (Patent Document 2) describes the forms of the robot's wrist as FLIP and NONFLIP (from the form of FLIP, the arm can be extended without changing the posture of the wrist). A flag such as 180° rotation around the axis is defined.
上述した特許文献1の制御装置は、ロボットに対して手首部分の動作を指令する際に、FLIPと、NONFLIPとの何れかを指定する。具体的には、当該制御装置は、常時、FLIPの姿勢とNONFLIPの姿勢とを計算し、参照位置との差が小さい方を採用する。参照位置は、始点から終点を関節補間したときの角度である。具体的には、参照位置は、特異点領域の進入側の関節データと、退出側の関節データと、補間周期とに基づき算出される。
The control device of
また、近年、様々な分野で、ニューラルネットワークを有する学習済みモデルを用いた演算処理がなされている。たとえば、特開平6-339884号公報(特許文献3)には、ニューラルネットワークによるマニピュレータの逆運動学モデルの学習方法が開示されている。 Furthermore, in recent years, arithmetic processing using trained models having neural networks has been performed in various fields. For example, Japanese Patent Laid-Open No. 6-339884 (Patent Document 3) discloses a method for learning an inverse kinematics model of a manipulator using a neural network.
詳しくは、特許文献3では、マニピュレータの手先の位置と姿勢pとからマニピュレータの各関節角度θへの関数fと三角関数(正弦、余弦)との合成関数でありかつ不連続な領域のない関数としてg1=sin(f(p))=sinθおよびg2=cos(f(p))=cosθを考えて、マニピュレータの手先の位置と姿勢pを入力としてsinθとcosθとを出力とするようなニューラルネットワークによって、逆キネマティクスモデルの学習を行なう([要約])。このような構成により、学習しようとする逆キネマティクスモデルの入力pと出力θとの関数fに不連続な領域があっても、マニピュレータの作業領域を分割することなく、作業領域全体の関数fを一つのニューラルネットワークで学習可能としている([要約])。
Specifically,
特異姿勢を通過するためにはロボットの姿勢を一意に決定する必要がある。このため、特許文献1では、手首特異姿勢を通過する場合には、FLIPの姿勢(1つ目の解)とNONFLIPの姿勢(2つ目の解)との各々において参照位置(基準の関節角度)との差を算出し、かつ、算出結果に基づいてFLIPの姿勢とNONFLIPの姿勢とのうちの何れかを選択する必要がある。また、特許文献1では、手首特異姿勢以外の特異姿勢(肩特異姿勢、肘特異姿勢)には対応できない。
In order to pass through a singular posture, it is necessary to uniquely determine the robot's posture. Therefore, in
特許文献3では、「(x,y)から各関節角度の正弦および余弦である(sinθ1,cosθ1,sinθ2,cosθ2)への関数には不連続な領域はない(特異点は除く)ので、ニューラルネットワークに学習させることが可能である。」との開示があるように、特異点およびその近傍を学習対象とはしていない。
本開示は、特異点およびその近傍において、多関節ロボットの意図しない挙動(暴走、停止等)を効率よく抑制することが可能なオフラインティーチング方法、プログラム、多関節ロボット、および、情報処理装置を提供することにある。 The present disclosure provides an offline teaching method, a program, an articulated robot, and an information processing device that can efficiently suppress unintended behavior (runaway, stop, etc.) of an articulated robot at a singular point and its vicinity. It's about doing.
本開示のある局面に従うと、シミュレータを用いた多関節ロボットのオフラインティーチング方法は、多関節ロボットの仮想化モデルが取り得る姿勢のうち、仮想化モデルの特異点と特異点近傍とを含む範囲を、シミュレータが決定するステップと、シミュレータが、仮想化モデルにおける各関節の角度を制御することにより、仮想化モデルの姿勢を第1の姿勢から第2の姿勢へと遷移させるステップとを備える。仮想化モデルの姿勢を第1の姿勢から第2の姿勢に遷移させるステップでは、仮想化モデルの姿勢が範囲外のときには、シミュレータは、ヤコビ行列を用いて各関節の角度を算出し、仮想化モデルの姿勢が範囲内のときには、シミュレータは、予め生成された学習済みモデルを用いて各関節の角度を算出する。 According to an aspect of the present disclosure, an offline teaching method for an articulated robot using a simulator includes a range of postures that include a singular point of the virtualized model and a vicinity of the singularity among postures that a virtualized model of the articulated robot can take. , a step in which the simulator determines, and a step in which the simulator transitions the posture of the virtualized model from a first posture to a second posture by controlling the angle of each joint in the virtualized model. In the step of transitioning the posture of the virtualized model from the first posture to the second posture, if the posture of the virtualized model is outside the range, the simulator calculates the angle of each joint using the Jacobian matrix, and transitions the virtualized model from the first posture to the second posture. When the posture of the model is within the range, the simulator calculates the angle of each joint using a learned model generated in advance.
本開示の他の局面に従うと、プログラムは、コンピュータに、上記多関節ロボットのオフラインティーチング方法を実行させる。 According to another aspect of the present disclosure, a program causes a computer to execute the offline teaching method for an articulated robot.
本開示のさらに他の局面に従うと、多関節ロボットは、多関節ロボットのオフラインティーチング方法によって生成されたオフラインティーチングデータに基づいて動作する。 According to yet another aspect of the present disclosure, the articulated robot operates based on offline teaching data generated by the offline teaching method for an articulated robot.
本開示のさらに他の局面に従うと、情報処理装置は、プロセッサと、多関節ロボットのシミュレーションプログラムが格納されたメモリとを備える。プロセッサは、シミュレーションプログラムを実行することにより、多関節ロボットの仮想化モデルが取り得る姿勢のうち、仮想化モデルの特異点と特異点近傍とを含む範囲を決定し、仮想化モデルにおける各関節の角度を制御することにより、仮想化モデルの姿勢を第1の姿勢から第2の姿勢へと遷移させる。プロセッサは、仮想化モデルの姿勢を第1の姿勢から第2の姿勢に遷移させる際に、仮想化モデルの姿勢が範囲外のときには、ヤコビ行列を用いて各関節の角度を算出し、仮想化モデルの姿勢が範囲内のときには、予め生成された学習済みモデルを用いて各関節の角度を算出する。 According to yet another aspect of the present disclosure, an information processing device includes a processor and a memory in which a simulation program for an articulated robot is stored. By executing the simulation program, the processor determines the range including the singular point of the virtual model and the vicinity of the singular point among the postures that the virtual model of the articulated robot can take, and determines the range of postures that the virtual model of the articulated robot can take, and By controlling the angle, the posture of the virtualized model is transitioned from the first posture to the second posture. When transitioning the posture of the virtualized model from the first posture to the second posture, if the posture of the virtualized model is outside the range, the processor calculates the angle of each joint using the Jacobian matrix, and transitions the virtualized model from the first posture to the second posture. When the posture of the model is within the range, the angle of each joint is calculated using a learned model generated in advance.
本開示によれば、特異点およびその近傍において、多関節ロボットの意図しない挙動を効率よく抑制可能となる。 According to the present disclosure, it is possible to efficiently suppress unintended behavior of an articulated robot at a singular point and in the vicinity thereof.
以下、図面を参照しつつ、本発明の実施の形態に係るオフラインティーチング用システムについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。 DESCRIPTION OF THE PREFERRED EMBODIMENTS An offline teaching system according to an embodiment of the present invention will be described below with reference to the drawings. In the following description, the same parts are given the same reference numerals. Their names and functions are also the same. Therefore, detailed descriptions thereof will not be repeated.
<A.システム構成>
図1は、オフラインティーチング用システムの概略構成を示した図である。図1に示されるように、オフラインティーチング用システム1は、情報処理装置10と、ロボットシステム20とを備える。
<A. System configuration>
FIG. 1 is a diagram showing a schematic configuration of an offline teaching system. As shown in FIG. 1, the
情報処理装置10は、シミュレータとして機能する。情報処理装置10は、典型的には、汎用のコンピュータである。情報処理装置10は、プロセッサ11と、メモリ12と、入力装置13と、表示装置14と、通信インターフェイス15と、バス16とを含む。メモリ12には、仮想化モデル200、シミュレーションプログラム300、オペレーティングシステム(図示せず)等の各種のプログラムおよび各種のデータが予め記憶されている。プロセッサ11と、メモリ12と、入力装置13と、表示装置14と、通信インターフェイス15とは、バス16によって通信可能に接続されている。
The
ロボットシステム20は、ロボットコントローラ21と、ロボット22とを含む。ロボットコントローラ21は、ロボット22と通信可能に接続されている。ロボットコントローラ21は、ロボット22の動作(姿勢)を制御する。
仮想化モデル200は、シミュレーションのために、ロボット22を仮想化したモデルである。シミュレーションプログラム300は、オフラインティーチング用のプログラムである。シミュレーションプログラム300は、プロセッサ11によって実行される。詳細については後述するが、シミュレーションプログラム300は、ヤコビ行列を用いた数値解法を実行する数値解法プログラム310と、学習済みモデル320とを含む。
The
詳しくは、仮想化モデル200の開始姿勢から終了姿勢までの軌道(動作速度を含む経路情報)が入力装置13を介して情報処理装置10に入力されると、プロセッサ11は、当該経路情報と仮想化モデル200とをシミュレーションプログラム300に入力して、シミュレーションプログラム300を実行する。これにより、ティーチングデータが生成される。生成されたティーチングデータは、通信インターフェイス15を介して、ロボットコントローラ21に送られる。これにより、ロボット22のオフラインティーチングは、終了する。
Specifically, when the trajectory (route information including motion speed) of the
<B.ロボットの概要>
図2は、ロボット22を簡略化した構造を示した図である。図2に示されるように、ロボット22は、本例では、6軸の多関節ロボットである。詳しくは、ロボット22は、6自由度の垂直多関節ロボット(マニピュレータ)である。以下では、このような構成の多関節ロボットを例に挙げて説明する。
<B. Robot overview>
FIG. 2 is a diagram showing a simplified structure of the
ロボット22は、第1関節(第1軸)201と、第2関節(第2軸)202と、第3関節(第3軸)203と、第4関節(第4軸)204と、第5関節(第5軸)205と、第6関節(第6軸)206と、7つのリンク250~256とを備える。各リンクは、それぞれ、腕の一部である。
The
第1関節201から第6関節206を人の動きに対応付けると、以下のとおりである。第1関節201は、腰を回転させる軸である。第2関節202は、肩の関節を動かす軸である。第3関節203は、肘の関節を動かす軸である。第4関節204は、手首を回転させる軸である。第5関節205は、手首を曲げる軸である。第6関節206は、指先を回転させる軸である。 The correspondence between the first joint 201 and the sixth joint 206 with human movements is as follows. The first joint 201 is an axis around which the waist is rotated. The second joint 202 is an axis that moves the shoulder joint. The third joint 203 is an axis that moves the elbow joint. The fourth joint 204 is an axis around which the wrist is rotated. The fifth joint 205 is an axis for bending the wrist. The sixth joint 206 is an axis around which the fingertip is rotated.
リンク250は、土台と第1関節201とを連結する。リンク251は、第1関節201と第2関節202とを連結する。リンク252は、第2関節202と第3関節203とを連結する。リンク253は、第3関節203と第4関節204とを連結する。リンク254は、第4関節204と第5関節205とを連結する。リンク255は、第5関節205と第6関節206とを連結する。リンク256の先端には、エンドエフェクタ290が取り付けられる。
ロボット22は、関節毎に、当該関節を駆動するサーボモータを備えている。ロボットコントローラ21からサーボモータに指令が送られることにより、当該サーボモータが指令に応じて回転する。これにより、指令を受けたサーボモータに対応する関節が駆動する。
The
図3は、ロボット22の各リンクの座標系を説明するための図である。図3に示されるように、ロボット22は、7つのリンク座標系Σi(0≦i≦6)が存在する。各リンク座標系Σiは、Xi軸とYi軸とZi軸とからなる3次元直交座標系である。また、以下では、各関節の角度を、θiとする。なお、本例では、各座標系間の距離d1,d2,d3,d4,d5,d6を、それぞれ、640mm、1190mm、200mm、305mm、1160mm、225mmとした。
FIG. 3 is a diagram for explaining the coordinate system of each link of the
<C.特異点と特異点近傍>
以下では、特異点と特異点近傍とについて説明する。具体的には、先ず、特異点について簡単に説明する。次いで、特異点近傍について説明する。その後、本シミュレーションを行う際の特異点と特異点近傍との設定方法について説明する。
<C. Singularity and vicinity of singularity>
The singular point and the vicinity of the singular point will be explained below. Specifically, first, singularity will be briefly explained. Next, the vicinity of the singular point will be explained. After that, a method for setting the singular point and the vicinity of the singular point when performing this simulation will be explained.
(c1.特異点)
以下では、xは、直交座標系におけるベクトルを表し、かつ、ロボット22の先端部の位置と姿勢とを示す。3次元直交座標系において、xは、位置と回転角とを表す。qは、関節座標系における姿勢を示す変数(ベクトル)である。この場合、ロボット22の仮想化モデル200は、以下の式(1)のように記述される。
(c1. Singularity)
In the following, x represents a vector in the orthogonal coordinate system and indicates the position and orientation of the tip of the
式(1)において、f(q)は変数qの非線形な関数である。一連の所定の先端部の位置xに対する変数qを計算する必要がある。そこで、以下の式(2)のように、式(1)の逆関数を求めることが必要となる。 In equation (1), f(q) is a nonlinear function of variable q. It is necessary to calculate a variable q for a series of predetermined tip positions x. Therefore, it is necessary to find the inverse function of equation (1) as shown in equation (2) below.
なお、式(2)において、右辺はqからxへの逆写像を表している。式(2)を解析的に求めることは負荷が大きい。このため、式(2)を解く数値的な方法では、式(1)の両辺を時間微分する。これにより、運動学的な以下の式(3)の関係が得られる。 Note that in equation (2), the right side represents the inverse mapping from q to x. Analytically determining equation (2) requires a large burden. Therefore, in the numerical method of solving equation (2), both sides of equation (1) are differentiated with respect to time. As a result, the kinematic relationship expressed by the following equation (3) is obtained.
式(3)を変形すると、式(4)が得られる。 By transforming equation (3), equation (4) is obtained.
ただし、J(q)は、変数に依存したヤコビ行列(ヤコビアン)である。J(q)は、式(5)に示すように、f(q)をqで微分して得られる。 However, J(q) is a Jacobian matrix (Jacobian) that depends on variables. J(q) is obtained by differentiating f(q) with respect to q, as shown in equation (5).
ヤコビ行列は、変数qに依存するため、時間的に変化する関数である。このため、特異状態と呼ばれる特定の状態において、J(q)のランク(行列のランク)が下がる。このため、与えられた軌道dxに対して、式(2)の逆変換は任意の大きい値dqを導くことになる。任意の大きい値dqを導くと、軸が高速に回転することになり、ロボット22が暴走してしまう。
The Jacobian matrix is a function that changes over time because it depends on the variable q. Therefore, in a specific state called a singular state, the rank of J(q) (the rank of the matrix) decreases. Therefore, for a given trajectory dx, the inverse transformation of equation (2) will lead to an arbitrarily large value dq. If an arbitrarily large value dq is derived, the axis will rotate at high speed and the
このように、制御したい変数の微分(xの時間微分)をどれだけ小さくしたとしても、制御する変数(qの時間微分)が発散してしまうことが起こる。このようなロボット22の姿勢が「特異点」である。6軸の多関節ロボットであるロボット22には、以下のような3つの特異点(「特異姿勢」とも称される)がある。
In this way, no matter how small the differential of the variable to be controlled (the time differential of x) is made, the variable to be controlled (the time differential of q) may diverge. Such a posture of the
図4は、手首特異姿勢を示した図である。図4に示すとおり、第4関節204と第6関節206とが一直線上で、この姿勢から手先(すなわち、エンドエフェクタ290)をY方向に移動させるか、手先をY方向に移動させながら当該姿勢を通過しようとすると、第4関節204および第6関節206に逆方向で非常に大きい軸角速度が指令され、その結果、ロボット22が暴走する。このとき、手先をZ方向に移動させたとしても暴走は起こらない。
FIG. 4 is a diagram showing a unique posture of the wrist. As shown in FIG. 4, the fourth joint 204 and the sixth joint 206 are in a straight line, and the hand (that is, the end effector 290) is moved in the Y direction from this posture, or the hand is moved in the Y direction and the posture is When the
図5は、肩特異姿勢を示した図である。図5に示されるように、破線で示すように、第1関節201の回転軸上に第5関節205がある場合、特定の方向に手先を移動させたときにロボット22が暴走する。
FIG. 5 is a diagram showing a shoulder-specific posture. As shown in FIG. 5, if the fifth joint 205 is located on the rotation axis of the first joint 201, as indicated by the broken line, the
図6は、肘特異姿勢を示した図である。図6に示されるように、第2関節202と、第3関節203と、第5関節205とが一直線上にある場合、特定の方向に手先を移動させたときにロボット22が暴走する。
FIG. 6 is a diagram showing a unique elbow posture. As shown in FIG. 6, when the second joint 202, the third joint 203, and the fifth joint 205 are in a straight line, the
以下では、説明の便宜上、図4に示した手首特異姿勢に着目して説明する。 For convenience of explanation, the following description will focus on the unique wrist posture shown in FIG. 4.
(c2.特異点近傍)
可操作度wを以下の式(6)で定義した場合、可操作度wは、特異点からは離れるにつれて大きくなる。なお、「可操作度」とは、ロボットアーム先端に取付けられたエンドエフェクタ290の位置および姿勢をどの程度自由に操作できるかを定量的に評価するための運動学的指標の一つである。
(c2. Near singularity)
When the degree of operability w is defined by the following equation (6), the degree of operability w increases as the distance from the singular point increases. Note that "manipulability" is one of the kinematic indicators for quantitatively evaluating how freely the position and posture of the
以下の式(7)は、上述した式(4)を変形したものである。 The following equation (7) is a modification of the above-mentioned equation (4).
式(6)では、可操作度は、ヤコビ行列の行列式しか考慮していない。式(6)では、ロボット22の手先速度ベクトルは考慮されていない。しかしながら、式(7)に示されるように、関節の角速度(qの時間微分)は、ヤコビ行列の行列式の逆数と、ヤコビ行列の余因子行列(adj(J))と、手先速度のベクトル(xの時間微分)とから決定される。特異点近傍での関節の暴走は、関節の角速度から決定されるため、特異点近傍は、関節の角速度で定義されるべきである。なお、本例では、角速度の単位を、「rpm」とする。
In Equation (6), only the determinant of the Jacobian matrix is considered for the degree of manipulability. In equation (6), the hand speed vector of the
そこで、本実施の形態では、以下の式(8)に示すように、シミュレーションにて指令される関節の角速度が、ロボット22の図示しないサーボモータ(詳しくは、当該関節を駆動するサーボモータ)の最高回転速度を上回る範囲を、「特異点近傍」と定義する。なお、式(8)の右辺は、サーボモータの最高回転速度である。 Therefore, in this embodiment, as shown in the following equation (8), the angular velocity of the joint commanded in the simulation is determined by the servo motor (not shown) of the robot 22 (specifically, the servo motor that drives the joint). The range exceeding the maximum rotational speed is defined as "near the singularity". Note that the right side of equation (8) is the maximum rotational speed of the servo motor.
具体的には、仮想化モデル200における複数の関節のうちの所定の関節の角速度(rpm)が、当該所定の関節を動かすモータ(仮想モータ)の最高回転速度(rpm)を超えた範囲を、「特異点近傍」と定義する。モータの最高回転速度としては、たとえば、当該モータ(実機)のカタログ値を用いることができる。
Specifically, the range in which the angular velocity (rpm) of a predetermined joint among the plurality of joints in the
より詳しくは、特異点においても、ミュレーションにて指令される関節の角速度がサーボモータの最高回転速度を上回る。それゆえ、関節の角速度がサーボモータの最高回転速度を上回る範囲には、特異点と特異点近傍とが含まれることになる。 More specifically, even at the singular point, the angular velocity of the joint commanded through simulation exceeds the maximum rotational speed of the servo motor. Therefore, the range in which the angular velocity of the joint exceeds the maximum rotational speed of the servo motor includes the singular point and the vicinity of the singular point.
図7から図10は、第4関節204についての特異点近傍を説明する図である。図7は、仮想化モデル200の手先のY軸方向の速度を100m/sとし、X軸方向の速度とZ軸方向の速度とをゼロとしたときのシミュレーション結果(仮想化モデル200の第4関節の最大回転速度)と、実機(ロボット22)におけるサーボモータの最大回転速度の測定値とを示した図である。なお、「手先」とは、仮想化モデル200のうち、エンドエフェクタ290のモデル部分の箇所である。
7 to 10 are diagrams illustrating the vicinity of the singular point of the fourth joint 204. FIG. 7 shows the simulation results when the hand speed of the
シミュレーションでは、先ず、仮想化モデル200の手先をY軸方向に一定の範囲動かした。その後、仮想化モデル200の手先のZ軸方向の高さを所定の高さだけ変更し、仮想化モデル200をY軸方向に再度一定の範囲動かす。このような処理を繰り返した。
In the simulation, first, the hand of the
この場合、仮想化モデル200の手先の高さがZ11(<2030mm)を超えると、仮想化モデル200の第4関節が暴走し始めた。仮想化モデル200の手先の高さがZ12(>2030mm)を超えると、仮想化モデル200の第4関節の暴走が収まった。このため、仮想化モデル200の手先のY軸方向の速度が100m/sのときの、第4軸のZ軸方向の特異点近傍の範囲は、Z11からZ12となった。なお、本例では、Z=2030mmが特異点となっている。
In this case, when the height of the hand of the
特異点(Z=2300mm)で指令回転速度が発散することがわかる。ZがZ11以上、かつZ12以下では、実機のサーボモータは指令回転速度を達成できていない。このようなシミュレーションにより、特異点近傍において関節が急回転することがわかる。 It can be seen that the command rotation speed diverges at the singular point (Z=2300 mm). When Z is greater than or equal to Z11 and less than or equal to Z12 , the actual servo motor cannot achieve the commanded rotational speed. Such simulations show that the joints rotate rapidly near the singularity.
さらに、仮想化モデル200の手先のY軸方向の速度を、300mm/sと、500mm/sと、1200mm/sとに変更して、上記と同様のシミュレーションと、実機(ロボット22)におけるサーボモータの回転速度の測定を行った。
Furthermore, the speed in the Y-axis direction of the hand of the
図8は、手先のY軸方向の速度を300mm/sとしたときのシミュレーション結果と、サーボモータの回転速度の測定値とを示した図である。図8に示すように、ZがZ13(<Z11)以上、かつZ14(>Z12)以下では、実機のサーボモータは指令回転速度を達成できていない。なお、本例では、Z13は、1950mmであり、Z14は、2100mmである。 FIG. 8 is a diagram showing the simulation results when the speed of the hand in the Y-axis direction is 300 mm/s and the measured value of the rotational speed of the servo motor. As shown in FIG. 8, when Z is greater than or equal to Z 13 (<Z 11 ) and less than Z 14 (>Z 12 ), the actual servo motor cannot achieve the commanded rotational speed. Note that in this example, Z 13 is 1950 mm, and Z 14 is 2100 mm.
図9は、手先のY軸方向の速度を500mm/sとしたときのシミュレーション結果と、サーボモータの回転速度の測定値とを示した図である。図9に示すように、ZがZ15(<Z13)以上、かつZ16(>Z14)以下では、実機のサーボモータは指令回転速度を達成できていない。 FIG. 9 is a diagram showing the simulation results when the speed of the hand in the Y-axis direction is 500 mm/s and the measured value of the rotational speed of the servo motor. As shown in FIG. 9, when Z is greater than or equal to Z 15 (<Z 13 ) and less than Z 16 (>Z 14 ), the actual servo motor cannot achieve the command rotation speed.
図10は、手先のY軸方向の速度を1200mm/sとしたときのシミュレーション結果と、サーボモータの回転速度の測定値とを示した図である。図10に示すように、ZがZ17(<Z15)以上、かつZ18(>Z16)以下では、実機のサーボモータは指令回転速度を達成できていない。 FIG. 10 is a diagram showing simulation results when the speed of the hand in the Y-axis direction is 1200 mm/s and the measured value of the rotational speed of the servo motor. As shown in FIG. 10, when Z is greater than or equal to Z 17 (<Z 15 ) and less than Z 18 (>Z 16 ), the actual servo motor cannot achieve the commanded rotational speed.
図7から図10に基づくと、手先速度が速くなるにつれて特異点近傍の範囲が広がることがわかる。これは、式(7)に基づき説明したように、関節の角速度は、ヤコビ行列の逆行列と手先速度とを掛け合わせたものであるため、同じ位置かつ同じ姿勢であっても、手先速度および方向によって関節の角速度が変化するためである。 Based on FIGS. 7 to 10, it can be seen that as the hand speed increases, the range near the singularity increases. This is because, as explained based on equation (7), the angular velocity of a joint is the product of the inverse matrix of the Jacobian matrix and the hand speed, so even if the position and posture are the same, the hand speed and This is because the angular velocity of the joint changes depending on the direction.
図11は、Y軸方向にのみ手先速度を持つ場合における特異点近傍の範囲を示した図である。詳しくは、図11は、xの微分の値が以下の式(9)となる場合における特異点近傍の範囲を示した図である。 FIG. 11 is a diagram showing the range near the singularity when the hand speed is only in the Y-axis direction. Specifically, FIG. 11 is a diagram showing the range near the singular point when the differential value of x is expressed by the following equation (9).
より詳しくは、図11は、X座標をある値で固定したときのYZ平面における特異点近傍の範囲を手先速度別に示した図である。図11では、式(9)におけるYの微分(Y軸方向の手先速度の大きさ)を以下の式(10)として、以下の式(11)で示される境界線を図示している。各境界線の内側が、特異点近傍となる。また、手先速度の大きさが100mm/sの境界線の内側に、特異点が存在している。 More specifically, FIG. 11 is a diagram showing the range near the singular point on the YZ plane by hand speed when the X coordinate is fixed at a certain value. In FIG. 11, the differentiation of Y (magnitude of hand speed in the Y-axis direction) in Equation (9) is expressed as Equation (10) below, and a boundary line expressed by Equation (11) below is illustrated. The inside of each boundary line is near the singularity. Further, a singular point exists inside the boundary line where the hand speed is 100 mm/s.
図11に示されるように、Y軸方向の手先速度の大きさが大きくなるほど、特異点近傍の範囲は広くなる。また、Z軸方向にのみ手先速度を持つ場合を考え、かつ上記と同様に手先速度別の特異点近傍の範囲を調べると、手先速度の方向によって特異点近傍の形が変化することが分かった。 As shown in FIG. 11, as the hand speed in the Y-axis direction increases, the range near the singularity becomes wider. In addition, when considering the case where the hand speed is only in the Z-axis direction and examining the range near the singularity by hand speed in the same way as above, it was found that the shape near the singularity changes depending on the direction of the hand speed. .
以上のように、手先速度ベクトルの大きさと方向とによって特異点近傍範囲が変化することが分かった。そこで、本実施の形態では、手先速度ベクトルに応じて定義された特異点近傍を考慮して、オフラインティーチングデータを生成する。 As described above, it was found that the range near the singularity changes depending on the magnitude and direction of the hand velocity vector. Therefore, in the present embodiment, offline teaching data is generated in consideration of the vicinity of a singular point defined according to the hand speed vector.
<D.ヤコビ行列を用いたときの特異点および特異点近傍での挙動>
上述したように、特異点および特異点近傍では、ヤコビ行列の行列式の値が小さくなり、当該行列式の逆数が発散する。それゆえ、式(7)より、制御する変数(qの時間微分)が発散する。以下、発散態様について具体的に説明する。詳しくは、逆運動学の一般解を説明する。
<D. Behavior at singular points and near singular points when using Jacobian matrix>
As described above, at a singular point and in the vicinity of the singular point, the value of the determinant of the Jacobian matrix becomes small, and the inverse of the determinant diverges. Therefore, according to equation (7), the variable to be controlled (time differential of q) diverges. The divergence mode will be specifically explained below. In detail, we will explain the general solution of inverse kinematics.
再び、図3を参照して、第1関節201の角度θ1と、第2関節202の角度θ2と、第3関節203の角度θ3とが求められると、ベースの座標系Σ0から座標系Σ3への同次変換行列0T3を計算することができる。座標系Σ3から手先の座標系Σ6への同次変換行列3T6は、以下の式(12)で表すことができる。 Referring again to FIG. 3, once the angle θ 1 of the first joint 201, the angle θ 2 of the second joint 202, and the angle θ 3 of the third joint 203 are found, from the base coordinate system Σ 0 A homogeneous transformation matrix 0 T 3 to the coordinate system Σ 3 can be calculated. A homogeneous transformation matrix 3 T 6 from the coordinate system Σ 3 to the hand coordinate system Σ 6 can be expressed by the following equation (12).
0T6は、座標系Σ0から座標系Σ6への同次変換行列であり、指令値から計算可能である。よって、式(12)の右辺が計算できる。 0 T 6 is a homogeneous transformation matrix from the coordinate system Σ 0 to the coordinate system Σ 6 , and can be calculated from the command value. Therefore, the right side of equation (12) can be calculated.
式(12)の左辺の3T6の回転行列成分3R6(すなわち、3T6に含まれる左上の3行3列の小行列(9個の成分))は、以下の式(13)から式(15)に示す、同次変換行列3T4の回転行列成分3R4と、同次変換行列4T5の回転行列成分4R5と、同次変換行列5T6の回転行列成分5R6とを用いて、以下の式(16)となる。なお、Ciは、cosθiを、Siは、sinθiを表す。R11,R21,R31,R12,R22,R32,R13,R23,R33は、それぞれ、回転行列成分3R6の成分(要素)である。また、以下では、回転行列成分を、単に、「回転行列」とも称する。 The rotation matrix component 3 R 6 of 3 T 6 on the left side of equation (12) (that is, the upper left 3 rows and 3 columns small matrix (9 components) included in 3 T 6 ) is expressed by the following equation (13). The rotation matrix component 3 R 4 of the homogeneous transformation matrix 3 T 4 , the rotation matrix component 4 R 5 of the homogeneous transformation matrix 4 T 5 , and the rotation matrix of the homogeneous transformation matrix 5 T 6 as shown in equation (15) from Using the components 5 and R6 , the following formula (16) is obtained. Note that C i represents cos θ i and S i represents sin θ i . R 11 , R 21 , R 31 , R 12 , R 22 , R 32 , R 13 , R 23 , and R 33 are components (elements) of the rotation matrix component 3 R 6 , respectively. Furthermore, hereinafter, the rotation matrix component is also simply referred to as a "rotation matrix."
式(16)より、第4関節204の角度θ4は、以下の式(17)のとおりとなる。第5関節205の角度θ5は、以下の式(18)のとおりとなる。第6関節206の角度θ6は、以下の式(19)のとおりとなる。ただし、式(17)および式(19)において、kは、任意の整数である。 From equation (16), the angle θ 4 of the fourth joint 204 is as shown in equation (17) below. The angle θ 5 of the fifth joint 205 is expressed by the following equation (18). The angle θ 6 of the sixth joint 206 is expressed by the following equation (19). However, in equations (17) and (19), k is an arbitrary integer.
式(17)および式(19)に任意の整数kが含まれているため、角度θ4の解と、角度θ6の解とは、それぞれ、複数個存在することになる。 Since equation (17) and equation (19) include an arbitrary integer k, there are a plurality of solutions for angle θ 4 and a plurality of solutions for angle θ 6 , respectively.
図12は、角度θ4の解を示した図である。図12に示されるように、変域を0°≦θ4≦360°に制限しても解は二つ存在する。 FIG. 12 is a diagram showing the solution for the angle θ 4 . As shown in FIG. 12, even if the domain is limited to 0°≦θ 4 ≦360°, two solutions exist.
第4関節204の角度θ4は、横軸の値(R13/R33)が0となる付近で180°程度変位している。具体的には、ヤコビ行列を用いた数値解法で第4関節204の角度θ4を解いた場合、R13/R33の値が0となる付近(すなわち、特異点)においてヤコビ行列の行列式の逆行列が大きくなるため、R13/R33が負から正へ(あるいは正から負へ)と変化する際に、角度θ4は、90°から270°に急激に変化する。 The angle θ 4 of the fourth joint 204 is displaced by about 180° in the vicinity where the value (R 13 /R 33 ) of the horizontal axis becomes 0. Specifically, when the angle θ 4 of the fourth joint 204 is solved by a numerical solution using a Jacobian matrix, the determinant of the Jacobian matrix is Since the inverse matrix of becomes large, the angle θ 4 suddenly changes from 90° to 270° when R 13 /R 33 changes from negative to positive (or from positive to negative).
このように、特異点および特異点近傍においてヤコビ行列を用いた数値解法を用いると、ロボット22が暴走することになる。そこで、特異点および特異点近傍においてはヤコビ行列を用いた数値解法(詳しくは、数値解法プログラム310)を用いずに、以下に述べる手法を用いる。
In this way, if a numerical solution method using a Jacobian matrix is used at a singular point and in the vicinity of the singular point, the
<E.学習済みモデルの適用>
(e1.学習済みモデルを適用する範囲)
図13は、特異点および特異点近傍と、それ以外の範囲(姿勢範囲)とにおける、関節の角度の計算方法を説明するための模式図である。すなわち、シミュレーション方法を説明するための図である。
<E. Applying the trained model>
(e1. Range to which trained model is applied)
FIG. 13 is a schematic diagram for explaining a method of calculating joint angles at a singular point, the vicinity of the singular point, and other ranges (posture ranges). That is, it is a diagram for explaining a simulation method.
図13に示されるように、矢印31に示すように仮想化モデル200の姿勢が、仮想化モデル200の特異点と特異点近傍とを含む範囲30の外にある場合、プロセッサ11はヤコビ行列を用いて、各関節の角度を算出する。詳しくは、プロセッサ11は、数値解法プログラム310を用いて、各関節の角度を算出する。
As shown in FIG. 13, when the posture of the
その後、仮想化モデル200の姿勢が、矢印32に示すように、点P1において範囲30内となり、その後、点P2から範囲30外となるまで、プロセッサ11は、予め生成された学習済みモデル320を用いて各関節の角度を各関節の角度を算出する。すなわち、プロセッサ11は、仮想化モデル200の姿勢が範囲30内のときには、学習済みモデル320を用いて各関節の角度を算出する。なお、範囲30の外側面が、特異点近傍を規定する境界面である。
Thereafter, as shown by an
矢印33に示すように仮想化モデル200の姿勢が、仮想化モデルの特異点と特異点近傍とを含む範囲30の外になると、プロセッサ11は、再び、ヤコビ行列を用いて各関節の角度を算出する。
When the posture of the
たとえば、図13における矢印31の起点の仮想化モデル200の姿勢を第1の姿勢とし、矢印33の終点での仮想化モデルの姿勢を第2の姿勢とすると、プロセッサ11は、以下の処理を行うと言える。
For example, if the attitude of the
プロセッサ11は、仮想化モデル200における各関節の角度を制御することにより、仮想化モデル200の姿勢を第1の姿勢から第2の姿勢へと遷移させる。この際、プロセッサ11は、仮想化モデル200の姿勢が範囲30外のときには、ヤコビ行列を用いて各関節の角度を算出し、仮想化モデル200の姿勢が範囲30内のときには、学習済みモデル320を用いて各関節の角度を算出する。
The
また、範囲30(すなわち、特異点と特異点近傍)について小括すると、以下のとおりである。 Further, the range 30 (that is, the singular point and the vicinity of the singular point) can be summarized as follows.
仮想化モデル200が取り得る姿勢のうち、仮想化モデル200の特異点と特異点近傍とを含む範囲30は、図11に基づいて説明したように、仮想化モデル200の姿勢を変化させる速度に応じて個別に決定される。
Among the postures that the
仮想化モデル200の姿勢を変化させる速度が第1の速度(図11の例では、たとえば300mm/s)の場合の範囲30は、当該速度が第1の速度よりも遅い第2の速度(図11の例では、たとえば100mm/s)の場合の範囲30よりも広い。
The
詳しくは、式(8)に基づいて説明したように、範囲30は、仮想化モデル200が取り得る姿勢のうち、仮想化モデル200における複数の関節のうちの所定の関節の角速度(rpm)が、当該所定の関節を動かすサーボモータの最高回転速度(rpm)を超える範囲である。
Specifically, as explained based on equation (8), the
(e2.学習済みモデルの生成)
次に、範囲30(すなわち、特異点と特異点近傍)で利用する学習済みモデル320の生成方法について説明する。
(e2. Generation of trained model)
Next, a method for generating the trained
再び図12を参照して、第4関節204については、上述したように、変域を0°≦θ4≦360°に制限しても解は二つ存在する。したがって、仮に、入力をR33,R13とし、かつ出力をθ4として学習用のモデル(ニューラルネットワーク)を生成しても、一入力二出力となるため、学習精度は著しく低下する。 Referring again to FIG. 12, for the fourth joint 204, as described above, there are two solutions even if the range is limited to 0°≦θ 4 ≦360°. Therefore, even if a learning model (neural network) is generated with the inputs being R 33 and R 13 and the output being θ 4 , the learning accuracy will be significantly reduced because it will have one input and two outputs.
変域を90°≦θ4≦270°に制限とすると、一入力一出力となる。しかしながら、変域を90°≦θ4≦270°に制限した場合には、R13/R33が負から正へ(あるいは正から負へ)と変化する際に角度θ4は、180°変化してしまう。 If the range is limited to 90°≦θ 4 ≦270°, one input and one output will be required. However, when the range is limited to 90°≦θ 4 ≦270°, when R 13 /R 33 changes from negative to positive (or from positive to negative), the angle θ 4 changes by 180°. Resulting in.
図14は、変域を0°≦θ4≦180°に制限した場合を示している。図14に示すように、変域を0°≦θ4≦180°に制限することにより、上述した180°の変化を抑えることができる。しかしながら、R13/R33の値が0となる付近(すなわち、特異点)において、関数が連続していない。よって、数値解法では解の指定は困難である。 FIG. 14 shows a case where the range is limited to 0°≦θ 4 ≦180°. As shown in FIG. 14, by limiting the variable range to 0°≦θ 4 ≦180°, the above-mentioned change of 180° can be suppressed. However, the function is not continuous near where the value of R 13 /R 33 is 0 (ie, at a singular point). Therefore, it is difficult to specify the solution using numerical methods.
そこで、機械学習により、変域を0°≦θ4≦180°に制限して、解の指定を試みる。具体的には、機械学習により逆運動学モデルを構築するために、学習用データセットを生成する。少なくとも、R13/R33の値と第4関節204の角度とが、図14の実線のグラフで示す関係を満たすような、学習用データセットを生成する。 Therefore, by using machine learning, we limit the range to 0°≦θ 4 ≦180° and attempt to specify a solution. Specifically, in order to construct an inverse kinematics model by machine learning, a training dataset is generated. A learning data set is generated such that at least the value of R13/R33 and the angle of the fourth joint 204 satisfy the relationship shown by the solid line graph in FIG.
詳しく説明すると、以下のとおりである。第4関節204、第5関節205、および第6関節206のリンクパラメータの幾何学的誤差が存在した場合の回転行列成分3R6は、式(16)と比較して非常に煩雑となり、解析的に解くことは困難である。そこで、学習用データセットを用いて学習済みモデル320を生成し、生成された学習済みモデル320によって、上記の解を算出する。このように、本実施の形態では、不連続関数をニューラルネットワークで構築する。より詳しく説明すると、以下のとおりである。
A detailed explanation is as follows. The rotation matrix component 3 R 6 when there is a geometric error in the link parameters of the fourth joint 204, the fifth joint 205, and the sixth joint 206 becomes very complicated compared to equation (16), and the analysis It is difficult to solve the problem. Therefore, a trained
数値解法による3つの解である角度θ4,θ5,θ6の導出は、以下の式(20)に含まれる9つの非線形連立方程式を解く問題に帰着する。 Derivation of the angles θ 4 , θ 5 , θ 6 which are the three solutions by the numerical solution method results in the problem of solving nine nonlinear simultaneous equations included in the following equation (20).
ただし、右辺の回転行列成分3R6は、角度θ1と角度θ2と角度θ3との解を用いて算出することができる3行3列の行列である。後述する学習用のモデルを予め作成しておき、上記の式(20)に基づき、プロセッサ11に、入力を3R6、出力をθ4,θ5,θ6とする機械学習を実行させる。関節角度の180°に近い変位を回避するために、たとえば図14に示したように、学習用データに意図的な偏りを持たせる。詳しくは、0°≦θ4≦180°、-100°≦θ5≦100°、0°≦θ6≦180°として、0.1°幅の三次元格子点群を作成し、無作為に5000点抽出して5000組の学習用データ(教師データ)とする。
However, the rotation matrix component 3 R 6 on the right side is a 3-by-3 matrix that can be calculated using the solution of angle θ 1 , angle θ 2 , and angle θ 3 . A learning model to be described later is created in advance, and the
なお、三次元格子点群について説明すると、以下のとおりである。角度θ4,θ5,θ6は、それぞれ、1800個、2000個、1800個の要素数を持つベクトルとなるため、これらの角度の組み合わせは,6,480,000,000(=1800×2000×1800)通りとなる。三次元格子点群は、角度θ4,θ5,θ6を各軸とする三次元直交座標系において、上記の6,480,000,000個の各点を示したものである。 The three-dimensional lattice point group will be explained as follows. The angles θ 4 , θ 5 , and θ 6 are vectors with 1800, 2000, and 1800 elements, respectively, so the combination of these angles is 6,480,000,000 (=1800×2000 ×1800). The three-dimensional lattice point group represents each of the above-mentioned 6,480,000,000 points in a three-dimensional orthogonal coordinate system having angles θ 4 , θ 5 , and θ 6 as axes.
具体的には、上記のように抽出した角度θ4,θ5,θ6を式(20)の左辺に代入して、入力データを[R11,R21,R31,R12,R22,R32,R13,R23,R33]T、出力データを集出下角度θ4,θ5,θ6とするデータセット(5000組の教師データを含むデータセット)を作成する。作成したデータセットを訓練データとテストデータとに分けて、ニューラルネットワークで学習および検証を行った。なお、本例では、訓練データを3500組、テストデータを750組、検証データを750組とした。 Specifically, the angles θ 4 , θ 5 , θ 6 extracted as above are substituted into the left side of equation (20), and the input data is converted to [R 11 , R 21 , R 31 , R 12 , R 22 , R 32 , R 13 , R 23 , R 33 ] T , a data set (a data set including 5000 sets of teacher data) is created in which the output data is set to lower collection angles θ 4 , θ 5 , θ 6 . The created dataset was divided into training data and test data, and a neural network was used for learning and verification. In this example, 3500 sets of training data, 750 sets of test data, and 750 sets of verification data were used.
次に、学習用のモデルのデータ構造について説明する。ニューラルネットワークの代表的なハイパーパラメータとして、中間層の層数と、ニューロン数とがある。中間層の層数とニューロン数とが多いほど、複雑な学習に適合することが可能である。しかしながら、中間層の層数とニューロン数とが多すぎると、多すぎると過学習をおこし、汎化性能が低くなる。 Next, the data structure of the learning model will be explained. Representative hyperparameters of neural networks include the number of intermediate layers and the number of neurons. The larger the number of layers and neurons in the intermediate layer, the more complex learning can be accommodated. However, if the number of layers and the number of neurons in the intermediate layer are too large, overfitting will occur and the generalization performance will deteriorate.
そこで、検証データの二乗平均平方根誤差(RMSE:Root Mean Squared Error)に着目し、ニューロン数および層数と残差との関係を調べた。最初に単層ニューラルネットワークで中間層のニューロン数を確定し、その後、ニューロン数が同数の中間層を増やしていくことで中間層の層数を確定する。 Therefore, we focused on the root mean squared error (RMSE) of the verification data and investigated the relationship between the number of neurons and the number of layers and the residual error. First, the number of neurons in the middle layer is determined using a single-layer neural network, and then the number of layers in the middle layer is determined by increasing the number of middle layers with the same number of neurons.
図15は、中間層を1層のみとし、かつニューロン数を1から50まで変化させたときの検証データの二乗平均平方根誤差を示した図である。図15に示した結果に基づき、学習用のモデルの中間層のニューロン数を15とした。 FIG. 15 is a diagram showing the root mean square error of verification data when there is only one intermediate layer and the number of neurons is varied from 1 to 50. Based on the results shown in FIG. 15, the number of neurons in the middle layer of the learning model was set to 15.
図16は、ニューロン数が15である中間層の層数を1層から10層まで変化させたときの検証データの二乗平均平方根誤差を示した図である。図16に示した結果に基づき、学習用のモデルの中間層の層数を3とした。 FIG. 16 is a diagram showing the root mean square error of the verification data when the number of layers in the intermediate layer having 15 neurons is changed from 1 layer to 10 layers. Based on the results shown in FIG. 16, the number of intermediate layers of the learning model was set to three.
その他のニューラルネットワークの緒元として、学習用プログラムの学習アルゴリズムはレーベンバーグ・マルカート法とし、誤差関数は平均二乗誤差とした。 As for the other specifications of the neural network, the learning algorithm of the learning program was the Levenberg-Marquardt method, and the error function was the mean square error.
図17から図19は、学習済みモデル320の性能分析結果を示した図である。図17は、テストデータに関する第4関節204の回帰プロットを示した図である。同様に、図18は、テストデータに関する第5関節205の回帰プロットを示した図である。図19は、テストデータに関する第6関節206の回帰プロットを示した図である。
17 to 19 are diagrams showing performance analysis results of the learned
図17~図19により、ニューラルネットワークによって逆運動学モデルを精度よく学習することができていることが分かる。ただし、数点がy=x線上から外れ、予測誤差が生じた。 It can be seen from FIGS. 17 to 19 that the inverse kinematics model can be learned accurately by the neural network. However, several points deviated from the y=x line, resulting in prediction errors.
(e3.シミュレーション結果)
図20は、第4関節204の角度θ4のシミュレーション結果を示した図である。図21は、第6関節206の角度θ6のシミュレーション結果を示した図である。
(e3. Simulation results)
FIG. 20 is a diagram showing a simulation result of the angle θ 4 of the fourth joint 204. FIG. 21 is a diagram showing a simulation result of the angle θ 6 of the sixth joint 206.
図20および図21に示すように、学習済みモデル320を用いた場合、Y座標の値が負から正へと変化する際(特異点または特異点近傍を通過する際)、第4関節204と第6関節206とにおいて180°の急激な変位が生じていないことが分かる。
As shown in FIGS. 20 and 21, when the trained
<F.オフラインティーチングの制御構造>
図22は、オフラインティーチングの際の情報処理装置10で実行される処理の流れを示すフロー図である。
<F. Control structure of offline teaching>
FIG. 22 is a flow diagram showing the flow of processing executed by the
図22に示されるように、ステップS1において、情報処理装置10(詳しくは、プロセッサ11)は、図11に示したように、ロボット22の仮想化モデル200の特異点と特異点近傍との範囲を動作速度別に決定する。ステップS2において、プロセッサ11は、ユーザの入力に基づき、仮想化モデル200の移動の開始姿勢から終了姿勢(目標姿勢)までの軌道の指定を受け付ける。当該軌道は、動作速度を含む経路情報である。ステップS3において、ステップS1において決定された複数の範囲のうちから、指定された動作速度に応じた範囲(たとえば、図13に示す範囲30)を設定する。
As shown in FIG. 22, in step S1, the information processing device 10 (more specifically, the processor 11) determines the range of the singularity and the vicinity of the singularity of the
ステップS4において、プロセッサ11は、指定された軌道に沿って、仮想化モデル200の移動を開始する。すなわち、プロセッサ11は、シミュレーションを開始する。ステップS5において、プロセッサ11は、仮想化モデル200の姿勢が設定された範囲外にあるか否かを判断する。
In step S4, the
範囲外にあると判断された場合(ステップS6においてYES)、プロセッサ11は、ステップS6において、ヤコビ行列を用いて仮想化モデル200の関節の角度θiを算出し、かつ、算出結果を演算周期に基づく時刻情報に関連付けてメモリ12に記憶させる。すなわち、プロセッサ11は、数値解法プログラム310を用いて、数値解法により関節の角度θiを算出する。
If it is determined that it is outside the range (YES in step S6), the
範囲内にあると判断された場合(ステップS6においてNO)、プロセッサ11は、ステップS8において、仮想化モデル200の関節の角度θiを上述した学習済みモデル320を用いて算出し、かつ、算出結果を演算周期に基づく時刻情報に関連付けてメモリ12に記憶させる。
If it is determined that it is within the range (NO in step S6), the
ステップS7において、プロセッサ11は、仮想化モデル200の姿勢が終了姿勢となったか否かを判断する。終了姿勢となったと判断された場合(ステップS7においてYES)、プロセッサ11は、一連の処理を終了する。終了姿勢となっていないと判断された場合(ステップS7においてNO)、プロセッサ11は、ステップS9において、次の演算周期が到来したか否かを判断する。
In step S7, the
次の演算周期が到来したと判断された場合(ステップS9においてYES)、プロセッサ11は、処理をステップS5に進める。次の演算周期が到来していない場合(ステップS9においてNO)、プロセッサ11は、次の演算周期が到来するまで待つ。
If it is determined that the next calculation cycle has arrived (YES in step S9), the
上述した処理が情報処理装置10にて終了すると、メモリ12に記憶された情報(すなわち、オフラインティーチングデータ)をロボットシステム20のロボットコントローラ21(図1参照)に送信する。
When the above-described processing is completed in the
<G.小括>
(g1.オフラインティーチング方法)
上述した、シミュレータを用いたロボット22のオフラインティーチング方法を小括すると以下のとおりである。
<G. Summary>
(g1. Offline teaching method)
The offline teaching method for the
(1)オフラインティーチング方法は、ロボット22の仮想化モデル200が取り得る姿勢のうち、仮想化モデル200の特異点と特異点近傍とを含む範囲を決定するステップと、仮想化モデル200における各関節の角度を制御することにより、仮想化モデル200の姿勢を第1の姿勢から第2の姿勢へと遷移させるステップとを備える。
(1) The offline teaching method includes the steps of determining a range including the singular point of the
仮想化モデル200の姿勢を第1の姿勢から第2の姿勢に遷移させるステップでは、仮想化モデル200の姿勢が上記範囲外のときには、プロセッサ11はヤコビ行列を用いて各関節の角度を算出し、仮想化モデル200の姿勢が上記範囲内のときには、プロセッサ11は学習済みモデル320を用いて各関節の角度を算出する。
In the step of transitioning the posture of the
このような構成によれば、特異点と特異点近傍とを含む範囲においは、学習済みモデル320を用いて各関節の角度を算出するため、ヤコビ行列を用いた数値解法を行う必要がない。また、このような構成によれば、たとえば手首についての特異点と特異点近傍とを含む範囲を通過する場合においては、FLIPの姿勢とNONFLIPの姿勢との各々において基準の関節角度との差を算出する処理と、当該算出結果に基づいてFLIPの姿勢とNONFLIPの姿勢とのうちの何れかを選択する処理とを行う必要がない。
According to such a configuration, since the angle of each joint is calculated using the learned
このため、上述したオフラインティーチング方法によれば、特異点およびその近傍において、ロボット22の意図しない挙動(暴走、停止等)を効率よく抑制することが可能となる。
Therefore, according to the offline teaching method described above, it is possible to efficiently suppress unintended behavior (runaway, stop, etc.) of the
(2)上述した範囲は、仮想化モデル200の姿勢を変化させる速度に応じて個別に決定される。このような構成によれば、ヤコビ行列の代わりに学習済みモデル320を用いる範囲を、仮想化モデル200の姿勢を変化させる速度に応じて設定することができる。
(2) The above-mentioned ranges are individually determined according to the speed at which the posture of the
(3)上記速度が第1の速度の場合の範囲は、速度が第1の速度よりも遅い第2の速度の場合の範囲よりも広い。仮想化モデル200の姿勢を変化させる速度が早いほど、特異点近傍の範囲が広くなる。このため、速度が速いほど学習済みモデル320を用いる範囲を広くすることにより、ロボット22の意図しない挙動を抑制することが可能となる。
(3) The range when the speed is the first speed is wider than the range when the speed is the second speed, which is slower than the first speed. The faster the speed at which the posture of the
(4)上記範囲は、ロボット22の仮想化モデル200が取り得る姿勢のうち、仮想化モデル200における複数の関節のうちの所定の関節の角速度が、当該所定の関節を動かすモータの最高回転速度を超える範囲である。これにより、特異点および特異点近傍を定義することができる。
(4) The above range is such that, among the postures that the
(5)ロボット22は、6軸の垂直多関節ロボットである。ロボット22の第4関節204の回転角度を角度θ4、第5関節205の回転角度を角度θ5、第6関節206の回転角度を角度θ6とすると、学習済みモデル320は、入力を上述した式(20)に示す3行3列の回転行列3R6とし、かつ、出力を角度θ4、θ5、θ6とした教師データを用いて生成されたものである。
(5) The
(6)教師データにおける、角度θ4および角度θ6は、0°以上かつ180°以下であり、角度θ5は-100°以上かつ100°以下である。これによれば、第4関節204と、第5関節205と、第6関節206とが、急激に変化することを抑制できる。 (6) In the training data, angle θ 4 and angle θ 6 are 0° or more and 180° or less, and angle θ 5 is −100° or more and 100° or less. According to this, it is possible to suppress sudden changes in the fourth joint 204, the fifth joint 205, and the sixth joint 206.
(7)学習済みモデル320は、回転行列3R6を入力として受け付けることにより、各関節の角度として、角度θ4、θ5、θ6を出力する。
(7) The trained
(g2.情報処理装置10)
情報処理装置10について小括すると、以下のとおりである。
(g2. Information processing device 10)
The
情報処理装置10は、プロセッサ11と、ロボット22のシミュレーションプログラム300が格納されたメモリ12とを備える。プロセッサ11は、シミュレーションプログラム300を実行することにより、(i)ロボット22の仮想化モデル200が取り得る姿勢のうち、仮想化モデル200の特異点と特異点近傍とを含む範囲を決定し、(ii)仮想化モデル200における各関節の角度を制御することにより、仮想化モデル200の姿勢を第1の姿勢から第2の姿勢へと遷移させる。
The
プロセッサ11は、仮想化モデル200の姿勢を第1の姿勢から第2の姿勢に遷移させる際に、仮想化モデル200の姿勢が上記範囲外のときには、ヤコビ行列を用いて各関節の角度を算出し、仮想化モデル200の姿勢が上記範囲内のときには、学習済みモデル320を用いて各関節の角度を算出する。また、このような構成によれば、たとえば手首についての特異点と特異点近傍とを含む範囲を通過する場合においては、プロセッサ11は、FLIPの姿勢とNONFLIPの姿勢との各々において基準の関節角度との差を算出する処理と、当該算出結果に基づいてFLIPの姿勢とNONFLIPの姿勢とのうちの何れかを選択する処理とを行う必要がない。
When transitioning the posture of the
このため、情報処理装置10によれば、特異点およびその近傍において、多関節ロボットの意図しない挙動(暴走、停止等)を効率よく抑制することが可能となる。
Therefore, according to the
<H.変形例>
(1)ロボット22は6軸に限定されるものではない。上述したような、特異点および特異点近傍において学習済みモデルを用いる処理手法を、N軸(Nは3以上の任意の自然数とする)の多関節ロボットに対しても適用できる。
<H. Modified example>
(1) The
具体的には、上述した学習済みモデルを用いる処理手法は、N個の軸のうち任意の連続する3つの軸(回転軸の仮想軸線同士)が一点で交わる構成を有するロボットに対して適用できる。詳しくは、このような連続する3つの軸の動作に関し、学習済みモデルを適用できる。 Specifically, the processing method using the trained model described above can be applied to a robot having a configuration in which any three consecutive axes (virtual axes of rotational axes) intersect at one point among N axes. . Specifically, the learned model can be applied to such continuous three-axis movements.
すなわち、jを1以上かつN-2以下の自然数とすると、上述した学習済みモデルを用いる処理手法は、第j関節と、第j関節の隣の隣の第j+2関節とを結ぶ線分上に、第j関節と第j+2関節との間の第j+1関節が位置するような構成(3つの関節が一直線上になり得る構成)を有するロボットに対して適用できる。たとえば、6軸の例の図2のように、第4関節204と第6関節206とを結ぶ線分上に第5関節205が位置するような構成であればよい。このような構成であれば、逆運動学の解析解を導出できるためである。 In other words, if j is a natural number greater than or equal to 1 and less than or equal to N-2, the processing method using the learned model described above is based on the line segment connecting the j-th joint and the j+2 joint next to the j-th joint. , can be applied to a robot having a configuration in which the j+1 joint is located between the j-th joint and the j+2 joint (a configuration in which three joints can be in a straight line). For example, as shown in FIG. 2 for an example of six axes, a configuration in which the fifth joint 205 is located on a line segment connecting the fourth joint 204 and the sixth joint 206 may be used. This is because with such a configuration, an analytical solution of inverse kinematics can be derived.
この場合、第j関節の回転角度を角度θj、第j+1関節の回転角度を角度θj+1、第j+2関節の回転角度を角度θj+2とすると、学習済みモデルは、入力を以下の式(21)に示す3行3列の回転行列j-1Rj+2とし、かつ、出力を角度θj、θj+1、θj+2とした教師データを用いて生成されたものとすればよい。なお、式(21)は、式(20)をjを用いて拡張したものである。 In this case, if the rotation angle of the j-th joint is an angle θ j , the rotation angle of the j+1 joint is an angle θ j+1 , and the rotation angle of the j+2 joint is an angle θ j+2 , then the trained model inputs the following equation (21 ), and the rotation matrix j−1 R j+2 shown in FIG. Note that equation (21) is obtained by expanding equation (20) using j.
なお、このような構成の場合、学習済みモデルは、回転行列j-1Rj+2を入力として受け付けることにより、各関節の角度として、角度θj、θj+1、θj+2を出力することになる。 Note that in such a configuration, the trained model receives the rotation matrix j−1 R j+2 as input, and outputs the angles θ j , θ j+1 , and θ j+2 as the angles of each joint.
このような構成であっても、特異点およびその近傍において、当該ロボットの意図しない挙動(暴走、停止等)を効率よく抑制することが可能となる。 Even with such a configuration, it is possible to efficiently suppress unintended behavior (runaway, stop, etc.) of the robot at the singular point and in the vicinity thereof.
(2)上記においては、関節の角速度と、関節を動かすモータの最高回転速度との単位系として、同一の単位系(rpm)を用いた場合を例に挙げて説明したが、必ずしも、同一の単位系を用いる必要はない。2つのうちの少なくとも一方の単位系が、「rad/s」、「deg/s」、「rps」であってもよい。この場合、「所定の関節の角速度が、前記所定の関節を動かすモータの最高回転速度を超える範囲である」とは、両者の単位を統一したときに(たとえば、一方の単位系を他方の単位系に変換しときに)、このような大小関係があることを含む。 (2) In the above example, the same unit system (rpm) was used as the unit system for the angular velocity of the joint and the maximum rotational speed of the motor that moves the joint. There is no need to use a system of units. At least one of the two unit systems may be "rad/s", "deg/s", or "rps". In this case, "the range in which the angular velocity of a predetermined joint exceeds the maximum rotational speed of the motor that moves the predetermined joint" means that when the units of both units are unified (for example, one system of units is used as the unit of the other) (When converting into a system), there is such a magnitude relationship.
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time is an example, and is not limited to the above content only. The scope of the present invention is indicated by the claims, and it is intended that all changes within the meaning and range equivalent to the claims are included.
1 オフラインティーチング用システム、10 情報処理装置、11 プロセッサ、12 メモリ、13 入力装置、14 表示装置、15 通信インターフェイス、16 バス、20 ロボットシステム、21 ロボットコントローラ、22 ロボット、30 範囲、31,32,33 矢印、200,220 仮想化モデル、201 第1関節、202 第2関節、203 第3関節、204 第4関節、205 第5関節、206 第6関節、250,251,252,253,254,255,256 リンク、290 エンドエフェクタ、300 シミュレーションプログラム、310 数値解法プログラム、320 学習済みモデル。 1 offline teaching system, 10 information processing device, 11 processor, 12 memory, 13 input device, 14 display device, 15 communication interface, 16 bus, 20 robot system, 21 robot controller, 22 robot, 30 range, 31, 32, 33 arrow, 200, 220 virtual model, 201 first joint, 202 second joint, 203 third joint, 204 fourth joint, 205 fifth joint, 206 sixth joint, 250, 251, 252, 253, 254, 255, 256 links, 290 end effectors, 300 simulation programs, 310 numerical solution programs, 320 trained models.
Claims (10)
前記多関節ロボットの仮想化モデルが取り得る姿勢のうち、前記仮想化モデルの特異点と特異点近傍とを含む範囲を、前記シミュレータが決定するステップと、
前記シミュレータが、前記仮想化モデルにおける各関節の角度を制御することにより、前記仮想化モデルの姿勢を第1の姿勢から第2の姿勢へと遷移させるステップとを備え、
前記仮想化モデルの姿勢を前記第1の姿勢から前記第2の姿勢に遷移させるステップでは、
前記仮想化モデルの姿勢が前記範囲外のときには、前記シミュレータは、ヤコビ行列を用いて各前記関節の角度を算出し、
前記仮想化モデルの姿勢が前記範囲内のときには、前記シミュレータは、予め生成された学習済みモデルを用いて各前記関節の角度を算出する、多関節ロボットのオフラインティーチング方法。 An offline teaching method for an articulated robot using a simulator, the method comprising:
a step in which the simulator determines a range including a singular point and a vicinity of the singular point of the virtual model among postures that the virtual model of the articulated robot can take;
the simulator controlling the angle of each joint in the virtualized model to transition the posture of the virtualized model from a first posture to a second posture,
In the step of transitioning the posture of the virtualized model from the first posture to the second posture,
When the posture of the virtualized model is outside the range, the simulator calculates the angle of each joint using a Jacobian matrix,
An offline teaching method for an articulated robot, wherein when the posture of the virtualized model is within the range, the simulator calculates the angle of each joint using a learned model generated in advance.
前記多関節ロボットは、第1関節から第N関節を有するN軸の垂直多関節ロボットであり、
第j関節と、第j関節の隣の隣の第j+2関節とを結ぶ線分上に、第j関節と第j+2関節との間の第j+1関節が位置しており、
前記第j関節の回転角度を角度θj、前記第j+1関節の回転角度を角度θj+1、前記第j+2関節の回転角度を角度θj+2とすると、
前記学習済みモデルは、入力を以下の式(1)に示す3行3列の回転行列j-1Rj+2とし、かつ、出力を角度θj、θj+1、θj+2とした教師データを用いて生成されたものである、請求項1から4のいずれか1項に記載の多関節ロボットのオフラインティーチング方法。
The multi-joint robot is an N-axis vertical multi-joint robot having a first joint to an N-th joint,
The j+1 joint between the j-th joint and the j+2 joint is located on the line segment connecting the j-th joint and the j+2 joint next to the j-th joint,
Assuming that the rotation angle of the j-th joint is an angle θ j , the rotation angle of the j+1 joint is an angle θ j+1 , and the rotation angle of the j+2 joint is an angle θ j+2 ,
The trained model uses training data in which the input is a 3-by-3 rotation matrix j-1 R j+2 shown in the following equation (1), and the outputs are angles θ j , θ j+1 , θ j+2 The offline teaching method for an articulated robot according to any one of claims 1 to 4, wherein the method is a generated one.
前記教師データにおける、角度θ4および角度θ6は、0°以上かつ180°以下であり、角度θ5は-100°以上かつ100°以下である、請求項5に記載の多関節ロボットのオフラインティーチング方法。 The N is 6, the j is 4,
The offline method of the articulated robot according to claim 5, wherein angle θ 4 and angle θ 6 in the training data are 0° or more and 180° or less, and angle θ 5 is −100° or more and 100° or less. teaching method.
プロセッサと、
多関節ロボットのシミュレーションプログラムが格納されたメモリとを備え、
前記プロセッサは、前記シミュレーションプログラムを実行することにより、
前記多関節ロボットの仮想化モデルが取り得る姿勢のうち、前記仮想化モデルの特異点と特異点近傍とを含む範囲を決定し、
前記仮想化モデルにおける各関節の角度を制御することにより、前記仮想化モデルの姿勢を第1の姿勢から第2の姿勢へと遷移させ、
前記プロセッサは、前記仮想化モデルの姿勢を前記第1の姿勢から前記第2の姿勢に遷移させる際に、前記仮想化モデルの姿勢が前記範囲外のときには、ヤコビ行列を用いて各前記関節の角度を算出し、前記仮想化モデルの姿勢が前記範囲内のときには、予め生成された学習済みモデルを用いて各前記関節の角度を算出する、情報処理装置。
An information processing device,
a processor;
Equipped with a memory that stores a simulation program for an articulated robot,
By executing the simulation program, the processor
determining a range including a singular point of the virtualized model and a vicinity of the singularity among postures that the virtualized model of the articulated robot can take;
Transitioning the posture of the virtualized model from a first posture to a second posture by controlling the angle of each joint in the virtualized model,
When the posture of the virtualized model is transitioned from the first posture to the second posture, the processor uses a Jacobian matrix to change the posture of each joint when the posture of the virtualized model is outside the range. An information processing device that calculates an angle, and when the posture of the virtual model is within the range, calculates the angle of each joint using a learned model generated in advance.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022140645A JP2024035977A (en) | 2022-09-05 | 2022-09-05 | Offline teaching method for articulated robot, program, articulated robot, and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2022140645A JP2024035977A (en) | 2022-09-05 | 2022-09-05 | Offline teaching method for articulated robot, program, articulated robot, and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024035977A true JP2024035977A (en) | 2024-03-15 |
Family
ID=90198179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2022140645A Pending JP2024035977A (en) | 2022-09-05 | 2022-09-05 | Offline teaching method for articulated robot, program, articulated robot, and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2024035977A (en) |
-
2022
- 2022-09-05 JP JP2022140645A patent/JP2024035977A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11845186B2 (en) | Inverse kinematics solving method for redundant robot and redundant robot and computer readable storage medium using the same | |
Gong et al. | Analytical inverse kinematics and self-motion application for 7-DOF redundant manipulator | |
Meziane et al. | Human-robot collaboration while sharing production activities in dynamic environment: SPADER system | |
CN110682286B (en) | Real-time obstacle avoidance method for cooperative robot | |
Wang et al. | A multi-objective approach for the trajectory planning of a 7-DOF serial-parallel hybrid humanoid arm | |
CN104760041A (en) | Barrier escaping motion planning method based on impact degree | |
Dou et al. | Inverse kinematics for a 7-DOF humanoid robotic arm with joint limit and end pose coupling | |
KR102030141B1 (en) | Method and system for controlling elbow of robot | |
Li et al. | Development of articulated robot trajectory planning | |
Galin et al. | Mathematical modelling and simulation of human-robot collaboration | |
Fratu et al. | Using the redundant inverse kinematics system for collision avoidance | |
Eftekhari et al. | Neuro-fuzzy adaptive control of a revolute stewart platform carrying payloads of unknown inertia | |
Sharkawy | Intelligent Control and Impedance Adjustment for Efficient Human-Robot Cooperation | |
Gan et al. | Human-like manipulation planning for articulated manipulator | |
JP2024035977A (en) | Offline teaching method for articulated robot, program, articulated robot, and information processing device | |
Wolniakowski et al. | Towards human-like kinematics in industrial robotic arms: a case study on a UR3 robot | |
Cakir et al. | An educational tool for 6‐DOF industrial robots with quaternion algebra | |
Chaudhary et al. | Position analysis based approach for trajectory tracking control of scorbot-er-v plus robot manipulator | |
Su et al. | Adaptive coordinated motion constraint control for cooperative multi-manipulator systems | |
Chen et al. | Kinematics optimization of a novel 7-DOF redundant manipulator | |
AL-Tameemi et al. | Kinematics analysis of 5250 lab-volt 5-DoF robot arm | |
Gan et al. | A Reinforcement Learning Method for Motion Control With Constraints on an HPN Arm | |
Lai | A fast task planning system for 6R articulated robots based on inverse kinematics | |
Bhardwaj et al. | An unsupervised neural network approach for inverse kinematics solution of manipulator following kalman filter based trajectory | |
Mattar | A practical neuro-fuzzy mapping and control for a 2 DOF robotic arm system |