WO2013038544A1 - ロボットシステム及びロボット制御装置 - Google Patents
ロボットシステム及びロボット制御装置 Download PDFInfo
- Publication number
- WO2013038544A1 WO2013038544A1 PCT/JP2011/071137 JP2011071137W WO2013038544A1 WO 2013038544 A1 WO2013038544 A1 WO 2013038544A1 JP 2011071137 W JP2011071137 W JP 2011071137W WO 2013038544 A1 WO2013038544 A1 WO 2013038544A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- angular velocity
- joint
- command
- velocity command
- 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/1643—Programme controls characterised by the control loop redundant control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/06—Control stands, e.g. consoles, switchboards
-
- 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/39435—Free movable unit has push buttons for other than position, orientation 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40336—Optimize multiple constraints or subtasks
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40349—Optimize manipulability measure function
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40367—Redundant manipulator
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40371—Control trajectory to avoid joint limit as well as obstacle collision
-
- 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/40—Robotics, robotics mapping to robotics vision
- G05B2219/40381—Control trajectory in case of joint limit, clamping of joint
Definitions
- the present invention relates to a robot system and a robot control device.
- Patent Document 1 discloses a robot motion trajectory teaching method capable of creating motion trajectory teaching data using a robot having redundant degrees of freedom that do not affect robot work other than the freedom required for work by the robot. Is described. This motion trajectory teaching method is characterized in that the redundancy degree of freedom is an element and the redundancy degree of freedom is determined based on an evaluation function expressing the margin of the joint angle space of the robot.
- a robot control device for controlling the robot includes: a first command generation unit that generates a first joint angular velocity command of the robot based on the input velocity command of the control point of the robot; While the signal A is being input, based on the evaluation function A, a limit avoidance command generation unit that generates a joint angular velocity command A of the robot for avoiding a state where the robot becomes an operation limit; While the signal B is being input, based on the evaluation function B, a posture optimization command generation unit that generates a joint angular velocity command B of the robot for optimizing the posture of the robot; A zero-space matrix calculator for calculating a zero-space matrix of a Jacobian matrix related to the control points; A second command generation unit that generates a second joint angular velocity command of the robot based on the joint angular velocity command A
- a first command generation unit that generates a first joint angular velocity command of the robot based on a velocity command of a control point of a robot having a plurality of joint axes including redundant axes, While the signal A is being input, based on the evaluation function A, a limit avoidance command generation unit that generates a joint angular velocity command A of the robot for avoiding a state where the robot becomes an operation limit; While the signal B is being input, based on the evaluation function B, a posture optimization command generation unit that generates a joint angular velocity command B of the robot for optimizing the posture of the robot; A zero-space matrix calculator for calculating a zero-space matrix of a Jacobian matrix related to the control points; A second command generation unit that generates a second joint angular velocity command of the robot based on the joint angular velocity command A, the joint angular velocity command B, and the zero space matrix; A robot control device having a control unit for controlling a servo motor based on a
- the operability of the redundant robot can be improved as compared with the case without the configuration of the present invention.
- FIG. 1 is a configuration diagram of a robot system according to a first embodiment of the present invention.
- FIG. It is a flowchart which shows operation
- It is explanatory drawing of the display screen provided in the teaching pendant which the robot system has. It is a functional block diagram of the teaching pendant which the robot system has.
- a robot system 10 includes a robot 12 having first to seventh joint axes J1 to J7, and a robot control apparatus that controls the operation of the robot 12. 14 and a teaching pendant 16 for teaching the position and orientation of the robot 12.
- the robot coordinate system Cr shown in FIG. 1 has, for example, a point on the first joint axis J1 of the robot 12 as an origin, an X axis extending in the front-rear direction of the robot 12, a Y axis extending in the left-right direction, and a vertical direction. It is an orthogonal coordinate system consisting of the extending Z axis.
- the robot 12 is a redundant robot, for example, a 7-axis vertical articulated robot including the joint axis J3 as a redundant axis.
- Each of the joint axes J1 to J7 is driven by a servo motor (not shown) with a built-in encoder.
- the robot 12 is not limited to a seven-axis vertical articulated robot.
- Another example of the robot is a robot having redundant joint axes with respect to the degree of freedom of the robot work space.
- a three-axis robot having only three joints that rotate around the Y axis of the robot coordinate system Cr has redundancy with respect to the XZ plane. Therefore, this three-axis robot is a robot having redundant joint axes with respect to the movement on the XZ plane. That is, the robot may be a redundant robot having redundant degrees of freedom regardless of the number of axes of the joints and the axis configuration.
- the robot control device 14 is connected to the robot 12.
- the robot controller 14 includes a first command generation unit 14a, a limit avoidance command generation unit 14b, a posture optimization command generation unit 14c, a zero space matrix calculation unit 14d, a second command generation unit 14e, It has a speed control unit (an example of a control unit) 14f and a monitoring unit 14g.
- the robot control device 14 includes a CPU (not shown), and the function of each block shown in FIG. 1 is realized by a software program or hardware executed by the CPU.
- the first command generation unit 14a receives a joint angular velocity command (first joint command) based on the speed command V.
- Angular velocity command) ⁇ ref1 can be generated.
- the limit avoidance command generation unit 14b can output a joint angular velocity command (joint angular velocity command A) ⁇ LMT for the robot 12 to avoid the limit.
- the signal A will be described later.
- the limit means a state in which the robot 12 becomes an operation limit, and includes, for example, the following first to third limits.
- the first limit is a limit when the joint axis reaches the movable limit angle.
- the movable limit angle includes a movable limit angle that is mechanically determined by the design of the robot 12 and a movable limit angle that is arbitrarily set on the software, and any limit can be applied.
- the second limit is a limit when the robot 12 approaches an obstacle (for example, a peripheral device or another robot) up to a distance set on the software.
- the third limit is a limit when the robot 12 approaches the singular posture to the range set on the software.
- the robot that has reached the third limit is given an excessive joint angular velocity command.
- the unique posture of the robot is a posture in which a specific degree of freedom is lost due to a kinematic state such as the position of the joint of the robot and the direction of the rotation axis.
- the joint angular velocities of these joints becomes excessive.
- the limit avoidance command generation unit 14b corresponds to the type of limit described above, 1) a joint angular velocity command ⁇ JLC for avoiding the first limit, and 2) a joint angular velocity command ⁇ for avoiding the second limit. OAC and 3) A joint angular velocity command ⁇ SAC for avoiding the third limit can be generated. A detailed method for generating these joint angular velocity commands ⁇ JLC , ⁇ OAC , ⁇ SAC will be described later.
- the limit avoidance command generation unit 14b can output the sum of the generated joint angular velocity commands ⁇ JLC , ⁇ OAC , ⁇ SAC as the joint angular velocity command ⁇ LMT .
- the posture optimization command generation unit 14c can output a joint angular velocity command (joint angular velocity command B) ⁇ OPT for optimizing the posture of the robot 12.
- the signal B will be described later.
- examples of the optimization of the posture of the robot 12 include the following first and second optimizations.
- the first optimization is optimization for shortening the operation time of the robot 12.
- the second optimization is an optimization for improving the maneuverability of the robot 12.
- the posture optimization command generation unit 14c provides 1) a joint angular velocity command ⁇ TMC for shortening the operation time and 2) a joint angular velocity command ⁇ SAC for improving the manipulability, corresponding to the type of optimization. Can be generated. A detailed method for generating the joint angular velocity commands ⁇ TMC and ⁇ SAC will be described later. Note that the type of optimization is determined based on the value of the signal B SEL output from the teaching pendant 16. The posture optimization command generation unit 14c can output the generated joint angular velocity commands ⁇ TMC and ⁇ SAC as the joint angular velocity command ⁇ OPT .
- the zero space matrix calculation unit 14 d can calculate the zero space matrix N of the Jacobian matrix J related to the hand of the robot 12 (an example of a control point) based on the joint angle of the robot 12. Specifically, the zero space matrix calculation unit 14d obtains the position and orientation of the hand of the robot 12 and the directions of the joint axes J1 to J7 from the joint angle (current value of the joint angle), and zeros the Jacobian matrix related to the hand of the robot 12. A spatial matrix can be calculated.
- the zero-space matrix is an arithmetic matrix for generating an operation command with a redundancy degree of freedom while maintaining the position and orientation of the hand in the redundant robot.
- this motion command is not a command for a specific axis as a redundant axis, but a command for a redundancy degree of freedom (joint degree of freedom that does not affect the position and orientation of the hand). All or some of the axes are included, and differ according to the posture and motion direction of the robot for each control cycle.
- a three-axis robot having only three joint axes (first to third joint axes) that rotate about the Y axis of the robot coordinate system Cr will be described as an example of the control target axis.
- the control target axis as the redundancy degree of freedom is not limited to one of the first to third joint axes of the three-axis robot, but the robot coordinate system Cr is maintained while maintaining the hand position. At least one of the first to third joint axes that can be rotated about the Y axis (the posture can be changed).
- Which joint axis is the control target axis is calculated using a zero-space matrix. For example, when the third joint axis reaches the motion limit and cannot contribute to the movement of moving the hand in the Z-axis direction or the X-axis direction, the control target axis as the redundancy degree of freedom is the first joint axis and the first joint axis. 2 joint axes.
- the zero space matrix N is calculated by the following equation based on the Jacobian matrix J related to the hand, the pseudo inverse matrix J + of the Jacobian matrix, and the unit matrix I.
- a Jacobian matrix of the control target location is used.
- the joint angle and joint angular velocity of the robot 12 are obtained based on the result of multiplying the encoder value fed back from the encoder by the reduction ratio.
- the second command generation unit 14e can generate a joint angular velocity command (second joint angular velocity command) ⁇ ref2 based on the joint angular velocity command ⁇ LMT , the joint angular velocity command ⁇ OPT , and the zero space matrix N.
- the generated joint angular velocity command ⁇ ref2 is added to the joint angular velocity command ⁇ ref1 generated by the first command generation unit 14a to become a joint angular velocity command (third joint angular velocity command) ⁇ ref3 (see FIG. 1).
- the position / speed control unit 14f can control the position / speed of each joint by controlling the servo motor based on the difference e between the joint angular speed command ⁇ ref3 and the joint angular speed feedback ⁇ fb.
- the joint angular velocity command ⁇ ref3 is used as a command to the position / speed control unit 14f.
- a joint angle command obtained by adding the joint angular velocity command ⁇ ref3 to the current joint angle of the robot 12 may be used as a command to the position / speed control unit 14f.
- the position / speed control unit 14f is provided in an amount corresponding to the number of joint axes J1 to J7 constituting the robot 12.
- the monitoring unit 14g can determine whether or not the robot 12 has reached the limit. When the limit is reached, the monitoring unit 14g can stop the operation of the robot 12 and output an alarm. Specifically, the monitoring unit 14g can determine whether or not the first limit has been reached by monitoring the angles of the joint axes J1 to J7. In addition, the monitoring unit 14g can calculate the distance between the robot 12 and the obstacle based on the position and size of the obstacle registered in advance and determine that the second limit has been reached. When the position and dimensions of the obstacle are not registered in the robot control device 14 in advance, it is possible to determine that the operator has reached the second limit by visual observation and stop the operation of the robot 12.
- the monitoring unit 14g monitors the posture of the robot 12 (the current value ⁇ fb of the joint angle of the robot 12) and the joint angular velocity command ⁇ ref3. Thus, it can be determined whether or not the third limit has been reached.
- the unique posture of the robot 12 is a posture in which the second joint axis J2, the fourth joint axis J4, and the sixth joint axis J6 are aligned. The unique posture of the robot differs depending on the link configuration.
- the teaching pendant 16 is connected to the robot control device 14.
- the teaching pendant 16 includes a jog operation button 20, a first limit avoidance button (an example of a first signal output unit) 21, a first posture optimization button (an example of a second signal output unit) 22, and a display screen. 32 is provided.
- the operator of the robot 12 can jog the robot 12 using the jog operation button 20 provided on the teaching pendant 16 to teach the work program of the robot 12. Further, the operator can perform a reproduction operation of the work program using the reproduction button 19 provided on the teaching pendant 16. Further, the operator can use the teaching pendant 16 to move a control target portion (control point) of the robot 12 based on a designated coordinate system.
- control target location is, for example, the hand of the robot 12.
- Other examples of the control target location include a specific part of the joint of the robot 12 and the tip of an end effector attached to the hand.
- the designated coordinate system is, for example, a robot coordinate system Cr.
- the hand of the robot 12 is moved in the X axis direction, the Y axis direction, the Z axis direction, the rotation direction around the X axis, the rotation direction around the Y axis, and the Z axis. It can be moved in the direction of rotation around the axis.
- Other examples of the designated coordinate system include a joint coordinate system and a coordinate system arbitrarily set by the operator of the robot 12.
- the jog operation button 20 is a button for the operator to jog the robot 12.
- the teaching pendant 16 outputs a preset hand speed command V.
- the first limit avoidance button 21 is a button for the operator to instruct to avoid the limit. When the first limit avoidance button 21 is pressed, the teaching pendant 16 outputs a signal A. The first limit avoidance button 21 performs a momentary operation. That is, the teaching pendant 16 outputs the signal A while the first limit avoidance button 21 is pressed.
- the first posture optimization button 22 is a button for the operator to instruct to optimize the posture of the robot 12.
- the teaching pendant 16 outputs a signal B when the first posture optimization button 22 is pressed.
- the first posture optimization button 22 performs a momentary operation. That is, the teaching pendant 16 outputs the signal B while the first posture optimization button 22 is pressed.
- the display screen 32 of the teaching pendant 16 includes a display area corresponding to the function of the robot control device 14 and information such as characters and images is displayed in the display area.
- the display screen 32 displays a display area D1 on the left side and an upper right side as shown in FIG. 5, for example.
- An area D2 and a display area D3 are formed in the lower right portion.
- a teaching program describing teaching data of the robot 12 is displayed in the display area D2.
- a graphics image representing the current posture of the robot 12 is displayed in the display area D2.
- a graphics image representing the robot 12 whose posture is optimized is displayed.
- the teaching pendant 16 includes a posture optimization command generation unit 16c, a zero space matrix calculation unit 16d, a second command generation unit 16e, a robot model drawing unit (an example of a drawing unit) 16r, It has further.
- the posture optimization command generation unit 16 c operates in substantially the same manner as the posture optimization command generation unit 14 c provided in the robot control device 14.
- the posture optimization command generation unit 16 c can output a joint angular velocity command ⁇ OPTa for optimizing the posture of the robot 12.
- the zero space matrix calculation unit 16d operates in substantially the same manner as the zero space matrix calculation unit 14d provided in the robot control device 14.
- the zero space matrix calculation unit 16d can calculate the zero space matrix Na of the Jacobian matrix related to the hand of the robot model based on the joint angle ⁇ m fb output from the robot model drawing unit 16r.
- the second command generation unit 16e operates in substantially the same manner as the second command generation unit 14e provided in the robot control device 14.
- the second command generation unit 16e can generate the joint angular velocity command ⁇ ref2a based on the joint angular velocity command ⁇ OPTa and the zero space matrix Na.
- the generated joint angular velocity command ⁇ ref2a is integrated by the integrator 16i, it is added to the current value ⁇ fb joint angles of the robot 12 transmitted from the robot controller 14, a joint angle theta m.
- the robot model drawing unit 16 r can create a graphics image of the robot 12 based on the joint angle of the robot 12 and draw it on the display screen 32. Based on the current value ⁇ fb of the joint angle of the robot 12 transmitted from the robot control device 14, the robot model drawing unit 16r can draw a graphics image of the robot model having the joint angle ⁇ fb in the display area D2. If the joint angle ⁇ fb of the robot 12 changes, the robot model drawing unit updates the drawing of the graphics image as needed.
- the robot model rendering unit 16r based on the joint angle theta m, can draw graphics image of the robot model the angle of the joint an angle theta m in the display region D3.
- the teaching pendant 16 is provided with a switching button 25 (see FIG. 1) for switching an object to be operated by the operator to either the actual robot 12 or the robot model displayed in the display area D3.
- the posture optimization command generation unit 16c, the zero space matrix calculation unit 16d, the second command generation unit 16e, and the robot model drawing unit 16r are not necessarily provided in the teaching pendant 16. That is, a part of the posture optimization command generation unit 16c, the zero space matrix calculation unit 16d, the second command generation unit 16e, and the robot model drawing unit 16r is provided in, for example, the robot control device 14, and the robot control device 14 A similar configuration can also be realized by the teaching pendant 16 communicating with each other to transmit and receive data.
- the operator can operate the position and orientation of the hand of the robot 12 by pressing the jog operation button 20.
- the operator presses the first limit avoidance button 21 and moves all the joint axes J1 to J7 of the robot 12 including the redundant axis J3.
- the limit can be avoided while operating and maintaining the position and orientation of the hand.
- the operator presses the first posture optimization button 22 to operate all joint axes J1 to J7 of the robot 12 including the redundant axis J3, and optimizes the posture of the robot 12 while maintaining the position and posture of the hand.
- Step Sa1 The operator presses the jog operation button 20 to move the hand of the robot 12 to a desired position and orientation.
- a hand speed command V is input from the teaching pendant 16 to the first command generation unit 14a shown in FIG.
- the first command generation unit 14a generates the joint angular velocity command ⁇ ref1 using Expression (2) based on the hand speed command V and the pseudo inverse matrix J + of the Jacobian matrix related to the hand of the robot 12.
- the first command generation unit 14a may generate the joint angular velocity command ⁇ ref1 without using Equation (2).
- the first command generation unit 14a can generate the joint angular velocity command ⁇ ref1 by integrating the hand speed command V and converting it into a hand position command and then performing inverse kinematic calculation.
- Step Sa2 The monitoring unit 14g determines whether or not the robot 12 has reached the limit. When the monitoring unit 14g determines that the robot 12 has reached the limit, the robot 12 is stopped and an alarm is output. Thereafter, a limit avoidance operation for avoiding the limit shown in the next step Sa3 is executed. When the monitoring unit 14g determines that the robot 12 has not reached the limit, the process proceeds to step Sa4.
- Step Sa3 When the operator of the robot 12 lifts his / her finger from the jog operation button 20 and presses the first limit avoidance button 21, the signal A is input to the limit avoidance command generation unit 14 b (see FIG. 1). Sa32 (see FIG. 3) is processed in order. As a result, the robot 12 executes a limit avoidance operation for avoiding the limit.
- the limit avoidance command generation unit 14b calculates joint angular velocity commands ⁇ JLC , ⁇ OAC , ⁇ SAC for avoiding the first to third limits corresponding to the alarm output from the monitoring unit 14g.
- ⁇ JLC , ⁇ OAC , ⁇ SAC a calculation method of each joint angle command ⁇ JLC , ⁇ OAC , ⁇ SAC will be described.
- the processing of Expression (3), Expression (4a), and Expression (4b) is performed for each joint axis J1 to J7.
- the coefficient K JLC is the gain (weight) of the joint angular velocity command.
- the angle ⁇ LIM is a set angle set as an angle (movable limit angle) for limiting the movable range of each joint.
- the angle ⁇ is the current value of the angle of each joint.
- the angle ⁇ ⁇ and the angle ⁇ + are the upper limit and the lower limit of the set angle ⁇ LIM , respectively, and represent a limited region where the evaluation function V JLC is calculated (see FIG. 7).
- the evaluation function V JLC is calculated only for the joint that has entered the restricted area, and the evaluation function V JLC is set to 0 for the other joints.
- the joint angle command becomes 0.
- the evaluation function V JLC is obtained based on the magnitude of the difference between the set angle ⁇ LIM and the angle feedback (current value of the joint angle) ⁇ of each joint, as shown in Expression (4b). Therefore, the joint angular velocity command ⁇ JLC is calculated from the gradient of the evaluation function V JLC so that the joint moves away from the joint movable range.
- the matrix JP is a nearest point Jacobian matrix calculated from a location (nearest point) closest to the obstacle of the robot 12. Note that the nearest point is newly calculated when the current value of the joint angle of the robot 12 is changed while the robot 12 avoids the limit.
- the process of Expression (5) is performed for each joint axis J1 to J7.
- the processing of Expression (6a) and Expression (6b) is performed for each axis (X axis, Y axis and Z axis) of the robot coordinate system Cr.
- the coefficient K OAC is the gain (weight) of the avoidance command.
- the distance D LIM is a set distance set as a distance at which the robot 12 can approach the obstacle.
- the obstacle is set as model data in the robot controller 14 by reading, for example, CAD data or model data of an offline simulator. As another example, the obstacle is set by actually measuring the obstacle data using a camera, a laser sensor, or the like. As another example, the obstacle is set by the operator operating the teaching pendant 16.
- the distance D is the shortest distance from the obstacle to the robot 12.
- Distance D - and the distance D + is a upper and lower limits of the respective distance D LIM, represent a restriction area evaluation function V OAC is calculated (see FIG. 8).
- the evaluation function V OAC is calculated when the robot 12 enters the restricted area, and the evaluation function V OAC is set to 0 otherwise.
- the joint angular velocity command ⁇ OAC becomes zero.
- the evaluation function V OAC is obtained based on the magnitude of the difference between the distance D LIM and the distance D, as shown in Expression (6b). Therefore, from the gradient of the evaluation function V OAC and Jacobian matrix J P, the robot 12 is joint angular velocity command phi OAC is calculated away from the obstacle.
- the processing of Expression (7), Expression (8a), and Expression (8b) is performed for each joint axis J1 to J7.
- the coefficient K SAC is a gain (weight) of the joint angular velocity command.
- the angular velocity command ⁇ is an angular velocity command for each joint.
- the angular velocity ⁇ ⁇ and the angular velocity ⁇ + are the upper and lower limits of the joint angular velocity command ⁇ , respectively, and represent the limiting angular velocities at which the evaluation function V SAC is calculated.
- the evaluation function V SAC is calculated only for a joint that exceeds the limit angular velocity ⁇ ⁇ , ⁇ + and the joint angular velocity command ⁇ is given, and the other joints are evaluated functions.
- Set V SAC to 0.
- the joint angular velocity command ⁇ SAC becomes zero.
- the case classification of Expression (8a) and Expression (8b) is performed based on the angular velocity command ⁇ .
- the unique posture is determined before dividing the case. That is, the determination regarding the posture of the robot 12 is performed in advance, and after determining that it is a unique posture, the equations (8a) and (8b) are calculated.
- the evaluation function V SAC is obtained based on the manipulability of the hand of the robot 12 as shown in the equation (8b). Therefore, the joint angular velocity command ⁇ SAC is calculated from the gradient of the evaluation function V SAC so that the joint moves away from the singular point.
- the limit avoidance command generator 14b outputs the generated joint angular velocity commands ⁇ JLC , ⁇ OAC , ⁇ SAC as the joint angular velocity command ⁇ LMT .
- the limit avoidance command generation unit 14b outputs the sum of the generated joint angular velocity commands ⁇ JLC , ⁇ OAC , ⁇ SAC as the joint angular velocity command ⁇ LMT . That is, when two or more limits occur, the sum of the joint angular velocity commands for avoiding the corresponding limits becomes the joint angular velocity command ⁇ LMT .
- Second command generating unit 14e is a joint angular velocity command omega LMT to avoid the limit while maintaining the position and orientation of the hand using the null space matrix N calculated by the following equation, the calculated joint angular velocity command omega LMT Is generated as a joint angular velocity command ⁇ ref2.
- the control target axis is determined as the redundancy degree of freedom in each control cycle, and the joint angular velocity command ⁇ LMT is calculated.
- joint angular velocity command phi LMT limit avoidance command generating unit 14b has output, joint angular velocity command phi JLC for limit avoidance, phi OAC, which is the sum of phi SAC.
- V LMT J ⁇ LMT type (10)
- V LMT is a virtual hand speed command calculated from ⁇ LMT .
- the first item ( ⁇ LMT ) in Expression (12) is a joint angular velocity for avoiding a limit.
- the second item of Expression (12) is a joint angular velocity command that minimizes the angular velocity norm among the joint angular velocities that generate VLMT . Since the first item and the second item are different, limit avoidance can be performed while maintaining the position and orientation of the hand.
- step Sa3 is performed by sequentially processing step Sa31 and step Sa32.
- the first limit avoidance button 21 is used, for example, the operator of the robot 12 can move the redundant axis in any direction and how many times the limit avoidance is achieved. This saves the trouble of worrying about the avoidance operation. That is, the operator can press the first limit avoidance button 21 to avoid the limit online. The operator can determine the operation angle of the joint of the actual robot 12 by adjusting the time for pressing the first limit avoidance button 21.
- Step Sa4 The operator determines whether the position and orientation of the hand of the robot 12 has reached a desired position and orientation. If it is determined that the operator has reached the desired position and orientation, the next step Sa5 is executed. On the other hand, if the operator determines that the desired position and orientation has not been reached, step Sa1 is executed. That is, the operator moves the robot 12 again using the teaching pendant 16. However, when the robot 12 reaches the limit (reaching limit) of the operation range, the robot 12 cannot move further in the predetermined direction.
- the reach limit is determined from design parameters such as the link length of the robot 12 and the range of motion of the joint. The reach limit is preset in the robot controller 14.
- Step Sa5 When the position / posture of the hand reaches a desired position / posture, the operator selects an optimization type (first optimization or second optimization), and the operator of the robot 12 takes the first posture.
- the optimization button 22 When the optimization button 22 is pressed, the signal BSEL and the signal B are input to the posture optimization command generation unit 14c. Thereafter, the following steps Sa51 and Sa52 (see FIG. 4) are processed in order. As a result, the posture optimizing operation for optimizing the posture of the robot 12 having the redundant degree of freedom while maintaining the position and posture of the hand using the redundant degree of freedom of the robot 12 is executed.
- Step Sa51 The posture optimization command generation unit 14c shown in FIG. 1 improves the joint angular velocity command ⁇ TMC or maneuverability for shortening the operation time according to the optimization type (value of the signal BSEL ) selected by the operator. Calculate the joint angular velocity command ⁇ SAC for. Note that the ⁇ SAC for avoiding the third limit generated by the limit avoidance command generation unit 14b and the ⁇ SAC for improvement of manipulability generated by the posture optimization command generation unit 14c are: Since both are commands to leave the singular point, the same variable ⁇ SAC is used.
- V TMC 0.5K TMC ( ⁇ TMC - ⁇ ) Formula 2 (14)
- the variable i indicates the joint axis number (1 to 7).
- the coefficient K TMC is the gain (weight) of the joint angular velocity command.
- the angle ⁇ TMC is a joint angle at the previous teaching point (the teaching point immediately before the current teaching point).
- Which axis is to be controlled depends on the posture and motion direction of the robot for each control cycle, and is calculated using the zero-space matrix N .
- the angle ⁇ is the current value of the angle of each joint.
- the evaluation function V TMC is obtained based on the magnitude of the difference between the angle ⁇ TMC and the angle feedback (current value of the angle of each joint) ⁇ of each joint. Therefore, a joint angular velocity command close to the previous teaching position, that is, a joint angular velocity command ⁇ TMC for shortening the operation time is calculated from the gradient of the evaluation function V TMC .
- the evaluation function V SAC is calculated based on the maneuverability of the robot 12, and the joint angular velocity command ⁇ SAC is calculated by the same method as the singular point avoidance in step Sa31. Generated.
- Step Sa52 The second command generation unit 14e shown in FIG. 1 calculates a joint angular velocity command ⁇ OPT for optimizing the posture of the robot 12 while maintaining the position and posture of the hand using the zero space matrix N by the following equation:
- the calculated joint angular velocity command ⁇ OPT is generated as the joint angular velocity command ⁇ ref2.
- the joint angular velocity command ⁇ OPT is one of the joint angular velocity commands ⁇ TMC and ⁇ SAC output by the posture optimization command generation unit 14 c for optimizing the posture of the robot 12.
- step Sa5 is performed by sequentially processing step Sa51 and step Sa52.
- the posture of the robot 12 can be optimized while maintaining the position and orientation of the hand by using the zero-space matrix N regarding the hand.
- step Sa5 the operator of the robot 12 can predict the behavior in the posture optimization operation of the robot 12 using the robot posture optimization support function.
- the robot posture optimization support function will be described below.
- the graphics image of the current robot model is drawn in the display area D2 by the robot model drawing unit 16r shown in FIG.
- the robot model drawing unit 16r draws a graphics image of the robot model whose posture is optimized in the display area D3.
- the operator presses the switching button 25 shown in FIG. 1 to switch the operation target from the actual robot 12 to the robot model displayed in the display area D3.
- an optimization type (first optimization or second optimization) is selected.
- a signal S (see FIG. 6) is input to the posture optimization command generation unit 16c of the teaching pendant 16.
- the posture optimization command generation unit 16c calculates a joint angular velocity command ⁇ OPTa corresponding to the optimization type selected by the operator of the robot 12.
- the second command generation unit 16e generates a joint angular velocity command ⁇ ref2a based on the joint angular velocity command ⁇ OPTa calculated by the posture optimization command generation unit 16c and the zero space matrix Na calculated by the zero space matrix calculation unit 16d.
- Robot model rendering unit 16r based on the joint angle present value ⁇ fb is added the joint angle of robotic 12 transmitted by the joint angular velocity command integral from the robot controller 14 theta m at integrator 16i, the joint drawing a graphics image of the robot model angle theta m in the display region D3. That is, the graphics image of the robot 12 with the posture optimized is displayed in the display area D3.
- the operator can determine the operation angle (degree of optimization) of the joint of the robot model by adjusting the time for pressing the first posture optimization button 22.
- the robot 12 optimized by the second optimization (optimization for improving the maneuverability) is drawn.
- the robot 12 drawn in the display area D3 has a higher degree of manipulability.
- the graphics image of the robot 12 with the posture optimized can be confirmed on the display region D3.
- a predetermined unified evaluation index for example, an evaluation function
- an individual evaluation index is selected for each teaching position, and the selected evaluation index is selected.
- the operator can select the optimization means for each teaching point.
- the operator presses the switching button 25 (see FIG. 1) again to switch the operation target from the robot model displayed in the display area D3 to the actual machine. .
- the operator can determine the final teaching position by optimizing the posture of the actual robot 12 with the degree of redundancy.
- the operator can determine the operation angle (degree of optimization) of the joint of the actual robot 12 by adjusting the time for pressing the first posture optimization button 22.
- the robot system can avoid the limit while maintaining the position and orientation of the hand before the robot 12 reaches the limit.
- the posture with redundant degrees of freedom can be optimized while maintaining the position and posture of the hand. That is, since the operator can determine the joint angle of the robot 12 including the redundancy degree of freedom online, the operability of the redundancy robot is improved.
- the teaching pendant 116 is further provided with a second limit avoidance button 121 and a second posture optimization button 122.
- the second limit avoidance button 121 is a button for the operator to instruct to avoid the limit.
- the teaching pendant 116 outputs a signal A.
- the second limit avoidance button 121 performs an alternate operation. That is, once the second limit avoidance button 121 is pressed, the teaching pendant 116 outputs the signal A until the second limit avoidance button 121 is pressed again.
- the second posture optimization button 122 is a button for the operator to instruct to optimize the posture of the robot 12.
- the teaching pendant 116 When the second posture optimization button 122 is pressed, the teaching pendant 116 outputs a signal B.
- the second posture optimization button 122 performs an alternate operation. In other words, once the second posture optimization button 122 is pressed, the teaching pendant 116 outputs the signal B until the second posture optimization button 122 is pressed again.
- Step Sb1 The robot controller 14 reads the obstacle and the model data of the robot 12 from the CAD data of the robot 12 or the offline simulator. As a result, an obstacle model is set in the robot controller 14.
- Step Sb2 The operator presses the second limit avoidance button 121 and the second posture optimization button 122 provided on the teaching pendant 116.
- Signal A and signal B output from the teaching pendant 116 are input to the limit avoidance command generation unit 14b and the posture optimization command generation unit 14c of the robot control device 14, respectively.
- Step Sb3 Further, the operator selects an optimization type (first optimization or second optimization).
- a signal B SEL corresponding to the type of optimization is input to the posture optimization command generation unit 14c.
- Step Sb4 When the operator moves the hand of the robot 12 to a desired position and orientation, when the jog operation button 20 is pressed and the robot 12 is jog-operated, the limit avoidance operation and the posture optimization operation are automatically executed.
- the joint angular velocity commands for the limit avoidance operation and the posture optimization operation are respectively obtained by the same method as the processing shown in Step Sa3 and Step Sa5 described in the first embodiment. That is, in this step Sb4, the joint angular velocity command ⁇ ref1 that realizes the hand velocity command V output by the first command generation unit 14a based on the equation (2) and the joint angular velocity command output by the second command generation unit 14e. ⁇ ref2 is added, and each joint angular velocity command ⁇ ref3 of the robot 12 is generated.
- This joint angular velocity command ⁇ ref2 optimizes the posture of the robot 12 while maintaining the position and orientation of the hand and the joint angular velocity command ⁇ LMT (see Equation (9)) for avoiding the limit while maintaining the position and orientation of the hand. Is the sum of the joint angular velocity command ⁇ OPT (see equation (17)).
- the teaching pendant 116 stops the output of the signal A and the signal B, and executes the limit avoidance operation or the posture optimization operation. Is released.
- the operator can perform only one of the limit avoidance operation or the posture optimization operation by pressing only one of the second limit avoidance button 121 or the second posture optimization button 122. is there.
- the limit avoidance operation and the posture optimization operation are automatically executed, so that the operability of the redundant robot is improved.
- the present invention is not limited to the above-described embodiments, and modifications can be made without changing the gist of the present invention.
- a case where the invention is configured by combining some or all of the above-described embodiments and modifications is also included in the technical scope of the present invention.
- the teaching pendant can be provided with only buttons corresponding to necessary functions among the first and second limit avoidance buttons and the first and second posture optimization buttons.
- the button is not limited to a hardware button.
- the button may be a button realized by software.
- the present invention can be applied not only to the case of using an actual robot as shown in the above-described embodiments, but also to the case of using a robot simulation model. That is, it can also be used to confirm the validity of the teaching program using an offline simulator.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
この動作軌跡教示方法は、冗長自由度を要素とし、ロボットの関節角度空間の余裕を表現する評価関数に基づいて冗長自由度を決定することを特徴としている。
前記ロボットを制御するロボット制御装置とを備え、
前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステムが適用される。
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置が適用される。
本発明の第1の実施例に係るロボットシステム10は、図1に示すように、第1~第7の関節軸J1~J7を有するロボット12と、このロボット12の動作を制御するロボット制御装置14と、ロボット12の位置姿勢を教示するための教示ペンダント16を備えている。
図1に示すロボット座標系Crは、例えば、ロボット12の第1の関節軸J1上にある点を原点とし、ロボット12の前後方向に延びるX軸、左右方向に延びるY軸、及び上下方向に延びるZ軸からなる直交座標系である。
ここで、リミットとは、ロボット12が動作限界となる状態をいい、例えば、以下の第1~第3のリミットがある。
第1のリミットは、関節軸が可動制限角度に到達する場合のリミットである。可動制限角度には、ロボット12の設計上、機械的に定まる可動制限角度と、ソフトウェア上で任意に設定される可動制限角度とがあり、いずれのリミットを適用することも可能である。
第2のリミットは、ロボット12が、ソフトウェア上で設定された距離まで障害物(例えば、周辺機器又は他のロボット)に接近する場合のリミットである。
第3のリミットは、ロボット12が、ソフトウェア上で設定された範囲まで特異姿勢に接近する場合のリミットである。第3のリミットに到達したロボットは過大な関節角速度指令が与えられる。ここで、ロボットの特異姿勢とは、ロボットの関節の位置と回転軸の方向などの運動学的な状態により、特定の自由度が失われた姿勢である。例えば、ロボット12の第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢で、特定方向に動作指令を与えると、これらの関節の関節角速度指令が過大になる。
リミット回避指令生成部14bは、生成した関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力できる。
ここで、ロボット12の姿勢の最適化には、例えば、以下の第1及び第2の最適化がある。第1の最適化は、ロボット12の動作時間を短縮するための最適化である。第2の最適化は、ロボット12の可操作度を向上させるための最適化である。
姿勢最適化指令生成部14cは、生成した各関節角速度指令φTMC、φSACを関節角速度指令φOPTとして出力できる。
このゼロ空間行列とは、冗長ロボットにおいて、手先の位置姿勢を維持したまま、冗長自由度の動作指令を生成するための演算行列である。ここで、この動作指令は、冗長軸という特定の軸のみに対する指令ではなく、冗長自由度(手先の位置姿勢に影響の無い関節自由度)に対する指令であって、制御対象軸は、冗長軸を含む全ての軸又は一部の軸であり、制御周期毎のロボットの姿勢、動作方向に応じて異なる。ここで、この制御対象軸について、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節軸(第1~第3の関節軸)のみを有する3軸ロボットを例に説明する。この場合の冗長自由度としての制御対象軸は、3軸ロボットの第1~第3の関節軸のうちの1つの関節軸に限られるのではなく、手先位置を維持したまま、ロボット座標系CrのY軸回りに回転できる(姿勢を変化させる事ができる)第1~第3の関節軸のうちの少なくとも1つの関節軸である。いずれの関節軸を制御対象軸とするかはゼロ空間行列を用いて計算される。例えば、第3の関節軸が動作リミットに到達し、Z軸方向又はX軸方向へ手先を移動させる動作に寄与できない場合には、冗長自由度としての制御対象軸は第1の関節軸及び第2の関節軸となる。
ゼロ空間行列Nは、手先に関するヤコビ行列J、ヤコビ行列の擬似逆行列J+、単位行列Iに基づいて、次式により計算される。
なお、ロボット12の関節角度及び関節角速度は、エンコーダからフィードバックされたエンコーダ値に減速比を乗算した結果に基づいて求められる。
なお、位置速度制御部14fは、ロボット12を構成する関節軸J1~J7の数に対応する分だけ設けられている。
具体的には、監視部14gは、各関節軸J1~J7の角度を監視することによって、第1のリミットに到達したか否かを判定できる。
また、監視部14gは、予め登録された障害物の位置及び寸法に基づいてロボット12と障害物との距離を計算し、第2のリミットに到達したことを判定できる。障害物の位置及び寸法が予めロボット制御装置14に登録されていない場合には、操作者が目視により第2のリミットに到達したことを判定し、ロボット12の動作を停止することもできる。
また、監視部14gは、ロボット12が特異姿勢に接近すると過大な関節角速度指令ωref3が生成されるので、ロボット12の姿勢(ロボット12の関節角度の現在値θfb)と関節角速度指令ωref3を監視することによって、第3のリミットに到達したか否かを判定できる。ロボット12の特異姿勢は、第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢である。ロボットの特異姿勢は、リンクの構成によって異なる。
ロボット12の操作者は、教示ペンダント16に設けられたジョグ操作ボタン20を用いて、ロボット12をジョグ操作し、ロボット12の作業プログラムの教示を行うことができる。
また、操作者は、教示ペンダント16に設けられた再生ボタン19を用いて作業プログラムの再生動作を行うことができる。
更に、操作者は、教示ペンダント16を用いて、ロボット12の制御対象箇所(制御点)を指定の座標系に基づいて動作させることができる。
姿勢最適化指令生成部16cは、ロボット制御装置14に設けられた姿勢最適化指令生成部14cと実質的に同じように動作する。姿勢最適化指令生成部16cは、信号Sが入力されると、ロボット12の姿勢を最適化するための関節角速度指令φOPTaを出力できる。
また、ロボットモデル描画部16rは、関節角度θmに基づいて、関節の角度が角度θmとなるロボットモデルのグラフィックス画像を表示領域D3に描画できる。
教示ペンダント16には、操作者が操作する対象を実機のロボット12及び表示領域D3に表示されるロボットモデルのいずれか一方に切り替える切り替えボタン25(図1参照)が設けられている。
操作者は、ジョグ操作ボタン20を押して、ロボット12の手先の位置姿勢を操作できる。手先の位置姿勢を操作している間に、ロボット12がリミットに到達した場合、操作者は、第1のリミット回避ボタン21を押し、冗長軸J3を含むロボット12の全関節軸J1~J7を動作させ、手先の位置姿勢を維持しながら、リミットを回避できる。また、操作者は、第1の姿勢最適化ボタン22を押し、冗長軸J3を含むロボット12の全関節軸J1~J7を動作させ、手先の位置姿勢を維持しながら、ロボット12の姿勢を最適化できる。
操作者がジョグ操作ボタン20を押して、ロボット12の手先を所望する位置姿勢に移動させる。
図1に示す第1の指令生成部14aに、教示ペンダント16から手先速度指令Vが入力される。第1の指令生成部14aは、手先速度指令V及びロボット12の手先に関するヤコビ行列の擬似逆行列J+に基づいて、式(2)を用いて関節角速度指令ωref1を生成する。
監視部14gが、ロボット12がリミットに到達したか否かを判定する。
監視部14gが、ロボット12がリミットに到達したと判断した場合には、ロボット12を停止し、アラームを出力する。その後、次ステップSa3に示すリミットを回避するためのリミット回避動作が実行される。
監視部14gが、ロボット12がリミットに到達していないと判断した場合には、ステップSa4に進む。
ロボット12の操作者がジョグ操作ボタン20から指を離し、第1のリミット回避ボタン21を押すと、信号Aがリミット回避指令生成部14b(図1参照)に入力され、以下のステップSa31及びステップSa32(図3参照)が順に処理される。
その結果、ロボット12は、リミットを回避するためのリミット回避動作を実行する。
リミット回避指令生成部14bが、監視部14gが出力したアラームに対応する第1~第3のリミットをそれぞれ回避するための関節角速度指令φJLC、φOAC、φSACを計算する。以下、各関節角度指令φJLC、φOAC、φSACの計算方法について説明する。
第1のリミットを回避するための関節角速度指令φJLCは、評価関数VJLC(評価関数Aの一例)に基づいて、式(3)、式(4a)、式(4b)により計算される。
VJLC = 0 式(4a)
θ―<θ<θ+以外の場合:
VJLC = 0.5KJLC(θLIM-θ)2 式(4b)
角度θLIMは、各関節の可動範囲を制限するための角度(可動限界角度)として設定された設定角度である。角度θは、各関節の角度の現在値である。
角度θ-及び角度θ+はそれぞれ、設定角度θLIMの上限及び下限であり、評価関数VJLCが計算される制限領域を表す(図7参照)。
評価関数VJLCは、式(4b)に示すように、設定角度θLIMと各関節の角度フィードバック(関節角度の現在値)θとの差の大きさに基づいて求められる。
従って、評価関数VJLCの勾配から、関節が関節可動域から遠ざかるように関節角速度指令φJLCが計算される。
第2のリミットを回避するための関節角速度指令φOACは、評価関数VOAC(評価関数Aの一例)に基づいて、式(5)、式(6a)、式(6b)により計算される。
VOAC = 0 式(6a)
D―<D<D+以外の場合:
VOAC = 0.5KOAC(DLIM-D)2 式(6b)
距離DLIMは、障害物に対しロボット12が接近可能な距離として設定された設定距離である。障害物は、例えば、CADデータやオフラインシミュレータのモデルデータを読み込むことによって、ロボット制御装置14にモデルデータとして設定される。また、他の例として、障害物は、カメラやレーザセンサ等を用いて障害物のデータを実測することによって設定される。更に、他の例として、障害物は、操作者が教示ペンダント16を操作することによって設定される。
距離Dは、障害物からロボット12までの最短距離である。
距離D―及び距離D+は、それぞれ距離DLIMの上限及び下限であり、評価関数VOACが計算される制限領域を表す(図8参照)。
評価関数VOACは、式(6b)に示すように、距離DLIMと距離Dとの差の大きさに基づいて求められる。
従って、評価関数VOACの勾配及びヤコビ行列JPから、ロボット12が障害物から遠ざかるように関節角速度指令φOACが計算される。
第3のリミットを回避するための関節角速度指令φSACは、評価関数VSAC(評価関数Aの一例)に基づいて、式(7)、式(8a)、式(8b)により計算される。
VSAC = 0 式(8a)
角速度指令ωは、各関節の角速度指令である。
角速度ω―及び角速度ω+は、それぞれ関節の角速度指令ωの上限と下限であり、評価関数VSACが計算される制限角速度を表す。
式(8a)、式(8b)の場合分けは、角速度指令ωに基づいて行われている。ただし、場合分けの前に特異姿勢の判定が行われる。つまり、ロボット12の姿勢に関する判定を事前に実施し、特異姿勢と判断した後に式(8a)、式(8b)が演算される。
評価関数VSACは、式(8b)に示すように、ロボット12の手先の可操作度に基づいて求められる。
従って、評価関数VSACの勾配から、関節が特異点から遠ざかるように関節角速度指令φSACが計算される。
ただし、リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力する。即ち、2つ以上のリミットが発生した場合には、該当するリミットをそれぞれ回避するための関節角速度指令の和が、関節角速度指令φLMTとなる。
第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMTを次式により計算し、計算した関節角速度指令ωLMTを、関節角速度指令ωref2として生成する。前述のように、ゼロ空間行列Nを用いることにより、各制御周期で、冗長自由度としての制御対象軸を決定し、関節角速度指令ωLMTを計算するのである。
ここで、VLMTはφLMTから計算された仮想的な手先速度指令である。
以上、ステップSa31及びステップSa32が順に処理されることによって、ステップSa3に示したリミット回避動作が行われる。
操作者が、ロボット12の手先の位置姿勢が所望の位置姿勢に到達したかを判断する。
操作者が所望の位置姿勢に到達したと判断した場合には、次ステップSa5が実行される。
一方、操作者が、所望の位置姿勢に到達していないと判断した場合には、ステップSa1が実行される。即ち、操作者が、教示ペンダント16を用いて、ロボット12を再度移動させる。ただし、ロボット12が動作範囲の限界(到達限界)に到達した場合、ロボット12は、それ以上は所定方向に移動できない。到達限界は、ロボット12のリンク長や関節可動域などの設計上のパラメータから決定される。到達限界は、ロボット制御装置14に予め設定されている。
手先の位置姿勢が所望する位置姿勢に到達した際に、操作者が、最適化の種類(第1の最適化又は第2の最適化)を選択し、ロボット12の操作者が第1の姿勢最適化ボタン22を押すと、信号BSEL及び信号Bが姿勢最適化指令生成部14cに入力される。その後、以下のステップSa51及びステップSa52(図4参照)が順に処理される。
その結果、ロボット12の冗長自由度を使用して、手先の位置姿勢を維持しながら冗長自由度を有するロボット12の姿勢を最適化する姿勢最適化動作が実行される。
図1に示す姿勢最適化指令生成部14cが、操作者によって選択された最適化の種類(信号BSELの値)に応じて、動作時間短縮のための関節角速度指令φTMC又は可操作度向上のための関節角速度指令φSACを計算する。なお、リミット回避指令生成部14bで生成される、第3のリミットを回避するためのφSACと、姿勢最適化指令生成部14cで生成される、可操作度向上のためのφSACとは、両者とも特異点から離そうとする指令なので、同じ変数φSACを用いている。
動作時間短縮のための関節角速度指令φTMCは、評価関数VTMC(評価関数Bの一例)に基づいて、式(13)、式(14)により計算される。
角度θTMCは、前教示点(現教示点の1つ前の教示点)における関節角度である。現教示点におけるロボット12の関節軸の関節角度を、前教示点におけるロボット12の関節軸の関節角度に近づけるように制御することで、前教示点から現教示点までのロボット12の動作時間が短縮される。いずれの軸を制御対象とするかは(動作時間短縮のための関節角速度指令を与えるかは)、制御周期毎のロボットの姿勢、動作方向に応じて異なり、ゼロ空間行列Nを用いて計算する。
角度θは、各関節の角度の現在値である。
従って、評価関数VTMCの勾配から、前教示位置に近い関節角速度指令、つまり動作時間を短縮する関節角速度指令φTMCが計算される。
可操作度向上のための関節角速度指令φSACは、評価関数VSAC(評価関数Bの一例)に基づいて、式(15)、式(16)により計算される。
図1に示す第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPTを次式により計算し、計算した関節角速度指令ωOPTを、関節角速度指令ωref2として生成する。
以上、ステップSa51及びステップSa52が順に処理されることによって、ステップSa5に示した姿勢最適化動作が行われる。
前述の通り、表示領域D2には、図6に示すロボットモデル描画部16rにより、現在のロボットモデルのグラフィックス画像が描画されている。また、ロボットモデル描画部16rにより、表示領域D3には、姿勢を最適化したロボットモデルのグラフィックス画像が描画されている。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、ロボットモデルの関節の動作角度(最適化の度合い)を決定できる。
また、予め決定された統一的な評価指標(例えば、評価関数)を使って全教示データに関する冗長自由度を決定するのでは無く、教示位置毎に個別の評価指標を選択し、選択した評価指標により冗長自由度を最適化できる。換言すると、動作プログラム内の教示データに関する位置全てを同じ評価指標で最適化するのではなく、教示点毎に、操作者が最適化手段を選択できる。
操作者は、実機のロボット12の冗長自由度の姿勢を最適化して、最終的な教示位置を決定できる。
なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、実機のロボット12の関節の動作角度(最適化の度合い)を決定できる。
続いて、本発明の第2の実施例に係るロボットシステムについて説明する。第1の実施例に係るロボットシステム10と同一の構成要素同じ符号を付して詳しい説明を省略する場合がある。
第2のリミット回避ボタン121は、操作者が、リミットを回避することを指示するためのボタンである。第2のリミット回避ボタン121が押されると、教示ペンダント116は、信号Aを出力する。第2のリミット回避ボタン121は、オルタネート動作する。つまり、教示ペンダント116は、第2のリミット回避ボタン121が一度押されると、再度第2のリミット回避ボタン121が押されるまで、信号Aを出力する。
ロボット制御装置14が、ロボット12のCADデータやオフラインシミュレータから障害物とロボット12のモデルデータを読み込む。その結果、ロボット制御装置14に、障害物のモデルが設定される。
操作者が教示ペンダント116に設けられた第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を押す。教示ペンダント116から出力された信号A及び信号Bが、それぞれロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cに入力される。
ロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cは、それぞれ関節角速度指令φLMT、φOPTを出力する。
また、操作者が最適化の種類(第1の最適化又は第2の最適化)を選択する。姿勢最適化指令生成部14cに、最適化の種類に応じた信号BSELが入力される。
操作者がロボット12の手先を所望する位置姿勢に移動させるため、ジョグ操作ボタン20を押して、ロボット12をジョグ操作すると、自動でリミット回避動作及び姿勢最適化動作が実行される。
Claims (9)
- サーボモータによって駆動され、冗長軸を含む複数の関節軸を有するロボットと、
前記ロボットを制御するロボット制御装置とを備え、
前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、前記ロボットの各関節の可動限界角度として設定された設定角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、障害物に前記ロボットが接近可能な距離として設定された設定距離と、該障害物から該ロボットまでの距離との差の大きさに基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1記載のロボットシステムにおいて、
前記評価関数Aは、前記ロボットの可操作度に基づいて計算され、
前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。 - 請求項1~4のいずれか1項に記載のロボットシステムにおいて、
前記評価関数Bは、前記ロボットの前教示点における各関節の角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。 - 請求項1~4のいずれか1項に記載のロボットシステムにおいて、
前記評価関数Bは、前記ロボットの可操作度に基づいて計算され、
前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。 - 請求項1~6のいずれか1項に記載のロボットシステムにおいて、
前記ロボットの位置姿勢を教示するための教示ペンダントを更に備え、
前記教示ペンダントが、前記信号Aを出力するための第1の信号出力部及び前記信号Bを出力するための第2の信号出力部を有するロボットシステム。 - 請求項7記載のロボットシステムにおいて、
前記教示ペンダントは、表示画面と、
前記表示画面に現在の前記ロボットの姿勢を表すグラフィックス画像、及び該姿勢を最適化する前記ロボットのグラフィックス画像をそれぞれ描画する描画部を更に有するロボットシステム。 - 冗長軸を含む複数の関節軸を有するロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/071137 WO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
EP11872273.5A EP2774729A4 (en) | 2011-09-15 | 2011-09-15 | ROBOTIC SYSTEM AND ROBOT CONTROL |
CN201180073381.0A CN103781602A (zh) | 2011-09-15 | 2011-09-15 | 机器人系统及机器人控制装置 |
US14/203,570 US9149931B2 (en) | 2011-09-15 | 2014-03-11 | Robot system, robot control device and method for controlling robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2011/071137 WO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/203,570 Continuation US9149931B2 (en) | 2011-09-15 | 2014-03-11 | Robot system, robot control device and method for controlling robot |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2013038544A1 true WO2013038544A1 (ja) | 2013-03-21 |
Family
ID=47882803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2011/071137 WO2013038544A1 (ja) | 2011-09-15 | 2011-09-15 | ロボットシステム及びロボット制御装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9149931B2 (ja) |
EP (1) | EP2774729A4 (ja) |
CN (1) | CN103781602A (ja) |
WO (1) | WO2013038544A1 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015062972A (ja) * | 2013-09-24 | 2015-04-09 | 本田技研工業株式会社 | ロボット |
JP2015526115A (ja) * | 2012-06-01 | 2015-09-10 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間を使用して手術用マニピュレータの命令された再構成を取るためのシステム及び方法 |
WO2015137167A1 (ja) * | 2014-03-14 | 2015-09-17 | 三菱重工業株式会社 | ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム |
JP2016514492A (ja) * | 2013-03-15 | 2016-05-23 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法 |
CN106217374A (zh) * | 2016-08-11 | 2016-12-14 | 广州成潮智能科技有限公司 | 一种智能机械臂的控制方法、装置及系统 |
JP2017196722A (ja) * | 2016-04-28 | 2017-11-02 | ファナック株式会社 | 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置 |
US10029367B2 (en) | 1999-09-17 | 2018-07-24 | Intuitive Surgical Operations, Inc. | System and method for managing multiple null-space objectives and constraints |
CN108326844A (zh) * | 2017-01-20 | 2018-07-27 | 香港理工大学深圳研究院 | 冗余度机械臂的可操作度优化的运动规划方法和装置 |
US20210069899A1 (en) * | 2017-12-14 | 2021-03-11 | Wittmann Kunststoffgeräte Gmbh | Method for validating programmed execution sequences or teaching programs for a robot in a working cell, and robot and/or robot controller for said method |
EP2868445B1 (de) * | 2013-11-05 | 2022-10-05 | KUKA Deutschland GmbH | Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9510911B2 (en) * | 1999-09-17 | 2016-12-06 | Intuitive Surgical Operations, Inc. | System and methods for managing multiple null-space objectives and SLI behaviors |
US9958862B2 (en) * | 2014-05-08 | 2018-05-01 | Yaskawa America, Inc. | Intuitive motion coordinate system for controlling an industrial robot |
CN104834230B (zh) * | 2015-05-19 | 2017-06-23 | 芜湖固高自动化技术有限公司 | 一种工业机器人教学培训系统及其控制方法 |
US9724826B1 (en) | 2015-05-28 | 2017-08-08 | X Development Llc | Selecting physical arrangements for objects to be acted upon by a robot |
US9682476B1 (en) | 2015-05-28 | 2017-06-20 | X Development Llc | Selecting robot poses to account for cost |
DE102015211865B3 (de) * | 2015-06-25 | 2016-05-12 | Kuka Roboter Gmbh | Verfahren zum redundanzoptimierten Planen eines Betriebs eines mobilen Roboters |
CN105234930B (zh) * | 2015-10-15 | 2017-05-24 | 哈尔滨工程大学 | 基于构形平面的冗余机械臂运动控制方法 |
CN105269565B (zh) * | 2015-10-30 | 2017-04-05 | 福建长江工业有限公司 | 一种六轴磨抛工业机器人离线编程及修正方法 |
CN105700385A (zh) * | 2016-04-21 | 2016-06-22 | 奇弩(北京)科技有限公司 | 机器人调试模拟平台 |
KR102116119B1 (ko) * | 2018-10-22 | 2020-05-27 | (주)미래컴퍼니 | 마스터 로봇 및 그 제어 방법 |
CN109746936B (zh) * | 2018-12-19 | 2021-05-04 | 深圳镁伽科技有限公司 | 机器人的关节限位方法、装置、系统及存储介质 |
SE542915C2 (en) * | 2019-01-08 | 2020-09-15 | Husqvarna Ab | A robotic lawnmover, and methods of navigating and defining a work area for the same |
US11034026B2 (en) * | 2019-01-10 | 2021-06-15 | General Electric Company | Utilizing optical data to dynamically control operation of a snake-arm robot |
CN110134062B (zh) * | 2019-04-17 | 2020-12-08 | 华中科技大学 | 一种基于强化学习的多轴数控机床加工路径优化方法 |
US11154985B1 (en) * | 2019-07-02 | 2021-10-26 | X Development Llc | Null space jog control for robotic arm |
JP7437910B2 (ja) * | 2019-10-29 | 2024-02-26 | 株式会社東芝 | 制御システム、制御方法、ロボットシステム、プログラム、及び記憶媒体 |
DE102019131400B4 (de) * | 2019-11-21 | 2022-03-10 | Franka Emika Gmbh | Kraftmessung und Krafterzeugung in redundanten Robotermanipulatoren |
US11904473B2 (en) | 2019-12-30 | 2024-02-20 | Intrinsic Innovation Llc | Transformation mode switching for a real-time robotic control system |
US11559893B2 (en) | 2020-04-02 | 2023-01-24 | Intrinsic Innovation Llc | Robot control for avoiding singular configurations |
CN111522351B (zh) * | 2020-05-15 | 2021-05-18 | 中国海洋大学 | 水下机器人三维编队及避障方法 |
US11679498B2 (en) | 2020-05-27 | 2023-06-20 | Intrinsic Innovation Llc | Robot execution system |
US11691283B2 (en) | 2020-05-27 | 2023-07-04 | Intrinsic Innovation Llc | Robot control parameter interpolation |
CN112847339A (zh) * | 2020-12-25 | 2021-05-28 | 珠海新天地科技有限公司 | 一种机器人模拟装置 |
CN114193436B (zh) * | 2021-12-07 | 2023-12-26 | 珠海格力智能装备有限公司 | 一种机器人工作空间优化方法、装置、存储介质和设备 |
US20230294275A1 (en) * | 2022-03-21 | 2023-09-21 | Intrinsic Innovation Llc | Robot programming |
CN114700952A (zh) * | 2022-04-24 | 2022-07-05 | 伍福人工智能(河南)有限公司 | 关节限位的控制方法、装置、终端设备以及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0596477A (ja) * | 1991-10-03 | 1993-04-20 | Mitsubishi Heavy Ind Ltd | マスタスレーブマニピユレータの制御方法 |
JPH05228864A (ja) * | 1992-02-19 | 1993-09-07 | Yaskawa Electric Corp | 冗長軸マニピュレータの肘移動制御装置 |
JPH06187020A (ja) | 1992-12-18 | 1994-07-08 | Kobe Steel Ltd | ロボットの動作軌跡教示方法 |
JPH0852674A (ja) * | 1994-08-12 | 1996-02-27 | Kobe Steel Ltd | マニピュレータの位置姿勢決定方法 |
JPH09109072A (ja) * | 1995-10-11 | 1997-04-28 | Mitsubishi Heavy Ind Ltd | 冗長マニピュレータの制御方法 |
JP2004094399A (ja) * | 2002-08-29 | 2004-03-25 | Mitsubishi Heavy Ind Ltd | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム |
JP2008238396A (ja) * | 2007-03-26 | 2008-10-09 | Honda Research Inst Europe Gmbh | ロボットのモーションの発生及び制御のための装置ならびに方法 |
JP2009521751A (ja) * | 2005-12-22 | 2009-06-04 | 本田技研工業株式会社 | 多関節システムの姿勢の再構築、リターゲット、軌道追従及び推定 |
JP2010082774A (ja) * | 2008-10-01 | 2010-04-15 | Kawasaki Heavy Ind Ltd | ロボット制御方法、ロボット制御装置、及びロボット操作装置 |
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS584377A (ja) * | 1981-03-18 | 1983-01-11 | 株式会社安川電機 | 関節形産業用ロボツトの制御装置 |
JPS6024603A (ja) * | 1983-07-20 | 1985-02-07 | Hitachi Ltd | ロボツトの制御方法 |
JPS60201408A (ja) * | 1984-03-26 | 1985-10-11 | Shin Meiwa Ind Co Ltd | 産業用ロボツト |
US5737500A (en) * | 1992-03-11 | 1998-04-07 | California Institute Of Technology | Mobile dexterous siren degree of freedom robot arm with real-time control system |
JP2003103482A (ja) | 2001-09-28 | 2003-04-08 | Nachi Fujikoshi Corp | 調整用パラメータの設定方法 |
CN100413657C (zh) * | 2003-07-29 | 2008-08-27 | 松下电器产业株式会社 | 控制机械手的方法 |
JP3946753B2 (ja) * | 2005-07-25 | 2007-07-18 | ファナック株式会社 | ロボットプログラム評価・修正方法及びロボットプログラム評価・修正装置 |
JP4605227B2 (ja) * | 2005-12-01 | 2011-01-05 | 株式会社村田製作所 | 転倒防止制御装置 |
US7859540B2 (en) | 2005-12-22 | 2010-12-28 | Honda Motor Co., Ltd. | Reconstruction, retargetting, tracking, and estimation of motion for articulated systems |
JP2010176503A (ja) * | 2009-01-30 | 2010-08-12 | Fanuc Ltd | 工作機械と工作機械に対して作業を行なうロボットを備えた加工システム |
-
2011
- 2011-09-15 CN CN201180073381.0A patent/CN103781602A/zh active Pending
- 2011-09-15 WO PCT/JP2011/071137 patent/WO2013038544A1/ja active Application Filing
- 2011-09-15 EP EP11872273.5A patent/EP2774729A4/en not_active Withdrawn
-
2014
- 2014-03-11 US US14/203,570 patent/US9149931B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0596477A (ja) * | 1991-10-03 | 1993-04-20 | Mitsubishi Heavy Ind Ltd | マスタスレーブマニピユレータの制御方法 |
JPH05228864A (ja) * | 1992-02-19 | 1993-09-07 | Yaskawa Electric Corp | 冗長軸マニピュレータの肘移動制御装置 |
JPH06187020A (ja) | 1992-12-18 | 1994-07-08 | Kobe Steel Ltd | ロボットの動作軌跡教示方法 |
JPH0852674A (ja) * | 1994-08-12 | 1996-02-27 | Kobe Steel Ltd | マニピュレータの位置姿勢決定方法 |
JPH09109072A (ja) * | 1995-10-11 | 1997-04-28 | Mitsubishi Heavy Ind Ltd | 冗長マニピュレータの制御方法 |
JP2004094399A (ja) * | 2002-08-29 | 2004-03-25 | Mitsubishi Heavy Ind Ltd | 多関節マニピュレータの制御方法及びその制御プログラム、並びにその制御システム |
JP2009521751A (ja) * | 2005-12-22 | 2009-06-04 | 本田技研工業株式会社 | 多関節システムの姿勢の再構築、リターゲット、軌道追従及び推定 |
JP2008238396A (ja) * | 2007-03-26 | 2008-10-09 | Honda Research Inst Europe Gmbh | ロボットのモーションの発生及び制御のための装置ならびに方法 |
JP2010082774A (ja) * | 2008-10-01 | 2010-04-15 | Kawasaki Heavy Ind Ltd | ロボット制御方法、ロボット制御装置、及びロボット操作装置 |
JP2010120124A (ja) * | 2008-11-20 | 2010-06-03 | Toyota Motor Corp | ロボットアームの教示システム及び方法 |
Non-Patent Citations (4)
Title |
---|
HIROHIKO ARAI: "Motion Planning of Discrete- time Nonholonomic Systems with Difference- Equation Constraints", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 18, no. 6, 15 September 2000 (2000-09-15), pages 65 - 72, XP055144172 * |
KANG, H.-J. ET AL.: "Joint torque optimization of redundant manipulators via the null space damping method", ROBOTICS AND AUTOMATION, 1992. PROCEEDINGS., 1992 IEEE INTERNATIONAL CONFERENCE, vol. 1, 12 May 1992 (1992-05-12), pages 520 - 525, XP010027861 * |
PODHORODESKI, R.P. ET AL.: "Resolving redundant manipulator joint rates and identifying special arm configurations using Jacobian null-space bases, Robotics and Automation", IEEE TRANSACTIONS ON, vol. 7, no. 5, October 1991 (1991-10-01), pages 607 - 618, XP000234417 * |
See also references of EP2774729A4 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10029367B2 (en) | 1999-09-17 | 2018-07-24 | Intuitive Surgical Operations, Inc. | System and method for managing multiple null-space objectives and constraints |
JP2015526115A (ja) * | 2012-06-01 | 2015-09-10 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間を使用して手術用マニピュレータの命令された再構成を取るためのシステム及び方法 |
JP2016514492A (ja) * | 2013-03-15 | 2016-05-23 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法 |
US10513031B2 (en) | 2013-03-15 | 2019-12-24 | Intuitive Surgical Operations, Inc. | System and method for managing multiple null-space objectives and constraints |
US11602840B2 (en) | 2013-03-15 | 2023-03-14 | Intuitive Surgical Operations, Inc. | System and methods for managing multiple null-space objectives and SLI behaviors |
US11173598B2 (en) | 2013-03-15 | 2021-11-16 | Intuitive Surgical Operations, Inc. | System and methods for managing multiple null-space objectives and SLI behaviors |
JP2020000904A (ja) * | 2013-03-15 | 2020-01-09 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法 |
JP2019048084A (ja) * | 2013-03-15 | 2019-03-28 | インテュイティブ サージカル オペレーションズ, インコーポレイテッド | ゼロ空間での複数の目標及びsli動作を取り扱うシステム及び方法 |
JP2015062972A (ja) * | 2013-09-24 | 2015-04-09 | 本田技研工業株式会社 | ロボット |
EP2868445B1 (de) * | 2013-11-05 | 2022-10-05 | KUKA Deutschland GmbH | Verfahren zum Programmieren von Bewegungsabläufen eines redundanten Industrieroboters und zugehöriger Industrieroboter |
WO2015137167A1 (ja) * | 2014-03-14 | 2015-09-17 | 三菱重工業株式会社 | ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム |
JP2015174185A (ja) * | 2014-03-14 | 2015-10-05 | 三菱重工業株式会社 | ロボットのシミュレーション装置及び方法、制御装置、及びロボットシステム |
CN107336228B (zh) * | 2016-04-28 | 2019-06-04 | 发那科株式会社 | 显示包含附加轴的状态的动作程序的机器人的控制装置 |
US10315305B2 (en) | 2016-04-28 | 2019-06-11 | Fanuc Corporation | Robot control apparatus which displays operation program including state of additional axis |
CN107336228A (zh) * | 2016-04-28 | 2017-11-10 | 发那科株式会社 | 显示包含附加轴的状态的动作程序的机器人的控制装置 |
JP2017196722A (ja) * | 2016-04-28 | 2017-11-02 | ファナック株式会社 | 付加軸の状態が含まれる動作プログラムを表示するロボットの制御装置 |
CN106217374A (zh) * | 2016-08-11 | 2016-12-14 | 广州成潮智能科技有限公司 | 一种智能机械臂的控制方法、装置及系统 |
CN108326844A (zh) * | 2017-01-20 | 2018-07-27 | 香港理工大学深圳研究院 | 冗余度机械臂的可操作度优化的运动规划方法和装置 |
US20210069899A1 (en) * | 2017-12-14 | 2021-03-11 | Wittmann Kunststoffgeräte Gmbh | Method for validating programmed execution sequences or teaching programs for a robot in a working cell, and robot and/or robot controller for said method |
Also Published As
Publication number | Publication date |
---|---|
CN103781602A (zh) | 2014-05-07 |
US9149931B2 (en) | 2015-10-06 |
EP2774729A1 (en) | 2014-09-10 |
EP2774729A4 (en) | 2016-05-18 |
US20140195054A1 (en) | 2014-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2013038544A1 (ja) | ロボットシステム及びロボット制御装置 | |
JP5893666B2 (ja) | 力に応じて動かすロボットのロボット制御装置およびロボットシステム | |
US10751874B2 (en) | Method of teaching robot and robotic arm control device | |
JP5946859B2 (ja) | 力に応じて動かすロボットのロボット制御装置およびロボットシステム | |
JP5948932B2 (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム | |
JP2012011498A (ja) | ロボットアーム操作システムおよびその操作方法 | |
US10427298B2 (en) | Robot system displaying information for teaching robot | |
KR20180069031A (ko) | 로봇의 다이렉트 교시방법 | |
JP2001157975A (ja) | ロボットの制御装置 | |
JP7124440B2 (ja) | ロボット制御装置およびロボットシステム | |
JP2014018912A (ja) | ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム | |
US20180117764A1 (en) | Force control coordinate axis setting device, robot, and force control coordinate axis setting method | |
JP2007136590A (ja) | 冗長関節部を有する冗長ロボットの制御装置および制御方法 | |
WO2015137162A1 (ja) | 制御装置、ロボットシステム、および制御用データ生成方法 | |
KR20170016436A (ko) | 작업 로봇의 교시 데이터 생성 장치 및 교시 데이터 생성 방법 | |
KR101787865B1 (ko) | 다관절 링크 기구의 역운동학 해법, 및 이 역운동학 해법을 이용한 교시 데이터 작성 장치 | |
Zi et al. | Comparative study of cable parallel manipulators with and without hybrid-driven planar five-bar mechanism | |
WO2020149020A1 (ja) | ロボット制御装置、ロボット制御方法、及びロボット制御プログラム | |
JP7260405B2 (ja) | オフラインプログラミング装置、ロボット制御装置および拡張現実システム | |
JPWO2013038544A1 (ja) | ロボットシステム及びロボット制御装置 | |
WO2013183190A1 (ja) | ロボットシステム、ロボット制御装置、及びロボットシステムの制御方法 | |
JP2004148448A (ja) | 位置決め演算方法および位置決め演算装置ならびに多関節マニピュレータ | |
Turpel et al. | Balance-arm tablet computer stand for robotic camera control | |
KR20190001842A (ko) | 다관절 햅틱 장치의 성능 평가 시스템 및 이를 이용한 성능 평가 방법 | |
JP2005230952A (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: 11872273 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2013533415 Country of ref document: JP Kind code of ref document: A |
|
REEP | Request for entry into the european phase |
Ref document number: 2011872273 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2011872273 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |