JP6540810B2 - Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program - Google Patents

Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program Download PDF

Info

Publication number
JP6540810B2
JP6540810B2 JP2017534066A JP2017534066A JP6540810B2 JP 6540810 B2 JP6540810 B2 JP 6540810B2 JP 2017534066 A JP2017534066 A JP 2017534066A JP 2017534066 A JP2017534066 A JP 2017534066A JP 6540810 B2 JP6540810 B2 JP 6540810B2
Authority
JP
Japan
Prior art keywords
hand
articulated robot
parameter
observation data
individual error
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017534066A
Other languages
Japanese (ja)
Other versions
JPWO2017026045A1 (en
Inventor
左千夫 小林
左千夫 小林
村上 亮
亮 村上
小林 弘樹
弘樹 小林
正芳 橋間
正芳 橋間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2017026045A1 publication Critical patent/JPWO2017026045A1/en
Application granted granted Critical
Publication of JP6540810B2 publication Critical patent/JP6540810B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Description

本開示は、ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラムに関する。   The present disclosure relates to a hand force sense measurement device, a hand force sense measurement method, and a hand force sense measurement program.

ロボットのハンド(アーム先端部などの先端)において作用している外力を、力覚センサを用いずに算出する方法が知られている。かかる方法としては、駆動トルク及びトルク指令値との差を外部トルクとして算出し、関節角度に基づいてヤコビ行列を算出し、ヤコビ行列及び外部トルクから外力を算出する方法がある。   There is known a method of calculating an external force acting on a robot hand (tip such as an arm tip) without using a force sensor. As such a method, there is a method of calculating a difference between a driving torque and a torque command value as an external torque, calculating a Jacobian matrix based on a joint angle, and calculating an external force from the Jacobian matrix and an external torque.

特開2010−105138号公報JP, 2010-105138, A

しかしながら、従来の方法では、ロボットの個体毎に異なりうる誤差(個体誤差)を補正せずに外力を算出するので、外力の算出精度が悪くなる可能性がある。   However, in the conventional method, the external force is calculated without correcting an error (individual error) which may differ for each individual robot, so the calculation accuracy of the external force may deteriorate.

そこで、本開示は、外力の算出精度が良好となるハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラムの提供を目的とする。   Therefore, the present disclosure aims to provide a hand force sense measurement device, a hand force sense measurement method, and a hand force sense measurement program, in which calculation accuracy of an external force is good.

本開示の一局面によれば、リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータと、前記リンクパラメータに影響する前記多関節ロボットの個体誤差とに基づいて、前記多関節ロボットのハンドに作用する外力を算出する処理装置を含み、前記個体誤差は、前記多関節ロボットを実際に動かしたときの前記ハンドの位置の観測データに基づいて導出され、前記観測データは、前記多関節ロボットのハンドの位置と、前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記多関節ロボットの各関節の関節角度とを含み、前記個体誤差は、後述の数4のパラメータを最小とするパラメータΔを算出することで算出され、Pは、前記観測データに基づく前記ハンドの位置であり、Σは、前記観測データの複数のサンプルを累算することを表し、φ(θ ,θ ,…,θ )は、各関節角度がθ ,θ ,...,θ であるときの前記ハンドの理論位置を表し、各関節角度がθ ,θ ,...,θ は、前記観測データに基づき、前記ハンドの理論位置φ(θ ,θ ,...,θ )は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、ハンド力覚計測装置が提供される。
According to one aspect of the present disclosure, based on link parameters that geometrically represent the position and orientation relationship between links in an articulated robot including a link mechanism, and individual errors of the articulated robot that affect the link parameters. the saw including a processor for calculating the external force acting on the articulated robot hand, the individual error is derived based on the observation data of the position of the hand when the actually moved articulated robot, the The observation data includes the position of the hand of the articulated robot, the command value of the driving torque to the motor for applying torque to each joint of the articulated robot, and the joint angle of each joint of the articulated robot, The individual error is calculated by calculating a parameter Δ that minimizes a parameter of Equation 4 described later, and P is the value based on the observation data. A position, sigma, the indicates that accumulates multiple samples of the observed data, φ (θ 0, θ 1 , ..., θ n) is each joint angle θ 0, θ 1, .. , Θ n represents the theoretical position of the hand, and each joint angle θ 0 , θ 1 ,..., Θ n is the theoretical position φ (θ 0 , A hand force measurement apparatus is provided in which θ 1 ,..., θ n ) is expressed based on the parameter Δ and the link parameter .

本開示によれば、外力の算出精度が良好となるハンド力覚計測装置等が得られる。   According to the present disclosure, it is possible to obtain a hand force sense measurement device and the like in which the calculation accuracy of the external force is improved.

リンク機構を備える多関節ロボットの一例を示す図である。It is a figure which shows an example of an articulated robot provided with a link mechanism. 多関節ロボットの機構モデルを示す図である。It is a figure which shows the mechanical model of an articulated robot. 多関節ロボットの幾何的関係を示す図である。It is a figure which shows the geometrical relationship of an articulated robot. 多関節ロボットにかかる外力の説明図である。It is explanatory drawing of the external force concerning an articulated robot. 関節における駆動機構の説明図である。It is explanatory drawing of the drive mechanism in a joint. 多関節ロボット1の制御ブロックの一例を示す図である。FIG. 2 is a view showing an example of a control block of the articulated robot 1; 個体誤差の算出方法の説明図である。It is explanatory drawing of the calculation method of an individual difference | error. 観測データの取得方法の説明図である。It is explanatory drawing of the acquisition method of observation data. 観測データの取得方法の説明図である。It is explanatory drawing of the acquisition method of observation data. 観測データの取得方法の説明図である。It is explanatory drawing of the acquisition method of observation data. ハンド力覚計測装置の処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the processing apparatus of a hand force sense measuring apparatus. 処理装置の機能の一例を示す機能ブロック図である。It is a functional block diagram showing an example of a function of a processing device. 処理装置により実行される処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process performed by a processing apparatus.

以下、添付図面を参照しながら各実施例について詳細に説明する。   Hereinafter, each example will be described in detail with reference to the attached drawings.

図1は、リンク機構を備える多関節ロボットの一例を示す図である。図1に示す例では、多関節ロボット1は、リンク機構として、2つの関節11及び12と3つのリンク21〜23とを備える。多関節ロボット1は、リンク機構の一端に基部2を備え、他端(先端)に手先30を備える。手先30には、ハンド32が装着される。ハンド32は、ワーク(図示せず)を把持する等の機能を有する。   FIG. 1 is a view showing an example of an articulated robot provided with a link mechanism. In the example illustrated in FIG. 1, the articulated robot 1 includes two joints 11 and 12 and three links 21 to 23 as link mechanisms. The articulated robot 1 includes the base 2 at one end of the link mechanism and the hand 30 at the other end (tip). The hand 32 is attached to the hand 30. The hand 32 has a function of gripping a work (not shown) or the like.

図2は、多関節ロボットの機構モデルを示す図であり、図3は、多関節ロボットの幾何的関係を示す図であり、図4は、多関節ロボットにかかる外力の説明図である。   FIG. 2 is a view showing a mechanical model of the articulated robot, FIG. 3 is a view showing a geometrical relationship of the articulated robot, and FIG. 4 is an explanatory view of an external force applied to the articulated robot.

図2は、図1に示す多関節ロボット1の機構モデルを示す。以下では、各関節に基部2から手先30に向かう順序で番号i = 0,1, 2, . . ., n(以下、「関節番号」と称する)を付与する。基部2は関節番号i=0とする。図3に示す例では、関節11(i=1)に関して、関節角がθで示され、リンク長がLで示されている。また、関節12(i=2)に関して、関節角がθで示され、リンク長がLで示されている。関節角は、特に言及しない限り、z軸まわりの関節角を表す。座標軸は、リンクの方向がx軸であり、紙面に対して垂直な方向がz軸であり、y軸はx軸及びz軸に垂直な軸である。図3における"X"は、ハンド32の位置を表すパラメータであり、基部2を原点とする座標系で表される。図4に示すように、各関節には、後述の駆動機構を介してトルクT及びTがそれぞれ付与され、ハンド32には、作業時に外力Fが付与される。尚、図4において、点線は、外力Fがかからない場合、指令値通りに駆動されたときの多関節ロボット1の状態を示す。外力Fがかかることで、ハンド32の位置等が変化されることが分かる。FIG. 2 shows a mechanical model of the articulated robot 1 shown in FIG. Hereinafter, the numbers i = 0, 1, 2,..., N (hereinafter referred to as “joint numbers”) are given to the joints in the order from the base 2 to the hand 30. The base 2 has joint number i = 0. In the example shown in FIG. 3, the joint angle is indicated by θ 1 and the link length is indicated by L 1 with respect to the joint 11 (i = 1). Also, for the joint 12 (i = 2), the joint angle is indicated by θ 2 and the link length is indicated by L 2 . The joint angle represents the joint angle around the z-axis unless otherwise stated. In the coordinate axes, the link direction is the x-axis, the direction perpendicular to the paper is the z-axis, and the y-axis is an axis perpendicular to the x-axis and the z-axis. “X” in FIG. 3 is a parameter representing the position of the hand 32, and is represented by a coordinate system with the base 2 as the origin. As shown in FIG. 4, torques T 1 and T 2 are respectively applied to the joints via a drive mechanism described later, and an external force F is applied to the hand 32 at the time of operation. In FIG. 4, the dotted line shows the state of the articulated robot 1 when driven according to the command value when the external force F is not applied. By applying the external force F, it can be seen that the position or the like of the hand 32 is changed.

図5は、関節における駆動機構の説明図であり、駆動機構を概略的に示す図である。駆動機構は、関節毎に設けられる。駆動機構40は、モータ41と、減速機42とを含む。モータ41の回転トルクは、減速機42を介して増大され、リンク22とリンク23との間の関節12まわりの相対回転を生じさせる。モータ41には、モータ41の回転角を計測するエンコーダ43が設けられる。   FIG. 5 is an explanatory view of a drive mechanism in a joint, schematically showing the drive mechanism. A drive mechanism is provided for each joint. The drive mechanism 40 includes a motor 41 and a speed reducer 42. The rotational torque of the motor 41 is increased via the reduction gear 42 to cause relative rotation around the joint 12 between the link 22 and the link 23. The motor 41 is provided with an encoder 43 that measures the rotation angle of the motor 41.

図6は、多関節ロボット1の制御ブロックの一例を示す図である。図6において、点線で囲まれた部分は、制御対象を表す。   FIG. 6 is a view showing an example of a control block of the articulated robot 1. In FIG. 6, a portion surrounded by a dotted line represents a control target.

図6に示すように、先ず、目標位置算出部600においてハンド32の目標位置Xrefが算出される。次いで、コンプライアンス計算部601において、目標位置Xrefと、外力Fとに基づいて、位置補正量Δxが算出される。コンプライアンス計算は、以下の特性方程式で表すことができる。As shown in FIG. 6, first, the target position calculation unit 600 calculates the target position X ref of the hand 32. Next, in the compliance calculation unit 601, the position correction amount Δx is calculated based on the target position X ref and the external force F. The compliance calculation can be expressed by the following characteristic equation.

Figure 0006540810
ここで、Δxは位置補正量、M(ハット付き)は仮想慣性係数、D(ハット付き)は仮想粘性係数、K(ハット付き)は仮想剛性係数を表す。Δxの上に付されたドットは、微分を表し、2つのドットは、2回微分を表す。コンプライアンス計算部601では、外力Fから特性方程式を満足するようにΔxが算出される。次いで、変換部602において、位置補正量Δxに基づいて、逆キネマティクス計算により関節角補正量Δθが算出される。次いで、位置・速度制御部603では、関節角補正量Δθと現在の関節角θ(エンコーダ43の計測値)とに基づいて、各モータ41に印加する電流値uを算出し、該電流値uに応じた電流を各モータ41に印加する。
Figure 0006540810
Here, Δx represents a position correction amount, M (with a hat) represents a virtual inertia coefficient, D (with a hat) represents a virtual viscosity coefficient, and K (with a hat) represents a virtual stiffness coefficient. Dots placed above Δx represent derivatives, and two dots represent derivatives twice. The compliance calculating unit 601 calculates Δx from the external force F so as to satisfy the characteristic equation. Next, in the conversion unit 602, the joint angle correction amount Δθ is calculated by inverse kinematics calculation based on the position correction amount Δx. Next, the position / speed controller 603 calculates the current value u applied to each motor 41 based on the joint angle correction amount Δθ and the current joint angle θ (measurement value of the encoder 43), and the current value u The current corresponding to the current is applied to each motor 41.

次に、多関節ロボット1の手先30(又はハンド32、以下同じ)にかかる外力Fを算出(計測)するハンド力覚計測方法(装置)について説明する。尚、図6に示す制御において、外力Fは、以下で説明するハンド力覚計測装置で算出(計測)される値を用いることができる。   Next, a hand force sense measurement method (apparatus) for calculating (measuring) the external force F applied to the hand 30 (or the hand 32, hereinafter the same) of the articulated robot 1 will be described. In the control shown in FIG. 6, the external force F can use a value calculated (measured) by the hand force sense measuring device described below.

本実施例では、ハンド力覚計測装置70は、多関節ロボット1におけるリンク間の位置及び姿勢関係を幾何的に表すパラメータと、該パラメータに影響する多関節ロボット1の個体誤差とに基づいて、多関節ロボット1の手先30にかかる外力Fを算出する。   In the present embodiment, the hand force sense measurement device 70 is based on parameters that geometrically represent the position and posture relationship between links in the articulated robot 1 and individual errors of the articulated robot 1 that affect the parameters. The external force F applied to the hand 30 of the articulated robot 1 is calculated.

多関節ロボット1におけるリンク間の位置及び姿勢関係を幾何的に表すパラメータとは、いわゆるリンクパラメータである。リンクパラメータは、隣接する2つのリンク間の位置・姿勢関係を、3個の並進成分、及び3個の回転成分で表す。リンクパラメータは、行列(後述の行列M参照)により表現できる。但し、リンクパラメータは、D-H(Denabit-Hartenberg)パラメータであってもよい。The parameters that geometrically represent the position and posture relationship between links in the articulated robot 1 are so-called link parameters. The link parameter represents the position-attitude relationship between two adjacent links by three translation components and three rotation components. The link parameters can be expressed by a matrix (see matrix M i described later). However, the link parameter may be a DH (Denabit-Hartenberg) parameter.

個体誤差は、静的誤差と姿勢依存誤差とを含む。静的誤差とは、多関節ロボット1の姿勢に依存しない誤差であり、例えば、部品の加工誤差、組付誤差、温度による変形、エンコーダ43の0点誤差などがある。姿勢依存誤差とは、バックラッシュ、ガタを含んだ自重・荷重によるリンクのたわみ誤差、制御モデル誤差などがある。   The individual errors include static errors and attitude dependent errors. The static error is an error that does not depend on the attitude of the articulated robot 1 and includes, for example, machining errors of parts, assembly errors, deformation due to temperature, and zero point errors of the encoder 43. The attitude dependent error includes backlash, link deflection error due to weight and load including rattling, and control model error.

個体誤差は、リンクパラメータに影響する個体誤差であり、例えば、リンクパラメータと同様、3個の並進成分、及び3個の回転成分で表される。   The individual error is an individual error that affects the link parameter, and is represented by, for example, three translation components and three rotation components as in the link parameter.

個体誤差は、多関節ロボット1の個体毎に、各種試験を行って得られたデータに基づいて導出できる。データは、例えば、多関節ロボット1の制御情報(モータトルクの指令値など)と、そのときの手先30の位置(ハンド位置)や多関節ロボット1の姿勢(関節角度など)とに関するデータである。尚、手先30の位置は、例えばカメラ(モーションキャプチャ)などの3次元位置計測装置50(図10参照)で計測できる。この種のセンサは、手先30の位置決め用のセンサが用いられてもよい。   The individual error can be derived based on data obtained by performing various tests for each individual of the articulated robot 1. The data is, for example, data relating to control information (command value of motor torque etc.) of the articulated robot 1 and the position (hand position) of the hand 30 at that time and the posture (joint angle etc.) of the articulated robot 1 . The position of the hand 30 can be measured by, for example, a three-dimensional position measurement device 50 (see FIG. 10) such as a camera (motion capture). As this type of sensor, a sensor for positioning the hand 30 may be used.

図7は、個体誤差の算出方法の説明図であり、個体誤差の算出方法の流れを示す概略的なフローチャートである。ここでは、ある1つの多関節ロボット1に対する個体誤差の算出方法について説明する。   FIG. 7 is an explanatory diagram of a method of calculating an individual error, and is a schematic flowchart showing a flow of a method of calculating an individual error. Here, a method of calculating an individual error for one certain articulated robot 1 will be described.

ステップS700では、設計者(又はその補助者、以下同じ)は、多関節ロボット1を実働させることで観測データを取得(収集)する。例えば、図8Aに示すようなハンド32の未装着状態、図8Bに示すようなハンド32の装着状態、及び図8Cに示すようなワークWの把持状態のそれぞれで、多関節ロボット1に同じ動作をさせる。例えば、ロボット動作範囲内に置いた格子点に、上下左右前後など複数の方向から手先30をアプローチさせて静定する。このとき、設計者(又はその補助者)は、以下の情報を時系列データとして収集する。
(1)モータトルクの指令値のような制御情報
(2)ハンド位置及び姿勢を含む計測情報(モーションキャプチャ及びエンコーダ43で計測)
ステップS702では、設計者は、計算機を用いて、多関節ロボット1に外力がかかっていない静止状態で得た観測データ(例えば、図8Aの状態で得られる観測データ)に基づいて、静的誤差の各要素を計算する。具体的には、まず、個体誤差を含むリンク構造を、該個体誤差を幾何的に表現した行列M'で表現する。
In step S700, the designer (or his / her assistant, the same applies hereinafter) acquires (collects) observation data by causing the articulated robot 1 to work. For example, in the unmounted state of the hand 32 as shown in FIG. 8A, the mounting state of the hand 32 as shown in FIG. 8B, and the gripping state of the work W as shown in FIG. Let For example, the hand 30 is approached and fixed from a plurality of directions such as up, down, left, right, front, and back to a grid point placed within the robot movement range. At this time, the designer (or his assistant) collects the following information as time-series data.
(1) Control information such as command value of motor torque (2) Measurement information including hand position and attitude (measured by motion capture and encoder 43)
In step S702, the designer uses a computer to calculate static errors based on observation data (eg, observation data obtained in the state of FIG. 8A) obtained in a stationary state in which no external force is applied to the articulated robot 1. Calculate each element of. Specifically, first, a link structure including an individual error is represented by a matrix M i ′ that geometrically represents the individual error.

Figure 0006540810
ここで、iは、上述した関節番号であり、行列M'は関節番号毎に算出される。行列Mは、上述したリンクパラメータを表す行列(隣接する2つのリンク間の変換行列)である。数2における行列Cは、リンクパラメータの行列Mを補正するための行列であり、以下、「補正行列C」と称する。補正行列Cは、数2に示すように、3個の並進成分のそれぞれに係る個体誤差Δx,Δy,Δz(第1個体誤差の一例)、及び3個の回転成分のそれぞれに係る個体誤差δixiyiz(第2個体誤差の一例)を含む。個体誤差Δx,Δy,Δzは、静的誤差のみを含む。他方、個体誤差δixは、静的誤差と、姿勢依存誤差とを含み、例えば以下のとおりである。
Figure 0006540810
Here, i is the joint number described above, and the matrix M i ′ is calculated for each joint number. The matrix M i is a matrix (a transformation matrix between two adjacent links) representing the link parameters described above. The matrix C i in Equation 2 is a matrix for correcting the matrix M i of link parameters, and is hereinafter referred to as “correction matrix C i ”. As shown in equation 2, the correction matrix C i has individual errors Δx i , Δy i , Δz i (an example of a first individual error) relating to each of the three translational components, and three rotation components. The individual errors δ ix , δ iy and δ iz (an example of the second individual error) are included. The individual errors Δx i , Δy i and Δz i include only static errors. On the other hand, the individual error δ ix includes a static error and an attitude dependent error, and is, for example, as follows.

Figure 0006540810
ここで、δ0,ixは静的誤差を表し、Dixは姿勢依存誤差(回転誤差として表現)を表す。個体誤差δiy、及びδizについても同様である。
Figure 0006540810
Here, δ 0, ix represents a static error, and D ix represents an attitude dependent error (represented as a rotation error). The same applies to the individual errors δ iy and δ iz .

この場合、設計者は、観測データに基づいて、以下の数4を最小とするΔを算出する。   In this case, based on the observation data, the designer calculates Δ that minimizes the following Equation 4.

Figure 0006540810
ここで、Pは、ハンド32の計測位置であり、観測データに基づく。Σは、Pの全数分を累算することを表す。φ(θ,θ,...,θ)は、各関節角度がθ,θ,...,θであるときのハンド32の理論位置である。φ(θ,θ,...,θ)は、以下の通りである。尚、各関節角度がθ,θ,...,θは、観測データに基づく。
Figure 0006540810
Here, P is the measurement position of the hand 32, and is based on observation data. Σ represents accumulating the whole number of P. φ (θ 0, θ 1, ..., θ n) , each joint angle is θ 0, θ 1, ..., the theoretical position of the hand 32 when a theta n. φ (θ 0 , θ 1 ,..., θ n ) is as follows. The joint angles θ 0 , θ 1 ,..., Θ n are based on observation data.

Figure 0006540810
ここで、行列M'は、数2で示した通りである。但し、数5では、行列M'は、静的誤差のみを含むものとする。即ち、Dix=0、Diy=0、及びDiz=0として、Δを算出(同定)する。Δは、以下のとおりである。
Figure 0006540810
Here, the matrix M i ′ is as shown in Equation 2. However, in Equation 5, the matrix M i ′ includes only static errors. That is, Δ is calculated (identified) with D ix = 0, D iy = 0, and D iz = 0. Δ is as follows.

Figure 0006540810
また、数4において、Jはヤコビ行列であり、φ(数5)をΔで偏微分することで導出できる。
Figure 0006540810
In Equation 4, J is a Jacobian matrix, which can be derived by partially differentiating φ (Equation 5) with Δ.

ステップS704では、設計者は、計算機を用いて、多関節ロボット1に外力がかかった静止状態で得た観測データ(例えば、図8B及び図8Cの状態で得られる観測データ)に基づいて、姿勢依存誤差の各要素を計算する。具体的には、設計者は、同様に、観測データに基づいて、上記の数4を最小とするΔを算出する。数5では、行列M'は、以下のように、静的誤差及び姿勢依存誤差を含むものとする。このとき、静的誤差Δx,Δy,Δz、及びδ0,ix0,iy0,izはステップS702で同定した値を用いる。In step S704, the designer uses the computer to pose based on observation data obtained in a stationary state in which an external force is applied to the articulated robot 1 (for example, observation data obtained in the state of FIG. 8B and FIG. 8C). Calculate each element of dependency error. Specifically, the designer similarly calculates Δ, which minimizes the above equation 4, based on the observation data. In equation 5, the matrix M i ′ includes static errors and attitude dependent errors as follows. At this time, the static errors Δx i , Δy i , Δz i and δ 0, ix , δ 0, i y, δ 0, iz use the values identified in step S702.

Figure 0006540810
上記の数4において、Δは、以下のとおりである。
Figure 0006540810
In the above equation 4, Δ is as follows.

Figure 0006540810
ここで、Dix、Diy、及びDizは、以下のとおりである。
Figure 0006540810
Here, Dix , Diy , and Diz are as follows.

Figure 0006540810
ここで、τは、モータトルクの指令値である。この場合、上記の数4を最小とする弾性係数kix、kiy、及びkizを求めることになる。尚、姿勢依存誤差Dix、Diy、及びDizは、弾性係数kix、kiy、及びkizが求まると、数8から分かるように、弾性係数kix、kiy、及びkizと、モータトルクの指令値τとに基づいて算出できる。
Figure 0006540810
Here, τ i is a command value of motor torque. In this case, the elastic coefficients k ix , k iy and k iz which minimize the above equation 4 will be obtained. Note that the posture dependent errors D ix , D iy , and D iz are elastic coefficients k ix , k iy , and k iz as can be seen from equation 8 when the elastic coefficients k ix , k iy , and k iz are determined. It can be calculated based on the command value tau i of the motor torque.

このようにして図7に示す個体誤差の算出方法によれば、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)を算出できる。尚、図7に示す例では、設計者が計算機を用いて個体誤差(補正行列C)を算出しているが、後述のように、処理装置(例えば後述の処理装置100の個体誤差計算部114)が算出することも可能である。Thus, according to the calculation method of the individual error shown in FIG. 7, the individual error (static error and attitude dependent error) can be calculated based on the observation data. In the example shown in FIG. 7, the designer calculates the individual error (correction matrix C i ) using a computer, but as described later, the processor (for example, the individual error calculator of the processor 100 described later) It is also possible to calculate 114).

