WO2013038544A1 - ロボットシステム及びロボット制御装置 - Google Patents

ロボットシステム及びロボット制御装置 Download PDF

Info

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
Application number
PCT/JP2011/071137
Other languages
English (en)
French (fr)
Inventor
陽介 神谷
Original Assignee
株式会社安川電機
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社安川電機 filed Critical 株式会社安川電機
Priority to PCT/JP2011/071137 priority Critical patent/WO2013038544A1/ja
Priority to EP11872273.5A priority patent/EP2774729A4/en
Priority to CN201180073381.0A priority patent/CN103781602A/zh
Publication of WO2013038544A1 publication Critical patent/WO2013038544A1/ja
Priority to US14/203,570 priority patent/US9149931B2/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1643Programme controls characterised by the control loop redundant control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39435Free movable unit has push buttons for other than position, orientation control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40336Optimize multiple constraints or subtasks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40349Optimize manipulability measure function
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40367Redundant manipulator
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40371Control trajectory to avoid joint limit as well as obstacle collision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40381Control 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

冗長ロボットの操作性を向上させたロボットシステム(10)及びロボット制御装置(14)を提供する。ロボットシステム(10)は、サーボモータによって駆動され冗長軸を含む複数の関節軸を有するロボット(12)と、ロボット(12)を制御するロボット制御装置(14)とを備え、ロボット制御装置(14)は、ロボット(12)の第1の関節角速度指令を生成する第1の指令生成部(14a)と、ロボット(12)が動作限界となる状態を回避するためのロボット(12)の関節角速度指令Aを生成するリミット回避指令生成部(14b)と、ロボット(12)の姿勢を最適化するためのロボット(12)の関節角速度指令Bを生成する姿勢最適化指令生成部(14c)と、制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部(14d)と、関節角速度指令A、関節角速度指令B、及びゼロ空間行列に基づいて、ロボット(12)の第2の関節角速度指令を生成する第2の指令生成部(14e)と、サーボモータを制御する制御部(14f)とを有する。

Description

ロボットシステム及びロボット制御装置
 本発明は、ロボットシステム及びロボット制御装置に関する。
 特許文献1には、ロボットによる作業に要求される自由度以外に、ロボット作業に影響しない冗長自由度を有するロボットを用いて、動作軌跡の教示データを作成することができるロボットの動作軌跡教示方法が記載されている。
 この動作軌跡教示方法は、冗長自由度を要素とし、ロボットの関節角度空間の余裕を表現する評価関数に基づいて冗長自由度を決定することを特徴としている。
特開平6-187020号公報
 本発明は、本発明の構成を有しない場合に比べ、冗長ロボットの操作性を向上させたロボットシステム及びロボット制御装置を提供することを目的とする。
 上記課題を解決するため、本発明の一の観点によれば、サーボモータによって駆動され、冗長軸を含む複数の関節軸を有するロボットと、
 前記ロボットを制御するロボット制御装置とを備え、
 前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
 信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
 信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
 前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
 前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
 前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステムが適用される。
 また、他の観点によれば、冗長軸を含む複数の関節軸を有するロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
 信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
 信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
 前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
 前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
 前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置が適用される。
 本発明によれば、本発明の構成を有しない場合に比べ、冗長ロボットの操作性を向上できる。
本発明の第1の実施例に係るロボットシステムの構成図である。 同ロボットシステムの動作を示すフローチャートである。 同ロボットシステムのリミット回避動作を示すフローチャートである。 同ロボットシステムの姿勢最適化動作を示すフローチャートである。 同ロボットシステムが有する教示ペンダントに設けられた表示画面の説明図である。 同ロボットシステムが有する教示ペンダントの機能ブロック図である。 同ロボットシステムが有するロボット制御装置が有するリミット回避指令生成部が計算する評価関数VJLCの説明図である。 同ロボットシステムが有するロボット制御装置が有するリミット回避指令生成部が計算する評価関数VOACの説明図である。 本発明の第2の実施例に係るロボットシステムの教示ペンダントの説明図である。 同ロボットシステムの動作を示すフローチャートである。
 続いて、添付した図面を参照しつつ、本発明を具体化した実施例につき説明し、本発明の理解に供する。なお、各図において、説明に関連しない部分は図示を省略する場合がある。
<第1の実施例>
 本発明の第1の実施例に係るロボットシステム10は、図1に示すように、第1~第7の関節軸J1~J7を有するロボット12と、このロボット12の動作を制御するロボット制御装置14と、ロボット12の位置姿勢を教示するための教示ペンダント16を備えている。
 図1に示すロボット座標系Crは、例えば、ロボット12の第1の関節軸J1上にある点を原点とし、ロボット12の前後方向に延びるX軸、左右方向に延びるY軸、及び上下方向に延びるZ軸からなる直交座標系である。
 ロボット12は冗長ロボットであり、例えば、関節軸J3を冗長軸として含む7軸の垂直多関節ロボットである。各関節軸J1~J7は、エンコーダが内蔵されたサーボモータ(不図示)により駆動される。ロボット12は、7軸の垂直多関節ロボットに限定されるものではない。ロボットの他の例として、ロボットの作業空間の自由度に対して、関節軸を冗長に有するロボットが挙げられる。例えば、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節のみを有する3軸のロボットは、XZ平面に対しては冗長性を有している。従って、この3軸のロボットは、XZ平面上の動作に関しては、関節軸を冗長に有するロボットである。つまり、ロボットは、関節の軸数や軸構成に関係なく、冗長自由度を有する冗長ロボットであればよい。
 ロボット制御装置14は、ロボット12に接続されている。ロボット制御装置14は、第1の指令生成部14aと、リミット回避指令生成部14bと、姿勢最適化指令生成部14cと、ゼロ空間行列計算部14dと、第2の指令生成部14eと、位置速度制御部(制御部の一例)14fと、監視部14gとを有している。ロボット制御装置14は、図示しないCPUを搭載しており、図1に示す各ブロックの機能は、CPUにより実行されるソフトウェアプログラムやハードウェアによって実現される。
 第1の指令生成部14aは、ロボット12の手先の速度指令(以下、単に「手先速度指令」という。)Vが入力されると、速度指令Vに基づいて、関節角速度指令(第1の関節角速度指令)ωref1を生成できる。
 リミット回避指令生成部14bは、教示ペンダント16から信号Aが入力されるとロボット12がリミットを回避するための関節角速度指令(関節角速度指令A)φLMTを出力できる。信号Aについては後述する。
 ここで、リミットとは、ロボット12が動作限界となる状態をいい、例えば、以下の第1~第3のリミットがある。
 第1のリミットは、関節軸が可動制限角度に到達する場合のリミットである。可動制限角度には、ロボット12の設計上、機械的に定まる可動制限角度と、ソフトウェア上で任意に設定される可動制限角度とがあり、いずれのリミットを適用することも可能である。
 第2のリミットは、ロボット12が、ソフトウェア上で設定された距離まで障害物(例えば、周辺機器又は他のロボット)に接近する場合のリミットである。
 第3のリミットは、ロボット12が、ソフトウェア上で設定された範囲まで特異姿勢に接近する場合のリミットである。第3のリミットに到達したロボットは過大な関節角速度指令が与えられる。ここで、ロボットの特異姿勢とは、ロボットの関節の位置と回転軸の方向などの運動学的な状態により、特定の自由度が失われた姿勢である。例えば、ロボット12の第2の関節軸J2、第4の関節軸J4、及び第6の関節軸J6が一直線上に並んだ姿勢で、特定方向に動作指令を与えると、これらの関節の関節角速度指令が過大になる。
 リミット回避指令生成部14bは、前述のリミットの種類に対応して、1)第1のリミットを回避するための関節角速度指令φJLC、2)第2のリミットを回避するための関節角速度指令φOAC、及び3)第3のリミットを回避するための関節角速度指令φSACをそれぞれ生成できる。これら関節角速度指令φJLC、φOAC、φSACの詳細な生成方法については後述する。
 リミット回避指令生成部14bは、生成した関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力できる。
 姿勢最適化指令生成部14cは、教示ペンダント16から信号Bが入力されると、ロボット12の姿勢を最適化するための関節角速度指令(関節角速度指令B)φOPTを出力できる。信号Bについては後述する。
 ここで、ロボット12の姿勢の最適化には、例えば、以下の第1及び第2の最適化がある。第1の最適化は、ロボット12の動作時間を短縮するための最適化である。第2の最適化は、ロボット12の可操作度を向上させるための最適化である。
 姿勢最適化指令生成部14cは、最適化の種類に対応して、1)動作時間を短縮するための関節角速度指令φTMC、及び2)可操作度向上のための関節角速度指令φSACをそれぞれ生成できる。これら関節角速度指令φTMC、φSACの詳細な生成方法については後述する。なお、最適化の種類は、教示ペンダント16から出力される信号BSELの値に基づいて判断される。
 姿勢最適化指令生成部14cは、生成した各関節角速度指令φTMC、φSACを関節角速度指令φOPTとして出力できる。
 ゼロ空間行列計算部14dは、ロボット12の関節角度に基づいて、ロボット12の手先(制御点の一例)に関するヤコビ行列Jのゼロ空間行列Nを計算できる。詳細には、ゼロ空間行列計算部14dは、関節角度(関節角度の現在値)からロボット12の手先の位置姿勢及び各関節軸J1~J7の方向を求め、ロボット12の手先に関するヤコビ行列のゼロ空間行列を計算できる。
 このゼロ空間行列とは、冗長ロボットにおいて、手先の位置姿勢を維持したまま、冗長自由度の動作指令を生成するための演算行列である。ここで、この動作指令は、冗長軸という特定の軸のみに対する指令ではなく、冗長自由度(手先の位置姿勢に影響の無い関節自由度)に対する指令であって、制御対象軸は、冗長軸を含む全ての軸又は一部の軸であり、制御周期毎のロボットの姿勢、動作方向に応じて異なる。ここで、この制御対象軸について、ロボット座標系CrのY軸回りにそれぞれ回転する3つの関節軸(第1~第3の関節軸)のみを有する3軸ロボットを例に説明する。この場合の冗長自由度としての制御対象軸は、3軸ロボットの第1~第3の関節軸のうちの1つの関節軸に限られるのではなく、手先位置を維持したまま、ロボット座標系CrのY軸回りに回転できる(姿勢を変化させる事ができる)第1~第3の関節軸のうちの少なくとも1つの関節軸である。いずれの関節軸を制御対象軸とするかはゼロ空間行列を用いて計算される。例えば、第3の関節軸が動作リミットに到達し、Z軸方向又はX軸方向へ手先を移動させる動作に寄与できない場合には、冗長自由度としての制御対象軸は第1の関節軸及び第2の関節軸となる。
 ゼロ空間行列Nは、手先に関するヤコビ行列J、ヤコビ行列の擬似逆行列J、単位行列Iに基づいて、次式により計算される。
N=I-JJ   式(1)
 ロボット12の手先以外の箇所を制御対象箇所(制御点)とする場合には、制御対象箇所のヤコビ行列が用いられる。
 なお、ロボット12の関節角度及び関節角速度は、エンコーダからフィードバックされたエンコーダ値に減速比を乗算した結果に基づいて求められる。
 第2の指令生成部14eは、関節角速度指令φLMT、関節角速度指令φOPT、及びゼロ空間行列Nに基づいて、関節角速度指令(第2の関節角速度指令)ωref2を生成できる。生成された関節角速度指令ωref2は、第1の指令生成部14aが生成した関節角速度指令ωref1に加算され、関節角速度指令(第3の関節角速度指令)ωref3となる(図1参照)。
 位置速度制御部14fは、関節角速度指令ωref3と関節角速度フィードバックωfbとの差eに基づいて、サーボモータを制御し、各関節の位置速度を制御できる。本実施例では、位置速度制御部14fへの指令として、関節角速度指令ωref3を使用している。なお、位置速度制御部14fへの指令として、ロボット12の現在の関節角度に関節角速度指令ωref3を加算した関節角度指令を使用してもよい。
 なお、位置速度制御部14fは、ロボット12を構成する関節軸J1~J7の数に対応する分だけ設けられている。
 監視部14gは、ロボット12がリミットに到達したか否かを判定できる。監視部14gは、リミットに到達した場合には、ロボット12の動作を停止し、アラームを出力できる。
 具体的には、監視部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が一直線上に並んだ姿勢である。ロボットの特異姿勢は、リンクの構成によって異なる。
 教示ペンダント16は、ロボット制御装置14に接続されている。教示ペンダント16には、ジョグ操作ボタン20、第1のリミット回避ボタン(第1の信号出力部の一例)21、第1の姿勢最適化ボタン(第2の信号出力部の一例)22及び表示画面32が設けられている。
 ロボット12の操作者は、教示ペンダント16に設けられたジョグ操作ボタン20を用いて、ロボット12をジョグ操作し、ロボット12の作業プログラムの教示を行うことができる。
 また、操作者は、教示ペンダント16に設けられた再生ボタン19を用いて作業プログラムの再生動作を行うことができる。
 更に、操作者は、教示ペンダント16を用いて、ロボット12の制御対象箇所(制御点)を指定の座標系に基づいて動作させることができる。
 ここで、制御対象箇所は、例えば、ロボット12の手先である。制御対象箇所の他の例として、ロボット12の関節の特定部位や手先に取付けたエンドエフェクタの先端等が挙げられる。
 また、指定の座標系とは、例えば、ロボット座標系Crである。指定の座標系としてロボット座標系Crが選択されている場合には、ロボット12の手先をX軸方向、Y軸方向及びZ軸方向並びにX軸回りの回転方向、Y軸回りの回転方向及びZ軸回りの回転方向に移動させることができる。指定の座標系の他の例として、関節座標系やロボット12の操作者が任意に設定した座標系等が挙げられる。
 ジョグ操作ボタン20は、操作者がロボット12をジョグ操作するためのボタンである。ジョグ操作ボタン20が押されると、教示ペンダント16は、予め設定された手先速度指令Vを出力する。
 第1のリミット回避ボタン21は、操作者が、リミットを回避することを指示するためのボタンである。第1のリミット回避ボタン21が押されると、教示ペンダント16は、信号Aを出力する。第1のリミット回避ボタン21は、モーメンタリ動作する。つまり、教示ペンダント16は、第1のリミット回避ボタン21が押されている間、信号Aを出力する。
 第1の姿勢最適化ボタン22は、操作者が、ロボット12の姿勢を最適化することを指示するためのボタンである。教示ペンダント16は、第1の姿勢最適化ボタン22が押されると、信号Bを出力する。第1の姿勢最適化ボタン22は、モーメンタリ動作する。つまり、教示ペンダント16は、第1の姿勢最適化ボタン22が押されている間、信号Bを出力する。
 教示ペンダント16の表示画面32には、ロボット制御装置14が有する機能に応じた表示領域が構成されるとともに、この表示領域に文字や画像等の情報が表示される。後述するロボット12の姿勢の最適化を支援するための姿勢最適化支援機能を実行する際には、表示画面32には、例えば図5に示すように、左側に表示領域D1、右側上部に表示領域D2、右側下部に表示領域D3が構成される。表示領域D1には、ロボット12の教示データを記述した教示プログラムが表示される。表示領域D2には、現在のロボット12の姿勢を表すグラフィックス画像が表示される。表示領域D3には、姿勢が最適化されるロボット12を表すグラフィックス画像が表示される。
 教示ペンダント16は、図6に示すように、姿勢最適化指令生成部16cと、ゼロ空間行列計算部16dと、第2の指令生成部16eと、ロボットモデル描画部(描画部の一例)16rとを更に有している。
 姿勢最適化指令生成部16cは、ロボット制御装置14に設けられた姿勢最適化指令生成部14cと実質的に同じように動作する。姿勢最適化指令生成部16cは、信号Sが入力されると、ロボット12の姿勢を最適化するための関節角速度指令φOPTaを出力できる。
 ゼロ空間行列計算部16dは、ロボット制御装置14に設けられたゼロ空間行列計算部14dと実質的に同じように動作する。ゼロ空間行列計算部16dは、ロボットモデル描画部16rが出力する関節角度θfbに基づいて、ロボットモデルの手先に関するヤコビ行列のゼロ空間行列Naを計算できる。
 第2の指令生成部16eは、ロボット制御装置14に設けられた第2の指令生成部14eと実質的に同じように動作する。第2の指令生成部16eは、関節角速度指令φOPTa及びゼロ空間行列Naに基づいて、関節角速度指令ωref2aを生成できる。生成された関節角速度指令ωref2aは、積分器16iにて積分され、ロボット制御装置14から送信されたロボット12の関節角度の現在値θfbに加算され、関節角度θとなる。
 ロボットモデル描画部16rは、ロボット12の関節角度に基づいて、ロボット12のグラフィックス画像を作成し、表示画面32に描画できる。ロボットモデル描画部16rは、ロボット制御装置14から送信されたロボット12の関節角度の現在値θfbに基づいて、その関節角度θfbのロボットモデルのグラフィックス画像を表示領域D2に描画できる。ロボット12の関節角度θfbが変化すれば、ロボットモデル描画部は、随時グラフィックス画像の描画を更新する。
 また、ロボットモデル描画部16rは、関節角度θに基づいて、関節の角度が角度θとなるロボットモデルのグラフィックス画像を表示領域D3に描画できる。
 教示ペンダント16には、操作者が操作する対象を実機のロボット12及び表示領域D3に表示されるロボットモデルのいずれか一方に切り替える切り替えボタン25(図1参照)が設けられている。
 なお、姿勢最適化指令生成部16c、ゼロ空間行列計算部16d、第2の指令生成部16e、及びロボットモデル描画部16rは、必ずしも、教示ペンダント16に設けられていなくてもよい。即ち、姿勢最適化指令生成部16c、ゼロ空間行列計算部16d、第2の指令生成部16e、及びロボットモデル描画部16rの一部が、例えばロボット制御装置14に設けられ、ロボット制御装置14と教示ペンダント16とが、互いに通信してデータを送受信することで、同様の構成を実現することもできる。
 次に、図2を参照して、ロボットシステム10の動作について説明する。
 操作者は、ジョグ操作ボタン20を押して、ロボット12の手先の位置姿勢を操作できる。手先の位置姿勢を操作している間に、ロボット12がリミットに到達した場合、操作者は、第1のリミット回避ボタン21を押し、冗長軸J3を含むロボット12の全関節軸J1~J7を動作させ、手先の位置姿勢を維持しながら、リミットを回避できる。また、操作者は、第1の姿勢最適化ボタン22を押し、冗長軸J3を含むロボット12の全関節軸J1~J7を動作させ、手先の位置姿勢を維持しながら、ロボット12の姿勢を最適化できる。
(ステップSa1)
 操作者がジョグ操作ボタン20を押して、ロボット12の手先を所望する位置姿勢に移動させる。
 図1に示す第1の指令生成部14aに、教示ペンダント16から手先速度指令Vが入力される。第1の指令生成部14aは、手先速度指令V及びロボット12の手先に関するヤコビ行列の擬似逆行列Jに基づいて、式(2)を用いて関節角速度指令ωref1を生成する。
ωref1=JV   式(2)
 第1の指令生成部14aは、式(2)を用いずに関節角速度指令ωref1を生成してもよい。例えば、第1の指令生成部14aは、手先速度指令Vを積分して手先位置指令に変換した後、逆運動学計算することによって、関節角速度指令ωref1を生成できる。
(ステップSa2)
 監視部14gが、ロボット12がリミットに到達したか否かを判定する。
 監視部14gが、ロボット12がリミットに到達したと判断した場合には、ロボット12を停止し、アラームを出力する。その後、次ステップSa3に示すリミットを回避するためのリミット回避動作が実行される。
 監視部14gが、ロボット12がリミットに到達していないと判断した場合には、ステップSa4に進む。
(ステップSa3)
 ロボット12の操作者がジョグ操作ボタン20から指を離し、第1のリミット回避ボタン21を押すと、信号Aがリミット回避指令生成部14b(図1参照)に入力され、以下のステップSa31及びステップSa32(図3参照)が順に処理される。
 その結果、ロボット12は、リミットを回避するためのリミット回避動作を実行する。
(ステップSa31)
 リミット回避指令生成部14bが、監視部14gが出力したアラームに対応する第1~第3のリミットをそれぞれ回避するための関節角速度指令φJLC、φOAC、φSACを計算する。以下、各関節角度指令φJLC、φOAC、φSACの計算方法について説明する。
(1)関節角速度指令φJLCの計算
 第1のリミットを回避するための関節角速度指令φJLCは、評価関数VJLC(評価関数Aの一例)に基づいて、式(3)、式(4a)、式(4b)により計算される。
φJLC = -grad(VJLC)      式(3)
θ<θ<θの場合:
 VJLC = 0   式(4a)
θ<θ<θ以外の場合:
 VJLC = 0.5KJLC(θLIM-θ)   式(4b)
 式(3)、式(4a)及び式(4b)の処理は、各関節軸J1~J7について行われる。係数KJLCは関節角速度指令のゲイン(重み)である。
 角度θLIMは、各関節の可動範囲を制限するための角度(可動限界角度)として設定された設定角度である。角度θは、各関節の角度の現在値である。
 角度θ及び角度θはそれぞれ、設定角度θLIMの上限及び下限であり、評価関数VJLCが計算される制限領域を表す(図7参照)。
 式(4a)及び式(4b)に示すように、制限領域内に侵入した関節についてのみ評価関数VJLCを計算し、それ以外の関節は評価関数VJLCを0にする。なお、第1のリミットの回避が完了したら、関節角度指令は0となる。
 評価関数VJLCは、式(4b)に示すように、設定角度θLIMと各関節の角度フィードバック(関節角度の現在値)θとの差の大きさに基づいて求められる。
 従って、評価関数VJLCの勾配から、関節が関節可動域から遠ざかるように関節角速度指令φJLCが計算される。
(2)関節角速度指令φOACの計算
 第2のリミットを回避するための関節角速度指令φOACは、評価関数VOAC(評価関数Aの一例)に基づいて、式(5)、式(6a)、式(6b)により計算される。
φOAC = -J grad(VOAC)   式(5)
<D<Dの場合:
 VOAC = 0   式(6a)
