WO2017026045A1 - ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム - Google Patents

ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム Download PDF

Info

Publication number
WO2017026045A1
WO2017026045A1 PCT/JP2015/072702 JP2015072702W WO2017026045A1 WO 2017026045 A1 WO2017026045 A1 WO 2017026045A1 JP 2015072702 W JP2015072702 W JP 2015072702W WO 2017026045 A1 WO2017026045 A1 WO 2017026045A1
Authority
WO
WIPO (PCT)
Prior art keywords
hand
articulated robot
individual error
error
parameter
Prior art date
Application number
PCT/JP2015/072702
Other languages
English (en)
French (fr)
Inventor
左千夫 小林
村上 亮
小林 弘樹
正芳 橋間
Original Assignee
富士通株式会社
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 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2015/072702 priority Critical patent/WO2017026045A1/ja
Priority to JP2017534066A priority patent/JP6540810B2/ja
Publication of WO2017026045A1 publication Critical patent/WO2017026045A1/ja

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

Definitions

  • the present disclosure relates to a hand force sense measuring device, a hand force sense measuring method, and a hand force sense measuring program.
  • the external force is calculated without correcting an error (individual error) that may differ for each individual robot, and thus the accuracy of calculating the external force may be deteriorated.
  • the present disclosure is intended to provide a hand force sense measuring device, a hand force sense measuring method, and a hand force sense measuring program that provide good external force calculation accuracy.
  • a hand force measurement device including a processing device for calculating an external force acting on the hand of the articulated robot.
  • FIG. 4 is a diagram illustrating an example of a control block of the multi-joint robot 1.
  • FIG. It is explanatory drawing of the calculation method of an individual 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.
  • FIG. 1 It is a figure which shows an example of the hardware constitutions of the processing apparatus of a hand force sense measuring device. It is a functional block diagram which shows an example of the function of a processing apparatus. It is a flowchart which shows an example of the process performed by a processing apparatus.
  • FIG. 1 is a diagram illustrating an example of an articulated robot including a link mechanism.
  • the multi-joint robot 1 includes two joints 11 and 12 and three links 21 to 23 as a link mechanism.
  • the articulated robot 1 includes a base 2 at one end of a link mechanism and a hand 30 at the other end (tip).
  • a hand 32 is attached to the hand 30.
  • the hand 32 has a function of gripping a work (not shown).
  • FIG. 2 is a diagram showing a mechanism model of an articulated robot
  • FIG. 3 is a diagram showing a geometric relationship of the articulated robot
  • FIG. 4 is an explanatory diagram of an external force applied to the articulated robot.
  • FIG. 2 shows a mechanism model of the articulated robot 1 shown in FIG.
  • the joint angle is indicated by ⁇ 1 and the link length is indicated by L 1 .
  • the joint angle is indicated by ⁇ 2 and the link length is indicated by L 2 .
  • the joint angle represents a joint angle around the z-axis unless otherwise specified.
  • X in FIG. 3 is a parameter representing the position of the hand 32 and is represented by a coordinate system having the base 2 as the origin.
  • torques T 1 and T 2 are applied to each joint via a drive mechanism described later, and an external force F is applied to the hand 32 during work.
  • the dotted line indicates the state of the articulated robot 1 when driven according to the command value when no external force F is applied. It can be seen that the position of the hand 32 is changed by applying the external force F.
  • FIG. 5 is an explanatory diagram of the drive mechanism in the joint, and schematically shows 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 speed reducer 42 and causes 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.
  • FIG. 6 is a diagram illustrating an example of a control block of the articulated robot 1.
  • a portion surrounded by a dotted line represents a control target.
  • the target position calculation unit 600 calculates the target position X ref of the hand 32.
  • the compliance calculation unit 601 calculates a position correction amount ⁇ x based on the target position X ref and the external force F.
  • the compliance calculation can be expressed by the following characteristic equation.
  • ⁇ x represents a position correction amount
  • M (with a hat) represents a virtual inertia coefficient
  • D (with a hat) represents a virtual viscosity coefficient
  • K (with a hat) represents a virtual stiffness coefficient.
  • Dots placed on ⁇ x represent differentiation, and two dots represent differentiation twice.
  • the compliance calculation unit 601 calculates ⁇ x from the external force F so as to satisfy the characteristic equation.
  • the conversion unit 602 calculates a joint angle correction amount ⁇ by inverse kinematics calculation based on the position correction amount ⁇ x.
  • the position / velocity control unit 603 calculates a current value u to be applied to each motor 41 based on the joint angle correction amount ⁇ and the current joint angle ⁇ (measured value of the encoder 43), and the current value u Is applied to each motor 41.
  • the external force F can be a value calculated (measured) by a hand force sense measuring device described below.
  • the hand force sense measuring device 70 is based on a parameter that geometrically represents the position and posture relationship between links in the articulated robot 1 and the individual error of the articulated robot 1 that affects the parameter.
  • An external force F applied to the hand 30 of the articulated robot 1 is calculated.
  • the parameter that geometrically represents the position and posture relationship between links in the articulated robot 1 is a so-called link parameter.
  • the link parameter represents the position / posture relationship between two adjacent links by three translation components and three rotation components.
  • Link parameters can be expressed by the matrix (reference matrix M i below).
  • the link parameter may be a DH (Denabit-Hartenberg) parameter.
  • Individual error includes static error and posture dependent error.
  • the static error is an error that does not depend on the posture of the articulated robot 1, and includes, for example, component processing error, assembly error, deformation due to temperature, and zero-point error of the encoder 43.
  • Posture-dependent errors include backlash, link deflection error due to weight / load including backlash, and control model error.
  • 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, like the link parameter.
  • 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 of the articulated robot 1 (motor torque command value, etc.), the position of the hand 30 at that time (hand position), and the posture of the articulated robot 1 (joint angle, etc.).
  • the position of the hand 30 can be measured by a three-dimensional position measuring 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.
  • FIG. 7 is an explanatory diagram of an individual error calculation method, and is a schematic flowchart showing a flow of an individual error calculation method.
  • a method of calculating an individual error for a certain articulated robot 1 will be described.
  • step S ⁇ b> 700 the designer (or an assistant thereof, the same applies hereinafter) acquires (collects) observation data by actually operating the articulated robot 1.
  • the hand 30 is approached from a plurality of directions such as up / down / left / right / front / rear to a lattice point placed in the robot movement range and settled.
  • the designer or an assistant thereof collects the following information as time series data.
  • Control information such as motor torque command value
  • Measurement information including hand position and orientation (measured by motion capture and encoder 43)
  • the designer uses a computer to calculate a static error based on observation data obtained in a stationary state in which no external force is applied to the articulated robot 1 (for example, observation data obtained in the state of FIG. 8A). 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.
  • the correction matrix C i includes individual errors ⁇ x i , ⁇ y i , ⁇ z i (an example of the first individual error) related to each of the three translation components, and each of the three rotation components.
  • Such individual errors ⁇ ix , ⁇ iy , ⁇ iz are included.
  • the individual errors ⁇ x i , ⁇ y i , ⁇ z i include only static errors.
  • the individual error ⁇ ix includes a static error and a posture-dependent error, and is as follows, for example.
  • ⁇ 0, ix represents a static error
  • D ix represents a posture-dependent error (expressed as a rotation error). The same applies to the individual errors ⁇ iy and ⁇ iz .
  • the designer calculates ⁇ that minimizes the following number 4 based on the observation data.
  • P is a measurement position of the hand 32 and is based on observation data.
  • represents accumulating all the numbers 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.
  • Equation 4 J is a Jacobian matrix and can be derived by partial differentiation of ⁇ (Equation 5) by ⁇ .
  • step S704 the designer uses the computer to determine the posture based on the 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 states of FIGS. 8B and 8C). Calculate each element of the dependent error. Specifically, the designer similarly calculates ⁇ that minimizes the number 4 based on the observation data.
  • the matrix M i ′ includes a static error and a posture-dependent error as follows. At this time, the static errors ⁇ x i , ⁇ y i , ⁇ z i , and ⁇ 0, ix , ⁇ 0, iy , ⁇ 0, iz are the values identified in step S702.
  • is as follows.
  • D ix , D iy , and D iz are as follows.
  • ⁇ i is a command value of the motor torque.
  • the elastic coefficients k ix , k yy , and k iz that minimize Equation 4 are obtained.
  • the attitude dependent error D ix, D iy, and D iz is elastic coefficient k ix, k iy, and k the iz is obtained, as can be seen from Equation 8, the elastic coefficient k ix, k iy, and k iz and , Based on the motor torque command value ⁇ i .
  • the individual error (static error and posture-dependent error) can be calculated based on the observation data.
  • the designer calculates the individual error (correction matrix C i ) using a computer.
  • a processing device for example, an individual error calculation unit of the processing device 100 described later. 114) can also be calculated.
  • the hand force sense measuring device 70 includes a processing device 100.
  • FIG. 9 is a diagram illustrating an example of a hardware configuration of the processing apparatus 100.
  • 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.
  • the control unit 101 is an arithmetic device that executes a program stored in the main storage unit 102 or the auxiliary storage unit 103, receives data from the input unit 107 or the storage device, calculates, processes, and outputs the data to the storage device or the like. To do.
  • the main storage unit 102 is a ROM (Read Only Memory) or a RAM (Random Access Memory).
  • the main storage unit 102 is a storage device that stores or temporarily stores programs and data such as an OS (Operating System) and application software that are basic software executed by the control unit 101.
  • OS Operating System
  • application software that are basic software executed by the control unit 101.
  • the auxiliary storage unit 103 is an HDD (Hard Disk Drive) or the like, and is a storage device that stores data related to application software.
  • HDD Hard Disk Drive
  • the drive device 104 reads the program from the recording medium 105, for example, a flexible disk, and installs it in the storage device.
  • 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 apparatus 100.
  • the network I / F unit 106 is an interface between the processing apparatus 100 and a peripheral device having a communication function connected via a network constructed by a data transmission path such as a wired and / or wireless line.
  • the input unit 107 includes a keyboard having cursor keys, numeric input, various function keys, and the like, a mouse, a touch pad, and the like.
  • the recording medium 105 is a recording medium that records information optically, electrically, or magnetically, such as a CD (Compact Disc) -ROM, a flexible disk, a magneto-optical disk, or the like, or an information such as a ROM or a flash memory. It may be a semiconductor memory or the like for electrically recording. Note that the recording medium 105 does not include a carrier wave.
  • CD Compact Disc
  • the recording medium 105 does not include a carrier wave.
  • FIG. 10 is a functional block diagram illustrating an example of functions of the processing apparatus 100.
  • FIG. 10 also illustrates components (such as the three-dimensional position measurement device 50) connected to the processing device 100.
  • the processing apparatus 100 includes an observation data acquisition unit 90 as shown in FIG.
  • the processing device 100 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 an exercise parameter calculation unit 117, a torque calculation unit 118, and an external force calculation unit 119.
  • 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 apparatus 100 also includes an observation data storage unit 120, an individual error storage unit 121, and an exercise parameter storage unit 122.
  • the observation data storage unit 120, the individual error storage unit 121, and the exercise parameter storage unit 122 can be realized by the auxiliary storage unit 103, for example.
  • the observation data acquisition unit 90 acquires (collects) observation data during actual operation of the articulated robot 1 and stores it in the observation data storage unit 120. For example, the observation data acquisition unit 90 detects the timing when the articulated robot 1 is settled based on information from the hand position measurement value acquisition unit 110, and acquires observation data at the 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.
  • the hand position measurement value acquisition unit 110 acquires the measurement value of the three-dimensional position of the hand 32 from the three-dimensional position measurement device 50.
  • the joint angle acquisition unit 111 acquires the detection value of the joint angle of each joint from each encoder 43.
  • the motor torque acquisition unit 112 acquires a drive torque command value (motor torque command value) of the motor 41 related to each joint from the motor drive unit 52.
  • the motor driving unit 52 may be realized by, for example, a motor controller (see FIG. 6).
  • the link parameter calculation unit 113 calculates link parameters based on 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.
  • the individual error calculation unit 114 calculates the individual error of the articulated robot 1 that affects 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 calculation method of 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 accumulated in the observation data storage unit 120 during actual 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 every time new observation data is acquired during actual operation. May be.
  • the link parameter correction unit 115 corrects the link parameter calculated by the link parameter calculation unit 113 based on 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 calculation method of the matrix M i ′ is as described above.
  • the Jacobian matrix calculation unit 116 calculates the Jacobian matrix J1 based on information from the joint angle acquisition unit 111 and the link parameter correction unit 115.
  • the method for calculating the Jacobian matrix is as described above.
  • the exercise parameter calculation unit 117 calculates an exercise parameter reflecting the individual error based on the individual error storage unit 121. In other words, since the length of each link changes depending on 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 the dynamic equation of motion of the robot arm, and includes an inertia matrix, a nonlinear term (such as a centrifugal force and a Coriolis force), and a gravity term (see Equation 10 below).
  • the exercise parameter calculation unit 117 stores the calculated exercise parameter in the exercise parameter storage unit 122.
  • the exercise parameter calculation unit 117 may recalculate (update) the exercise parameter periodically based on the latest individual error stored in the individual error storage unit 121 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 every time the individual error in the individual error storage unit 121 is updated during actual operation. Recalculation (update) may be performed.
  • the torque calculation unit 118 calculates the driving 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 dynamic equation of motion of the robot arm.
  • ⁇ e and ⁇ c are 1 ⁇ n matrices each including a torque value related to each joint, similarly to ⁇ i .
  • the external force calculator 119 Based on the torque ⁇ e and the Jacobian matrix J1 obtained by the Jacobian matrix calculator 116, the external force calculator 119 obtains the external force F applied to the hand 30 as follows.
  • J1 T represents the transpose of the Jacobian matrix J1.
  • Equation 11 is based on the principle of virtual work.
  • the individual error calculation unit 114 can calculate an individual error (static error and posture-dependent error) based on the observation data. Also, the exercise parameter calculation unit 117 can calculate an exercise parameter reflecting the individual error based on the individual error. 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, the external force F can be calculated with high accuracy with reduced error components due to individual errors.
  • FIG. 11 is a flowchart illustrating an example of processing executed by the processing apparatus 100.
  • the processing shown in FIG. 11 is executed at predetermined intervals during actual operation of the articulated robot 1, for example.
  • step S1100 the observation data acquisition unit 90 determines whether or not the articulated robot 1 has settled based on information from the hand position measurement value acquisition unit 110. 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.
  • 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.
  • step S1104 the individual error calculation unit 114 determines whether or not an individual error calculation condition is satisfied.
  • the calculation conditions for the individual error are arbitrary, but are satisfied when, for example, there is an instruction from the user, when a predetermined time has elapsed since the previous calculation, or when the observation data in the observation data storage unit 120 is updated, etc. Good. If the condition for calculating the individual error is satisfied, the process proceeds to step S1106. Otherwise, the process proceeds to step S1108.
  • step S 1106 the individual error calculation unit 114 calculates an individual error based on the latest observation data accumulated in the observation data storage unit 120, and stores the calculated individual error in the individual error storage unit 121.
  • step S1108 the motion parameter calculation unit 117 determines whether or not a motion parameter calculation condition is satisfied.
  • the calculation condition of the exercise parameter is arbitrary, but is satisfied, for example, when there is an instruction from the user, when a predetermined time has elapsed since the previous calculation, when there is an update of the individual error in the individual error storage unit 121, etc. 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 in the individual error storage unit 121 is updated, if the determination result in step S1104 is “NO”, the process proceeds to step S1112. Become. If the determination result of step S1104 is “YES”, the process proceeds to step S1110 without performing the determination process of step S1108.
  • step S1110 the exercise parameter calculation unit 117 calculates an exercise parameter based on the latest individual error stored in the individual error storage unit 121, and stores the calculated exercise parameter in the exercise parameter storage unit 122.
  • step S1112 the link parameter calculation unit 113 calculates a link parameter based on information from the joint angle acquisition unit 111.
  • step S1114 the link parameter correction unit 115 calculates a matrix M i ′ based on information from the joint angle acquisition unit 111, the link parameter calculation unit 113, and the individual error storage unit 121.
  • 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 method for calculating the Jacobian matrix J1 is as described above.
  • 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 for calculating the driving torque of each motor 41 is as described above.
  • 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 calculation method of the external force F is as described above.
  • the individual error calculation unit 114 calculates the correction matrix C i corresponding 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 during the actual operation of the articulated robot 1.
  • 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 parameters that are updated during the actual operation of the articulated robot 1, so that the calculation accuracy of the external force F is actually increased. Can be raised inside.
  • the individual error storage unit 121 initially stores a static error derived in advance among individual errors (see, for example, step S ⁇ b> 702 of the method shown in FIG. 7). Good. Then, during actual operation of the articulated robot 1, the elastic coefficients k ix , k yy , and k iz necessary for calculating the posture-dependent error may be derived and updated (see, for example, step S704 in the method illustrated in FIG. 7). ).

