WO2023238268A1 - ロボットの制御方法およびロボットシステム - Google Patents

ロボットの制御方法およびロボットシステム Download PDF

Info

Publication number
WO2023238268A1
WO2023238268A1 PCT/JP2022/023043 JP2022023043W WO2023238268A1 WO 2023238268 A1 WO2023238268 A1 WO 2023238268A1 JP 2022023043 W JP2022023043 W JP 2022023043W WO 2023238268 A1 WO2023238268 A1 WO 2023238268A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
angle
joint
axis
redundant
Prior art date
Application number
PCT/JP2022/023043
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/JP2022/023043 priority Critical patent/WO2023238268A1/ja
Publication of WO2023238268A1 publication Critical patent/WO2023238268A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to a method for controlling a vertically articulated robot with redundant axes and a robot system to which the control method is applied.
  • Patent Document 1 discloses a control technology that prevents loss of control by preparing an inverse kinematics solution for the singular point when the taught position hits a singular point in controlling a six-axis robot. ing.
  • a vertical articulated robot has six operating axes called the S-axis, L-axis, U-axis, R-axis, B-axis, and T-axis. If the robot arm is given six degrees of freedom, it can perform the required work, but there are also robots that are equipped with one or more redundant axes. Providing a redundant axis has the advantage that the position of the elbow portion of the robot arm can be changed while maintaining the position and posture of the TCP (Tool center point). Even in the control of vertically articulated robots with redundant axes, it is necessary to avoid uncontrollable states caused by singularities.
  • TCP Tool center point
  • An object of the present invention is to provide a control method that allows a vertically articulated robot having redundant axes to avoid falling into an uncontrollable state while maintaining the position and posture of a TCP as taught, and to which the control method is applied.
  • Our goal is to provide robot systems.
  • a method for controlling a robot is a method for controlling a vertically articulated robot having redundant axes, wherein the robot is located in the vicinity of a singular point based on information on the position and orientation of the robot. monitor whether the robot has reached the region, and if the robot has reached the region near the singular point, change the angle of the joint of the redundant axis while maintaining the position and orientation of the robot's TCP in calculations. Then, by calculating the angles of other joints of the robot when the redundant axis is set to the changed angle, an angle of the redundant axis that can avoid the singularity is detected, and the detected angle is calculated. The operation of the robot is controlled by setting the angle of the redundant axis as a new angle of the redundant axis.
  • a robot system includes a vertically articulated robot with redundant axes, and a control unit that controls the operation of the robot, and the control unit controls the position and posture of the robot.
  • a monitoring unit that converts and monitors numerical values using a Jacobian determinant; and a monitoring unit that monitors the robot by converting it into a numerical value using a Jacobian determinant;
  • a determination unit that determines whether or not the robot has reached the singular point;
  • a joint angle calculation unit that executes inverse kinematics calculation while keeping the position and orientation of the TCP as is, and calculates the angle of each joint of the robot; and a joint angle calculation unit that calculates the angle of each joint of the robot;
  • a detection unit that applies a Jacobian determinant to the position and posture of the robot specified from the angles of each joint determined to be numerical, and detects an angle of the redundant axis that exceeds the threshold; controls the operation of the robot by using the detected angle as a new angle of the redundant axis
  • FIG. 1 is a configuration diagram of a robot system according to an embodiment of the present invention.
  • FIG. 2 is a block diagram showing the electrical configuration of the robot system.
  • FIG. 3 is a perspective view of the robot arm showing a situation in which joint angles of redundant axes are detected to avoid singular points.
  • FIG. 4 is a flowchart showing an example of controlling the operation of the robot arm.
  • a robot system that implements the robot control method according to the present invention includes a vertically articulated robot arm as a robot that performs a predetermined task.
  • a preferred application of the robot system according to the present invention is a collaborative robot placed in an area where a worker performs a predetermined work.
  • direct teaching is often used to manually teach the motion trajectory of the robot arm.
  • a seven-axis robot arm including one redundant axis in addition to six general operating axes will be exemplified as a robot arm. Note that the present invention is also applicable to robots equipped with two or more redundant axes.
  • FIG. 1 is a configuration diagram of a robot system according to an embodiment of the present invention.
  • the robot system 1 includes a robot arm 10 that is a vertically articulated seven-axis robot, and a control device 30 that controls the operation of the robot arm 10.
  • the robot arm 10 has seven rotation axes: a first axis 2A, a second axis 2B, a third axis 2C, a fourth axis 2D, a fifth axis 2E, a sixth axis 2F, and a seventh axis 2G.
  • the above seven rotation axes constitute seven joints 21 to 27 of the robot arm 10, respectively.
  • the first axis 2A, the third axis 2C, the fifth axis 2E, and the seventh axis 2G are rotation axes extending in the arm axis direction, and are a first torsion joint 21 and a second torsion joint 23 that twist and rotate the arm, respectively. , forming a third torsion joint 25 and a fourth torsion joint 27.
  • the remaining second axis 2B, fourth axis 2D, and sixth axis 2F are rotation axes extending in the horizontal direction, and are a first bending joint 22, a second bending joint 24, and a third bending joint that respectively bend and rotate the arm. It constitutes 26.
  • the robot arm 10 includes a base portion 11, a body portion 12, a first arm 13, a second arm 14, a third arm 15, and a head portion 16.
  • the base portion 11 is a casing that is fixedly installed on a floor surface, a pedestal, or the like.
  • the body portion 12 is connected to the upper surface of the base portion 11 via a first torsion joint 21 .
  • the body portion 12 is rotatable in both forward and reverse directions at the first torsion joint 21 around the first shaft 2A.
  • the first arm 13 has its proximal end connected to the trunk 12 via a first bending joint 22.
  • the first arm 13 is swingable around the second shaft 2B at the first bending joint 22.
  • the first arm 13 includes an upper arm 131 closer to the body 12 and a lower arm 132 closer to the second arm 14.
  • the upper arm 131 and the lower arm 132 are connected by a third shaft 2C.
  • the lower arm 132 is rotatable around the third shaft 2C at the second torsion joint 23.
  • the third axis J3 provided in the first arm 13 is a so-called redundant axis, which is an operating axis provided in the robot arm 10 in addition to the normal six axes.
  • the second arm 14 is an arm connected to the lower part of the first arm 13, and its base end is connected to the distal end of the first arm 13 via the second bending joint 24.
  • the second arm 14 is swingable around the fourth axis 2D at the second bending joint 24.
  • the second arm 14 includes an upper arm 141 closer to the first arm 13 and a lower arm 142 closer to the third arm 15.
  • the lower arm 142 is rotatable around the fifth axis 2E at the third torsion joint 25.
  • the third arm 15 is an arm connected to the lower part of the second arm 14, and its base end is connected to the distal end of the second arm 14 via the third bending joint 26.
  • the third arm 15 is swingable around the sixth axis 2F at the third bending joint 26.
  • the head portion 16 is connected to the distal end side of the third arm 15 via a fourth torsion joint 27.
  • the head portion 16 is rotatable at the fourth torsion joint 27 around the seventh axis 2G.
  • An end effector (not shown) is attached to the head portion 16 to perform a required operation on a workpiece.
  • the end effector is a structure that performs operations such as gripping, suction, welding, and polishing of a workpiece, for example.
  • FIG. 1 shows the TCP 17 of the robot arm 10.
  • TCP 17 is a position that serves as a control reference point for robot arm 10.
  • the TCP 17 can be set at the tip of the robot arm 10 or at the center of gravity of a workpiece gripped by an end effector.
  • the TCP 17 can be set at the center of gravity of the end effector or at some position associated with the end effector.
  • the control device 30 controls the operation of the robot arm 10 according to teaching data given in advance. Further, the control device 30 receives direct teaching in which the user manually teaches the motion trajectory of the robot arm 10 in order to generate the teaching data. Note that the teaching data may be created by online teaching or offline teaching. The control device 30 of this embodiment also executes control to prevent the robot arm 10 from reaching a singular point. The control device 30 will be described in detail later with reference to FIG. 2.
  • FIG. 2 is a block diagram showing the electrical configuration of the robot system 1.
  • the robot system 1 includes a force sensor 18 and an operation panel 19 in addition to the robot arm 10 and control device 30 described above.
  • the force sensor 18 is a six-axis force detector that is assembled near the head portion 16 of the robot arm 10. Specifically, the force sensor 18 detects force components in the three translational directions of the x-axis, y-axis, and z-axis, which are three axes orthogonal to each other, and moment components around these x-axis, y-axis, and z-axis. This is a sensor that can detect both at the same time. Note that instead of the force sensor 18, a torque sensor may be provided at the joint of the robot arm 10.
  • the operation panel 19 has various display functions related to the robot system 1, an input function for receiving operation inputs and data inputs to the control device 30, and warning functions such as issuing an alarm and displaying an error when an abnormal situation occurs.
  • the operation panel 19 can be configured with, for example, a display/input panel dedicated to the robot system 1, a personal computer, a tablet terminal, a smartphone, or the like.
  • the control device 30 is a processor that executes various processes according to a given program, and by executing the program, it is functionally equipped with a robot control section 31 (control section), a teach control section 32, and a storage section 33. works.
  • the robot control unit 31 operates the robot arm 10 based on teaching data indicating a motion trajectory given in advance, and causes the end effector to perform a predetermined work on the workpiece. Furthermore, the robot control unit 31 of the present embodiment constantly executes avoidance control, which will be described later, to control the robot arm 10 so that it does not reach a singular point while operating the robot arm 10.
  • the teach control unit 32 executes a direct teach operation. Specifically, the teach control unit 32 rotates the joints 21 to 27 of the robot arm 10 and moves each arm according to the movement force applied to the robot arm 10 by the user. The moving force applied to the robot arm 10 is detected by the force sensor 18. The teach control unit 32 acquires the detection results and estimates the magnitude and direction of the moving force. Based on this estimation result, the teach control unit 32 appropriately drives the motors 51 of the first to seventh drive units 41 to 47 to move the robot arm 10 in the direction in which the user intends to move the robot arm 10. Furthermore, the teaching control unit 32 stores the motion trajectory of the robot arm 10 set in the direct teaching work in the storage unit 33 as teaching data.
  • the storage unit 33 stores the program and the teaching data.
  • the storage unit 33 also stores parameters that determine the operational feel of direct teaching.
  • the storage unit 33 of the present embodiment stores a threshold value that is a determination standard when determining whether or not the robot arm 10 has reached a region near a singular point using the Jacobian.
  • a user with specialized knowledge can create teaching data so that the robot arm 10 does not reach a singular point.
  • the direct teach method is adopted, even a user without specialized knowledge can easily create teaching data, but the teaching data may have a teaching point that is a singular point or that passes through a singular point during operation. may be created. Even when such teaching data is given by the user, the robot control unit 31 executes the avoidance control to avoid an uncontrollable state of the robot arm 10.
  • the robot control unit 31 executes the control shown in the following steps (A) to (D) as the avoidance control.
  • A While controlling the operation of the robot arm 10, it is constantly monitored whether the robot arm 10 has reached a region near the singular point based on information on the position and posture of the robot arm 10.
  • B When the robot arm 10 reaches the vicinity of the singular point, the joint of the second torsion joint 23 having the third axis 2C, which is a redundant axis, is calculated to maintain the position and posture of the TCP 17. Change the angle.
  • C Singularity is avoided by calculating the joint angles of the other joints 21, 22, 24 to 27 of the robot arm 10 when the second torsion joint 23 of the redundant axis is set to the joint angle after the change. A possible joint angle of the second torsion joint 23 is detected.
  • D The motion control of the robot arm 10 is continued using the detected angle as a new joint angle of the second torsion joint 23.
  • the robot control section 31 functionally includes a monitoring section 34, a determining section 35, a joint angle calculating section 36, and a detecting section 37.
  • the monitoring unit 34 is a functional unit that plays a part in step (A), and monitors the position and posture of the robot arm 10 using a Jacobian.
  • the Jacobian converts the joint angular velocity of the robot arm 10 into the tip end velocity of the robot arm 10, that is, the velocity of the TCP 17.
  • P [x, y, z, u, v, w]
  • the Jacobian between the amount of change in the joint angle and the amount of change in the position and orientation P is as follows. It is expressed by the Jacobian determinant det
  • ⁇ 1 to ⁇ 7 in equation (1) are joint angle vectors of the first axis 2A to seventh axis 2G at the joints 21 to 27, respectively.
  • the monitoring unit 34 calculates the Jacobian determinant det
  • 0.
  • the determination unit 35 is also a functional unit that plays a part in step (A) above.
  • the determination unit 35 determines whether the robot arm 10 has reached the vicinity of the singular point based on whether the absolute value of the numerical value of the Jacobian determinant det
  • the threshold value is set in consideration of the margin of preventing the robot arm 10 from reaching a singular point, and is stored in advance in the storage unit 33. When the absolute value of det
  • the joint angle calculation unit 36 is a functional unit responsible for the above step (B).
  • the joint angle calculation unit 36 performs a process of calculating a joint angle that can avoid the singularity while maintaining the position and orientation P of the TCP 17 when the determination unit 35 determines that the region near the singularity has been reached. .
  • the joint angle calculation unit 36 slightly changes the angle of the joint of the redundant axis between a positive direction and a negative direction.
  • FIG. 3 is a perspective view of the robot arm 10 illustrating a situation in which joint angles of redundant axes are detected to avoid singular points.
  • the redundant axis in this embodiment is the third axis 2C.
  • the joint angle calculation unit 36 slightly changes the rotation angle of the third axis 2C, that is, the joint angle of the second torsion joint 23, in the positive direction and the negative direction in simulation.
  • the joint angle calculation unit 36 executes inverse kinematics calculation for the robot arm 10 in which the joint angle of the second torsion joint 23 has been changed while the position and orientation P of the TCP 17 remains unchanged, and calculates the inverse kinematics for each joint 21 to Calculate the angle of 27.
  • the joint angle calculating unit 36 changes the third axis 2C of the redundant axes in several steps in the plus direction and the minus direction, and performs inverse kinematics calculation for each rotation angle of each redundant axis.
  • the detection unit 37 is a functional unit responsible for the above step (C).
  • the detection unit 37 detects the angle of the redundant axis that allows the robot arm 10 to move away from the region near the singularity. That is, the detection unit 37 determines the rotation angle of the third axis 2C, that is, the joint of the second torsion joint 23, such that the absolute value of the numerical value of the Jacobian determinant det
  • the detection unit 37 detects the position and orientation of the TCP 17 of the robot arm 10, which is specified from the angles of the joints 21 to 27 including the redundant axes, which are determined by the joint angle calculation unit 36 through inverse kinematics calculation. It is applied to the Jacobian determinant det
  • the detection unit 37 refers to these numerical values and selects an appropriate redundant axis angle from among the redundant axis angles having numerical values exceeding the threshold value.
  • the detection unit 37 updates the existing teaching data to the angle of the selected redundant axis and stores it in the storage unit 33. Thereafter, the robot control unit 31 controls the robot arm 10 using the updated teaching data.
  • the monitoring unit 34 first uses the Jacobian determinant to constantly monitor whether the robot arm 10 has reached a region near the singular point.
  • the joint angle calculation unit 36 calculates the redundant axis in the calculation formula while maintaining the position and orientation of the TCP.
  • the joint angle of the second torsion joint 23 is changed.
  • inverse kinematics calculation is performed for each joint angle that has been changed, and the joint angles of each joint 21 to 27 are calculated.
  • the joint angle of the second torsion joint 23 that can avoid the singularity is detected. Therefore, by utilizing the redundant axes, it is possible to maintain the position and posture of the TCP 17 while controlling the robot arm 10 to prevent it from reaching a singular point, that is, to prevent the robot arm 10 from becoming uncontrollable.
  • FIG. 4 is a flowchart showing an example of operation control of the robot arm 10 by the control device 30.
  • the robot control unit 31 controls the motors 51 of the first to seventh drive units 41 to 47 of the robot arm 10 based on the teaching data stored in the storage unit 33 to operate the robot arm 10. While performing this operation, the monitoring unit 34 digitizes the Jacobian for the current joint angle of each joint 21 to 27 using the Jacobian determinant det
  • the determination unit 35 determines whether the absolute value of the numerical value of det
  • the joint angle calculation unit 36 calculates the position and orientation of the TCP 17 while fixing the position and orientation of the TCP 17.
  • the joint angle of the two-torsion joint 23 is changed, for example, by one predetermined angular pitch in the positive direction (step S4).
  • inverse kinematics calculation is performed on the state of the robot arm 10 after the angle of the redundant axis has been changed, and the angle of each joint 21 to 27 at that time is calculated (step S5).
  • step S6 it is confirmed whether the change of the redundant axis angle is completed. For example, if the angle of the redundant axis is set to be changed by 5 pitches in the plus direction and 5 pitches in the minus direction, it is confirmed whether or not the angle change by 10 pitches has been completed. If the change of the redundant axis angle is not completed (NO in step S6), the process returns to step S4, the redundant axis angle is changed to another angle, and the same process is repeated.
  • step S6 the joint angle calculation unit 36 checks whether a solution to the inverse kinematics calculation executed in step S5 exists (step S7).
  • the robot arm 10 has a range of movement. As a result of changing the redundant axis angle, the robot arm 10 may fall out of the movable range. If it is outside the movable range, the robot arm 10 cannot move. In such a case, even if the inverse kinematics calculation is performed, the result will be that the solution does not exist.
  • step S7 If a solution to the inverse kinematics calculation exists (YES in step S7), the detection unit 37 calculates the absolute value of the Jacobian determinant det
  • the numerical value calculated here is different from the absolute value of det
  • the detection unit 37 selects a redundant axis angle that makes the absolute value of det
  • may be selected. good.
  • the teaching data updated to the joint angles of the joints 21 to 27 based on the selected redundant axis angle is employed.
  • step S7 if there is no solution to the inverse kinematics calculation (NO in step S7), it means that there is no redundant axis angle that can prevent the robot arm 10 from reaching a singular point.
  • the detection unit 37 issues an alarm on the operation panel 19 or other display device, and stops controlling the robot arm 10 (step S10). After that, measures such as re-creating the teaching data are taken.
  • a method for controlling a robot is a method for controlling a vertically articulated robot having redundant axes, wherein the robot is located in the vicinity of a singular point based on information on the position and orientation of the robot. monitor whether the robot has reached the region, and if the robot has reached the region near the singular point, change the angle of the joint of the redundant axis while maintaining the position and orientation of the robot's TCP in calculations. Then, by calculating the angles of other joints of the robot when the redundant axis is set to the changed angle, an angle of the redundant axis that can avoid the singularity is detected, and the detected angle is calculated. The operation of the robot is controlled by setting the angle of the redundant axis as a new angle of the redundant axis.
  • this control method it is constantly monitored whether the robot has reached the region near the singularity. If the area has reached the vicinity of the singular point, the angle of the joint of the redundant axis is changed in the calculation formula, and the angle of the redundant axis is such that the singularity can be avoided while maintaining the position and posture of the TCP. is detected. Therefore, by utilizing the redundant axes, it is possible to maintain the position and orientation of the TCP while controlling the robot to prevent it from reaching a singular point, that is, to prevent the robot from going out of control.
  • the position and orientation of the robot are evaluated based on the numerical values of the Jacobian determinant, and when the absolute value of the numerical value of the Jacobian determinant is less than a predetermined threshold, the robot is abnormal. It may be determined that the area near the point has been reached.
  • the angle of the redundant axis is changed to a positive direction and a negative direction, and an inverse kinematics calculation is performed while the position and orientation of the TCP remain unchanged, and the angle of each joint of the robot is calculated. It may be possible to do so.
  • the angles of the robot's joints can be calculated while the position and orientation of the TCP are fixed. According to the above aspect, while varying the angle of the redundant axis in the plus and minus directions, the angle of each joint that can avoid the singularity can be quickly detected by inverse kinematics calculation.
  • a robot system includes a vertically articulated robot with redundant axes, and a control unit that controls the operation of the robot, and the control unit controls the position and posture of the robot.
  • a monitoring unit that converts and monitors numerical values using a Jacobian determinant; and a monitoring unit that monitors the robot by converting it into a numerical value using a Jacobian determinant;
  • a determination unit that determines whether or not the robot has reached the singular point;
  • a joint angle calculation unit that executes inverse kinematics calculation while keeping the position and orientation of the TCP as is, and calculates the angle of each joint of the robot; and a joint angle calculation unit that calculates the angle of each joint of the robot;
  • a detection unit that applies a Jacobian determinant to the position and posture of the robot specified from the angles of each joint determined to be numerical, and detects an angle of the redundant axis that exceeds the threshold; controls the operation of the robot by using the detected angle as a new angle of the redundant axis
  • the monitoring unit uses the Jacobian determinant to constantly monitor whether the robot has reached a region near the singularity. If the determination unit determines that the region has reached the vicinity of the singular point, the joint angle calculation unit and detection unit change the joint angle of the redundant axis using the calculation formula to maintain the position and posture of the TCP. In this state, the angle of the redundant axis that can avoid the singularity is detected. Therefore, by utilizing the redundant axes, it is possible to maintain the position and orientation of the TCP while controlling the robot to prevent it from reaching a singular point, that is, to prevent the robot from going out of control.

