WO2024057764A1 - Robot system - Google Patents

Robot system Download PDF

Info

Publication number
WO2024057764A1
WO2024057764A1 PCT/JP2023/028433 JP2023028433W WO2024057764A1 WO 2024057764 A1 WO2024057764 A1 WO 2024057764A1 JP 2023028433 W JP2023028433 W JP 2023028433W WO 2024057764 A1 WO2024057764 A1 WO 2024057764A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
axis
terminal device
vector
joint
Prior art date
Application number
PCT/JP2023/028433
Other languages
French (fr)
Japanese (ja)
Inventor
洸太 川村
Original Assignee
パナソニックIpマネジメント株式会社
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 パナソニックIpマネジメント株式会社 filed Critical パナソニックIpマネジメント株式会社
Priority to JP2023562597A priority Critical patent/JP7429847B1/en
Publication of WO2024057764A1 publication Critical patent/WO2024057764A1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • the present disclosure relates to a robot system.
  • Patent Document 1 describes a calibration method for a robot equipped with an arm having six or more degrees of freedom so that the tip can be positioned in any desired position and posture by applying force to the tip and moving the tip.
  • a method is disclosed.
  • This robot calibration method uses a three-dimensional measuring device that can measure the position and orientation of the tip by installing position detectors on each axis of the joints of the arm and measuring the position and orientation of the tip from the signals from the position detectors of each axis. Then, connect the tip of the 3D measuring instrument to the hand at the tip of the articulated robot you want to calibrate, measure the position and orientation of the robot tip, and change the position and orientation of the robot to measure multiple teaching points. Calibration is performed by measuring.
  • the present disclosure provides a robot system that adjusts the posture of each joint of a robot with higher precision.
  • the present disclosure provides a robot having a plurality of motion axes, a robot control device that operates each of the plurality of motion axes to adjust the posture of the motion axis, and a robot control device that is provided at a tip of the robot, and that is provided at a tip of the robot.
  • a robot system comprising: an acceleration sensor that measures gravitational acceleration at a position; and a terminal device capable of communicating between the acceleration sensor and the robot control device, wherein the robot control device measures the gravitational acceleration of each of the plurality of motion axes.
  • the terminal device moves the posture of any one of the first motion axes to at least three different postures, and the terminal device moves the posture of any one of the first motion axes to at least three different postures, and the terminal device storing gravitational acceleration data, calculating a first rotational axis vector of the first motion axis in three-dimensional space based on the three or more stored first gravitational acceleration data, and calculating the calculated first rotation;
  • a robot system is provided that calculates a correction parameter for correcting the posture deviation of the robot based on an axis vector.
  • the posture of each joint of the robot can be adjusted with higher precision.
  • a diagram showing an example of six joint axes of the robot in the embodiment A diagram explaining the six rotational axis vectors of the robot and the coordinate system of the three-dimensional acceleration sensor in the embodiment
  • Flowchart illustrating an example of the operation procedure of the robot system according to the embodiment Flowchart illustrating an example of a procedure for measuring gravitational acceleration of a robot system according to an embodiment
  • Robots are shipped with each joint axis calibrated, but if the tip of the robot collides with an obstacle or parts of the robot are replaced, the position and posture of the joint axes may change. Misalignment occurs. Therefore, as in Patent Document 1, a robot calibration method using a three-dimensional position measuring device that can measure joint angles with high precision is disclosed, but the three-dimensional position measuring device is expensive and difficult to measure. Requires work space. In addition, the operator had to install a position detector at each joint of the robot and connect the hand of the multi-joint robot to the tip of the three-dimensional measuring device at a predetermined position, which was very time-consuming.
  • FIG. 1 is a block diagram showing an example of a system configuration of a robot system 100 according to an embodiment.
  • FIG. 2 shows six joint axes (one example of the motion axes) of the robot M1 in the embodiment, including the RT joint axis J1, the UA joint axis J2, the FA joint axis J3, the RW joint axis J4, the BW joint axis J5, and the TW joint axis. It is a figure showing an example of joint axis J6).
  • the robot system 100 includes a terminal device P1, a robot control device R1, and a robot M1.
  • the terminal device P1 is realized by, for example, a PC (Personal Computer), a notebook PC, a tablet terminal, or the like.
  • the terminal device P1 is capable of receiving an operator's operation for calibrating the robot M1, and is configured to calibrate the at least one joint axis of the robot M1 based on the measured value of the gravitational acceleration of the at least one joint axis of the robot M1. Calculate correction parameters.
  • the terminal device P1 includes a first communication section 10, a first processor 11, a first memory 12, an input section 13, and a display section 14.
  • the first communication unit 10 is connected to a three-dimensional acceleration sensor 31 attached to the robot M1 for wireless or wired communication, and executes data transmission and reception.
  • the wireless communication referred to here is communication via a wireless LAN (Local Area Network) such as Wi-Fi (registered trademark), for example.
  • the first communication unit 10 outputs the gravitational acceleration information transmitted from the three-dimensional acceleration sensor 31 to the first processor 11.
  • the first processor 11 is configured using, for example, a CPU (Central Processing Unit) or an FPGA (Field Programmable Gate Array), and performs various processing and control in cooperation with the first memory 12. Specifically, the first processor 11 refers to a program held in the first memory 12 and executes the program to realize the functions of each part. Note that each section referred to here includes a rotational axis vector calculation section 111, a correction parameter calculation section 112, a measurement posture command section 113, and the like. The first processor 11 calculates a correction parameter for correcting (adjusting) the posture of at least one joint axis based on the posture (gravitational acceleration) of the robot M1 measured by the three-dimensional acceleration sensor 31.
  • a correction parameter for correcting (adjusting) the posture of at least one joint axis based on the posture (gravitational acceleration) of the robot M1 measured by the three-dimensional acceleration sensor 31.
  • the rotational axis vector calculation unit 111 calculates the rotational axis vector of one joint axis based on each of the measured values of gravitational acceleration measured in three or more different postures with respect to this joint axis. Note that the rotational axis vector calculation unit 111 may calculate a gravity vector indicating the magnitude and direction of gravity applied to the three-dimensional acceleration sensor 31 based on the measured value of gravitational acceleration.
  • the rotation axis vector is the so-called rotation vector of the joint axis, and is a vector perpendicular to the plane defined by the locus of the measured value of gravitational acceleration obtained when a given joint axis is driven (rotated) on a single axis. It is a line vector.
  • the rotation axis vector calculation unit 111 outputs information on the calculated rotation axis vector to the correction parameter calculation unit 112.
  • the correction parameter calculation unit 112 calculates correction parameters for the joint axis specified by the operator based on the rotation axis vector of at least one joint axis obtained from the rotation axis vector calculation unit 111.
  • the correction parameter calculation unit 112 outputs the calculated correction parameters for each joint axis to the display unit 14 for display. Further, the correction parameter calculation unit 112 transmits the calculated correction parameters for each joint axis to the robot control device R1, and causes the robot control device R1 to record them.
  • the measurement posture command unit 113 changes the posture (rotation angle) of the joint axis whose gravitational acceleration is currently being measured to a predetermined posture in order to obtain three or more different gravitational accelerations for one joint axis. Generate control commands.
  • the measurement attitude command unit 113 transmits the generated control command to the robot control device R1. Note that the control command transmission process may be executed via the first communication unit 10 of the terminal device P1.
  • the first memory 12 includes, for example, a RAM (Random Access Memory) as a work memory used when executing the processing of the first processor 11, and a ROM (Random Access Memory) that stores a program that defines the processing of the first processor 11. Read Only Memory). Data generated or acquired by the first processor 11 is temporarily stored in the RAM. A program that defines the processing of the first processor 11 is written in the ROM.
  • the first memory 12 records first posture data 121.
  • the first attitude data 121 includes information on the attitude (rotation angle) specified by the measurement attitude command unit 113 and three or more different measured values of gravitational acceleration measured by the three-dimensional acceleration sensor 31. This is the data.
  • the first posture data 121 is recorded by the first processor 11 for each joint axis.
  • the input unit 13 is a user interface such as a touch panel, buttons, keyboard, mouse, etc., for example.
  • the input unit 13 receives an operator's operation, converts it into an electrical signal (control command), and outputs it to the first processor 11 .
  • the input section 13 and the display section 14 may be configured integrally.
  • the display unit 14 is, for example, a display such as an LCD (Liquid Crystal Display) or an organic EL (Electroluminescence).
  • the display unit 14 displays the calculation results of correction parameters for each joint axis.
  • the robot control device R1 controls each of the six joint axes of the robot M1 based on control commands transmitted from the terminal device P1.
  • Robot control device R1 includes a second communication unit 20, a second processor 21, and a second memory 22.
  • the second communication unit 20 is connected to each of the terminal device P1 and the robot M1 so as to be able to transmit and receive data.
  • the second communication unit 20 outputs control commands, correction parameters for each joint axis, etc. transmitted from the terminal device P1 to the second processor 21.
  • the second processor 21 is configured using, for example, a CPU or an FPGA, and performs various processing and control in cooperation with the second memory 22. Specifically, the second processor 21 refers to a program held in the second memory 22 and executes the program to realize the functions of each part.
  • the second processor 21 drives and controls each joint axis of the robot M1 based on the control command transmitted from the terminal device P1, and uses correction parameters for each joint axis transmitted from the terminal device P1 and the current joint axis.
  • the posture correction (adjustment) of each joint axis of the robot M1 is performed based on the angular difference with the posture of the axis.
  • the second memory 22 includes, for example, a RAM as a work memory used when executing the processing of the second processor 21, and a ROM that stores a program that defines the processing of the second processor 21. Data generated or acquired by the second processor 21 is temporarily stored in the RAM. A program that defines the processing of the second processor 21 is written in the ROM.
  • the second memory 22 records second posture data 221.
  • the second posture data 221 is the posture of each of the six joint axes of the robot M1 (RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis J5, TW joint axis J6). Record the (angle).
  • the second posture data 221 is set to the posture (angle) indicated by the correction parameter acquired by the second processor 21. Can be rewritten.
  • the robot M1 is connected to the robot control device R1 so as to be able to transmit and receive data.
  • the robot has six joint axes that can drive six arms, but it goes without saying that the number of joint axes is not limited to this.
  • the robot M1 has an RT joint axis J1 that is rotatable around the RT axis, a UA joint axis J2 that is rotatable around the UA axis, an FA joint axis J3 that is rotatable around the FA axis, and an FA joint axis J3 that is rotatable around the FA axis. It includes a rotatable RW joint axis J4, a BW joint axis J5 that is rotatable around the BW axis, and a TW joint axis J6 that is rotatable around the TW axis.
  • a three-dimensional acceleration sensor 31 is attached to the arm tip 33 of the robot M1 by an operator.
  • the robot M1 includes a control section 32.
  • the control unit 32 is controlled by a robot control device R1.
  • the control unit 32 controls six joint axes (RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis J5, TW) based on control commands transmitted from the robot control device R1.
  • Drive control of each of the six arms is realized by driving a motor (not shown) provided on each of the joint shafts J6) to rotate the six joint shafts.
  • the control unit 32 drives (rotates) only the joint axis, which is the object of measurement of the gravitational acceleration, by a single axis.
  • the three-dimensional acceleration sensor 31 which is an example of an acceleration sensor, is attached to the arm tip 33 (an example of the tip) of the robot M1, and measures the gravitational acceleration of the joint axis based on the sensor coordinate system.
  • the sensor coordinate system here is a coordinate system set in the three-dimensional acceleration sensor 31, and is, for example, a coordinate system defined by each of the X-axis, Y-axis, and Z-axis shown in FIG. 3.
  • the three-dimensional acceleration sensor 31 transmits information on the measured gravitational acceleration to the terminal device P1.
  • FIG. 3 is a diagram illustrating the six rotation axis vectors V RT , V UA , V FA , V RW , V BW , V TW of the robot and the coordinate system of the three-dimensional acceleration sensor 31 in the embodiment.
  • the sensor coordinate system of the three-dimensional acceleration sensor 31 shown in FIG. 3 is an example, and it goes without saying that the sensor coordinate system is not limited thereto.
  • each of the rotation axis vectors V RT , V UA , V FA , V RW , V BW , and V TW calculated by the rotation axis vector calculation unit 111 coincides with the origin O of the sensor coordinates.
  • the correction parameter calculation unit 112 performs a correction that allows the posture of the joint axis to be corrected (adjusted) based on a comparison between the rotation axis vector and the installation surface H0 (see FIG. 13), a comparison between a plurality of rotation axis vectors, etc. Parameters can be calculated.
  • FIG. 4 is a flowchart illustrating an example of the operation procedure of the robot system 100 according to the embodiment.
  • the terminal device P1 in the robot system 100 receives a selection (designation) operation of one or more joint axes by an operator, generates a control command requesting to start measuring the gravitational acceleration of the selected (designated) joint axes,
  • the data is sent to the robot control device R1.
  • the robot control device R1 adjusts the posture of the robot M1 to the measurement basic posture based on the control command transmitted from the terminal device P1.
  • the terminal device P1 measures the gravitational acceleration of each joint axis by acquiring three or more gravitational accelerations transmitted from the three-dimensional acceleration sensor 31 for each joint axis (St11).
  • the terminal device P1 calculates the rotation axis vector of each joint axis using each of the three or more gravitational accelerations acquired for each joint axis (St12).
  • the terminal device P1 calculates the angular difference between the joint axes, the angular difference between the joint axis and the installation surface H0 of the robot M1, or the angular difference between the joint axis and the gravity vector.
  • the angular difference between the indicated direction of gravity and the like is calculated (St13).
  • the terminal device P1 receives the operator's selection of an object (joint axis, installation surface H0, direction of gravity, etc.) to be used for calculating the angular difference, and calculates the angular difference between any two selected objects. may be calculated. Thereby, the terminal device P1 can calculate the joint axis correction parameters desired by the operator.
  • the terminal device P1 converts the interior angle between the two vectors into the angle between the two vectors. It may also be calculated as a difference. Alternatively, the terminal device P1 may calculate the orthogonal projection vectors of each of the two vectors, and calculate the interior angle of these two orthogonal projection vectors as the angular difference between the two vectors.
  • the terminal device P1 calculates a correction parameter (angle) of the joint axis that is the target of posture correction (adjustment) (St14).
  • the terminal device P1 associates the calculated correction parameters for each joint axis with a control command for rewriting the existing posture data of the robot M1 to new posture data based on the correction parameters, and sends them to the robot control device R1. , rewriting the second posture data 221 (St15).
  • the terminal device P1 displays the calculation results of the correction parameters for each joint axis on the display unit 14, and notifies the operator of the calculation results of the correction parameters calculated for each joint axis (St16).
  • the robot system 100 can more easily calculate the correction parameters for the posture of the joint axes of the robot M1. Furthermore, by displaying the calculation results of the correction parameters on the display unit 14, the robot system 100 can more effectively support the posture correction (adjustment) work of the robot M1 performed by the worker.
  • the posture correction (adjustment) work of the robot M1 may be performed by the robot control device R1.
  • the robot control device R1 corrects the posture of each joint axis based on the angle (posture) difference between the second posture data 221 before rewriting and the correction parameter transmitted from the terminal device P1. adjustment).
  • FIG. 5 is a flowchart illustrating an example of a procedure for measuring gravitational acceleration of the robot system 100 according to the embodiment.
  • FIG. 6 is a flowchart illustrating an example of a procedure for measuring gravitational acceleration of the robot system 100 according to the embodiment.
  • the gravitational acceleration is measured when the posture (rotation angle) of the joint axis indicated by "joint axis A" is changed. I will explain about it.
  • the operator attaches the three-dimensional acceleration sensor 31 to a predetermined position on the arm tip 33 of the robot M1 (St111). Note that if the three-dimensional acceleration sensor 31 is always attached, the process of step St111 may be omitted.
  • the terminal device P1 accepts an operation by the operator to select (designate) any one of the joint axes A whose gravitational acceleration has not yet been measured as the target for measuring gravitational acceleration (St112).
  • the terminal device P1 generates a control command requesting the start of measurement of the gravitational acceleration corresponding to the change in posture of the selected joint axis A, and transmits it to the robot control device R1.
  • the number of joint axes selected (designated) in step St112 may be plural.
  • the terminal device P1 determines whether the gravitational acceleration has not been measured among each of the plurality of selected (designated) joint axes. , and any one joint axis A is selected.
  • the terminal device P1 performs an operation for selecting (designating) an adjustment purpose or a detection purpose regarding the posture of the joint axes of the robot M1, such as adjusting the inclination of the robot M1 with respect to the installation surface, adjusting the origin, and detecting axis deviation. You may accept it.
  • the terminal device P1 records information on one or more joint axes whose gravitational acceleration is to be measured in the first memory 12 for each adjustment purpose or detection purpose.
  • the terminal device P1 refers to the first memory 12, and based on the information of the joint axes associated with the adjustment purpose or the detection purpose selected (designated) by the operator's operation, the terminal device P1 determines at least one target for measuring the gravitational acceleration. Determine one joint axis.
  • the robot control device R1 controls the motors capable of driving each joint axis of the robot M1 so as to take the basic measurement posture, and adjusts the posture of the robot M1 ( St13).
  • the robot control device R1 generates a control command (electrical signal) to notify the completion of the adjustment to the measurement basic posture, and transmits it to the terminal device P1.
  • the measurement basic posture here is a posture (rotation angle) that is adjusted as a basic posture when measuring gravitational acceleration, and information on the posture (rotation angle) is recorded in the first memory 12 for each joint axis.
  • the basic measurement posture described above is just an example, and it goes without saying that the present invention is not limited to this.
  • the terminal device P1 associates the posture (rotation angle) information of the joint axis A with the measured values of gravitational acceleration (x i , y i , z i ) based on the acquired measured value of gravitational acceleration, and determines the joint axis. It is recorded in the first memory 12 as posture data of A (St116).
  • the terminal device P1 determines whether the number of times i of measuring the gravitational acceleration corresponding to the posture change of the joint axis A is equal to or greater than a predetermined number m (m: an integer of 3 or more) (St117). Note that the predetermined number of times m may be set to an arbitrary number of times by the operator.
  • step St117 if the terminal device P1 determines that the number of times i of measuring the gravitational acceleration corresponding to the posture change of the joint axis A is equal to or more than the predetermined number m (i ⁇ m) (St117, YES), all It is determined whether the measurement of the gravitational acceleration corresponding to the posture change of the joint axis has been completed (St118).
  • all joint axes herein refer to all joint axes selected (designated) in the process of step St112.
  • step St117 if the terminal device P1 determines that the number of measurements of the gravitational acceleration corresponding to the posture change of the joint axis A is not equal to or greater than the predetermined number of times m (i ⁇ m) (St117, NO), the terminal device P1 A control command for changing the attitude (rotation angle) of axis A is generated and transmitted to robot control device R1.
  • the robot control device R1 Based on the control command transmitted from the terminal device P1, the robot control device R1 drives (rotates) a single joint axis A among the six joint axes of the robot M1, and changes the posture of the joint axis A.
  • the posture is changed (St119).
  • the robot control device R1 associates the posture (rotation angle) information of the joint axis A after the change with a control command that notifies the completion of the posture change and sends it to the terminal device P1. do.
  • the change to a different posture may be realized, for example, by rotating only the joint axis A (that is, a single axis) by a predetermined rotation angle (for example, 15 degrees, 30 degrees, 60 degrees, etc.). , may be realized by rotating only the joint axis A through three or more preset rotation angles (for example, 0 (zero) degrees, 120 degrees, 270 degrees, etc.).
  • step St118 If the terminal device P1 determines in the process of step St118 that the measurement of the gravitational acceleration corresponding to the posture change of all joint axes has been completed (St118, YES), the terminal device P1 generates a notification that the measurement of the gravitational acceleration has been completed. and is displayed on the display unit 14. The operator completes the gravitational acceleration measurement work by removing the three-dimensional acceleration sensor 31 from the arm tip 33 of the robot M1 (St121). Note that the process of step St121 may be omitted if there is no need to remove the three-dimensional acceleration sensor 31.
  • the terminal device P1 determines in the process of step St118 that the measurement of the gravitational acceleration corresponding to the posture change of all joint axes is not completed (St118, NO), the terminal device P1 determines that the gravitational acceleration is to be measured by the worker. , a selection (designation) operation for any joint axis A whose gravitational acceleration has not been measured is accepted (St112). Note that the terminal device P1 may automatically select any one joint axis for which the gravitational acceleration is not measured, without any selection operation by the operator.
  • FIG. 7 is a flowchart illustrating an example of a procedure for calculating the rotation axis vector of the terminal device P1 in the embodiment.
  • the gravitational acceleration is measured when the posture (rotation angle) of the joint axis indicated by "joint axis A" is changed. .
  • the terminal device P1 determines the joint axis A for calculating the rotation axis vector (St211). Note that the process for determining the joint axis A may be performed by the operator. In such a case, the terminal device P1 determines the joint axis A selected by the operator as the joint axis for which the rotation axis vector is calculated.
  • the terminal device P1 refers to the first memory 12 and acquires posture data corresponding to the joint axis A (St212).
  • the terminal device P1 calculates the difference value of each of the m measured values of gravitational acceleration measured at each posture (rotation angle) (St213), and determines whether each calculated difference value is greater than or equal to the threshold ThA. is determined (St214).
  • the threshold ThA is a value indicating measurement noise (measurement error) of the three-dimensional acceleration sensor, and may be set to an arbitrary value by the operator.
  • the terminal device P1 determines in the process of step St214 that the calculated difference value is greater than or equal to the threshold ThA (St214, YES), the terminal device P1 adds measurement noise of the three-dimensional acceleration sensor to each of the m gravitational acceleration measurement values. It is determined that there is a significant difference.
  • the terminal device P1 calculates m measured values of gravitational acceleration based on each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ).
  • a plane obtained by each plot (for example, the plane P TW shown in FIG. 8) is estimated (St215). Note that the plane may be estimated using SVD (Singular Value Decomposition), or other plane estimation methods may be used.
  • step St214 determines in the process of step St214 that the calculated difference value is not equal to or greater than the threshold ThA (St214, NO)
  • the terminal device P1 converts the gravity vector indicated by the measured value of gravitational acceleration into the rotational axis vector of the joint axis A. (St216). Note that the process of step St216 will be explained using a specific example in the explanation of FIG. 10, which will be described later.
  • the terminal device P1 projects each of the m measured values of gravitational acceleration onto the estimated plane.
  • the terminal device P1 draws a circle (for example, 8) is estimated ( St217 ).
  • the terminal device P1 determines whether the radius of the estimated circle is less than or equal to the threshold ThB (St218).
  • step St218 if the terminal device P1 determines that the radius of the estimated circle is equal to or less than the threshold ThB (St218, YES), the terminal device P1 determines the center coordinates of the estimated circle (for example, the center coordinates CO shown in FIG. 8). ) is determined as the rotation axis vector of the joint axis A (St219). Note that the process of step St219 will be explained using a specific example in the explanation of FIG. 11, which will be described later.
  • step St218 determines in the process of step St218 that the radius of the estimated circle is not equal to or less than the threshold ThB (St218, NO)
  • the terminal device P1 converts the normal vector to the estimated plane into the rotation axis vector of the joint axis A. (St220). Note that the process of step St220 will be explained using a specific example in the explanation of FIG. 12, which will be described later.
  • the terminal device P1 determines the sign (that is, the direction) of the set rotation axis vector based on the rotation direction in which the joint axis A is rotated in the forward direction (St221).
  • the terminal device P1 determines the direction along the forward rotation direction of the motor that drives the joint axis A as the direction of the rotation axis vector.
  • the terminal device P1 calculates the angular difference between the determined direction of the rotation axis vector and the direction of the rotation axis vector calculated based on the measured value of gravitational acceleration. If the calculated angular difference is an acute angle, the terminal device P1 determines the direction of the rotation axis vector calculated based on the measured value of gravitational acceleration, and if the calculated angular difference is an obtuse angle, the terminal device P1 determines the direction of the rotation axis vector based on the measured value of gravitational acceleration. The direction of the rotation axis vector calculated based on the measured value may be reversed.
  • the terminal device P1 determines whether calculation of the rotational axis vectors of all the joint axes measured in the process of step St11 has been completed (St222).
  • step St222 If the terminal device P1 determines in the process of step St222 that the calculation of the rotational axis vectors of all the joint axes has been completed (St222, YES), the terminal device P1 ends the rotational axis vector calculation process.
  • the terminal device P1 determines in the process of step St222 that calculation of the rotational axis vectors of all the joint axes has not been completed (St222, NO)
  • the terminal device P1 returns to the process of step St211 and Select one of the joint axes for which has not yet been calculated (St211).
  • step St215 plane estimation process
  • step St217 circle estimation process
  • FIG. 7 The process of step St215 (plane estimation process) and the process of step St217 (circle estimation process) shown in FIG. 7 will be described with reference to FIGS. 8 and 9, respectively.
  • FIG. 8 is a diagram illustrating an example of the plane P TW and the circle C TW .
  • FIG. 9 is a diagram illustrating an example of a circle C TW estimation processing procedure.
  • FIG. 8 as an example, the plane P TW and the circle C TW estimated based on each of m measured values of gravitational acceleration obtained when changing the posture (rotation angle) of the TW joint axis J6 are shown. Each is shown below.
  • FIG. 9 in order to make the explanation of the estimation processing procedure for each of the plane P TW and the circle C TW easier to understand, an example different from the positional relationship between the sensor coordinate system and the plane P TW and the circle C TW shown in FIG. 8 is shown. shows.
  • the X-axis, Y-axis, and Z-axis shown in FIGS. 8 and 9 each indicate a sensor coordinate system set in the three-dimensional acceleration sensor 31.
  • the plane P TW is a plane estimated by the process of step St215.
  • the terminal device P1 uses each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ) to calculate (Equation 1) which indicates a plane.
  • Equation 1 the estimation process of the plane P TW is executed.
  • the circle C TW is a circle estimated by the process of step St217.
  • the circle C TW estimation process will be specifically described.
  • the terminal device P1 calculates a unit normal vector of the plane P TW estimated using (Equation 1), and converts the calculated unit normal vector of the plane P TW into a unit vector in the Z-axis direction.
  • a rotation matrix R TW is calculated to match (St217-1). Note that any known method may be used to calculate the rotation matrix R TW ; for example, Rodriguez's rotation formula may be used.
  • the terminal device P1 calculates each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ), the plane P TW is rotated (St217-2).
  • the plane P TW ′ is the plane P TW after being rotated using the rotation matrix R TW .
  • the transformation values (x i ′, y i ′, z i ′), ..., (x m ′, y m ′ , z m ′) are the m gravitational forces after being rotated using the rotation matrix R TW .
  • Each of the measured values of acceleration are the transformation values of acceleration.
  • the terminal device P1 calculates the coordinates (x i ′) on the XY plane among the m converted values (x i ′, y i ′, z i ′ ), ..., (x m ′, y m ′, z m ′ ) , y i ′), ..., (x m ′, y m ′), the circle C TW ′ is estimated (St217-3).
  • the terminal device P1 calculates the center coordinates CO' (c x ', c y ') of the estimated circle C TW ' and the radius r of the circle C T W ' (St217-3). Note that the estimation of the circle C TW ′ is performed using any known method such as the method of least squares, for example.
  • the terminal device P1 calculates the distance D between the origin of the sensor coordinate system and the plane P TW ′ as the Z coordinate in the center coordinate CO′ (c x ′, c y ′) of the circle C TW ′ (St217 -4).
  • the terminal device P1 calculates an inverse matrix R TW -1 of the rotation matrix R TW .
  • the terminal device P1 uses the calculated inverse matrix R TW -1 to calculate the center coordinates CO (c x , c y , c z ) of the circle C TW in the sensor coordinate system, as shown in (Equation 3). (St217-5).
  • the terminal device P1 can estimate the center coordinates CO (c x , c y , cz ) of the circle C TW .
  • FIG. 10 is a diagram illustrating example 1 of setting the rotation axis vector.
  • FIG. 10 as an example, an example of a process for determining the rotation axis vector V RT when the object of measurement of gravitational acceleration is the RT joint axis J1 will be described.
  • Setting example 1 of the rotation axis vector is a gravity vector G indicated by the rotation axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31, such as the RT joint axis J1 when the robot M1 is installed on a horizontal plane.
  • This is an example of a process for determining the rotation axis vector in a case where the rotation axis vector and RT match.
  • each difference value of the m measured values of gravitational acceleration is no more than the threshold ThA. Therefore, in the process of step St214, the terminal device P1 determines that the calculated difference value is not greater than or equal to the threshold ThA, and proceeds to the process of step St216, changing the gravity vector G RT to the rotation axis vector V of the RT joint axis J1. Decided to RT .
  • FIG. 11 is a diagram illustrating a second example of setting the rotation axis vector.
  • FIG. 11 as an example, an example of a process for determining the rotation axis vector V TW in a case where the gravitational acceleration measurement target is the TW joint axis J6 will be described.
  • Setting example 2 of the rotation axis vector is based on the angle (for example, the angle difference) between the rotation axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31, such as the TW joint axis J6 shown in FIG. This is an example of a rotation axis vector determination process when ⁇ TW ) is small.
  • the circle C TW estimated by each of the m gravitational acceleration measurements (x i , y i ), ..., (x m , y m ) is at a position far from the origin of the sensor coordinate system ( That is, the distance D shown in FIG. 9 is large) has a radius r that is less than or equal to the threshold ThB.
  • the rotation axis vector V TW based on the estimated center coordinates CO TW of the circle C TW is set as the rotation axis vector of the TW joint axis J6.
  • Measurement error ER12 from the ideal rotation axis vector V' TW when determined, and the ideal rotation axis vector when the normal vector of the estimated plane P TW is determined as the rotation axis vector of the TW joint axis J6.
  • the measurement error ER12 is smaller.
  • the center coordinates CO' TW shown in FIG. 11 are the center coordinates of a circle estimated based on ideal measured values.
  • the plane P′ TW is a plane estimated based on ideal measurement results.
  • ideal here refers to an ideal measurement result without measurement error of the three-dimensional acceleration sensor 31.
  • the terminal device P1 passes through the origin O of the sensor coordinate system and the center coordinates CO TW of the circle C TW estimated through the process of Step St217, rather than the normal vector of the plane estimated through the process of Step St215.
  • the rotational axis vector V TW is determined as the rotational axis vector of the TW joint axis J6.
  • the terminal device P1 determines the value obtained by the three-dimensional acceleration sensor 31 based on the magnitude relationship between the value of the threshold ThB set corresponding to the magnitude of the measurement error of the three-dimensional acceleration sensor 31 and the radius of the circle. It is possible to determine a rotation axis vector that reduces the error in measuring the posture of the joint axis, that is, increases the accuracy of measuring the posture of the joint axis.
  • Step St220 (rotation axis vector determination process) shown in FIG. 7 will be described with reference to FIG. 12.
  • FIG. 12 is a diagram illustrating a third example of setting the rotation axis vector.
  • FIG. 12 as an example, an example of a process for determining the rotation axis vector VUA when the object of measurement of gravitational acceleration is the UA rotation axis will be described.
  • Example 3 of setting the rotational axis vector is when the rotational axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31 are at right angles or at right angles, such as UA joint axis J2 and FA joint axis J3 shown in FIG. This is an example of a process for determining a rotation axis vector when the angles are close to each other.
  • the circle C UA estimated by each of the m gravitational acceleration measurements (x i , y i ), ..., (x m , y m ) is located near the origin O of the sensor coordinate system. , has a radius r that is greater than or equal to the threshold ThB. Note that the radius of the estimated circle CUA is maximum when the angle between the rotation axis of the UA joint axis J2 and the gravity vector GUA indicating the direction of gravity measured by the three-dimensional acceleration sensor 31 is a right angle. Become.
  • the measured value of the three-dimensional acceleration sensor 31 includes a measurement error ER23
  • the normal vector of the estimated plane PUA is converted into the rotational axis vector V of the UA joint axis J2.
  • the measurement error ER22 when determined as UA is more similar to the ideal rotational axis vector V' UA than the measurement error ER21 when determined as the rotational axis vector based on the estimated center coordinates COUA of the circle CUA .
  • measurement error becomes smaller.
  • the center coordinates CO' UA shown in FIG. 12 are the center coordinates of a circle estimated based on ideal measured values.
  • the plane P' UA is a plane estimated based on ideal measurement results.
  • the terminal device P1 uses the rotation axis vector estimated by the process of step St215, not the rotation axis vector passing through the center coordinates of the circle CTW estimated by the process of step St217 and the origin O (not shown) of the sensor coordinate system.
  • the normal vector of the plane (not shown) is determined as the rotation axis vector VUA of the UA joint axis J2.
  • FIG. 13 is a diagram illustrating an example of detecting the inclination of the installation surface H1 of the robot M1.
  • the terminal device P1 calculates correction parameters for each joint axis based on the calculated angular difference ⁇ RT . This allows the operator to correct the inclination of the robot M1 with respect to the installation surface H1.
  • FIG. 14 is a diagram illustrating an example of detecting axis deviation of joint axes. Note that here, detection of the axis deviation of the FA joint axis J3 when no axis deviation has occurred in the UA joint axis J2 will be described.
  • a component M11 that rotates around the FA axis is assembled in a mounting posture PT1 that differs from the normal mounting posture PT0 due to foreign matter that got into it during assembly.
  • the terminal device P1 calculates an angular difference ⁇ FA between the rotation axis vector V FA of the FA joint axis J3 and the rotation axis vector V UA of the UA joint axis J2, which are in a parallel relationship in a state where no axis deviation occurs. Based on the calculated angular difference ⁇ FA , the terminal device P1 determines whether an axis misalignment has occurred in the FA joint axis J3 or the UA joint axis J2, and determines the sign (direction) of the angular difference ⁇ FA . Based on this, the direction of axis deviation is determined. Note that the terminal device P1 may compare the calculated angular difference ⁇ FA with a predetermined threshold value and determine whether an axis deviation has occurred in the FA joint axis J3 or the UA joint axis J2.
  • the terminal device P1 can detect abnormalities in the component M11 itself (for example, deterioration, defects, etc. of the component M11), abnormalities in the assembly of the component M11, etc., based on the calculated angular difference ⁇ FA .
  • the terminal device P1 determines whether the calculated value is not due to an abnormality in the component M11 itself (for example, deterioration or defect in the component M11) or an abnormality in the assembly of the component M11, but simply when an axis misalignment of the FA joint axis has occurred. Based on the angle difference ⁇ FA , a correction parameter for correcting the posture inclination of the FA joint axis can be calculated.
  • FIG. 15 is a diagram illustrating an example of adjusting the origin of the wrist axes (RW joint axis J4, BW joint axis J5, TW joint axis J6).
  • FIG. 16 is a diagram illustrating an example of the angular differences ⁇ RW and ⁇ TW . Note that the wrist axis here indicates each of the three joint axes near the arm tip 33, which are the RW joint axis J4, the BW joint axis J5, and the TW joint axis J6.
  • the terminal device P1 determines the planes P RW , P TW , and P BW corresponding to each joint axis based on the measured gravitational acceleration values of the RW joint axis J4, TW joint axis J6, and BW joint axis J5. and circles C RW (not shown), C TW (not shown), and C BW , respectively.
  • the terminal device P1 corresponds to each joint axis based on each of the estimated planes P RW , P TW , and P BW and circles C RW (not shown), C TW (not shown), and C BW .
  • Each of the rotation axis vectors V RW , V TW , and V BW is determined.
  • the terminal device P1 calculates the angle difference ⁇ BW between the rotation axis vector V RW of the RW joint axis J4 and the rotation axis vector V TW of the TW joint axis J6 when rotating the rotation axis vector V BW of the BW joint axis J5.
  • the angular differences ⁇ RW and ⁇ TW between the rotation axis vector V BW and the inclination (posture) direction of the rotation axis vector V BW are calculated.
  • the angle difference ⁇ BW calculated here is a value that changes depending on the operating angle of the BW joint axis J5. That is, the terminal device P1 calculates the correction parameters so that the angular difference ⁇ BW matches the measurement basic posture, thereby making it possible to execute the origin adjustment of the robot M1.
  • the terminal device P1 displays the calculated correction parameters on the display unit 14 and transmits them to the robot control device R1. This allows the operator to adjust the origin of the BW joint axis J5 with higher precision.
  • each of the angular differences ⁇ RW and ⁇ TW is an angle that does not depend on the operating angle of the robot M1. Therefore, the terminal device P1 can detect assembly abnormalities of the wrist axes ( RW joint axis J4, BW joint axis J5, TW joint axis J6) based on each of the calculated angular differences ⁇ RW and ⁇ TW .
  • the robot system 100 has a plurality of joint axes (one example of a motion axis, for example, RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis A robot M1 having an axis J5, a TW joint axis J6), a robot control device R1 that operates each of a plurality of joint axes to adjust the posture of the joint axes, and an arm tip 33 of the robot M1 (an example of a tip ), a three-dimensional acceleration sensor 31 (an example of an acceleration sensor) that measures the gravitational acceleration at the arm tip 33, a terminal device P1 capable of communicating between the three-dimensional acceleration sensor 31 and the robot control device R1, Equipped with The robot control device R1 moves a first joint axis among the plurality of joint axes to at least three different postures.
  • a motion axis for example, RT joint axis J1, UA joint axis J2, FA joint
  • the terminal device P1 stores three or more first gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures, and based on the three or more stored first gravitational acceleration data. , calculates a first rotational axis vector of the first joint axis in a three-dimensional space, and calculates a correction parameter for correcting the posture deviation of the robot M1 based on the calculated first rotational axis vector.
  • the robot system 100 can more accurately calculate correction parameters that can correct the posture deviation of each joint axis. Therefore, the operator can more easily correct the posture deviation of the robot M1 based on the calculated correction parameters.
  • the terminal device P1 in the robot system 100 calculates the first rotation axis vector and the gravity vector along the gravity direction measured by the three-dimensional acceleration sensor 31, and calculates the first rotation axis vector, A correction parameter is calculated based on the angular difference between the gravity vector and the gravity vector.
  • the robot system 100 according to the embodiment can calculate correction parameters that can perform more accurate tilt correction on the installation surface H1 of the robot M1.
  • the robot control device R1 in the robot system 100 operates the posture of a second joint axis that is different from the first joint axis among the plurality of joint axes to at least three or more different postures.
  • the terminal device P1 stores three or more second gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures of the second joint axis, and stores the three or more second gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of the three or more postures of the second joint axis.
  • a second rotational axis vector of the second joint axis in three-dimensional space is calculated based on the acceleration data, and a correction parameter is calculated based on the angular difference between the calculated first rotational axis vector and the second rotational axis vector. do.
  • the robot system 100 can adjust (correct) the joint axes of the robot M1 with higher precision based on the calculated angular difference (for example, the angular difference ⁇ FA shown in FIG. 14). It is possible to calculate correction parameters for executing.
  • the robot control device R1 in the robot system 100 can change the posture of a third joint axis that is different from the first joint axis and the second joint axis among the plurality of joint axes into at least three different postures. It works in the above posture.
  • the terminal device P1 stores three or more third gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures of the third joint axis, and stores the three or more third gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of the three or more postures of the third joint axis.
  • a third rotational axis vector of the third joint axis in three-dimensional space is calculated based on the acceleration data, and an angular difference between the calculated first rotational axis vector, second rotational axis vector, and third rotational axis vector is calculated. Calculate correction parameters based on Thereby, the robot system 100 according to the embodiment can calculate correction parameters for performing more accurate origin adjustment of the joint axes.
  • the present disclosure is useful as a robot system that adjusts the posture of each joint of a robot with higher precision.
  • First communication section 20
  • Second communication section 11
  • First processor 21
  • Second processor 12
  • First memory 22
  • Second memory 13
  • Input section 14
  • Display section 31
  • Three-dimensional acceleration sensor 32
  • Control section 33
  • Arm tip section 100
  • Robot system 111
  • Rotation axis vector calculation section 112
  • Correction parameter calculation section 113
  • Measurement posture command section 121
  • First posture data 221
  • Second posture data J1
  • Second posture data J1 RT joint axis J2 UA joint axis J3
  • FA joint axis J4 RW joint axis J5
  • BW joint Axis J6 TW joint axis M1
  • Robot P1 Terminal device R1
  • Robot control device