Landscapes

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

Abstract

ハンド力覚計測装置は、リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータと、前記リンクパラメータに影響する前記多関節ロボットの個体誤差とに基づいて、前記多関節ロボットのハンドに作用する外力を算出する処理装置を含む。

Description

ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム
 本開示は、ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラムに関する。
 ロボットのハンド(アーム先端部などの先端)において作用している外力を、力覚センサを用いずに算出する方法が知られている。かかる方法としては、駆動トルク及びトルク指令値との差を外部トルクとして算出し、関節角度に基づいてヤコビ行列を算出し、ヤコビ行列及び外部トルクから外力を算出する方法がある。
特開2010-105138号公報
 しかしながら、従来の方法では、ロボットの個体毎に異なりうる誤差(個体誤差)を補正せずに外力を算出するので、外力の算出精度が悪くなる可能性がある。
 そこで、本開示は、外力の算出精度が良好となるハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラムの提供を目的とする。
 本開示の一局面によれば、リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータと、前記リンクパラメータに影響する前記多関節ロボットの個体誤差とに基づいて、前記多関節ロボットのハンドに作用する外力を算出する処理装置を含む、ハンド力覚計測装置が提供される。
 本開示によれば、外力の算出精度が良好となるハンド力覚計測装置等が得られる。