Abstract

冗長軸を備えた垂直多関節型のロボットの制御方法を提供する。ロボットの位置および姿勢の情報に基づいて、前記ロボットが特異点の近傍領域に至っているか否かを監視する。前記ロボットが特異点の近傍領域に至っている場合に、計算上で、前記ロボットのTCPの位置と姿勢を維持した状態で前記冗長軸の関節の角度を変更する。前記冗長軸が変更後の角度とされたときの、前記ロボットの他の関節の角度を算出することで、前記特異点を回避可能な前記冗長軸の角度を探知する。探知された角度を新たな前記冗長軸の角度として、前記ロボットの動作を制御する。

Description

ロボットの制御方法およびロボットシステム
 本発明は、冗長軸を備えた垂直多関節型のロボットの制御方法および当該制御方法が適用されたロボットシステムに関する。
 垂直多関節型のロボットには、計算式上でロボットの制御ができなくなる特定の姿勢であって、実制御上でも制御不能に陥る特異点が存在する。特異点となる姿勢は、例えばロボットの各アーム要素が直線状に延びた姿勢、2つ以上の動作軸が一直線上に並ぶ姿勢などである。ロボットの制御において、制御不能状態に陥ることは何としても回避すべき事象である。特許文献1には、6軸のロボットの制御において、教示位置が特異点に当たる場合に、特異点用の逆キネマティクス解を用意しておくことで、制御不能に陥らせない制御技術が開示されている。
 通常、垂直多関節ロボットは、S軸、L軸、U軸、R軸、B軸およびT軸と呼ばれる6軸の動作軸を有している。ロボットのアームに6自由度を付与すれば所要の作業を行い得るが、これに加えて1軸以上の冗長軸を備えたロボットも存在する。冗長軸を具備することで、TCP(Tool center point)の位置や姿勢を維持したまま、ロボットアームの肘部分の位置を変更できる利点がある。冗長軸を有する垂直多関節ロボットの制御においても、特異点に起因する制御不能状態を回避する必要がある。