Landscapes

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

Abstract

A robot system according to the present invention comprises: a robot having a plurality of operation shafts; a robot control device that moves each of the plurality of operation shafts and adjusts the orientation of each of the operation shafts; an acceleration sensor that is provided at the leading end portion of the robot and measures the gravitational acceleration at the leading end portion; and a terminal device that can communicate between the acceleration sensor and the robot control device. The robot control device moves the orientation of a first operation shaft to at least three or more different orientations. The terminal device stores three or more pieces of first gravitational acceleration data detected by the acceleration sensor at each of the three or more orientations, calculates a first rotation axis vector of the first operation shaft in a three-dimensional space on the basis of the three or more pieces of first gravitational acceleration data, and calculates, on the basis of the calculated first rotation axis vector, a correction parameter for correcting an orientation deviation of the robot.

Description

ロボットシステムrobot system
 本開示は、ロボットシステムに関する。 The present disclosure relates to a robot system.
 特許文献1には、アームの先端部に力を加えて動かすことにより、先端部を任意の位置・姿勢に位置決めすることができるように、6以上の自由度を有するアームを備えるロボットのキャリブレーション方法が開示されている。このロボットのキャリブレーション方法は、アームの関節部の各軸に位置検出器を設けて、各軸の位置検出器の信号から先端部の位置・姿勢を計測することができる3次元計測器を用いて、校正したい多関節ロボットの先端部にある手先に3次元計測器の先端部を結合して、ロボット先端部の位置・姿勢を計測し、ロボットの位置・姿勢を変えて複数の教示点を計測することによりキャリブレーションを行う。 Patent Document 1 describes a calibration method for a robot equipped with an arm having six or more degrees of freedom so that the tip can be positioned in any desired position and posture by applying force to the tip and moving the tip. A method is disclosed. This robot calibration method uses a three-dimensional measuring device that can measure the position and orientation of the tip by installing position detectors on each axis of the joints of the arm and measuring the position and orientation of the tip from the signals from the position detectors of each axis. Then, connect the tip of the 3D measuring instrument to the hand at the tip of the articulated robot you want to calibrate, measure the position and orientation of the robot tip, and change the position and orientation of the robot to measure multiple teaching points. Calibration is performed by measuring.