<D<D以外の場合:
 VOAC = 0.5KOAC(DLIM-D)   式(6b)
 式(5)において、行列Jは、ロボット12の障害物に最も近い箇所(最近点)から計算される最近点のヤコビ行列である。なお、最近点は、ロボット12がリミットを回避している間は、ロボット12の関節角度の現在値が変更されると新たに計算される。
 式(5)の処理は、各関節軸J1~J7について行われる。式(6a)及び式(6b)の処理はロボット座標系Crの各軸(X軸、Y軸及びZ軸)について行われる。係数KOACは回避指令のゲイン(重み)である。
 距離DLIMは、障害物に対しロボット12が接近可能な距離として設定された設定距離である。障害物は、例えば、CADデータやオフラインシミュレータのモデルデータを読み込むことによって、ロボット制御装置14にモデルデータとして設定される。また、他の例として、障害物は、カメラやレーザセンサ等を用いて障害物のデータを実測することによって設定される。更に、他の例として、障害物は、操作者が教示ペンダント16を操作することによって設定される。
 距離Dは、障害物からロボット12までの最短距離である。
 距離D及び距離Dは、それぞれ距離DLIMの上限及び下限であり、評価関数VOACが計算される制限領域を表す(図8参照)。
 式(6a)及び式(6b)に示すように、ロボット12が制限領域内に侵入した場合について評価関数VOACを計算し、それ以外は評価関数VOACを0にする。なお、第2のリミットの回避が完了したら、関節角速度指令φOACは0となる。
 評価関数VOACは、式(6b)に示すように、距離DLIMと距離Dとの差の大きさに基づいて求められる。
 従って、評価関数VOACの勾配及びヤコビ行列Jから、ロボット12が障害物から遠ざかるように関節角速度指令φOACが計算される。
(3)関節角速度指令φSACの計算
 第3のリミットを回避するための関節角速度指令φSACは、評価関数VSAC(評価関数Aの一例)に基づいて、式(7)、式(8a)、式(8b)により計算される。
φSAC = -grad(VSAC)   式(7)
ω<ω<ωの場合:
 VSAC = 0   式(8a)
ω<ω<ω以外の場合:
Figure JPOXMLDOC01-appb-M000001
 式(7)、式(8a)及び式(8b)の処理は、各関節軸J1~J7について行われる。係数KSACは関節角速度指令のゲイン(重み)である。
 角速度指令ωは、各関節の角速度指令である。
 角速度ω及び角速度ωは、それぞれ関節の角速度指令ωの上限と下限であり、評価関数VSACが計算される制限角速度を表す。
 式(8a)及び式(8b)に示すように、制限角速度ω、ωを超えて関節角速度指令ωが与えられた関節についてのみ評価関数VSACを計算し、それ以外の関節は評価関数VSACを0にする。なお、第3のリミットの回避が完了したら、関節角速度指令φSACは0となる。
 式(8a)、式(8b)の場合分けは、角速度指令ωに基づいて行われている。ただし、場合分けの前に特異姿勢の判定が行われる。つまり、ロボット12の姿勢に関する判定を事前に実施し、特異姿勢と判断した後に式(8a)、式(8b)が演算される。
 評価関数VSACは、式(8b)に示すように、ロボット12の手先の可操作度に基づいて求められる。
 従って、評価関数VSACの勾配から、関節が特異点から遠ざかるように関節角速度指令φSACが計算される。
 リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACを関節角速度指令φLMTとして出力する。
 ただし、リミット回避指令生成部14bは、生成した各関節角速度指令φJLC、φOAC、φSACの和を関節角速度指令φLMTとして出力する。即ち、2つ以上のリミットが発生した場合には、該当するリミットをそれぞれ回避するための関節角速度指令の和が、関節角速度指令φLMTとなる。
(ステップSa32)
 第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMTを次式により計算し、計算した関節角速度指令ωLMTを、関節角速度指令ωref2として生成する。前述のように、ゼロ空間行列Nを用いることにより、各制御周期で、冗長自由度としての制御対象軸を決定し、関節角速度指令ωLMTを計算するのである。
ωLMT = NφLMT   式(9)
 ここで、関節角速度指令φLMTはリミット回避指令生成部14bが出力した、リミット回避のための関節角速度指令φJLC、φOAC、φSACの和である。
 なお、式(9)以外に、式(10)~式(12)を用いて、手先の位置姿勢を維持しながらリミット回避する関節角速度指令ωLMTを計算する方法がある。
LMT = JφLMT   式(10)
 ここで、VLMTはφLMTから計算された仮想的な手先速度指令である。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 式(12)の第1項目(φLMT)は、リミット回避するための関節角速度である。式(12)の第2項目は、VLMTを生み出す関節角速度の中で、角速度ノルムが最小となる関節角速度指令である。第1項目と第2項目とは異なるため、手先の位置姿勢を維持しながら、リミット回避を行うことができる。
 ロボット12の操作者が第1のリミット回避ボタン21から指を離すと、第2の指令生成部14eが出力する関節角速度指令ωref2はゼロとなる。
 以上、ステップSa31及びステップSa32が順に処理されることによって、ステップSa3に示したリミット回避動作が行われる。
 このように、ロボット12がリミットに到達した場合に、第1のリミット回避ボタン21を用いることで、例えば、ロボット12の操作者は冗長軸をどちらの方向に、何度移動させればリミット回避できるかという回避動作を気にする手間が低減される。即ち、操作者は、第1のリミット回避ボタン21を押して、オンラインでリミット回避をすることができる。また、操作者は、第1のリミット回避ボタン21を押す時間を調整することにより、実機のロボット12の関節の動作角度を決定できる。