次に、ハンド力覚計測装置70の構成例及び動作例について説明する。   Next, a configuration example and an operation example of the hand force sense measuring device 70 will be described.

ハンド力覚計測装置70は、処理装置100を含む。   The hand force sense measurement device 70 includes the processing device 100.

図9は、処理装置100のハードウェア構成の一例を示す図である。   FIG. 9 is a diagram showing an example of the hardware configuration of the processing apparatus 100. As shown in FIG.

図9に示す例では、処理装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。   In the example illustrated in FIG. 9, the processing device 100 includes a control unit 101, a main storage unit 102, an auxiliary storage unit 103, a drive device 104, a network I / F unit 106, and an input unit 107.

制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。   The control unit 101 is an arithmetic unit that executes a program stored in the main storage unit 102 or the auxiliary storage unit 103. The control unit 101 receives data from the input unit 107 or the storage device, processes it, and outputs it to the storage device or the like. Do.

主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部102は、制御部101が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。   The main storage unit 102 is a read only memory (ROM) or a random access memory (RAM). The main storage unit 102 is a storage device for storing or temporarily storing programs and data such as an OS (Operating System) and application software which are basic software executed by the control unit 101.

補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。   The auxiliary storage unit 103 is a hard disk drive (HDD) or the like, and is a storage device that stores data related to application software and the like.

ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。   The drive device 104 reads a program from a recording medium 105, for example, a flexible disk, and installs the program in a storage device.

記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介して処理装置100にインストールされる。インストールされた所定のプログラムは、処理装置100により実行可能となる。   The recording medium 105 stores a predetermined program. The program stored in the recording medium 105 is installed in the processing device 100 via the drive device 104. The installed predetermined program can be executed by the processing device 100.

ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器と処理装置100とのインターフェースである。   The network I / F unit 106 is an interface between the processing device 100 and a peripheral device having a communication function connected via a network established by a data transmission path such as a wired and / or wireless link.

入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやタッチパッド等を有する。   The input unit 107 includes a keyboard provided with cursor keys, numeric inputs, various function keys, and the like, a mouse, a touch pad, and the like.

尚、図9に示す例において、以下で説明する各種処理等は、プログラムを処理装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を処理装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、記録媒体105は、CD(Compact Disc)−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。   In the example shown in FIG. 9, various processes described below can be realized by causing the processing device 100 to execute a program. Alternatively, the program may be recorded on the recording medium 105, and the recording medium 105 on which the program is recorded may be read by the processing apparatus 100 to realize various processes described below. Note that various types of recording media can be used as the recording medium 105. For example, the recording medium 105 may be a recording medium for recording information optically, electrically or magnetically such as a CD (Compact Disc) -ROM, a flexible disc, a magneto-optical disc etc., an information such as a ROM, a flash memory etc. May be a semiconductor memory or the like for electrically recording. The recording medium 105 does not include a carrier wave.