特開2001-50741号公報Japanese Patent Application Publication No. 2001-50741
 本開示は、ロボットが有する各関節の姿勢をより高精度に調整するロボットシステムを提供する。 The present disclosure provides a robot system that adjusts the posture of each joint of a robot with higher precision.
 本開示は、複数の動作軸を有するロボットと、前記複数の動作軸のそれぞれを動作させて、前記動作軸の姿勢を調整するロボット制御装置と、前記ロボットの先端部に備えられ、前記先端部における重力加速度を測定する加速度センサと、前記加速度センサと前記ロボット制御装置との間で通信可能な端末装置と、を備えるロボットシステムであって、前記ロボット制御装置は、前記複数の動作軸のそれぞれのうちいずれか第1動作軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させ、前記端末装置は、前記3つ以上の姿勢のそれぞれにおいて前記加速度センサにより検出された3つ以上の第1重力加速度データを記憶し、記憶された前記3つ以上の第1重力加速度データに基づいて、3次元空間における前記第1動作軸の第1回転軸ベクトルを算出し、算出された前記第1回転軸ベクトルに基づいて、前記ロボットの姿勢ずれを補正するための補正パラメータを算出する、ロボットシステムを提供する。 The present disclosure provides a robot having a plurality of motion axes, a robot control device that operates each of the plurality of motion axes to adjust the posture of the motion axis, and a robot control device that is provided at a tip of the robot, and that is provided at a tip of the robot. A robot system comprising: an acceleration sensor that measures gravitational acceleration at a position; and a terminal device capable of communicating between the acceleration sensor and the robot control device, wherein the robot control device measures the gravitational acceleration of each of the plurality of motion axes. The terminal device moves the posture of any one of the first motion axes to at least three different postures, and the terminal device moves the posture of any one of the first motion axes to at least three different postures, and the terminal device storing gravitational acceleration data, calculating a first rotational axis vector of the first motion axis in three-dimensional space based on the three or more stored first gravitational acceleration data, and calculating the calculated first rotation; A robot system is provided that calculates a correction parameter for correcting the posture deviation of the robot based on an axis vector.
 本開示によれば、ロボットが有する各関節の姿勢をより高精度に調整できる。 According to the present disclosure, the posture of each joint of the robot can be adjusted with higher precision.
実施の形態に係るロボットシステムのシステム構成例を示すブロック図A block diagram showing an example of a system configuration of a robot system according to an embodiment. 実施の形態におけるロボットの6つの関節軸の一例を示す図A diagram showing an example of six joint axes of the robot in the embodiment 実施の形態におけるロボットの6つの回転軸ベクトルと、3次元加速度センサの座標系とを説明する図A diagram explaining the six rotational axis vectors of the robot and the coordinate system of the three-dimensional acceleration sensor in the embodiment 実施の形態に係るロボットシステムの動作手順例を説明するフローチャートFlowchart illustrating an example of the operation procedure of the robot system according to the embodiment 実施の形態に係るロボットシステムの重力加速度の測定手順例を説明するフローチャートFlowchart illustrating an example of a procedure for measuring gravitational acceleration of a robot system according to an embodiment 実施の形態に係るロボットシステムの重力加速度の測定手順例を説明するフローチャートFlowchart illustrating an example of a procedure for measuring gravitational acceleration of a robot system according to an embodiment 実施の形態における端末装置の回転軸ベクトルの算出手順例を説明するフローチャートFlowchart illustrating an example of a procedure for calculating a rotation axis vector of a terminal device in an embodiment 平面および円の一例について説明する図Diagram explaining an example of a plane and a circle 円の推定処理手順例について説明する図Diagram explaining an example of a circle estimation process procedure 回転軸ベクトルの設定例1について説明する図Diagram explaining example 1 of setting the rotation axis vector 回転軸ベクトルの設定例2について説明する図Diagram explaining example 2 of setting the rotation axis vector 回転軸ベクトルの設定例3について説明する図Diagram explaining example 3 of setting the rotation axis vector ロボットの設置面の傾き検出例を説明する図Diagram explaining an example of detecting the inclination of the robot installation surface 関節軸の軸ずれ検出例を説明する図Diagram illustrating an example of detecting joint axis misalignment 手首軸の原点調整例を説明する図Diagram explaining an example of wrist axis origin adjustment 角度差ΦRW,ΦTWの一例を説明する図A diagram explaining an example of the angular difference Φ RW and Φ TW
 (本開示に至る経緯)
 ロボットは、出荷時に各関節軸がキャリブレーションされた状態で出荷されるが、ロボット先端部が障害物等へ衝突したり、ロボットの部品交換等が行われたりすることで関節軸に位置・姿勢ずれが生じる。そこで、特許文献1のように、高精度に関節角度を測定可能な3次元位置測定器を用いたロボットのキャリブレーション方法が開示されているが、3次元位置測定器は、高価で、測定のために作業スペースを必要とする。また、作業者は、ロボットの各関節に位置検出器を設けたり、多関節ロボットの手先と3次元測定器の先端とを既定の位置で結合したりしなければならず、たいへん手間だった。
