[go: up one dir, main page]

WO2023157151A1 - Robot system, robot adjustment device, program, and robot manufacturing method - Google Patents

Robot system, robot adjustment device, program, and robot manufacturing method Download PDF

Info

Publication number
WO2023157151A1
WO2023157151A1 PCT/JP2022/006271 JP2022006271W WO2023157151A1 WO 2023157151 A1 WO2023157151 A1 WO 2023157151A1 JP 2022006271 W JP2022006271 W JP 2022006271W WO 2023157151 A1 WO2023157151 A1 WO 2023157151A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
axes
relational expression
information
axis
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2022/006271
Other languages
French (fr)
Japanese (ja)
Inventor
剛 横矢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
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 Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2024500793A priority Critical patent/JP7629574B2/en
Priority to PCT/JP2022/006271 priority patent/WO2023157151A1/en
Publication of WO2023157151A1 publication Critical patent/WO2023157151A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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 invention relates to a robot system, a robot adjustment device, a program, and a robot manufacturing method.
  • Patent Literature 1 describes estimating the hand force of the robot by multiplying the disturbance torque of each axis of the robot by the inverse matrix of the Jacobian matrix.
  • a robot system may comprise an articulated robot having multiple axes and a controller for controlling the robot.
  • the controller may have a storage unit that stores a relational expression that indicates the relationship between the plurality of axes and the hand of the robot and has elements adjusted for the individual robot by an optimization technique.
  • the controller may have a command generation unit that generates an operation command for the robot based on the relational expression stored in the storage unit.
  • the storage unit may store the relational expression having a Jacobian matrix composed of the elements adjusted for the individual robot.
  • the storage unit may store the relational expression including the transmission efficiency of the plurality of axes adjusted for the individual robot.
  • the command generation unit estimates the robot based on the disturbance torques of the plurality of axes and the rotation angles of the plurality of axes and the relational expression when the robot operates without using a force sensor. Hand forces may be used to generate movement commands for the robot.
  • the controller may have a sensor value information acquisition unit that acquires sensor value information for the hands of the robot or the plurality of axes when the robot operates.
  • the controller may have an axis-related information acquisition unit that acquires axis-related information related to the plurality of axes when the robot operates.
  • the controller may have an adjustment unit that adjusts the elements of the relational expression based on an error between the axis-related information and information calculated by the relational expression and the sensor value information.
  • the storage unit may store the relational expression in which the elements are adjusted by the adjustment unit.
  • the relational expression may include a Jacobian matrix, and the adjustment unit may adjust the elements constituting the Jacobian matrix based on an error between the calculated information and the sensor value information.
  • the relational expression may include transmission efficiencies of the plurality of axes, and the adjustment unit may adjust the transmission efficiencies of the plurality of axes based on an error between the calculated information and the sensor value information.
  • the sensor value information may include sensor values measured by a force sensor that measures hand force of the robot, and the axis-related information includes rotation angles of the plurality of axes and the plurality of axes when the robot operates. and the calculated information includes the rotation angle of the plurality of axes, the disturbance torque of the plurality of axes, and the estimated hand force of the robot calculated by the relational expression,
  • the command generation unit may generate an operation command for the robot using the estimated hand force included in the calculated information without using a force sensor.
  • the adjustment unit may adjust the elements of the relational expression by executing black-box optimization so as to reduce the error between the calculated information and the sensor value information.
  • the adjustment unit may adjust the elements of the relational expression by performing Bayesian optimization so as to reduce the error between the calculated information and the sensor value information.
  • the adjustment unit may perform the black-box optimization by limiting the search range to a predetermined range centered on the set value of the robot.
  • the relational expression may include a plurality of axis-related elements for each of the plurality of axes, and the adjustment unit may adjust the plurality of axis-related elements for each of the plurality of axes. .
  • the adjustment section may adjust the plurality of elements related to the axes in the order in which the plurality of axes are connected.
  • the adjusting section may adjust the plurality of elements related to the shaft in order from the root side to the tip side.
  • the adjuster may change the elements of the relational expression based on the error between the calculated information and the sensor value information.
  • a robot adjustment device may include a sensor value information acquisition unit that acquires sensor value information for a hand of the robot or the multiple axes when the articulated robot having multiple axes operates.
  • the robot adjustment device may include an axis-related information acquisition unit that acquires axis-related information related to the plurality of axes when the robot operates.
  • the robot adjusting device adjusts the element of the relational expression based on the error between the sensor value information and the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the calculation information calculated by the axis-related information, and the sensor value information.
  • the robot adjusting device adjusts the element of the relational expression based on the error between the sensor value information and the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the calculation information calculated by the axis-related information, and the sensor value information. may be provided with an adjustment unit that adjusts by an optimization method.
  • a program for causing a computer to function as the robot adjustment device for causing a computer to function as the robot adjustment device.
  • a computer-executed method for manufacturing an articulated robot having multiple axes acquires sensor value information for a hand of the robot or the plurality of axes when the robot operates, and axis-related information relating to the plurality of axes when the robot operates. It may have stages.
  • elements of the relational expression are calculated based on an error between the sensor value information and the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the information calculated based on the axis-related information, and the There may be an adjustment stage that adjusts by an optimization technique.
  • FIG. 4 is an explanatory diagram for explaining a method of calculating a Jacobian matrix
  • FIG. 4 is an explanatory diagram for schematically explaining adjustment processing by the robot adjustment device 300
  • An example of a six-axis robot 500 is shown schematically.
  • FIG. 11 is an explanatory diagram for explaining a relational expression 280 in the 6-axis robot 500;
  • An example of the flow of adjustment processing by the robot adjustment device 300 is shown schematically.
  • An example of the flow of adjustment processing by the robot adjustment device 300 is shown schematically.
  • An example of the flow of adjustment processing by the robot adjustment device 300 is shown schematically.
  • An example of the flow of the manufacturing method of the robot 100 by the robot adjustment device 300 is schematically shown.
  • 1 schematically shows an example of a hardware configuration of a computer 1200 functioning as a robot adjustment device 300.
  • FIG. 1 schematically shows an example of a robot system 10.
  • a robot system 10 includes a robot 100 and a control device 200 .
  • the robotic system 10 may include a robotic adjustment device 300 .
  • Robotic system 10 may include sensor 180 .
  • the robot 100 is an articulated robot with multiple axes.
  • the robot 100 may have a serial linkage, and multiple axes may be serially connected by multiple links.
  • the robot 100 may have any number of axes, for example, the robot 100 has 4-7 axes.
  • the robot 100 may be a so-called industrial robot.
  • the application of the robot 100 is not limited to industrial use, and may be other uses such as medical use.
  • the control device 200 controls the robot 100.
  • the control device 200 may control the robot 100 by sending to the robot 100 an operation command for operating the servo motors of the robot 100 while receiving feedback from the robot 100 .
  • Examples of feedback information fed back from the robot 100 include rotation angles, rotation speeds, and torques of each of the multiple axes.
  • the robot adjustment device 300 performs adjustment regarding the robot 100 .
  • the robot adjustment device 300 adjusts the elements of the relational expression 280 indicating the relationship between the axes of the robot 100 and the hand of the robot 100 .
  • the relational expression 280 may include a Jacobian matrix, and the robot adjustment device 300 may adjust the elements that make up the Jacobian matrix.
  • Relational expression 280 may include transmission efficiencies of multiple axes, and robot adjuster 300 may adjust the transmission efficiencies of multiple axes.
  • the robot adjustment device 300 may adjust both the elements that make up the Jacobian matrix and the transmission efficiency of multiple axes.
  • the robot adjustment device 300 may adjust only one of the elements that make up the Jacobian matrix and the transmission efficiency of a plurality of axes.
  • the robot adjustment device 300 may adjust the elements of the relational expression 280 by performing learning using sensor value information indicating sensor values measured by the sensor 180 when the robot 100 operates. For example, the robot adjustment device 300 acquires sensor value information for the hand of the robot 100 and feedback information from the robot 100 when the robot 100 operates. The robot adjustment device 300 adjusts the elements of the relational expression 280 based on the feedback information, the calculation information calculated by the relational expression 280, and the sensor value information. For example, the robot adjustment device 300 adjusts the elements of the relational expression 280 by executing optimization processing so as to reduce the error between the calculated information and the sensor value information. Thereby, the accuracy of the information calculated using the feedback information and the relational expression 280 can be improved.
  • the sensor 180 is, for example, a force sensor that measures force applied to the hand of the robot 100 (sometimes referred to as hand force).
  • the robot adjustment device 300 stores sensor value information including force sensor values measured by the sensor 180 when the robot 100 operates with a force applied to the hand of the robot 100, and Get feedback and information.
  • the robot adjustment device 300 calculates the disturbance torque from the torque included in the feedback information.
  • the disturbance torque indicates a value obtained by subtracting the torque required for control from the actual torque.
  • the robot adjustment device 300 receives from the control device 200 in advance the torque (may be referred to as disturbance-free torque) when the robot 100 operates on a specific trajectory with no disturbance, and stores it. put.
  • the robot adjustment device 300 may acquire the difference between the torque included in the feedback information and the non-disturbance torque as the disturbance torque.
  • the robot adjustment device 300 may estimate the hand force of the robot 100 based on the rotation angles of the multiple axes included in the feedback information, the calculated disturbance torques of the multiple axes, and the relational expression 280 .
  • the robot adjustment device 300 performs optimization so as to reduce the error between the estimated hand force (sometimes referred to as estimated hand force) and the force sensor value included in the sensor value information. Elements of equation 280 may be adjusted.
  • the robot adjusting device 300 may set the relational expression 280 with adjusted elements in the control device 200 .
  • the robot adjustment device 300 uses, for example, the error between the estimated hand force calculated by the rotation angles and disturbance torques of a plurality of axes and the relational expression 280 and the actual force sensor value as an objective function. , the distance between each axis and the transmission efficiency of each axis in the Jacobian matrix are optimized as parameters. As a result, it is possible to improve the accuracy of estimating the hand force using the rotation angles and disturbance torques of a plurality of shafts.
  • the control device 200 which stores the relational expression 280 optimized by the robot adjustment device 300, uses the estimated hand force of the robot 100 estimated by the relational expression 280 without using a force sensor, and relates to the force control of the robot 100. may generate an operation command to Accordingly, it is possible to provide the robot system 10 capable of realizing force control with practical precision at low cost.
  • the robot adjustment device 300 may set a relational expression 280 in which elements are adjusted for individual robots 100 by an optimization technique for each of the plurality of sets of robots 100 and control devices 200 .
  • the robot adjusting device 300 is incorporated in a manufacturing system for the robots 100 and sequentially adjusts the elements of the relational expression 280 for a plurality of robots 100 to be manufactured.
  • This provides a robot 100 and a control device 200 capable of estimating hand force with relatively high accuracy without a sensor even when the link length, the origin of each axis, etc. deviate from the design values at the time of manufacture. be able to.
  • the robot adjusting device 300 is incorporated in the maintenance system of the robot 100 and sequentially adjusts the elements of the relational expression 280 for the plurality of robots 100 to be maintained.
  • the link length and the origin of each axis may deviate from the state before use. Therefore, even if the hand force estimation accuracy using the relational expression 280 is high before use, the estimation accuracy decreases after use.
  • the relational expression 280 suitable for the state of the robot 100 at the time of maintenance can be set, and the accuracy of hand force estimation can be improved compared to before maintenance.
  • the robot adjustment device 300 may be provided for a set of the robot 100 and the control device 200. In this case, the robot adjustment device 300 may adjust the elements of the relational expression 280 periodically or irregularly. Further, the robot adjustment device 300 may adjust the elements of the relational expression 280 according to instructions from the administrator of the robot 100 or the like. As a result, even if the robot 100 is deformed or deteriorated through use, the elements of the relational expression 280 can be adjusted to suit the state after use, and the hand force can be estimated. It can contribute to maintaining high accuracy.
  • the control device 200 may be an example of a controller. Also, a combination of the control device 200 and the robot adjustment device 300 may be an example of a controller. That is, the controller may include only the control device 200 or both the control device 200 and the robot adjustment device 300 . Note that the control device 200 and the robot adjustment device 300 may be integrated. That is, the control device 200 may have the function of the robot adjustment device 300 .
  • the control device 200 functions as a robot controller. good.
  • the robot system 10 may further comprise a general-purpose robot controller.
  • FIG. 2 and 3 schematically show an example of arrangement of the sensor 180.
  • the sensor 180 is illustrated as a force sensor that measures the hand force of the robot 100 .
  • the sensor 180 may be installed with respect to the robot 100 as illustrated in FIG. Sensor value information and feedback information used for learning can be collected by operating the robot 100 in a plurality of postures while applying various forces to the hand. By installing the sensor 180 on the robot 100, it is possible to collect information with high accuracy.
  • the sensor 180 When the robot adjustment device 300 is incorporated into the manufacturing system of the robot 100, the sensor 180 is installed on the robot 100 to be manufactured, and after collecting information while operating the robot 100, the sensor 180 is removed. Similarly, when the robot adjustment device 300 is incorporated into the maintenance system of the robot 100, the sensor 180 is installed on the robot 100 to be maintained, and after collecting information while operating the robot 100, the sensor 180 is removed. . When the robot adjustment device 300 is installed for a set of the robot 100 and the control device 200, the sensor 180 is installed on the robot 100 when adjusting the relational expression 280, and information is obtained while the robot 100 is operating. After collection, sensor 180 is removed.
  • the sensor 180 may be installed not on the robot 100 but on the environment side, as illustrated in FIG. FIG. 3 illustrates a state in which the sensor 180 is installed with respect to the workpiece 20. As shown in FIG. By having the robot 100 apply force to the sensor 180 from a plurality of directions in a plurality of postures, or by applying a force to the sensor 180 while appropriately changing the position and posture of the sensor 180, learning can be facilitated. Sensor value information and feedback information can be collected for use. By placing the sensor 180 on the environment side, the time to install the sensor 180 on the robot 100 can be saved.
  • FIG. 4 schematically shows an example of functional configurations of the control device 200 and the robot adjustment device 300.
  • the control device 200 includes a communication section 202 , a communication section 204 , a storage section 206 and a command generation section 208 .
  • the robot adjustment device 300 includes a communication section 302 , a communication section 304 , a storage section 306 , a learning preparation section 308 and a learning processing section 310 .
  • the communication unit 202 communicates with the robot 100.
  • the communication unit 202 may communicate with the robot 100 by wire.
  • the communication unit 202 may wirelessly communicate with the robot 100 .
  • the communication unit 202 may communicate with the robot 100 directly or via a network.
  • the communication unit 204 communicates with the robot adjustment device 300.
  • the communication unit 204 may communicate with the robot adjustment device 300 by wire.
  • the communication unit 204 may wirelessly communicate with the robot adjustment device 300 .
  • the communication unit 204 may communicate with the robot adjustment device 300 directly or via a network.
  • the storage unit 206 stores various information.
  • the storage unit 206 stores a relational expression 280, for example.
  • the storage unit 206 may store setting values for the robot 100 .
  • the setting value may include the distance between each axis of the robot 100 .
  • the setting values may include the position and orientation relationship between each axis of the robot 100 .
  • the set value may include the transmission efficiency of each axis of the robot 100 .
  • the setting value is, for example, the design value of the robot 100.
  • the set value is, for example, an adjusted value obtained by adjusting the design value by calibration or the like.
  • the setting value may be, for example, a value set according to the state of the robot 100 after the robot 100 is used.
  • the command generation unit 208 generates motion commands for the robot 100 .
  • the command generation unit 208 may generate an operation command for the robot 100 based on the relational expression 280 stored in the storage unit 206 .
  • the communication unit 302 communicates with the control device 200.
  • the communication unit 302 may communicate with the control device 200 by wire.
  • the communication unit 302 may wirelessly communicate with the control device 200 .
  • the communication unit 302 may communicate with the control device 200 directly or via a network.
  • the communication unit 304 communicates with the sensor 180.
  • the communication unit 304 may communicate with the sensor 180 by wire.
  • the communication unit 304 may wirelessly communicate with the sensor 180 .
  • the communication unit 304 may communicate with the sensor 180 directly or via a network.
  • the storage unit 306 stores various information.
  • the storage unit 306 stores information received by the communication unit 302 from the control device 200, for example.
  • the communication unit 302 receives the relational expression 280 stored in the storage unit 206 of the control device 200 and stores it in the storage unit 306 .
  • the communication unit 302 receives setting values stored in the storage unit 206 and stores them in the storage unit 306 .
  • the storage unit 306 may store motion data indicating motions to be performed by the robot 100 for learning.
  • the storage unit 306 stores, for example, motion data for causing the robot 100 to perform various motions generated for efficient learning.
  • the storage unit 306 may store motion data generated according to the use.
  • the storage unit 306 may store action data for causing the robot 100 to perform the action scheduled to be performed. As a result, it is possible to perform learning according to the operation that the robot 100 is scheduled to perform, which contributes to an improvement in accuracy.
  • the storage unit 306 may store operation data for obtaining the disturbance-free torque.
  • the motion data for obtaining the disturbance-free torque may be data for causing the robot 100 to perform motions similar to those performed for learning in a state without disturbance. Also, the motion data for obtaining the disturbance-free torque may be generated for accurately obtaining the disturbance-free torque.
  • the learning preparation unit 308 executes a preparation process for learning.
  • the learning preparation unit 308 may cause the control device 200 to control the robot 100 by transmitting motion data to the control device 200 via the communication unit 302 .
  • the command generation unit 208 of the control device 200 may generate a motion command according to the motion data received from the robot adjustment device 300 and transmit it to the robot 100 .
  • the learning preparation unit 308 transmits to the control device 200, for example, operation data for obtaining disturbance-free torque.
  • the control device 200 operates the robot 100 according to the motion data and receives feedback information from the robot 100 .
  • the control device 200 transmits the received feedback information to the robot adjustment device 300 .
  • Storage unit 306 stores the torque included in the received feedback information as non-disturbance torque.
  • the learning preparation unit 308 transmits motion data for learning to the control device 200, for example.
  • the control device 200 operates the robot 100 according to the operation data and receives feedback information from the robot 100 when the robot 100 operates.
  • the sensor 180 measures sensor values for the hand of the robot 100 when the robot 100 operates.
  • the robot adjustment device 300 receives feedback information from the control device 200 .
  • Robotic conditioning device 300 receives sensor value information including sensor values measured by sensors 180 .
  • the robot adjustment device 300 may receive sensor value information from the sensor 180 via the communication unit 304 .
  • the robot adjustment device 300 may receive sensor value information via the control device 200 when the sensor 180 can communicate with the robot 100 or when the sensor 180 can communicate with the control device 200 .
  • the storage unit 306 stores the received feedback information and sensor value information.
  • the robot adjustment device 300 takes the lead in executing preparation for learning has been described as an example, but the present invention is not limited to this.
  • a person such as an administrator of the robot 100 may perform the learning preparation, and the person may operate the control device 200 while proceeding with the learning preparation.
  • the learning processing unit 310 executes learning processing.
  • the learning processing unit 310 has a learning information generation unit 312 , a sensor value information acquisition unit 314 , an axis related information acquisition unit 316 and an adjustment unit 318 .
  • the learning information generation unit 312 generates learning information from information stored in the storage unit 306 .
  • the learning information generation unit 312 generates learning information including, for example, sensor value information for the hand of the robot 100 when the robot 100 operates, and axis-related information related to a plurality of axes when the robot 100 operates. .
  • the learning processing unit 310 calculates the difference between the torque included in the feedback information and the non-disturbance torque as the disturbance torque. Then, the learning processing unit 310 generates learning information including sensor value information and shaft-related information including the rotation angles of the plurality of shafts and the calculated disturbance torque included in the feedback information, and stores the learning information in the storage unit 306. Memorize.
  • the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 execute learning processing.
  • a sensor value information acquisition unit 314 acquires sensor value information from learning information stored in the storage unit 306 .
  • the axis-related information acquisition unit 316 acquires axis-related information from learning information stored in the storage unit 306 .
  • the adjustment unit 318 adjusts the elements of the relational expression 280 for the individual robot 100 by an optimization method.
  • the adjustment unit 318 adjusts the elements of the relational expression 280 stored in the storage unit 306 based on the sensor value information acquired by the sensor value information acquisition unit 314 and the axis-related information acquired by the axis-related information acquisition unit 316. can be adjusted.
  • the adjuster 318 adjusts the elements of the relational expression 280 based on the error between the axis-related information and the calculation information calculated by the relational expression 280 and the sensor value information.
  • the adjustment unit 318 may adjust the elements forming the Jacobian matrix included in the relational expression 280 based on the error between the calculated information and the sensor value information. For example, the adjuster 318 adjusts the elements that make up the Jacobian matrix included in the relational expression 280 by performing optimization to reduce the error between the calculated information and the sensor value information. By adjusting the elements of the Jacobian matrix, the accuracy of hand force estimation can be improved.
  • the adjustment unit 318 may adjust the transmission efficiency of the multiple axes included in the relational expression 280 based on the error between the calculated information and the sensor value information. For example, the adjuster 318 adjusts the transmission efficiencies of the multiple axes included in the relational expression 280 by performing optimization to reduce the error between the calculated information and the sensor value information. By adjusting the transmission efficiencies of a plurality of axes in addition to the elements that make up the Jacobian matrix, the accuracy of hand force estimation can be further improved.
  • the adjustment unit 318 sets the relational expression 280 in which the elements are adjusted in the control device 200 .
  • the storage unit 206 stores a relational expression 280 whose elements have been adjusted by the adjustment unit 318 .
  • the adjustment unit 318 may adjust the elements of the relational expression 280 by changing the elements of the relational expression 280 based on the error between the calculated information and the sensor value information.
  • the adjuster 318 may adjust the elements of the relational expression 280 by calculating correction values for correcting the elements of the relational expression 280 based on the error between the calculation information and the sensor value information.
  • the adjustment unit 318 may transmit the calculated correction value to the control device 200 , and the control device 200 may store the received correction value in the storage unit 206 in association with the relational expression 280 .
  • the command generation unit 208 may generate an operation command for the robot 100 based on the relational expression 280 stored in the storage unit 206 and having the elements adjusted by the adjustment unit 318 .
  • the command generating unit 208 generates an operation command for the robot 100 using the estimated hand force of the robot 100 estimated based on the relational expression 280 used for estimating the hand force of the robot 100 .
  • the command generation unit 208 generates an operation command for causing the robot 100 to perform a polishing operation of polishing the workpiece while pressing the fingertip with a constant force through force control.
  • the command generation unit 208 generates an action command for causing the robot 100 to polish the workpiece with a prescribed action without force control, and finish polishing when the hand force is no longer applied. do.
  • the command generation unit 208 generates an operation command for the robot 100 using a relational expression 280 including a Jacobian matrix composed of elements adjusted for the individual robot 100, thereby determining the link length and the axis origin of the robot 100. It is possible to reduce the influence of the deviation, and improve the accuracy of the robot control.
  • the command generation unit 208 generates an operation command for the robot 100 using a relational expression 280 including the transmission efficiencies of a plurality of axes adjusted for each individual robot 100, thereby matching the transmission efficiency of each axis with the desk calculation. The influence of deviation can be reduced, and the accuracy of robot control can be improved.
  • FIG. 5 is an explanatory diagram for explaining the method of calculating the Jacobian matrix.
  • a method for calculating the Jacobian matrix used for force estimation will be described as an example.
  • F be the force acting on the coordinate system ⁇
  • F' be the force acting on the coordinate system ⁇ '
  • P (px, py, pz) be the position of ⁇ with respect to the position of ⁇ '.
  • the rotation matrix is R
  • FIG. 6 is an explanatory diagram for schematically explaining the adjustment processing by the robot adjustment device 300.
  • FIG. Here, adjustment processing of the relational expression 406 used for hand force estimation of the robot 100 will be described.
  • the axis-related information acquisition unit 316 acquires each axis disturbance torque ⁇ 402 and each axis rotation angle ⁇ 404 from one piece of learning information among a plurality of pieces of learning information.
  • the adjustment unit 318 calculates an estimated hand force 408 by calculating a relational expression 406 using each shaft disturbance torque ⁇ 402 and each shaft rotation angle ⁇ 404 .
  • the adjustment unit 318 calculates an error between the force sensor value 410 acquired from the learning information by the sensor value information acquisition unit 314 and the estimated hand force 408 .
  • the adjustment unit 318 uses, for example, the mean squared error as the error between the force sensor value 410 and the estimated hand force 408, which indicate changes in the hand force over time.
  • the adjustment unit 318 optimizes the elements of the relational expression 406 by the optimization method 420 using the error between the estimated hand force 408 and the force sensor value 410 as the objective function.
  • the adjustment unit 318 may optimize the position and orientation between each axis and the transmission efficiency of each axis as parameters so as to reduce the error between the estimated hand force 408 and the force sensor value 410 .
  • the adjuster 318 may use black-box optimization as the optimization technique. Adjuster 318 may adjust the elements of relationship 280 by performing black-box optimization to make the error between estimated hand force 408 and force sensor value 410 smaller. By using black-box optimization, it is possible to perform optimization suitable for the conditions of this example, that is, the configuration of the objective function to be minimized cannot be specified, but the output can be obtained for a given input.
  • the adjuster 318 may use Bayesian optimization as the optimization technique. That is, the adjuster 318 may adjust the elements of the relational expression 280 by performing Bayesian optimization to make the error between the estimated hand force 408 and the force sensor value 410 smaller.
  • the elements of the relational expression 280 to be optimized are 6 parameters for the position and orientation and 7 parameters for the transmission efficiency for each axis. Where it is difficult to find a solution, it is possible to efficiently find an optimal solution by using Bayesian optimization.
  • the adjustment unit 318 may use other techniques such as random search, grid search, and exhaustive search.
  • the adjustment unit 318 may determine the search range for black box optimization based on the setting values of the robot 100 stored in the storage unit 306 . For example, the adjustment unit 318 performs black-box optimization by limiting the search range to a predetermined range centered on the set values of the robot 100 . As a result, the search range can be appropriately restricted, and optimization efficiency can be improved.
  • Range information indicating a predetermined range may be registered in the adjustment unit 318 in advance.
  • the adjustment unit 318 may limit the search range using the setting values of the robot 100 stored in the storage unit 306 and range information registered in advance.
  • Range information may be registered for each parameter included in the setting value. For example, range information indicating the range of distance is registered for each inter-axle distance. For example, range information indicating the range of the positional relationship is registered for the positional relationship between the axes. For example, range information indicating the range of the posture relationship is registered for the posture relationship between the axes. For example, range information is registered for the transmission efficiency range for each axis.
  • Range information is determined, for example, by experiment. For example, by collecting the difference between the design value and the actual measurement value of each axis distance, or by collecting the difference between each axis distance before using the robot 100 and after using each axis distance, ⁇ 5 mm etc., a range of distances can be determined. Range information may be determined by human experience.
  • FIG. 7 schematically shows an example of a 6-axis robot 500.
  • Six-axis robot 500 may be an example of robot 100 .
  • Six-axis robot 500 includes S-axis 510 , L-axis 520 , U-axis 530 , R-axis 540 , B-axis 550 and T-axis 560 .
  • FIG. 8 is an explanatory diagram for explaining the relational expression 280 in the 6-axis robot 500.
  • a coordinate system is set so that the rotation direction of a plurality of axes is the Z axis, the moment about the Z axis is expressed by MZ , and the transmission efficiency ⁇ reduction ratio for each axis is expressed by ⁇ .
  • Equation 3 When a force F is applied to the hand of the 6-axis robot 500, the force FT applied to the T-axis 560 is expressed by Equation 3 below, and the disturbance torque ⁇ T of the T-axis 560 is expressed by Equation 4 below.
  • a force F B applied to the B-axis 550 is expressed by Equation 5 below, and a disturbance torque ⁇ B of the B-axis 550 is expressed by Equation 6 below.
  • a force F R applied to the R-axis 540 is expressed by Equation 7 below, and a disturbance torque ⁇ R of the R-axis 540 is expressed by Equation 8 below.
  • a force FU applied to the U-axis 530 is expressed by Equation 9 below, and a disturbance torque ⁇ U of the U-axis 530 is expressed by Equation 10 below.
  • a force F L applied to the L-axis 520 is expressed by Equation 11 below, and a disturbance torque ⁇ L of the L-axis 520 is expressed by Equation 12 below.
  • Equation 13 The force F S applied to the S-axis 510 is expressed by Equation 13 below, and the disturbance torque ⁇ S of the S-axis 510 is expressed by Equation 14 below.
  • Equation 15 the relational expression 280 for calculating the estimated hand force of the 6-axis robot 500 is given by Equation 15 below.
  • the elements of the relational expression 280 to be optimized include 6 parameters for the position and orientation and 7 parameters for the transmission efficiency for each axis, for a total of 42 parameters. If all parameters are optimized, the computational load is high and it may take a long time.
  • Adjuster 318 may adjust multiple elements associated with the axes for each of the multiple axes. In the case of the 6-axis robot 500, the adjuster 318 may adjust parameters for each of the 6 axes. As a result, the number of parameters to be optimized can be reduced to 7 parameters, and the computational load can be reduced.
  • the adjustment unit 318 may adjust a plurality of elements related to each of the multiple axes in the order in which the multiple axes are connected. The closer the order in which the axes are connected, the greater the influence they have on each other. Therefore, by adjusting in the order in which they are connected, it is possible to optimize with less error than in the case of adjusting regardless of the order in which they are connected.
  • the adjustment unit 318 adjusts a plurality of elements related to each of the shafts in order from the root side to the tip side.
  • the adjuster 318 adjusts 7 parameters for each of the S-axis 510, L-axis 520, U-axis 530, R-axis 540, B-axis 550, and T-axis 560 in that order. Since the tip-side axis has a greater effect on the tip than the base-side axis, if the time available for the adjustment process is short, it is better to optimize from the tip to the tip than to optimize in order from the tip to the tip. Optimizing in the order of to , can be optimized so as to reduce the error.
  • the adjustment unit 318 adjusts a plurality of elements related to each of the shafts in order from the tip side to the base side.
  • the adjustment unit 318 adjusts seven parameters in the order of the T-axis 560, B-axis 550, R-axis 540, U-axis 530, L-axis 520, and S-axis 510, respectively. If the time available for adjustment processing is long, it is possible to fully optimize from the axis on the hand side, which has a greater impact on the hand, and as a result, it is possible to optimize with less error. .
  • the adjustment unit 318 may select whether to adjust from the tip side to the root side or from the root side to the tip side according to the time available for adjustment processing. For example, if the time available for adjustment processing is equal to or greater than a predetermined time threshold, the adjustment unit 318 adjusts in order from the fingertip side to the base side, and if not longer than the threshold, adjusts in order from the base side to the fingertip side. to adjust. This allows the selection of an optimization order with fewer errors depending on the time available for the adjustment process.
  • FIG. 9 schematically shows an example of the flow of adjustment processing by the robot adjustment device 300.
  • FIG. Here, a state in which learning preparation by the learning preparation unit 308 is completed and a plurality of pieces of learning information are stored in the storage unit 306 will be described as a start state.
  • step (the step may be abbreviated as S) 102 the learning processing unit 310 acquires one of a plurality of pieces of learning information from the storage unit 306 .
  • the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 perform adjustment for all axis elements in the relational expression 280 by an optimization technique. Specifically, the adjustment unit 318 calculates the estimated hand force based on the rotation angle and disturbance torque of each axis acquired by the axis-related information acquisition unit 316 and the relational expression 280, and the sensor value information acquisition unit 314 acquires In order to minimize the error between the force sensor value included in the sensor value information and the estimated hand force, the elements of all axes of the relational expression 280 are adjusted.
  • the process returns to S102, and the learning processing unit 310 acquires the next learning information among the plurality of learning information. If the adjustment has been completed for all of the pieces of learning information (YES in S106), the process ends.
  • FIG. 10 schematically shows an example of the flow of adjustment processing by the robot adjustment device 300.
  • FIG. 9 the case of adjusting the elements of all the axes in the relational expression 280 has been described, but here, the case of adjusting a plurality of elements related to each of the plurality of axes will be described. Note that differences from FIG. 9 will be mainly described.
  • the learning processing unit 310 determines an axis of interest among the multiple axes.
  • the learning processing unit 310 determines, for example, the axis closest to the base as the axis of interest among the plurality of axes.
  • learning processing unit 310 acquires one of the plurality of pieces of learning information from storage unit 306 .
  • the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 adjust the elements of the axis of interest in the relational expression 280 by an optimization method. If all of the pieces of learning information have not been adjusted for the axis of interest (NO in S208), returning to S204, the learning processing unit 310 acquires the next piece of learning information among the pieces of learning information. do. If adjustment has been completed for all pieces of learning information (YES in S208), the process proceeds to S210.
  • the learning processing unit 310 determines whether or not adjustment has been completed for all axes. If it is determined that the process has not ended, the process returns to S202, and the learning processing unit 310 determines the next axis of interest among the multiple axes. If it is determined that the process has ended, the process ends.
  • FIG. 11 schematically shows an example of the flow of the method for manufacturing the robot 100 by the robot adjusting device 300.
  • the state in which the robot adjustment device 300 receives the robot 100 and the control device 200 that have been assembled and initialized is the starting state, and by adjusting the relational expression 280 of the control device 200, the robot 100 and the control device 200 will be described.
  • the communication unit 302 and the communication unit 204 are connected, and the robot adjustment device 300 and the control device 200 establish a communication connection.
  • the robot adjustment device 300 acquires sensor value information from the sensor 180 via the control device 200 .
  • the learning preparation unit 308 causes the control device 200 to operate the robot 100 and collect various information.
  • the learning preparation unit 308 may collect undisturbed torques.
  • the learning preparation unit 308 collects feedback information and sensor value information when the robot 100 performs an action for learning.
  • the learning information generation unit 312 generates learning information using the information collected at S304.
  • the adjustment unit 318 acquires from the control device 200 the set values of the positions and orientations of the axes of the robot 100 and the transmission efficiencies of the axes, which are set in the control device 200 .
  • the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 adjust the elements of the relational expression 280 using an optimization technique.
  • the adjustment unit 318 sets the relational expression 280 with the elements adjusted in S ⁇ b>310 in the control device 200 .
  • the process returns to S302, and the next robot 100 and control device 200 are connected to the robot adjusting device 300.
  • the sensor value information from the sensor 180 that measures the hand force of the robot 100 is used to adjust the elements of the Jacobian matrix of the relational expression for calculating the estimated hand force from each axis disturbance torque and each axis rotation angle. was mainly described, but the present invention is not limited to this.
  • the robot adjustment device 300 adjusts the elements of the relational expression 280 indicating the relationship between the torques of the multiple axes and the hand force using the sensor value information for the multiple axes of the robot 100 when the robot 100 operates. good too.
  • sensors 180 that measure the torque of each of the axes of robot 100 may be used.
  • the sensor value information acquisition unit 314 may acquire sensor value information for a plurality of axes of the robot 100 when the robot 100 operates.
  • the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the speed of the robot 100 .
  • a speed sensor that measures the speed of the hand of the robot 100 may be used as the sensor 180 .
  • an angular velocity sensor that measures angular velocities of a plurality of axes of the robot 100 may be used.
  • the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the acceleration of the robot 100 .
  • an acceleration sensor that measures the acceleration of the hand of the robot 100 may be used as the sensor 180 .
  • an angular acceleration sensor that measures angular accelerations of a plurality of axes of the robot 100 may be used.
  • the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the hand position of the robot 100 .
  • a sensor that measures the position of the hand of the robot 100 may be used as the sensor 180 .
  • a sensor that measures rotation angles of multiple axes of the robot 100 may be used.
  • FIG. 12 schematically shows an example of the hardware configuration of a computer 1200 functioning as the robot adjusting device 300.
  • FIG. Programs installed on the computer 1200 cause the computer 1200 to function as one or more "parts" of the apparatus of the present embodiments, or cause the computer 1200 to operate or perform operations associated with the apparatus of the present invention. Multiple "units" can be executed and/or the computer 1200 can be caused to execute the process or steps of the process according to the present invention.
  • Such programs may be executed by CPU 1212 to cause computer 1200 to perform certain operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
  • a computer 1200 includes a CPU 1212 , a RAM 1214 and a graphics controller 1216 , which are interconnected by a host controller 1210 .
  • Computer 1200 also includes input/output units such as communication interface 1222 , storage device 1224 , DVD drive, and IC card drive, which are connected to host controller 1210 via input/output controller 1220 .
  • the DVD drive may be a DVD-ROM drive, a DVD-RAM drive, and the like.
  • Storage devices 1224 may be hard disk drives, solid state drives, and the like.
  • Computer 1200 also includes legacy input/output units, such as ROM 1230 and keyboard, which are connected to input/output controller 1220 via input/output chip 1240 .
  • the CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit.
  • Graphics controller 1216 retrieves image data generated by CPU 1212 into a frame buffer or the like provided in RAM 1214 or itself, and causes the image data to be displayed on display device 1218 .
  • a communication interface 1222 communicates with other electronic devices via a network.
  • Storage device 1224 stores programs and data used by CPU 1212 within computer 1200 .
  • the DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224 .
  • the IC card drive reads programs and data from IC cards and/or writes programs and data to IC cards.
  • ROM 1230 stores therein programs such as boot programs that are executed by computer 1200 upon activation and/or programs that depend on the hardware of computer 1200 .
  • Input/output chip 1240 may also connect various input/output units to input/output controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, and the like.
  • the program is provided by a computer-readable storage medium such as a DVD-ROM or an IC card.
  • the program is read from a computer-readable storage medium, installed in storage device 1224 , RAM 1214 , or ROM 1230 , which are also examples of computer-readable storage media, and executed by CPU 1212 .
  • the information processing described within these programs is read by computer 1200 to provide coordination between the programs and the various types of hardware resources described above.
  • An apparatus or method may be configured by implementing information operations or processing according to the use of computer 1200 .
  • the CPU 1212 executes a communication program loaded into the RAM 1214 and sends communication processing to the communication interface 1222 based on the processing described in the communication program. you can command.
  • the communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as a RAM 1214, a storage device 1224, a DVD-ROM, or an IC card under the control of the CPU 1212, and transmits the read transmission data. Data is transmitted to the network, or received data received from the network is written in a receive buffer area or the like provided on the recording medium.
  • the CPU 1212 causes the RAM 1214 to read all or necessary portions of files or databases stored in an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. Various types of processing may be performed on the data. CPU 1212 may then write back the processed data to an external recording medium.
  • an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc.
  • Various types of processing may be performed on the data.
  • CPU 1212 may then write back the processed data to an external recording medium.
  • CPU 1212 performs various types of operations on data read from RAM 1214, information processing, conditional decisions, conditional branching, unconditional branching, and information retrieval, which are described throughout this disclosure and are specified by instruction sequences of programs. Various types of processing may be performed, including /replace, etc., and the results written back to RAM 1214 . In addition, the CPU 1212 may search for information in a file in a recording medium, a database, or the like.
  • the CPU 1212 selects the first attribute from among the plurality of entries. search for an entry that matches the specified condition of the attribute value of the attribute, read the attribute value of the second attribute stored in the entry, and thereby determine the first attribute that satisfies the predetermined condition An attribute value of the associated second attribute may be obtained.
  • the programs or software modules described above may be stored in a computer-readable storage medium on or near computer 1200 .
  • a recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, whereby the program can be transferred to the computer 1200 via the network.
  • the blocks in the flowcharts and block diagrams in this embodiment may represent steps in the process in which the operations are performed or "parts" of the device responsible for performing the operations. Certain steps and “sections” may be provided with dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable storage medium, and/or computer readable instructions provided with computer readable instructions stored on a computer readable storage medium. It may be implemented by a processor. Dedicated circuitry may include digital and/or analog hardware circuitry, and may include integrated circuits (ICs) and/or discrete circuitry.
  • ICs integrated circuits
  • Programmable circuits such as Field Programmable Gate Arrays (FPGAs), Programmable Logic Arrays (PLAs), etc., perform AND, OR, EXCLUSIVE OR, NOT AND, NOT OR, and other logical operations. , flip-flops, registers, and memory elements.
  • FPGAs Field Programmable Gate Arrays
  • PLAs Programmable Logic Arrays
  • a computer-readable storage medium may comprise any tangible device capable of storing instructions to be executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon may be illustrated in flowchart or block diagram form. It will comprise an article of manufacture containing instructions that can be executed to create means for performing specified operations. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like.
  • Computer readable storage media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory) , electrically erasable programmable read only memory (EEPROM), static random access memory (SRAM), compact disc read only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick , integrated circuit cards, and the like.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • EEPROM electrically erasable programmable read only memory
  • SRAM static random access memory
  • CD-ROM compact disc read only memory
  • DVD digital versatile disc
  • Blu-ray disc memory stick , integrated circuit cards, and the like.
  • the computer readable instructions may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state configuration data, or instructions such as Smalltalk, JAVA, C++, etc. any source or object code written in any combination of one or more programming languages, including object-oriented programming languages, and conventional procedural programming languages such as the "C" programming language or similar programming languages; may include
  • Computer readable instructions are used to produce means for a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuits to perform the operations specified in the flowchart or block diagrams.
  • a general purpose computer, special purpose computer, or other programmable data processor locally or over a wide area network (WAN) such as the Internet, etc., to execute such computer readable instructions. It may be provided in the processor of the device or in a programmable circuit. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.
  • Robot system 20 Work, 100 Robot, 180 Sensor, 200 Control device, 202 Communication unit, 204 Communication unit, 206 Storage unit, 208 Command generation unit, 280 Relational expression, 300 Robot adjustment device, 302 Communication unit, 304 Communication unit , 306 storage unit, 308 learning preparation unit, 310 learning processing unit, 312 learning information generation unit, 314 sensor value information acquisition unit, 316 axis related information acquisition unit, 318 adjustment unit, 402 each axis disturbance torque ⁇ , 404 each axis rotation Angle ⁇ , 406 relational expression, 408 estimated hand force, 410 force sensor value, 420 optimization method, 500 6-axis robot, 510 S-axis, 520 L-axis, 530 U-axis, 540 R-axis, 550 B-axis, 560 T-axis , 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphic controller, 1218 display device, 1220 input/output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input/

Landscapes

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

Abstract

Provided is a robot system including: a multi-joint robot having a plurality of shafts; and a controller for controlling the robot. The controller comprises: a storage unit for storing a relational expression that indicates the relationship between the plurality of shafts and the fingers of the robot and that has elements which have been adjusted to the individual robot by using an optimization scheme; and a command generation unit that generates an operation command for the robot on the basis of the relational expression stored in the storage unit. Provided is a robot adjustment device comprising: a sensor value information acquisition unit that acquires sensor value information pertaining to the plurality of shafts or the fingers of the robot during operation of the multi-joint robot having the plurality of shafts; a shaft-related information acquisition unit that acquires shaft-related information related to the plurality of shafts during operation of the robot; and an adjustment unit that uses an optimization scheme to adjust the elements in the relational expression on the basis of the discrepancy between the sensor value information and calculation information, said calculation information having been calculated by using the axis-related information and the relational expression that indicates the relationship between the plurality of shafts and the fingers of the robot.

Description

ロボットシステム、ロボット調整装置、プログラム、及びロボット製造方法ROBOT SYSTEM, ROBOT ADJUSTMENT DEVICE, PROGRAM, AND ROBOT MANUFACTURING METHOD

 本発明は、ロボットシステム、ロボット調整装置、プログラム、及びロボット製造方法に関する。 The present invention relates to a robot system, a robot adjustment device, a program, and a robot manufacturing method.

 特許文献1には、ロボットの各軸の外乱トルクにヤコビ行列の逆行列を乗じることによってロボットの手先力を推定することが記載されている。
 [先行技術文献]
 [特許文献]
 [特許文献1]特開2011-235374号公報
Patent Literature 1 describes estimating the hand force of the robot by multiplying the disturbance torque of each axis of the robot by the inverse matrix of the Jacobian matrix.
[Prior art documents]
[Patent Literature]
[Patent Document 1] JP 2011-235374 A

一般的開示General disclosure

 本発明の一実施態様によれば、ロボットシステムが提供される。ロボットシステムは、複数の軸を備える多関節型のロボットと、前記ロボットを制御するコントローラとを備えてよい。前記コントローラは、前記複数の軸と前記ロボットの手先との関係を示し、最適化手法により前記ロボットの個体に対して調整された要素を有する関係式を記憶する記憶部を有してよい。前記コントローラは、前記記憶部に記憶された前記関係式に基づいて、前記ロボットの動作指令を生成する指令生成部を有してよい。 According to one embodiment of the present invention, a robot system is provided. The robot system may comprise an articulated robot having multiple axes and a controller for controlling the robot. The controller may have a storage unit that stores a relational expression that indicates the relationship between the plurality of axes and the hand of the robot and has elements adjusted for the individual robot by an optimization technique. The controller may have a command generation unit that generates an operation command for the robot based on the relational expression stored in the storage unit.

 前記記憶部は、前記ロボットの個体に対して調整された前記要素によって構成されるヤコビ行列を有する前記関係式を記憶してよい。前記記憶部は、前記ロボットの個体に対して調整された前記複数の軸の伝達効率を含む前記関係式を記憶してよい。前記指令生成部は、力センサを用いずに、前記ロボットが動作したときの前記複数の軸の外乱トルク及び前記複数の軸の回転角度と前記関係式とに基づいて推定した、前記ロボットの推定手先力を用いて、前記ロボットの動作指令を生成してよい。 The storage unit may store the relational expression having a Jacobian matrix composed of the elements adjusted for the individual robot. The storage unit may store the relational expression including the transmission efficiency of the plurality of axes adjusted for the individual robot. The command generation unit estimates the robot based on the disturbance torques of the plurality of axes and the rotation angles of the plurality of axes and the relational expression when the robot operates without using a force sensor. Hand forces may be used to generate movement commands for the robot.

 前記コントローラは、前記ロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報を取得するセンサ値情報取得部を有してよい。前記コントローラは、前記ロボットが動作したときの前記複数の軸に関連する軸関連情報を取得する軸関連情報取得部を有してよい。前記コントローラは、前記軸関連情報及び前記関係式によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の前記要素を調整する調整部を有してよい。前記記憶部は、前記調整部によって前記要素が調整された前記関係式を記憶してよい。前記関係式は、ヤコビ行列を含んでよく、前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記ヤコビ行列を構成する前記要素を調整してよい。前記関係式は、前記複数の軸の伝達効率を含んでよく、前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記複数の軸の前記伝達効率を調整してよい。前記センサ値情報は、前記ロボットの手先力を測定する力センサによって測定されたセンサ値を含んでよく、前記軸関連情報は、前記ロボットが動作したときの前記複数の軸の回転角度及び前記複数の軸の外乱トルクを含んでよく、前記算出情報は、前記複数の軸の回転角度、前記複数の軸の外乱トルク、及び前記関係式によって算出された前記ロボットの推定手先力を含んでよく、前記指令生成部は、力センサを用いずに、前記算出情報に含まれる前記推定手先力を用いて、前記ロボットの動作指令を生成してよい。 The controller may have a sensor value information acquisition unit that acquires sensor value information for the hands of the robot or the plurality of axes when the robot operates. The controller may have an axis-related information acquisition unit that acquires axis-related information related to the plurality of axes when the robot operates. The controller may have an adjustment unit that adjusts the elements of the relational expression based on an error between the axis-related information and information calculated by the relational expression and the sensor value information. The storage unit may store the relational expression in which the elements are adjusted by the adjustment unit. The relational expression may include a Jacobian matrix, and the adjustment unit may adjust the elements constituting the Jacobian matrix based on an error between the calculated information and the sensor value information. The relational expression may include transmission efficiencies of the plurality of axes, and the adjustment unit may adjust the transmission efficiencies of the plurality of axes based on an error between the calculated information and the sensor value information. . The sensor value information may include sensor values measured by a force sensor that measures hand force of the robot, and the axis-related information includes rotation angles of the plurality of axes and the plurality of axes when the robot operates. and the calculated information includes the rotation angle of the plurality of axes, the disturbance torque of the plurality of axes, and the estimated hand force of the robot calculated by the relational expression, The command generation unit may generate an operation command for the robot using the estimated hand force included in the calculated information without using a force sensor.

 前記調整部は、前記算出情報と前記センサ値情報との誤差をより小さくするようにブラックボックス最適化を実行することによって、前記関係式の要素を調整してよい。前記調整部は、前記算出情報と前記センサ値情報との誤差をより小さくするようにベイズ最適化を実行することによって、前記関係式の要素を調整してよい。前記調整部は、探索範囲を前記ロボットの設定値を中心とした予め定められた範囲内に限って前記ブラックボックス最適化を実行してよい。前記関係式は、前記複数の軸のそれぞれについて、軸に関連する複数の要素を含んでよく、前記調整部は、前記複数の軸毎に、軸に関連する前記複数の要素を調整してよい。前記調整部は、前記複数の軸のそれぞれについて、前記複数の軸が連結された順番で、軸に関連する前記複数の要素を調整してよい。前記調整部は、前記複数の軸のそれぞれについて、根元側から手先側の順番で、軸に関連する前記複数の要素を調整してよい。前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記関係式の要素を変更してよい。 The adjustment unit may adjust the elements of the relational expression by executing black-box optimization so as to reduce the error between the calculated information and the sensor value information. The adjustment unit may adjust the elements of the relational expression by performing Bayesian optimization so as to reduce the error between the calculated information and the sensor value information. The adjustment unit may perform the black-box optimization by limiting the search range to a predetermined range centered on the set value of the robot. The relational expression may include a plurality of axis-related elements for each of the plurality of axes, and the adjustment unit may adjust the plurality of axis-related elements for each of the plurality of axes. . For each of the plurality of axes, the adjustment section may adjust the plurality of elements related to the axes in the order in which the plurality of axes are connected. For each of the plurality of shafts, the adjusting section may adjust the plurality of elements related to the shaft in order from the root side to the tip side. The adjuster may change the elements of the relational expression based on the error between the calculated information and the sensor value information.

 本発明の一実施態様によれば、ロボット調整装置が提供される。前記ロボット調整装置は、複数の軸を備える多関節型のロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報を取得するセンサ値情報取得部を備えてよい。前記ロボット調整装置は、前記ロボットが動作したときの前記複数の軸に関連する軸関連情報を取得する軸関連情報取得部を備えてよい。前記ロボット調整装置は、前記複数の軸と前記ロボットの手先との関係を示す関係式及び前記軸関連情報によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の要素を最適化手法により調整する調整部を備えてよい。 According to one embodiment of the present invention, a robot adjustment device is provided. The robot adjustment device may include a sensor value information acquisition unit that acquires sensor value information for a hand of the robot or the multiple axes when the articulated robot having multiple axes operates. The robot adjustment device may include an axis-related information acquisition unit that acquires axis-related information related to the plurality of axes when the robot operates. The robot adjusting device adjusts the element of the relational expression based on the error between the sensor value information and the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the calculation information calculated by the axis-related information, and the sensor value information. may be provided with an adjustment unit that adjusts by an optimization method.

 本発明の一実施態様によれば、コンピュータを、前記ロボット調整装置として機能させるためのプログラムが提供される。 According to one embodiment of the present invention, there is provided a program for causing a computer to function as the robot adjustment device.

 本発明の一実施態様によれば、コンピュータによって実行される、複数の軸を備える多関節型のロボットの製造方法が提供される。前記製造方法は、前記ロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報と、前記ロボットが動作したときの前記複数の軸に関連する軸関連情報とを取得する情報取得段階を備えてよい。前記製造方法は、前記複数の軸と前記ロボットの手先との関係を示す関係式及び前記軸関連情報によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の要素を最適化手法により調整する調整段階を備えてよい。 According to one embodiment of the present invention, a computer-executed method for manufacturing an articulated robot having multiple axes is provided. The manufacturing method acquires sensor value information for a hand of the robot or the plurality of axes when the robot operates, and axis-related information relating to the plurality of axes when the robot operates. It may have stages. In the manufacturing method, elements of the relational expression are calculated based on an error between the sensor value information and the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the information calculated based on the axis-related information, and the There may be an adjustment stage that adjusts by an optimization technique.

 なお、上記の発明の概要は、本発明の必要な特徴のすべてを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。 It should be noted that the above outline of the invention does not list all the necessary features of the present invention. Subcombinations of these feature groups can also be inventions.