図10は、処理装置100の機能の一例を示す機能ブロック図である。図10には、処理装置100に接続される構成要素(3次元位置計測装置50等)についても併せて図示されている。   FIG. 10 is a functional block diagram showing an example of the function of the processing device 100. As shown in FIG. In FIG. 10, components (three-dimensional position measuring device 50 and the like) connected to the processing device 100 are also illustrated.

処理装置100は、図10に示すように、観測データ取得部90を含む。また、処理装置100は、ハンド位置計測値取得部110、関節角取得部111、モータトルク取得部112、リンクパラメータ計算部113、個体誤差計算部114、リンクパラメータ補正部115、及びヤコビ行列計算部116を含む。また、処理装置100は、運動パラメータ計算部117、トルク算出部118、及び外力計算部119を含む。各部90、110〜119は、制御部101が主記憶部102に記憶された1つ以上のプログラムを実行することにより実現できる。また、処理装置100は、観測データ記憶部120、個体誤差記憶部121、及び運動パラメータ記憶部122を含む。観測データ記憶部120、個体誤差記憶部121、及び運動パラメータ記憶部122は、例えば補助記憶部103により実現できる。   The processing device 100 includes an observation data acquisition unit 90 as shown in FIG. The processing device 100 further includes a hand position measurement value acquisition unit 110, a joint angle acquisition unit 111, a motor torque acquisition unit 112, a link parameter calculation unit 113, an individual error calculation unit 114, a link parameter correction unit 115, and a Jacobian matrix calculation unit. 116 is included. The processing device 100 also includes a motion parameter calculator 117, a torque calculator 118, and an external force calculator 119. Each of the units 90 and 110 to 119 can be realized by the control unit 101 executing one or more programs stored in the main storage unit 102. The processing device 100 also includes an observation data storage unit 120, an individual error storage unit 121, and a motion parameter storage unit 122. The observation data storage unit 120, the individual error storage unit 121, and the motion parameter storage unit 122 can be realized by the auxiliary storage unit 103, for example.