(Circumstances leading to this disclosure)
Robots are shipped with each joint axis calibrated, but if the tip of the robot collides with an obstacle or parts of the robot are replaced, the position and posture of the joint axes may change. Misalignment occurs. Therefore, as in Patent Document 1, a robot calibration method using a three-dimensional position measuring device that can measure joint angles with high precision is disclosed, but the three-dimensional position measuring device is expensive and difficult to measure. Requires work space. In addition, the operator had to install a position detector at each joint of the robot and connect the hand of the multi-joint robot to the tip of the three-dimensional measuring device at a predetermined position, which was very time-consuming.
 また、従来、他のロボットのキャリブレーション方法として、位置合わせのためのピンをロボットの先端部に取り付けて、治具上の位置合わせ点にピンを合わせることでロボットのキャリブレーションを実行する方法がある。しかし、このようなキャリブレーション方法は、位置合わせを行う作業者の熟練度によって校正精度が左右されるという課題があった。 In addition, conventional methods for calibrating other robots include attaching pins for positioning to the tip of the robot and aligning the pins with positioning points on a jig to calibrate the robot. be. However, such a calibration method has a problem in that the calibration accuracy depends on the skill level of the operator who performs the alignment.
 以下、適宜図面を参照しながら、本開示に係るロボットシステムを具体的に開示した各実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。なお、添付図面および以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。 Hereinafter, each embodiment specifically disclosing the robot system according to the present disclosure will be described in detail with reference to the drawings as appropriate. However, more detailed explanation than necessary may be omitted. For example, detailed explanations of well-known matters or redundant explanations of substantially the same configurations may be omitted. This is to avoid unnecessary redundancy in the following description and to facilitate understanding by those skilled in the art. The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present disclosure, and are not intended to limit the subject matter recited in the claims.
 まず、図1および図2のそれぞれを参照して、実施の形態に係るロボットシステム100の全体構成について説明する。図1は、実施の形態に係るロボットシステム100のシステム構成例を示すブロック図である。図2は、実施の形態におけるロボットM1の6つの関節軸(動作軸の一例であって、RT関節軸J1,UA関節軸J2,FA関節軸J3,RW関節軸J4,BW関節軸J5,TW関節軸J6)の一例を示す図である。 First, the overall configuration of a robot system 100 according to an embodiment will be described with reference to FIGS. 1 and 2, respectively. FIG. 1 is a block diagram showing an example of a system configuration of a robot system 100 according to an embodiment. FIG. 2 shows six joint axes (one example of the motion axes) of the robot M1 in the embodiment, including the RT joint axis J1, the UA joint axis J2, the FA joint axis J3, the RW joint axis J4, the BW joint axis J5, and the TW joint axis. It is a figure showing an example of joint axis J6).
 実施の形態に係るロボットシステム100は、端末装置P1と、ロボット制御装置R1と、ロボットM1とを含む。 The robot system 100 according to the embodiment includes a terminal device P1, a robot control device R1, and a robot M1.
 端末装置P1は、例えば、PC(Personal Computer),ノートPC,タブレット端末等により実現される。端末装置P1は、ロボットM1のキャリブレーション作業を行う作業者操作を受け付け可能であって、ロボットM1の少なくとも1つの関節軸の重力加速度の測定値に基づいて、ロボットM1の少なくとも1つの関節軸の補正パラメータの算出を実行する。端末装置P1は、第1の通信部10と、第1のプロセッサ11と、第1のメモリ12と、入力部13と、表示部14とを含む。 The terminal device P1 is realized by, for example, a PC (Personal Computer), a notebook PC, a tablet terminal, or the like. The terminal device P1 is capable of receiving an operator's operation for calibrating the robot M1, and is configured to calibrate the at least one joint axis of the robot M1 based on the measured value of the gravitational acceleration of the at least one joint axis of the robot M1. Calculate correction parameters. The terminal device P1 includes a first communication section 10, a first processor 11, a first memory 12, an input section 13, and a display section 14.
 第1の通信部10は、ロボットM1に取り付けられた3次元加速度センサ31との間で、無線あるいは有線通信可能に接続され、データの送受信を実行する。なお、ここでいう無線通信は、例えばWi-Fi(登録商標)等の無線LAN(Local Area Network)を介した通信である。第1の通信部10は、3次元加速度センサ31から送信された重力加速度の情報を第1のプロセッサ11に出力する。 The first communication unit 10 is connected to a three-dimensional acceleration sensor 31 attached to the robot M1 for wireless or wired communication, and executes data transmission and reception. Note that the wireless communication referred to here is communication via a wireless LAN (Local Area Network) such as Wi-Fi (registered trademark), for example. The first communication unit 10 outputs the gravitational acceleration information transmitted from the three-dimensional acceleration sensor 31 to the first processor 11.
 第1のプロセッサ11は、例えばCPU(Central Processing Unit)またはFPGA(Field Programmable Gate Array)を用いて構成され、第1のメモリ12と協働して、各種の処理および制御を行う。具体的には、第1のプロセッサ11は、第1のメモリ12に保持されたプログラムを参照し、そのプログラムを実行することにより、各部の機能を実現する。なお、ここでいう各部は、回転軸ベクトル算出部111,補正パラメータ算出部112,測定姿勢命令部113等である。第1のプロセッサ11は、3次元加速度センサ31により測定されたロボットM1の姿勢(重力加速度)に基づいて、少なくとも1つの関節軸の姿勢を補正(調整)するための補正パラメータを算出する。 The first processor 11 is configured using, for example, a CPU (Central Processing Unit) or an FPGA (Field Programmable Gate Array), and performs various processing and control in cooperation with the first memory 12. Specifically, the first processor 11 refers to a program held in the first memory 12 and executes the program to realize the functions of each part. Note that each section referred to here includes a rotational axis vector calculation section 111, a correction parameter calculation section 112, a measurement posture command section 113, and the like. The first processor 11 calculates a correction parameter for correcting (adjusting) the posture of at least one joint axis based on the posture (gravitational acceleration) of the robot M1 measured by the three-dimensional acceleration sensor 31.
 回転軸ベクトル算出部111は、1つの関節軸に対して異なる3つ以上の姿勢で測定された重力加速度の測定値のそれぞれに基づいて、この関節軸の回転軸ベクトルを算出する。なお、回転軸ベクトル算出部111は、重力加速度の測定値に基づいて、3次元加速度センサ31にかかる重力の大きさと方向とを示す重力ベクトルを算出してもよい。 The rotational axis vector calculation unit 111 calculates the rotational axis vector of one joint axis based on each of the measured values of gravitational acceleration measured in three or more different postures with respect to this joint axis. Note that the rotational axis vector calculation unit 111 may calculate a gravity vector indicating the magnitude and direction of gravity applied to the three-dimensional acceleration sensor 31 based on the measured value of gravitational acceleration.
 ここで、回転軸ベクトルについて説明する。回転軸ベクトルは、所謂関節軸の回転ベクトルであって、所定の関節軸を単軸で駆動(回転)させた時に得られる重力加速度の測定値の軌跡により定義される平面に対して垂直な法線ベクトルである。回転軸ベクトル算出部111は、算出された回転軸ベクトルの情報を補正パラメータ算出部112に出力する。 Here, the rotation axis vector will be explained. The rotation axis vector is the so-called rotation vector of the joint axis, and is a vector perpendicular to the plane defined by the locus of the measured value of gravitational acceleration obtained when a given joint axis is driven (rotated) on a single axis. It is a line vector. The rotation axis vector calculation unit 111 outputs information on the calculated rotation axis vector to the correction parameter calculation unit 112.
 補正パラメータ算出部112は、回転軸ベクトル算出部111から取得された少なくとも1つの関節軸の回転軸ベクトルに基づいて、作業者により指定された関節軸の補正パラメータを算出する。補正パラメータ算出部112は、算出された関節軸ごとの補正パラメータを表示部14に出力して表示させる。また、補正パラメータ算出部112は、算出された関節軸ごとの補正パラメータをロボット制御装置R1に送信し、記録させる。 The correction parameter calculation unit 112 calculates correction parameters for the joint axis specified by the operator based on the rotation axis vector of at least one joint axis obtained from the rotation axis vector calculation unit 111. The correction parameter calculation unit 112 outputs the calculated correction parameters for each joint axis to the display unit 14 for display. Further, the correction parameter calculation unit 112 transmits the calculated correction parameters for each joint axis to the robot control device R1, and causes the robot control device R1 to record them.
 測定姿勢命令部113は、1つの関節軸に対して異なる3つ以上の重力加速度を取得するために、現在重力加速度を測定中である関節軸の姿勢(回転角度)を所定の姿勢に変更させる制御指令を生成する。測定姿勢命令部113は、生成された制御指令をロボット制御装置R1に送信する。なお、制御指令の送信処理は、端末装置P1の第1の通信部10を介して実行されてもよい。 The measurement posture command unit 113 changes the posture (rotation angle) of the joint axis whose gravitational acceleration is currently being measured to a predetermined posture in order to obtain three or more different gravitational accelerations for one joint axis. Generate control commands. The measurement attitude command unit 113 transmits the generated control command to the robot control device R1. Note that the control command transmission process may be executed via the first communication unit 10 of the terminal device P1.
 第1のメモリ12は、例えば第1のプロセッサ11の処理を実行する際に用いられるワークメモリとしてのRAM(Random Access Memory)と、第1のプロセッサ11の処理を規定したプログラムを格納するROM(Read Only Memory)とを有する。RAMには、第1のプロセッサ11により生成あるいは取得されたデータが一時的に保存される。ROMには、第1のプロセッサ11の処理を規定するプログラムが書き込まれている。第1のメモリ12は、第1の姿勢データ121を記録する。 The first memory 12 includes, for example, a RAM (Random Access Memory) as a work memory used when executing the processing of the first processor 11, and a ROM (Random Access Memory) that stores a program that defines the processing of the first processor 11. Read Only Memory). Data generated or acquired by the first processor 11 is temporarily stored in the RAM. A program that defines the processing of the first processor 11 is written in the ROM. The first memory 12 records first posture data 121.
 第1の姿勢データ121は、測定姿勢命令部113により指定された姿勢(回転角度)の情報と、3次元加速度センサ31により測定された異なる3つ以上の重力加速度の測定値とが対応付けられたデータである。第1の姿勢データ121は、第1のプロセッサ11により関節軸ごとに記録される。 The first attitude data 121 includes information on the attitude (rotation angle) specified by the measurement attitude command unit 113 and three or more different measured values of gravitational acceleration measured by the three-dimensional acceleration sensor 31. This is the data. The first posture data 121 is recorded by the first processor 11 for each joint axis.
 入力部13は、例えばタッチパネル、ボタン、キーボード、マウス等のユーザインタフェースである。入力部13は、作業者操作を受け付けて、電気信号(制御指令)に変換し、第1のプロセッサ11に出力する。なお、タッチパネルを用いて構成される場合、入力部13と、表示部14とは、一体的に構成されてもよい。 The input unit 13 is a user interface such as a touch panel, buttons, keyboard, mouse, etc., for example. The input unit 13 receives an operator's operation, converts it into an electrical signal (control command), and outputs it to the first processor 11 . Note that when configured using a touch panel, the input section 13 and the display section 14 may be configured integrally.
 表示部14は、例えばLCD(Liquid Crystal Display)または有機EL(Electroluminescence)等のディスプレイである。表示部14は、各関節軸の補正パラメータの算出結果等を表示する。 The display unit 14 is, for example, a display such as an LCD (Liquid Crystal Display) or an organic EL (Electroluminescence). The display unit 14 displays the calculation results of correction parameters for each joint axis.
 ロボット制御装置R1は、端末装置P1から送信された制御指令に基づいて、ロボットM1の6つの関節軸のそれぞれを制御する。ロボット制御装置R1は、第2の通信部20と、第2のプロセッサ21と、第2のメモリ22とを含む。 The robot control device R1 controls each of the six joint axes of the robot M1 based on control commands transmitted from the terminal device P1. Robot control device R1 includes a second communication unit 20, a second processor 21, and a second memory 22.
 第2の通信部20は、端末装置P1およびロボットM1のそれぞれとの間でデータ送受信可能に接続される。第2の通信部20は、端末装置P1から送信された制御指令,関節軸ごとの補正パラメータ等を第2のプロセッサ21に出力する。 The second communication unit 20 is connected to each of the terminal device P1 and the robot M1 so as to be able to transmit and receive data. The second communication unit 20 outputs control commands, correction parameters for each joint axis, etc. transmitted from the terminal device P1 to the second processor 21.
 第2のプロセッサ21は、例えばCPUまたはFPGAを用いて構成され、第2のメモリ22と協働して、各種の処理および制御を行う。具体的には、第2のプロセッサ21は、第2のメモリ22に保持されたプログラムを参照し、そのプログラムを実行することにより、各部の機能を実現する。第2のプロセッサ21は、端末装置P1から送信された制御指令に基づいて、ロボットM1の各関節軸を駆動制御したり、端末装置P1から送信された関節軸ごとの補正パラメータと、現在の関節軸の姿勢との角度差に基づいて、ロボットM1の各関節軸の姿勢補正(調整)を実行したりする。 The second processor 21 is configured using, for example, a CPU or an FPGA, and performs various processing and control in cooperation with the second memory 22. Specifically, the second processor 21 refers to a program held in the second memory 22 and executes the program to realize the functions of each part. The second processor 21 drives and controls each joint axis of the robot M1 based on the control command transmitted from the terminal device P1, and uses correction parameters for each joint axis transmitted from the terminal device P1 and the current joint axis. The posture correction (adjustment) of each joint axis of the robot M1 is performed based on the angular difference with the posture of the axis.
 第2のメモリ22は、例えば第2のプロセッサ21の処理を実行する際に用いられるワークメモリとしてのRAMと、第2のプロセッサ21の処理を規定したプログラムを格納するROMとを有する。RAMには、第2のプロセッサ21により生成あるいは取得されたデータが一時的に保存される。ROMには、第2のプロセッサ21の処理を規定するプログラムが書き込まれている。第2のメモリ22は、第2の姿勢データ221を記録する。 The second memory 22 includes, for example, a RAM as a work memory used when executing the processing of the second processor 21, and a ROM that stores a program that defines the processing of the second processor 21. Data generated or acquired by the second processor 21 is temporarily stored in the RAM. A program that defines the processing of the second processor 21 is written in the ROM. The second memory 22 records second posture data 221.
 第2の姿勢データ221は、ロボットM1の6つの関節軸のそれぞれ(RT関節軸J1,UA関節軸J2,FA関節軸J3,RW関節軸J4,BW関節軸J5,TW関節軸J6)の姿勢(角度)を記録する。第2の姿勢データ221は、端末装置P1から関節軸の姿勢を補正(調整)するための補正パラメータが送信された場合、第2のプロセッサ21により取得された補正パラメータが示す姿勢(角度)に書き換えられる。 The second posture data 221 is the posture of each of the six joint axes of the robot M1 (RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis J5, TW joint axis J6). Record the (angle). When a correction parameter for correcting (adjusting) the posture of a joint axis is transmitted from the terminal device P1, the second posture data 221 is set to the posture (angle) indicated by the correction parameter acquired by the second processor 21. Can be rewritten.
 ロボットM1は、ロボット制御装置R1との間でデータ送受信可能に接続される。なお、本実施の形態では、6つのアームを駆動可能にする6つの関節軸を有するロボットである例を示すが、関節軸の数はこれに限定されないことは言うまでもない。 The robot M1 is connected to the robot control device R1 so as to be able to transmit and receive data. In this embodiment, an example is shown in which the robot has six joint axes that can drive six arms, but it goes without saying that the number of joint axes is not limited to this.
 ロボットM1は、RT軸回りに回転自在であるRT関節軸J1と、UA軸回りに回転自在であるUA関節軸J2と、FA軸回りに回転自在であるFA関節軸J3と、RW軸回りに回転自在であるRW関節軸J4と、BW軸回りに回転自在であるBW関節軸J5と、TW軸回りに回転自在であるTW関節軸J6とを備える。ロボットM1は、作業者によりアーム先端部33に3次元加速度センサ31が取り付けられる。 The robot M1 has an RT joint axis J1 that is rotatable around the RT axis, a UA joint axis J2 that is rotatable around the UA axis, an FA joint axis J3 that is rotatable around the FA axis, and an FA joint axis J3 that is rotatable around the FA axis. It includes a rotatable RW joint axis J4, a BW joint axis J5 that is rotatable around the BW axis, and a TW joint axis J6 that is rotatable around the TW axis. A three-dimensional acceleration sensor 31 is attached to the arm tip 33 of the robot M1 by an operator.
 ロボットM1は、制御部32を備える。制御部32は、ロボット制御装置R1により制御される。制御部32は、ロボット制御装置R1から送信された制御指令に基づいて、6つの関節軸(RT関節軸J1,UA関節軸J2,FA関節軸J3,RW関節軸J4,BW関節軸J5,TW関節軸J6)のそれぞれに設けられたモータ(不図示)を駆動させ、6つの関節軸を回転させることにより6つのアームのそれぞれの駆動制御を実現する。なお、制御部32は、関節軸の重力加速度を測定する場合、重力加速度の測定対象である関節軸のみを単軸で駆動(回転)させる。 The robot M1 includes a control section 32. The control unit 32 is controlled by a robot control device R1. The control unit 32 controls six joint axes (RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis J5, TW) based on control commands transmitted from the robot control device R1. Drive control of each of the six arms is realized by driving a motor (not shown) provided on each of the joint shafts J6) to rotate the six joint shafts. Note that when measuring the gravitational acceleration of the joint axis, the control unit 32 drives (rotates) only the joint axis, which is the object of measurement of the gravitational acceleration, by a single axis.
 加速度センサの一例としての3次元加速度センサ31は、ロボットM1のアーム先端部33(先端部の一例)に取り付けられ、センサ座標系に基づく関節軸の重力加速度を測定する。なお、ここでいうセンサ座標系は、3次元加速度センサ31に設定された座標系であって、例えば、図3に示すX軸,Y軸,Z軸のそれぞれにより定義される座標系である。3次元加速度センサ31は、測定された重力加速度の情報を端末装置P1に送信する。 The three-dimensional acceleration sensor 31, which is an example of an acceleration sensor, is attached to the arm tip 33 (an example of the tip) of the robot M1, and measures the gravitational acceleration of the joint axis based on the sensor coordinate system. Note that the sensor coordinate system here is a coordinate system set in the three-dimensional acceleration sensor 31, and is, for example, a coordinate system defined by each of the X-axis, Y-axis, and Z-axis shown in FIG. 3. The three-dimensional acceleration sensor 31 transmits information on the measured gravitational acceleration to the terminal device P1.
 次に、図3を参照して、各関節軸の回転軸ベクトルについて説明する。図3は、実施の形態におけるロボットの6つの回転軸ベクトルVRT,VUA,VFA,VRW,VBW,VTWと、3次元加速度センサ31の座標系とを説明する図である。なお、図3に示す3次元加速度センサ31のセンサ座標系は、一例であってこれに限定されないことは言うまでもない。 Next, referring to FIG. 3, the rotation axis vector of each joint axis will be explained. FIG. 3 is a diagram illustrating the six rotation axis vectors V RT , V UA , V FA , V RW , V BW , V TW of the robot and the coordinate system of the three-dimensional acceleration sensor 31 in the embodiment. Note that the sensor coordinate system of the three-dimensional acceleration sensor 31 shown in FIG. 3 is an example, and it goes without saying that the sensor coordinate system is not limited thereto.
 回転軸ベクトル算出部111により算出される回転軸ベクトルVRT,VUA,VFA,VRW,VBW,VTWのそれぞれは、始点がセンサ座標の原点Oと一致する。これにより、補正パラメータ算出部112は、回転軸ベクトルと設置面H0(図13参照)との比較、複数の回転軸ベクトルの比較等に基づいて、関節軸の姿勢を補正(調整)可能な補正パラメータを算出できる。 The starting point of each of the rotation axis vectors V RT , V UA , V FA , V RW , V BW , and V TW calculated by the rotation axis vector calculation unit 111 coincides with the origin O of the sensor coordinates. As a result, the correction parameter calculation unit 112 performs a correction that allows the posture of the joint axis to be corrected (adjusted) based on a comparison between the rotation axis vector and the installation surface H0 (see FIG. 13), a comparison between a plurality of rotation axis vectors, etc. Parameters can be calculated.
 次に、図4を参照して、ロボットシステム100の動作手順例について説明する。図4は、実施の形態に係るロボットシステム100の動作手順例を説明するフローチャートである。 Next, an example of the operation procedure of the robot system 100 will be described with reference to FIG. 4. FIG. 4 is a flowchart illustrating an example of the operation procedure of the robot system 100 according to the embodiment.
 ロボットシステム100における端末装置P1は、作業者による1以上の関節軸の選択(指定)操作を受け付け、選択(指定)された関節軸の重力加速度の測定開始を要求する制御指令を生成して、ロボット制御装置R1に送信する。ロボット制御装置R1は、端末装置P1から送信された制御指令に基づいて、ロボットM1の姿勢を測定基本姿勢に調整する。端末装置P1は、3次元加速度センサ31から送信された3つ以上の重力加速度を関節軸ごとに取得することで、各関節軸の重力加速度を測定する(St11)。 The terminal device P1 in the robot system 100 receives a selection (designation) operation of one or more joint axes by an operator, generates a control command requesting to start measuring the gravitational acceleration of the selected (designated) joint axes, The data is sent to the robot control device R1. The robot control device R1 adjusts the posture of the robot M1 to the measurement basic posture based on the control command transmitted from the terminal device P1. The terminal device P1 measures the gravitational acceleration of each joint axis by acquiring three or more gravitational accelerations transmitted from the three-dimensional acceleration sensor 31 for each joint axis (St11).
 端末装置P1は、関節軸ごとに取得された3つ以上の重力加速度のそれぞれを用いて、各関節軸の回転軸ベクトルを算出する(St12)。 The terminal device P1 calculates the rotation axis vector of each joint axis using each of the three or more gravitational accelerations acquired for each joint axis (St12).
 端末装置P1は、算出された回転軸ベクトルに基づいて、関節軸と関節軸との間の角度差、関節軸とロボットM1の設置面H0との間の角度差、あるいは関節軸と重力ベクトルが示す重力方向との間の角度差等を算出する(St13)。なお、ステップSt13において、端末装置P1は、作業者により角度差の算出に用いられる対象(関節軸,設置面H0,重力方向等)の選択を受け付け、選択された任意の2つの対象の角度差を算出してよい。これにより、端末装置P1は、作業者が要望する関節軸の補正パラメータを算出できる。 Based on the calculated rotational axis vector, the terminal device P1 calculates the angular difference between the joint axes, the angular difference between the joint axis and the installation surface H0 of the robot M1, or the angular difference between the joint axis and the gravity vector. The angular difference between the indicated direction of gravity and the like is calculated (St13). In addition, in step St13, the terminal device P1 receives the operator's selection of an object (joint axis, installation surface H0, direction of gravity, etc.) to be used for calculating the angular difference, and calculates the angular difference between any two selected objects. may be calculated. Thereby, the terminal device P1 can calculate the joint axis correction parameters desired by the operator.
 ここで、ステップSt13の処理で算出される角度差について説明する。2つの回転軸ベクトルとの間の角度差、あるいは回転軸ベクトルと重力ベクトルとの間の角度差を算出する場合、端末装置P1は、2つのベクトルの間の内角を2つのベクトルの間の角度差として算出してもよい。また、端末装置P1は、2つのベクトルのそれぞれの正射影ベクトルを算出し、これらの2つの正射影ベクトルの内角を2つのベクトルの間の角度差として算出してもよい。 Here, the angular difference calculated in the process of step St13 will be explained. When calculating the angular difference between two rotation axis vectors or between the rotation axis vector and the gravity vector, the terminal device P1 converts the interior angle between the two vectors into the angle between the two vectors. It may also be calculated as a difference. Alternatively, the terminal device P1 may calculate the orthogonal projection vectors of each of the two vectors, and calculate the interior angle of these two orthogonal projection vectors as the angular difference between the two vectors.
 端末装置P1は、算出された角度差に基づいて、姿勢補正(調整)対象である関節軸の補正パラメータ(角度)を算出する(St14)。 Based on the calculated angular difference, the terminal device P1 calculates a correction parameter (angle) of the joint axis that is the target of posture correction (adjustment) (St14).
 端末装置P1は、算出された関節軸ごとの補正パラメータと、既存のロボットM1の姿勢データを補正パラメータに基づく新たな姿勢データに書き換えさせる制御指令とを対応付けて、ロボット制御装置R1に送信し、第2の姿勢データ221の書き換えを実行させる(St15)。 The terminal device P1 associates the calculated correction parameters for each joint axis with a control command for rewriting the existing posture data of the robot M1 to new posture data based on the correction parameters, and sends them to the robot control device R1. , rewriting the second posture data 221 (St15).
 端末装置P1は、関節軸ごとの補正パラメータの算出結果を表示部14に表示し、関節軸ごとに算出された補正パラメータの算出結果を作業者に通知する(St16)。 The terminal device P1 displays the calculation results of the correction parameters for each joint axis on the display unit 14, and notifies the operator of the calculation results of the correction parameters calculated for each joint axis (St16).
 以上により、実施の形態に係るロボットシステム100は、ロボットM1の関節軸の姿勢の補正パラメータをより容易に算出できる。また、ロボットシステム100は、補正パラメータの算出結果を表示部14に表示することにより、作業者により行われるロボットM1の姿勢補正(調整)作業をより効果的に支援することができる。 As described above, the robot system 100 according to the embodiment can more easily calculate the correction parameters for the posture of the joint axes of the robot M1. Furthermore, by displaying the calculation results of the correction parameters on the display unit 14, the robot system 100 can more effectively support the posture correction (adjustment) work of the robot M1 performed by the worker.
 なお、ロボットM1の姿勢補正(調整)作業は、ロボット制御装置R1により実行されてもよい。このような場合、ロボット制御装置R1は、書き換え前の第2の姿勢データ221と、端末装置P1から送信された補正パラメータとの角度(姿勢)差分に基づいて、各関節軸の姿勢を補正(調整)してもよい。 Note that the posture correction (adjustment) work of the robot M1 may be performed by the robot control device R1. In such a case, the robot control device R1 corrects the posture of each joint axis based on the angle (posture) difference between the second posture data 221 before rewriting and the correction parameter transmitted from the terminal device P1. adjustment).
 次に、図5および図6のそれぞれを参照して、図4に示すステップSt11(重力加速度の測定方法)について説明する。図5は、実施の形態に係るロボットシステム100の重力加速度の測定手順例を説明するフローチャートである。図6は、実施の形態に係るロボットシステム100の重力加速度の測定手順例を説明するフローチャートである。なお、図5および図6の説明では、説明を分かりやすくするために、一例として「関節軸A」で示される関節軸の姿勢(回転角度)を変化させた時の重力加速度の測定を行う例について説明する。 Next, step St11 (method for measuring gravitational acceleration) shown in FIG. 4 will be described with reference to FIGS. 5 and 6, respectively. FIG. 5 is a flowchart illustrating an example of a procedure for measuring gravitational acceleration of the robot system 100 according to the embodiment. FIG. 6 is a flowchart illustrating an example of a procedure for measuring gravitational acceleration of the robot system 100 according to the embodiment. In addition, in the explanation of FIGS. 5 and 6, in order to make the explanation easier to understand, as an example, the gravitational acceleration is measured when the posture (rotation angle) of the joint axis indicated by "joint axis A" is changed. I will explain about it.
 作業者は、ロボットM1のアーム先端部33の所定位置に3次元加速度センサ31を取り付ける(St111)。なお、3次元加速度センサ31が常時取り付けられる場合、ステップSt111の処理は省略されてもよい。 The operator attaches the three-dimensional acceleration sensor 31 to a predetermined position on the arm tip 33 of the robot M1 (St111). Note that if the three-dimensional acceleration sensor 31 is always attached, the process of step St111 may be omitted.
 端末装置P1は、作業者による重力加速度の測定対象として、重力加速度が未測定であるいずれか関節軸Aの選択(指定)操作を受け付ける(St112)。端末装置P1は、選択された関節軸Aの姿勢変化に対応する重力加速度の測定開始を要求する制御指令を生成して、ロボット制御装置R1に送信する。 The terminal device P1 accepts an operation by the operator to select (designate) any one of the joint axes A whose gravitational acceleration has not yet been measured as the target for measuring gravitational acceleration (St112). The terminal device P1 generates a control command requesting the start of measurement of the gravitational acceleration corresponding to the change in posture of the selected joint axis A, and transmits it to the robot control device R1.
 なお、ステップSt112で選択(指定)される関節軸の数は、複数であってもよい。端末装置P1は、重力加速度の測定対象である複数の関節軸の選択(指定)操作を受け付けた場合、選択(指定)された複数の関節軸のそれぞれのうち、重力加速度が未計測であって、かつ、いずれか1つの関節軸Aを選択する。 Note that the number of joint axes selected (designated) in step St112 may be plural. When the terminal device P1 receives an operation for selecting (designating) a plurality of joint axes whose gravitational acceleration is to be measured, the terminal device P1 determines whether the gravitational acceleration has not been measured among each of the plurality of selected (designated) joint axes. , and any one joint axis A is selected.
 また、ステップSt112において、端末装置P1は、例えば、設置面に対するロボットM1の傾き調整,原点調整,軸ずれ検出等のロボットM1の関節軸の姿勢に関する調整目的あるいは検出目的の選択(指定)操作を受け付けてもよい。このような場合、端末装置P1は、調整目的あるいは検出目的ごとに重力加速度の測定対象となる1つ以上の関節軸の情報を第1のメモリ12に記録する。端末装置P1は、第1のメモリ12を参照し、作業者操作により選択(指定)された調整目的あるいは検出目的に対応付けられた関節軸の情報に基づいて、重力加速度の測定対象となる少なくとも1つの関節軸を決定する。 Further, in step St112, the terminal device P1 performs an operation for selecting (designating) an adjustment purpose or a detection purpose regarding the posture of the joint axes of the robot M1, such as adjusting the inclination of the robot M1 with respect to the installation surface, adjusting the origin, and detecting axis deviation. You may accept it. In such a case, the terminal device P1 records information on one or more joint axes whose gravitational acceleration is to be measured in the first memory 12 for each adjustment purpose or detection purpose. The terminal device P1 refers to the first memory 12, and based on the information of the joint axes associated with the adjustment purpose or the detection purpose selected (designated) by the operator's operation, the terminal device P1 determines at least one target for measuring the gravitational acceleration. Determine one joint axis.
 ロボット制御装置R1は、端末装置P1から送信された制御指令に基づいて、測定基本姿勢になるようにロボットM1の各関節軸を駆動可能なモータをそれぞれ制御し、ロボットM1の姿勢を調整する(St13)。ロボット制御装置R1は、ロボットM1の測定基本姿勢への調整が完了した場合、測定基本姿勢への調整完了を通知する制御指令(電気信号)を生成して、端末装置P1に送信する。 Based on the control command transmitted from the terminal device P1, the robot control device R1 controls the motors capable of driving each joint axis of the robot M1 so as to take the basic measurement posture, and adjusts the posture of the robot M1 ( St13). When the adjustment of the robot M1 to the measurement basic posture is completed, the robot control device R1 generates a control command (electrical signal) to notify the completion of the adjustment to the measurement basic posture, and transmits it to the terminal device P1.
 なお、ここでいう測定基本姿勢は、重力加速度の測定時の基本姿勢として調整される姿勢(回転角度)であって、姿勢(回転角度)の情報が関節軸ごとに第1のメモリ12に記録される。測定基本姿勢は、例えば、RT関節軸J1=0(ゼロ)°、UA関節軸J2=-50°、FA関節軸J3=-50°、RW関節軸J4=0(ゼロ)°、BW関節軸J5=-10°、TW関節軸J6=0(ゼロ)°である。なお、上述した測定基本姿勢は一例であってこれに限定されないことは言うまでもない。 Note that the measurement basic posture here is a posture (rotation angle) that is adjusted as a basic posture when measuring gravitational acceleration, and information on the posture (rotation angle) is recorded in the first memory 12 for each joint axis. be done. The basic measurement postures are, for example, RT joint axis J1 = 0 (zero) degrees, UA joint axis J2 = -50 degrees, FA joint axis J3 = -50 degrees, RW joint axis J4 = 0 (zero) degrees, BW joint axis J5=-10°, TW joint axis J6=0 (zero)°. Note that the basic measurement posture described above is just an example, and it goes without saying that the present invention is not limited to this.
 端末装置P1は、ロボット制御装置R1から送信された測定基本姿勢への調整完了を通知する制御指令に基づいて、関節軸Aの姿勢変化に対応する重力加速度の測定回数i(i:0以上の整数)をi=1に設定する(St114)。端末装置P1は、ロボット制御装置R1から関節軸Aの現在の姿勢(回転角度)情報を取得(受信)し、ロボットM1のアーム先端部33に取り付けられた3次元加速度センサ31から重力加速度を取得(受信)する(St115)。 The terminal device P1 determines the number of measurements i (i: 0 or more) of the gravitational acceleration corresponding to the posture change of the joint axis A, based on the control command sent from the robot control device R1 to notify the completion of adjustment to the measurement basic posture. Integer) is set to i=1 (St114). The terminal device P1 acquires (receives) the current posture (rotation angle) information of the joint axis A from the robot control device R1, and acquires the gravitational acceleration from the three-dimensional acceleration sensor 31 attached to the arm tip 33 of the robot M1. (Receive) (St115).
 端末装置P1は、関節軸Aの姿勢(回転角度)情報と、取得された重力加速度の測定値に基づく重力加速度の測定値(x,y,z)とを対応付けて、関節軸Aの姿勢データとして第1のメモリ12に記録する(St116)。 The terminal device P1 associates the posture (rotation angle) information of the joint axis A with the measured values of gravitational acceleration (x i , y i , z i ) based on the acquired measured value of gravitational acceleration, and determines the joint axis. It is recorded in the first memory 12 as posture data of A (St116).
 端末装置P1は、関節軸Aの姿勢変化に対応する重力加速度の測定回数iが所定回数m(m:3以上の整数)以上であるか否かを判定する(St117)。なお、所定回数mは、作業者により任意の回数が設定されてよい。 The terminal device P1 determines whether the number of times i of measuring the gravitational acceleration corresponding to the posture change of the joint axis A is equal to or greater than a predetermined number m (m: an integer of 3 or more) (St117). Note that the predetermined number of times m may be set to an arbitrary number of times by the operator.
 端末装置P1は、ステップSt117の処理において、関節軸Aの姿勢変化に対応する重力加速度の測定回数iが所定回数m以上である(i≧m)と判定した場合(St117,YES)、すべての関節軸の姿勢変化に対応する重力加速度の測定が完了したか否かを判定する(St118)。なお、ここでいうすべての関節軸は、ステップSt112の処理で選択(指定)されたすべての関節軸を示す。 In the process of step St117, if the terminal device P1 determines that the number of times i of measuring the gravitational acceleration corresponding to the posture change of the joint axis A is equal to or more than the predetermined number m (i≧m) (St117, YES), all It is determined whether the measurement of the gravitational acceleration corresponding to the posture change of the joint axis has been completed (St118). Note that all joint axes herein refer to all joint axes selected (designated) in the process of step St112.
 一方、端末装置P1は、ステップSt117の処理において、関節軸Aの姿勢変化に対応する重力加速度の測定回数iが所定回数m以上でない(i<m)と判定した場合(St117,NO)、関節軸Aの姿勢(回転角度)を変更させる制御指令を生成して、ロボット制御装置R1に送信する。 On the other hand, in the process of step St117, if the terminal device P1 determines that the number of measurements of the gravitational acceleration corresponding to the posture change of the joint axis A is not equal to or greater than the predetermined number of times m (i<m) (St117, NO), the terminal device P1 A control command for changing the attitude (rotation angle) of axis A is generated and transmitted to robot control device R1.
 ロボット制御装置R1は、端末装置P1から送信された制御指令に基づいて、ロボットM1が有する6つの関節軸のうち関節軸Aの単軸で駆動(回転)させて、関節軸Aの姿勢を異なる姿勢に変更させる(St119)。ロボット制御装置R1は、関節軸Aの姿勢変更が完了した場合、変更後の関節軸Aの姿勢(回転角度)情報と、姿勢変更完了を通知する制御指令とを対応付けて端末装置P1に送信する。 Based on the control command transmitted from the terminal device P1, the robot control device R1 drives (rotates) a single joint axis A among the six joint axes of the robot M1, and changes the posture of the joint axis A. The posture is changed (St119). When the posture change of the joint axis A is completed, the robot control device R1 associates the posture (rotation angle) information of the joint axis A after the change with a control command that notifies the completion of the posture change and sends it to the terminal device P1. do.
 なお、異なる姿勢への変更は、例えば、関節軸Aのみ(つまり、単軸)を所定の回転角度(例えば、15°,30°,60°等)ずつ回転させることで実現されてもよいし、関節軸Aのみを事前に設定された3以上の回転角度(例えば、0(ゼロ)°,120°,270°等)に回転させることで実現されてもよい。 Note that the change to a different posture may be realized, for example, by rotating only the joint axis A (that is, a single axis) by a predetermined rotation angle (for example, 15 degrees, 30 degrees, 60 degrees, etc.). , may be realized by rotating only the joint axis A through three or more preset rotation angles (for example, 0 (zero) degrees, 120 degrees, 270 degrees, etc.).
 端末装置P1は、ロボット制御装置R1から送信された変更後の関節軸Aの姿勢(回転角度)情報と、制御指令と取得する。端末装置P1は、制御指令に基づいて、重力加速度の測定回数iをインクリメント(i=i+1)し(St120)、ロボットM1のアーム先端部33に取り付けられた3次元加速度センサ31から重力加速度の測定値を取得(受信)する(St115)。 The terminal device P1 acquires the changed posture (rotation angle) information of the joint axis A and the control command transmitted from the robot control device R1. Based on the control command, the terminal device P1 increments the number of gravitational acceleration measurements i (i=i+1) (St120), and measures the gravitational acceleration from the three-dimensional acceleration sensor 31 attached to the arm tip 33 of the robot M1. The value is acquired (received) (St115).
 端末装置P1は、ステップSt118の処理において、すべての関節軸の姿勢変化に対応する重力加速度の測定が完了したと判定した場合(St118,YES)、重力加速度の測定が完了した旨の通知を生成して、表示部14に表示する。作業者は、ロボットM1のアーム先端部33から3次元加速度センサ31を取り外すことで、重力加速度の測定作業を終了する(St121)。なお、ステップSt121の処理は、3次元加速度センサ31を取り外す必要がない場合には省略されてよい。 If the terminal device P1 determines in the process of step St118 that the measurement of the gravitational acceleration corresponding to the posture change of all joint axes has been completed (St118, YES), the terminal device P1 generates a notification that the measurement of the gravitational acceleration has been completed. and is displayed on the display unit 14. The operator completes the gravitational acceleration measurement work by removing the three-dimensional acceleration sensor 31 from the arm tip 33 of the robot M1 (St121). Note that the process of step St121 may be omitted if there is no need to remove the three-dimensional acceleration sensor 31.
 一方、端末装置P1は、ステップSt118の処理において、すべての関節軸の姿勢変化に対応する重力加速度の測定が完了していないと判定した場合(St118,NO)、作業者による重力加速度の測定対象として、重力加速度が未測定であるいずれか関節軸Aの選択(指定)操作を受け付ける(St112)。なお、端末装置P1は、作業者による選択操作なしに、重力加速度が未計測であって、かつ、いずれか1つの関節軸を自動で選択してもよい。 On the other hand, if the terminal device P1 determines in the process of step St118 that the measurement of the gravitational acceleration corresponding to the posture change of all joint axes is not completed (St118, NO), the terminal device P1 determines that the gravitational acceleration is to be measured by the worker. , a selection (designation) operation for any joint axis A whose gravitational acceleration has not been measured is accepted (St112). Note that the terminal device P1 may automatically select any one joint axis for which the gravitational acceleration is not measured, without any selection operation by the operator.
 次に、図7を参照して、図4に示すステップSt12の処理(回転軸ベクトルの算出処理)について説明する。図7は、実施の形態における端末装置P1の回転軸ベクトルの算出手順例を説明するフローチャートである。なお、図7の説明では、説明を分かりやすくするために、一例として「関節軸A」で示される関節軸の姿勢(回転角度)を変化させた時の重力加速度の測定を行う例について説明する。 Next, with reference to FIG. 7, the process of step St12 shown in FIG. 4 (rotation axis vector calculation process) will be described. FIG. 7 is a flowchart illustrating an example of a procedure for calculating the rotation axis vector of the terminal device P1 in the embodiment. In addition, in the explanation of FIG. 7, in order to make the explanation easier to understand, an example will be explained in which the gravitational acceleration is measured when the posture (rotation angle) of the joint axis indicated by "joint axis A" is changed. .
 端末装置P1は、回転軸ベクトルを算出する関節軸Aを決定する(St211)。なお、関節軸Aの決定処理は、作業者により行われてもよい。このような場合、端末装置P1は、作業者により選択された関節軸Aを、回転軸ベクトルの算出対象である関節軸に決定する。 The terminal device P1 determines the joint axis A for calculating the rotation axis vector (St211). Note that the process for determining the joint axis A may be performed by the operator. In such a case, the terminal device P1 determines the joint axis A selected by the operator as the joint axis for which the rotation axis vector is calculated.
 端末装置P1は、第1のメモリ12を参照し、関節軸Aに対応する姿勢データを取得する(St212)。端末装置P1は、各姿勢(回転角度)で測定されたm個の重力加速度の測定値のそれぞれの差分値を算出し(St213)、算出された各差分値が閾値ThA以上であるか否かを判定する(St214)。なお、閾値ThAは、3次元加速度センサの測定ノイズ(測定誤差)であることを示す値であり、作業者により任意の値が設定されてよい。 The terminal device P1 refers to the first memory 12 and acquires posture data corresponding to the joint axis A (St212). The terminal device P1 calculates the difference value of each of the m measured values of gravitational acceleration measured at each posture (rotation angle) (St213), and determines whether each calculated difference value is greater than or equal to the threshold ThA. is determined (St214). Note that the threshold ThA is a value indicating measurement noise (measurement error) of the three-dimensional acceleration sensor, and may be set to an arbitrary value by the operator.
 端末装置P1は、ステップSt214の処理において、算出された差分値が閾値ThA以上であると判定した場合(St214,YES)、m個の重力加速度の測定値のそれぞれに3次元加速度センサの測定ノイズでない優位な差があると判定する。端末装置P1は、m個の重力加速度の測定値のそれぞれ(x,y,z),…,(x,y,z)に基づいて、m個の重力加速度の測定値のそれぞれのプロットにより得られる平面(例えば、図8に示す平面PTW)を推定する(St215)。なお、平面の推定は、SVD(特異値分解、Singular Value Decomposition)を用いて行ってもよいし、他の平面の推定方法が用いられてもよい。 If the terminal device P1 determines in the process of step St214 that the calculated difference value is greater than or equal to the threshold ThA (St214, YES), the terminal device P1 adds measurement noise of the three-dimensional acceleration sensor to each of the m gravitational acceleration measurement values. It is determined that there is a significant difference. The terminal device P1 calculates m measured values of gravitational acceleration based on each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ). A plane obtained by each plot (for example, the plane P TW shown in FIG. 8) is estimated (St215). Note that the plane may be estimated using SVD (Singular Value Decomposition), or other plane estimation methods may be used.
 一方、端末装置P1は、ステップSt214の処理において、算出された差分値が閾値ThA以上でないと判定した場合(St214,NO)、重力加速度の測定値が示す重力ベクトルを関節軸Aの回転軸ベクトルに決定する(St216)。なお、ステップSt216の処理については、後述する図10の説明で具体例を用いて説明する。 On the other hand, if the terminal device P1 determines in the process of step St214 that the calculated difference value is not equal to or greater than the threshold ThA (St214, NO), the terminal device P1 converts the gravity vector indicated by the measured value of gravitational acceleration into the rotational axis vector of the joint axis A. (St216). Note that the process of step St216 will be explained using a specific example in the explanation of FIG. 10, which will be described later.
 端末装置P1は、推定された平面にm個の重力加速度の測定値のそれぞれを投影する。端末装置P1は、平面に投影されたm個の重力加速度の測定値のそれぞれに基づいて、m個の重力加速度の測定値のそれぞれが描き、関節軸Aの回転軌跡に対応する円(例えば、8に示す円CTW)を推定する(St217)。端末装置P1は、推定された円の半径が閾値ThB以下であるか否かを判定する(St218)。 The terminal device P1 projects each of the m measured values of gravitational acceleration onto the estimated plane. The terminal device P1 draws a circle (for example, 8) is estimated ( St217 ). The terminal device P1 determines whether the radius of the estimated circle is less than or equal to the threshold ThB (St218).
 端末装置P1は、ステップSt218の処理において、推定された円の半径が閾値ThB以下であると判定した場合(St218,YES)、推定された円の中心座標(例えば、図8に示す中心座標CO)を関節軸Aの回転軸ベクトルに決定する(St219)。なお、ステップSt219の処理については、後述する図11の説明で具体例を用いて説明する。 In the process of step St218, if the terminal device P1 determines that the radius of the estimated circle is equal to or less than the threshold ThB (St218, YES), the terminal device P1 determines the center coordinates of the estimated circle (for example, the center coordinates CO shown in FIG. 8). ) is determined as the rotation axis vector of the joint axis A (St219). Note that the process of step St219 will be explained using a specific example in the explanation of FIG. 11, which will be described later.
 一方、端末装置P1は、ステップSt218の処理において、推定された円の半径が閾値ThB以下でないと判定した場合(St218,NO)、推定された平面に対する法線ベクトルを関節軸Aの回転軸ベクトルに決定する(St220)。なお、ステップSt220の処理については、後述する図12の説明で具体例を用いて説明する。 On the other hand, if the terminal device P1 determines in the process of step St218 that the radius of the estimated circle is not equal to or less than the threshold ThB (St218, NO), the terminal device P1 converts the normal vector to the estimated plane into the rotation axis vector of the joint axis A. (St220). Note that the process of step St220 will be explained using a specific example in the explanation of FIG. 12, which will be described later.
 端末装置P1は、関節軸Aを正回転させる回転方向に基づいて、設定された回転軸ベクトルの符号(つまり、向き)を決定する(St221)。 The terminal device P1 determines the sign (that is, the direction) of the set rotation axis vector based on the rotation direction in which the joint axis A is rotated in the forward direction (St221).
 例えば、端末装置P1は、ステップSt216、ステップSt219およびステップSt220のそれぞれにおいて、関節軸Aを駆動させるモータの正回転方向に沿う向きを回転軸ベクトルの向きに決定する。 For example, in each of Step St216, Step St219, and Step St220, the terminal device P1 determines the direction along the forward rotation direction of the motor that drives the joint axis A as the direction of the rotation axis vector.
 また、例えば、端末装置P1は、決定された回転軸ベクトルの向きと、重力加速度の測定値に基づいて算出される回転軸ベクトルの向きとの角度差を算出する。端末装置P1は、算出された角度差が鋭角である場合、重力加速度の測定値に基づいて算出される回転軸ベクトルの向きに決定し、算出された角度差が鈍角である場合、重力加速度の測定値に基づいて算出される回転軸ベクトルの向きを反転させた向きに決定してもよい。 For example, the terminal device P1 calculates the angular difference between the determined direction of the rotation axis vector and the direction of the rotation axis vector calculated based on the measured value of gravitational acceleration. If the calculated angular difference is an acute angle, the terminal device P1 determines the direction of the rotation axis vector calculated based on the measured value of gravitational acceleration, and if the calculated angular difference is an obtuse angle, the terminal device P1 determines the direction of the rotation axis vector based on the measured value of gravitational acceleration. The direction of the rotation axis vector calculated based on the measured value may be reversed.
 端末装置P1は、ステップSt11の処理で測定されたすべての関節軸のそれぞれの回転軸ベクトルの算出が完了したか否かを判定する(St222)。 The terminal device P1 determines whether calculation of the rotational axis vectors of all the joint axes measured in the process of step St11 has been completed (St222).
 端末装置P1は、ステップSt222の処理において、すべての関節軸のそれぞれの回転軸ベクトルの算出が完了したと判定した場合(St222,YES)、回転軸ベクトルの算出処理を終了する。 If the terminal device P1 determines in the process of step St222 that the calculation of the rotational axis vectors of all the joint axes has been completed (St222, YES), the terminal device P1 ends the rotational axis vector calculation process.
 一方、端末装置P1は、ステップSt222の処理において、すべての関節軸のそれぞれの回転軸ベクトルの算出が完了していないと判定した場合(St222,NO)、ステップSt211の処理に戻り、回転軸ベクトルが未算出であるいずれかの関節軸を選択する(St211)。 On the other hand, if the terminal device P1 determines in the process of step St222 that calculation of the rotational axis vectors of all the joint axes has not been completed (St222, NO), the terminal device P1 returns to the process of step St211 and Select one of the joint axes for which has not yet been calculated (St211).
 図8および図9のそれぞれを参照して、図7に示すステップSt215の処理(平面の推定処理)、およびステップSt217の処理(円の推定処理)のそれぞれについて説明する。図8は、平面PTWおよび円CTWの一例について説明する図である。図9は、円CTWの推定処理手順例について説明する図である。 The process of step St215 (plane estimation process) and the process of step St217 (circle estimation process) shown in FIG. 7 will be described with reference to FIGS. 8 and 9, respectively. FIG. 8 is a diagram illustrating an example of the plane P TW and the circle C TW . FIG. 9 is a diagram illustrating an example of a circle C TW estimation processing procedure.
 なお、図8では、一例として、TW関節軸J6の姿勢(回転角度)を変化させた時に得られるm個の重力加速度の測定値のそれぞれに基づいて推定された平面PTWおよび円CTWのそれぞれを示す。また、図9では、平面PTWおよび円CTWのそれぞれの推定処理手順の説明を分かりやすくするために、図8に示すセンサ座標系と平面PTWおよび円CTWとの位置関係と異なる例を示す。 In addition, in FIG. 8, as an example, the plane P TW and the circle C TW estimated based on each of m measured values of gravitational acceleration obtained when changing the posture (rotation angle) of the TW joint axis J6 are shown. Each is shown below. In addition, in FIG. 9, in order to make the explanation of the estimation processing procedure for each of the plane P TW and the circle C TW easier to understand, an example different from the positional relationship between the sensor coordinate system and the plane P TW and the circle C TW shown in FIG. 8 is shown. shows.
 図8および図9のそれぞれに示すX軸,Y軸,Z軸のそれぞれは、3次元加速度センサ31に設定されたセンサ座標系を示す。 The X-axis, Y-axis, and Z-axis shown in FIGS. 8 and 9 each indicate a sensor coordinate system set in the three-dimensional acceleration sensor 31.
 平面PTWは、ステップSt215の処理により推定される平面である。端末装置P1は、m個の重力加速度の測定値のそれぞれ(x,y,z),…,(x,y,z)を用いて、平面を示す(数式1)の係数a,b,c,dのそれぞれを算出することで、平面PTWの推定処理を実行する。 The plane P TW is a plane estimated by the process of step St215. The terminal device P1 uses each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ) to calculate (Equation 1) which indicates a plane. By calculating each of the coefficients a, b, c, and d, the estimation process of the plane P TW is executed.
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000001
 円CTWは、ステップSt217の処理により推定される円である。以降、図9を参照して、円CTWの推定処理について、具体的に説明する。 The circle C TW is a circle estimated by the process of step St217. Hereinafter, with reference to FIG. 9, the circle C TW estimation process will be specifically described.
 端末装置P1は、センサ座標系において、(数式1)を用いて推定された平面PTWの単位法線ベクトルを算出し、算出された平面PTWの単位法線ベクトルをZ軸方向の単位ベクトルに一致させる回転行列RTWを算出する(St217-1)。なお、回転行列RTWの算出方法には、公知である任意の方法が用いられてよく、例えば、ロドリゲスの回転公式等が用いられてよい。 In the sensor coordinate system, the terminal device P1 calculates a unit normal vector of the plane P TW estimated using (Equation 1), and converts the calculated unit normal vector of the plane P TW into a unit vector in the Z-axis direction. A rotation matrix R TW is calculated to match (St217-1). Note that any known method may be used to calculate the rotation matrix R TW ; for example, Rodriguez's rotation formula may be used.
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002
 端末装置P1は、(数式2)に示すように、算出された回転行列RTWに基づいて、m個の重力加速度の測定値のそれぞれ(x,y,z),…,(x,y,z)を回転移動させることにより、平面PTWを回転させる(St217-2)。なお、平面PTW´は、回転行列RTWを用いて回転移動された後の平面PTWである。変換値(x´,y´,z´),…,(x´,y´,z´)は、回転行列RTWを用いて回転移動された後のm個の重力加速度の測定値のそれぞれである。 As shown in (Equation 2), the terminal device P1 calculates each of the m measured values of gravitational acceleration (x i , y i , z i ), ..., (x m , y m , z m ), the plane P TW is rotated (St217-2). Note that the plane P TW ′ is the plane P TW after being rotated using the rotation matrix R TW . The transformation values (x i ′, y i ′, z i ′), ..., (x m ′, y m ′ , z m ′) are the m gravitational forces after being rotated using the rotation matrix R TW . Each of the measured values of acceleration.
 端末装置P1は、m個の変換値(x´,y´,z´),…,(x´,y´,z´)のうちXY平面上の座標(x´,y´),…,(x´,y´)のそれぞれに基づいて、円CTW´の推定を実行する(St217-3)。端末装置P1は、推定された円CTW´の中心座標CO´(c´,c´)と、円CTW´の半径rとをそれぞれ算出する(St217-3)。なお、円CTW´の推定は、例えば、最小二乗法等の任意の公知の方法を用いて実行される。 The terminal device P1 calculates the coordinates (x i ′) on the XY plane among the m converted values (x i ′, y i ′, z i ′ ), ..., (x m ′, y m ′, z m ) , y i ′), ..., (x m ′, y m ′), the circle C TW ′ is estimated (St217-3). The terminal device P1 calculates the center coordinates CO' (c x ', c y ') of the estimated circle C TW ' and the radius r of the circle C T W ' (St217-3). Note that the estimation of the circle C TW ′ is performed using any known method such as the method of least squares, for example.
 端末装置P1は、円CTW´の中心座標CO´(c´,c´)におけるZ座標として、センサ座標系の原点と、平面PTW´との間の距離Dを算出する(St217-4)。 The terminal device P1 calculates the distance D between the origin of the sensor coordinate system and the plane P TW ′ as the Z coordinate in the center coordinate CO′ (c x ′, c y ′) of the circle C TW ′ (St217 -4).
 端末装置P1は、回転行列RTWの逆行列RTW -1を算出する。端末装置P1は、(数式3)に示すように、算出された逆行列RTW -1を用いて、センサ座標系における円CTWの中心座標CO(c,c,c)を算出する(St217-5)。 The terminal device P1 calculates an inverse matrix R TW -1 of the rotation matrix R TW . The terminal device P1 uses the calculated inverse matrix R TW -1 to calculate the center coordinates CO (c x , c y , c z ) of the circle C TW in the sensor coordinate system, as shown in (Equation 3). (St217-5).
Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003
 以上により、端末装置P1は、円CTWの中心座標CO(c,c,c)を推定できる。 As described above, the terminal device P1 can estimate the center coordinates CO (c x , c y , cz ) of the circle C TW .
 図10を参照して、図7に示すステップSt216の処理(回転軸ベクトルの決定処理)について説明する。図10は、回転軸ベクトルの設定例1について説明する図である。なお、図10では、一例として、重力加速度の測定対象がRT関節軸J1である場合の回転軸ベクトルVRTの決定処理例について説明する。 With reference to FIG. 10, the process of step St216 (rotation axis vector determination process) shown in FIG. 7 will be described. FIG. 10 is a diagram illustrating example 1 of setting the rotation axis vector. In addition, in FIG. 10, as an example, an example of a process for determining the rotation axis vector V RT when the object of measurement of gravitational acceleration is the RT joint axis J1 will be described.
 回転軸ベクトルの設定例1は、ロボットM1が水平面に設置された時のRT関節軸J1のように、関節軸の回転軸と、3次元加速度センサ31により測定された重力方向が示す重力ベクトルGRTとが一致するような場合の回転軸ベクトルの決定処理例である。 Setting example 1 of the rotation axis vector is a gravity vector G indicated by the rotation axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31, such as the RT joint axis J1 when the robot M1 is installed on a horizontal plane. This is an example of a process for determining the rotation axis vector in a case where the rotation axis vector and RT match.
 このような場合、m個の重力加速度の測定値の各差分値は、閾値ThA以上でなくなる。よって、端末装置P1は、ステップSt214の処理において、算出された差分値が閾値ThA以上でないと判定して、ステップSt216の処理に移行し、重力ベクトルGRTをRT関節軸J1の回転軸ベクトルVRTに決定する。 In such a case, each difference value of the m measured values of gravitational acceleration is no more than the threshold ThA. Therefore, in the process of step St214, the terminal device P1 determines that the calculated difference value is not greater than or equal to the threshold ThA, and proceeds to the process of step St216, changing the gravity vector G RT to the rotation axis vector V of the RT joint axis J1. Decided to RT .
 図11を参照して、図7に示すステップSt219の処理(回転軸ベクトルの決定処理)について説明する。図11は、回転軸ベクトルの設定例2について説明する図である。なお、図11では、一例として、重力加速度の測定対象がTW関節軸J6である場合の回転軸ベクトルVTWの決定処理例について説明する。 The process of step St219 (rotation axis vector determination process) shown in FIG. 7 will be described with reference to FIG. 11. FIG. 11 is a diagram illustrating a second example of setting the rotation axis vector. In addition, in FIG. 11, as an example, an example of a process for determining the rotation axis vector V TW in a case where the gravitational acceleration measurement target is the TW joint axis J6 will be described.
 回転軸ベクトルの設定例2は、図2に示すTW関節軸J6等のように、関節軸の回転軸と、3次元加速度センサ31により測定される重力方向との間の角度(例えば、角度差θTW)が小さい場合の回転軸ベクトルの決定処理例である。 Setting example 2 of the rotation axis vector is based on the angle (for example, the angle difference) between the rotation axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31, such as the TW joint axis J6 shown in FIG. This is an example of a rotation axis vector determination process when θ TW ) is small.
 このような場合、m個の重力加速度の測定値のそれぞれ(x,y),…,(x,y)により推定された円CTWは、センサ座標系の原点から遠い位置(つまり、図9に示す距離Dが大きい)に、閾値ThB以下である半径rを有する。 In such a case, the circle C TW estimated by each of the m gravitational acceleration measurements (x i , y i ), ..., (x m , y m ) is at a position far from the origin of the sensor coordinate system ( That is, the distance D shown in FIG. 9 is large) has a radius r that is less than or equal to the threshold ThB.
 また、このような場合、図11に示すように、測定誤差ER11が存在する時、推定された円CTWの中心座標COTWに基づく回転軸ベクトルVTWをTW関節軸J6の回転軸ベクトルとして決定した時の理想的な回転軸ベクトルV´TWとの測定誤差ER12と、推定された平面PTWの法線ベクトルをTW関節軸J6の回転軸ベクトルとして決定した時の理想的な回転軸ベクトルV´TWとの測定誤差ER13とを比較した時、測定誤差ER12の方が小さくなる。なお、図11に示す中心座標CO´TWは、理想的な測定値に基づいて推定された円の中心座標である。平面P´TWは、理想的な測定結果に基づいて推定される平面である。また、ここでいう「理想的」とは、3次元加速度センサ31の測定誤差がない理想的な測定結果を示す。 In addition, in such a case, as shown in FIG. 11, when a measurement error ER11 exists, the rotation axis vector V TW based on the estimated center coordinates CO TW of the circle C TW is set as the rotation axis vector of the TW joint axis J6. Measurement error ER12 from the ideal rotation axis vector V' TW when determined, and the ideal rotation axis vector when the normal vector of the estimated plane P TW is determined as the rotation axis vector of the TW joint axis J6. When comparing the measurement error ER13 with V' TW , the measurement error ER12 is smaller. Note that the center coordinates CO' TW shown in FIG. 11 are the center coordinates of a circle estimated based on ideal measured values. The plane P′ TW is a plane estimated based on ideal measurement results. Moreover, "ideal" here refers to an ideal measurement result without measurement error of the three-dimensional acceleration sensor 31.
 よって、端末装置P1は、ステップSt215の処理により推定される平面の法線ベクトルでなく、ステップSt217の処理により推定された円CTWの中心座標COTWと、センサ座標系の原点Oとを通る回転軸ベクトルVTWをTW関節軸J6の回転軸ベクトルに決定する。 Therefore, the terminal device P1 passes through the origin O of the sensor coordinate system and the center coordinates CO TW of the circle C TW estimated through the process of Step St217, rather than the normal vector of the plane estimated through the process of Step St215. The rotational axis vector V TW is determined as the rotational axis vector of the TW joint axis J6.
 これにより、端末装置P1は、3次元加速度センサ31の測定誤差の大きさに対応して設定される閾値ThBの値と、円の半径との大小関係に基づいて、3次元加速度センサ31により得られる関節軸の姿勢の測定誤差がより小さくなる、つまり、関節軸の姿勢の測定精度がより高くなる回転軸ベクトルを決定できる。 Thereby, the terminal device P1 determines the value obtained by the three-dimensional acceleration sensor 31 based on the magnitude relationship between the value of the threshold ThB set corresponding to the magnitude of the measurement error of the three-dimensional acceleration sensor 31 and the radius of the circle. It is possible to determine a rotation axis vector that reduces the error in measuring the posture of the joint axis, that is, increases the accuracy of measuring the posture of the joint axis.
 図12を参照して、図7に示すステップSt220(回転軸ベクトルの決定処理)について説明する。図12は、回転軸ベクトルの設定例3について説明する図である。なお、図12では、一例として、重力加速度の測定対象がUA回転軸である場合の回転軸ベクトルVUAの決定処理例について説明する。 Step St220 (rotation axis vector determination process) shown in FIG. 7 will be described with reference to FIG. 12. FIG. 12 is a diagram illustrating a third example of setting the rotation axis vector. In addition, in FIG. 12, as an example, an example of a process for determining the rotation axis vector VUA when the object of measurement of gravitational acceleration is the UA rotation axis will be described.
 回転軸ベクトルの設定例3は、図2に示すUA関節軸J2,FA関節軸J3等のように関節軸の回転軸と、3次元加速度センサ31により測定される重力方向とが直角あるいは直角に近い角度である場合の回転軸ベクトルの決定処理例である。 Example 3 of setting the rotational axis vector is when the rotational axis of the joint axis and the direction of gravity measured by the three-dimensional acceleration sensor 31 are at right angles or at right angles, such as UA joint axis J2 and FA joint axis J3 shown in FIG. This is an example of a process for determining a rotation axis vector when the angles are close to each other.
 このような場合、m個の重力加速度の測定値のそれぞれ(x,y),…,(x,y)により推定された円CUAは、センサ座標系の原点Oの近傍で、閾値ThB以上である半径rを有する。なお、推定された円CUAの半径は、UA関節軸J2の回転軸と、3次元加速度センサ31により測定される重力方向を示す重力ベクトルGUAとがなす角度が直角である場合に最大となる。 In such a case, the circle C UA estimated by each of the m gravitational acceleration measurements (x i , y i ), ..., (x m , y m ) is located near the origin O of the sensor coordinate system. , has a radius r that is greater than or equal to the threshold ThB. Note that the radius of the estimated circle CUA is maximum when the angle between the rotation axis of the UA joint axis J2 and the gravity vector GUA indicating the direction of gravity measured by the three-dimensional acceleration sensor 31 is a right angle. Become.
 また、このような場合、図12に示すように、3次元加速度センサ31の測定値が測定誤差ER23を含む場合、推定された平面PUAの法線ベクトルをUA関節軸J2の回転軸ベクトルVUAとして決定した場合の測定誤差ER22の方が、推定された円CUAの中心座標COUAに基づく回転軸ベクトルとして決定した場合の測定誤差ER21よりも、理想的な回転軸ベクトルV´UAとの測定誤差が小さくなる。なお、図12に示す中心座標CO´UAは、理想的な測定値に基づいて推定された円の中心座標である。平面P´UAは、理想的な測定結果に基づいて推定される平面である。 Furthermore, in such a case, as shown in FIG. 12, if the measured value of the three-dimensional acceleration sensor 31 includes a measurement error ER23, the normal vector of the estimated plane PUA is converted into the rotational axis vector V of the UA joint axis J2. The measurement error ER22 when determined as UA is more similar to the ideal rotational axis vector V' UA than the measurement error ER21 when determined as the rotational axis vector based on the estimated center coordinates COUA of the circle CUA . measurement error becomes smaller. Note that the center coordinates CO' UA shown in FIG. 12 are the center coordinates of a circle estimated based on ideal measured values. The plane P' UA is a plane estimated based on ideal measurement results.
 よって、端末装置P1は、ステップSt217の処理により推定された円CTWの中心座標と、センサ座標系の原点O(不図示)とを通る回転軸ベクトルでなく、ステップSt215の処理により推定される平面(不図示)の法線ベクトルをUA関節軸J2の回転軸ベクトルVUAに決定する。 Therefore, the terminal device P1 uses the rotation axis vector estimated by the process of step St215, not the rotation axis vector passing through the center coordinates of the circle CTW estimated by the process of step St217 and the origin O (not shown) of the sensor coordinate system. The normal vector of the plane (not shown) is determined as the rotation axis vector VUA of the UA joint axis J2.
 次に、図13を参照して、回転軸ベクトルの活用方法について説明する。図13は、ロボットM1の設置面H1の傾き検出例を説明する図である。 Next, with reference to FIG. 13, a method of utilizing the rotation axis vector will be described. FIG. 13 is a diagram illustrating an example of detecting the inclination of the installation surface H1 of the robot M1.
 端末装置P1は、決定された回転軸ベクトルVRTと、3次元加速度センサ31による重力加速度の測定値に基づく重力ベクトルGRTとがなす角度(=角度差θRT)に基づいて、ロボットM1が設置されている設置面H1の傾き(=角度差θRT)を算出できる。端末装置P1は、算出された角度差θRTに基づいて、各関節軸の補正パラメータを算出する。これにより、作業者は、ロボットM1の設置面H1に対する傾き補正を実行できる。 The terminal device P1 determines whether the robot M1 can move based on the angle (=angular difference θ RT ) between the determined rotational axis vector V RT and the gravity vector G RT based on the measured value of the gravitational acceleration by the three-dimensional acceleration sensor 31. The inclination (=angular difference θ RT ) of the installed installation surface H1 can be calculated. The terminal device P1 calculates correction parameters for each joint axis based on the calculated angular difference θ RT . This allows the operator to correct the inclination of the robot M1 with respect to the installation surface H1.
 また、端末装置P1は、算出された設置面H1の傾き(=角度差θRT)に基づいて、各関節軸のモータ制御における重力補償パラメータを算出し、ロボット制御装置R1に送信してもよい。 Furthermore, the terminal device P1 may calculate a gravity compensation parameter for motor control of each joint axis based on the calculated inclination of the installation surface H1 (=angular difference θ RT ), and may transmit it to the robot control device R1. .
 次に、図14を参照して、回転軸ベクトルの活用方法について説明する。図14は、関節軸の軸ずれ検出例を説明する図である。なお、ここでは、UA関節軸J2に軸ずれが発生していない場合のFA関節軸J3の軸ずれ検出について説明する。 Next, with reference to FIG. 14, a method of utilizing the rotation axis vector will be described. FIG. 14 is a diagram illustrating an example of detecting axis deviation of joint axes. Note that here, detection of the axis deviation of the FA joint axis J3 when no axis deviation has occurred in the UA joint axis J2 will be described.
 図14に示すロボットM1は、FA軸を中心に回転する部品M11が、組み立て時に入り込んだ異物により、正常な取付姿勢PT0と異なる取付姿勢PT1で組み立てられている。 In the robot M1 shown in FIG. 14, a component M11 that rotates around the FA axis is assembled in a mounting posture PT1 that differs from the normal mounting posture PT0 due to foreign matter that got into it during assembly.
 端末装置P1は、軸ずれが生じていない状態において平行関係となるFA関節軸J3の回転軸ベクトルVFAと、UA関節軸J2の回転軸ベクトルVUAとの角度差θFAを算出する。端末装置P1は、算出された角度差θFAに基づいて、FA関節軸J3あるいはUA関節軸J2で軸ずれが発生しているか否かを判定したり、角度差θFAの符号(方向)に基づいて、軸ずれ方向を判定したりする。なお、端末装置P1は、算出された角度差θFAと、所定の閾値とを比較し、FA関節軸J3あるいはUA関節軸J2で軸ずれが発生しているか否かを判定してもよい。 The terminal device P1 calculates an angular difference θ FA between the rotation axis vector V FA of the FA joint axis J3 and the rotation axis vector V UA of the UA joint axis J2, which are in a parallel relationship in a state where no axis deviation occurs. Based on the calculated angular difference θ FA , the terminal device P1 determines whether an axis misalignment has occurred in the FA joint axis J3 or the UA joint axis J2, and determines the sign (direction) of the angular difference θ FA . Based on this, the direction of axis deviation is determined. Note that the terminal device P1 may compare the calculated angular difference θ FA with a predetermined threshold value and determine whether an axis deviation has occurred in the FA joint axis J3 or the UA joint axis J2.
 これにより、端末装置P1は、算出された角度差θFAに基づいて、部品M11そのものの異常(例えば、部品M11の劣化,欠陥等),部品M11の組み立て異常等を検出できる。 Thereby, the terminal device P1 can detect abnormalities in the component M11 itself (for example, deterioration, defects, etc. of the component M11), abnormalities in the assembly of the component M11, etc., based on the calculated angular difference θ FA .
 なお、端末装置P1は、部品M11そのものの異常(例えば、部品M11の劣化,欠陥等),部品M11の組み立て異常等でなく、単にFA関節軸の軸ずれが発生している場合、算出された角度差θFAに基づいて、FA関節軸の姿勢の傾きを補正するための補正パラメータを算出できる。 Note that the terminal device P1 determines whether the calculated value is not due to an abnormality in the component M11 itself (for example, deterioration or defect in the component M11) or an abnormality in the assembly of the component M11, but simply when an axis misalignment of the FA joint axis has occurred. Based on the angle difference θ FA , a correction parameter for correcting the posture inclination of the FA joint axis can be calculated.
 次に、図15および図16のそれぞれを参照して、回転軸ベクトルの活用方法について説明する。図15は、手首軸(RW関節軸J4,BW関節軸J5,TW関節軸J6)の原点調整例を説明する図である。図16は、角度差ΦRW,ΦTWの一例を説明する図である。なお、ここでいう手首軸は、アーム先端部33付近の3つの関節軸であるRW関節軸J4,BW関節軸J5,TW関節軸J6のそれぞれを示す。 Next, a method of utilizing the rotation axis vector will be described with reference to FIGS. 15 and 16, respectively. FIG. 15 is a diagram illustrating an example of adjusting the origin of the wrist axes (RW joint axis J4, BW joint axis J5, TW joint axis J6). FIG. 16 is a diagram illustrating an example of the angular differences Φ RW and Φ TW . Note that the wrist axis here indicates each of the three joint axes near the arm tip 33, which are the RW joint axis J4, the BW joint axis J5, and the TW joint axis J6.
 なお、図15に示す原点調整例では、ロボットM1の測定基本姿勢は、TW軸とRW軸との間の角度差が10°に設定されている例について具体的に説明する。 In addition, in the origin adjustment example shown in FIG. 15, an example in which the basic measurement posture of the robot M1 is set to have an angular difference of 10 degrees between the TW axis and the RW axis will be specifically explained.
 端末装置P1は、RW関節軸J4、TW関節軸J6、BW関節軸J5の順番で、RW関節軸J4,TW関節軸J6,BW関節軸J5のそれぞれの姿勢(回転角度)を変化させた時に得られる重力加速度を測定する。 When the terminal device P1 changes the respective postures (rotation angles) of the RW joint axis J4, TW joint axis J6, and BW joint axis J5 in the order of RW joint axis J4, TW joint axis J6, and BW joint axis J5, Measure the resulting gravitational acceleration.
 端末装置P1は、測定されたRW関節軸J4,TW関節軸J6,BW関節軸J5のそれぞれの重力加速度の測定値に基づいて、各関節軸に対応する平面PRW,PTW,PBWのそれぞれ、および円CRW(不図示),CTW(不図示),CBWのそれぞれを推定する。端末装置P1は、推定された平面PRW,PTW,PBWのそれぞれ、および円CRW(不図示),CTW(不図示),CBWのそれぞれに基づいて、各関節軸に対応する回転軸ベクトルVRW,VTW,VBWのそれぞれを決定する。 The terminal device P1 determines the planes P RW , P TW , and P BW corresponding to each joint axis based on the measured gravitational acceleration values of the RW joint axis J4, TW joint axis J6, and BW joint axis J5. and circles C RW (not shown), C TW (not shown), and C BW , respectively. The terminal device P1 corresponds to each joint axis based on each of the estimated planes P RW , P TW , and P BW and circles C RW (not shown), C TW (not shown), and C BW . Each of the rotation axis vectors V RW , V TW , and V BW is determined.
 端末装置P1は、BW関節軸J5の回転軸ベクトルVBWを回転した時のRW関節軸J4の回転軸ベクトルVRWと、TW関節軸J6の回転軸ベクトルVTWとの間の角度差θBWと、回転軸ベクトルVBWの傾き(姿勢)方向との角度差ΦRW,ΦTWのそれぞれを算出する。なお、ここで算出される角度差θBWは、BW関節軸J5の動作角度に対応して変化する値である。つまり、端末装置P1は、角度差θBWが測定基本姿勢と一致するように補正パラメータを算出することで、ロボットM1の原点調整を実行可能にする。 The terminal device P1 calculates the angle difference θ BW between the rotation axis vector V RW of the RW joint axis J4 and the rotation axis vector V TW of the TW joint axis J6 when rotating the rotation axis vector V BW of the BW joint axis J5. The angular differences Φ RW and Φ TW between the rotation axis vector V BW and the inclination (posture) direction of the rotation axis vector V BW are calculated. Note that the angle difference θ BW calculated here is a value that changes depending on the operating angle of the BW joint axis J5. That is, the terminal device P1 calculates the correction parameters so that the angular difference θ BW matches the measurement basic posture, thereby making it possible to execute the origin adjustment of the robot M1.
 例えば、図15に示す例では、端末装置P1は、算出された角度差θBW=10.5°と、ロボットM1の測定基本姿勢として設定されている角度差=10°との角度差=0.5°に基づいて、BW関節軸J5の原点調整を実行するための補正パラメータを算出する。端末装置P1は、算出された補正パラメータを表示部14に表示するとともに、ロボット制御装置R1に送信する。これにより、作業者は、BW関節軸J5のより高精度な原点調整を実行できる。 For example, in the example shown in FIG. 15, the terminal device P1 calculates the angle difference = 0 between the calculated angle difference θ BW = 10.5° and the angle difference = 10° set as the measurement basic posture of the robot M1. .5°, a correction parameter for executing the origin adjustment of the BW joint axis J5 is calculated. The terminal device P1 displays the calculated correction parameters on the display unit 14 and transmits them to the robot control device R1. This allows the operator to adjust the origin of the BW joint axis J5 with higher precision.
 また、角度差ΦRW,ΦTWのそれぞれは、ロボットM1の動作角度に依存しない角度である。したがって、端末装置P1は、算出された角度差ΦRW,ΦTWのそれぞれに基づいて、手首軸(RW関節軸J4,BW関節軸J5,TW関節軸J6)の組み立て異常等を検出できる。 Further, each of the angular differences Φ RW and Φ TW is an angle that does not depend on the operating angle of the robot M1. Therefore, the terminal device P1 can detect assembly abnormalities of the wrist axes ( RW joint axis J4, BW joint axis J5, TW joint axis J6) based on each of the calculated angular differences Φ RW and Φ TW .
 以上により、実施の形態に係るロボットシステム100は、複数の関節軸(動作軸の一例であって、例えば、RT関節軸J1,UA関節軸J2,FA関節軸J3,RW関節軸J4,BW関節軸J5,TW関節軸J6)を有するロボットM1と、複数の関節軸のそれぞれを動作させて、関節軸の姿勢を調整するロボット制御装置R1と、ロボットM1のアーム先端部33(先端部の一例)に備えられ、アーム先端部33における重力加速度を測定する3次元加速度センサ31(加速度センサの一例)と、3次元加速度センサ31とロボット制御装置R1との間で通信可能な端末装置P1と、を備える。ロボット制御装置R1は、複数の関節軸のそれぞれのうちいずれか第1関節軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させる。端末装置P1は、3つ以上の姿勢のそれぞれにおいて3次元加速度センサ31により検出された3つ以上の第1重力加速度データを記憶し、記憶された3つ以上の第1重力加速度データに基づいて、3次元空間における第1関節軸の第1回転軸ベクトルを算出し、算出された第1回転軸ベクトルに基づいて、ロボットM1の姿勢ずれを補正するための補正パラメータを算出する。 As described above, the robot system 100 according to the embodiment has a plurality of joint axes (one example of a motion axis, for example, RT joint axis J1, UA joint axis J2, FA joint axis J3, RW joint axis J4, BW joint axis A robot M1 having an axis J5, a TW joint axis J6), a robot control device R1 that operates each of a plurality of joint axes to adjust the posture of the joint axes, and an arm tip 33 of the robot M1 (an example of a tip ), a three-dimensional acceleration sensor 31 (an example of an acceleration sensor) that measures the gravitational acceleration at the arm tip 33, a terminal device P1 capable of communicating between the three-dimensional acceleration sensor 31 and the robot control device R1, Equipped with The robot control device R1 moves a first joint axis among the plurality of joint axes to at least three different postures. The terminal device P1 stores three or more first gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures, and based on the three or more stored first gravitational acceleration data. , calculates a first rotational axis vector of the first joint axis in a three-dimensional space, and calculates a correction parameter for correcting the posture deviation of the robot M1 based on the calculated first rotational axis vector.
 これにより、実施の形態に係るロボットシステム100は、各関節軸の姿勢ずれを補正可能な補正パラメータをより高精度に算出できる。よって、作業者は、算出された補正パラメータに基づいて、ロボットM1の姿勢ずれをより容易に補正できる。 Thereby, the robot system 100 according to the embodiment can more accurately calculate correction parameters that can correct the posture deviation of each joint axis. Therefore, the operator can more easily correct the posture deviation of the robot M1 based on the calculated correction parameters.
 また、実施の形態に係るロボットシステム100における端末装置P1は、第1回転軸ベクトルと、3次元加速度センサ31により測定された重力方向に沿う重力ベクトルとを算出し、第1回転軸ベクトルと、重力ベクトルとの間の角度差に基づく補正パラメータを算出する。これにより、実施の形態に係るロボットシステム100は、ロボットM1の設置面H1に対するより高精度な傾き補正を実行可能な補正パラメータを算出できる。 Further, the terminal device P1 in the robot system 100 according to the embodiment calculates the first rotation axis vector and the gravity vector along the gravity direction measured by the three-dimensional acceleration sensor 31, and calculates the first rotation axis vector, A correction parameter is calculated based on the angular difference between the gravity vector and the gravity vector. Thereby, the robot system 100 according to the embodiment can calculate correction parameters that can perform more accurate tilt correction on the installation surface H1 of the robot M1.
 また、実施の形態に係るロボットシステム100におけるロボット制御装置R1は、複数の関節軸のそれぞれのうちいずれか第1関節軸と異なる第2関節軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させる。端末装置P1は、第2関節軸の3つ以上の姿勢のそれぞれにおいて3次元加速度センサ31により検出された3つ以上の第2重力加速度データを記憶し、記憶された3つ以上の第2重力加速度データに基づいて、3次元空間における第2関節軸の第2回転軸ベクトルを算出し、算出された第1回転軸ベクトルと第2回転軸ベクトルとの間の角度差に基づく補正パラメータを算出する。これにより、実施の形態に係るロボットシステム100は、算出された角度差(例えば、図14に示す角度差θFA)に基づいて、ロボットM1の関節軸のより高精度な軸ずれ調整(補正)を実行するための補正パラメータを算出できる。 Further, the robot control device R1 in the robot system 100 according to the embodiment operates the posture of a second joint axis that is different from the first joint axis among the plurality of joint axes to at least three or more different postures. let The terminal device P1 stores three or more second gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures of the second joint axis, and stores the three or more second gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of the three or more postures of the second joint axis. A second rotational axis vector of the second joint axis in three-dimensional space is calculated based on the acceleration data, and a correction parameter is calculated based on the angular difference between the calculated first rotational axis vector and the second rotational axis vector. do. As a result, the robot system 100 according to the embodiment can adjust (correct) the joint axes of the robot M1 with higher precision based on the calculated angular difference (for example, the angular difference θ FA shown in FIG. 14). It is possible to calculate correction parameters for executing.
 また、実施の形態に係るロボットシステム100におけるロボット制御装置R1は、複数の関節軸のそれぞれのうちいずれか第1関節軸および第2関節軸と異なる第3関節軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作さる。端末装置P1は、第3関節軸の3つ以上の姿勢のそれぞれにおいて3次元加速度センサ31により検出された3つ以上の第3重力加速度データを記憶し、記憶された3つ以上の第3重力加速度データに基づいて、3次元空間における第3関節軸の第3回転軸ベクトルを算出し、算出された第1回転軸ベクトルと第2回転軸ベクトルと第3回転軸ベクトルとの間の角度差に基づく補正パラメータを算出する。これにより、実施の形態に係るロボットシステム100は、関節軸のより高精度な原点調整を実行するための補正パラメータを算出できる。 Further, the robot control device R1 in the robot system 100 according to the embodiment can change the posture of a third joint axis that is different from the first joint axis and the second joint axis among the plurality of joint axes into at least three different postures. It works in the above posture. The terminal device P1 stores three or more third gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of three or more postures of the third joint axis, and stores the three or more third gravitational acceleration data detected by the three-dimensional acceleration sensor 31 in each of the three or more postures of the third joint axis. A third rotational axis vector of the third joint axis in three-dimensional space is calculated based on the acceleration data, and an angular difference between the calculated first rotational axis vector, second rotational axis vector, and third rotational axis vector is calculated. Calculate correction parameters based on Thereby, the robot system 100 according to the embodiment can calculate correction parameters for performing more accurate origin adjustment of the joint axes.
 以上、図面を参照しながら各種の実施の形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例、修正例、置換例、付加例、削除例、均等例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、発明の趣旨を逸脱しない範囲において、上述した各種の実施の形態における各構成要素を任意に組み合わせてもよい。 Although various embodiments have been described above with reference to the drawings, it goes without saying that the present disclosure is not limited to such examples. It is clear that those skilled in the art can come up with various changes, modifications, substitutions, additions, deletions, and equivalents within the scope of the claims, and It is understood that it naturally falls within the technical scope of the present disclosure. Further, each of the constituent elements in the various embodiments described above may be arbitrarily combined without departing from the spirit of the invention.
 本開示は、ロボットが有する各関節の姿勢をより高精度に調整するロボットシステムとして有用である。 The present disclosure is useful as a robot system that adjusts the posture of each joint of a robot with higher precision.
10 第1の通信部
20 第2の通信部
11 第1のプロセッサ
21 第2のプロセッサ
12 第1のメモリ
22 第2のメモリ
13 入力部
14 表示部
31 3次元加速度センサ
32 制御部
33 アーム先端部
100 ロボットシステム
111 回転軸ベクトル算出部
112 補正パラメータ算出部
113 測定姿勢命令部
121 第1の姿勢データ
221 第2の姿勢データ
J1 RT関節軸
J2 UA関節軸
J3 FA関節軸
J4 RW関節軸
J5 BW関節軸
J6 TW関節軸
M1 ロボット
P1 端末装置
R1 ロボット制御装置
10 First communication section 20 Second communication section 11 First processor 21 Second processor 12 First memory 22 Second memory 13 Input section 14 Display section 31 Three-dimensional acceleration sensor 32 Control section 33 Arm tip section 100 Robot system 111 Rotation axis vector calculation section 112 Correction parameter calculation section 113 Measurement posture command section 121 First posture data 221 Second posture data J1 RT joint axis J2 UA joint axis J3 FA joint axis J4 RW joint axis J5 BW joint Axis J6 TW joint axis M1 Robot P1 Terminal device R1 Robot control device

Claims (5)

  1.  複数の動作軸を有するロボットと、
     前記複数の動作軸のそれぞれを動作させて、前記動作軸の姿勢を調整するロボット制御装置と、
     前記ロボットの先端部に備えられ、前記先端部における重力加速度を測定する加速度センサと、
     前記加速度センサと前記ロボット制御装置との間で通信可能な端末装置と、を備えるロボットシステムであって、
     前記ロボット制御装置は、
     前記複数の動作軸のそれぞれのうちいずれか第1動作軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させ、
     前記端末装置は、
     前記3つ以上の姿勢のそれぞれにおいて前記加速度センサにより検出された3つ以上の第1重力加速度データを記憶し、
     記憶された前記3つ以上の第1重力加速度データに基づいて、3次元空間における前記第1動作軸の第1回転軸ベクトルを算出し、
     算出された前記第1回転軸ベクトルに基づいて、前記ロボットの姿勢ずれを補正するための補正パラメータを算出する、
     ロボットシステム。
    A robot with multiple motion axes,
    a robot control device that operates each of the plurality of motion axes to adjust the posture of the motion axes;
    an acceleration sensor that is provided at the tip of the robot and measures gravitational acceleration at the tip;
    A robot system comprising: a terminal device capable of communicating between the acceleration sensor and the robot control device;
    The robot control device includes:
    moving the posture of any one of the first motion axes among the plurality of motion axes to at least three different postures;
    The terminal device is
    storing three or more first gravitational acceleration data detected by the acceleration sensor in each of the three or more postures;
    calculating a first rotational axis vector of the first motion axis in three-dimensional space based on the three or more stored first gravitational acceleration data;
    calculating a correction parameter for correcting the posture deviation of the robot based on the calculated first rotation axis vector;
    robot system.
  2.  前記端末装置は、
     前記第1回転軸ベクトルと、前記加速度センサにより測定された重力方向に沿う重力ベクトルとを算出し、
     前記第1回転軸ベクトルと、前記重力ベクトルとの間の角度差に基づく補正パラメータを算出する、
     請求項1に記載のロボットシステム。
    The terminal device is
    Calculating the first rotation axis vector and a gravity vector along the gravity direction measured by the acceleration sensor,
    calculating a correction parameter based on the angular difference between the first rotation axis vector and the gravity vector;
    The robot system according to claim 1.
  3.  前記ロボット制御装置は、
     前記複数の動作軸のそれぞれのうちいずれか前記第1動作軸と異なる第2動作軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させ、
     前記端末装置は、
     前記第2動作軸の前記3つ以上の姿勢のそれぞれにおいて前記加速度センサにより検出された3つ以上の第2重力加速度データを記憶し、
     記憶された前記3つ以上の第2重力加速度データに基づいて、前記3次元空間における前記第2動作軸の第2回転軸ベクトルを算出し、
     算出された前記第1回転軸ベクトルと前記第2回転軸ベクトルとの間の角度差に基づく補正パラメータを算出する、
     請求項1に記載のロボットシステム。
    The robot control device includes:
    operating a second movement axis different from the first movement axis among each of the plurality of movement axes into at least three or more different postures;
    The terminal device is
    storing three or more second gravitational acceleration data detected by the acceleration sensor in each of the three or more postures of the second motion axis;
    calculating a second rotational axis vector of the second motion axis in the three-dimensional space based on the three or more stored second gravitational acceleration data;
    calculating a correction parameter based on the angular difference between the calculated first rotation axis vector and the second rotation axis vector;
    The robot system according to claim 1.
  4.  前記ロボット制御装置は、
     前記複数の動作軸のそれぞれのうちいずれか前記第1動作軸および前記第2動作軸と異なる第3動作軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させ、
     前記端末装置は、
     前記第3動作軸の前記3つ以上の姿勢のそれぞれにおいて前記加速度センサにより検出された3つ以上の第3重力加速度データを記憶し、
     記憶された前記3つ以上の第3重力加速度データに基づいて、前記3次元空間における前記第3動作軸の第3回転軸ベクトルを算出し、
     算出された前記第1回転軸ベクトルと前記第2回転軸ベクトルと前記第3回転軸ベクトルとの間の角度差に基づく補正パラメータを算出する、
     請求項3に記載のロボットシステム。
    The robot control device includes:
    operating a third operating axis different from the first operating axis and the second operating axis among each of the plurality of operating axes to at least three or more different postures;
    The terminal device is
    storing three or more third gravitational acceleration data detected by the acceleration sensor in each of the three or more postures of the third motion axis;
    calculating a third rotational axis vector of the third motion axis in the three-dimensional space based on the three or more stored third gravitational acceleration data;
    calculating a correction parameter based on the angular difference between the calculated first rotation axis vector, the second rotation axis vector, and the third rotation axis vector;
    The robot system according to claim 3.
  5.  複数の動作軸を有するロボットと、
     前記複数の動作軸のうち2つ以上を動作させて、前記動作させた2つ以上の動作軸の姿勢を調整するロボット制御装置と、
     前記ロボットの先端部に備えられ、前記先端部における重力加速度を測定する加速度センサと、
     前記加速度センサと前記ロボット制御装置との間で通信可能な端末装置と、を備えるロボットシステムであって、
     前記ロボット制御装置は、
     前記動作させた2つ以上の動作軸のそれぞれの動作軸の姿勢を、少なくとも異なる3つ以上の姿勢に動作させ、
     前記端末装置は、
     前記3つ以上の姿勢のそれぞれにおいて前記加速度センサにより検出された3つ以上の第1重力加速度データを記憶し、
     記憶された前記3つ以上の第1重力加速度データに基づいて、3次元空間における前記動作させた2つ以上の動作軸のそれぞれの回転軸ベクトルを算出し、
     算出された前記それぞれの回転軸ベクトルに基づいて、前記ロボットの姿勢ずれを補正するための補正パラメータを算出する、
     ロボットシステム。
    A robot with multiple motion axes,
    a robot control device that operates two or more of the plurality of motion axes and adjusts the posture of the two or more operated motion axes;
    an acceleration sensor that is provided at the tip of the robot and measures gravitational acceleration at the tip;
    A robot system comprising: a terminal device capable of communicating between the acceleration sensor and the robot control device;
    The robot control device includes:
    moving the postures of the respective motion axes of the two or more operated motion axes to at least three or more different postures;
    The terminal device is
    storing three or more first gravitational acceleration data detected by the acceleration sensor in each of the three or more postures;
    Based on the three or more stored first gravitational acceleration data, calculate a rotational axis vector of each of the two or more operated axes in three-dimensional space;
    calculating a correction parameter for correcting the posture deviation of the robot based on each of the calculated rotational axis vectors;
    robot system.