特表2020-505244号公報
 本発明の目的は、冗長軸を有する垂直多関節型のロボットが、教示通りのTCPの位置および姿勢を維持しながら、制御不能状態に陥ることを回避できる制御方法および当該制御方法が適用されたロボットシステムを提供することにある。
 本発明の一局面に係るロボットの制御方法は、冗長軸を備えた垂直多関節型のロボットの制御方法であって、前記ロボットの位置および姿勢の情報に基づいて、前記ロボットが特異点の近傍領域に至っているか否かを監視し、前記ロボットが特異点の近傍領域に至っている場合に、計算上で、前記ロボットのTCPの位置と姿勢を維持した状態で前記冗長軸の関節の角度を変更し、前記冗長軸が変更後の角度とされたときの、前記ロボットの他の関節の角度を算出することで、前記特異点を回避可能な前記冗長軸の角度を探知し、探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する。
 本発明の他の局面に係るロボットシステムは、冗長軸を備えた垂直多関節型のロボットと、前記ロボットの動作を制御する制御部と、を備え、前記制御部は、前記ロボットの位置および姿勢を、ヤコビアン行列式を用いて数値化して監視する監視部と、前記ヤコビアン行列式の数値の絶対値が予め定められた閾値を下回るか否かに基づいて、前記ロボットが特異点の近傍領域に至っているか否かを判定する判定部と、前記ロボットが特異点の近傍領域に至っている場合に、計算上で前記冗長軸の関節の角度をプラス方向とマイナス方向とに微小に変更し、前記ロボットのTCPの位置と姿勢をそのままとして逆キネマティクス計算を実行し、前記ロボットの各関節の角度を算出する関節角度算出部と、変更後の前記冗長軸の角度と、前記逆キネマティクス計算で得られた各関節の角度とから特定される前記ロボットの位置および姿勢をヤコビアン行列式に適用して数値化し、前記閾値を超える前記冗長軸の角度を探知する探知部と、を含み、前記制御部は、探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する。