ロボットシステム10の一例を概略的に示す。An example of a robot system 10 is shown schematically. センサ180の配置の一例を概略的に示す。An exemplary arrangement of sensors 180 is schematically shown. センサ180の配置の一例を概略的に示す。An exemplary arrangement of sensors 180 is schematically shown. 制御装置200及びロボット調整装置300の機能構成の一例を概略的に示す。An example of the functional configuration of the control device 200 and the robot adjustment device 300 is shown schematically. ヤコビ行列の算出手法を説明するための説明図である。FIG. 4 is an explanatory diagram for explaining a method of calculating a Jacobian matrix; ロボット調整装置300による調整処理を概略的に説明するための説明図である。FIG. 4 is an explanatory diagram for schematically explaining adjustment processing by the robot adjustment device 300; 6軸ロボット500の一例を概略的に示す。An example of a six-axis robot 500 is shown schematically. 6軸ロボット500における関係式280について説明するための説明図である。FIG. 11 is an explanatory diagram for explaining a relational expression 280 in the 6-axis robot 500; ロボット調整装置300による調整処理の流れの一例を概略的に示す。An example of the flow of adjustment processing by the robot adjustment device 300 is shown schematically. ロボット調整装置300による調整処理の流れの一例を概略的に示す。An example of the flow of adjustment processing by the robot adjustment device 300 is shown schematically. ロボット調整装置300によるロボット100の製造方法の流れの一例を概略的に示す。An example of the flow of the manufacturing method of the robot 100 by the robot adjustment device 300 is schematically shown. ロボット調整装置300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。1 schematically shows an example of a hardware configuration of a computer 1200 functioning as a robot adjustment device 300. FIG.

 以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせのすべてが発明の解決手段に必須であるとは限らない。 The present invention will be described below through embodiments of the invention, but the following embodiments do not limit the invention according to the scope of claims. Also, not all combinations of features described in the embodiments are essential to the solution of the invention.

 図1は、ロボットシステム10の一例を概略的に示す。ロボットシステム10は、ロボット100及び制御装置200を備える。ロボットシステム10は、ロボット調整装置300を備えてもよい。ロボットシステム10は、センサ180を備えてもよい。 FIG. 1 schematically shows an example of a robot system 10. A robot system 10 includes a robot 100 and a control device 200 . The robotic system 10 may include a robotic adjustment device 300 . Robotic system 10 may include sensor 180 .

 ロボット100は、複数の軸を備える多関節型のロボットである。ロボット100は、シリアルリンク機構を有してよく、複数の軸は、複数のリンクによってシリアルに接続されていてよい。ロボット100が備える軸の数は任意の数であってよく、例えば、ロボット100は、4~7軸を備える。ロボット100は、いわゆる産業用ロボットであってよい。ロボット100の用途は産業用に限らず、医療用等の他の用途であってもよい。 The robot 100 is an articulated robot with multiple axes. The robot 100 may have a serial linkage, and multiple axes may be serially connected by multiple links. The robot 100 may have any number of axes, for example, the robot 100 has 4-7 axes. The robot 100 may be a so-called industrial robot. The application of the robot 100 is not limited to industrial use, and may be other uses such as medical use.

 制御装置200は、ロボット100を制御する。制御装置200は、ロボット100からフィードバックを受けながら、ロボット100のサーボモータを動作させる動作指令をロボット100に送信することによって、ロボット100を制御してよい。ロボット100からフィードバックされるフィードバック情報の例として、複数の軸のそれぞれの回転角度、回転速度、及びトルク等が挙げられる。 The control device 200 controls the robot 100. The control device 200 may control the robot 100 by sending to the robot 100 an operation command for operating the servo motors of the robot 100 while receiving feedback from the robot 100 . Examples of feedback information fed back from the robot 100 include rotation angles, rotation speeds, and torques of each of the multiple axes.

 ロボット調整装置300は、ロボット100に関する調整を実行する。ロボット調整装置300は、ロボット100の複数の軸とロボット100の手先との関係を示す関係式280の要素を調整する。 The robot adjustment device 300 performs adjustment regarding the robot 100 . The robot adjustment device 300 adjusts the elements of the relational expression 280 indicating the relationship between the axes of the robot 100 and the hand of the robot 100 .

 関係式280は、ヤコビ行列を含んでよく、ロボット調整装置300は、ヤコビ行列を構成する要素を調整してよい。関係式280は、複数の軸の伝達効率を含んでよく、ロボット調整装置300は、複数の軸の伝達効率を調整してよい。ロボット調整装置300は、ヤコビ行列を構成する要素、及び複数の軸の伝達効率の両方を調整してよい。ロボット調整装置300は、ヤコビ行列を構成する要素、及び複数の軸の伝達効率のいずれか一方のみを調整してもよい。 The relational expression 280 may include a Jacobian matrix, and the robot adjustment device 300 may adjust the elements that make up the Jacobian matrix. Relational expression 280 may include transmission efficiencies of multiple axes, and robot adjuster 300 may adjust the transmission efficiencies of multiple axes. The robot adjustment device 300 may adjust both the elements that make up the Jacobian matrix and the transmission efficiency of multiple axes. The robot adjustment device 300 may adjust only one of the elements that make up the Jacobian matrix and the transmission efficiency of a plurality of axes.

 ロボット調整装置300は、ロボット100が動作したときにセンサ180が測定したセンサ値を示すセンサ値情報を用いた学習を実行することによって、関係式280の要素を調整してよい。例えば、ロボット調整装置300は、ロボット100が動作したときの、ロボット100の手先に対するセンサ値情報と、ロボット100によるフィードバック情報とを取得する。ロボット調整装置300は、フィードバック情報と関係式280によって算出した算出情報と、センサ値情報との誤差に基づいて、関係式280の要素を調整する。例えば、ロボット調整装置300は、算出情報とセンサ値情報との誤差をより小さくするように最適化処理を実行することによって、関係式280の要素を調整する。これにより、フィードバック情報及び関係式280を用いた算出情報の精度を向上させることができる。 The robot adjustment device 300 may adjust the elements of the relational expression 280 by performing learning using sensor value information indicating sensor values measured by the sensor 180 when the robot 100 operates. For example, the robot adjustment device 300 acquires sensor value information for the hand of the robot 100 and feedback information from the robot 100 when the robot 100 operates. The robot adjustment device 300 adjusts the elements of the relational expression 280 based on the feedback information, the calculation information calculated by the relational expression 280, and the sensor value information. For example, the robot adjustment device 300 adjusts the elements of the relational expression 280 by executing optimization processing so as to reduce the error between the calculated information and the sensor value information. Thereby, the accuracy of the information calculated using the feedback information and the relational expression 280 can be improved.

 センサ180は、例えば、ロボット100の手先に加わる力(手先力と記載する場合がある。)を測定する力センサである。ロボット調整装置300は、例えば、学習のために、ロボット100の手先に力が加わった状態でロボット100が動作したときの、センサ180によって測定された力センサ値を含むセンサ値情報と、ロボット100のフィードバック情報とを取得する。 The sensor 180 is, for example, a force sensor that measures force applied to the hand of the robot 100 (sometimes referred to as hand force). For example, for learning purposes, the robot adjustment device 300 stores sensor value information including force sensor values measured by the sensor 180 when the robot 100 operates with a force applied to the hand of the robot 100, and Get feedback and information.

 ロボット調整装置300は、フィードバック情報に含まれるトルクから、外乱トルクを算出する。外乱トルクは、実トルクから、制御に必要なトルクを除いた値を示す。ロボット調整装置300は、例えば、予め、ロボット100が外乱のない特定の軌道上を動作したときのトルク(無外乱トルクと記載する場合がある。)を制御装置200から受信して、記憶しておく。ロボット調整装置300は、フィードバック情報に含まれるトルクと、無外乱トルクとの差分を、外乱トルクとして取得してよい。 The robot adjustment device 300 calculates the disturbance torque from the torque included in the feedback information. The disturbance torque indicates a value obtained by subtracting the torque required for control from the actual torque. For example, the robot adjustment device 300 receives from the control device 200 in advance the torque (may be referred to as disturbance-free torque) when the robot 100 operates on a specific trajectory with no disturbance, and stores it. put. The robot adjustment device 300 may acquire the difference between the torque included in the feedback information and the non-disturbance torque as the disturbance torque.

 ロボット調整装置300は、フィードバック情報に含まれる複数の軸の回転角度と、算出した複数の軸の外乱トルクと、関係式280とによって、ロボット100の手先力を推定してよい。ロボット調整装置300は、推定した手先力(推定手先力と記載する場合がある。)と、センサ値情報に含まれる力センサ値との誤差をより小さくするように最適化を実行することによって、関係式280の要素を調整してよい。ロボット調整装置300は、要素を調整した関係式280を制御装置200に設定してよい。 The robot adjustment device 300 may estimate the hand force of the robot 100 based on the rotation angles of the multiple axes included in the feedback information, the calculated disturbance torques of the multiple axes, and the relational expression 280 . The robot adjustment device 300 performs optimization so as to reduce the error between the estimated hand force (sometimes referred to as estimated hand force) and the force sensor value included in the sensor value information. Elements of equation 280 may be adjusted. The robot adjusting device 300 may set the relational expression 280 with adjusted elements in the control device 200 .

 ロボットによる組立や加工の工程では、力制御により一定の力で手先を押し付けながら作業を実施させることが要求される場合がある。このとき、一般的には、手先に取り付けた力センサ等を用いて力制御を実現するが、そのセンサシステムが高額であったり、粉塵や水滴によってセンサが故障しやすい環境であったりする等して、センサを用いた力制御の機能を導入できない場合がある。そのため、センサを用いずに低コストで実現可能な力制御機能の開発が求められる。センサレスによる力制御は従来も実施されており、ロボット各軸の外乱トルクから手先力をヤコビ行列により算出して、手先力を推定することで実現している。しかしながら、ロボットのリンク長及び軸原点等のズレや、トルクの伝達効率の机上計算とのズレ等により、実用的な精度で手先力を推定することは難しいとされている。ロボットの設計によって各軸間距離及び伝達効率等の値が決定されるが、環境や原点ズレ、劣化等で、設計からズレが生じる。 In the process of assembly and processing using robots, there are times when it is required to carry out work while pressing the fingers with a certain amount of force using force control. At this time, force control is generally achieved by using a force sensor attached to the hand, but the sensor system is expensive and the environment is such that the sensor is prone to failure due to dust or water droplets. Therefore, it may not be possible to introduce force control functions using sensors. Therefore, it is required to develop a force control function that can be realized at low cost without using sensors. Sensorless force control has also been implemented in the past, and is realized by estimating the hand force by calculating the hand force from the disturbance torque of each axis of the robot using the Jacobian matrix. However, it is said that it is difficult to estimate the hand force with practical accuracy due to the deviation of the link length of the robot, the origin of the axis, etc., and the deviation from the theoretical calculation of the torque transmission efficiency. Values such as the distance between each axis and transmission efficiency are determined by the design of the robot, but deviations from the design occur due to the environment, origin deviation, deterioration, and the like.

 それに対して、本実施形態に係るロボット調整装置300は、例えば、複数の軸の回転角度及び外乱トルク並びに関係式280によって算出した推定手先力と、実際の力センサ値との誤差を目的関数として、ヤコビ行列における各軸間距離及び各軸の伝達効率をパラメータとして最適化する。これにより、複数の軸の回転角度及び外乱トルクを用いた手先力の推定精度を向上させることができる。ロボット調整装置300によって最適化された関係式280を記憶する制御装置200は、力センサを用いずに、関係式280によって推定したロボット100の推定手先力を用いて、ロボット100の力制御に関連する動作指令を生成してよい。これにより、低コストで実用的な精度の力制御を実現可能なロボットシステム10を提供することができる。 On the other hand, the robot adjustment device 300 according to the present embodiment uses, for example, the error between the estimated hand force calculated by the rotation angles and disturbance torques of a plurality of axes and the relational expression 280 and the actual force sensor value as an objective function. , the distance between each axis and the transmission efficiency of each axis in the Jacobian matrix are optimized as parameters. As a result, it is possible to improve the accuracy of estimating the hand force using the rotation angles and disturbance torques of a plurality of shafts. The control device 200, which stores the relational expression 280 optimized by the robot adjustment device 300, uses the estimated hand force of the robot 100 estimated by the relational expression 280 without using a force sensor, and relates to the force control of the robot 100. may generate an operation command to Accordingly, it is possible to provide the robot system 10 capable of realizing force control with practical precision at low cost.

 ロボット調整装置300は、複数組のロボット100及び制御装置200のそれぞれに対して、最適化手法によりロボット100の個体に対して要素を調整した関係式280を設定してよい。 The robot adjustment device 300 may set a relational expression 280 in which elements are adjusted for individual robots 100 by an optimization technique for each of the plurality of sets of robots 100 and control devices 200 .

 例えば、ロボット調整装置300は、ロボット100の製造システムに組み込まれて、製造対象の複数のロボット100について、順番に関係式280の要素の調整を実行する。これにより、製造時点においてリンク長及び各軸原点等が設計値からズレてしまっている場合であっても、センサレスで手先力を比較的高精度に推定可能なロボット100及び制御装置200を提供することができる。 For example, the robot adjusting device 300 is incorporated in a manufacturing system for the robots 100 and sequentially adjusts the elements of the relational expression 280 for a plurality of robots 100 to be manufactured. This provides a robot 100 and a control device 200 capable of estimating hand force with relatively high accuracy without a sensor even when the link length, the origin of each axis, etc. deviate from the design values at the time of manufacture. be able to.

 例えば、ロボット調整装置300は、ロボット100のメンテナンスシステムに組み込まれて、メンテナンス対象の複数のロボット100について、順番に関係式280の要素の調整を実行する。使用されたロボット100は、変形したり劣化したりすることによって、使用前の状態と比較して、リンク長及び各軸原点がずれてしまう場合がある。よって、使用前の状態における関係式280を用いた手先力の推定精度が高くても、使用後は推定精度が低下してしまう。ロボット調整装置300によれば、メンテナンス時点でのロボット100の状態に適した関係式280を設定することができ、メンテナンス前と比較して、手先力の推定精度を向上させることができる。 For example, the robot adjusting device 300 is incorporated in the maintenance system of the robot 100 and sequentially adjusts the elements of the relational expression 280 for the plurality of robots 100 to be maintained. When the used robot 100 is deformed or deteriorated, the link length and the origin of each axis may deviate from the state before use. Therefore, even if the hand force estimation accuracy using the relational expression 280 is high before use, the estimation accuracy decreases after use. According to the robot adjustment device 300, the relational expression 280 suitable for the state of the robot 100 at the time of maintenance can be set, and the accuracy of hand force estimation can be improved compared to before maintenance.

 ロボット調整装置300は、1組のロボット100及び制御装置200に対して備え付けられてもよい。この場合、ロボット調整装置300は、定期的に又は不定期に、関係式280の要素を調整してよい。また、ロボット調整装置300は、ロボット100の管理者等の指示に従って、関係式280の要素を調整してもよい。これにより、ロボット100が使用されることによって、変形したり劣化したりした場合であっても、使用後の状態に適合するように関係式280の要素を調整することができ、手先力の推定精度が高い状態を保つことに貢献できる。 The robot adjustment device 300 may be provided for a set of the robot 100 and the control device 200. In this case, the robot adjustment device 300 may adjust the elements of the relational expression 280 periodically or irregularly. Further, the robot adjustment device 300 may adjust the elements of the relational expression 280 according to instructions from the administrator of the robot 100 or the like. As a result, even if the robot 100 is deformed or deteriorated through use, the elements of the relational expression 280 can be adjusted to suit the state after use, and the hand force can be estimated. It can contribute to maintaining high accuracy.

 制御装置200は、コントローラの一例であってよい。また、制御装置200及びロボット調整装置300の組み合わせが、コントローラの一例であってもよい。すなわち、コントローラは、制御装置200のみを含んでよく、制御装置200及びロボット調整装置300の両方を含んでもよい。なお、制御装置200とロボット調整装置300とは一体であってもよい。すなわち、制御装置200がロボット調整装置300の機能を備えてもよい。 The control device 200 may be an example of a controller. Also, a combination of the control device 200 and the robot adjustment device 300 may be an example of a controller. That is, the controller may include only the control device 200 or both the control device 200 and the robot adjustment device 300 . Note that the control device 200 and the robot adjustment device 300 may be integrated. That is, the control device 200 may have the function of the robot adjustment device 300 .

 ロボット100の制御が、いわゆるロボットコントローラと、ロボット100のティーチングポイントを生成してロボットコントローラに提供するいわゆる汎用ロボットコントローラとの組み合わせによって実現される環境において、制御装置200は、ロボットコントローラとして機能してよい。この場合、ロボットシステム10は、汎用ロボットコントローラを更に備えてもよい。 In an environment where control of the robot 100 is realized by a combination of a so-called robot controller and a so-called general-purpose robot controller that generates teaching points for the robot 100 and provides them to the robot controller, the control device 200 functions as a robot controller. good. In this case, the robot system 10 may further comprise a general-purpose robot controller.

 図2及び図3は、センサ180の配置の一例を概略的に示す。ここでは、センサ180が、ロボット100の手先力を測定する力センサである場合を例示している。 2 and 3 schematically show an example of arrangement of the sensor 180. FIG. Here, the sensor 180 is illustrated as a force sensor that measures the hand force of the robot 100 .

 センサ180は、図2に例示するように、ロボット100に対して設置されてよい。ロボット100を、複数の姿勢で様々な力を手先に加えながら動作させることによって、学習に用いる、センサ値情報及びフィードバック情報を収集することができる。センサ180をロボット100に対して設置することによって、高精度な情報収集を可能とすることができる。 The sensor 180 may be installed with respect to the robot 100 as illustrated in FIG. Sensor value information and feedback information used for learning can be collected by operating the robot 100 in a plurality of postures while applying various forces to the hand. By installing the sensor 180 on the robot 100, it is possible to collect information with high accuracy.

 ロボット調整装置300がロボット100の製造システムに組み込まれる場合、製造対象であるロボット100に対してセンサ180が設置され、ロボット100を動作させながら情報を収集した後、センサ180が取り外される。ロボット調整装置300がロボット100のメンテナンスシステムに組み込まれる場合も同様に、メンテナンス対象であるロボット100に対してセンサ180が設置され、ロボット100を動作させながら情報を収集した後、センサ180が取り外される。ロボット調整装置300が、1組のロボット100及び制御装置200に対して備え付けられる場合、関係式280を調整する際に、ロボット100に対してセンサ180が設置され、ロボット100を動作させながら情報を収集した後、センサ180が取り外される。 When the robot adjustment device 300 is incorporated into the manufacturing system of the robot 100, the sensor 180 is installed on the robot 100 to be manufactured, and after collecting information while operating the robot 100, the sensor 180 is removed. Similarly, when the robot adjustment device 300 is incorporated into the maintenance system of the robot 100, the sensor 180 is installed on the robot 100 to be maintained, and after collecting information while operating the robot 100, the sensor 180 is removed. . When the robot adjustment device 300 is installed for a set of the robot 100 and the control device 200, the sensor 180 is installed on the robot 100 when adjusting the relational expression 280, and information is obtained while the robot 100 is operating. After collection, sensor 180 is removed.

 センサ180は、図3に例示するように、ロボット100に対してではなく、環境側に設置されてもよい。図3は、センサ180がワーク20に対して設置されている状態を例示している。ロボット100に、複数の姿勢で複数の方向からセンサ180に対して力を加えさせたり、センサ180の位置や姿勢を適宜変更しながらセンサ180に対して力を加えさせたりすることによって、学習に用いる、センサ値情報及びフィードバック情報を収集することができる。センサ180を環境側に設置することによって、センサ180をロボット100に対して設置する時間を節約することができる。 The sensor 180 may be installed not on the robot 100 but on the environment side, as illustrated in FIG. FIG. 3 illustrates a state in which the sensor 180 is installed with respect to the workpiece 20. As shown in FIG. By having the robot 100 apply force to the sensor 180 from a plurality of directions in a plurality of postures, or by applying a force to the sensor 180 while appropriately changing the position and posture of the sensor 180, learning can be facilitated. Sensor value information and feedback information can be collected for use. By placing the sensor 180 on the environment side, the time to install the sensor 180 on the robot 100 can be saved.

 図4は、制御装置200及びロボット調整装置300の機能構成の一例を概略的に示す。制御装置200は、通信部202、通信部204、記憶部206、及び指令生成部208を備える。ロボット調整装置300は、通信部302、通信部304、記憶部306、学習準備部308、及び学習処理部310を備える。 4 schematically shows an example of functional configurations of the control device 200 and the robot adjustment device 300. FIG. The control device 200 includes a communication section 202 , a communication section 204 , a storage section 206 and a command generation section 208 . The robot adjustment device 300 includes a communication section 302 , a communication section 304 , a storage section 306 , a learning preparation section 308 and a learning processing section 310 .

 通信部202は、ロボット100と通信する。通信部202は、ロボット100と有線通信してよい。通信部202は、ロボット100と無線通信してもよい。通信部202は、ロボット100と、直接通信してよく、ネットワークを介して通信してもよい。 The communication unit 202 communicates with the robot 100. The communication unit 202 may communicate with the robot 100 by wire. The communication unit 202 may wirelessly communicate with the robot 100 . The communication unit 202 may communicate with the robot 100 directly or via a network.

 通信部204は、ロボット調整装置300と通信する。通信部204は、ロボット調整装置300と有線通信してよい。通信部204は、ロボット調整装置300と無線通信してもよい。通信部204は、ロボット調整装置300と、直接通信してよく、ネットワークを介して通信してもよい。 The communication unit 204 communicates with the robot adjustment device 300. The communication unit 204 may communicate with the robot adjustment device 300 by wire. The communication unit 204 may wirelessly communicate with the robot adjustment device 300 . The communication unit 204 may communicate with the robot adjustment device 300 directly or via a network.

 記憶部206は、各種情報を記憶する。記憶部206は、例えば、関係式280を記憶する。記憶部206は、ロボット100に関する設定値を記憶してもよい。設定値は、ロボット100の各軸間距離を含んでよい。設定値は、ロボット100の各軸間の位置姿勢関係を含んでよい。設定値は、ロボット100の各軸の伝達効率を含んでよい。 The storage unit 206 stores various information. The storage unit 206 stores a relational expression 280, for example. The storage unit 206 may store setting values for the robot 100 . The setting value may include the distance between each axis of the robot 100 . The setting values may include the position and orientation relationship between each axis of the robot 100 . The set value may include the transmission efficiency of each axis of the robot 100 .

 設定値は、例えば、ロボット100の設計値である。設定値は、例えば、設計値にキャリブレーション等によって調整が加えられた調整値である。設定値は、例えば、ロボット100が使用された後に、ロボット100の状態に合わせて設定された値であってもよい。 The setting value is, for example, the design value of the robot 100. The set value is, for example, an adjusted value obtained by adjusting the design value by calibration or the like. The setting value may be, for example, a value set according to the state of the robot 100 after the robot 100 is used.

 指令生成部208は、ロボット100の動作指令を生成する。指令生成部208は、記憶部206に記憶された関係式280に基づいて、ロボット100の動作指令を生成してよい。 The command generation unit 208 generates motion commands for the robot 100 . The command generation unit 208 may generate an operation command for the robot 100 based on the relational expression 280 stored in the storage unit 206 .

 通信部302は、制御装置200と通信する。通信部302は、制御装置200と有線通信してよい。通信部302は、制御装置200と無線通信してもよい。通信部302は、制御装置200と、直接通信してよく、ネットワークを介して通信してもよい。 The communication unit 302 communicates with the control device 200. The communication unit 302 may communicate with the control device 200 by wire. The communication unit 302 may wirelessly communicate with the control device 200 . The communication unit 302 may communicate with the control device 200 directly or via a network.

 通信部304は、センサ180と通信する。通信部304は、センサ180と有線通信してよい。通信部304は、センサ180と無線通信してもよい。通信部304は、センサ180と、直接通信してよく、ネットワークを介して通信してもよい。 The communication unit 304 communicates with the sensor 180. The communication unit 304 may communicate with the sensor 180 by wire. The communication unit 304 may wirelessly communicate with the sensor 180 . The communication unit 304 may communicate with the sensor 180 directly or via a network.

 記憶部306は、各種情報を記憶する。記憶部306は、例えば、通信部302が制御装置200から受信した情報を記憶する。例えば、通信部302は、制御装置200の記憶部206に記憶されている関係式280を受信して、記憶部306に記憶させる。例えば、通信部302は、記憶部206に記憶されている設定値を受信して、記憶部306に記憶させる。 The storage unit 306 stores various information. The storage unit 306 stores information received by the communication unit 302 from the control device 200, for example. For example, the communication unit 302 receives the relational expression 280 stored in the storage unit 206 of the control device 200 and stores it in the storage unit 306 . For example, the communication unit 302 receives setting values stored in the storage unit 206 and stores them in the storage unit 306 .

 記憶部306は、学習のためにロボット100に実施させる動作を示す動作データを記憶してよい。記憶部306は、例えば、効率的に学習するために生成された、多様な動作をロボット100に実施させるための動作データを、記憶する。 The storage unit 306 may store motion data indicating motions to be performed by the robot 100 for learning. The storage unit 306 stores, for example, motion data for causing the robot 100 to perform various motions generated for efficient learning.

 ロボット100の用途が決まっている場合、記憶部306は、用途に応じて生成された動作データを記憶してもよい。ロボット100が実施する予定の動作が決まっている場合に、記憶部306は、実施予定の動作をロボット100に実施させる動作データを記憶してもよい。これにより、ロボット100が実施する予定の動作に合わせた学習を実行可能にでき、精度向上に貢献できる。 When the use of the robot 100 is determined, the storage unit 306 may store motion data generated according to the use. When the action scheduled to be performed by the robot 100 is determined, the storage unit 306 may store action data for causing the robot 100 to perform the action scheduled to be performed. As a result, it is possible to perform learning according to the operation that the robot 100 is scheduled to perform, which contributes to an improvement in accuracy.

 記憶部306は、無外乱トルクを取得するための動作データを記憶してもよい。無外乱トルクを取得するための動作データは、学習のためにロボット100に実施させる動作と同様の動作を、外乱のない状態で実施させるためのものであってよい。また、無外乱トルクを取得するための動作データは、無外乱トルクを正確に取得するために生成されたものであってもよい。 The storage unit 306 may store operation data for obtaining the disturbance-free torque. The motion data for obtaining the disturbance-free torque may be data for causing the robot 100 to perform motions similar to those performed for learning in a state without disturbance. Also, the motion data for obtaining the disturbance-free torque may be generated for accurately obtaining the disturbance-free torque.

 [学習準備]
 学習準備部308は、学習の準備処理を実行する。学習準備部308は、通信部302を介して動作データを制御装置200に送信することによって、制御装置200にロボット100を制御させてよい。制御装置200の指令生成部208は、ロボット調整装置300から受信した動作データに従って動作指令を生成し、ロボット100に送信してよい。