リンク機構を備える多関節ロボットの一例を示す図である。 多関節ロボットの機構モデルを示す図である。 多関節ロボットの幾何的関係を示す図である。 多関節ロボットにかかる外力の説明図である。 関節における駆動機構の説明図である。 多関節ロボット1の制御ブロックの一例を示す図である。 個体誤差の算出方法の説明図である。 観測データの取得方法の説明図である。 観測データの取得方法の説明図である。 観測データの取得方法の説明図である。 ハンド力覚計測装置の処理装置のハードウェア構成の一例を示す図である。 処理装置の機能の一例を示す機能ブロック図である。 処理装置により実行される処理の一例を示すフローチャートである。
 以下、添付図面を参照しながら各実施例について詳細に説明する。
 図1は、リンク機構を備える多関節ロボットの一例を示す図である。図1に示す例では、多関節ロボット1は、リンク機構として、2つの関節11及び12と3つのリンク21~23とを備える。多関節ロボット1は、リンク機構の一端に基部2を備え、他端(先端)に手先30を備える。手先30には、ハンド32が装着される。ハンド32は、ワーク(図示せず)を把持する等の機能を有する。
 図2は、多関節ロボットの機構モデルを示す図であり、図3は、多関節ロボットの幾何的関係を示す図であり、図4は、多関節ロボットにかかる外力の説明図である。
 図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の位置等が変化されることが分かる。
 図5は、関節における駆動機構の説明図であり、駆動機構を概略的に示す図である。駆動機構は、関節毎に設けられる。駆動機構40は、モータ41と、減速機42とを含む。モータ41の回転トルクは、減速機42を介して増大され、リンク22とリンク23との間の関節12まわりの相対回転を生じさせる。モータ41には、モータ41の回転角を計測するエンコーダ43が設けられる。
 図6は、多関節ロボット1の制御ブロックの一例を示す図である。図6において、点線で囲まれた部分は、制御対象を表す。
 図6に示すように、先ず、目標位置算出部600においてハンド32の目標位置Xrefが算出される。次いで、コンプライアンス計算部601において、目標位置Xrefと、外力Fとに基づいて、位置補正量Δxが算出される。コンプライアンス計算は、以下の特性方程式で表すことができる。