図1は、本発明の実施形態に係るロボットシステムの構成図である。 図2は、ロボットシステムの電気的構成を示すブロック図である。 図3は、特異点を回避する冗長軸の関節角度の探知状況を示すロボットアームの斜視図である。 図4は、ロボットアームの動作制御例を示すフローチャートである。
 以下、本発明の実施形態を、図面を参照しながら詳細に説明する。本発明に係るロボットの制御方法を実現するロボットシステムは、所定の作業を行うロボットとして、垂直多関節型のロボットアームを備える。本発明に係るロボットシステムの好適な用途は、作業者が所定の作業を行うエリア内に配置される協働ロボットである。協働ロボットでは、ロボットアームの動作軌道を手動で教示するダイレクトティーチが採用されることが多い。以下の実施形態では、ロボットアームとして、一般的な6軸の動作軸に加えて、1軸の冗長軸を備えた7軸ロボットアームを例示する。なお、2軸以上の冗長軸を備えたロボットにも、本発明は適用可能である。
 [ロボットシステムの全体構成]
 図1は、本発明の実施形態に係るロボットシステムの構成図である。ロボットシステム1は、垂直多関節7軸ロボットであるロボットアーム10と、ロボットアーム10の動作を制御する制御装置30とを備える。ロボットアーム10は、7つの回動軸;第1軸2A、第2軸2B、第3軸2C、第4軸2D、第5軸2E、第6軸2Fおよび第7軸2Gを有する。
 上記の7つの回動軸は、各々ロボットアーム10の7つの関節21~27を構成している。第1軸2A、第3軸2C、第5軸2Eおよび第7軸2Gは、アーム軸方向に延びる回動軸であって、それぞれアームを捻り回転させる第1捻り関節21、第2捻り関節23、第3捻り関節25および第4捻り関節27を構成している。残る第2軸2B、第4軸2Dおよび第6軸2Fは、水平方向に延びる回動軸であって、それぞれアームを曲げ回転させる第1曲げ関節22、第2曲げ関節24および第3曲げ関節26を構成している。
 ロボットアーム10は、ベース部11、胴部12、第1アーム13、第2アーム14、第3アーム15およびヘッド部16を含む。ベース部11は、床面や台座等の上に固定的に設置される筐体である。胴部12は、ベース部11の上面に、第1捻り関節21を介して接続されている。胴部12は、第1捻り関節21において、第1軸2Aの軸回りに正逆両方向に回動可能である。
 第1アーム13は、その基端部が第1曲げ関節22を介して胴部12に接続されている。第1アーム13は、第1曲げ関節22において、第2軸2Bの軸周りに揺動可能である。第1アーム13は、胴部12寄りの上手アーム131と、第2アーム14寄りの下手アーム132とからなる。上手アーム131と下手アーム132とは、第3軸2Cにより連結されている。下手アーム132は、第2捻り関節23において、第3軸2Cの軸回りに回動可能である。この第1アーム13に備えられる第3軸J3が、いわゆる冗長軸として、通常の6軸に加えてロボットアーム10に具備された動作軸である。
 第2アーム14は、第1アーム13の下手に連設されるアームであり、その基端部が第2曲げ関節24を介して第1アーム13の先端部に接続されている。第2アーム14は、第2曲げ関節24において、第4軸2Dの軸周りに揺動可能である。第2アーム14は、第1アーム13寄りの上手アーム141と、第3アーム15寄りの下手アーム142とからなる。下手アーム142は、第3捻り関節25において、第5軸2Eの軸回りに回動可能である。
 第3アーム15は、第2アーム14の下手に連設されるアームであり、その基端部が第3曲げ関節26を介して第2アーム14の先端部に接続されている。第3アーム15は、第3曲げ関節26において、第6軸2Fの軸周りに揺動可能である。ヘッド部16は、第3アーム15の先端側に、第4捻り関節27を介して接続されている。ヘッド部16は、第4捻り関節27において、第7軸2Gの軸周りに回動可能である。ヘッド部16には、作業対象とするワークに所要の作業を施す図略のエンドエフェクタが取り付けられる。前記エンドエフェクタは、例えばワークの把持、吸着、溶接、研磨などの作業を行う構造体である。
 図1には、ロボットアーム10のTCP17が示されている。TCP17は、ロボットアーム10の制御基準点となる位置である。例えば、ロボットアーム10の先端や、エンドエフェクタにより把持されるワークの重心位置に、TCP17を設定することができる。この他、TCP17は、エンドエフェクタの重心位置や、エンドエフェクタに対応付けられた何らかの位置に設定することができる。
 制御装置30は、予め与えられた教示データに従って、ロボットアーム10の動作を制御する。また、制御装置30は、前記教示データの生成のため、ロボットアーム10の動作軌道をユーザが手動で教示するダイレクトティーチを受け付ける。なお、教示データは、オンラインティーチやオフラインティーチにより作成されても良い。本実施形態の制御装置30は、ロボットアーム10が特異点に至ることを回避する制御も実行する。制御装置30については、図2を参照して後記で詳述する。
 [ロボット装置の電気的構成]
 図2は、ロボットシステム1の電気的構成を示すブロック図である。ロボットシステム1は、上述のロボットアーム10および制御装置30に加え、力覚センサ18と、操作パネル19とを備えている。
 力覚センサ18は、ロボットアーム10のヘッド部16の近傍に組み付けられる、6軸の力検出器である。具体的には力覚センサ18は、互いに直交する3軸であるx軸、y軸、z軸の並進3軸方向の力成分と、これらx軸、y軸、z軸回りのモーメント成分とを同時に検出できるセンサである。なお、力覚センサ18に代えて、トルクセンサをロボットアーム10の関節部に装備させても良い。
 操作パネル19は、ロボットシステム1に関する各種の表示機能と、制御装置30に対する操作入力およびデータ入力を受け付ける入力機能と、異常事態が発生した際のアラーム発報やエラー表示などの警報機能などを担う。操作パネル19は、例えばロボットシステム1専用の表示・入力パネル、パーソナルコンピュータ、タブレット端末またはスマートフォンなどで構成することができる。
 制御装置30は、与えられたプログラムに従って各種の処理を実行するプロセッサーであり、前記プログラムの実行により、ロボット制御部31(制御部)、ティーチ制御部32および記憶部33を機能的に具備するように動作する。
 ロボット制御部31は、ロボットシステム1の現場運用時に、予め与えられている動作軌道を示す教示データに基づいてロボットアーム10を動作させ、ワークに対する所定の作業をエンドエフェクタに実行させる。また、本実施形態のロボット制御部31は、ロボットアーム10を動作させつつ、当該ロボットアーム10が特異点に至らないように制御する、後述の回避制御を常時実行する。
 ティーチ制御部32は、ダイレクトティーチ作業を実行させる。具体的には、ティーチ制御部32は、ユーザがロボットアーム10に与えた移動力に応じて、ロボットアーム10の関節21~27を回動させ、各アームを移動させる。ロボットアーム10へ与えられた移動力は、力覚センサ18により検知される。ティーチ制御部32は、その検知結果を取得し、当該移動力の大きさおよび方向を推定する。この推定結果に基づきティーチ制御部32は、第1駆動部41~第7駆動部47のモータ51を適宜駆動して、ユーザがロボットアーム10を動かそうとした方向にロボットアーム10を移動させる。また、ティーチ制御部32は、ダイレクトティーチ作業において設定されたロボットアーム10の動作軌道を、教示データとして記憶部33に格納する。
 記憶部33は、前記プログラムや前記教示データを記憶する。また、記憶部33は、ダイレクトティーチの操作感を決定するパラメータを記憶する。これらに加え、本実施形態の記憶部33は、ロボットアーム10が特異点の近傍領域に至っているか否かをヤコビアンで判定する際の、判定基準となる閾値を記憶する。
 [特異点の回避制御に関する構成]
 ロボット制御部31は、ロボットアーム10を教示データに応じて動作させている間において、当該ロボットアーム10が特異点の近傍に至った場合に、特異点から遠ざかる方向に冗長軸である第3軸2C、すなわち第2捻り関節23を回動させる回避制御を実行する。この回避制御により、TCP17の位置および姿勢を維持した状態で、ロボットアーム10が制御不能に陥らないようにすることができる。
 専門的知識を有するユーザであれば、ロボットアーム10が特異点に至らないように教示データを作成することは可能である。一方、ダイレクトティーチ方式が採用される場合、専門的知識を有していないユーザでも教示データを容易に作成できるものの、教示点が特異点であったり、動作時に特異点を通過したりする教示データが作成されてしまうことがある。ロボット制御部31は、このような教示データがユーザから与えられた場合でも、前記回避制御を実行してロボットアーム10の制御不能状態を回避する。
 ロボット制御部31は、前記回避制御として、次のステップ(A)~(D)に示す制御を実行する。