(ステップSa4)
 操作者が、ロボット12の手先の位置姿勢が所望の位置姿勢に到達したかを判断する。
 操作者が所望の位置姿勢に到達したと判断した場合には、次ステップSa5が実行される。
 一方、操作者が、所望の位置姿勢に到達していないと判断した場合には、ステップSa1が実行される。即ち、操作者が、教示ペンダント16を用いて、ロボット12を再度移動させる。ただし、ロボット12が動作範囲の限界(到達限界)に到達した場合、ロボット12は、それ以上は所定方向に移動できない。到達限界は、ロボット12のリンク長や関節可動域などの設計上のパラメータから決定される。到達限界は、ロボット制御装置14に予め設定されている。
(ステップSa5)
 手先の位置姿勢が所望する位置姿勢に到達した際に、操作者が、最適化の種類(第1の最適化又は第2の最適化)を選択し、ロボット12の操作者が第1の姿勢最適化ボタン22を押すと、信号BSEL及び信号Bが姿勢最適化指令生成部14cに入力される。その後、以下のステップSa51及びステップSa52(図4参照)が順に処理される。
 その結果、ロボット12の冗長自由度を使用して、手先の位置姿勢を維持しながら冗長自由度を有するロボット12の姿勢を最適化する姿勢最適化動作が実行される。
(ステップSa51)
 図1に示す姿勢最適化指令生成部14cが、操作者によって選択された最適化の種類(信号BSELの値)に応じて、動作時間短縮のための関節角速度指令φTMC又は可操作度向上のための関節角速度指令φSACを計算する。なお、リミット回避指令生成部14bで生成される、第3のリミットを回避するためのφSACと、姿勢最適化指令生成部14cで生成される、可操作度向上のためのφSACとは、両者とも特異点から離そうとする指令なので、同じ変数φSACを用いている。
(1)関節角速度指令φTMCの計算
 動作時間短縮のための関節角速度指令φTMCは、評価関数VTMC(評価関数Bの一例)に基づいて、式(13)、式(14)により計算される。
φTMC = -grad(VTMC)   式(13)
TMC = 0.5KTMC(θTMC-θ)   式(14)
 式(13)及び式(14)において、変数iは、関節軸の番号(1~7)を示している。係数KTMCは関節角速度指令のゲイン(重み)である。
 角度θTMCは、前教示点(現教示点の1つ前の教示点)における関節角度である。現教示点におけるロボット12の関節軸の関節角度を、前教示点におけるロボット12の関節軸の関節角度に近づけるように制御することで、前教示点から現教示点までのロボット12の動作時間が短縮される。いずれの軸を制御対象とするかは(動作時間短縮のための関節角速度指令を与えるかは)、制御周期毎のロボットの姿勢、動作方向に応じて異なり、ゼロ空間行列Nを用いて計算する。
 角度θは、各関節の角度の現在値である。
 式(14)に示すように、評価関数VTMCは、角度θTMCと各関節の角度フィードバック(各関節の角度の現在値)θとの差の大きさに基づいて求められる。
 従って、評価関数VTMCの勾配から、前教示位置に近い関節角速度指令、つまり動作時間を短縮する関節角速度指令φTMCが計算される。
 最大動作速度の大きい関節のゲインを大きく設定することで、より動作時間の短縮が可能となる。つまり、動作速度の大きい関節を大きく動作させ、動作速度の小さい関節を小さく動作させることによって、より効率的な動作指令が生成される。
(2)関節角速度指令φSACの計算
 可操作度向上のための関節角速度指令φSACは、評価関数VSAC(評価関数Bの一例)に基づいて、式(15)、式(16)により計算される。
φSAC = -grad(VSAC)      式(15)
Figure JPOXMLDOC01-appb-M000004
 式(15)及び式(16)に示すように、評価関数VSACは、ロボット12の可操作度に基づいて計算され、ステップSa31の特異点回避と同様の方法により、関節角速度指令φSACが生成される。
(ステップSa52)
 図1に示す第2の指令生成部14eが、ゼロ空間行列Nを用いて手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPTを次式により計算し、計算した関節角速度指令ωOPTを、関節角速度指令ωref2として生成する。