Figure JPOXMLDOC01-appb-M000003
ここで、Δxは位置補正量、M(ハット付き)は仮想慣性係数、D(ハット付き)は仮想粘性係数、K(ハット付き)は仮想剛性係数を表す。Δxの上に付されたドットは、微分を表し、2つのドットは、2回微分を表す。コンプライアンス計算部601では、外力Fから特性方程式を満足するようにΔxが算出される。次いで、変換部602において、位置補正量Δxに基づいて、逆キネマティクス計算により関節角補正量Δθが算出される。次いで、位置・速度制御部603では、関節角補正量Δθと現在の関節角θ(エンコーダ43の計測値)とに基づいて、各モータ41に印加する電流値uを算出し、該電流値uに応じた電流を各モータ41に印加する。
 次に、多関節ロボット1の手先30(又はハンド32、以下同じ)にかかる外力Fを算出(計測)するハンド力覚計測方法(装置)について説明する。尚、図6に示す制御において、外力Fは、以下で説明するハンド力覚計測装置で算出(計測)される値を用いることができる。
 本実施例では、ハンド力覚計測装置70は、多関節ロボット1におけるリンク間の位置及び姿勢関係を幾何的に表すパラメータと、該パラメータに影響する多関節ロボット1の個体誤差とに基づいて、多関節ロボット1の手先30にかかる外力Fを算出する。
 多関節ロボット1におけるリンク間の位置及び姿勢関係を幾何的に表すパラメータとは、いわゆるリンクパラメータである。リンクパラメータは、隣接する2つのリンク間の位置・姿勢関係を、3個の並進成分、及び3個の回転成分で表す。リンクパラメータは、行列(後述の行列M参照)により表現できる。但し、リンクパラメータは、D-H(Denabit-Hartenberg)パラメータであってもよい。
 個体誤差は、静的誤差と姿勢依存誤差とを含む。静的誤差とは、多関節ロボット1の姿勢に依存しない誤差であり、例えば、部品の加工誤差、組付誤差、温度による変形、エンコーダ43の0点誤差などがある。姿勢依存誤差とは、バックラッシュ、ガタを含んだ自重・荷重によるリンクのたわみ誤差、制御モデル誤差などがある。
 個体誤差は、リンクパラメータに影響する個体誤差であり、例えば、リンクパラメータと同様、3個の並進成分、及び3個の回転成分で表される。
 個体誤差は、多関節ロボット1の個体毎に、各種試験を行って得られたデータに基づいて導出できる。データは、例えば、多関節ロボット1の制御情報(モータトルクの指令値など)と、そのときの手先30の位置(ハンド位置)や多関節ロボット1の姿勢(関節角度など)とに関するデータである。尚、手先30の位置は、例えばカメラ(モーションキャプチャ)などの3次元位置計測装置50(図10参照)で計測できる。この種のセンサは、手先30の位置決め用のセンサが用いられてもよい。
 図7は、個体誤差の算出方法の説明図であり、個体誤差の算出方法の流れを示す概略的なフローチャートである。ここでは、ある1つの多関節ロボット1に対する個体誤差の算出方法について説明する。
 ステップS700では、設計者(又はその補助者、以下同じ)は、多関節ロボット1を実働させることで観測データを取得(収集)する。例えば、図8Aに示すようなハンド32の未装着状態、図8Bに示すようなハンド32の装着状態、及び図8Cに示すようなワークWの把持状態のそれぞれで、多関節ロボット1に同じ動作をさせる。例えば、ロボット動作範囲内に置いた格子点に、上下左右前後など複数の方向から手先30をアプローチさせて静定する。このとき、設計者(又はその補助者)は、以下の情報を時系列データとして収集する。
(1)モータトルクの指令値のような制御情報
(2)ハンド位置及び姿勢を含む計測情報(モーションキャプチャ及びエンコーダ43で計測)
 ステップS702では、設計者は、計算機を用いて、多関節ロボット1に外力がかかっていない静止状態で得た観測データ(例えば、図8Aの状態で得られる観測データ)に基づいて、静的誤差の各要素を計算する。具体的には、まず、個体誤差を含むリンク構造を、該個体誤差を幾何的に表現した行列M'で表現する。
Figure JPOXMLDOC01-appb-M000004
ここで、iは、上述した関節番号であり、行列M'は関節番号毎に算出される。行列Mは、上述したリンクパラメータを表す行列(隣接する2つのリンク間の変換行列)である。数2における行列Cは、リンクパラメータの行列Mを補正するための行列であり、以下、「補正行列C」と称する。補正行列Cは、数2に示すように、3個の並進成分のそれぞれに係る個体誤差Δx,Δy,Δz(第1個体誤差の一例)、及び3個の回転成分のそれぞれに係る個体誤差δixiyiz(第2個体誤差の一例)を含む。個体誤差Δx,Δy,Δzは、静的誤差のみを含む。他方、個体誤差δixは、静的誤差と、姿勢依存誤差とを含み、例えば以下のとおりである。
Figure JPOXMLDOC01-appb-M000005
ここで、δ0,ixは静的誤差を表し、Dixは姿勢依存誤差(回転誤差として表現)を表す。個体誤差δiy、及びδizについても同様である。
 この場合、設計者は、観測データに基づいて、以下の数4を最小とするΔを算出する。
Figure JPOXMLDOC01-appb-M000006
ここで、Pは、ハンド32の計測位置であり、観測データに基づく。Σは、Pの全数分を累算することを表す。φ(θ,θ,...,θ)は、各関節角度がθ,θ,...,θであるときのハンド32の理論位置である。φ(θ,θ,...,θ)は、以下の通りである。尚、各関節角度がθ,θ,...,θは、観測データに基づく。
Figure JPOXMLDOC01-appb-M000007
ここで、行列M'は、数2で示した通りである。但し、数5では、行列M'は、静的誤差のみを含むものとする。即ち、Dix=0、Diy=0、及びDiz=0として、Δを算出(同定)する。Δは、以下のとおりである。
Figure JPOXMLDOC01-appb-M000008
また、数4において、Jはヤコビ行列であり、φ(数5)をΔで偏微分することで導出できる。
 ステップS704では、設計者は、計算機を用いて、多関節ロボット1に外力がかかった静止状態で得た観測データ(例えば、図8B及び図8Cの状態で得られる観測データ)に基づいて、姿勢依存誤差の各要素を計算する。具体的には、設計者は、同様に、観測データに基づいて、上記の数4を最小とするΔを算出する。数5では、行列M'は、以下のように、静的誤差及び姿勢依存誤差を含むものとする。このとき、静的誤差Δx,Δy,Δz、及びδ0,ix0,iy0,izはステップS702で同定した値を用いる。