[Study Preparation]
The learning preparation unit 308 executes a preparation process for learning. The learning preparation unit 308 may cause the control device 200 to control the robot 100 by transmitting motion data to the control device 200 via the communication unit 302 . The command generation unit 208 of the control device 200 may generate a motion command according to the motion data received from the robot adjustment device 300 and transmit it to the robot 100 .

 学習準備部308は、例えば、無外乱トルクを取得するための動作データを制御装置200に送信する。制御装置200は、動作データに従ってロボット100を動作させ、ロボット100からフィードバック情報を受信する。制御装置200は、受信したフィードバック情報をロボット調整装置300に送信する。記憶部306は、受信したフィードバック情報に含まれるトルクを、無外乱トルクとして記憶する。 The learning preparation unit 308 transmits to the control device 200, for example, operation data for obtaining disturbance-free torque. The control device 200 operates the robot 100 according to the motion data and receives feedback information from the robot 100 . The control device 200 transmits the received feedback information to the robot adjustment device 300 . Storage unit 306 stores the torque included in the received feedback information as non-disturbance torque.

 学習準備部308は、例えば、学習のための動作データを制御装置200に送信する。制御装置200は、動作データに従ってロボット100を動作させ、ロボット100が動作したときのフィードバック情報をロボット100から受信する。センサ180は、ロボット100が動作したときのロボット100の手先に対するセンサ値を測定する。 The learning preparation unit 308 transmits motion data for learning to the control device 200, for example. The control device 200 operates the robot 100 according to the operation data and receives feedback information from the robot 100 when the robot 100 operates. The sensor 180 measures sensor values for the hand of the robot 100 when the robot 100 operates.

 ロボット調整装置300は、制御装置200からフィードバック情報を受信する。ロボット調整装置300は、センサ180によって測定されたセンサ値を含むセンサ値情報を受信する。ロボット調整装置300は、通信部304によって、センサ180からセンサ値情報を受信してよい。センサ180がロボット100と通信可能な場合や、センサ180が制御装置200と通信可能な場合に、ロボット調整装置300は、制御装置200を介して、センサ値情報を受信してもよい。記憶部306は、受信したフィードバック情報及びセンサ値情報を記憶する。 The robot adjustment device 300 receives feedback information from the control device 200 . Robotic conditioning device 300 receives sensor value information including sensor values measured by sensors 180 . The robot adjustment device 300 may receive sensor value information from the sensor 180 via the communication unit 304 . The robot adjustment device 300 may receive sensor value information via the control device 200 when the sensor 180 can communicate with the robot 100 or when the sensor 180 can communicate with the control device 200 . The storage unit 306 stores the received feedback information and sensor value information.

 なお、ここでは、ロボット調整装置300が主体となって学習準備を実行する場合を例に挙げて説明したが、これに限らない。学習準備の実施主体は、ロボット100の管理者等の人であってもよく、人が制御装置200を操作しながら、学習準備を進めてもよい。 Here, a case where the robot adjustment device 300 takes the lead in executing preparation for learning has been described as an example, but the present invention is not limited to this. A person such as an administrator of the robot 100 may perform the learning preparation, and the person may operate the control device 200 while proceeding with the learning preparation.

 [学習処理]
 学習処理部310は、学習処理を実行する。学習処理部310は、学習情報生成部312、センサ値情報取得部314、軸関連情報取得部316、及び調整部318を有する。
[Learning process]
The learning processing unit 310 executes learning processing. The learning processing unit 310 has a learning information generation unit 312 , a sensor value information acquisition unit 314 , an axis related information acquisition unit 316 and an adjustment unit 318 .

 [学習情報の生成]
 学習情報生成部312は、記憶部306に記憶されている情報から、学習情報を生成する。学習情報生成部312は、例えば、ロボット100が動作したときのロボット100の手先に対するセンサ値情報と、ロボット100が動作したときの複数の軸に関連する軸関連情報とを含む学習情報を生成する。
[Generation of learning information]
The learning information generation unit 312 generates learning information from information stored in the storage unit 306 . The learning information generation unit 312 generates learning information including, for example, sensor value information for the hand of the robot 100 when the robot 100 operates, and axis-related information related to a plurality of axes when the robot 100 operates. .

 例えば、学習処理部310は、フィードバック情報に含まれるトルクと無外乱トルクとの差分を、外乱トルクとして算出する。そして、学習処理部310は、フィードバック情報に含まれる複数の軸の回転角度と、算出した外乱トルクとを含む軸関連情報と、センサ値情報とを含む学習情報を生成して、記憶部306に記憶させる。 For example, the learning processing unit 310 calculates the difference between the torque included in the feedback information and the non-disturbance torque as the disturbance torque. Then, the learning processing unit 310 generates learning information including sensor value information and shaft-related information including the rotation angles of the plurality of shafts and the calculated disturbance torque included in the feedback information, and stores the learning information in the storage unit 306. Memorize.

 [学習処理内容]
 センサ値情報取得部314、軸関連情報取得部316、及び調整部318は、学習処理を実行する。センサ値情報取得部314は、記憶部306に記憶されている学習情報から、センサ値情報を取得する。軸関連情報取得部316は、記憶部306に記憶されている学習情報から、軸関連情報を取得する。
[Contents of learning process]
The sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 execute learning processing. A sensor value information acquisition unit 314 acquires sensor value information from learning information stored in the storage unit 306 . The axis-related information acquisition unit 316 acquires axis-related information from learning information stored in the storage unit 306 .

 調整部318は、最適化手法によって、関係式280の要素を、ロボット100の個体に対して調整する。調整部318は、センサ値情報取得部314が取得したセンサ値情報と、軸関連情報取得部316が取得した軸関連情報とに基づいて、記憶部306に記憶されている関係式280の要素を調整してよい。例えば、調整部318は、軸関連情報及び関係式280によって算出した算出情報と、センサ値情報との誤差に基づいて、関係式280の要素を調整する。 The adjustment unit 318 adjusts the elements of the relational expression 280 for the individual robot 100 by an optimization method. The adjustment unit 318 adjusts the elements of the relational expression 280 stored in the storage unit 306 based on the sensor value information acquired by the sensor value information acquisition unit 314 and the axis-related information acquired by the axis-related information acquisition unit 316. can be adjusted. For example, the adjuster 318 adjusts the elements of the relational expression 280 based on the error between the axis-related information and the calculation information calculated by the relational expression 280 and the sensor value information.

 調整部318は、算出情報とセンサ値情報との誤差に基づいて、関係式280に含まれるヤコビ行列を構成する要素を調整してよい。例えば、調整部318は、算出情報とセンサ値情報との誤差をより小さくするように最適化を実行することによって、関係式280に含まれるヤコビ行列を構成する要素を調整する。ヤコビ行列の要素を調整することによって、手先力の推定精度を向上させることができる。 The adjustment unit 318 may adjust the elements forming the Jacobian matrix included in the relational expression 280 based on the error between the calculated information and the sensor value information. For example, the adjuster 318 adjusts the elements that make up the Jacobian matrix included in the relational expression 280 by performing optimization to reduce the error between the calculated information and the sensor value information. By adjusting the elements of the Jacobian matrix, the accuracy of hand force estimation can be improved.

 調整部318は、算出情報とセンサ値情報との誤差に基づいて、関係式280に含まれる複数の軸の伝達効率を調整してよい。例えば、調整部318は、算出情報とセンサ値情報との誤差をより小さくするように最適化を実行することによって、関係式280に含まれる複数の軸の伝達効率を調整する。ヤコビ行列を構成する要素に加えて、複数の軸の伝達効率を調整することによって、手先力の推定精度をさらに向上させることができる。 The adjustment unit 318 may adjust the transmission efficiency of the multiple axes included in the relational expression 280 based on the error between the calculated information and the sensor value information. For example, the adjuster 318 adjusts the transmission efficiencies of the multiple axes included in the relational expression 280 by performing optimization to reduce the error between the calculated information and the sensor value information. By adjusting the transmission efficiencies of a plurality of axes in addition to the elements that make up the Jacobian matrix, the accuracy of hand force estimation can be further improved.

 調整部318は、要素を調整した関係式280を、制御装置200に設定する。記憶部206は、調整部318によって要素が調整された関係式280を記憶する。 The adjustment unit 318 sets the relational expression 280 in which the elements are adjusted in the control device 200 . The storage unit 206 stores a relational expression 280 whose elements have been adjusted by the adjustment unit 318 .

 調整部318は、算出情報とセンサ値情報との誤差に基づいて、関係式280の要素を変更することによって、関係式280の要素を調整してよい。調整部318は、算出情報とセンサ値情報との誤差に基づいて、関係式280の要素を補正する補正値を算出することによって、関係式280の要素を調整してもよい。調整部318は、算出した補正値を制御装置200に送信してよく、制御装置200は、受信した補正値を関係式280と対応付けて記憶部206に記憶してよい。 The adjustment unit 318 may adjust the elements of the relational expression 280 by changing the elements of the relational expression 280 based on the error between the calculated information and the sensor value information. The adjuster 318 may adjust the elements of the relational expression 280 by calculating correction values for correcting the elements of the relational expression 280 based on the error between the calculation information and the sensor value information. The adjustment unit 318 may transmit the calculated correction value to the control device 200 , and the control device 200 may store the received correction value in the storage unit 206 in association with the relational expression 280 .

 関係式280の要素を変更することによって、補正値を算出する場合と比較して、データ量を低減したり、管理負担を低減したり、ロボット動作時の計算負荷を低減したりすることができる。関係式280の要素を補正する補正値を算出することによって、要素を変更する場合と比較して、調整前の状態に戻しやすくすることができる。例えば、関係式280の要素を調整した結果、精度が低下するような事態が発生した場合に、より迅速に元の状態に復帰させることができる。 By changing the elements of the relational expression 280, it is possible to reduce the amount of data, reduce the management load, and reduce the calculation load during robot operation, as compared with the case of calculating the correction value. . By calculating the correction value for correcting the element of the relational expression 280, it is possible to easily return to the state before adjustment compared to the case of changing the element. For example, if the adjustment of the elements of the relational expression 280 causes a situation in which the accuracy is degraded, the original state can be restored more quickly.

 指令生成部208は、記憶部206に記憶されている、調整部318によって要素が調整された関係式280に基づいて、ロボット100の動作指令を生成してよい。例えば、指令生成部208は、ロボット100の手先力推定に用いる関係式280に基づいて推定したロボット100の推定手先力を用いて、ロボット100の動作指令を生成する。例えば、指令生成部208は、力制御により一定の力で手先を押し付けながらワークを研磨する研磨作業をロボット100に実施させるための動作指令を生成する。例えば、指令生成部208は、力制御を行わない規定の動作でワークを研磨し、手先力がかからなくなったことに応じて研磨を終了する作業をロボット100に実施させるための動作指令を生成する。指令生成部208が、ロボット100の個体に対して調整された要素によって構成されるヤコビ行列を含む関係式280を用いてロボット100の動作指令を生成することによって、ロボット100のリンク長や軸原点のズレの影響を低減することができ、ロボット制御の精度を向上させることができる。指令生成部208が、ロボット100の個体に対して調整された複数の軸の伝達効率を含む関係式280を用いてロボット100の動作指令を生成することによって、各軸伝達効率の机上計算とのズレの影響を低減することができ、ロボット制御の精度を向上させることができる。 The command generation unit 208 may generate an operation command for the robot 100 based on the relational expression 280 stored in the storage unit 206 and having the elements adjusted by the adjustment unit 318 . For example, the command generating unit 208 generates an operation command for the robot 100 using the estimated hand force of the robot 100 estimated based on the relational expression 280 used for estimating the hand force of the robot 100 . For example, the command generation unit 208 generates an operation command for causing the robot 100 to perform a polishing operation of polishing the workpiece while pressing the fingertip with a constant force through force control. For example, the command generation unit 208 generates an action command for causing the robot 100 to polish the workpiece with a prescribed action without force control, and finish polishing when the hand force is no longer applied. do. The command generation unit 208 generates an operation command for the robot 100 using a relational expression 280 including a Jacobian matrix composed of elements adjusted for the individual robot 100, thereby determining the link length and the axis origin of the robot 100. It is possible to reduce the influence of the deviation, and improve the accuracy of the robot control. The command generation unit 208 generates an operation command for the robot 100 using a relational expression 280 including the transmission efficiencies of a plurality of axes adjusted for each individual robot 100, thereby matching the transmission efficiency of each axis with the desk calculation. The influence of deviation can be reduced, and the accuracy of robot control can be improved.

 図5は、ヤコビ行列の算出手法を説明するための説明図である。ここでは、力推定に用いるヤコビ行列の算出手法を例に挙げて説明する。図5に示すように、座標系Σにかかる力をF、座標系Σ´にかかる力をF´とし、Σ´の位置を基準としたΣの位置をP=(px,py,pz)とし、回転行列をRとし、F´=JFとしたとき、ヤコビ行列Jは、下記数式1で表される。 FIG. 5 is an explanatory diagram for explaining the method of calculating the Jacobian matrix. Here, a method for calculating the Jacobian matrix used for force estimation will be described as an example. As shown in FIG. 5, let F be the force acting on the coordinate system Σ, F' be the force acting on the coordinate system Σ', and P=(px, py, pz) be the position of Σ with respect to the position of Σ'. , the rotation matrix is R, and F'=JF, the Jacobian matrix J is expressed by Equation 1 below.