(A)ロボットアーム10の動作制御中において、ロボットアーム10の位置および姿勢の情報に基づいて、ロボットアーム10が特異点の近傍領域に至っているか否かを常時監視する。
(B)ロボットアーム10が特異点の近傍領域に至っている場合に、計算上で、TCP17の位置と姿勢を維持した状態で、冗長軸である第3軸2Cを有する第2捻り関節23の関節角度を変更する。
(C)冗長軸の第2捻り関節23が変更後の関節角度とされたときの、ロボットアーム10の他の関節21、22、24~27の関節角度を算出することで、特異点を回避可能な第2捻り関節23の関節角度を探知する。
(D)探知された角度を新たな第2捻り関節23の関節角度として、ロボットアーム10の動作制御を継続する。
 上記の回避制御の実行のため、ロボット制御部31は、監視部34、判定部35、関節角度算出部36および探知部37を機能的に備える。監視部34は、ステップ(A)の一部を担う機能部であって、ロボットアーム10の位置および姿勢を、ヤコビアンを用いて監視する。ヤコビアンは、ロボットアーム10の関節角速度を、ロボットアーム10の先端速度、つまりTCP17の速度に変換する。ロボットアーム10のTCP17の位置姿勢Pを、P=[x、y、z、u、v、w]とした場合、関節角度の変化量と位置姿勢Pの変化量との間のヤコビアンは、下記式(1)に示すヤコビアン行列式det|J|で表現される。なお、式(1)中のθ~θは、それぞれ関節21~27における第1軸2A~第7軸2Gの関節角ベクトルである。