Figure JPOXMLDOC01-appb-M000009
上記の数4において、Δは、以下のとおりである。
Figure JPOXMLDOC01-appb-M000010
ここで、Dix、Diy、及びDizは、以下のとおりである。
Figure JPOXMLDOC01-appb-M000011
ここで、τは、モータトルクの指令値である。この場合、上記の数4を最小とする弾性係数kix、kiy、及びkizを求めることになる。尚、姿勢依存誤差Dix、Diy、及びDizは、弾性係数kix、kiy、及びkizが求まると、数8から分かるように、弾性係数kix、kiy、及びkizと、モータトルクの指令値τとに基づいて算出できる。
 このようにして図7に示す個体誤差の算出方法によれば、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)を算出できる。尚、図7に示す例では、設計者が計算機を用いて個体誤差(補正行列C)を算出しているが、後述のように、処理装置(例えば後述の処理装置100の個体誤差計算部114)が算出することも可能である。
 次に、ハンド力覚計測装置70の構成例及び動作例について説明する。
 ハンド力覚計測装置70は、処理装置100を含む。
 図9は、処理装置100のハードウェア構成の一例を示す図である。
 図9に示す例では、処理装置100は、制御部101、主記憶部102、補助記憶部103、ドライブ装置104、ネットワークI/F部106、入力部107を含む。
 制御部101は、主記憶部102や補助記憶部103に記憶されたプログラムを実行する演算装置であり、入力部107や記憶装置からデータを受け取り、演算、加工した上で、記憶装置などに出力する。
 主記憶部102は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。主記憶部102は、制御部101が実行する基本ソフトウェアであるOS(Operating System)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
 補助記憶部103は、HDD(Hard Disk Drive)などであり、アプリケーションソフトウェアなどに関連するデータを記憶する記憶装置である。
 ドライブ装置104は、記録媒体105、例えばフレキシブルディスクからプログラムを読み出し、記憶装置にインストールする。
 記録媒体105は、所定のプログラムを格納する。この記録媒体105に格納されたプログラムは、ドライブ装置104を介して処理装置100にインストールされる。インストールされた所定のプログラムは、処理装置100により実行可能となる。
 ネットワークI/F部106は、有線及び/又は無線回線などのデータ伝送路により構築されたネットワークを介して接続された通信機能を有する周辺機器と処理装置100とのインターフェースである。
 入力部107は、カーソルキー、数字入力及び各種機能キー等を備えたキーボード、マウスやタッチパッド等を有する。
 尚、図9に示す例において、以下で説明する各種処理等は、プログラムを処理装置100に実行させることで実現することができる。また、プログラムを記録媒体105に記録し、このプログラムが記録された記録媒体105を処理装置100に読み取らせて、以下で説明する各種処理等を実現させることも可能である。なお、記録媒体105は、様々なタイプの記録媒体を用いることができる。例えば、記録媒体105は、CD(Compact Disc)-ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等であってよい。なお、記録媒体105には、搬送波は含まれない。
 図10は、処理装置100の機能の一例を示す機能ブロック図である。図10には、処理装置100に接続される構成要素(3次元位置計測装置50等)についても併せて図示されている。
 処理装置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により実現できる。
 観測データ取得部90は、多関節ロボット1の実働中の観測データを取得(収集)し、観測データ記憶部120に記憶する。例えば、観測データ取得部90は、ハンド位置計測値取得部110からの情報に基づいて、多関節ロボット1が静定したタイミングを検出し、該タイミングにおける観測データを取得する。観測データは、上述のとおりであり、ハンド位置計測値取得部110、関節角取得部111及びモータトルク取得部112から取得できる。
 ハンド位置計測値取得部110は、3次元位置計測装置50からハンド32の3次元位置の計測値を取得する。
 関節角取得部111は、各エンコーダ43から各関節の関節角の検出値を取得する。
 モータトルク取得部112は、モータ駆動部52から各関節に係るモータ41の駆動トルクの指令値(モータトルクの指令値)を取得する。モータ駆動部52は、例えばモータコントローラ(図6参照)により実現されてもよい。
 リンクパラメータ計算部113は、関節角取得部111からの情報に基づいて、リンクパラメータを算出する。リンクパラメータ計算部113は、個体誤差を含まないリンクパラメータを算出する。即ち、リンクパラメータ計算部113は、行列Mを算出する。行列Mは上述のとおりである。
 個体誤差計算部114は、観測データ記憶部120からの情報に基づいて、リンクパラメータに影響する多関節ロボット1の個体誤差を算出する。例えば、個体誤差計算部114は、補正行列Cを算出する。補正行列Cの算出方法は上述のとおりである。個体誤差計算部114は、算出した個体誤差を個体誤差記憶部121に記憶する。個体誤差計算部114は、実稼働中に、定期的に、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を再算出(更新)してよい。或いは、個体誤差計算部114は、実稼働中に、新たな観測データが取得される毎に、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を再算出(更新)してもよい。
 リンクパラメータ補正部115は、関節角取得部111、リンクパラメータ計算部113、及び個体誤差記憶部121からの情報に基づいて、リンクパラメータ計算部113で算出されたリンクパラメータを補正する。即ち、リンクパラメータ補正部115は、行列M'を算出する。行列M'の算出方法は上述のとおりである。
 ヤコビ行列計算部116は、関節角取得部111及びリンクパラメータ補正部115からの情報に基づいて、ヤコビ行列J1を算出する。ヤコビ行列の算出方法は上述のとおりである。
 運動パラメータ計算部117は、個体誤差記憶部121に基づいて、個体誤差を反映した運動パラメータを算出する。即ち、個体誤差により各リンクの長さなどが変わるため、運動パラメータ計算部117は、個体誤差記憶部121から得られる個体誤差に基づいて、運動パラメータを算出する。運動パラメータは、例えば、ロボットアームの動力学運動方程式に係るパラメータであり、慣性行列、非線形項(遠心力、コリオリ力など)、及び重力項とを含む(後述の数10参照)。運動パラメータ計算部117は、算出した運動パラメータを運動パラメータ記憶部122に記憶する。運動パラメータ計算部117は、実稼働中に、定期的に、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを再算出(更新)してよい。或いは、個体誤差計算部114は、実稼働中に、個体誤差記憶部121内の個体誤差が更新される毎に、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを再算出(更新)してもよい。
 トルク算出部118は、運動パラメータ記憶部122からの運動パラメータと、関節角取得部111からの情報とに基づいて、各モータ41の駆動トルクを算出する。駆動トルクは、ロボットアームの動力学運動方程式に基づいて、以下のように算出できる。