PCT/JP2023/028433 2022-09-16 2023-08-03 Robot system WO2024057764A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023562597A JP7429847B1 (en) 2022-09-16 2023-08-03 robot system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-148467 2022-09-16
JP2022148467 2022-09-16

Publications (1)

Publication Number Publication Date
WO2024057764A1 true WO2024057764A1 (en) 2024-03-21

Family

ID=90274752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/028433 WO2024057764A1 (en) 2022-09-16 2023-08-03 Robot system

Country Status (1)

Country Link
WO (1) WO2024057764A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001050741A (en) * 1999-08-09 2001-02-23 Kawasaki Heavy Ind Ltd Calibration method and apparatus for robot
JP2004050356A (en) * 2002-07-19 2004-02-19 Kawasaki Heavy Ind Ltd Position and attitude sensor of movable structure
JP2022091462A (en) * 2020-12-09 2022-06-21 パナソニックホールディングス株式会社 Wearable robot

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001050741A (en) * 1999-08-09 2001-02-23 Kawasaki Heavy Ind Ltd Calibration method and apparatus for robot
JP2004050356A (en) * 2002-07-19 2004-02-19 Kawasaki Heavy Ind Ltd Position and attitude sensor of movable structure
JP2022091462A (en) * 2020-12-09 2022-06-21 パナソニックホールディングス株式会社 Wearable robot

Similar Documents

Publication Publication Date Title
US9310482B2 (en) Methods for locating and sensing the position, orientation, and contour of a work object in a robotic system
JP5281898B2 (en) Method for measuring and / or calibrating the position of an object in space
KR100494232B1 (en) Device and method for calibrating robot
CN101281011B (en) Oscillating scanning probe with constant contact force
US8457790B2 (en) Robotic calibration method
US5239855A (en) Positional calibration of robotic arm joints relative to the gravity vector
CN101680743B (en) Determining positions
JP7048535B2 (en) Mechanism for controlling the robot Robot control device that calibrates error parameters
JP4653824B2 (en) A machine tool system that measures the shape of a measurement object using an on-machine measuring device
US20060196062A1 (en) Method for calibrating parallel kinematic mechanism, method for verifying calibration, program product for verifying calibration, method for taking data, and method for taking correction data for spatial posturing correction
JPH11502776A (en) Apparatus and method for calibration of multi-axis industrial robot
JP7109161B2 (en) Mechanism Model Parameter Estimation Method for Articulated Robots
JPH0464562B2 (en)
JP7429847B1 (en) robot system
WO2024057764A1 (en) Robot system
JP2002096232A (en) Controlling method for machine tool
CN115279555A (en) Robot system, parallel link mechanism, control method, control device, program, and storage medium
JPH11114777A (en) Method for controlling machine tool
WO2023170166A1 (en) System and method for calibration of an articulated robot arm
US20230249344A1 (en) Robot control device
JP6800421B1 (en) Measuring device and measuring method
JP2003181782A (en) Industrial robot
US20220365216A1 (en) Method for Setting More Precisely a Position and/or Orientation of a Device Head
CN114536320A (en) Information processing apparatus and method, robot system, measuring system, method of manufacturing article using robot system, and recording medium
JP2538287B2 (en) Origin adjustment method for horizontal joint robot

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

Country of ref document: EP

Kind code of ref document: A1