WO2011036750A1 - ロボット制御装置 - Google Patents
ロボット制御装置 Download PDFInfo
- Publication number
- WO2011036750A1 WO2011036750A1 PCT/JP2009/066548 JP2009066548W WO2011036750A1 WO 2011036750 A1 WO2011036750 A1 WO 2011036750A1 JP 2009066548 W JP2009066548 W JP 2009066548W WO 2011036750 A1 WO2011036750 A1 WO 2011036750A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- force
- torque
- calculation unit
- unit
- calculates
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39325—External force control, additional loop comparing forces corrects position
Definitions
- the present invention relates to a robot control device that performs robot force control.
- force control in which the position and contact force in the work coordinate system are controlled while a tip such as a robot arm tip (hereinafter simply referred to as “tip”) is in contact with an object.
- tip a tip
- force control it is important to estimate the external force acting at the tip and flexibly correct the operation according to the external force.
- An integral compensator is added between the tip and the work object in order to quickly and surely follow the force and moment at the time of contact. Integral compensation is performed on the output from a compliance model such as a spring mass damper model (Patent Document 1).
- the tip may continue to operate because no contact force is generated. Conversely, an excessive contact force may be generated by contacting the work object before the tip reaches the target position.
- force control is less responsive than position control. In the force control, the follow-up speed to the target contact force is slower. In order to increase work efficiency, it is necessary to detect errors early and immediately shift to retry operation. It was difficult to improve the responsiveness only by monitoring the deviation from the target value.
- This invention is providing the robot control apparatus which can implement
- the robot control device of the present invention includes an actuator that drives a drive shaft that transmits a driving force to a joint shaft, a drive shaft angle detection unit that detects an angle of the drive shaft, and an angle of the joint shaft from the angle of the drive shaft.
- a joint axis angle calculation unit that calculates a tip position calculation unit that calculates a tip position of the robot from the angle of the joint axis, a position command value generation unit that generates a position command value of the tip position, and the tip position
- a position error calculation unit that calculates a position error that is an error from the position command value, and a Jacobian matrix calculation that calculates a Jacobian matrix between the work coordinate system and the joint coordinate system of the robot based on the angle of the joint axis
- a joint angle difference calculating unit that calculates a joint angle difference by inverse kinematics calculation from the position error and the Jacobian matrix, and a torque command that calculates a torque command value by integrating the joint angle difference
- a calculation unit that drives
- a first correction amount calculation unit for calculating a first correction amount for the position command value and a second correction amount for the position command value based on first-order lag compensation for the first correction amount.
- a second correction amount calculation unit wherein the position error calculation unit calculates the position error using the second correction amount.
- the robot control apparatus which concerns on embodiment of this invention. Schematic which shows the control object which concerns on embodiment of this invention.
- the other schematic which shows the control object which concerns on embodiment of this invention.
- the block diagram which shows the drive torque estimation part which concerns on embodiment of this invention.
- the block diagram which shows the force adaptation control correction amount calculation part which concerns on embodiment of this invention.
- the robot control method which concerns on embodiment of this invention.
- the drive torque estimation process which concerns on embodiment of this invention. Force adaptation control correction amount calculation processing according to an embodiment of the present invention. Schematic which shows the control object which concerns on other embodiment of this invention.
- a robot control apparatus includes a central processing unit (CPU) 1, an actuator 100, a drive unit (amplifier) 101, a drive shaft angle detection unit 102, and a position data storage unit. 200, a link parameter storage unit 201, a friction coefficient storage unit 202, a Jacobian matrix storage unit 203, a force / moment data storage unit 204, a compliance model storage unit 205, a force adaptation control threshold storage unit 206, and a position error storage unit 207.
- CPU central processing unit
- actuator 100 a drive unit (amplifier) 101
- drive shaft angle detection unit 102 includes a position data storage unit. 200, a link parameter storage unit 201, a friction coefficient storage unit 202, a Jacobian matrix storage unit 203, a force / moment data storage unit 204, a compliance model storage unit 205, a force adaptation control threshold storage unit 206, and a position error storage unit 207.
- FIG. 2 shows a robot as an example of a control target in the embodiment of the present invention.
- This robot includes a main body 300 and a movable portion 310 provided in the main body 300.
- the movable portion 310 includes a plurality of links 301 and 302, a plurality of joints 306 and 307 including a driving pulley 303 and a driven pulley 304, and a transmission mechanism 308 wound around the driving pulley 303 and the driven pulley 304.
- the drive pulley 303, the speed reducer 309, the actuator 100, and the drive shaft angle detection unit 102 are attached to the drive shaft (joint) 306.
- the actuator 100 is rotationally driven, and the speed reducer 309 decreases the rotational speed and increases the torque.
- a driven pulley 304 and a joint axis angle detection unit 305 are attached to a joint axis (joint) 307.
- the joint shaft 307 is rotationally driven via the drive pulley 303, the transmission mechanism 308, and the driven pulley 304.
- the drive shaft 306 and the joint shaft 307 are controlled will be described for the sake of simplicity.
- Each of the drive shaft angle detection unit 102 and the joint shaft angle detection unit 305 can use a position sensor such as an encoder.
- the position sensor may include a filter that removes a predetermined frequency component.
- the drive shaft angle detection unit 102 detects a displacement amount (drive shaft angle) of the position of the drive shaft 306.
- the joint axis angle detection unit 305 detects the displacement amount (joint axis angle) of the position of the joint axis 307. Further, the joint axis angle may be calculated from the reduction ratio of the speed reducer 309 or the transmission ratio of the transmission mechanism 308 from the drive shaft angle.
- the joint axis angle calculation unit 103 includes a joint axis angle calculation unit 103, a tip position calculation unit 104, a Jacobian matrix calculation unit 105, a drive torque estimation unit 106, an external torque calculation unit 107, an external force calculation unit 108, and a force command value generation unit 109.
- Force error calculation unit 110 compliance correction amount calculation unit (first correction amount calculation unit) 111, force adaptation control correction amount calculation unit (second correction amount calculation unit) 112, position command value generation unit 113, position error
- the calculation unit 114, the joint angle difference calculation unit 115, the torque command value calculation unit 116, and the position error integration calculation unit 117 are logically provided as modules (logic circuits) that are hardware resources.
- the joint axis angle calculation unit 103 determines the joint axis according to the ratio of the drive shaft 306 and the joint axis 307 of the transmission mechanism 308, such as the reduction ratio of the speed reducer 309, from the drive axis angle calculated by the drive axis angle detection unit 102. Calculate the angle. Note that the joint axis angle may be directly calculated by the joint axis angle detection unit 305 (see FIG. 2) attached to the joint axis 307.
- the tip position calculation unit 104 reads the link parameter from the link parameter storage unit 201.
- the tip position calculation unit 104 calculates the tip position in the work coordinate system of the robot by forward kinematics calculation using the link parameter from the joint axis angle calculated by the joint axis angle calculation unit 103.
- the Jacobian matrix calculation unit 105 calculates a Jacobian matrix from the joint axis angle calculated by the joint axis angle calculation unit 103 and stores it in the Jacobian matrix storage unit 203.
- the Jacobian matrix is a matrix expressing a minute displacement relationship between the work coordinate system and the joint coordinate system of the robot.
- the relationship of the formula (1) is established between the tip position error ⁇ x and the joint angle difference ⁇ , where J is a Jacobian matrix.
- the drive torque estimation unit 106 calculates a drive torque necessary for driving the joint shaft 307 of the robot from the drive axis angle calculated by the drive axis angle detection 102 and the joint axis angle calculated by the joint axis angle calculation unit 103. presume.
- FIG. 4 shows an example of the configuration of the drive torque estimation unit 106.
- the drive torque estimation unit 106 includes a drive shaft speed calculation unit 400, a frictional force torque calculation unit 401, an inertial force torque calculation unit 402, a gravity torque calculation unit 403, and an addition unit 404.
- the drive shaft speed calculation unit 400 calculates the drive shaft speed by taking, for example, a time difference from the drive shaft angle calculated by the drive shaft angle detection 102.
- the frictional force torque calculation unit 401 reads the friction coefficient at the tip stored in the friction coefficient storage unit 202.
- the frictional force torque calculation unit 401 calculates a frictional force torque corresponding to Coulomb friction, viscous friction, and the like from the drive shaft speed and the friction coefficient calculated by the drive shaft speed calculation unit 400.
- the drive shaft angle detection unit 102 may detect the drive shaft speed based on the time difference between the joint shaft angles and the reduction ratio or transmission ratio described above.
- the inertia force torque calculation unit 402 includes a speed calculation unit 410, an acceleration calculation unit 411, an inertia moment calculation unit 412, and an inertia force torque calculation unit 413.
- the speed calculation unit 410 calculates a joint angular velocity from the joint axis angle calculated by the joint axis angle calculation unit 103.
- the acceleration calculation unit 411 calculates the joint angular acceleration from the joint angular velocity calculated by the speed calculation unit 410.
- the moment of inertia calculation unit 412 reads the link parameter from the link parameter storage unit 201.
- the inertia moment calculation unit 412 calculates the inertia moment of each link 301 and 302 from the link parameter and the joint axis angle calculated by the joint axis angle calculation unit 103.
- the inertial force torque calculation unit 413 calculates an inertial force torque from the joint angular acceleration calculated by the acceleration calculation unit 411 and the inertia moment calculated by the inertia moment calculation unit 412.
- the gravity torque calculation unit 403 reads the link parameter from the link parameter storage unit 201.
- the gravity torque calculation unit 403 calculates the gravity acting on each link 301 and 302 from the link parameter and the joint axis angle calculated by the joint axis angle calculation unit 103.
- the gravity torque calculation unit 403 calculates gravity torque that compensates for gravity acting on the links 301 and 302.
- the adding unit 404 is driven by adding the frictional force torque calculated by the frictional force torque calculating unit 401, the inertial force torque calculated by the inertial force torque calculating unit 413, and the gravity torque calculated by the gravity torque calculating unit 403. Estimate torque.
- the external torque calculation unit 107 shown in FIG. 1 calculates the external torque by calculating the difference between the drive torque estimated by the drive torque estimation unit 106 and the torque command value calculated by the torque command value calculation unit 116. To do.
- the external force calculation unit 108 calculates an external force in the work coordinate system using the Jacobian matrix calculated by the Jacobian matrix calculation unit 105 from the external torque calculated by the external torque calculation unit 107. From the principle of virtual work, the external force f d is calculated by multiplying the external torque ⁇ d by the inverse matrix of the transposed matrix J T of the Jacobian matrix J as shown in equation (2).
- the external force f d in this equation (2) is an external force when it is assumed that it is acting at the tip.
- the force command value generation unit 109 reads the target tip force / moment data (that is, target tip force / moment data) stored in the force / moment data storage unit 204.
- the force command value generation unit 109 calculates the interpolated tip force command value in each control cycle from the target tip force / moment data.
- the force error calculation unit 110 calculates a force error ⁇ f as shown in Expression (3) from the tip force command value f R generated by the force command value generation unit 109 and the external force f d calculated by the external force calculation unit 108.
- the compliance correction amount calculation unit (first correction amount calculation unit) 111 reads the compliance model from the compliance model storage unit 205.
- the compliance correction amount calculation unit 111 calculates a correction amount (first correction amount) of the tip position according to the force error calculated by the force error calculation unit 110 using the compliance model.
- the compliance model virtually assumes inertia, viscosity, and rigidity between the tip and the contact target as in Expression (4), for example.
- the force adaptation control correction amount calculation unit (second correction amount calculation unit) 112 is based on the first-order lag calculation for the compliance correction amount ⁇ x comp (first correction amount), and the correction amount (second correction value) for the command value of the tip position (Correction amount) is calculated.
- FIG. 5 shows an example of the configuration of the force adaptation control correction amount calculation unit 112.
- the force adaptation control correction amount calculation unit 112 includes a first-order lag compensation unit 500, an addition unit 501, and a time constant changing unit 502.
- the first-order lag compensation unit 500 performs first-order lag compensation expressed by Expression (6) on the compliance correction amount ⁇ x comp (performs first-order lag calculation).
- the addition unit 501 adds the calculation result (K A / (Ts + 1)) ⁇ x comp of the first-order lag compensation unit 500 and the compliance correction amount ⁇ x comp to add a force adaptation control correction amount ⁇ x force-comp (second correction amount). ) Is calculated as in equation (7).
- the time constant changing unit 502 reads the force adaptation control threshold Th1 (first threshold) and the force adaptation control threshold Th2 (second threshold) from the force adaptation control threshold storage unit 206.
- the time constant changing unit 502 is calculated by the read force order control thresholds Th1 and Th2, the position error integration calculated by the position error integration calculating unit 117 described later (the integration of the position error so far), and the adding unit 501.
- the first delay compensation time constant T changing process first process and second process in the temporary delay compensation unit 500 is performed.
- First processing It is determined whether the force adaptation control correction amount calculated by the adding unit 501 is smaller than the threshold Th1 read from the force adaptation control threshold storage unit 206. When it is equal to or greater than the threshold Th1, the time constant used in the first-order delay compensation unit 500 is corrected. For example, the time constant is increased by adding a predetermined value ⁇ T1 to the current time constant T. If the correction amount is smaller than the threshold Th1, nothing is done. This first process prevents the tip from coming into contact with the work object before reaching the target position, thereby generating an excessive contact force.
- Second processing It is determined whether a position error integrated value calculated by a position error integration calculating unit 117 described later is smaller than a threshold Th2 read from the force adaptation control threshold storage unit 206.
- the position error integrated value is equal to or greater than Th2
- the time constant T of the temporary delay compensation used in the primary delay compensation unit 500 is corrected. For example, the time constant is increased by adding a predetermined value ⁇ T2 from the time constant T after the first processing.
- the second process prevents the tip from continuing to operate due to the absence of contact force when the tip does not contact at the assumed position.
- the time constant changing unit 502 performs the changing process (first process and second process), and then feeds back the time constant T to the temporary delay compensation unit 500.
- the time constant changing unit 502 outputs the correction amount ⁇ x force-comp calculated by the adding unit 501 to the position error calculating unit 114.
- the temporary delay compensation unit 500 that has received the feedback uses the fed back time constant.
- the position command value generation unit 113 reads target tip position data stored in the position data storage unit 200.
- the position command value generation unit 113 calculates the interpolated tip position command value x R in each control cycle from the target tip position data.
- the position error calculation unit 114 is calculated by the tip position command value x R generated by the position command value generation unit 113, the current tip position x calculated by the tip position calculation unit 104, and the force adaptation control correction amount calculation unit 112. Based on the corrected amount ⁇ x force-comp , the equation (8) is calculated. A position error ⁇ x in consideration of the correction amount ⁇ x force-comp is calculated by the calculation of Expression (8). The position error calculation unit 114 stores the calculated position error ⁇ x in the position error storage unit 207 and outputs it to the joint angle difference calculation unit 115.
- the position error integration calculation unit 117 reads the position error of the previous control cycle and the current control cycle from the position error storage unit 207.
- the position error integral calculation unit 117 calculates a position error integral value by integrating the position error.
- the joint angle difference calculation unit 115 calculates the joint angle difference ⁇ using the inverse matrix of the Jacobian matrix J from the error ⁇ x calculated by the position error calculation unit 114 as in Expression (9).
- the torque command value calculation unit 116 integrates the joint angle difference calculated by the joint angle difference calculation unit 115 to generate a torque command value (control target value).
- the drive unit 101 drives the actuator 100 according to the torque command value calculated by the torque command value calculation unit 116.
- Position data storage unit 200 link parameter storage unit 201, friction coefficient storage unit 202, Jacobian matrix storage unit 203, force / moment data storage unit 204, compliance model storage unit 205, force adaptation control threshold storage unit 206, and position error storage unit
- 207 for example, a semiconductor memory, a magnetic disk, an optical disk, a magneto-optical disk, a magnetic tape, or the like can be adopted.
- the position data storage unit 200 stores a target tip position data string used by the position command value generation unit 113 to generate a tip position command value.
- the link parameter storage unit 201 stores link parameters related to the robot links 301 and 302.
- the friction coefficient storage unit 202 stores friction coefficient data used in advance by the friction force torque calculation unit 401 to calculate the friction force torque, which is obtained in advance from the speed-torque relationship in the constant speed operation.
- the Jacobian matrix storage unit 203 stores the Jacobian matrix calculated by the Jacobian matrix calculation unit 105.
- the force / moment data storage unit 204 stores a target tip force data string used by the force command value generation unit 109 to generate a tip position force command value.
- the compliance model storage unit 205 stores a preset compliance model.
- the force adaptation control threshold storage unit 206 stores thresholds Th1 and Th2 for the force adaptation control correction amount used by the force adaptation control correction amount calculation unit 112.
- the position error storage unit 207 stores the position error calculated by the position error calculation unit 114.
- FIG. 6 is a flowchart for explaining the robot control method according to the embodiment of the present invention.
- step S100 Control calculation is started in step S100.
- step S ⁇ b> 101 the position command value generation unit 113 reads the target tip position data string from the position data storage unit 200.
- the position command value generation unit 113 generates a tip position command value in each control cycle based on the target tip position data string.
- step S ⁇ b> 102 the position error calculation unit 114 adds the correction amount (force) of the tip position to the error between the tip position command value generated by the position command value generation unit 111 and the tip position calculated by the tip position calculation unit 104.
- An error in consideration of the adaptation control correction amount ⁇ x force-comp ) is calculated.
- step S103 the joint angle difference calculation unit 115 uses the Jacobian matrix read from the Jacobian matrix storage unit for the error calculated by the position error calculation unit 114, and performs inverse kinematic calculation as shown in Equation (9). To calculate the joint angle difference.
- step S104 the torque command value calculation unit 116 calculates a torque command value by integrating the joint angle difference calculated by the joint angle difference calculation unit 115.
- step S105 the drive unit 101 drives the actuator 100 using the torque command value calculated by the torque command value calculation unit 116 as a control target value. Specifically, the drive shaft 306 is driven to control the tip position.
- step S106 the end of the control calculation is confirmed, and the process ends in step S107. If the control calculation is not completed in step S106, the process proceeds to step S108.
- step S108 the drive shaft angle detector 102 detects the drive shaft angle.
- step S109 the joint axis angle calculation unit 103 calculates the joint axis angle from the drive shaft angle calculated by the drive shaft angle detection unit 102 based on the reduction gear ratio of the speed reducer.
- step S ⁇ b> 110 the tip position calculation unit 104 reads the link parameter from the link parameter storage unit 201. The tip position calculation unit 104 calculates the tip position by forward kinematics calculation from the joint axis angle calculated by the joint axis angle calculation unit 103 using the link parameter.
- step S ⁇ b> 111 the Jacobian matrix calculation unit 105 calculates a Jacobian matrix from the joint axis angle calculated by the joint axis angle calculation unit 103.
- step S112 the drive torque estimating unit 106 estimates the drive torque from the drive shaft angle calculated by the drive shaft angle detecting unit 102 and the joint axis angle calculated by the joint axis angle calculating unit 103.
- step S ⁇ b> 113 the external torque calculation unit 107 calculates an external torque from the difference between the drive torque estimated by the drive torque estimation unit 106 and the actual torque command value calculated by the torque command value calculation unit 116.
- step S ⁇ b> 114 the external force calculation unit 108 calculates an external force as in Expression (2) using the Jacobian matrix calculated by the Jacobian matrix calculation unit 105 from the external torque calculated by the external torque calculation unit 107.
- step S115 the force command value generation unit 109 reads the target tip force / moment data sequence from the force / moment data storage unit 204.
- the force command value generation unit 109 generates a tip force command value in each control cycle based on the target tip force / moment data string.
- step S116 the force error calculation unit 110 calculates a force error that is an error between the tip force command value generated by the force command value generation unit 109 and the tip external force calculated by the external force calculation unit 108.
- step S117 the compliance correction amount calculation unit 111 reads the compliance model from the compliance model storage unit 205.
- the correction amount of the tip position corresponding to the force error calculated by the force error calculation unit 110 is calculated as in Expression (4).
- the force adaptation control correction amount calculation unit 112 performs first-order lag compensation on the compliance correction amount generated by the compliance correction amount calculation unit 111 as shown in Expression (7).
- the force adaptation control correction amount calculation unit 112 calculates a force adaptation control correction amount for the tip position.
- the position error calculation unit 114 has an error between the tip position command value generated by the position command value generation unit 111 and the tip position calculated by the tip position calculation unit 104 as shown in Expression (8).
- an error in consideration of the correction amount calculated by the force adaptation control correction amount calculation unit 112 is calculated.
- FIG. 7 is a flowchart for explaining the drive torque estimation processing in step S112 shown in FIG.
- step S200 drive torque estimation processing is started.
- step S ⁇ b> 201 the drive shaft speed calculation unit 400 takes a time difference from the drive shaft angle detected by the drive shaft angle detection unit 102.
- the drive shaft speed calculation unit 400 calculates the drive shaft speed by taking the time difference.
- the frictional force torque calculation unit 401 reads the friction coefficient from the friction coefficient storage unit 202.
- the friction force torque calculation unit 401 calculates the friction force torque from the friction coefficient and the drive shaft speed calculated by the drive shaft speed calculation unit 400.
- step S202 the speed calculation unit 410 takes the time difference of the joint axis angle calculated by the joint axis angle calculation unit 103.
- the velocity calculation unit 410 calculates the joint angular velocity by taking the time difference.
- step S ⁇ b> 203 the acceleration calculation unit 411 takes the time difference of the joint angular velocity by the speed calculation unit 410.
- the acceleration calculation unit 411 calculates the joint angular acceleration by taking the time difference.
- step S ⁇ b> 204 the moment of inertia calculation unit 412 reads the link parameter from the link parameter storage unit 201.
- the inertia moment calculation unit 412 calculates the inertia moment of the link at each joint from the joint axis angle calculated by the joint axis angle calculation unit 103 and the link parameter.
- the inertial force torque calculation unit 413 calculates an inertial force torque from the joint angular acceleration calculated by the acceleration calculation unit 411 and the inertia moment calculated by the inertia moment calculation unit 412.
- step S206 the gravity torque calculation unit 403 reads the link parameter from the link parameter storage unit 201.
- the gravity torque calculation unit 403 calculates the gravity acting on the links 301 and 302 from the joint axis angle calculated by the joint axis angle calculation unit 103 and the link parameter.
- the gravitational torque calculation unit 403 calculates a gravitational torque that compensates for the gravitational force acting on the links 301 and 302.
- step S207 the adding unit 404 calculates the frictional force torque calculated by the frictional force torque calculating unit 401, the inertial force torque calculated by the inertial force torque calculating unit 413, and the gravity calculated by the gravity torque calculating unit 403. Add torque.
- the adder 404 estimates the drive torque by adding the inertial force torque and the gravity torque.
- step S208 the driving torque estimation process is terminated.
- FIG. 8 is a flowchart for explaining the force adaptation control correction amount calculation processing in step S118 shown in FIG.
- step S300 force adaptation control correction amount calculation processing is started.
- step S301 the first-order lag compensation unit 500 performs first-order lag compensation as shown in Expression (6) for the compliance correction amount.
- step S302 the adding unit 501 calculates the force adaptation control correction amount ⁇ x force-comp as shown in Expression (7) by adding the temporary correction of the compliance correction amount and the compliance correction amount.
- step S303 it is determined whether the force adaptation control correction amount ⁇ x force-comp calculated by the adding unit 501 is smaller than the threshold value Th1 read from the force adaptation control threshold value storage unit 206. If the correction amount is smaller than the threshold value Th1, the process proceeds to S305, and if it is greater than or equal to the threshold value Th1, the process proceeds to step S304.
- step S304 the time constant of the temporary delay compensation used in the primary delay compensation unit 500 is corrected. For example, the time constant is increased by adding a predetermined value ⁇ T1 to the current time constant T.
- step S305 it is determined whether the position error integrated value is smaller than the threshold value Th2 read from the force adaptation control threshold value storage unit 206. If the position error integrated value is smaller than the threshold value Th2, the process proceeds to S307, and the force adaptation control correction amount calculation process is terminated. If it is equal to or greater than the threshold value, the process proceeds to step S306, and the time constant of the temporary delay compensation used in the primary delay compensation unit 500 is corrected. For example, the time constant is increased by adding a predetermined value ⁇ T2 from the time constant T after the processing of steps S303 and S304. Thereafter, the force adaptation control correction amount calculation process ends in step S307.
- the time constant changing process (B) or (C) may be performed, for example, every predetermined update cycle.
- a step of calculating an acting external force a step in which the force command value generation unit 109 generates a force command value at the tip; a step in which the force error calculation unit 110 calculates an error between the estimated external force and the force command value;
- the compliance correction amount calculation unit 111 performs compliance at the tip position stored in the compliance model storage unit 205.
- a step of calculating a correction amount for the position command value according to the force error using Dell; a force adaptation control correction amount calculation unit 112 is a force that is a correction amount for the position command value based on the correction amount and the temporary delay compensation.
- Steps for performing change processing Steps in which the position error integration calculation unit 117 performs position error integration from the position errors calculated by the position error calculation unit 114 and stored in the position error storage unit 207 are shown in FIGS. 1 can be executed by controlling the robot controller shown in FIG.
- This program may be stored in a storage device such as the position data storage unit 200, for example.
- the program can be stored in a computer-readable recording medium, and the recording medium can be read into the position data storage unit 200 or the like, thereby executing a series of procedures according to the embodiment of the present invention. Further, it can be stored in the position data storage unit 200 or the like via an information processing network such as the Internet.
- the external force calculation unit 108 may acquire the external force by detecting the external force with a force sensor attached to the tip. Even if it is not the tip, it can be calculated as an equivalent force at the tip if a homogeneous transformation matrix for converting the location where the force sensor is attached and the tip is known.
- the drive torque estimation unit 106 may detect the torque with a torque sensor or the like attached to the joint shaft 307 and acquire this as the drive torque.
- the joint angle difference calculation unit 115 adds the tip position correction amount ⁇ x force-comp calculated by the force adaptation control correction amount calculation unit 112 to the tip position command value x R generated by the position command value generation unit 113.
- the new tip position x is calculated as shown in Equation (10).
- the torque command value calculation unit 116 calculates the torque command value ⁇ R as shown in Expression (11) by multiplying the new tip position x by the inverse transformation ⁇ ⁇ 1 .
- the joint angular acceleration calculated by the time difference of the joint axis angle by the speed calculation unit 410 and the acceleration calculation unit 411 is used.
- the time delay increases and the torque error tends to increase.
- the acceleration of the link 301 is detected from the acceleration sensor 311 mounted on the link 301 as shown in FIG.
- the acceleration calculation unit 411 converts the detected acceleration into joint angular acceleration.
- the inertial force torque may be calculated based on the converted joint angular acceleration.
- the drive torque is estimated from the frictional force torque, the inertial force torque, and the gravity torque.
- parameters such as centrifugal force and Coriolis force may be further considered.
- CPU 1 position data storage unit 200, link parameter storage unit 201, friction coefficient storage unit 202, Jacobian matrix storage unit 203, force / moment data storage unit 204, compliance model storage unit 205, force adaptation control threshold storage unit 206,
- the position error storage unit 207 and the like may be embedded and integrated in the robot to be controlled.
- the position error storage unit 207 and the like are outside the robot to be controlled, and the robot can be remotely controlled by wire or wireless.
- Joint angle difference calculation part 116 Torque command value calculation part 117 ... Position error integration calculation part 200 ... Position data storage part 201 ... Link parameter storage part 202 ... Friction coefficient Storage unit 203 ... Jacobian matrix storage unit 204 ... Force / moment data storage unit 205 ... Compliance model storage unit 206 ... Force adaptation control threshold storage unit 207 ... Position error storage unit 300 ... Body 301, 302 ... Link 303 ... Drive pulley 304 ... Driven pulley 305 ... joint axis angle detection unit 306 ... drive shaft 307 ... joint shaft 308 ... transmission mechanism 309 ... speed reducer 310 ... movable part 311 ... acceleration sensor 400 ... drive shaft speed calculation unit 401 ...
- frictional force torque calculation unit 402 ... inertia Force torque calculator 403 ... Gravitational torque calculator 404 ... Adder 41 ... speed calculation unit 411 ... acceleration calculation unit 412 ; inertia moment calculation unit 413 ... inertia torque calculation unit 500 ... first order lag compensation unit 501 ... adding unit 502 ... time constant change unit
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
[課題]ロボット制御において安全性の高い力制御を実現する。 [解決手段]本発明のロボット制御装置は、ロボットの先端位置と前記先端位置に対する位置指令値との誤差である位置誤差を算出する位置誤差算出部と、前記先端位置に作用する外力を算出する外力算出部と、前記先端位置の力指令値を生成する力指令値生成部と、前記外力と前記力指令値との誤差である力誤差を算出する力誤差算出部と、前記先端位置におけるコンプライアンスモデルを記憶するコンプライアンスモデル記憶部と、前記コンプライアンスモデルを用いて、前記力誤差に応じて前記位置指令値に対する第1の修正量を算出する第1の修正量算出部と、前記第1の修正量に対する一次遅れ補償に基づき前記位置指令値に対する第2の修正量を算出する第2の修正量算出部と、を備え、前記位置誤差算出部は、前記第2の修正量を用いて前記位置誤差を算出する。
Description
本発明は、ロボットの力制御を行うロボット制御装置に関する。
ロボットのアーム先端部などの先端(以下、単に「先端」という。)が対象物と接触しながら、作業座標系での位置及び接触力を制御する、いわゆる力制御がある。力制御では、先端において作用している外力を推定し、外力に応じた動作の修正を柔軟に行うことが重要である。
接触時の力・モーメントへ素早く確実に追従するために、先端と作業対象物との間に積分補償器を加える。積分補償は、バネーマスーダンパモデルのようなコンプライアンスモデルからの出力に対して行う(特許文献1)。
ところが、例えば、作業対象物が正確に位置決めされておらず、想定していた位置において先端が接触しなかった場合、接触力が発生していないため先端が動作し続ける可能性がある。また逆に先端が目標位置へ到達する前に作業対象物に接触してしまうことにより、過大な接触力が発生してしまう可能性もある。一般的に位置制御よりも力制御の方が応答性は悪い。力制御の方が、目標接触力への追従速度は遅くなる。作業効率を上げるためには、エラーを早期に発見し、すぐにリトライ動作へと移行する必要がある。目標値との偏差を監視しているだけでは、応答性の向上は困難であった。
本発明は、安全性の高い力制御を実現できるロボット制御装置を提供することである。
本発明のロボット制御装置は、関節軸に駆動力を伝達する駆動軸を駆動するアクチュエータと、前記駆動軸の角度を検出する駆動軸角度検出部と、前記駆動軸の角度から前記関節軸の角度を算出する関節軸角度算出部と、前記関節軸の角度からロボットの先端位置を算出する先端位置算出部と、前記先端位置の位置指令値を生成する位置指令値生成部と、 前記先端位置と前記位置指令値との誤差である位置誤差を算出する位置誤差算出部と、前記関節軸の角度に基づいて前記ロボットの作業座標系と関節座標系との間のヤコビ行列を算出するヤコビ行列算出部と、前記位置誤差と前記ヤコビ行列から逆運動学計算により関節角差分を算出する関節角差分算出部と、前記関節角差分を積分することによりトルク指令値を算出するトルク指令値算出部と、前記トルク指令値に基づいて前記アクチュエータを駆動させる駆動部と、前記先端位置に作用する外力を算出する外力算出部と、前記先端位置の力指令値を生成する力指令値生成部と、前記外力と前記力指令値との誤差である力誤差を算出する力誤差算出部と、前記先端位置におけるコンプライアンスモデルを記憶するコンプライアンスモデル記憶部と、前記コンプライアンスモデルを用いて、前記力誤差に応じて前記位置指令値に対する第1の修正量を算出する第1の修正量算出部と、前記第1の修正量に対する一次遅れ補償に基づき前記位置指令値に対する第2の修正量を算出する第2の修正量算出部と、を備え、前記位置誤差算出部は、前記第2の修正量を用いて前記位置誤差を算出することを特徴とする。
本発明によれば、ロボット制御において安全性の高い力制御を実現できる。
以下、図面を参照して、本発明の実施の形態を説明する。以下の図面の記載において、同一または類似の部分には同一の符号を付している。ただし、図面は模式的なものであり、具体的な寸法は当業者が以下の説明を参酌して判断すべきものである。又、図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることはもちろんである。
また、以下に示す実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
図1に示すように、本発明の実施の形態に係るロボット制御装置は、中央演算処理装置(CPU)1、アクチュエータ100、駆動部(アンプ)101、駆動軸角度検出部102、位置データ記憶部200、リンクパラメータ記憶部201、摩擦係数記憶部202、ヤコビ行列記憶部203、力・モーメントデータ記憶部204、コンプライアンスモデル記憶部205、力順応制御閾値記憶部206及び位置誤差記憶部207を備える。
図2は本発明の実施の形態において制御対象の一例とするロボットを示す。このロボットは、本体300と、本体300に設けられた可動部310を備える。可動部310は、複数のリンク301、302と、駆動プーリ303及び従動プーリ304を備える複数の関節306、307と、駆動プーリ303及び従動プーリ304に巻きつけた伝達機構308を有する。
図3に模式的に示すように、駆動プーリ303、減速機309、アクチュエータ100及び駆動軸角度検出部102が、駆動軸(関節)306に取り付けられている。アクチュエータ100が回転駆動し、減速機309が回転数を落としトルクを上げる。一方、従動プーリ304及び関節軸角度検出部305が関節軸(関節)307に取り付けられている。駆動軸306の回転により、駆動プーリ303、伝達機構308及び従動プーリ304を介して関節軸307が回転駆動する。本発明の実施の形態では、簡単のために、駆動軸306及び関節軸307に対して制御する場合について述べる。
駆動軸角度検出部102及び関節軸角度検出部305のそれぞれは、エンコーダ等の位置センサが使用可能である。また位置センサは、所定の周波数成分を除去するフィルタを備えていても良い。駆動軸角度検出部102は、駆動軸306の位置の変位量(駆動軸角度)を検出する。関節軸角度検出部305は、関節軸307の位置の変位量(関節軸角度)を検出する。また関節軸角度は駆動軸角度から減速機309の減速比や伝達機構308の伝達比から算出しても良い。
図1に示したCPU1は、関節軸角度算出部103、先端位置算出部104、ヤコビ行列算出部105、駆動トルク推定部106、外部トルク算出部107、外力算出部108、力指令値生成部109、力誤差算出部110、コンプライアンス修正量算出部(第1の修正量算出部)111、力順応制御修正量算出部(第2の修正量算出部)112、位置指令値生成部113、位置誤差算出部114、関節角差分算出部115、トルク指令値算出部116及び位置誤差積分算出部117をハードウェア資源であるモジュール(論理回路)として論理的に備える。
関節軸角度算出部103は、駆動軸角度検出部102により算出された駆動軸角度から、減速機309の減速比など、伝達機構308のもつ駆動軸306と関節軸307の比に応じて関節軸角度を算出する。なお、関節軸307に取り付けた関節軸角度検出部305(図2参照)により関節軸角度を直接算出してもよい。
先端位置算出部104は、リンクパラメータ記憶部201からリンクパラメータを読み出す。先端位置算出部104は、関節軸角度算出部103により算出された関節軸角度から、リンクパラメータを用いて順運動学計算によりロボットの作業座標系における先端位置を算出する。
ヤコビ行列算出部105は、関節軸角度算出部103により算出された関節軸角度から、ヤコビ行列を算出し、ヤコビ行列記憶部203に格納する。ヤコビ行列とは、ロボットの作業座標系と関節座標系との間の微小変位関係を表現した行列である。ヤコビ行列をJとして、先端位置の誤差Δxと、関節角差分Δθには式(1)の関係が成立している。
駆動トルク推定部106は、駆動軸角度検出102により算出された駆動軸角度及び関節軸角度算出部103により算出された関節軸角度から、ロボットの関節軸307を駆動するのに必要な駆動トルクを推定する。
図4は駆動トルク推定部106の構成の一例を示す。
駆動トルク推定部106は、駆動軸速度算出部400、摩擦力トルク算出部401、慣性力トルク算出部402、重力トルク算出部403及び加算部404を備える。
駆動軸速度算出部400は、駆動軸角度検出102により算出された駆動軸角度から例えば時間差分を取ることにより駆動軸速度を算出する。摩擦力トルク算出部401は、摩擦係数記憶部202に格納された先端における摩擦係数を読み出す。摩擦力トルク算出部401は、駆動軸速度算出部400により算出された駆動軸速度と摩擦係数からクーロン摩擦、粘性摩擦等に相当する摩擦力トルクを算出する。なお駆動軸角度検出部102は、関節軸角度の時間差分と、前述した減速比あるいは伝達比とに基づき駆動軸速度を検出してもよい。
慣性力トルク算出部402は、速度算出ユニット410、加速度算出ユニット411、慣性モーメント算出ユニット412及び慣性力トルク算出ユニット413を備える。速度算出ユニット410は、関節軸角度算出部103により算出された関節軸角度から関節角速度を算出する。加速度算出ユニット411は、速度算出ユニット410により算出された関節角速度から関節角加速度を算出する。慣性モーメント算出ユニット412は、リンクパラメータ記憶部201からリンクパラメータを読み出す。慣性モーメント算出ユニット412は、当該リンクパラメータ及び関節軸角度算出部103により算出された関節軸角度から各リンク301、302の慣性モーメントを算出する。慣性力トルク算出ユニット413は、加速度算出ユニット411により算出された関節角加速度、及び慣性モーメント算出ユニット412により算出された慣性モーメントから慣性力トルクを算出する。
重力トルク算出部403は、リンクパラメータ記憶部201からリンクパラメータを読み出す。重力トルク算出部403は、リンクパラメータ及び関節軸角度算出部103により算出された関節軸角度から各リンク301、302に作用する重力を算出する。重力トルク算出部403は、各リンク301、302に作用する重力を補償する重力トルクを算出する。
加算部404は、摩擦力トルク算出部401により算出された摩擦力トルク、慣性力トルク算出ユニット413により算出された慣性力トルク及び重力トルク算出部403により算出された重力トルクを加算することにより駆動トルクを推定する。
図1に示した外部トルク算出部107は、駆動トルク推定部106により推定された駆動トルクと、トルク指令値算出部116により算出されたトルク指令値との差を計算することにより外部トルクを算出する。
外力算出部108は、外部トルク算出部107により算出された外部トルクからヤコビ行列算出部105により算出されたヤコビ行列を用いて作業座標系における外力を算出する。仮想仕事の原理より、式(2)のように外部トルクτdにヤコビ行列Jの転置行列JTの逆行列を乗じることにより外力fdを算出する。この式(2)の外力fdは先端で作用していると想定したときの外力である。
力指令値生成部109は、力・モーメントデータ記憶部204に記憶された目標先端力・モーメントデータ(すなわち目標となる先端の力およびモーメントのデータ)を読み出す。力指令値生成部109は、目標先端力・モーメントデータから各制御周期における補間された先端力指令値を算出する。
コンプライアンス修正量算出部(第1の修正量算出部)111は、コンプライアンスモデル記憶部205からコンプライアンスモデルを読み出す。コンプライアンス修正量算出部111は、コンプライアンスモデルを用いて、力誤差算出部110により算出された力誤差に応じた先端位置の修正量(第1の修正量)を算出する。ここで、コンプライアンスモデルとは、例えば式(4)のように先端と接触対象との間において仮想的に慣性、粘性、剛性を想定したものである。
力順応制御修正量算出部(第2の修正量算出部)112は、コンプライアンス修正量Δxcomp(第1の修正量)に対する一次遅れ演算に基づき、先端位置の指令値に対する修正量(第2の修正量)を算出する。
図5は力順応制御修正量算出部112の構成の一例を示す。
力順応制御修正量算出部112は、一次遅れ補償ユニット500、加算部501及び時定数変更ユニット502を備える。
加算部501は、一次遅れ補償ユニット500の算出結果(KA/(Ts+1))Δxcompと、コンプライアンス修正量Δxcompを加算することにより力順応制御修正量Δxforce-comp(第2の修正量)を式(7)のように算出する。
時定数変更ユニット502は、力順応制御閾値記憶部206から力順応制御閾値Th1(第1の閾値)、力順応制御閾値Th2(第2の閾値)を読み出す。時定数変更ユニット502は、読み出した力順制御閾値Th1、Th2と、後述する位置誤差積分算出部117より算出された位置誤差積分(これまでの位置誤差の積分)と、加算部501により算出された修正量Δxforce-compを用いて、一時遅れ補償ユニット500における一次遅れ補償の時定数Tの変更処理(第1処理、第2処理)を行う。
第1処理:加算部501により算出された力順応制御修正量が、力順応制御閾値記憶部206より読み取った閾値Th1より小さいか判定する。閾値Th1以上である場合、一次遅れ補償ユニット500にて使用している時定数を修正する。たとえば現在の時定数Tに所定値ΔT1を加算することにより時定数を大きくする。修正量が閾値Th1より小さければ何も行わない。本第1処理により、目標位置へ到達する前に先端が作業対象物に接触してしまい過大な接触力が発生してしまうことを阻止する。
第2処理:後述の位置誤差積分算出部117により算出された位置誤差積分値が、力順応制御閾値記憶部206より読み取った閾値Th2より小さいか判定する。位置誤差積分値がTh2以上である場合、一次遅れ補償ユニット500にて使用している一時遅れ補償の時定数Tを修正する。たとえば第1処理後の時定数Tから所定値ΔT2を加算することにより時定数を大きくする。本第2処理は、想定していた位置において先端が接触しなかった場合に、接触力が発生していないことにより先端が動作し続けることを阻止する。
時定数変更ユニット502は、変更処理(第1処理、第2処理)を行った後、時定数Tを一時遅れ補償ユニット500にフィードバックする。時定数変更ユニット502は、加算部501により算出された修正量Δxforce-compを位置誤差算出部114に出力する。フィードバックを受けた一時遅れ補償ユニット500はフィードバックされた時定数を用いる。
位置指令値生成部113は、位置データ記憶部200に記憶された目標先端位置データを読み出す。位置指令値生成部113は、目標先端位置データから各制御周期における補間された先端位置指令値xRを算出する。
位置誤差算出部114は、位置指令値生成部113により生成した先端位置指令値xR、先端位置算出部104により算出された現在の先端位置x、及び力順応制御修正量算出部112により算出された修正量Δxforce-compから、式(8)の計算を行う。式(8)の計算により、修正量Δxforce-compを考慮した位置誤差Δxを算出する。位置誤差算出部114は、算出した位置誤差Δxを位置誤差記憶部207に格納するとともに関節角差分算出部115に出力する。
位置誤差積分算出部117は、位置誤差記憶部207から前回の制御周期と今回の制御周期の位置誤差を読み取る。位置誤差積分算出部117は、位置誤差を積分することで位置誤差積分値を算出する。
トルク指令値算出部116は、関節角差分算出部115により算出された関節角差分を積分することによりトルク指令値(制御目標値)を生成する。
駆動部101は、トルク指令値算出部116により算出されたトルク指令値にしたがってアクチュエータ100を駆動する。
位置データ記憶部200、リンクパラメータ記憶部201、摩擦係数記憶部202、ヤコビ行列記憶部203、力・モーメントデータ記憶部204、コンプライアンスモデル記憶部205、力順応制御閾値記憶部206及び位置誤差記憶部207としては、例えば半導体メモリ、磁気ディスク、光ディスク、光磁気ディスクや磁気テープ等が採用可能である。
位置データ記憶部200は、位置指令値生成部113が先端位置指令値を生成するために使用する目標先端位置データ列を記憶している。リンクパラメータ記憶部201は、ロボットのリンク301、302に関するリンクパラメータを記憶している。摩擦係数記憶部202は、摩擦力トルク算出部401が摩擦力トルクを算出するために使用する、予め定速運転において速度-トルク関係から求めておいた摩擦係数データを記憶している。ヤコビ行列記憶部203は、ヤコビ行列算出部105により算出されるヤコビ行列を記憶している。力・モーメントデータ記憶部204は、力指令値生成部109が先端位置力指令値を生成するために使用する目標先端力データ列を記憶している。コンプライアンスモデル記憶部205は、予め設定されたコンプライアンスモデルを記憶している。力順応制御閾値記憶部206は、力順応制御修正量算出部112にて使用する力順応制御修正量に対する閾値Th1、Th2を記憶している。位置誤差記憶部207は、位置誤差算出部114により算出される位置誤差を記憶している。
<ロボット制御方法>
図6は、本発明の実施の形態に係るロボット制御方法を説明するためのフローチャートである。
図6は、本発明の実施の形態に係るロボット制御方法を説明するためのフローチャートである。
(A)ステップS100において制御演算を開始する。ステップS101において、位置指令値生成部113が、位置データ記憶部200から目標先端位置データ列を読み出す。位置指令値生成部113が、目標先端位置データ列に基づいて各制御周期における先端位置指令値を生成する。ステップS102において、位置誤差算出部114が、位置指令値生成部111により生成された先端位置指令値と、先端位置算出部104により算出された先端位置との誤差に、先端位置の修正量(力順応制御修正量Δxforce-comp)を考慮した誤差を算出する。ステップS103において、関節角差分算出部115が、位置誤差算出部114により算出された誤差に対して、ヤコビ行列記憶部から読み出したヤコビ行列を用いて式(9)にあるような逆運動学計算を行って関節角差分を算出する。ステップS104において、トルク指令値算出部116が、関節角差分算出部115により算出された関節角差分を積分することによりトルク指令値を算出する。ステップS105において、駆動部101が、トルク指令値算出部116により算出されたトルク指令値を制御目標値としてアクチュエータ100を駆動する。具体的には、駆動軸306を駆動させ、先端位置を制御する。ステップS106において、制御演算の終了を確認し、ステップS107で処理を終了する。ステップS106において制御演算が終了でなければステップS108に進む。
(B)ステップS108において、駆動軸角度検出部102が、駆動軸角度を検出する。ステップS109において、関節軸角度算出部103が、駆動軸角度検出部102により算出された駆動軸角度から、減速機の減速比などに基づいて関節軸角度を算出する。ステップS110において、先端位置算出部104が、リンクパラメータ記憶部201からリンクパラメータを読み出す。先端位置算出部104が、リンクパラメータを用いて、関節軸角度算出部103により算出された関節軸角度から順運動学計算により先端位置を算出する。ステップS111において、ヤコビ行列算出部105が、関節軸角度算出部103により算出された関節軸角度からヤコビ行列を算出する。
(C)ステップS112において、駆動トルク推定部106が、駆動軸角度検出部102により算出された駆動軸角度、及び関節軸角度算出部103により算出された関節軸角度から駆動トルクを推定する。ステップS113において、外部トルク算出部107が、駆動トルク推定部106により推定された駆動トルクと、トルク指令値算出部116により算出された実際のトルク指令値との差から外部トルクを算出する。ステップS114において、外力算出部108は、外部トルク算出部107により算出された外部トルクからヤコビ行列算出部105により算出されたヤコビ行列を用いて式(2)のように外力を算出する。
(D)ステップS115において、力指令値生成部109が、力・モーメントデータ記憶部204から目標先端力・モーメントデータ列を読み出す。力指令値生成部109が、目標先端力・モーメントデータ列に基づいて各制御周期における先端力指令値を生成する。ステップS116において、力誤差算出部110が、力指令値生成部109により生成された先端力指令値と、外力算出部108により算出された先端外力との誤差である力誤差を算出する。ステップS117において、コンプライアンス修正量算出部111が、コンプライアンスモデル記憶部205からコンプライアンスモデルを読み出す。コンプライアンス修正量算出部111、コンプライアンスモデルを用いて式(4)のように、力誤差算出部110により算出された力誤差に応じた先端位置の修正量を算出する。ステップS118において、力順応制御修正量算出部112が、式(7)のように、コンプライアンス修正量算出部111により生成されたコンプライアンス修正量に対して一次遅れ補償を行う。力順応制御修正量算出部112が、先端位置に対する力順応制御修正量を算出する。ステップS102に戻り、位置誤差算出部114が、式(8)のように、位置指令値生成部111により生成された先端位置指令値と、先端位置算出部104により算出された先端位置との誤差に、力順応制御修正量算出部112により算出された修正量を考慮した誤差を算出する。
<駆動トルク推定処理>
図7は、図6に示したステップS112の駆動トルク推定処理を説明するためのフローチャートである。
図7は、図6に示したステップS112の駆動トルク推定処理を説明するためのフローチャートである。
(A)ステップS200において、駆動トルク推定処理を開始する。ステップS201において、駆動軸速度算出部400が、駆動軸角度検出部102により検出された駆動軸角度から時間差分を取る。駆動軸速度算出部400が時間差分を取ることにより駆動軸速度を算出する。摩擦力トルク算出部401が、摩擦係数記憶部202から摩擦係数を読み出す。摩擦力トルク算出部401が、摩擦係数及び駆動軸速度算出部400により算出された駆動軸速度から摩擦力トルクを算出する。
(B)ステップS202において、速度算出ユニット410が、関節軸角度算出部103により算出された関節軸角度の時間差分を取る。速度算出ユニット410が時間差分を取ることにより関節角速度を算出する。ステップS203において、加速度算出ユニット411が、速度算出ユニット410により関節角速度の時間差分を取る。加速度算出ユニット411が時間差分を取ることにより関節角加速度を算出する。ステップS204において、慣性モーメント算出ユニット412が、リンクパラメータ記憶部201からリンクパラメータを読み出す。慣性モーメント算出ユニット412が、関節軸角度算出部103により算出された関節軸角度とリンクパラメータから各関節におけるリンクの慣性モーメントを算出する。ステップS205において、慣性力トルク算出ユニット413が、加速度算出ユニット411により算出された関節角加速度及び慣性モーメント算出ユニット412により算出された慣性モーメントから慣性力トルクを算出する。
(C)ステップS206において、重力トルク算出部403が、リンクパラメータ記憶部201からリンクパラメータを読み出す。重力トルク算出部403が、関節軸角度算出部103により算出された関節軸角度関節軸角度とリンクパラメータから各リンク301、302に作用する重力を算出する。重力トルク算出部403が、各リンク301、302に作用する重力を補償する重力トルクを算出する。
(D)ステップS207において、加算部404が、摩擦力トルク算出部401により算出された摩擦力トルク、慣性力トルク算出ユニット413により算出された慣性力トルク及び重力トルク算出部403により算出された重力トルクを加算する。加算部404が、慣性力トルクおよび重力トルクを加算することにより駆動トルクを推定する。ステップS208において駆動トルク推定処理を終了する。
<力順応制御修正量算出処理>
図8は、図6に示したステップS118の力順応制御修正量算出処理を説明するためのフローチャートである。
図8は、図6に示したステップS118の力順応制御修正量算出処理を説明するためのフローチャートである。
(A)ステップS300において、力順応制御修正量算出処理を開始する。ステップS301において、一次遅れ補償ユニット500が、コンプライアンス修正量に対して式(6)のような一次遅れ補償を施す。ステップS302において、加算部501がコンプライアンス修正量の一時遅れ補償と、当該コンプライアンス修正量とを加算することにより、式(7)のように力順応制御修正量Δxforce-compを算出する。
(B)ステップS303において、加算部501により算出された力順応制御修正量Δxforce-compが、力順応制御閾値記憶部206より読み取った閾値Th1より小さいか判定する。修正量が閾値Th1より小さければS305に進み、閾値Th1以上である場合、ステップS304に進む。ステップS304において、一次遅れ補償ユニット500にて使用している一時遅れ補償の時定数を修正する。たとえば現在の時定数Tに所定値ΔT1を加算することにより時定数を大きくする。
(C)一方、ステップS308において位置誤差積分算出部117が位置誤差記憶部207から読み取った位置誤差から位置誤差積分を算出する。ステップS305において、位置誤差積分値が、力順応制御閾値記憶部206より読み取った閾値Th2より小さいか判定する。位置誤差積分値が閾値Th2より小さければS307に進み、力順応制御修正量算出処理を終了する。閾値以上であれば、ステップS306に進み、一次遅れ補償ユニット500にて使用している一時遅れ補償の時定数を修正する。たとえばステップS303,S304の処理後の時定数Tから所定値ΔT2を加算することにより時定数を大きくする。この後、ステップS307にて力順応制御修正量算出処理を終了する。
なお(B)、(C)の時定数の変更処理は、例えば所定の更新周期ごとに行うようにしてもよい。
以上、本発明の実施の形態によれば、ロボットの先端での目標接触力へ高速に追従させるとともに、接触失敗や接触力過大などのエラーを素早く検出し、安定した力制御を実現できる。
なお、図6~図8に示した一連の手順、例えば:駆動軸角度検出部102が、駆動軸角度を検出するステップ;関節軸角度算出部103が、駆動軸角度から関節軸角度を算出するステップ;先端位置算出部104が、関節軸の角度からロボットの先端位置を算出するステップ;位置指令値生成部113が、先端位置の位置指令値を生成するステップ;位置誤差算出部114が、先端位置と位置指令値との誤差を算出するステップ;関節角差分算出部115が、誤差から逆運動学計算により関節角差分を算出するステップ;トルク指令値算出部116が、関節角差分を積分することによりトルク指令値を算出するステップ;駆動部101が、トルク指令値に基づいてアクチュエータ100を駆動させるステップ;駆動トルク推定部106が、駆動軸角度および関節軸角度からアクチュエータ100を駆動させるための駆動トルクを推定するステップ;外部トルク算出部107が、推定された駆動トルクと、トルク指令値との差を外部トルクとして算出するステップ;ヤコビ行列算出部105が、関節軸の角度に基づいてロボットの作業座標系と関節座標系との間のヤコビ行列を算出するステップ;外力算出部108が、ヤコビ行列及び外部トルクから、先端位置に作用する外力を算出するステップ;力指令値生成部109が、先端での力指令値を生成するステップ;力誤差算出部110が、推定した外力と、力指令値との誤差を算出するステップ;コンプライアンス修正量算出部111が、コンプライアンスモデル記憶部205に記憶されている先端位置におけるコンプライアンスモデルを用いて、力誤差に応じて位置指令値に対する修正量を算出するステップ;力順応制御修正量算出部112が当該修正量と一時遅れ補償とに基づき、位置指令値に対する修正量である力順応制御修正量を算出するとともに、力順応制御閾値記憶部206に記憶されている閾値と、位置誤差積分算出部117により算出された位置誤差積分値とを用いて当該一次遅れ補償の時定数の変更処理を行うステップ;位置誤差積分算出部117が、位置誤差算出部114で算出され、位置誤差記憶部207に記憶されている位置誤差から位置誤差積分を行うステップ等は、図6~図8と等価なアルゴリズムのプログラムにより、図1に示したロボット制御装置を制御して実行できる。このプログラムは、例えば位置データ記憶部200等の記憶装置に記憶させればよい。又、このプログラムは、コンピュータ読取り可能な記録媒体に保存し、この記録媒体を位置データ記憶部200等に読み込ませることにより、本発明の実施の形態の一連の手順を実行することができる。更に、インターネット等の情報処理ネットワークを介して、位置データ記憶部200等に格納することが可能である。
(第1の変形例)
本発明の実施の形態の第1の変形例として、外力算出部108は、先端に取り付けた力覚センサなどで外力を検出することにより、外力を取得してもよい。また先端でなくても、力覚センサを取り付けた箇所と先端までを変換する同次変換行列が既知であれば、先端での等価力として算出することができる。
本発明の実施の形態の第1の変形例として、外力算出部108は、先端に取り付けた力覚センサなどで外力を検出することにより、外力を取得してもよい。また先端でなくても、力覚センサを取り付けた箇所と先端までを変換する同次変換行列が既知であれば、先端での等価力として算出することができる。
(第2の変形例)
本発明の実施の形態の第2の変形例として、駆動トルク推定部106は、関節軸307に取り付けたトルクセンサなどでトルクを検出し、これを駆動トルクとして取得してもよい。
本発明の実施の形態の第2の変形例として、駆動トルク推定部106は、関節軸307に取り付けたトルクセンサなどでトルクを検出し、これを駆動トルクとして取得してもよい。
(第3の変形例)
本発明の実施の形態の第3の変形例として、式(9)のようにヤコビ行列を用いずに、先端位置から関節角を直接算出できる逆変換を用いる場合を説明する。この場合、関節角差分算出部115は、位置指令値生成部113により生成した先端位置指令値xRに、力順応制御修正量算出部112により算出した先端位置の修正量Δxforce-compを加算した新たな先端位置xを式(10)のように算出する。
本発明の実施の形態の第3の変形例として、式(9)のようにヤコビ行列を用いずに、先端位置から関節角を直接算出できる逆変換を用いる場合を説明する。この場合、関節角差分算出部115は、位置指令値生成部113により生成した先端位置指令値xRに、力順応制御修正量算出部112により算出した先端位置の修正量Δxforce-compを加算した新たな先端位置xを式(10)のように算出する。
(その他の実施の形態)
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
上記のように、本発明は実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
例えば、本発明の実施の形態において、慣性力トルクの算出の際に、速度算出ユニット410及び加速度算出ユニット411による関節軸角度の時間二回差分で算出された関節角加速度を用いている。制御周期によっては時間遅れが大きくなりトルク誤差が大きくなりやすくなる。その場合は、図9に示すようにリンク301に搭載した加速度センサ311からリンク301の加速度を検出する。検出した加速度を加速度算出ユニット411が関節角加速度へ変換する。変換した関節角加速度を基に慣性力トルクを算出してもよい。
又、駆動トルク推定処理としては、摩擦力トルク、慣性力トルク及び重力トルクから駆動トルクを推定する一例を示したが、本発明はこれに限定されるものではない。例えば、遠心力やコリオリの力等のパラメータを更に考慮しても良い。
又、CPU1、位置データ記憶部200、リンクパラメータ記憶部201、摩擦係数記憶部202、ヤコビ行列記憶部203、力・モーメントデータ記憶部204、コンプライアンスモデル記憶部205、力順応制御閾値記憶部206及び位置誤差記憶部207等が制御対象であるロボットの内部に埋め込まれて一体化されていても良い。又、CPU1、位置データ記憶部200、リンクパラメータ記憶部201、摩擦係数記憶部202、ヤコビ行列記憶部203、力・モーメントデータ記憶部204、コンプライアンスモデル記憶部205、力順応制御閾値記憶部206及び位置誤差記憶部207等が制御対象であるロボットの外部にあり、ロボットを有線或いは無線で遠隔制御することも可能である。
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
1………中央演算処理装置(CPU)
100…アクチュエータ
101…駆動部
102…駆動軸角度検出部
103…関節軸角度算出部
104…先端位置算出部
105…ヤコビ行列算出部
106…駆動トルク推定部
107…外部トルク算出部
108…外力算出部
109…力指令値生成部
110…力誤差算出部
111…コンプライアンス修正量算出部(第1の修正量算出部)
112…力順応制御修正量算出部(第2の修正量算出部)
113…位置指令値生成部
114…位置誤差算出部
115…関節角差分算出部
116…トルク指令値算出部
117…位置誤差積分算出部
200…位置データ記憶部
201…リンクパラメータ記憶部
202…摩擦係数記憶部
203…ヤコビ行列記憶部
204…力・モーメントデータ記憶部
205…コンプライアンスモデル記憶部
206…力順応制御閾値記憶部
207…位置誤差記憶部
300…本体
301、302…リンク
303…駆動プーリ
304…従動プーリ
305…関節軸角度検出部
306…駆動軸
307…関節軸
308…伝達機構
309…減速機
310…可動部
311…加速度センサ
400…駆動軸速度算出部
401…摩擦力トルク算出部
402…慣性力トルク算出部
403…重力トルク算出部
404…加算部
410…速度算出ユニット
411…加速度算出ユニット
412…慣性モーメント算出ユニット
413…慣性力トルク算出ユニット
500…一次遅れ補償ユニット
501…加算部
502…時定数変更ユニット
100…アクチュエータ
101…駆動部
102…駆動軸角度検出部
103…関節軸角度算出部
104…先端位置算出部
105…ヤコビ行列算出部
106…駆動トルク推定部
107…外部トルク算出部
108…外力算出部
109…力指令値生成部
110…力誤差算出部
111…コンプライアンス修正量算出部(第1の修正量算出部)
112…力順応制御修正量算出部(第2の修正量算出部)
113…位置指令値生成部
114…位置誤差算出部
115…関節角差分算出部
116…トルク指令値算出部
117…位置誤差積分算出部
200…位置データ記憶部
201…リンクパラメータ記憶部
202…摩擦係数記憶部
203…ヤコビ行列記憶部
204…力・モーメントデータ記憶部
205…コンプライアンスモデル記憶部
206…力順応制御閾値記憶部
207…位置誤差記憶部
300…本体
301、302…リンク
303…駆動プーリ
304…従動プーリ
305…関節軸角度検出部
306…駆動軸
307…関節軸
308…伝達機構
309…減速機
310…可動部
311…加速度センサ
400…駆動軸速度算出部
401…摩擦力トルク算出部
402…慣性力トルク算出部
403…重力トルク算出部
404…加算部
410…速度算出ユニット
411…加速度算出ユニット
412…慣性モーメント算出ユニット
413…慣性力トルク算出ユニット
500…一次遅れ補償ユニット
501…加算部
502…時定数変更ユニット
Claims (5)
- 関節軸に駆動力を伝達する駆動軸を駆動するアクチュエータと、
前記駆動軸の角度を検出する駆動軸角度検出部と、
前記駆動軸の角度から前記関節軸の角度を算出する関節軸角度算出部と、
前記関節軸の角度からロボットの先端位置を算出する先端位置算出部と、
前記先端位置の位置指令値を生成する位置指令値生成部と、
前記先端位置と前記位置指令値との誤差である位置誤差を算出する位置誤差算出部と、
前記関節軸の角度に基づいて前記ロボットの作業座標系と関節座標系との間のヤコビ行列を算出するヤコビ行列算出部と、
前記位置誤差と前記ヤコビ行列から逆運動学計算により関節角差分を算出する関節角差分算出部と、
前記関節角差分を積分することによりトルク指令値を算出するトルク指令値算出部と、
前記トルク指令値に基づいて前記アクチュエータを駆動させる駆動部と、
前記先端位置に作用する外力を算出する外力算出部と、
前記先端位置の力指令値を生成する力指令値生成部と、
前記外力と前記力指令値との誤差である力誤差を算出する力誤差算出部と、
前記先端位置におけるコンプライアンスモデルを記憶するコンプライアンスモデル記憶部と、
前記コンプライアンスモデルを用いて、前記力誤差に応じて前記位置指令値に対する第1の修正量を算出する第1の修正量算出部と、
前記第1の修正量に対する一次遅れ補償に基づき前記位置指令値に対する第2の修正量を算出する第2の修正量算出部と、を備え、
前記位置誤差算出部は、前記第2の修正量を用いて前記位置誤差を算出する
ことを特徴とするロボット制御装置。 - 前記第2の修正量算出部は、前記第1の修正量の絶対値が第1の閾値以上のとき前記一次遅れ補償の時定数を増加させることを特徴とする請求項1に記載のロボット制御装置。
- 前記位置誤差算出部により算出された前記位置誤差を記憶する位置誤差記憶部と、
前記位置誤差記憶部に記憶された前記位置誤差を積分する位置誤差積分算出部と、をさらに備え、
前記第2の修正量算出部は、前記位置誤差の積分値が第2の閾値以上のとき前記一次遅れ補償の時定数を増加させることを特徴とする請求項2に記載のロボット制御装置。 - 前記関節軸に作用する外部トルクを算出する外部トルク算出部をさらに備え、
前記外力算出部は、前記ヤコビ行列及び前記外部トルクから、前記先端位置に作用する外力を算出する
ことを特徴とする請求項3に記載のロボット制御装置。 - 前記関節軸の角度から前記アクチュエータを駆動させるための駆動トルクを推定する駆動トルク推定部と、
前記先端位置における摩擦係数を記憶する摩擦係数記憶部をさらに備え、
前記外部トルク算出部は、推定された駆動トルク及び前記トルク指令値との差を外部トルクとし、
前記駆動トルク推定部は、
前記駆動軸の角度から前記駆動軸の速度を算出する駆動軸速度算出部と、
前記駆動軸の速度及び前記摩擦係数から摩擦トルクを算出する摩擦力トルク算出部と、
前記関節軸の角度から重力トルクを算出する重力トルク算出部と、
前記関節軸の角度から慣性力トルクを算出する慣性力トルク算出部と、
前記摩擦力トルク、前記重力トルク及び前記慣性力トルクを加算して前記駆動トルクとする加算部とを備え、
前記慣性力トルク算出部は、
前記関節軸の角度から関節角速度を算出する速度算出ユニットと、
前記関節角速度から関節角加速度を算出する加速度算出ユニットと、
前記関節軸の角度から前記ロボットのリンクの慣性モーメントを算出する慣性モーメント算出ユニットと、
前記関節角加速度と前記慣性モーメントから慣性力トルクを算出する慣性力トルク算出ユニットとを備えることを特徴とする請求項4に記載のロボット制御装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/066548 WO2011036750A1 (ja) | 2009-09-24 | 2009-09-24 | ロボット制御装置 |
JP2011532829A JP5238885B2 (ja) | 2009-09-24 | 2009-09-24 | ロボット制御装置 |
US13/397,741 US8428779B2 (en) | 2009-09-24 | 2012-02-16 | Robot controlling device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/066548 WO2011036750A1 (ja) | 2009-09-24 | 2009-09-24 | ロボット制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/397,741 Continuation US8428779B2 (en) | 2009-09-24 | 2012-02-16 | Robot controlling device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2011036750A1 true WO2011036750A1 (ja) | 2011-03-31 |
Family
ID=43795521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/066548 WO2011036750A1 (ja) | 2009-09-24 | 2009-09-24 | ロボット制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8428779B2 (ja) |
JP (1) | JP5238885B2 (ja) |
WO (1) | WO2011036750A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014030363A1 (ja) * | 2012-08-20 | 2014-02-27 | 国立大学法人東京工業大学 | 外力推定装置及び鉗子システム |
CN105034010A (zh) * | 2014-04-30 | 2015-11-11 | 发那科株式会社 | 进行机器人的灵活控制的控制装置 |
JP2019009685A (ja) * | 2017-06-27 | 2019-01-17 | 日本精工株式会社 | 機器制御システム及び遠隔調整システム |
WO2019092843A1 (ja) * | 2017-11-10 | 2019-05-16 | オリンパス株式会社 | 医療用マニピュレータシステムとその作動方法 |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4957753B2 (ja) * | 2009-06-15 | 2012-06-20 | セイコーエプソン株式会社 | ロボット、搬送装置、及び慣性センサーを用いた制御方法 |
US8532825B1 (en) * | 2010-08-25 | 2013-09-10 | The Boeing Company | Software compensation for kinematically singular machines |
US9119655B2 (en) | 2012-08-03 | 2015-09-01 | Stryker Corporation | Surgical manipulator capable of controlling a surgical instrument in multiple modes |
JP5902425B2 (ja) | 2011-09-21 | 2016-04-13 | 株式会社東芝 | ロボット制御装置、外乱判定方法およびアクチュエータ制御方法 |
GB2518576B (en) * | 2012-08-02 | 2015-09-02 | Toshiba Machine Co Ltd | Robotic apparatus and control method therefor |
US9226796B2 (en) | 2012-08-03 | 2016-01-05 | Stryker Corporation | Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path |
KR20240093729A (ko) | 2012-08-03 | 2024-06-24 | 스트리커 코포레이션 | 로봇 수술을 위한 시스템 및 방법 |
DE102013012448A1 (de) * | 2013-07-26 | 2015-01-29 | Kuka Laboratories Gmbh | Verfahren und Vorrichtung zum Bremsen einer Roboterachsanordnung |
RU2565779C1 (ru) * | 2014-12-10 | 2015-10-20 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипулятора |
RU2562403C1 (ru) * | 2014-12-10 | 2015-09-10 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипулятора |
RU2562400C1 (ru) * | 2014-12-10 | 2015-09-10 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипулятора |
RU2593735C1 (ru) * | 2015-07-29 | 2016-08-10 | Федеральное Государственное Автономное Образовательное Учреждение Высшего Профессионального Образования "Дальневосточный Федеральный Университет" (Двфу) | Самонастраивающийся электропривод манипуляционного робота |
KR102584754B1 (ko) | 2015-11-11 | 2023-10-05 | 마코 서지컬 코포레이션 | 로봇식 시스템 및 그를 역구동하는 방법 |
JP2017177290A (ja) * | 2016-03-30 | 2017-10-05 | ソニー株式会社 | アーム制御方法及びアーム制御装置 |
US11202682B2 (en) | 2016-12-16 | 2021-12-21 | Mako Surgical Corp. | Techniques for modifying tool operation in a surgical robotic system based on comparing actual and commanded states of the tool relative to a surgical site |
JP2018202504A (ja) * | 2017-05-31 | 2018-12-27 | ソニー株式会社 | 医療用支持アームシステム、医療用支持アームの制御方法、および医療用支持アームの制御装置 |
RU2688448C1 (ru) * | 2017-11-28 | 2019-05-21 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипулятора |
RU2688449C1 (ru) * | 2017-11-28 | 2019-05-21 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипуляционного робота |
JP7047525B2 (ja) * | 2018-03-26 | 2022-04-05 | 日本電産株式会社 | ロボット制御装置、ロボット制御方法、プログラム |
JP6698733B2 (ja) * | 2018-04-06 | 2020-05-27 | ファナック株式会社 | モータエンコーダ及びセンサを用いて学習制御を行うロボットシステム |
RU2725449C1 (ru) * | 2019-06-17 | 2020-07-02 | Федеральное государственное бюджетное учреждение науки Институт автоматики и процессов управления Дальневосточного отделения Российской академии наук (ИАПУ ДВО РАН) | Самонастраивающийся электропривод манипулятора |
WO2021005329A1 (en) * | 2019-07-11 | 2021-01-14 | Bae Systems Plc | Inceptor and method |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0691568A (ja) * | 1992-09-16 | 1994-04-05 | Toshiba Corp | ロボット制御装置 |
JPH10151590A (ja) * | 1996-11-20 | 1998-06-09 | Yaskawa Electric Corp | マニピュレータの力制御装置 |
JPH10193290A (ja) * | 1997-01-08 | 1998-07-28 | Toshiba Corp | ロボット制御装置 |
JP2004314255A (ja) * | 2003-04-17 | 2004-11-11 | Yaskawa Electric Corp | ロボットの制御装置 |
JP2005014192A (ja) * | 2003-06-27 | 2005-01-20 | National Aerospace Laboratory Of Japan | 回転機構用制御装置 |
JP2008264910A (ja) * | 2007-04-18 | 2008-11-06 | Yaskawa Electric Corp | ロボットの制御方法、ロボット制御装置およびロボット制御システム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5341459A (en) * | 1991-05-09 | 1994-08-23 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Generalized compliant motion primitive |
US6594552B1 (en) * | 1999-04-07 | 2003-07-15 | Intuitive Surgical, Inc. | Grip strength with tactile feedback for robotic surgery |
JP3687958B2 (ja) * | 2001-03-30 | 2005-08-24 | 東芝機械株式会社 | 位置制御装置および位置制御方法 |
US8175749B2 (en) * | 2008-02-28 | 2012-05-08 | Panasonic Corporation | Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit for controlling robot arm |
JP5242342B2 (ja) | 2008-10-31 | 2013-07-24 | 株式会社東芝 | ロボット制御装置 |
JP5198514B2 (ja) * | 2010-07-22 | 2013-05-15 | 株式会社東芝 | ロボット制御装置 |
-
2009
- 2009-09-24 WO PCT/JP2009/066548 patent/WO2011036750A1/ja active Application Filing
- 2009-09-24 JP JP2011532829A patent/JP5238885B2/ja not_active Expired - Fee Related
-
2012
- 2012-02-16 US US13/397,741 patent/US8428779B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0691568A (ja) * | 1992-09-16 | 1994-04-05 | Toshiba Corp | ロボット制御装置 |
JPH10151590A (ja) * | 1996-11-20 | 1998-06-09 | Yaskawa Electric Corp | マニピュレータの力制御装置 |
JPH10193290A (ja) * | 1997-01-08 | 1998-07-28 | Toshiba Corp | ロボット制御装置 |
JP2004314255A (ja) * | 2003-04-17 | 2004-11-11 | Yaskawa Electric Corp | ロボットの制御装置 |
JP2005014192A (ja) * | 2003-06-27 | 2005-01-20 | National Aerospace Laboratory Of Japan | 回転機構用制御装置 |
JP2008264910A (ja) * | 2007-04-18 | 2008-11-06 | Yaskawa Electric Corp | ロボットの制御方法、ロボット制御装置およびロボット制御システム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014030363A1 (ja) * | 2012-08-20 | 2014-02-27 | 国立大学法人東京工業大学 | 外力推定装置及び鉗子システム |
CN105034010A (zh) * | 2014-04-30 | 2015-11-11 | 发那科株式会社 | 进行机器人的灵活控制的控制装置 |
JP2015208836A (ja) * | 2014-04-30 | 2015-11-24 | ファナック株式会社 | ロボットの柔軟制御を行う制御装置 |
CN105034010B (zh) * | 2014-04-30 | 2016-10-12 | 发那科株式会社 | 进行机器人的灵活控制的控制装置 |
US9676099B2 (en) | 2014-04-30 | 2017-06-13 | Fanuc Corporation | Control device for performing flexible control of robot |
JP2019009685A (ja) * | 2017-06-27 | 2019-01-17 | 日本精工株式会社 | 機器制御システム及び遠隔調整システム |
WO2019092843A1 (ja) * | 2017-11-10 | 2019-05-16 | オリンパス株式会社 | 医療用マニピュレータシステムとその作動方法 |
US11553975B2 (en) | 2017-11-10 | 2023-01-17 | Olympus Corporation | Medical manipulator system and method for operating same |
Also Published As
Publication number | Publication date |
---|---|
US20120150347A1 (en) | 2012-06-14 |
JP5238885B2 (ja) | 2013-07-17 |
JPWO2011036750A1 (ja) | 2013-02-14 |
US8428779B2 (en) | 2013-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5238885B2 (ja) | ロボット制御装置 | |
JP5242342B2 (ja) | ロボット制御装置 | |
JP5383911B2 (ja) | ロボット制御装置 | |
JP6648913B2 (ja) | 制御方法、ロボット装置、プログラム、記録媒体、物品の製造方法、及び駆動装置 | |
EP3023208B1 (en) | Control device for motor drive device, control device for multi-axial motor, and control method for motor drive device | |
US10690558B2 (en) | Robot collision detection method | |
US8442685B2 (en) | Robot control apparatus | |
JP4319232B2 (ja) | パワーアシスト装置およびその制御方法 | |
JP6512790B2 (ja) | ロボット制御方法、ロボット装置、プログラム、記録媒体及び物品の製造方法 | |
US9874865B2 (en) | Control method and control device | |
US8543239B2 (en) | Robot control apparatus | |
JP4836872B2 (ja) | 制御装置、制御方法、プログラム及びロボット | |
JP2017056549A (ja) | ロボット装置、ロボット制御方法、プログラム、記録媒体及び組立部品の製造方法 | |
JP5869991B2 (ja) | 駆動装置 | |
JP7068133B2 (ja) | 制御システム、制御方法、及び制御プログラム | |
JP2006116650A (ja) | ロボットの衝突検出方法 | |
JP2013255981A (ja) | ロボット制御装置および撓み補正方法 | |
JP5614232B2 (ja) | ロボットハンドの制御装置、制御方法、及び制御用プログラム | |
JP2011175308A (ja) | 工作機械の送り駆動系の制御方法及び制御装置 | |
JP2016005296A (ja) | モータ駆動装置の制御方法、モータ駆動装置及びロボット装置 | |
JP2011015550A (ja) | 機械装置の制御装置及び機械装置の特性同定方法 | |
JP5299255B2 (ja) | ロボット制御装置 | |
JP2006119958A (ja) | ロボット制御装置およびその制御方法 | |
JP2020183021A (ja) | 制御方法、制御プログラム、記録媒体、ロボットシステム、ロボット装置、生産システム、物品の製造方法および外部入力装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09849781 Country of ref document: EP Kind code of ref document: A1 |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011532829 Country of ref document: JP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09849781 Country of ref document: EP Kind code of ref document: A1 |