観測データ取得部90は、多関節ロボット1の実働中の観測データを取得(収集)し、観測データ記憶部120に記憶する。例えば、観測データ取得部90は、ハンド位置計測値取得部110からの情報に基づいて、多関節ロボット1が静定したタイミングを検出し、該タイミングにおける観測データを取得する。観測データは、上述のとおりであり、ハンド位置計測値取得部110、関節角取得部111及びモータトルク取得部112から取得できる。   The observation data acquisition unit 90 acquires (collects) observation data in operation of the articulated robot 1 and stores the observation data in the observation data storage unit 120. For example, the observation data acquisition unit 90 detects the timing at which the articulated robot 1 has settled based on the information from the hand position measurement value acquisition unit 110, and acquires observation data at that timing. The observation data is as described above, and can be acquired from the hand position measurement value acquisition unit 110, the joint angle acquisition unit 111, and the motor torque acquisition unit 112.

ハンド位置計測値取得部110は、3次元位置計測装置50からハンド32の3次元位置の計測値を取得する。   The hand position measurement value acquisition unit 110 acquires measurement values of the three-dimensional position of the hand 32 from the three-dimensional position measurement apparatus 50.

関節角取得部111は、各エンコーダ43から各関節の関節角の検出値を取得する。   The joint angle acquisition unit 111 acquires the detection value of the joint angle of each joint from each encoder 43.

モータトルク取得部112は、モータ駆動部52から各関節に係るモータ41の駆動トルクの指令値(モータトルクの指令値)を取得する。モータ駆動部52は、例えばモータコントローラ(図6参照)により実現されてもよい。   The motor torque acquisition unit 112 acquires from the motor drive unit 52 a command value (a command value of the motor torque) of the drive torque of the motor 41 related to each joint. The motor drive unit 52 may be realized by, for example, a motor controller (see FIG. 6).

リンクパラメータ計算部113は、関節角取得部111からの情報に基づいて、リンクパラメータを算出する。リンクパラメータ計算部113は、個体誤差を含まないリンクパラメータを算出する。即ち、リンクパラメータ計算部113は、行列Mを算出する。行列Mは上述のとおりである。The link parameter calculation unit 113 calculates link parameters based on the information from the joint angle acquisition unit 111. The link parameter calculation unit 113 calculates link parameters that do not include individual errors. That is, the link parameter calculation unit 113 calculates the matrix M i . The matrix M i is as described above.

個体誤差計算部114は、観測データ記憶部120からの情報に基づいて、リンクパラメータに影響する多関節ロボット1の個体誤差を算出する。例えば、個体誤差計算部114は、補正行列Cを算出する。補正行列Cの算出方法は上述のとおりである。個体誤差計算部114は、算出した個体誤差を個体誤差記憶部121に記憶する。個体誤差計算部114は、実稼働中に、定期的に、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を再算出(更新)してよい。或いは、個体誤差計算部114は、実稼働中に、新たな観測データが取得される毎に、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を再算出(更新)してもよい。The individual error calculation unit 114 calculates an individual error of the articulated robot 1 affecting the link parameter based on the information from the observation data storage unit 120. For example, the individual error calculation unit 114 calculates the correction matrix C i . The method of calculating the correction matrix C i is as described above. The individual error calculation unit 114 stores the calculated individual error in the individual error storage unit 121. The individual error calculation unit 114 may periodically recalculate (update) the individual error based on the latest observation data stored in the observation data storage unit 120 during operation. Alternatively, the individual error calculation unit 114 recalculates (updates) the individual error based on the latest observation data accumulated in the observation data storage unit 120 each time new observation data is acquired during actual operation. You may

リンクパラメータ補正部115は、関節角取得部111、リンクパラメータ計算部113、及び個体誤差記憶部121からの情報に基づいて、リンクパラメータ計算部113で算出されたリンクパラメータを補正する。即ち、リンクパラメータ補正部115は、行列M'を算出する。行列M'の算出方法は上述のとおりである。The link parameter correction unit 115 corrects the link parameter calculated by the link parameter calculation unit 113 based on the information from the joint angle acquisition unit 111, the link parameter calculation unit 113, and the individual error storage unit 121. That is, the link parameter correction unit 115 calculates the matrix M i ′. The method of calculating the matrix M i ′ is as described above.

ヤコビ行列計算部116は、関節角取得部111及びリンクパラメータ補正部115からの情報に基づいて、ヤコビ行列J1を算出する。ヤコビ行列の算出方法は上述のとおりである。   The Jacobian matrix calculation unit 116 calculates the Jacobian matrix J1 based on the information from the joint angle acquisition unit 111 and the link parameter correction unit 115. The method of calculating the Jacobian matrix is as described above.

運動パラメータ計算部117は、個体誤差記憶部121に基づいて、個体誤差を反映した運動パラメータを算出する。即ち、個体誤差により各リンクの長さなどが変わるため、運動パラメータ計算部117は、個体誤差記憶部121から得られる個体誤差に基づいて、運動パラメータを算出する。運動パラメータは、例えば、ロボットアームの動力学運動方程式に係るパラメータであり、慣性行列、非線形項(遠心力、コリオリ力など)、及び重力項とを含む(後述の数10参照)。運動パラメータ計算部117は、算出した運動パラメータを運動パラメータ記憶部122に記憶する。運動パラメータ計算部117は、実稼働中に、定期的に、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを再算出(更新)してよい。或いは、個体誤差計算部114は、実稼働中に、個体誤差記憶部121内の個体誤差が更新される毎に、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを再算出(更新)してもよい。   The motion parameter calculation unit 117 calculates a motion parameter reflecting the individual error based on the individual error storage unit 121. That is, since the length of each link changes according to the individual error, the motion parameter calculation unit 117 calculates the motion parameter based on the individual error obtained from the individual error storage unit 121. The motion parameter is, for example, a parameter related to a kinetic equation of motion of the robot arm, and includes an inertia matrix, a non-linear term (centrifugal force, Coriolis force, etc.), and a gravity term (see Equation 10 below). The motion parameter calculation unit 117 stores the calculated motion parameter in the motion parameter storage unit 122. The movement parameter calculation unit 117 may periodically recalculate (update) the movement parameter based on the latest individual error stored in the individual error storage unit 121 during actual operation. Alternatively, each time the individual error in the individual error storage unit 121 is updated during actual operation, the individual error calculation unit 114 calculates the motion parameter based on the latest individual error stored in the individual error storage unit 121. It may be recalculated (updated).

トルク算出部118は、運動パラメータ記憶部122からの運動パラメータと、関節角取得部111からの情報とに基づいて、各モータ41の駆動トルクを算出する。駆動トルクは、ロボットアームの動力学運動方程式に基づいて、以下のように算出できる。   The torque calculation unit 118 calculates the drive torque of each motor 41 based on the motion parameter from the motion parameter storage unit 122 and the information from the joint angle acquisition unit 111. The driving torque can be calculated as follows based on the kinetic motion equation of the robot arm.

Figure 0006540810
ここで、θは、以下のとおりである。
θ=[θ,θ,...,θ
また、上に"〜"が付いたMは、慣性行列を表し、上に"〜"が付いたHは、非線形項を表し、上に"〜"が付いたHは、重力項を表す。
Figure 0006540810
Here, θ is as follows.
θ = [θ 0 , θ 1 ,..., θ n ]
In addition, M with "-" at the top represents an inertia matrix, H with "-" at the top represents a non-linear term, and H with "-" at the top represents a gravity term.

外力計算部119は、モータトルク取得部112、ヤコビ行列計算部116、及びトルク算出部118からの情報に基づいて、手先30に掛かる外力Fを求める。具体的には、まず、外力計算部119は、モータトルク取得部112からのモータトルクの指令値τと、トルク算出部118からの算出値τとの差に基づいて、外部に仕事するトルクτを算出する。即ち、以下のとおりである。
τ=τ
ここで、τ、及びτは、τと同様、それぞれ、各関節に係るトルク値を含む1×nの行列である。そして、外力計算部119は、トルクτと、ヤコビ行列計算部116で得られるヤコビ行列J1とに基づいて、以下のように手先30に掛かる外力Fを求める。
The external force calculation unit 119 obtains the external force F applied to the hand 30 based on the information from the motor torque acquisition unit 112, the Jacobian matrix calculation unit 116, and the torque calculation unit 118. Specifically, first, the external force calculation unit 119 works outside based on the difference between the command value τ i of the motor torque from the motor torque acquisition unit 112 and the calculated value τ c from the torque calculation unit 118. The torque τ e is calculated. That is, it is as follows.
τ e = τ ic
Here, tau e, and tau c, as with tau i, respectively, a matrix of 1 × n containing torque values related to each joint. Then, based on the torque τ e and the Jacobian matrix J1 obtained by the Jacobian matrix calculation unit 116, the external force calculation unit 119 obtains an external force F applied to the hand 30 as follows.

Figure 0006540810
ここで、J1は、ヤコビ行列J1の転置を表す。尚、数11の式は、仮想仕事の原理に基づく。
Figure 0006540810
Here, J1 T represents the transpose of the Jacobian J1. Equation 11 is based on the principle of virtual work.

図10に示す処理装置100よれば、個体誤差計算部114は、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)を算出できる。また、運動パラメータ計算部117は、個体誤差に基づいて、個体誤差が反映された運動パラメータを算出できる。そして、外力計算部119は、補正行列C及び運動パラメータに基づいて、手先30に掛かる外力Fを算出するので、個体誤差に起因した誤差成分が低減された高精度な外力Fを算出できる。According to the processing device 100 illustrated in FIG. 10, the individual error calculation unit 114 can calculate an individual error (a static error and a posture dependent error) based on observation data. In addition, the motion parameter calculation unit 117 can calculate the motion parameter in which the individual error is reflected based on the individual error. Then, since the external force calculation unit 119 calculates the external force F applied to the hand 30 based on the correction matrix C i and the motion parameter, it is possible to calculate the highly accurate external force F in which the error component due to the individual error is reduced.

図11は、処理装置100により実行される処理の一例を示すフローチャートである。図11に示す処理は、例えば、多関節ロボット1の実稼働中に所定周期毎に実行される。   FIG. 11 is a flowchart showing an example of processing executed by the processing device 100. The process shown in FIG. 11 is executed, for example, at predetermined intervals while the articulated robot 1 is in operation.

ステップS1100では、観測データ取得部90は、ハンド位置計測値取得部110からの情報に基づいて、多関節ロボット1が静定したか否かを判定する。多関節ロボット1が静定したと判定した場合は、ステップS1102に進み、それ以外の場合は、ステップS1104に進む。   In step S1100, the observation data acquisition unit 90 determines, based on the information from the hand position measurement value acquisition unit 110, whether or not the articulated robot 1 has settled. If it is determined that the articulated robot 1 has settled, the process proceeds to step S1102, and otherwise, the process proceeds to step S1104.

ステップS1102では、観測データ取得部90は、ハンド位置計測値取得部110、関節角取得部111及びモータトルク取得部112から得られる情報を観測データとして観測データ記憶部120に記憶する。   In step S1102, the observation data acquisition unit 90 stores information obtained from the hand position measurement value acquisition unit 110, the joint angle acquisition unit 111, and the motor torque acquisition unit 112 in the observation data storage unit 120 as observation data.

ステップS1104では、個体誤差計算部114は、個体誤差の算出条件が成立したか否かを判定する。個体誤差の算出条件は、任意であるが、例えばユーザから指示があった場合、前回の算出から所定時間経過した場合、観測データ記憶部120の観測データの更新があった場合等に満たされてよい。個体誤差の算出条件が成立した場合は、ステップS1106に進み、それ以外の場合は、ステップS1108に進む。   In step S1104, the individual error calculation unit 114 determines whether or not the individual error calculation condition is satisfied. Although the calculation condition of the individual error is arbitrary, it is satisfied, for example, when there is an update of the observation data of the observation data storage unit 120 when a predetermined time has passed since the previous calculation when there is an instruction from the user. Good. If the calculation condition of the individual error is satisfied, the process proceeds to step S1106. Otherwise, the process proceeds to step S1108.

ステップS1106では、個体誤差計算部114は、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を算出し、算出した個体誤差を個体誤差記憶部121に記憶する。   In step S1106, the individual error calculation unit 114 calculates an individual error based on the latest observation data stored in the observation data storage unit 120, and stores the calculated individual error in the individual error storage unit 121.

ステップS1108では、運動パラメータ計算部117は、運動パラメータの算出条件が成立したか否かを判定する。運動パラメータの算出条件は、任意であるが、例えばユーザから指示があった場合、前回の算出から所定時間経過した場合、個体誤差記憶部121の個体誤差の更新があった場合等に満たされてよい。運動パラメータの算出条件が成立した場合は、ステップS1110に進み、それ以外の場合は、ステップS1112に進む。尚、運動パラメータの算出条件が個体誤差記憶部121の個体誤差の更新があった場合に満たされる構成である場合は、ステップS1104の判定結果が"NO"である場合、ステップS1112に進むことになる。また、ステップS1104の判定結果が"YES"である場合、ステップS1108の判定処理を経ずにステップS1110に進むことになる。   In step S1108, the motion parameter calculation unit 117 determines whether the calculation condition of the motion parameter is satisfied. The calculation condition of the movement parameter is arbitrary, but is satisfied, for example, when there is an update of the individual error of the individual error storage unit 121 when a predetermined time has passed since the previous calculation when there is an instruction from the user Good. If the motion parameter calculation condition is satisfied, the process proceeds to step S1110. Otherwise, the process proceeds to step S1112. If the motion parameter calculation condition is satisfied when the individual error of the individual error storage unit 121 is updated, the process proceeds to step S1112 if the determination result in step S1104 is “NO”. Become. If the determination result of step S1104 is "YES", the process proceeds to step S1110 without passing through the determination process of step S1108.

ステップS1110では、運動パラメータ計算部117は、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを算出し、算出した運動パラメータを運動パラメータ記憶部122に記憶する。   In step S1110, the motion parameter calculation unit 117 calculates a motion parameter based on the latest individual error stored in the individual error storage unit 121, and stores the calculated motion parameter in the motion parameter storage unit 122.

ステップS1112では、リンクパラメータ計算部113は、関節角取得部111からの情報に基づいて、リンクパラメータを算出する。   In step S1112, the link parameter calculation unit 113 calculates link parameters based on the information from the joint angle acquisition unit 111.

ステップS1114では、リンクパラメータ補正部115は、関節角取得部111、リンクパラメータ計算部113、及び個体誤差記憶部121からの情報に基づいて、行列M'を算出する。In step S1114, the link parameter correction unit 115 calculates the matrix M i ′ based on the information from the joint angle acquisition unit 111, the link parameter calculation unit 113, and the individual error storage unit 121.

ステップS1116では、ヤコビ行列計算部116は、関節角取得部111からの情報と、ステップS1114で得た行列M'とに基づいて、ヤコビ行列J1を算出する。ヤコビ行列J1の算出方法は上述のとおりである。In step S1116, the Jacobian matrix calculation unit 116 calculates the Jacobian matrix J1 based on the information from the joint angle acquisition unit 111 and the matrix M i ′ obtained in step S1114. The calculation method of the Jacobian matrix J1 is as described above.

ステップS1118では、トルク算出部118は、運動パラメータ記憶部122からの運動パラメータと、関節角取得部111からの情報とに基づいて、各モータ41の駆動トルクを算出する。各モータ41の駆動トルクの算出方法は上述のとおりである。   In step S1118, the torque calculation unit 118 calculates the drive torque of each motor 41 based on the motion parameter from the motion parameter storage unit 122 and the information from the joint angle acquisition unit 111. The method of calculating the drive torque of each motor 41 is as described above.