ωOPT = NφOPT   式(17)
 ここで、関節角速度指令φOPTは姿勢最適化指令生成部14cが出力した、ロボット12の姿勢最適化のための関節角速度指令φTMC、φSACのいずれかである。
 ロボット12の操作者が第1の姿勢最適化ボタン22から指を離すと、第2の指令生成部14eが出力する関節角速度指令ωref2はゼロとなる。
 以上、ステップSa51及びステップSa52が順に処理されることによって、ステップSa5に示した姿勢最適化動作が行われる。
 このように、手先に関するゼロ空間行列Nを用いることにより手先の位置姿勢を維持しながらロボット12の姿勢を最適化することができる。
 ここで、ステップSa5において、ロボット12の操作者は、ロボット姿勢最適化支援機能を用いて、ロボット12の姿勢最適化動作における挙動を予測できる。以下、ロボット姿勢最適化支援機能について説明する。
 前述の通り、表示領域D2には、図6に示すロボットモデル描画部16rにより、現在のロボットモデルのグラフィックス画像が描画されている。また、ロボットモデル描画部16rにより、表示領域D3には、姿勢を最適化したロボットモデルのグラフィックス画像が描画されている。
 まず、操作者は、ロボット12の手先が所望する位置姿勢に到達した後、図1に示す切り替えボタン25を押して、操作対象を実機のロボット12から表示領域D3に表示されたロボットモデルへと切り替える。また、最適化の種類(第1の最適化又は第2の最適化)を選択する。
 次に、操作者は第1の姿勢最適化ボタン22を押す。教示ペンダント16の姿勢最適化指令生成部16cに信号S(図6参照)が入力される。姿勢最適化指令生成部16cは、ロボット12の操作者が選択した最適化の種類に応じた関節角速度指令φOPTaを計算する。第2の指令生成部16eは、姿勢最適化指令生成部16cが計算した関節角速度指令φOPTa及びゼロ空間行列計算部16dが計算したゼロ空間行列Naに基づいて、関節角速度指令ωref2aを生成する。
 ロボットモデル描画部16rは、積分器16iにて積分された関節角速度指令にロボット制御装置14から送信されたロボット12の関節角度の現在値θfbが加算された関節角度θに基づいて、その関節角度θのロボットモデルのグラフィックス画像を表示領域D3に描画する。即ち、姿勢を最適化したロボット12のグラフィックス画像が表示領域D3に表示される。
 なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、ロボットモデルの関節の動作角度(最適化の度合い)を決定できる。
 図5に示す表示領域D3には、第2の最適化(可操作度を向上させるための最適化)により最適化されたロボット12が描画されている。表示領域D2に描画された現在のロボット12の姿勢に比べると、表示領域D3に描画されたロボット12の方が、手先の可操作度が向上している。
 このように、操作者が姿勢最適化支援機能を実行することによって、姿勢を最適化したロボット12のグラフィックス画像を表示領域D3上で確認できる。
 また、予め決定された統一的な評価指標(例えば、評価関数)を使って全教示データに関する冗長自由度を決定するのでは無く、教示位置毎に個別の評価指標を選択し、選択した評価指標により冗長自由度を最適化できる。換言すると、動作プログラム内の教示データに関する位置全てを同じ評価指標で最適化するのではなく、教示点毎に、操作者が最適化手段を選択できる。
 続いて操作者は、表示領域D3上にてロボットモデルの姿勢を確認した後、再度切り替えボタン25(図1参照)を押し、操作対象を表示領域D3に表示されたロボットモデルから実機へと切り替える。
 操作者は、実機のロボット12の冗長自由度の姿勢を最適化して、最終的な教示位置を決定できる。
 なお、操作者は、第1の姿勢最適化ボタン22を押す時間を調整することにより、実機のロボット12の関節の動作角度(最適化の度合い)を決定できる。
 以上説明したように、本実施例に係るロボットシステムは、ロボット12がリミットに到達する前に、手先の位置姿勢を維持しながらリミットを回避できる。また、ロボット12が目標位置に到達した後に、手先の位置姿勢を維持しながら冗長自由度の姿勢を最適化できる。即ち、操作者は、冗長自由度を含むロボット12の関節角度を、オンラインで決定できるので、冗長ロボットの操作性が向上する。
<第2の実施例>
 続いて、本発明の第2の実施例に係るロボットシステムについて説明する。第1の実施例に係るロボットシステム10と同一の構成要素同じ符号を付して詳しい説明を省略する場合がある。
 教示ペンダント116には、図9に示すように、第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122が更に設けられている。
 第2のリミット回避ボタン121は、操作者が、リミットを回避することを指示するためのボタンである。第2のリミット回避ボタン121が押されると、教示ペンダント116は、信号Aを出力する。第2のリミット回避ボタン121は、オルタネート動作する。つまり、教示ペンダント116は、第2のリミット回避ボタン121が一度押されると、再度第2のリミット回避ボタン121が押されるまで、信号Aを出力する。
 第2の姿勢最適化ボタン122は、操作者が、ロボット12の姿勢を最適化することを指示するためのボタンである。第2の姿勢最適化ボタン122が押されると、教示ペンダント116は、信号Bを出力する。第2の姿勢最適化ボタン122は、オルタネート動作する。つまり、教示ペンダント116は、第2の姿勢最適化ボタン122が一度押されると、再度第2の姿勢最適化ボタン122が押されるまで、信号Bを出力する。
 次に、第2の実施例に係るロボットシステムの動作について、図10に基づいて説明する。
(ステップSb1)
 ロボット制御装置14が、ロボット12のCADデータやオフラインシミュレータから障害物とロボット12のモデルデータを読み込む。その結果、ロボット制御装置14に、障害物のモデルが設定される。
(ステップSb2)
 操作者が教示ペンダント116に設けられた第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を押す。教示ペンダント116から出力された信号A及び信号Bが、それぞれロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cに入力される。
 ロボット制御装置14のリミット回避指令生成部14b及び姿勢最適化指令生成部14cは、それぞれ関節角速度指令φLMT、φOPTを出力する。
(ステップSb3)
 また、操作者が最適化の種類(第1の最適化又は第2の最適化)を選択する。姿勢最適化指令生成部14cに、最適化の種類に応じた信号BSELが入力される。