Figure JPOXMLDOC01-appb-M000001
 ただし、P×は下記数式2のとおりである。
Figure JPOXMLDOC01-appb-M000001
However, Px is as shown in Equation 2 below.

Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000002

 図6は、ロボット調整装置300による調整処理を概略的に説明するための説明図である。ここでは、ロボット100の手先力推定に用いる関係式406の調整処理について説明する。 FIG. 6 is an explanatory diagram for schematically explaining the adjustment processing by the robot adjustment device 300. FIG. Here, adjustment processing of the relational expression 406 used for hand force estimation of the robot 100 will be described.

 軸関連情報取得部316は、複数の学習情報のうちの一の学習情報から各軸外乱トルクτ402及び各軸回転角度θ404を取得する。調整部318は、各軸外乱トルクτ402と、各軸回転角度θ404とを用いて関係式406を計算することによって、推定手先力408を算出する。調整部318は、センサ値情報取得部314が学習情報から取得した力センサ値410と推定手先力408との誤差を算出する。調整部318は、時系列の手先力の変動を示す力センサ値410及び推定手先力408の誤差として、例えば、平均二乗誤差を用いる。 The axis-related information acquisition unit 316 acquires each axis disturbance torque τ 402 and each axis rotation angle θ 404 from one piece of learning information among a plurality of pieces of learning information. The adjustment unit 318 calculates an estimated hand force 408 by calculating a relational expression 406 using each shaft disturbance torque τ 402 and each shaft rotation angle θ 404 . The adjustment unit 318 calculates an error between the force sensor value 410 acquired from the learning information by the sensor value information acquisition unit 314 and the estimated hand force 408 . The adjustment unit 318 uses, for example, the mean squared error as the error between the force sensor value 410 and the estimated hand force 408, which indicate changes in the hand force over time.

 調整部318は、推定手先力408と力センサ値410との誤差を目的関数として、最適化手法420によって、関係式406の要素を最適化する。調整部318は、推定手先力408と力センサ値410との誤差をより小さくするように、各軸間の位置姿勢及び各軸の伝達効率をパラメータとして最適化してよい。 The adjustment unit 318 optimizes the elements of the relational expression 406 by the optimization method 420 using the error between the estimated hand force 408 and the force sensor value 410 as the objective function. The adjustment unit 318 may optimize the position and orientation between each axis and the transmission efficiency of each axis as parameters so as to reduce the error between the estimated hand force 408 and the force sensor value 410 .

 [ブラックボックス最適化]
 調整部318は、最適化手法としてブラックボックス最適化を用いてよい。調整部318は、推定手先力408と力センサ値410との誤差をより小さくするようにブラックボックス最適化を実行することによって、関係式280の要素を調整してよい。ブラックボックス最適化を用いることによって、最小化対象の目的関数の構成が特定できていないが、ある入力に対する出力が取得できるという、本例の条件に適した最適化を実行することができる。
[Black box optimization]
The adjuster 318 may use black-box optimization as the optimization technique. Adjuster 318 may adjust the elements of relationship 280 by performing black-box optimization to make the error between estimated hand force 408 and force sensor value 410 smaller. By using black-box optimization, it is possible to perform optimization suitable for the conditions of this example, that is, the configuration of the objective function to be minimized cannot be specified, but the output can be obtained for a given input.

 [ベイズ最適化]
 調整部318は、最適化手法としてベイズ最適化を用いてよい。すなわち、調整部318は、推定手先力408と力センサ値410との誤差をより小さくするようにベイズ最適化を実行することによって、関係式280の要素を調整してよい。本例において、最適化対象となる関係式280の要素は、各軸について、位置姿勢の6パラメータ及び伝達効率で7パラメータとなり、パラメータ数が多くなるので、例えば、ランダムに探索しても、最適解を見出すことが難しいところ、ベイズ最適化を用いることによって、効率的に最適解を見出すことが可能となる。なお、調整部318は、ランダムサーチ、グリッドサーチ、及び全探索等の他の手法を用いてもよい。
[Bayesian optimization]
The adjuster 318 may use Bayesian optimization as the optimization technique. That is, the adjuster 318 may adjust the elements of the relational expression 280 by performing Bayesian optimization to make the error between the estimated hand force 408 and the force sensor value 410 smaller. In this example, the elements of the relational expression 280 to be optimized are 6 parameters for the position and orientation and 7 parameters for the transmission efficiency for each axis. Where it is difficult to find a solution, it is possible to efficiently find an optimal solution by using Bayesian optimization. Note that the adjustment unit 318 may use other techniques such as random search, grid search, and exhaustive search.

 [探索範囲の限定]
 調整部318は、ブラックボックス最適化の探索範囲を、記憶部306に記憶されているロボット100の設定値に基づいて決定してもよい。例えば、調整部318は、探索範囲をロボット100の設定値を中心とした予め定められた範囲内に限ってブラックボックス最適化を実行する。これにより、探索範囲を適切に制限することができ、最適化の効率を向上させることができる。
[Limit search range]
The adjustment unit 318 may determine the search range for black box optimization based on the setting values of the robot 100 stored in the storage unit 306 . For example, the adjustment unit 318 performs black-box optimization by limiting the search range to a predetermined range centered on the set values of the robot 100 . As a result, the search range can be appropriately restricted, and optimization efficiency can be improved.

 調整部318に、予め定められた範囲を示す範囲情報が事前に登録されてよい。調整部318は、記憶部306に記憶されているロボット100の設定値と、事前に登録された範囲情報とを用いて探索範囲を限定してよい。 Range information indicating a predetermined range may be registered in the adjustment unit 318 in advance. The adjustment unit 318 may limit the search range using the setting values of the robot 100 stored in the storage unit 306 and range information registered in advance.

 範囲情報は、設定値に含まれるパラメータ毎に登録されてよい。例えば、各軸間距離に対して、距離の範囲を示す範囲情報が登録される。例えば、各軸間の位置関係に対して、位置関係の範囲を示す範囲情報が登録される。例えば、各軸間の姿勢関係に対して、姿勢関係の範囲を示す範囲情報が登録される。例えば、各軸の伝達効率に対して、伝達効率の範囲を範囲情報が登録される。 Range information may be registered for each parameter included in the setting value. For example, range information indicating the range of distance is registered for each inter-axle distance. For example, range information indicating the range of the positional relationship is registered for the positional relationship between the axes. For example, range information indicating the range of the posture relationship is registered for the posture relationship between the axes. For example, range information is registered for the transmission efficiency range for each axis.

 範囲情報は、例えば、実験によって決定される。例えば、各軸間距離の設計値と実測値との差分を収集したり、ロボット100使用前の各軸間距離と使用後の各軸間距離との差分を収集したりすることによって、±5mm等の、距離の範囲を決定することができる。範囲情報は、人の経験によって決定されてもよい。 Range information is determined, for example, by experiment. For example, by collecting the difference between the design value and the actual measurement value of each axis distance, or by collecting the difference between each axis distance before using the robot 100 and after using each axis distance, ±5 mm etc., a range of distances can be determined. Range information may be determined by human experience.

 図7は、6軸ロボット500の一例を概略的に示す。6軸ロボット500は、ロボット100の一例であってよい。6軸ロボット500は、S軸510、L軸520、U軸530、R軸540、B軸550、及びT軸560を備える。 FIG. 7 schematically shows an example of a 6-axis robot 500. Six-axis robot 500 may be an example of robot 100 . Six-axis robot 500 includes S-axis 510 , L-axis 520 , U-axis 530 , R-axis 540 , B-axis 550 and T-axis 560 .

 図8は、6軸ロボット500における関係式280について説明するための説明図である。ここでは、複数の軸の回転方向がZ軸となるように座標系を設定し、Z軸まわりのモーメントをMで表し、各軸について、伝達効率×減速比をηで表す。 FIG. 8 is an explanatory diagram for explaining the relational expression 280 in the 6-axis robot 500. As shown in FIG. Here, a coordinate system is set so that the rotation direction of a plurality of axes is the Z axis, the moment about the Z axis is expressed by MZ , and the transmission efficiency×reduction ratio for each axis is expressed by η.

 6軸ロボット500の手先に力Fが加わった場合に、T軸560に加わる力Fは、下記数式3で表され、T軸560の外乱トルクτは、下記数式4で表される。 When a force F is applied to the hand of the 6-axis robot 500, the force FT applied to the T-axis 560 is expressed by Equation 3 below, and the disturbance torque τ T of the T-axis 560 is expressed by Equation 4 below.

Figure JPOXMLDOC01-appb-M000003
Figure JPOXMLDOC01-appb-M000003

Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000004

 B軸550に加わる力Fは、下記数式5で表され、B軸550の外乱トルクτは、下記数式6で表される。 A force F B applied to the B-axis 550 is expressed by Equation 5 below, and a disturbance torque τ B of the B-axis 550 is expressed by Equation 6 below.

Figure JPOXMLDOC01-appb-M000005
Figure JPOXMLDOC01-appb-M000005

Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000006

 R軸540に加わる力Fは、下記数式7で表され、R軸540の外乱トルクτは、下記数式8で表される。 A force F R applied to the R-axis 540 is expressed by Equation 7 below, and a disturbance torque τ R of the R-axis 540 is expressed by Equation 8 below.

Figure JPOXMLDOC01-appb-M000007
Figure JPOXMLDOC01-appb-M000007

Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000008

 U軸530に加わる力Fは、下記数式9で表され、U軸530の外乱トルクτは、下記数式10で表される。 A force FU applied to the U-axis 530 is expressed by Equation 9 below, and a disturbance torque τU of the U-axis 530 is expressed by Equation 10 below.

Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000009

Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000010

 L軸520に加わる力Fは、下記数式11で表され、L軸520の外乱トルクτは、下記数式12で表される。 A force F L applied to the L-axis 520 is expressed by Equation 11 below, and a disturbance torque τ L of the L-axis 520 is expressed by Equation 12 below.

Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000011

Figure JPOXMLDOC01-appb-M000012
Figure JPOXMLDOC01-appb-M000012

 S軸510に加わる力Fは、下記数式13で表され、S軸510の外乱トルクτは、下記数式14で表される。 The force F S applied to the S-axis 510 is expressed by Equation 13 below, and the disturbance torque τ S of the S-axis 510 is expressed by Equation 14 below.

Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000013

Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000014

 以上より、6軸ロボット500の推定手先力を算出する関係式280は、下記数式15となる。 From the above, the relational expression 280 for calculating the estimated hand force of the 6-axis robot 500 is given by Equation 15 below.

Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000015

 6軸ロボット500の場合、最適化対象となる関係式280の要素は、各軸について、位置姿勢の6パラメータ及び伝達効率で7パラメータあり、合計で42パラメータとなる。全パラメータを対象として最適化した場合、計算負荷が高く、多くの時間を要する場合がある。 In the case of the 6-axis robot 500, the elements of the relational expression 280 to be optimized include 6 parameters for the position and orientation and 7 parameters for the transmission efficiency for each axis, for a total of 42 parameters. If all parameters are optimized, the computational load is high and it may take a long time.

 [軸毎の調整]
 調整部318は、複数の軸毎に、軸に関連する複数の要素を調整してもよい。6軸ロボット500の場合、調整部318は、6軸毎にパラメータを調整してよい。これにより、最適化対象となるパラメータを7パラメータに抑えることができ、計算負荷を低減することができる。