Figure JPOXMLDOC01-appb-M000001
 監視部34は、ロボットアーム10の各アーム要素の長さ情報と、第1駆動部41~第7駆動部47の各エンコーダ53にて取得される回転角情報とから、ヤコビアン行列式det|J|を解き、TCP17の位置姿勢Pを数値化して監視する。なお、特異点では、ヤコビアン行列式det|J|=0となる。
 判定部35も、上記ステップ(A)の一部を担う機能部である。判定部35は、ヤコビアン行列式det|J|の数値の絶対値が、予め定められた閾値を下回るか否かに基づいて、ロボットアーム10が特異点の近傍領域に至っているか否かを判定する。前記閾値は、ロボットアーム10を特異点に至らせない裕度を考慮して設定され、予め記憶部33に格納される。det|J|の絶対値が前記閾値を下回った場合、判定部35は、ロボットアーム10が近傍領域に至ったと判定する。
 関節角度算出部36は、上記ステップ(B)を担う機能部である。関節角度算出部36は、判定部35が、特異点の近傍領域に至ったと判定した場合に、TCP17の位置姿勢Pを維持した状態で、特異点を回避可能な関節角度を算出する処理を行う。具体的には関節角度算出部36は、冗長軸の関節の角度をプラス方向とマイナス方向とに微小に変更する。図3は、特異点を回避する冗長軸の関節角度の探知状況を示すロボットアーム10の斜視図である。既述の通り、本実施形態の冗長軸は第3軸2Cである。関節角度算出部36は、シミュレーション的に第3軸2Cの回転角、つまり第2捻り関節23の関節角度をプラス方向およびマイナス方向に微小に変更する。
 そして、関節角度算出部36は、TCP17の位置姿勢Pはそのままで、第2捻り関節23の関節角度が変更されたロボットアーム10について逆キネマティクス計算を実行し、ロボットアーム10の各関節21~27の角度を算出する。例えば関節角度算出部36は、冗長軸の第3軸2Cをプラス方向およびマイナス方向へ何段階かに分けて変更し、各冗長軸の回転角ごとに逆キネマティクス計算を実行する。
 探知部37は、上記ステップ(C)を担う機能部である。探知部37は、ロボットアーム10を特異点の近傍領域から離れるように移動させ得る冗長軸の角度を探知する。すなわち探知部37は、ヤコビアン行列式det|J|の数値の絶対値が、特異点の近傍領域を定める前記閾値を超えるような、第3軸2Cの回転角度、つまり第2捻り関節23の関節角度を探知する。
 具体的には探知部37は、関節角度算出部36が逆キネマティクス計算で求めた、冗長軸を含む各関節21~27の角度から特定される、ロボットアーム10のTCP17の位置および姿勢を、ヤコビアン行列式det|J|に適用して数値化する。この数値化は、プラス方向およびマイナス方向へ変更された冗長軸の回転角ごと行われる。探知部37は、これら数値を参照し、前記閾値を超える数値をもつ冗長軸の角度の中から、適宜な冗長軸の角度を選択する。さらに探知部37は、選択した冗長軸の角度に既存の教示データを更新し、記憶部33に保存する。以降、ロボット制御部31は、更新された教示データでロボットアーム10を制御する。
 以上説明した監視制御を行うロボットシステム1によれば、まず監視部34が、ヤコビアン行列式を用いて、ロボットアーム10が特異点の近傍領域に至っているか否かを常時監視する。次に、判定部35が特異点の近傍領域にロボットアーム10が至っていると判定した場合には、関節角度算出部36が、TCPの位置と姿勢を維持した状態で、計算式上において冗長軸である第2捻り関節23の関節角度を変更する。さらに、変更した関節角度ごとに逆キネマティクス計算が実行され、各関節21~27の関節角度が算出される。そして、変更後の関節角度をヤコビアン行列式に適用して数値化することで、特異点を回避可能な第2捻り関節23の関節角度が探知される。従って、冗長軸を活用して、TCP17の位置と姿勢を維持しつつ、ロボットアーム10を特異点へ至らせない制御、つまりロボットアーム10が制御不能に陥らない制御を実現できる。
 [動作フロー]
 図4は、制御装置30によるロボットアーム10の動作制御例を示すフローチャートである。ロボット制御部31は、記憶部33に格納された教示データに基づき、ロボットアーム10の第1駆動部41~第7駆動部47のモータ51を制御して、ロボットアーム10を動作させる。この動作を実行させながら、各関節21~27の現状の関節角度についてのヤコビアンを、監視部34がヤコビアン行列式det|J|を用いて数値化する(ステップS1)。
 続いて判定部35が、ステップS1で求められたdet|J|の数値の絶対値が、予め定められた閾値以下であるか否かが判定する(ステップS2)。判定部35は、前記絶対値が前記閾値を超過している場合(ステップS2でNO)、ロボットアーム10が特異点の近傍領域に至っていないと判定する。この場合、ロボット制御部31は、冗長軸である第2捻り関節23の関節角度を変更せずに、ロボットアーム10の動作制御を継続する(ステップS3)。
 これに対し、前記絶対値が前記閾値を下回っている場合(ステップS2でYES)、関節角度算出部36が、ソフトウェアの計算上で、TCP17の位置および姿勢を固定した状態で、冗長軸の第2捻り関節23の関節角度を、例えばプラス方向へ所定の角度ピッチの1ピッチ分だけ変更する(ステップS4)。そして、冗長軸の角度変更後のロボットアーム10の状態について逆キネマティクス計算を実行し、そのときの各関節21~27の角度を算出する(ステップS5)。
 続いて、冗長軸角度の変更が完了したか否かが確認される(ステップS6)。例えば、冗長軸の角度をプラス方向へ5ピッチ分、マイナス方向へ5ピッチ分を変更すると設定されている場合、その10ピッチ分の角度変更が完了したか否かが確認される。冗長軸角度の変更が完了していない場合(ステップS6でNO)、ステップS4に戻って、冗長軸角度を他の角度に変更して同じ処理が繰り返される。
 冗長軸角度の変更が完了した場合(ステップS6でYES)、関節角度算出部36は、ステップS5で実行した逆キネマティクス計算の解が存在するか否かを確認する(ステップS7)。ロボットアーム10には、動作が可能な範囲が存在する。冗長軸角度の変更を行った結果、ロボットアーム10の可動範囲から外れてしまうことがある。可動範囲外となれば、ロボットアーム10が動けない。このような場合、逆キネマティクス計算を行っても、その解が存在しない結果となる。
 逆キネマティクス計算の解が存在する場合(ステップS7でYES)、探知部37は、ステップS5で得られた関節角度について、ヤコビアン行列式det|J|の絶対値を計算する(ステップS8)。ここで算出される数値は、冗長軸角度が変更されていることから、ステップS1で計算されたdet|J|の絶対値とは異なる数値となる。その後、探知部37は、det|J|の絶対値を、ステップS2の判定で用いた閾値よりも大きくなる冗長軸角度を選択する(ステップS9)。ステップS5の逆キネマティクス計算で複数の解の存在する冗長軸角度が抽出された場合、前記閾値を超過し、且つ、最もdet|J|の絶対値が大きい冗長軸角度を選択する設定としても良い。以後の、ロボットアーム10の動作制御では、選択された冗長軸角度に基づく関節21~27の関節角度に更新された教示データが採用される。
 一方、逆キネマティクス計算の解が存在しない場合(ステップS7でNO)、ロボットアーム10が特異点に至ることを回避できる冗長軸角度が存在しないということになる。この場合、探知部37は、操作パネル19もしくは他の表示装置においてアラームを発報し、ロボットアーム10の制御を停止させる(ステップS10)。その後、教示データの再作成などの処置が取られる。
 [上記実施形態に含まれる発明]
 以上説明した実施形態には、以下に示す発明が含まれている。
 本発明の一局面に係るロボットの制御方法は、冗長軸を備えた垂直多関節型のロボットの制御方法であって、前記ロボットの位置および姿勢の情報に基づいて、前記ロボットが特異点の近傍領域に至っているか否かを監視し、前記ロボットが特異点の近傍領域に至っている場合に、計算上で、前記ロボットのTCPの位置と姿勢を維持した状態で前記冗長軸の関節の角度を変更し、前記冗長軸が変更後の角度とされたときの、前記ロボットの他の関節の角度を算出することで、前記特異点を回避可能な前記冗長軸の角度を探知し、探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する。
 この制御方法によれば、ロボットが特異点の近傍領域に至っているか否かが常時監視される。そして、特異点の近傍領域に至っている場合には、計算式上で冗長軸の関節の角度を変更し、TCPの位置と姿勢を維持した状態で、特異点を回避可能な前記冗長軸の角度が探知される。従って、冗長軸を活用して、TCPの位置と姿勢を維持しつつ、ロボットを特異点へ至らせない制御、つまりロボットが制御不能に陥らない制御を実現できる。
 上記のロボットの制御方法において、前記ロボットの位置および姿勢をヤコビアン行列式の数値に基づいて評価し、前記ヤコビアン行列式の数値の絶対値が予め定められた閾値を下回ったとき、前記ロボットが特異点の近傍領域に至っていると判定する態様とすることができる。
 この態様によれば、ロボットが特異点の近傍領域に至っているか否かを、ヤコビアン行列式の数値により客観的に評価できる。すなわち、ロボットの各動作軸とTCPの位置との関係をヤコビアンで常時把握し、ヤコビアンの数値が閾値を下回ったときに特異点に接近したと判定できるので、ロボット制御ロジックを簡素化できる。
 上記のロボットの制御方法において、前記冗長軸の角度をプラス方向とマイナス方向とに変更し、前記TCPの位置と姿勢をそのままとして逆キネマティクス計算を実行し、前記ロボットの各関節の角度を算出する態様とすることができる。
 逆キネマティクス計算の実行により、TCPの位置と姿勢を固定した状態で、ロボットの関節の角度を算出することができる。上記の態様によれば、冗長軸の角度をプラスおよびマイナス方向に振りつつ、逆キネマティクス計算により特異点を回避できる各関節の角度を迅速に探知できる。
 本発明の他の局面に係るロボットシステムは、冗長軸を備えた垂直多関節型のロボットと、前記ロボットの動作を制御する制御部と、を備え、前記制御部は、前記ロボットの位置および姿勢を、ヤコビアン行列式を用いて数値化して監視する監視部と、前記ヤコビアン行列式の数値の絶対値が予め定められた閾値を下回るか否かに基づいて、前記ロボットが特異点の近傍領域に至っているか否かを判定する判定部と、前記ロボットが特異点の近傍領域に至っている場合に、計算上で前記冗長軸の関節の角度をプラス方向とマイナス方向とに微小に変更し、前記ロボットのTCPの位置と姿勢をそのままとして逆キネマティクス計算を実行し、前記ロボットの各関節の角度を算出する関節角度算出部と、変更後の前記冗長軸の角度と、前記逆キネマティクス計算で得られた各関節の角度とから特定される前記ロボットの位置および姿勢をヤコビアン行列式に適用して数値化し、前記閾値を超える前記冗長軸の角度を探知する探知部と、を含み、前記制御部は、探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する。
 このロボットシステムによれば、監視部が、ヤコビアン行列式を用いて、ロボットが特異点の近傍領域に至っているか否かを常時監視する。そして、判定部が特異点の近傍領域に至っていると判定した場合には、関節角度算出部および探知部が、計算式上で冗長軸の関節の角度を変更し、TCPの位置と姿勢を維持した状態で、特異点を回避可能な前記冗長軸の角度が探知される。従って、冗長軸を活用して、TCPの位置と姿勢を維持しつつ、ロボットを特異点へ至らせない制御、つまりロボットが制御不能に陥らない制御を実現できる。