(ステップSb4)
 操作者がロボット12の手先を所望する位置姿勢に移動させるため、ジョグ操作ボタン20を押して、ロボット12をジョグ操作すると、自動でリミット回避動作及び姿勢最適化動作が実行される。
 リミット回避動作及び姿勢最適化動作の為の関節角速度指令は、それぞれ、第1の実施例にて説明したステップSa3及びステップSa5に示した処理と同様の方法により求められる。つまり、本ステップSb4では、式(2)に基づいて第1の指令生成部14aが出力した手先速度指令Vを実現する関節角速度指令ωref1と、第2の指令生成部14eが出力した関節角速度指令ωref2とが加算され、ロボット12の各関節角速度指令ωref3が生成される。この関節角速度指令ωref2は、手先の位置姿勢を維持しながらリミットを回避するための関節角速度指令ωLMT(式(9)参照)と、手先の位置姿勢を維持しながらロボット12の姿勢を最適化するための関節角速度指令ωOPT(式(17)参照)との和である。
 第2のリミット回避ボタン121及び第2の姿勢最適化ボタン122を再度押した場合には、教示ペンダント116は、信号A及び信号Bの出力を停止し、リミット回避動作又は姿勢最適化動作の実行は解除される。
 なお、操作者は、第2のリミット回避ボタン121又は第2の姿勢最適化ボタン122のいずれか一方のみを押して、リミット回避動作又は姿勢最適化動作のいずれか一方のみを実行することも可能である。
 本実施例に示した方法によれば、自動でリミット回避動作及び姿勢最適化動作が実行されるので、冗長ロボットの操作性が向上する。
 本発明は、前述の実施例に限定されるものではなく、本発明の要旨を変更しない範囲での変更は可能である。例えば、前述の実施例や変形例の一部又は全部を組み合わせて発明を構成する場合も本発明の技術的範囲に含まれる。
 教示ペンダントには、第1及び第2のリミット回避ボタン並びに第1及び第2の姿勢最適化ボタンのうち、必要な機能に対応するボタンのみ設けることができる。
 ボタンは、ハードウェアによるボタンに限定されるものではない。ボタンは、ソフトウェアによって実現されるボタンであっても良い。
 本発明は、前述の実施例に示したように実機のロボットを用いる場合だけでなく、ロボットのシミュレーションモデルを用いる場合にも適用できる。即ち、オフラインシミュレータを用いて教示プログラムの妥当性を確認するためにも利用出来る。
10:ロボットシステム、12:ロボット、14:ロボット制御装置、14a:第1の指令生成部、14b:リミット回避指令生成部、14c:姿勢最適化指令生成部、14d:ゼロ空間行列計算部、14e:第2の指令生成部、14f:位置速度制御部、14g:監視部、16:教示ペンダント、16c:姿勢最適化指令生成部、16d:ゼロ空間行列計算部、16e:第2の指令生成部、16i:積分器、16r:ロボットモデル描画部、19:再生ボタン、20:ジョグ操作ボタン、21:第1のリミット回避ボタン、22:第1の姿勢最適化ボタン、25:切り替えボタン、32:表示画面、116:教示ペンダント、121:第2のリミット回避ボタン、122:第2の姿勢最適化ボタン

Claims (9)

  1.  サーボモータによって駆動され、冗長軸を含む複数の関節軸を有するロボットと、
     前記ロボットを制御するロボット制御装置とを備え、
     前記ロボット制御装置は、入力された前記ロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
     信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
     信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
     前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
     前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
     前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、前記サーボモータを制御する制御部とを有するロボットシステム。
  2.  請求項1記載のロボットシステムにおいて、
     前記評価関数Aは、前記ロボットの各関節の可動限界角度として設定された設定角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
     前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。
  3.  請求項1記載のロボットシステムにおいて、
     前記評価関数Aは、障害物に前記ロボットが接近可能な距離として設定された設定距離と、該障害物から該ロボットまでの距離との差の大きさに基づいて計算され、
     前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。
  4.  請求項1記載のロボットシステムにおいて、
     前記評価関数Aは、前記ロボットの可操作度に基づいて計算され、
     前記リミット回避指令生成部は、前記評価関数Aの勾配に基づいて前記関節角速度指令Aを生成するロボットシステム。
  5.  請求項1~4のいずれか1項に記載のロボットシステムにおいて、
     前記評価関数Bは、前記ロボットの前教示点における各関節の角度と該各関節の角度の現在値との差の大きさに基づいて計算され、
     前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。
  6.  請求項1~4のいずれか1項に記載のロボットシステムにおいて、
     前記評価関数Bは、前記ロボットの可操作度に基づいて計算され、
     前記姿勢最適化指令生成部は、前記評価関数Bの勾配に基づいて前記関節角速度指令Bを生成するロボットシステム。
  7.  請求項1~6のいずれか1項に記載のロボットシステムにおいて、
    前記ロボットの位置姿勢を教示するための教示ペンダントを更に備え、
    前記教示ペンダントが、前記信号Aを出力するための第1の信号出力部及び前記信号Bを出力するための第2の信号出力部を有するロボットシステム。
  8.  請求項7記載のロボットシステムにおいて、
     前記教示ペンダントは、表示画面と、
     前記表示画面に現在の前記ロボットの姿勢を表すグラフィックス画像、及び該姿勢を最適化する前記ロボットのグラフィックス画像をそれぞれ描画する描画部を更に有するロボットシステム。
  9.  冗長軸を含む複数の関節軸を有するロボットの制御点の速度指令に基づいて、前記ロボットの第1の関節角速度指令を生成する第1の指令生成部と、
     信号Aが入力されている間、評価関数Aに基づいて、前記ロボットが動作限界となる状態を回避するための該ロボットの関節角速度指令Aを生成するリミット回避指令生成部と、
     信号Bが入力されている間、評価関数Bに基づいて、前記ロボットの姿勢を最適化するための該ロボットの関節角速度指令Bを生成する姿勢最適化指令生成部と、
     前記制御点に関するヤコビ行列のゼロ空間行列を計算するゼロ空間行列計算部と、
     前記関節角速度指令A、前記関節角速度指令B、及び前記ゼロ空間行列に基づいて、前記ロボットの第2の関節角速度指令を生成する第2の指令生成部と、
     前記第1及び第2の関節角速度指令の和である第3の関節角速度指令に基づいて、サーボモータを制御する制御部とを有するロボット制御装置。
     
PCT/JP2011/071137 2011-09-15 2011-09-15 ロボットシステム及びロボット制御装置 WO2013038544A1 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 工作機械と工作機械に対して作業を行なうロボットを備えた加工システム

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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