[Adjustment for each axis]
Adjuster 318 may adjust multiple elements associated with the axes for each of the multiple axes. In the case of the 6-axis robot 500, the adjuster 318 may adjust parameters for each of the 6 axes. As a result, the number of parameters to be optimized can be reduced to 7 parameters, and the computational load can be reduced.

 調整部318は、複数の軸のそれぞれについて、複数の軸が連結された順番で、軸に関連する複数の要素を調整してもよい。複数の軸は、連結された順番が近いほど相互に与える影響が大きくなる。よって、連結された順番で調整することによって、連結された順番とは関係なく調整する場合と比較して、より誤差が少なくなるように最適化することができ得る。 The adjustment unit 318 may adjust a plurality of elements related to each of the multiple axes in the order in which the multiple axes are connected. The closer the order in which the axes are connected, the greater the influence they have on each other. Therefore, by adjusting in the order in which they are connected, it is possible to optimize with less error than in the case of adjusting regardless of the order in which they are connected.

 例えば、調整部318は、複数の軸のそれぞれについて、根元側から手先側の順番で、軸に関連する複数の要素を調整する。6軸ロボット500の場合、調整部318は、S軸510、L軸520、U軸530、R軸540、B軸550、T軸560の順番で、それぞれ7パラメータを調整する。根元側の軸よりも手先側の軸の方が手先に与える影響が大きいので、調整処理に利用可能な時間が短い場合には、手先から根元への順番で最適化するよりも、根元から手先への順番で最適化する方が、より誤差が少なくなるように最適化することができる。 For example, the adjustment unit 318 adjusts a plurality of elements related to each of the shafts in order from the root side to the tip side. In the case of the 6-axis robot 500, the adjuster 318 adjusts 7 parameters for each of the S-axis 510, L-axis 520, U-axis 530, R-axis 540, B-axis 550, and T-axis 560 in that order. Since the tip-side axis has a greater effect on the tip than the base-side axis, if the time available for the adjustment process is short, it is better to optimize from the tip to the tip than to optimize in order from the tip to the tip. Optimizing in the order of to , can be optimized so as to reduce the error.

 例えば、調整部318は、複数の軸のそれぞれについて、手先側から根元側への順番で、軸に関連する複数の要素を調整する。6軸ロボット500の場合、調整部318は、T軸560、B軸550、R軸540、U軸530、L軸520、S軸510の順番で、それぞれ7パラメータを調整する。調整処理に利用可能な時間が長い場合には、手先に与える影響が大きい手先側の軸から十分に最適化していくことができ、結果として、より誤差が少なくなるように最適化することができる。 For example, the adjustment unit 318 adjusts a plurality of elements related to each of the shafts in order from the tip side to the base side. In the case of the 6-axis robot 500, the adjustment unit 318 adjusts seven parameters in the order of the T-axis 560, B-axis 550, R-axis 540, U-axis 530, L-axis 520, and S-axis 510, respectively. If the time available for adjustment processing is long, it is possible to fully optimize from the axis on the hand side, which has a greater impact on the hand, and as a result, it is possible to optimize with less error. .

 調整部318は、調整処理に利用可能な時間に応じて、手先側から根元側への順番で調整するか、根元側から手先側への順番で調整するかを選択してもよい。例えば調整部318は、調整処理に利用可能な時間が予め定められた時間閾値以上である場合、手先側から根元側への順番で調整し、閾値以上でない場合、根元側から手先側への順番で調整する。これにより、調整処理に利用可能な時間に応じて、より誤差が少なくなる最適化順を選択することができる。 The adjustment unit 318 may select whether to adjust from the tip side to the root side or from the root side to the tip side according to the time available for adjustment processing. For example, if the time available for adjustment processing is equal to or greater than a predetermined time threshold, the adjustment unit 318 adjusts in order from the fingertip side to the base side, and if not longer than the threshold, adjusts in order from the base side to the fingertip side. to adjust. This allows the selection of an optimization order with fewer errors depending on the time available for the adjustment process.

 図9は、ロボット調整装置300による調整処理の流れの一例を概略的に示す。ここでは、学習準備部308による学習準備が完了しており、記憶部306に複数の学習情報が記憶されている状態を開始状態として説明する。 FIG. 9 schematically shows an example of the flow of adjustment processing by the robot adjustment device 300. FIG. Here, a state in which learning preparation by the learning preparation unit 308 is completed and a plurality of pieces of learning information are stored in the storage unit 306 will be described as a start state.

 ステップ(ステップをSと省略して記載する場合がある。)102では、学習処理部310が、記憶部306から、複数の学習情報のうちの1つを取得する。 In step (the step may be abbreviated as S) 102 , the learning processing unit 310 acquires one of a plurality of pieces of learning information from the storage unit 306 .

 S104では、センサ値情報取得部314、軸関連情報取得部316、及び調整部318が、最適化手法により、関係式280における全軸の要素を対象に調整を実行する。具体的には、調整部318が、軸関連情報取得部316が取得した各軸の回転角度及び外乱トルクと、関係式280とによって推定手先力を算出し、センサ値情報取得部314が取得したセンサ値情報に含まれる力センサ値と、推定手先力との誤差を最小にすべく、関係式280の全軸の要素を対象に調整する。 In S104, the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 perform adjustment for all axis elements in the relational expression 280 by an optimization technique. Specifically, the adjustment unit 318 calculates the estimated hand force based on the rotation angle and disturbance torque of each axis acquired by the axis-related information acquisition unit 316 and the relational expression 280, and the sensor value information acquisition unit 314 acquires In order to minimize the error between the force sensor value included in the sensor value information and the estimated hand force, the elements of all axes of the relational expression 280 are adjusted.

 複数の学習情報の全てについて調整が終了していない場合(S106でNO)、S102に戻り、学習処理部310が、複数の学習情報のうちの次の学習情報を取得する。複数の学習情報の全てについて調整が終了した場合(S106でYES)、処理を終了する。 If adjustment has not been completed for all of the plurality of learning information (NO in S106), the process returns to S102, and the learning processing unit 310 acquires the next learning information among the plurality of learning information. If the adjustment has been completed for all of the pieces of learning information (YES in S106), the process ends.

 図10は、ロボット調整装置300による調整処理の流れの一例を概略的に示す。図9では、関係式280における全軸の要素を対象に調整する場合について説明したが、ここでは、複数の軸毎に、軸に関連する複数の要素を調整する場合について説明する。なお、図9とは異なる点を主に説明する。 FIG. 10 schematically shows an example of the flow of adjustment processing by the robot adjustment device 300. FIG. In FIG. 9, the case of adjusting the elements of all the axes in the relational expression 280 has been described, but here, the case of adjusting a plurality of elements related to each of the plurality of axes will be described. Note that differences from FIG. 9 will be mainly described.

 S202では、学習処理部310が、複数の軸のうちの注目軸を決定する。学習処理部310は、例えば、複数の軸のうち、最も根元側の軸を注目軸として決定する。S204では、学習処理部310が、記憶部306から、複数の学習情報のうちの1つを取得する。 In S202, the learning processing unit 310 determines an axis of interest among the multiple axes. The learning processing unit 310 determines, for example, the axis closest to the base as the axis of interest among the plurality of axes. In S<b>204 , learning processing unit 310 acquires one of the plurality of pieces of learning information from storage unit 306 .

 S206では、センサ値情報取得部314、軸関連情報取得部316、及び調整部318が、最適化手法により、関係式280における注目軸の要素を対象に調整を実行する。注目軸に対して、複数の学習情報の全てについて調整が終了していない場合(S208でNO)、S204に戻って、学習処理部310が、複数の学習情報のうちの次の学習情報を取得する。複数の学習情報の全てについて調整が終了した場合(S208でYES)、S210に進む。 In S206, the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 adjust the elements of the axis of interest in the relational expression 280 by an optimization method. If all of the pieces of learning information have not been adjusted for the axis of interest (NO in S208), returning to S204, the learning processing unit 310 acquires the next piece of learning information among the pieces of learning information. do. If adjustment has been completed for all pieces of learning information (YES in S208), the process proceeds to S210.

 S210では、学習処理部310が、全軸について調整が終了したか否かを判定する。終了してないと判定した場合、S202に戻り、学習処理部310が、複数の軸のうちの次の注目軸を決定する。終了したと判定した場合、処理を終了する。 In S210, the learning processing unit 310 determines whether or not adjustment has been completed for all axes. If it is determined that the process has not ended, the process returns to S202, and the learning processing unit 310 determines the next axis of interest among the multiple axes. If it is determined that the process has ended, the process ends.

 図11は、ロボット調整装置300によるロボット100の製造方法の流れの一例を概略的に示す。ここでは、ロボット調整装置300が、組立及び初期設定が完了したロボット100及び制御装置200を受け付けた状態を開始状態とし、制御装置200の関係式280を調整することによって、ロボット100及び制御装置200を完成させる処理の流れを説明する。 FIG. 11 schematically shows an example of the flow of the method for manufacturing the robot 100 by the robot adjusting device 300. FIG. Here, the state in which the robot adjustment device 300 receives the robot 100 and the control device 200 that have been assembled and initialized is the starting state, and by adjusting the relational expression 280 of the control device 200, the robot 100 and the control device 200 will be described.

 S302では、通信部302と通信部204とが接続され、ロボット調整装置300と制御装置200とが通信接続を確立する。本例では、ロボット調整装置300は、制御装置200を介して、センサ180からセンサ値情報を取得する。 In S302, the communication unit 302 and the communication unit 204 are connected, and the robot adjustment device 300 and the control device 200 establish a communication connection. In this example, the robot adjustment device 300 acquires sensor value information from the sensor 180 via the control device 200 .

 S304では、学習準備部308が、制御装置200にロボット100を動作させて、各種情報を収集する。学習準備部308は、無外乱トルクを収集してよい。学習準備部308は、ロボット100が学習のための動作をしたときの、フィードバック情報及びセンサ値情報を収集する。 In S304, the learning preparation unit 308 causes the control device 200 to operate the robot 100 and collect various information. The learning preparation unit 308 may collect undisturbed torques. The learning preparation unit 308 collects feedback information and sensor value information when the robot 100 performs an action for learning.

 S306では、学習情報生成部312が、S304において収集された情報を用いて、学習情報を生成する。S308では、調整部318が、制御装置200から、制御装置200に設定されている、ロボット100の複数の軸の位置及び姿勢と、複数の軸の伝達効率の設定値を取得する。 At S306, the learning information generation unit 312 generates learning information using the information collected at S304. In S<b>308 , the adjustment unit 318 acquires from the control device 200 the set values of the positions and orientations of the axes of the robot 100 and the transmission efficiencies of the axes, which are set in the control device 200 .

 S310では、センサ値情報取得部314、軸関連情報取得部316、及び調整部318が、最適化手法により、関係式280の要素を調整する。S312では、調整部318が、S310において要素を調整した関係式280を、制御装置200に設定する。 In S310, the sensor value information acquisition unit 314, the axis-related information acquisition unit 316, and the adjustment unit 318 adjust the elements of the relational expression 280 using an optimization technique. In S<b>312 , the adjustment unit 318 sets the relational expression 280 with the elements adjusted in S<b>310 in the control device 200 .

 製造処理を終了しない場合(S314でNO)、S302に戻り、次のロボット100及び制御装置200と、ロボット調整装置300とが接続される。 If the manufacturing process is not to end (NO in S314), the process returns to S302, and the next robot 100 and control device 200 are connected to the robot adjusting device 300.

 [力推定に用いる他の関係式の調整]
 上記実施形態では、ロボット100の手先力を測定するセンサ180によるセンサ値情報を用いて、各軸外乱トルク及び各軸回転角度から推定手先力を算出する関係式のヤコビ行列の要素を調整する例を主に説明したが、これに限らない。
[Adjustment of other relational expressions used for force estimation]
In the above embodiment, the sensor value information from the sensor 180 that measures the hand force of the robot 100 is used to adjust the elements of the Jacobian matrix of the relational expression for calculating the estimated hand force from each axis disturbance torque and each axis rotation angle. was mainly described, but the present invention is not limited to this.

 ロボット調整装置300は、ロボット100が動作したときの、ロボット100の複数の軸に対するセンサ値情報を用いて、複数の軸のトルクと手先力との関係を示す関係式280の要素を調整してもよい。この場合、ロボット100の複数の軸のそれぞれのトルクを測定するセンサ180が用いられてよい。センサ値情報取得部314は、ロボット100が動作したときの、ロボット100の複数の軸に対するセンサ値情報を取得してよい。 The robot adjustment device 300 adjusts the elements of the relational expression 280 indicating the relationship between the torques of the multiple axes and the hand force using the sensor value information for the multiple axes of the robot 100 when the robot 100 operates. good too. In this case, sensors 180 that measure the torque of each of the axes of robot 100 may be used. The sensor value information acquisition unit 314 may acquire sensor value information for a plurality of axes of the robot 100 when the robot 100 operates.

 [力推定以外の推定に用いる関係式の調整]
 上記実施形態では、ロボット調整装置300が、力推定に用いる関係式280の要素を調整する例を主に説明したが、これに限らない。ロボット調整装置300は、他の推定に用いる関係式280の要素を調整してもよい。
[Adjustment of relational expressions used for estimation other than force estimation]
In the above embodiment, an example in which the robot adjustment device 300 adjusts the elements of the relational expression 280 used for force estimation has been mainly described, but the present invention is not limited to this. The robot adjustment device 300 may adjust elements of the relational expression 280 used for other estimations.

 例えば、ロボット調整装置300は、ロボット100の速度推定に用いる、ヤコビ行列及び伝達効率を含む関係式の要素を調整する。この場合、例えば、センサ180として、ロボット100の手先の速度を測定する速度センサが用いられてよい。また、例えば、ロボット100の複数の軸の角速度を測定する角速度センサが用いられてよい。 For example, the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the speed of the robot 100 . In this case, for example, a speed sensor that measures the speed of the hand of the robot 100 may be used as the sensor 180 . Also, for example, an angular velocity sensor that measures angular velocities of a plurality of axes of the robot 100 may be used.

 例えば、ロボット調整装置300は、ロボット100の加速度推定に用いる、ヤコビ行列及び伝達効率を含む関係式の要素を調整する。この場合、例えば、センサ180として、ロボット100の手先の加速度を測定する加速度センサが用いられてよい。また、例えば、ロボット100の複数の軸の角加速度を測定する角加速度センサが用いられてよい。 For example, the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the acceleration of the robot 100 . In this case, for example, an acceleration sensor that measures the acceleration of the hand of the robot 100 may be used as the sensor 180 . Also, for example, an angular acceleration sensor that measures angular accelerations of a plurality of axes of the robot 100 may be used.

 例えば、ロボット調整装置300は、ロボット100の手先位置推定に用いる、ヤコビ行列及び伝達効率を含む関係式の要素を調整する。この場合、例えば、センサ180として、ロボット100の手先の位置を測定するセンサが用いられてよい。また、例えば、ロボット100の複数の軸の回転角度を測定するセンサが用いられてよい。 For example, the robot adjustment device 300 adjusts the elements of the relational expressions including the Jacobian matrix and the transmission efficiency used for estimating the hand position of the robot 100 . In this case, for example, a sensor that measures the position of the hand of the robot 100 may be used as the sensor 180 . Also, for example, a sensor that measures rotation angles of multiple axes of the robot 100 may be used.

 図12は、ロボット調整装置300として機能するコンピュータ1200のハードウェア構成の一例を概略的に示す。コンピュータ1200にインストールされたプログラムは、コンピュータ1200を、本実施形態に係る装置の1又は複数の「部」として機能させ、又はコンピュータ1200に、本実施形態に係る装置に関連付けられるオペレーション又は当該1又は複数の「部」を実行させることができ、及び/又はコンピュータ1200に、本実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ1200に、本明細書に記載のフローチャート及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU1212によって実行されてよい。 FIG. 12 schematically shows an example of the hardware configuration of a computer 1200 functioning as the robot adjusting device 300. FIG. Programs installed on the computer 1200 cause the computer 1200 to function as one or more "parts" of the apparatus of the present embodiments, or cause the computer 1200 to operate or perform operations associated with the apparatus of the present invention. Multiple "units" can be executed and/or the computer 1200 can be caused to execute the process or steps of the process according to the present invention. Such programs may be executed by CPU 1212 to cause computer 1200 to perform certain operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.

 本実施形態によるコンピュータ1200は、CPU1212、RAM1214、及びグラフィックコントローラ1216を含み、それらはホストコントローラ1210によって相互に接続されている。コンピュータ1200はまた、通信インタフェース1222、記憶装置1224、DVDドライブ、及びICカードドライブのような入出力ユニットを含み、それらは入出力コントローラ1220を介してホストコントローラ1210に接続されている。DVDドライブは、DVD-ROMドライブ及びDVD-RAMドライブ等であってよい。記憶装置1224は、ハードディスクドライブ及びソリッドステートドライブ等であってよい。コンピュータ1200はまた、ROM1230及びキーボードのようなレガシの入出力ユニットを含み、それらは入出力チップ1240を介して入出力コントローラ1220に接続されている。 A computer 1200 according to this embodiment includes a CPU 1212 , a RAM 1214 and a graphics controller 1216 , which are interconnected by a host controller 1210 . Computer 1200 also includes input/output units such as communication interface 1222 , storage device 1224 , DVD drive, and IC card drive, which are connected to host controller 1210 via input/output controller 1220 . The DVD drive may be a DVD-ROM drive, a DVD-RAM drive, and the like. Storage devices 1224 may be hard disk drives, solid state drives, and the like. Computer 1200 also includes legacy input/output units, such as ROM 1230 and keyboard, which are connected to input/output controller 1220 via input/output chip 1240 .

 CPU1212は、ROM1230及びRAM1214内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ1216は、RAM1214内に提供されるフレームバッファ等又はそれ自体の中に、CPU1212によって生成されるイメージデータを取得し、イメージデータがディスプレイデバイス1218上に表示されるようにする。 The CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. Graphics controller 1216 retrieves image data generated by CPU 1212 into a frame buffer or the like provided in RAM 1214 or itself, and causes the image data to be displayed on display device 1218 .

 通信インタフェース1222は、ネットワークを介して他の電子デバイスと通信する。記憶装置1224は、コンピュータ1200内のCPU1212によって使用されるプログラム及びデータを格納する。DVDドライブは、プログラム又はデータをDVD-ROM等から読み取り、記憶装置1224に提供する。ICカードドライブは、プログラム及びデータをICカードから読み取り、及び/又はプログラム及びデータをICカードに書き込む。 A communication interface 1222 communicates with other electronic devices via a network. Storage device 1224 stores programs and data used by CPU 1212 within computer 1200 . The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224 . The IC card drive reads programs and data from IC cards and/or writes programs and data to IC cards.

 ROM1230はその中に、アクティブ化時にコンピュータ1200によって実行されるブートプログラム等、及び/又はコンピュータ1200のハードウェアに依存するプログラムを格納する。入出力チップ1240はまた、様々な入出力ユニットをUSBポート、パラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入出力コントローラ1220に接続してよい。 ROM 1230 stores therein programs such as boot programs that are executed by computer 1200 upon activation and/or programs that depend on the hardware of computer 1200 . Input/output chip 1240 may also connect various input/output units to input/output controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, and the like.

 プログラムは、DVD-ROM又はICカードのようなコンピュータ可読記憶媒体によって提供される。プログラムは、コンピュータ可読記憶媒体から読み取られ、コンピュータ可読記憶媒体の例でもある記憶装置1224、RAM1214、又はROM1230にインストールされ、CPU1212によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ1200に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ1200の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。 The program is provided by a computer-readable storage medium such as a DVD-ROM or an IC card. The program is read from a computer-readable storage medium, installed in storage device 1224 , RAM 1214 , or ROM 1230 , which are also examples of computer-readable storage media, and executed by CPU 1212 . The information processing described within these programs is read by computer 1200 to provide coordination between the programs and the various types of hardware resources described above. An apparatus or method may be configured by implementing information operations or processing according to the use of computer 1200 .

 例えば、通信がコンピュータ1200及び外部デバイス間で実行される場合、CPU1212は、RAM1214にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース1222に対し、通信処理を命令してよい。通信インタフェース1222は、CPU1212の制御の下、RAM1214、記憶装置1224、DVD-ROM、又はICカードのような記録媒体内に提供される送信バッファ領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、又はネットワークから受信した受信データを記録媒体上に提供される受信バッファ領域等に書き込む。 For example, when communication is performed between the computer 1200 and an external device, the CPU 1212 executes a communication program loaded into the RAM 1214 and sends communication processing to the communication interface 1222 based on the processing described in the communication program. you can command. The communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as a RAM 1214, a storage device 1224, a DVD-ROM, or an IC card under the control of the CPU 1212, and transmits the read transmission data. Data is transmitted to the network, or received data received from the network is written in a receive buffer area or the like provided on the recording medium.

 また、CPU1212は、記憶装置1224、DVDドライブ(DVD-ROM)、ICカード等のような外部記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM1214に読み取られるようにし、RAM1214上のデータに対し様々なタイプの処理を実行してよい。CPU1212は次に、処理されたデータを外部記録媒体にライトバックしてよい。 In addition, the CPU 1212 causes the RAM 1214 to read all or necessary portions of files or databases stored in an external recording medium such as a storage device 1224, a DVD drive (DVD-ROM), an IC card, etc. Various types of processing may be performed on the data. CPU 1212 may then write back the processed data to an external recording medium.

 様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。CPU1212は、RAM1214から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプのオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々なタイプの処理を実行してよく、結果をRAM1214に対しライトバックする。また、CPU1212は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU1212は、当該複数のエントリの中から、第1の属性の属性値が指定されている条件に一致するエントリを検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。 Various types of information such as various types of programs, data, tables, and databases may be stored in recording media and subjected to information processing. CPU 1212 performs various types of operations on data read from RAM 1214, information processing, conditional decisions, conditional branching, unconditional branching, and information retrieval, which are described throughout this disclosure and are specified by instruction sequences of programs. Various types of processing may be performed, including /replace, etc., and the results written back to RAM 1214 . In addition, the CPU 1212 may search for information in a file in a recording medium, a database, or the like. For example, when a plurality of entries each having an attribute value of a first attribute associated with an attribute value of a second attribute are stored in the recording medium, the CPU 1212 selects the first attribute from among the plurality of entries. search for an entry that matches the specified condition of the attribute value of the attribute, read the attribute value of the second attribute stored in the entry, and thereby determine the first attribute that satisfies the predetermined condition An attribute value of the associated second attribute may be obtained.

 上で説明したプログラム又はソフトウエアモジュールは、コンピュータ1200上又はコンピュータ1200近傍のコンピュータ可読記憶媒体に格納されてよい。また、専用通信ネットワーク又はインターネットに接続されたサーバシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ1200に提供する。 The programs or software modules described above may be stored in a computer-readable storage medium on or near computer 1200 . Also, a recording medium such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, whereby the program can be transferred to the computer 1200 via the network. provide.

 本実施形態におけるフローチャート及びブロック図におけるブロックは、オペレーションが実行されるプロセスの段階又はオペレーションを実行する役割を持つ装置の「部」を表わしてよい。特定の段階及び「部」が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウェア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、例えば、フィールドプログラマブルゲートアレイ(FPGA)、及びプログラマブルロジックアレイ(PLA)等のような、論理積、論理和、排他的論理和、否定論理積、否定論理和、及び他の論理演算、フリップフロップ、レジスタ、並びにメモリエレメントを含む、再構成可能なハードウェア回路を含んでよい。 The blocks in the flowcharts and block diagrams in this embodiment may represent steps in the process in which the operations are performed or "parts" of the device responsible for performing the operations. Certain steps and "sections" may be provided with dedicated circuitry, programmable circuitry provided with computer readable instructions stored on a computer readable storage medium, and/or computer readable instructions provided with computer readable instructions stored on a computer readable storage medium. It may be implemented by a processor. Dedicated circuitry may include digital and/or analog hardware circuitry, and may include integrated circuits (ICs) and/or discrete circuitry. Programmable circuits, such as Field Programmable Gate Arrays (FPGAs), Programmable Logic Arrays (PLAs), etc., perform AND, OR, EXCLUSIVE OR, NOT AND, NOT OR, and other logical operations. , flip-flops, registers, and memory elements.

 コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。 A computer-readable storage medium may comprise any tangible device capable of storing instructions to be executed by a suitable device, such that a computer-readable storage medium having instructions stored thereon may be illustrated in flowchart or block diagram form. It will comprise an article of manufacture containing instructions that can be executed to create means for performing specified operations. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, and the like. More specific examples of computer readable storage media include floppy disks, diskettes, hard disks, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory) , electrically erasable programmable read only memory (EEPROM), static random access memory (SRAM), compact disc read only memory (CD-ROM), digital versatile disc (DVD), Blu-ray disc, memory stick , integrated circuit cards, and the like.

 コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。 The computer readable instructions may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state configuration data, or instructions such as Smalltalk, JAVA, C++, etc. any source or object code written in any combination of one or more programming languages, including object-oriented programming languages, and conventional procedural programming languages such as the "C" programming language or similar programming languages; may include

 コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路が、フローチャート又はブロック図で指定されたオペレーションを実行するための手段を生成するために当該コンピュータ可読命令を実行すべく、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ、又はプログラマブル回路に提供されてよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。 Computer readable instructions are used to produce means for a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, or programmable circuits to perform the operations specified in the flowchart or block diagrams. A general purpose computer, special purpose computer, or other programmable data processor, locally or over a wide area network (WAN) such as the Internet, etc., to execute such computer readable instructions. It may be provided in the processor of the device or in a programmable circuit. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.

 以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。その様な変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、請求の範囲の記載から明らかである。 Although the present invention has been described above using the embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It is obvious to those skilled in the art that various modifications or improvements can be made to the above embodiments. It is clear from the description of the scope of the claims that forms with such modifications or improvements can also be included in the technical scope of the present invention.

 請求の範囲、明細書、及び図面中において示した装置、システム、プログラム、及び方法における動作、手順、ステップ、及び段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。請求の範囲、明細書、及び図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。 The execution order of each process such as actions, procedures, steps, and stages in devices, systems, programs, and methods shown in claims, specifications, and drawings is etc., and it should be noted that they can be implemented in any order unless the output of a previous process is used in a later process. Regarding the operation flow in the claims, specification, and drawings, even if explanations are made using "first," "next," etc. for the sake of convenience, it means that it is essential to carry out in this order. isn't it.