ステップS1120では、モータトルク取得部112からの情報と、ステップS1116で得たヤコビ行列J1と、ステップS1118で得た各モータ41の駆動トルクとに基づいて、手先30に掛かる外力Fを算出する。外力Fの算出方法は上述のとおりである。   In step S1120, the external force F applied to the hand 30 is calculated based on the information from the motor torque acquisition unit 112, the Jacobian matrix J1 obtained in step S1116, and the driving torque of each motor 41 obtained in step S1118. The method of calculating the external force F is as described above.

図11に示す処理よれば、多関節ロボット1の実稼働中に、個体誤差計算部114は、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)に応じた補正行列Cを算出できる。これにより、多関節ロボット1の実稼働中に、個体誤差を更新できる。そして、外力計算部119は、多関節ロボット1の実稼働中に更新される補正行列C及び運動パラメータに基づいて、手先30に掛かる外力Fを算出するので、外力Fの算出精度を実稼働中に高めることができる。According to the process shown in FIG. 11, during the actual operation of the articulated robot 1, the individual error calculation unit 114 calculates the correction matrix C i according to the individual error (static error and posture dependent error) based on the observation data. It can be calculated. Thereby, the individual error can be updated while the articulated robot 1 is in operation. Then, since the external force calculation unit 119 calculates the external force F applied to the hand 30 based on the correction matrix C i and the motion parameter updated during the actual operation of the articulated robot 1, the calculation accuracy of the external force F can be calculated It can be raised during.

以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。   As mentioned above, although each Example was explained in full detail, it is not limited to a specific example, A various deformation | transformation and change are possible within the range described in the claim. In addition, it is also possible to combine all or a plurality of the components of the above-described embodiment.

例えば、図11に示す処理において、個体誤差記憶部121には、個体誤差のうちの、事前に導出された静的誤差(例えば図7に示す方法のステップS702参照)が初期的に記憶されてよい。そして、多関節ロボット1の実稼働中、姿勢依存誤差の算出に必要となる弾性係数kix、kiy、及びkizが導出・更新されてもよい(例えば図7に示す方法のステップS704参照)。For example, in the process shown in FIG. 11, the individual error storage unit 121 initially stores a static error (for example, see step S702 of the method shown in FIG. 7) of the individual errors, which is derived in advance. Good. Then, elastic coefficients k ix , k iy , and k iz required for calculation of the posture dependent error may be derived and updated during actual operation of the articulated robot 1 (see, for example, step S704 of the method illustrated in FIG. 7). ).

1 多関節ロボット
21〜23 リンク
30 手先
32 ハンド
40 駆動機構
41 モータ
70 ハンド力覚計測装置
90 観測データ取得部
100 処理装置
110 ハンド位置計測値取得部
111 関節角取得部
112 モータトルク取得部
113 リンクパラメータ計算部
114 個体誤差計算部
115 リンクパラメータ補正部
116 ヤコビ行列計算部
117 運動パラメータ計算部
118 トルク算出部
119 外力計算部
120 観測データ記憶部
121 個体誤差記憶部
122 運動パラメータ記憶部
1 Articulated robot
21 to 23 Link 30 hand 32 hand 40 drive mechanism 41 motor 70 hand force sense measurement device 90 observation data acquisition unit 100 processing device 110 hand position measurement value acquisition unit 111 joint angle acquisition unit 112 motor torque acquisition unit 113 link parameter calculation unit 114 Individual error calculation unit 115 Link parameter correction unit 116 Jacobian matrix calculation unit 117 Motion parameter calculation unit 118 Torque calculation unit 119 External force calculation unit 120 Observation data storage unit 121 Individual error storage unit 122 Motion parameter storage unit

Claims (6)

リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータと、前記リンクパラメータに影響する前記多関節ロボットの個体誤差とに基づいて、前記多関節ロボットのハンドに作用する外力を算出する処理装置を含み、
前記個体誤差は、前記多関節ロボットを実際に動かしたときの前記ハンドの位置の観測データに基づいて導出され、
前記観測データは、前記多関節ロボットのハンドの位置と、前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記多関節ロボットの各関節の関節角度とを含み、
前記個体誤差は、以下の数1のパラメータを最小とするパラメータΔを算出することで算出され、
Figure 0006540810

Pは、前記観測データに基づく前記ハンドの位置であり、Σは、前記観測データの複数のサンプルを累算することを表し、φ(θ ,θ ,…,θ )は、各関節角度がθ ,θ ,...,θ であるときの前記ハンドの理論位置を表し、各関節角度がθ ,θ ,...,θ は、前記観測データに基づき、
前記ハンドの理論位置φ(θ ,θ ,...,θ )は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、ハンド力覚計測装置。
It acts on the hand of the articulated robot based on link parameters that geometrically represent the position and posture relationship between links in an articulated robot having a link mechanism, and individual errors of the articulated robot affecting the link parameters. a processing unit for calculating an external force to be seen including,
The individual error is derived based on observation data of the position of the hand when the articulated robot is actually moved,
The observation data includes the position of the hand of the articulated robot, a command value of driving torque to a motor for applying a torque to each joint of the articulated robot, and a joint angle of each joint of the articulated robot. ,
The individual error is calculated by calculating a parameter Δ that minimizes the following parameter 1
Figure 0006540810

P is the position of the hand based on the observation data, Σ indicates that a plurality of samples of the observation data are accumulated, and φ (θ 0 , θ 1 ,..., Θ n ) is each joint Represents the theoretical position of the hand when the angle is θ 0 , θ 1 ,..., Θ n , and each joint angle θ 0 , θ 1 ,..., Θ n is based on the observation data
The theoretical position φ (θ 0 , θ 1 ,..., Θ n ) of the hand is represented based on the parameter Δ and the link parameter .
前記個体誤差は、並進誤差に係る第1個体誤差と、回転誤差に係る第2個体誤差とを含む、請求項1に記載のハンド力覚計測装置。   The hand force sense measurement device according to claim 1, wherein the individual error includes a first individual error relating to a translational error and a second individual error relating to a rotational error. 前記第2個体誤差は、静的誤差と、前記多関節ロボットの姿勢に依存する姿勢依存誤差とを含む、請求項2に記載のハンド力覚計測装置。   The hand force sense measurement device according to claim 2, wherein the second individual error includes a static error and a posture dependent error dependent on a posture of the articulated robot. 前記処理装置は、
前記個体誤差を算出する個体誤差算出部と、
前記個体誤差を記憶する記憶部と、
前記個体誤差に基づいて、前記リンクパラメータを補正するリンクパラメータ補正部と、
前記個体誤差に基づいて、運動パラメータを算出する運動パラメータ算出部と、
前記運動パラメータに基づいて、前記多関節ロボットの各関節に付与されるトルクを算出するトルク算出部と、
前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記トルク算出部により算出されたトルクとに基づいて、前記外力を算出する外力算出部とを含む、請求項1〜3のうちのいずれか1項に記載のハンド力覚計測装置。
The processing unit
An individual error calculation unit that calculates the individual error;
A storage unit that stores the individual error;
A link parameter correction unit that corrects the link parameter based on the individual error;
A motion parameter calculation unit that calculates a motion parameter based on the individual error;
A torque calculation unit that calculates a torque to be applied to each joint of the articulated robot based on the motion parameter;
An external force calculation unit that calculates the external force based on a command value of a drive torque to a motor that applies a torque to each joint of the articulated robot and the torque calculated by the torque calculation unit. The hand force sense measuring device according to any one of 1 to 3.
リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータを算出し、
前記リンクパラメータに影響する前記多関節ロボットの個体誤差を算出し、
算出した前記リンクパラメータ及び前記個体誤差に基づいて、前記多関節ロボットのハンドに作用する外力を算出する、
ことを含み、
前記個体誤差は、前記多関節ロボットを実際に動かしたときの前記ハンドの位置の観測データに基づいて導出され、
前記観測データは、前記多関節ロボットのハンドの位置と、前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記多関節ロボットの各関節の関節角度とを含み、
前記個体誤差は、以下の数2のパラメータを最小とするパラメータΔを算出することで算出され、
Figure 0006540810