Figure JPOXMLDOC01-appb-M000012
ここで、θは、以下のとおりである。
θ=[θ,θ,...,θ
また、上に"~"が付いたMは、慣性行列を表し、上に"~"が付いたHは、非線形項を表し、上に"~"が付いたHは、重力項を表す。
 外力計算部119は、モータトルク取得部112、ヤコビ行列計算部116、及びトルク算出部118からの情報に基づいて、手先30に掛かる外力Fを求める。具体的には、まず、外力計算部119は、モータトルク取得部112からのモータトルクの指令値τと、トルク算出部118からの算出値τとの差に基づいて、外部に仕事するトルクτを算出する。即ち、以下のとおりである。
τ=τ
ここで、τ、及びτは、τと同様、それぞれ、各関節に係るトルク値を含む1×nの行列である。そして、外力計算部119は、トルクτと、ヤコビ行列計算部116で得られるヤコビ行列J1とに基づいて、以下のように手先30に掛かる外力Fを求める。
Figure JPOXMLDOC01-appb-M000013
ここで、J1は、ヤコビ行列J1の転置を表す。尚、数11の式は、仮想仕事の原理に基づく。
 図10に示す処理装置100よれば、個体誤差計算部114は、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)を算出できる。また、運動パラメータ計算部117は、個体誤差に基づいて、個体誤差が反映された運動パラメータを算出できる。そして、外力計算部119は、補正行列C及び運動パラメータに基づいて、手先30に掛かる外力Fを算出するので、個体誤差に起因した誤差成分が低減された高精度な外力Fを算出できる。
 図11は、処理装置100により実行される処理の一例を示すフローチャートである。図11に示す処理は、例えば、多関節ロボット1の実稼働中に所定周期毎に実行される。
 ステップS1100では、観測データ取得部90は、ハンド位置計測値取得部110からの情報に基づいて、多関節ロボット1が静定したか否かを判定する。多関節ロボット1が静定したと判定した場合は、ステップS1102に進み、それ以外の場合は、ステップS1104に進む。
 ステップS1102では、観測データ取得部90は、ハンド位置計測値取得部110、関節角取得部111及びモータトルク取得部112から得られる情報を観測データとして観測データ記憶部120に記憶する。
 ステップS1104では、個体誤差計算部114は、個体誤差の算出条件が成立したか否かを判定する。個体誤差の算出条件は、任意であるが、例えばユーザから指示があった場合、前回の算出から所定時間経過した場合、観測データ記憶部120の観測データの更新があった場合等に満たされてよい。個体誤差の算出条件が成立した場合は、ステップS1106に進み、それ以外の場合は、ステップS1108に進む。
 ステップS1106では、個体誤差計算部114は、観測データ記憶部120に蓄積された最新の観測データに基づいて、個体誤差を算出し、算出した個体誤差を個体誤差記憶部121に記憶する。
 ステップS1108では、運動パラメータ計算部117は、運動パラメータの算出条件が成立したか否かを判定する。運動パラメータの算出条件は、任意であるが、例えばユーザから指示があった場合、前回の算出から所定時間経過した場合、個体誤差記憶部121の個体誤差の更新があった場合等に満たされてよい。運動パラメータの算出条件が成立した場合は、ステップS1110に進み、それ以外の場合は、ステップS1112に進む。尚、運動パラメータの算出条件が個体誤差記憶部121の個体誤差の更新があった場合に満たされる構成である場合は、ステップS1104の判定結果が"NO"である場合、ステップS1112に進むことになる。また、ステップS1104の判定結果が"YES"である場合、ステップS1108の判定処理を経ずにステップS1110に進むことになる。
 ステップS1110では、運動パラメータ計算部117は、個体誤差記憶部121に記憶された最新の個体誤差に基づいて、運動パラメータを算出し、算出した運動パラメータを運動パラメータ記憶部122に記憶する。
 ステップS1112では、リンクパラメータ計算部113は、関節角取得部111からの情報に基づいて、リンクパラメータを算出する。
 ステップS1114では、リンクパラメータ補正部115は、関節角取得部111、リンクパラメータ計算部113、及び個体誤差記憶部121からの情報に基づいて、行列M'を算出する。
 ステップS1116では、ヤコビ行列計算部116は、関節角取得部111からの情報と、ステップS1114で得た行列M'とに基づいて、ヤコビ行列J1を算出する。ヤコビ行列J1の算出方法は上述のとおりである。
 ステップS1118では、トルク算出部118は、運動パラメータ記憶部122からの運動パラメータと、関節角取得部111からの情報とに基づいて、各モータ41の駆動トルクを算出する。各モータ41の駆動トルクの算出方法は上述のとおりである。
 ステップS1120では、モータトルク取得部112からの情報と、ステップS1116で得たヤコビ行列J1と、ステップS1118で得た各モータ41の駆動トルクとに基づいて、手先30に掛かる外力Fを算出する。外力Fの算出方法は上述のとおりである。
 図11に示す処理よれば、多関節ロボット1の実稼働中に、個体誤差計算部114は、観測データに基づいて、個体誤差(静的誤差及び姿勢依存誤差)に応じた補正行列Cを算出できる。これにより、多関節ロボット1の実稼働中に、個体誤差を更新できる。そして、外力計算部119は、多関節ロボット1の実稼働中に更新される補正行列C及び運動パラメータに基づいて、手先30に掛かる外力Fを算出するので、外力Fの算出精度を実稼働中に高めることができる。
 以上、各実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、前述した実施例の構成要素を全部又は複数を組み合わせることも可能である。
 例えば、図11に示す処理において、個体誤差記憶部121には、個体誤差のうちの、事前に導出された静的誤差(例えば図7に示す方法のステップS702参照)が初期的に記憶されてよい。そして、多関節ロボット1の実稼働中、姿勢依存誤差の算出に必要となる弾性係数kix、kiy、及びkizが導出・更新されてもよい(例えば図7に示す方法のステップS704参照)。
 1 多関節ロボット 
 21~23 リンク
 30 手先
 32 ハンド
 40 駆動機構
 41 モータ
 70 ハンド力覚計測装置
 90 観測データ取得部
 100 処理装置
 110 ハンド位置計測値取得部
 111 関節角取得部
 112 モータトルク取得部
 113 リンクパラメータ計算部
 114 個体誤差計算部
 115 リンクパラメータ補正部
 116 ヤコビ行列計算部
 117 運動パラメータ計算部
 118 トルク算出部
 119 外力計算部
 120 観測データ記憶部
 121 個体誤差記憶部
 122 運動パラメータ記憶部

Claims (11)

  1.  リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータと、前記リンクパラメータに影響する前記多関節ロボットの個体誤差とに基づいて、前記多関節ロボットのハンドに作用する外力を算出する処理装置を含む、ハンド力覚計測装置。
  2.  前記個体誤差は、並進誤差に係る第1個体誤差と、回転誤差に係る第2個体誤差とを含む、請求項1に記載のハンド力覚計測装置。
  3.  前記第2個体誤差は、静的誤差と、前記多関節ロボットの姿勢に依存する姿勢依存誤差とを含む、請求項2に記載のハンド力覚計測装置。
  4.  前記処理装置は、
     前記個体誤差を算出する個体誤差算出部と、
     前記個体誤差を記憶する記憶部と、
     前記個体誤差に基づいて、リンクパラメータを補正するリンクパラメータ補正部と、
     前記個体誤差に基づいて、運動パラメータを算出する運動パラメータ算出部と、
     前記運動パラメータに基づいて、前記多関節ロボットの各関節に付与されるトルクを算出するトルク算出部と、
     前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記トルク算出部により算出されたトルクとに基づいて、前記外力を算出する外力算出部とを含む、請求項1~3のうちのいずれか1項に記載のハンド力覚計測装置。
  5.  前記個体誤差は、前記多関節ロボットの個体毎に算出される、請求項1~4のうちのいずれか1項に記載のハンド力覚計測装置。
  6.  前記個体誤差は、前記多関節ロボットを実際に動かしたときの前記ハンドの位置の観測データに基づいて導出される、請求項1~5のうちのいずれか1項に記載のハンド力覚計測装置。
  7.  前記観測データは、前記多関節ロボットのハンドの位置と、前記多関節ロボットの各関節にトルクを付与するモータへの駆動トルクの指令値と、前記多関節ロボットの各関節の関節角度とを含む、請求項6に記載のハンド力覚計測装置。
  8.  前記個体誤差は、以下の数12のパラメータを最小とするパラメータΔを算出することで算出され、
    Figure JPOXMLDOC01-appb-M000001
    Pは、前記観測データに基づく前記ハンドの位置であり、Σは、前記観測データの複数のサンプルを累算することを表し、φ(θ,θ,...,θ)は、各関節角度がθ,θ,...,θであるときの前記ハンドの理論位置を表し、各関節角度がθ,θ,...,θは、前記観測データに基づき、
     前記ハンドの理論位置φ(θ,θ,...,θ)は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、請求項7に記載のハンド力覚計測装置。
  9.  前記ハンドの理論位置φ(θ,θ,...,θ)は、以下の数13で表され、
    Figure JPOXMLDOC01-appb-M000002
    行列M'は、前記パラメータΔ及び前記リンクパラメータに基づいて表される、請求項8に記載のハンド力覚計測装置。
  10.  リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータを算出し、
     前記リンクパラメータに影響する前記多関節ロボットの個体誤差を算出し、
     算出した前記リンクパラメータ及び前記個体誤差に基づいて、前記多関節ロボットのハンドに作用する外力を算出する、
     ことを含む、コンピューターにより実行されるハンド力覚計測方法。
  11.  リンク機構を備える多関節ロボットにおけるリンク間の位置及び姿勢関係を幾何的に表すリンクパラメータを算出し、
     前記リンクパラメータに影響する前記多関節ロボットの個体誤差を算出し、
     算出した前記リンクパラメータ及び前記個体誤差に基づいて、前記多関節ロボットのハンドに作用する外力を算出する、
     処理をコンピューターに実行させるハンド力覚計測プログラム。