Claims (4)

  1.  冗長軸を備えた垂直多関節型のロボットの制御方法であって、
     前記ロボットの位置および姿勢の情報に基づいて、前記ロボットが特異点の近傍領域に至っているか否かを監視し、
     前記ロボットが特異点の近傍領域に至っている場合に、計算上で、前記ロボットのTCPの位置と姿勢を維持した状態で前記冗長軸の関節の角度を変更し、
     前記冗長軸が変更後の角度とされたときの、前記ロボットの他の関節の角度を算出することで、前記特異点を回避可能な前記冗長軸の角度を探知し、
     探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する、ロボットの制御方法。
  2.  請求項1に記載のロボットの制御方法において、
     前記ロボットの位置および姿勢をヤコビアン行列式の数値に基づいて評価し、前記ヤコビアン行列式の数値の絶対値が予め定められた閾値を下回ったとき、前記ロボットが特異点の近傍領域に至っていると判定する、ロボットの制御方法。
  3.  請求項1に記載のロボットの制御方法において、
     前記冗長軸の角度をプラス方向とマイナス方向とに変更し、前記TCPの位置と姿勢をそのままとして逆キネマティクス計算を実行し、前記ロボットの各関節の角度を算出する、ロボットの制御方法。
  4.  冗長軸を備えた垂直多関節型のロボットと、
     前記ロボットの動作を制御する制御部と、を備え、
     前記制御部は、
      前記ロボットの位置および姿勢を、ヤコビアン行列式を用いて数値化して監視する監視部と、
      前記ヤコビアン行列式の数値の絶対値が予め定められた閾値を下回るか否かに基づいて、前記ロボットが特異点の近傍領域に至っているか否かを判定する判定部と、
      前記ロボットが特異点の近傍領域に至っている場合に、計算上で前記冗長軸の関節の角度をプラス方向とマイナス方向とに微小に変更し、前記ロボットのTCPの位置と姿勢をそのままとして逆キネマティクス計算を実行し、前記ロボットの各関節の角度を算出する関節角度算出部と、
      変更後の前記冗長軸の角度と、前記逆キネマティクス計算で得られた各関節の角度とから特定される前記ロボットの位置および姿勢をヤコビアン行列式に適用して数値化し、前記閾値を超える前記冗長軸の角度を探知する探知部と、を含み、
     前記制御部は、探知された角度を新たな前記冗長軸の角度として前記ロボットの動作を制御する、ロボットシステム。
PCT/JP2022/023043 2022-06-08 2022-06-08 ロボットの制御方法およびロボットシステム WO2023238268A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023043 WO2023238268A1 (ja) 2022-06-08 2022-06-08 ロボットの制御方法およびロボットシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/023043 WO2023238268A1 (ja) 2022-06-08 2022-06-08 ロボットの制御方法およびロボットシステム

Publications (1)

Publication Number Publication Date
WO2023238268A1 true WO2023238268A1 (ja) 2023-12-14

Family

ID=89118101

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/023043 WO2023238268A1 (ja) 2022-06-08 2022-06-08 ロボットの制御方法およびロボットシステム

Country Status (1)

Country Link
WO (1) WO2023238268A1 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10329066A (ja) * 1997-05-26 1998-12-15 Mitsubishi Heavy Ind Ltd 冗長マニピュレータの特異姿勢検知方法および特異姿勢回避方法
JP2005230952A (ja) * 2004-02-18 2005-09-02 Kawasaki Heavy Ind Ltd 制御方法および制御装置
JP2007136590A (ja) * 2005-11-16 2007-06-07 Kawasaki Heavy Ind Ltd 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP2010110878A (ja) * 2008-11-10 2010-05-20 Toshiba Mach Co Ltd 多関節型ロボット装置およびその制御方法
JP2016002628A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10329066A (ja) * 1997-05-26 1998-12-15 Mitsubishi Heavy Ind Ltd 冗長マニピュレータの特異姿勢検知方法および特異姿勢回避方法
JP2005230952A (ja) * 2004-02-18 2005-09-02 Kawasaki Heavy Ind Ltd 制御方法および制御装置
JP2007136590A (ja) * 2005-11-16 2007-06-07 Kawasaki Heavy Ind Ltd 冗長関節部を有する冗長ロボットの制御装置および制御方法
JP2010110878A (ja) * 2008-11-10 2010-05-20 Toshiba Mach Co Ltd 多関節型ロボット装置およびその制御方法
JP2016002628A (ja) * 2014-06-18 2016-01-12 株式会社Ihi 加工軌道生成装置と方法

Similar Documents

Publication Publication Date Title
JP5114019B2 (ja) エフェクタの軌道を制御するための方法
US9211646B2 (en) Control apparatus and control method for robot arm, assembly robot, control program for robot arm, and control-purpose integrated electronic circuit for robot arm
US8175750B2 (en) Control apparatus and control method for robot arm, robot, control program for robot arm, and robot arm control-purpose integrated electronic circuit
JP3782679B2 (ja) 干渉回避装置
DE102009014074B4 (de) Roboter und Verfahren zum Steuern einer kooperativen Arbeit des Roboters
EP2660014B1 (en) Control device and teaching method for seven-shaft multi-joint robot
CN106493711B (zh) 控制装置、机器人以及机器人系统
JP6584102B2 (ja) ロボット装置、ロボット制御方法、プログラム、記録媒体、及び物品の製造方法
WO2008001713A1 (fr) Robot articulé et son programme de commande
US10850396B2 (en) Controller for monitoring movement direction of operation tool
CN107363830B (zh) 机器人控制装置、机器人以及机器人系统
JP2013000833A (ja) ロボットの故障検出方法、ロボット
US11613012B2 (en) Robot controller
WO2023238268A1 (ja) ロボットの制御方法およびロボットシステム
JP4873254B2 (ja) ロボットの直接教示装置
WO2019171516A1 (ja) 垂直多関節ロボットの慣性パラメータ同定システム及び慣性パラメータ同定方法並びに垂直多関節ロボットの制御装置及び制御方法
JP3671694B2 (ja) ロボットのティーチング方法およびその装置
JPH07227779A (ja) ロボットハンドの姿勢制御装置
JP2020104178A (ja) ロボット装置、ロボット装置の制御方法、ロボット装置を用いた物品の製造方法、制御プログラム及び記録媒体
JP6521021B2 (ja) ロボット、ロボット制御装置およびロボットの制御方法
EP4067012B1 (en) Method for controlling robot, robot system, and program for controlling robot
WO2023162225A1 (ja) ロボット制御装置および多関節ロボット
US20210299869A1 (en) Teaching Method
JP3666928B2 (ja) ロボット制御方法及びその装置
CN115243846A (zh) 机器人的控制装置、机器人系统、机器人控制方法

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

Country of ref document: EP

Kind code of ref document: A1