10 ロボットシステム、20 ワーク、100 ロボット、180 センサ、200 制御装置、202 通信部、204 通信部、206 記憶部、208 指令生成部、280 関係式、300 ロボット調整装置、302 通信部、304 通信部、306 記憶部、308 学習準備部、310 学習処理部、312 学習情報生成部、314 センサ値情報取得部、316 軸関連情報取得部、318 調整部、402 各軸外乱トルクτ、404 各軸回転角度θ、406 関係式、408 推定手先力、410 力センサ値、420 最適化手法、500 6軸ロボット、510 S軸、520 L軸、530 U軸、540 R軸、550 B軸、560 T軸、1200 コンピュータ、1210 ホストコントローラ、1212 CPU、1214 RAM、1216 グラフィックコントローラ、1218 ディスプレイデバイス、1220 入出力コントローラ、1222 通信インタフェース、1224 記憶装置、1230 ROM、1240 入出力チップ 10 Robot system, 20 Work, 100 Robot, 180 Sensor, 200 Control device, 202 Communication unit, 204 Communication unit, 206 Storage unit, 208 Command generation unit, 280 Relational expression, 300 Robot adjustment device, 302 Communication unit, 304 Communication unit , 306 storage unit, 308 learning preparation unit, 310 learning processing unit, 312 learning information generation unit, 314 sensor value information acquisition unit, 316 axis related information acquisition unit, 318 adjustment unit, 402 each axis disturbance torque τ, 404 each axis rotation Angle θ, 406 relational expression, 408 estimated hand force, 410 force sensor value, 420 optimization method, 500 6-axis robot, 510 S-axis, 520 L-axis, 530 U-axis, 540 R-axis, 550 B-axis, 560 T-axis , 1200 computer, 1210 host controller, 1212 CPU, 1214 RAM, 1216 graphic controller, 1218 display device, 1220 input/output controller, 1222 communication interface, 1224 storage device, 1230 ROM, 1240 input/output chip

Claims (18)

 複数の軸を備える多関節型のロボットと、
 前記ロボットを制御するコントローラと、
を備え、
 前記コントローラは、
  前記複数の軸と前記ロボットの手先との関係を示し、最適化手法により前記ロボットの個体に対して調整された要素を有する関係式を記憶する記憶部と、
  前記記憶部に記憶された前記関係式に基づいて、前記ロボットの動作指令を生成する指令生成部と、
 を有する、
ロボットシステム。
an articulated robot with multiple axes;
a controller that controls the robot;
with
The controller is
a storage unit that stores a relational expression showing the relationship between the plurality of axes and the hand of the robot and having elements adjusted for the individual robot by an optimization method;
a command generation unit that generates an operation command for the robot based on the relational expression stored in the storage unit;
having
robot system.
 前記記憶部は、前記ロボットの個体に対して調整された前記要素によって構成されるヤコビ行列を含む前記関係式を記憶する、請求項1に記載のロボットシステム。 The robot system according to claim 1, wherein said storage unit stores said relational expression including a Jacobian matrix formed by said elements adjusted for said robot individual.  前記記憶部は、前記ロボットの個体に対して調整された前記複数の軸の伝達効率を含む前記関係式を記憶する、請求項1又は2に記載のロボットシステム。 The robot system according to claim 1 or 2, wherein the storage unit stores the relational expression including the transmission efficiency of the plurality of axes adjusted for the individual robot.  前記指令生成部は、力センサを用いずに、前記ロボットが動作したときの前記複数の軸の外乱トルク及び前記複数の軸の回転角度と前記関係式とに基づいて推定した、前記ロボットの推定手先力を用いて、前記ロボットの動作指令を生成する、請求項1から3のいずれか一項に記載のロボットシステム。 The command generation unit estimates the robot based on the disturbance torques of the plurality of axes and the rotation angles of the plurality of axes and the relational expression when the robot operates without using a force sensor. The robot system according to any one of claims 1 to 3, wherein a finger force is used to generate an operation command for the robot.  前記コントローラは、
 前記ロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報を取得するセンサ値情報取得部と、
 前記ロボットが動作したときの前記複数の軸に関連する軸関連情報を取得する軸関連情報取得部と、
 前記軸関連情報及び前記関係式によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の前記要素を調整する調整部と、
 を更に有し、
 前記記憶部は、前記調整部によって前記要素が調整された前記関係式を記憶する、請求項1から4のいずれか一項に記載のロボットシステム。
The controller is
a sensor value information acquisition unit that acquires sensor value information for the hand of the robot or the plurality of axes when the robot operates;
an axis-related information acquiring unit that acquires axis-related information related to the plurality of axes when the robot operates;
an adjustment unit that adjusts the elements of the relational expression based on an error between the axis-related information and information calculated by the relational expression and the sensor value information;
further having
The robot system according to any one of claims 1 to 4, wherein the storage unit stores the relational expression in which the elements are adjusted by the adjustment unit.
 前記関係式は、ヤコビ行列を含み、
 前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記ヤコビ行列を構成する前記要素を調整する、請求項5に記載のロボットシステム。
The relational expression includes a Jacobian matrix,
6. The robot system according to claim 5, wherein said adjustment unit adjusts said elements constituting said Jacobian matrix based on an error between said calculated information and said sensor value information.
 前記関係式は、前記複数の軸の伝達効率を含み、
 前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記複数の軸の前記伝達効率を調整する、請求項5又は6に記載のロボットシステム。
the relational expression includes transmission efficiencies of the plurality of shafts;
7. The robot system according to claim 5, wherein said adjustment unit adjusts said transmission efficiency of said plurality of axes based on an error between said calculated information and said sensor value information.
 前記センサ値情報は、前記ロボットの手先力を測定する力センサによって測定されたセンサ値を含み、
 前記軸関連情報は、前記ロボットが動作したときの前記複数の軸の回転角度及び前記複数の軸の外乱トルクを含み、
 前記算出情報は、前記複数の軸の回転角度、前記複数の軸の外乱トルク、及び前記関係式によって算出された前記ロボットの推定手先力を含み、
 前記指令生成部は、力センサを用いずに、前記算出情報に含まれる前記推定手先力を用いて、前記ロボットの動作指令を生成する、
請求項5から7のいずれか一項に記載のロボットシステム。
The sensor value information includes a sensor value measured by a force sensor that measures hand force of the robot,
the axis-related information includes rotation angles of the plurality of axes and disturbance torques of the plurality of axes when the robot operates;
The calculated information includes rotation angles of the plurality of axes, disturbance torques of the plurality of axes, and an estimated hand force of the robot calculated by the relational expression,
The command generation unit generates an operation command for the robot using the estimated hand force included in the calculated information without using a force sensor.
A robot system according to any one of claims 5 to 7.
 前記調整部は、前記算出情報と前記センサ値情報との誤差をより小さくするようにブラックボックス最適化を実行することによって、前記関係式の要素を調整する、請求項5から8いずれか一項に記載のロボットシステム。 9. Any one of claims 5 to 8, wherein the adjustment unit adjusts the elements of the relational expression by performing black-box optimization so as to reduce the error between the calculated information and the sensor value information. The robotic system described in .  前記調整部は、前記算出情報と前記センサ値情報との誤差をより小さくするようにベイズ最適化を実行することによって、前記関係式の要素を調整する、請求項9に記載のロボットシステム。 The robot system according to claim 9, wherein the adjusting unit adjusts the elements of the relational expression by performing Bayesian optimization so as to reduce the error between the calculated information and the sensor value information.  前記調整部は、探索範囲を前記ロボットの設定値を中心とした予め定められた範囲内に限って前記ブラックボックス最適化を実行する、請求項9又は10に記載のロボットシステム。 The robot system according to claim 9 or 10, wherein the adjustment unit performs the black-box optimization by limiting the search range to a predetermined range centered on the set value of the robot.  前記関係式は、前記複数の軸のそれぞれについて、軸に関連する複数の要素を含み、
 前記調整部は、前記複数の軸毎に、軸に関連する前記複数の要素を調整する、請求項5から11のいずれか一項に記載のロボットシステム。
the relational expression includes, for each of the plurality of axes, a plurality of elements related to the axes;
The robot system according to any one of claims 5 to 11, wherein the adjuster adjusts the plurality of elements related to each of the plurality of axes.
 前記調整部は、前記複数の軸のそれぞれについて、前記複数の軸が連結された順番で、軸に関連する前記複数の要素を調整する、請求項12に記載のロボットシステム。 The robot system according to claim 12, wherein the adjustment unit adjusts the plurality of elements related to each of the plurality of axes in the order in which the plurality of axes are connected.  前記調整部は、前記複数の軸のそれぞれについて、根元側から手先側の順番で、軸に関連する前記複数の要素を調整する、請求項13に記載のロボットシステム。 14. The robot system according to claim 13, wherein the adjusting unit adjusts the plurality of elements related to each of the plurality of axes in order from the base side to the tip side.  前記調整部は、前記算出情報と前記センサ値情報との誤差に基づいて、前記関係式の要素を変更する、請求項5から14のいずれか一項に記載のロボットシステム。 The robot system according to any one of claims 5 to 14, wherein the adjustment unit changes elements of the relational expression based on an error between the calculated information and the sensor value information.  複数の軸を備える多関節型のロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報を取得するセンサ値情報取得部と、
 前記ロボットが動作したときの前記複数の軸に関連する軸関連情報を取得する軸関連情報取得部と、
 前記複数の軸と前記ロボットの手先との関係を示す関係式及び前記軸関連情報によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の要素を最適化手法により調整する調整部と
 を備えるロボット調整装置。
a sensor value information acquisition unit that acquires sensor value information for a hand of the robot or the plurality of axes when an articulated robot having a plurality of axes operates;
an axis-related information acquiring unit that acquires axis-related information related to the plurality of axes when the robot operates;
The elements of the relational expression are adjusted by an optimization method based on the difference between the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the calculation information calculated by the axis-related information, and the sensor value information. A robot adjusting device comprising:
 コンピュータを、請求項16に記載のロボット調整装置として機能させるためのプログラム。 A program for causing a computer to function as the robot adjustment device according to claim 16.  コンピュータによって実行される、複数の軸を備える多関節型のロボットの製造方法であって、
 前記ロボットが動作したときの前記ロボットの手先又は前記複数の軸に対するセンサ値情報と、前記ロボットが動作したときの前記複数の軸に関連する軸関連情報とを取得する情報取得段階と、
 前記複数の軸と前記ロボットの手先との関係を示す関係式及び前記軸関連情報によって算出した算出情報と、前記センサ値情報との誤差に基づいて、前記関係式の要素を最適化手法により調整する調整段階と
 を備えるロボット製造方法。
A computer-implemented method for manufacturing an articulated robot with multiple axes, comprising:
an information acquisition step of acquiring sensor value information for the hands of the robot or the plurality of axes when the robot operates, and axis-related information relating to the plurality of axes when the robot operates;
The elements of the relational expression are adjusted by an optimization method based on the difference between the relational expression indicating the relationship between the plurality of axes and the hand of the robot, the calculation information calculated by the axis-related information, and the sensor value information. A robot manufacturing method comprising:
PCT/JP2022/006271 2022-02-16 2022-02-16 Robot system, robot adjustment device, program, and robot manufacturing method Ceased WO2023157151A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2024500793A JP7629574B2 (en) 2022-02-16 2022-02-16 ROBOT SYSTEM, ROBOT ADJUSTMENT DEVICE, PROGRAM, AND ROBOT MANUFACTURING METHOD
PCT/JP2022/006271 WO2023157151A1 (en) 2022-02-16 2022-02-16 Robot system, robot adjustment device, program, and robot manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/006271 WO2023157151A1 (en) 2022-02-16 2022-02-16 Robot system, robot adjustment device, program, and robot manufacturing method

Publications (1)

Publication Number Publication Date
WO2023157151A1 true WO2023157151A1 (en) 2023-08-24

Family

ID=87577801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/006271 Ceased WO2023157151A1 (en) 2022-02-16 2022-02-16 Robot system, robot adjustment device, program, and robot manufacturing method

Country Status (2)

Country Link
JP (1) JP7629574B2 (en)
WO (1) WO2023157151A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224662A (en) * 2010-04-15 2011-11-10 Yaskawa Electric Corp Correction parameter identification device of robot control device
JP2012020367A (en) * 2010-07-14 2012-02-02 Toyota Motor Corp Robot device
US20150148953A1 (en) * 2013-11-22 2015-05-28 Brain Corporation Discrepancy detection apparatus and methods for machine learning
WO2017026045A1 (en) * 2015-08-10 2017-02-16 富士通株式会社 Hand-force measurement device, hand-force measurement method, and hand-force measurement program
JP2019209404A (en) * 2018-05-31 2019-12-12 キヤノン株式会社 Robot arm, robot device, robot arm control method, article assembling method using robot arm, control program and recording medium
WO2020255312A1 (en) * 2019-06-19 2020-12-24 三菱電機株式会社 Operation adjustment device for robot, operation control system, and robot system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224662A (en) * 2010-04-15 2011-11-10 Yaskawa Electric Corp Correction parameter identification device of robot control device
JP2012020367A (en) * 2010-07-14 2012-02-02 Toyota Motor Corp Robot device
US20150148953A1 (en) * 2013-11-22 2015-05-28 Brain Corporation Discrepancy detection apparatus and methods for machine learning
WO2017026045A1 (en) * 2015-08-10 2017-02-16 富士通株式会社 Hand-force measurement device, hand-force measurement method, and hand-force measurement program
JP2019209404A (en) * 2018-05-31 2019-12-12 キヤノン株式会社 Robot arm, robot device, robot arm control method, article assembling method using robot arm, control program and recording medium
WO2020255312A1 (en) * 2019-06-19 2020-12-24 三菱電機株式会社 Operation adjustment device for robot, operation control system, and robot system

Also Published As

Publication number Publication date
JP7629574B2 (en) 2025-02-13
JPWO2023157151A1 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
CN110355751B (en) Control device and machine learning device
JP7326911B2 (en) Control system and control method
US9815202B2 (en) Control method for robot apparatus, computer readable recording medium, and robot apparatus
US10239206B2 (en) Robot controlling method, robot apparatus, program and recording medium
US8977395B2 (en) Robot control apparatus, robot control method, program, and recording medium
JP7000359B2 (en) Judgment device
CN111347421A (en) Method and apparatus for torque estimation
US6332101B1 (en) Off-line teaching method for correcting robot model by revising teaching data on basis of difference between actual and target position
CN114211502B (en) Robot load identification method and identification device
WO2016181959A1 (en) Robot behavior generation method
US20240351205A1 (en) Command value generating device, method, and program
JP2018030210A (en) Simulation device, control system, robot system, simulation method, program, and recording medium
CN118493373A (en) Adaptive control method and system of redundant manipulator based on neural dynamics
JP2020075329A (en) Simulation device, control system, robot system, simulation method, program and recording medium
JP2015085491A (en) Robot control apparatus, robot, and robot control method
JP6540810B2 (en) Hand force sense measurement device, hand force sense measurement method, and hand force sense measurement program
WO2023157151A1 (en) Robot system, robot adjustment device, program, and robot manufacturing method
JP2021142596A (en) Simulation device and program
JP2024072129A (en) Computer system and robot control method
CN118695926A (en) Robot control system, robot control method, robot control program, and estimation system
US12409562B2 (en) Method for controlling robot and system
JP7466801B1 (en) CONTROL DEVICE, MACHINE TOOL SYSTEM, AND MACHINING METHOD
CN119952695B (en) Assembling mechanics modeling method for flexible grabbing shaft assembling process
US20230001574A1 (en) Operation Parameter Adjusting Method And Operation Parameter Adjusting Device For Adjusting Operation Parameters Of Robot
JP2023154527A (en) Correction device, correction method and robot system

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2024500793

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22927053

Country of ref document: EP

Kind code of ref document: A1