PCT/JP2015/072702 2015-08-10 2015-08-10 ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム WO2017026045A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2015/072702 WO2017026045A1 (ja) 2015-08-10 2015-08-10 ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム
JP2017534066A JP6540810B2 (ja) 2015-08-10 2015-08-10 ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2015/072702 WO2017026045A1 (ja) 2015-08-10 2015-08-10 ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム

Publications (1)

Publication Number Publication Date
WO2017026045A1 true WO2017026045A1 (ja) 2017-02-16

Family

ID=57982967

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2015/072702 WO2017026045A1 (ja) 2015-08-10 2015-08-10 ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム

Country Status (2)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019084596A (ja) * 2017-11-02 2019-06-06 昭和電工株式会社 多軸ロボットのアーム制御方法
WO2023157151A1 (ja) * 2022-02-16 2023-08-24 株式会社安川電機 ロボットシステム、ロボット調整装置、プログラム、及びロボット製造方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998032571A1 (fr) * 1997-01-29 1998-07-30 Kabushiki Kaisha Yaskawa Denki Dispositif d'etalonnage de robot et methode afferente
JPH10301609A (ja) * 1997-04-28 1998-11-13 Denso Corp ロボットの位置誤差検出方法及びその装置
JP2002307344A (ja) * 2001-04-16 2002-10-23 Fanuc Ltd ロボット制御装置
JP2012024877A (ja) * 2010-07-22 2012-02-09 Toshiba Corp ロボット制御装置

Family Cites Families (1)

* 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998032571A1 (fr) * 1997-01-29 1998-07-30 Kabushiki Kaisha Yaskawa Denki Dispositif d'etalonnage de robot et methode afferente
JPH10301609A (ja) * 1997-04-28 1998-11-13 Denso Corp ロボットの位置誤差検出方法及びその装置
JP2002307344A (ja) * 2001-04-16 2002-10-23 Fanuc Ltd ロボット制御装置
JP2012024877A (ja) * 2010-07-22 2012-02-09 Toshiba Corp ロボット制御装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HISANORI NAKAMURA ET AL.: "A Practical Method of Correcting Mechanical Errors for Off-Line Programming System (2nd Report) : Autonomous Estimation and Calibration Method of Robot Mechanical Errors without Any Calibration Sensors", JOURNAL OF THE JAPAN SOCIETY OF PRECISION ENGINEERING, vol. 62, no. l, 1996, pages 135 - 139, XP055364605 *
HISANORI NAKAMURA: "Industrial Robot Calibration Method and Its Application for Production Line", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 15, no. 2, March 1997 (1997-03-01), pages 178 - 182, XP055364604 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019084596A (ja) * 2017-11-02 2019-06-06 昭和電工株式会社 多軸ロボットのアーム制御方法
WO2023157151A1 (ja) * 2022-02-16 2023-08-24 株式会社安川電機 ロボットシステム、ロボット調整装置、プログラム、及びロボット製造方法

Also Published As

Publication number Publication date
JPWO2017026045A1 (ja) 2018-04-26
JP6540810B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
JP5929224B2 (ja) ロボット
EP2895305B1 (en) Constraining robotic manipulators with redundant degrees of freedom
JP4256440B2 (ja) ロボットプログラム調整装置
JP5743495B2 (ja) ロボット制御装置
US10882182B2 (en) Robot apparatus, control method of robot apparatus, and recording medium
JP5618066B2 (ja) 力制御ロボットのキャリブレーション装置と方法
JP5946859B2 (ja) 力に応じて動かすロボットのロボット制御装置およびロボットシステム
JP6044511B2 (ja) ロボットの制御方法及びロボットシステム
US20130173060A1 (en) Method of operating a wearable robot
JP6248544B2 (ja) ロボット、制御装置、ロボットシステム
KR102312368B1 (ko) 여자유도 로봇 제어 시스템, 방법, 및 상기 방법을 실행시키기 위한 컴퓨터 판독 가능한 프로그램을 기록한 기록 매체
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
JP2018030210A (ja) シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
JP3349652B2 (ja) オフラインティーチング方法
JP6003312B2 (ja) ロボットシステム
WO2017026045A1 (ja) ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム
JP3081518B2 (ja) ロボットの剛性同定方法及びその装置
JPH07276273A (ja) パラレルリンクマニピュレータのたわみ補正制御方法
JP2008200763A (ja) 作業用マニピュレータの制御装置
JP5569953B2 (ja) 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム
JP2020075329A (ja) シミュレーション装置、制御システム、ロボットシステム、シミュレーション方法、プログラム及び記録媒体
US20170004237A1 (en) Simulation method and simulation apparatus
JP3579742B2 (ja) 教示データ補正方法、補正プログラムおよび補正装置
CN112512758A (zh) 挠曲量推断装置、机器人控制装置以及挠曲量推断方法
JPH058187A (ja) ロボツト

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15900999

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2017534066

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15900999

Country of ref document: EP

Kind code of ref document: A1