Pは、前記観測データに基づく前記ハンドの位置であり、Σは、前記観測データの複数のサンプルを累算することを表し、φ(θ ,θ ,...,θ )は、各関節角度がθ ,θ ,...,θ であるときの前記ハンドの理論位置を表し、各関節角度がθ ,θ ,...,θ は、前記観測データに基づき、
前記ハンドの理論位置φ(θ ,θ ,...,θ )は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、コンピューターにより実行されるハンド力覚計測方法。
Calculate link parameters that geometrically represent the position and orientation relationship between links in an articulated robot having a link mechanism,
Calculating individual errors of the articulated robot affecting the link parameters;
The external force acting on the hand of the articulated robot is calculated based on the calculated link parameter and the individual error.
Look at including it,
The individual error is derived based on observation data of the position of the hand when the articulated robot is actually moved,
The observation data includes the position of the hand of the articulated robot, a command value of driving torque to a motor for applying a torque to each joint of the articulated robot, and a joint angle of each joint of the articulated robot. ,
The individual error is calculated by calculating a parameter Δ that minimizes the following parameter 2
Figure 0006540810

P is the position of the hand based on the observation data, Σ represents that a plurality of samples of the observation data are accumulated, and φ (θ 0 , θ 1 ,..., Θ n ) is each joint angle θ 0, θ 1, ..., represent the theoretical position of the hand when a theta n, each joint angle θ 0, θ 1, ..., θ n is the observation data Based on
A computer-implemented method for measuring hand force , wherein a theoretical position φ (θ 0 , θ 1 ,..., Θ n ) of the hand is represented based on the parameter Δ and the link parameter .
リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータを算出し、
前記リンクパラメータに影響する前記多関節ロボットの個体誤差を算出し、
算出した前記リンクパラメータ及び前記個体誤差に基づいて、前記多関節ロボットのハンドに作用する外力を算出する、
処理をコンピューターに実行させ
前記個体誤差は、前記多関節ロボットを実際に動かしたときの前記ハンドの位置の観測データに基づいて導出され、
前記観測データは、前記多関節ロボットのハンドの位置と、前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記多関節ロボットの各関節の関節角度とを含み、
前記個体誤差は、以下の数3のパラメータを最小とするパラメータΔを算出することで算出され、
Figure 0006540810

Pは、前記観測データに基づく前記ハンドの位置であり、Σは、前記観測データの複数のサンプルを累算することを表し、φ(θ ,θ ,...,θ )は、各関節角度がθ ,θ ,...,θ であるときの前記ハンドの理論位置を表し、各関節角度がθ ,θ ,...,θ は、前記観測データに基づき、
前記ハンドの理論位置φ(θ ,θ ,...,θ )は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、ハンド力覚計測プログラム。
Calculate link parameters that geometrically represent the position and orientation relationship between links in an articulated robot having a link mechanism,
Calculating individual errors of the articulated robot affecting the link parameters;
The external force acting on the hand of the articulated robot is calculated based on the calculated link parameter and the individual error.
Let the computer execute the process
The individual error is derived based on observation data of the position of the hand when the articulated robot is actually moved,
The observation data includes the position of the hand of the articulated robot, a command value of driving torque to a motor for applying a torque to each joint of the articulated robot, and a joint angle of each joint of the articulated robot. ,
The individual error is calculated by calculating a parameter Δ which minimizes the following Equation 3:
Figure 0006540810

P is the position of the hand based on the observation data, Σ represents that a plurality of samples of the observation data are accumulated, and φ (θ 0 , θ 1 ,..., Θ n ) is each joint angle θ 0, θ 1, ..., represent the theoretical position of the hand when a theta n, each joint angle θ 0, θ 1, ..., θ n is the observation data Based on
A hand force sense measurement program , wherein a theoretical position φ (θ 0 , θ 1 ,..., Θ n ) of the hand is represented based on the parameter Δ and the link parameter .
JP2017534066A 2015-08-10 2015-08-10 Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program Active JP6540810B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/072702 WO2017026045A1 (en) 2015-08-10 2015-08-10 Hand-force measurement device, hand-force measurement method, and hand-force measurement program

Publications (2)

Publication Number Publication Date
JPWO2017026045A1 JPWO2017026045A1 (en) 2018-04-26
JP6540810B2 true JP6540810B2 (en) 2019-07-10

Family

ID=57982967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017534066A Active JP6540810B2 (en) 2015-08-10 2015-08-10 Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program

Country Status (2)

Country Link
JP (1) JP6540810B2 (en)
WO (1) WO2017026045A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019084596A (en) * 2017-11-02 2019-06-06 昭和電工株式会社 Arm control method of multi-shaft robot
WO2023157151A1 (en) * 2022-02-16 2023-08-24 株式会社安川電機 Robot system, robot adjustment device, program, and robot manufacturing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763276A (en) * 1986-03-21 1988-08-09 Actel Partnership Methods for refining original robot command signals
EP1016506B1 (en) * 1997-01-29 2008-12-03 Kabushiki Kaisha Yaskawa Denki Device and method for calibrating robot
JPH10301609A (en) * 1997-04-28 1998-11-13 Denso Corp Position error detection method for robot and device therefor
JP3808321B2 (en) * 2001-04-16 2006-08-09 ファナック株式会社 Robot controller
JP5198514B2 (en) * 2010-07-22 2013-05-15 株式会社東芝 Robot controller

Also Published As

Publication number Publication date
JPWO2017026045A1 (en) 2018-04-26
WO2017026045A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
JP5896789B2 (en) Robot control apparatus, robot apparatus, robot control method, program, and recording medium
JP5929224B2 (en) robot
US11648666B2 (en) Vibration control of systems with configuration dependent dynamics
EP2895305B1 (en) Constraining robotic manipulators with redundant degrees of freedom
JP5743495B2 (en) Robot controller
JP4735795B2 (en) Redundant manipulator control method
JP4256440B2 (en) Robot program adjustment device
JP5618066B2 (en) Force control robot calibration apparatus and method
JP7058929B2 (en) Drive devices, robot devices, control methods, article manufacturing methods, control programs, and recording media
US10882182B2 (en) Robot apparatus, control method of robot apparatus, and recording medium
JP6044511B2 (en) Robot control method and robot system
KR102312368B1 (en) System, method for controlling redundant robot, and a recording medium having computer readable program for executing the method
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
JP6248544B2 (en) Robot, control device, robot system
JP2018030210A (en) Simulation device, control system, robot system, simulation method, program and recording medium
JP3349652B2 (en) Offline teaching method
JP2015051469A (en) Robot controller, robot apparatus, robot control method, program and recording medium
JP6003312B2 (en) Robot system
JP6540810B2 (en) Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program
JP3081518B2 (en) Robot rigidity identification method and device
JP2008200763A (en) Control device for manipulator for working
JP2020075329A (en) Simulation device, control system, robot system, simulation method, program and recording medium
JP2011067884A (en) Robot control system, robot control method, robot control device, and program, applied to high speed high precision contact work,
WO2023157151A1 (en) Robot system, robot adjustment device, program, and robot manufacturing method
JPH058187A (en) Robot

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180117

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190215

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540810

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150