CONTROL SYSTEM, CONTROL APPARATUS AND ROBOT
The control system addresses user difficulties in programming robot movements through singularities by detecting and generating G-codes to guide robots around or through these positions, enhancing operational efficiency and reducing user complexity.
Patent Information
- Application Number
- DE102020122847
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-10-15
- Filing Date
- 2020-09-01
- Publication Date
- 2025-01-30
- Estimated Expiration
- 2040-09-01
AI Technical Summary
Users unfamiliar with robot controls face difficulties in programming robot movements, particularly when navigating through singularities, which are positions where the robot's joint axes align linearly, making it impossible to calculate inverse kinematics and thus operate the robot effectively.
A control system that includes a control apparatus capable of teaching robot positions and postures, detecting singularities, and generating G-codes to guide the robot through or around them, allowing users to create movement programs without directly handling inverse kinematic calculations.
Enables users to easily create robot movement programs that avoid singularities, improving operational efficiency and reducing user burden by automatically generating paths that navigate around or through these critical positions.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[0001] The present invention relates to a control system, a control apparatus and a robot.
[0002] For example, in machining with a machine tool, a robot was used for a workpiece attachment / removal operation for the purpose of automation. In this case, it is necessary to teach the robot a predetermined working motion. Although a robot learning operation is performed using a robot controller, a machine tool operator is not accustomed to handling the robot controller, and in some cases, it is difficult for the operator to perform such an operation independently.
[0003] For example, an integrated system comprising a robot and a machine tool has been disclosed, the integrated system being capable of operating the robot through a control unit of the machine tool. See, for example, Patent Document 1.
[0004] Patent Document 1: Japanese Unexamined Patent Application Publication No. JP 2001 - 154 717 A.
[0005] DE 10 2017 204 211 A1 concerns a robot controller.
[0006] DE 10 2015 004 475 A1 concerns a robot controller.
[0007] DE 20 2014 010 055 U1 concerns an acoustic teaching aid.
[0008] DE 10 2010 032 917 A1 concerns a method for offline programming.
[0009] US 2016 / 0 136 805 A1 concerns a method for calibration.
[0010] JP 2010 - 201 592 A relates to a method for creating a surgical path.
[0011] In the robot teaching operation, the operation of moving the robot to a desired position is performed while pressing a button for specifying a robot movement direction, i.e., jog operation, which is arranged on the teaching control panel. Such a jog operation method includes orthogonal jog operation and per-axis jog operation. Orthogonal jog operation is the operation of teaching the robot a desired position to which the robot moves based on the directions of an X-axis, a Y-axis, and a Z-axis of an orthogonal coordinate system attached to the robot. In this case, to move the robot's handtip to the taught position, the robot not only performs translational motion in the X-axis, Y-axis, and Z-axis directions, but also performs the posture-changing motion of rotating the robot's handtip around each axis.On the other hand, per-axis jog operation is the operation in which the robot is taught the desired motion target position by moving the robot in one direction around the axis of each robot joint axis. Orthogonal jog operation is an operation based on the orthogonal coordinate system, which is easily understood by humans, and therefore the user often performs the robot's learning operation through orthogonal jog operation.
[0012] When the movement direction of the robot's handtip is specified by the orthogonal jog operation and a target position is generated according to this operation, the rotation angle of each joint axis is calculated from the target position based on the inverse kinematic calculation. Based on the calculated rotation angle, each joint axis is controlled so that the robot's handtip moves to the target position. However, in a case where the solution of the inverse kinematic calculation cannot be obtained from the target position, it is difficult to control the robot. For example, in a target position where the robot is in such a posture that the rotation axes of two or more joint axes are in line, the rotation angles of these joint axes cannot be uniquely determined. For this reason, such a position is called a "singularity," and the robot cannot be moved to such a singularity.In particular, it is often necessary for the robot to pass through the singularity when entering the machine tool to perform a lift and retract motion. In this case, the robot cannot be operated by orthogonal jog mode, and when the robot passes through and crosses the singularity, the orthogonal jog mode must be switched to jog mode for each axis, eliminating the need for inverse kinematic calculation.
[0013] However, for the machine tool user who is unfamiliar with the robot, it is difficult to grasp the singularity and operate the robot.
[0014] For this reason, there was a demand for a robot motion program that could be easily created without having to consider the singularity.
[0015] The task is therefore to solve the above problems.
[0016] The above objects are solved by the subject matter of the independent patent claims. Advantageous further developments are the subject matter of the dependent patent claims. (1) One aspect of a control system (1) of the present disclosure is a control system (1) comprising a control apparatus (100) capable of teaching a robot position and a robot (200) to be operated according to the position teaching. The control apparatus (100) comprises an operation unit (110) that teaches the robot (200) the position based on the operation of a user, a posture change instruction unit (124) that instructs the robot (200) to change the posture if it receives a notification from the robot (200) that the robot (200) will pass through a singularity or its surroundings when moving to the learned position, a singularity pass movement request unit (125) that transmits the instruction to change the posture to the robot (200) so that the robot (200) passes through the singularity or its surroundings in the posture instructed by the posture change instruction unit (124),a robot drive information requesting unit (129) that requests the robot (200) to provide robot drive information indicating a drive status of the robot (200) when the robot (200) passes through the singularity or its vicinity and acquires the robot drive information, and a robot G-code generating unit (130) that generates a G-code corresponding to the movement of the robot (200) based on the robot drive information acquired by the robot drive information requesting unit (129) and inserts the generated G-code into a program. The robot (200) comprises a drive control unit (212) which drives the robot (200), a singularity determination unit (213) which determines whether or not the robot (200) passes through the singularity or its surroundings when it moves to the position taught by the control apparatus (100), and which sends a message,that the robot (200) passes through the singularity or its surroundings, sends to the control apparatus (100), in a case where the robot (200) passes through the singularity or its surroundings, a singularity passing pattern generation unit (215) that generates, in the case of receiving the instruction to change the posture of the robot (200) from the control device (100), a movement plan based on the changed posture, so that the robot (200) passes through the singularity or the surroundings thereof and causes the drive control unit (212) to drive the robot (200) based on the generated movement plan, and a robot drive information output unit (219) that transmits the robot drive information to the control device (100) in the case of receiving a request for the robot drive information from the control device (100), wherein the singularity passing pattern generation unit (215) causes the drive control unit (212)to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its surroundings when moving to the taught position, and to cause the drive control unit (212) to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its surroundings. (2) One aspect of a control apparatus (100) of the present disclosure includes an operation unit (110) that teaches a robot (200) a posture based on the operation by a user as a control target, a posture change instruction unit (124) that instructs the robot (200) to change the posture in case of receiving from the robot (200) a notification that the robot (200) passes through a singularity or its surroundings when moving to the taught position, a singularity pass movement request unit (125) that transmits the instruction to change the posture to the robot (200) so that the robot (200) passes through the singularity or its surroundings in the posture instructed by the posture change instruction unit (124), a robot drive information request unit (129) that requests the robot (200), provide robot drive information indicating a drive status of the robot (200),when the robot (200) passes through the singularity or its vicinity and acquires the robot drive information, and a robot G-code generation unit (130) that generates a G-code corresponding to the robot (200) on the basis of the robot drive information acquired by the robot drive information request unit (129) and inserts the generated G-code into a program, wherein the singularity pass movement request unit (125) causes a singularity pass pattern generation unit (215) to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its vicinity when moving to the taught position, and causes the singularity pass pattern generation unit (215) to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its surroundings., (3) One aspect of a robot (200) of the present disclosure is a robot (200) that operates according to a position teaching by a control apparatus (100) that can teach the position of the robot (200). The robot (200) comprises a drive control unit (212) that drives the robot (200), a singularity determination unit (213) that determines whether or not the robot (200) passes through a singularity or its surroundings when it moves to the position taught by the control device (100), and that transmits a notification that the robot (200) passes through the singularity or its surroundings to the control device (100) when the robot (200) passes through the singularity or its surroundings, a singularity passing pattern generation unit (215) that, in the case of receiving an instruction to change the posture of the robot (200) from the control device (100), generates a movement plan based on the changed posture,such that the robot (200) passes through the singularity or its surroundings and causes the drive control unit (212) to drive the robot (200) based on the generated motion plan, and a robot drive information output unit (219) that transmits robot drive information to the control device (100) in the case of receiving a request for the robot drive information from the control device (100), wherein the robot drive information indicates a drive status of the robot (200) when the robot (200) passes through the singularity or its surroundings, wherein the singularity passing pattern generation unit (215) causes the drive control unit (212) to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its surroundings when moving to the taught position, and causes the drive control unit (212)to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its surroundings.,
[0017] According to one aspect, the robot motion program can be easily created without having to consider the singularity. Fig. 1 is a functional block diagram showing a functional configuration example of a control system according to an embodiment; Fig. 2 is a view showing an example of a program into which a G-code generated according to the movement of a robot by a robot G-code generating unit is inserted; Fig. 3 is a view showing an example of a robot position learning screen; Fig. 4 is a view showing an example of the robot; Fig. 5 is a flowchart describing the learning processing by the control system; and Fig. Figure 6 is a flowchart describing instruction processing by the control system.
[0018] First, the outline of the present embodiment will be described. In the present embodiment, a control system includes a control device and a robot. The control device teaches the robot a posture based on the user's operation and instructs the robot to change its posture if it receives a notification from the robot that it will pass through the singularity or its vicinity when moving to the taught position. The control device requests the robot to pass through the singularity or its vicinity in the instructed posture. The control device acquires robot drive information indicating a robot drive status when the robot passes through the singularity or its vicinity, generates G-code corresponding to the robot based on the acquired robot drive information, and inserts the generated G-code into a program.
[0019] With this configuration, according to the present embodiment, it is possible to solve the above-described problem that “a robot motion program that can be easily manufactured without having to consider the singularity”.
[0020] The outline of the present embodiment has been described above.
[0021] Next, the configuration of the present embodiment will be described in detail with reference to the drawings.
[0022] It should be noted that, unless otherwise stated, a singularity or the vicinity of a singularity is also referred to as the “vicinity of a singularity” in the following description.
[0023] Fig. 1 is a functional block diagram showing a functional configuration example of a control system 1 according to an embodiment.
[0024] The control system 1 comprises a control device 100 and a robot 200. The control device 100 and the robot 200 can be directly connected to each other via a connection interface (not shown). Note that the control device 100 and the robot 200 can be connected to each other via a network (not shown), such as a local area network (LAN) or the Internet. In this case, the control device 100 and the robot 200 include comprehensive communication units (not shown) that communicate with each other via such a connection.
[0025] The control apparatus 100 is a numerical controller that can teach the position of the robot 200 and generates a motion program for the robot 200 according to the position teaching.
[0026] As in Fig. As shown in Figure 1, the control apparatus 100 includes a handle operation unit 110, a control unit 120, and a display unit 140. Furthermore, the control unit 120 includes an interpolation calculation unit 121, a target position transmission unit 122, a singularity information acquisition unit 123, a posture change instruction unit 124, a singularity sweep motion request unit 125, a robot coordinate follow-up request unit 126, a coordinate reception unit 127, a follow-up execution unit 128, a robot drive information request unit 129, and a robot G-code generation unit 130.
[0027] The handle operation unit 110 includes a handle for manual operation by the user. The handle is provided for adjusting each of the positions of a plurality of joint axes included in the robot 200 described later, for example, in an orthogonal coordinate system of an X-axis, a Y-axis, and a Z-axis. The handle operation unit 110 outputs, for example, a pulse train signal corresponding to the number of revolutions of the rotation handle. As described above, the handle operation unit 110 is used to allow a machine tool user to operate the robot 200 in the usual orthogonal coordinate system.
[0028] It should be noted that a single handle operation unit 110 may be provided for the plurality of joint axes of the robot 200, or a plurality of handle operation units 110 may be provided for the plurality of joint axes in one-to-one correspondence, that is, one for each of the plurality of joint axes.
[0029] The control unit 120 includes a CPU, a ROM, a RAM, a CMOS memory, etc., and these components are known to those skilled in the art and are configured to communicate with each other via a bus.
[0030] The CPU is a processor that controls the control device 100 as a whole. The CPU reads a system program and an application program stored in the ROM via the bus, thus controlling the entire control device 100 according to the system program and the application program. With this configuration, the control unit 120, as shown in Fig. 1, is configured to implement the functions of the interpolation calculation unit 121, the target position transmission unit 122, the singularity information acquisition unit 123, the posture change instruction unit 124, the singularity sweep motion request unit 125, the robot coordinate reception request unit 126, the coordinate reception unit 127, the follow-up execution unit 128, the robot drive information request unit 129, and the robot G-code generation unit 130. Various types of data such as temporary calculation data and display data are stored in the RAM. The CMOS memory is backed up by a battery (not shown) and is configured as a non-volatile memory that maintains a memory state even when the control apparatus 100 is turned off.
[0031] The interpolation calculation unit 121 calculates a target position (a teaching operation) of the robot 200 based on the pulse train signal received from the handle operation unit 110.
[0032] The target position transmission unit 122 transmits the target position calculated by the interpolation calculation unit 121 to the robot 200.
[0033] The singularity information acquisition unit 123 receives a notification that the robot 200 passes through the vicinity of the singularity when a singularity determination unit 213 of the robot 200 described later has determined that the robot 200 passes through the vicinity of the singularity when the robot 200 moves to the target position transmitted from the target position transmission unit 122.
[0034] It should be noted that the environment of the singularity is a predefined area around the singularity as the center.
[0035] The posture change instruction unit 124 displays a message of the above-described indication on the display unit 140 described later in a case where the indication that the robot 200 is passing through the singularity vicinity has been received from the singularity information acquisition unit 123. Furthermore, the posture change instruction unit 124 displays on the display unit 140 a message prompting the robot 200 to change its posture so that the robot 200 passes through the singularity vicinity. The posture change instruction unit 124 receives an instruction to change the posture of the robot 200 through a user operation via an input device (not shown) included in the control apparatus 100, such as a touch panel. Note that the message display, the content of the instruction to change the posture of the robot 200, etc. will be described later.
[0036] The singularity pass motion request unit 125 transmits the posture change instruction to the robot 200, so that the robot 200 passes through the vicinity of the singularity in the posture instructed by the posture change instruction unit 124. Furthermore, the singularity pass motion request unit 125 receives a completion notification from the robot 200 indicating the completion of the singularity pass when the robot 200 has passed through the vicinity of the singularity.
[0037] The robot coordinate follow-up request unit 126 sends a follow-up request to the robot 200 in a case where the singularity sweep motion request unit 125 has displayed the completion message. Thereafter, the robot coordinate follow-up request unit 126 receives a completion message from the robot 200 indicating that the transmission of coordinate information regarding the coordinate system set for the robot 200 has been completed.
[0038] The coordinate receiving unit 127 receives the coordinate information described above from the robot 200.
[0039] The follow-up execution unit 128 updates a coordinate value of the robot 200 based on the coordinate information received from the coordinate receiving unit 127 in a case where the robot coordinate follow-up request unit 126 has shown the completion message.
[0040] The robot drive information requesting unit 129 requests the robot 200 to provide robot drive information indicating a drive status of the robot 200 when the robot 200 passes through the vicinity of the singularity.
[0041] The robot drive information includes a form indicating the posture of the robot 200, the number of rotations of the joint axis corresponding to the wrist of the robot 200, the set coordinate system, and the coordinate value indicating the posture of the robot 200.
[0042] The robot G-code generation unit 130 generates a G-code corresponding to the motion of the robot 200 based on the robot drive information acquired by the robot drive information requesting unit 129, and inserts the generated G-code into a program.
[0043] Fig. 2 shows an example of a program into which the G-code generated by the robot G-code generation unit 130 in accordance with the movement of the robot 200 is inserted.
[0044] As in Fig. As shown in Figure 2, “O0001” indicates a program number in the first line.
[0045] "G00" in a second line is a command for positioning a starting point. "X100 Y100 Z100" specifies the movement to the coordinates (X, Y, Z) = (100, 100, 100).
[0046] "G200" in a third row is a command that causes the robot 200 to traverse the singularity vicinity. "J1, J2, J3, J4, J5, J6" indicates a case where the robot 200 is a six-axis vertical articulated robot, and the value of the rotation angle of each of the six axes is set in the robot drive information when the robot 200 moves to the target position. In other words, the G-code generated by the robot G-code generation unit 130 and causing the robot 200 to traverse the singularity vicinity is changed from an orthogonal mode in the second row to a per-axis mode. With this configuration, the robot 200 can traverse and pass through the singularity vicinity even in a case where the solution of the inverse kinematic calculation cannot be achieved.
[0047] The final characters "ijk" are parameters that respectively indicate the shape of the posture of the robot 200 after passing through the singularity, the number of rotations of the joint axis corresponding to the wrist of the robot 200, and the curvature of the movement of the hand tip of the robot 200 according to the robot drive information. For example, the curvature k of the movement is set to a value from "1%" to "100%", and the hand tip of the robot 200 moves with a smoother curve as the setting value increases.
[0048] “M99” in a fourth row is a command to terminate the program of Fig. 2.
[0049] In this configuration, the control apparatus 100 inserts the G-code for the robot 200, so that even a machine tool user who has no experience with a robot can easily create the robot motion program.
[0050] Note that "G200" is recorded as the command that causes robot 200 to traverse the singularity environment, but the present disclosure is not limited to such a configuration. An optional G-code may be assigned.
[0051] Furthermore, in a case where the robot 200 does not pass through the singularity when approaching the target position, the robot G-code generation unit 130 may generate the G-code in the orthogonal mode to insert the generated G-code into the program. For example, the robot G-code generation unit 130 may generate a G-code of "G01 X100.0 Y0.0 Z200.0 A0.0 A0.0 B-45.0 C0.0" for the (linear) cutting feed in the orthogonal mode and insert the G-code into the program. A, B, and C described here indicate the rotation angles around the X-axis, Y-axis, and Z-axis, respectively. Alternatively, the robot G-code generation unit 130 may generate a G-code of “G01 J1 100.0 J2 30.0 J3 95.5 J4 10.2 J5 45.0 J6 0.0” for the (linear) cutting feed in the mode of each axis.
[0052] The display unit 140 is, for example, a liquid crystal display and displays various types of information under the control of the control unit 120. The display unit 140 displays, for example, a robot position teaching screen 145.
[0053] Fig. 3 is a view showing an example of the robot position teaching screen 145.
[0054] As in Fig. As shown in Figure 3, the robot position teaching screen 145 includes a coordinate display area 300 that displays the position of the robot 200 in the orthogonal coordinate system and a coordinate system for each axis, and an editor display area 310 that displays a program editor for creating / editing the program. Furthermore, the robot position teaching screen 145 includes an input display area 320 that displays, for example, the G-code and the command value input to the program editor, and a coordinate switching key display area 330 that includes coordinate switching keys for changing the coordinate system for the robot 200.In addition, the robot posture learning screen 145 has a posture change display area 340 that displays the posture change button icons 341 to 343 for receiving the instruction to change the posture of the robot 200 based on the user operation, and a selection button display area 350 that displays selection buttons for selecting an axis provided by the handle operation unit 110 for manual operation (the jog operation).Furthermore, the robot position teaching screen 145 includes a teaching display area 360 that includes position teaching buttons for importing the position (X, Y, Z) and posture (A, B, C) of the robot 200, a movement speed setting button, hand opening / closing setting buttons provided at the hand tip of the robot 200, and a line specifying button for specifying a program line to be created / edited by the program editor. Furthermore, the robot position teaching screen 145 includes a soft key display area 370 that displays a plurality of soft keys.
[0055] As described above, in a case where the indication that the robot 200 is passing through the vicinity of the singularity has been received from the singularity information acquisition unit 123, the posture change instruction unit 124 may display a message of the indication, such as “APPROACHING SINGULARITY”, on the display unit 140, the message being displayed on the robot position teaching screen 145 of Fig. 3. In this case, the posture change instruction unit 124 may display a message such as "PLEASE SELECT ROBOT POSITION CHANGE FOR PASSING THROUGH SINGULARITY" on the display unit 140, with the message being superimposed on the robot posture teaching screen 145. Furthermore, the posture change instruction unit 124 prompts the user to select one of the posture change key icons 341 to 343 displayed on the posture change display area 340 of the robot posture teaching screen 145 via the input device (not shown) of the control apparatus 100, thereby receiving the instruction to change the posture of the robot 200.
[0056] With this configuration, when the robot 200 approaches the singularity during position teaching for the robot 200 in the orthogonal coordinate system, the control apparatus 100 can cause the robot 200 to move without the user having to try it, so that the robot 200 can walk and traverse the vicinity of the singularity, the operation ability can be improved, and the burden on the user can be reduced.
[0057] Note that the posture change button symbol 341 is a symbol for instructing the wrist joint axis of the robot 200 described later to change from an upward orientation to a downward orientation or from the downward orientation to the upward orientation. Furthermore, the posture change button symbol 342 is a symbol for instructing the elbow joint axis of the robot 200 to change from an upward orientation to a downward orientation or from the downward orientation to the upward orientation. Furthermore, the posture change button symbol 343 is a symbol for instructing the robot 200 to change its orientation from a forward orientation to a backward orientation or from the backward orientation to the forward orientation.
[0058] Since the coordinate switching key display area 330 displays the coordinate switching keys for switching the coordinate system of the robot 200 to one of the following coordinate systems: "coordinate system for each axis," "world coordinate system," "user coordinate system," "tool coordinate system 1," and "tool coordinate system 2," a code for switching the coordinate system of the robot 200 can be prepared in advance as a G code generated by the robot G code generation unit 130. In this case, for example, "G201" can specify the coordinate system of each axis as the coordinate system of the robot 200. In addition, "G202" can specify the world coordinate system as the coordinate system of the robot 200. In addition, "G203" can specify the tool coordinate system 1 as the coordinate system of the robot 200. In addition, "G204" can specify the tool coordinate system 2 as the coordinate system of the robot 200.In addition, “G205” can specify the user coordinate system as the coordinate system of the robot 200.
[0059] Fig. 4 is a view showing an example of the robot 200.
[0060] As in Fig. 4, for example, the robot 200 is a six-axis vertical articulated robot and includes six joint axes 230(1) to 230(6) and arm parts 240 coupled to each other by the joint axes 230(1) to 230(6). Based on a drive command from the control apparatus 100, the robot 200 drives a servo motor (not shown) disposed on each of the joint axes 230(1) to 230(6), thereby driving movable members such as the arm parts 240. Furthermore, an end effector 250, such as a grasping hand, is attached to a tip end portion of the movable member of the robot 200, such as a tip end portion of the joint axis 230(6).
[0061] The joint axis 230(1) described here is a joint for rotating the orientation of the robot 200. Furthermore, the joint axis 230(3) is a joint corresponding to the elbow of the robot 200. Furthermore, the joint axis 230(5) is a joint corresponding to the wrist of the robot 200.
[0062] Note that the robot 200 is identified as a six-axis vertical articulated robot, but may be a different vertical articulated robot than the six-axis vertical articulated robot, or may be, for example, a horizontal articulated robot or a parallel link robot.
[0063] Furthermore, in a case where it is not necessary to distinguish the joint axes 230(1) to 230(6) from each other, these axes are hereinafter referred to collectively as “joint axes 230”.
[0064] Fig. 4 shows the world coordinate system as a three-dimensional orthogonal coordinate system of the X-axis, Y-axis, and Z-axis, the tool coordinate system as a three-dimensional orthogonal coordinate system of an X-axis, a Y-axis, and a Z-axis of the end effector 250 attached to the tip of the joint axis 230(6) of the robot 200, and the user coordinate system as a three-dimensional orthogonal coordinate system of an Xu-axis, a Yu-axis, and a Zu-axis. In the present embodiment, a positional correlation between the world coordinate system, the tool coordinate system, and the user coordinate system is provided in advance through known calibration.With this configuration, the control apparatus 100 described above can control the position of the tip end portion, to which the end effector 250 is attached, of the robot 200 even beyond the position defined by the world coordinate system, the tool coordinate system, and the user coordinate system.
[0065] It should be noted that A, B and C in Fig. 4 specify the angles of rotation around the X-axis, the Y-axis and the Z-axis.
[0066] As in Fig. As shown in Figure 1, the robot 200 includes a robot controller 210. Furthermore, the control unit 210 includes a target position receiving unit 211, a drive control unit 212, a singularity determination unit 213, a kinematics control unit 214, a singularity sweep pattern generation unit 215, a coordinate system control unit 216, a robot coordinate following unit 217, a coordinate transmission unit 218, and a robot drive information output unit 219.
[0067] The control unit 210 includes a CPU, a ROM, a RAM, a CMOS memory, etc., and these components are known to those skilled in the art and are configured to communicate with each other via a bus.
[0068] The CPU is a processor that controls the robot 200 as a whole. The CPU reads a system program and an application program stored in ROM via the bus and thus controls the entire robot 200 according to the system program and the application program. With this configuration, the control unit 210, as shown in Fig. 1, configured to implement the functions of the target position receiving unit 211, the drive control unit 212, the singularity determination unit 213, the kinematics control unit 214, the singularity sweep pattern generation unit 215, the coordinate system control unit 216, the robot coordinate following unit 217, the coordinate transmission unit 218, and the robot drive information output unit 219.
[0069] The target position receiving unit 211 receives the target position transmitted from the target position transmitting unit 122 of the control apparatus 100.
[0070] The drive controller 212 drives the servo motor (not shown) of each joint axis 230 of the robot 200 so that the robot 200 moves to the target position received from the receiving unit 211.
[0071] The singularity determination unit 213 determines whether or not the robot 200 passes through the vicinity of the singularity when moving to the target position taught by the control apparatus 100, and, in a case where the robot 200 passes through the vicinity of the singularity, sends a notification that the robot 200 is near the singularity to the control apparatus 100.
[0072] Specifically, the singularity determination unit 213 determines whether the robot 200 is positioned in a posture such that the rotation axes of two or more joint axes 230 are aligned, for example, when approaching the target position, based on the rotation angle of each joint axis 230 included in a calculation result of the kinematics control unit 214 described later. If the robot 200 is positioned in a posture such that the rotation axes of two or more joint axes 230 are aligned, the singularity determination unit 213 determines that the robot 200 is passing through the vicinity of the singularity. The singularity determination unit 213 sends a notification to the control apparatus 100 that the robot 200 is near the singularity.
[0073] The kinematics control unit 214 calculates the rotation angle of each joint axis 230 from the received target position based on the inverse kinematics calculation. The kinematics control unit 214 outputs the calculation result to the singularity determination unit 213, the singularity sweep pattern generation unit 215, and the robot drive information output unit 219.
[0074] In case of receiving the instruction to change the posture of the robot 200 from the control apparatus 100, the singularity passing pattern generation unit 215 generates a motion plan based on the changed posture of the robot 200 so that the robot 200 passes through the vicinity of the singularity, and causes the drive control unit 212 to drive the robot 200 based on the generated motion plan.
[0075] Specifically, upon receiving the posture change instruction unit 215, the singularity traversing pattern generation unit 215 acquires information including the coordinate system set for the robot 200, the form indicating the posture of the robot 200, the number of revolutions of each of the joint axes 230(4) to 230(6) corresponding to the wrist of the robot 200, and the position of the singularity from the kinematics control unit 214 and the coordinate system control unit 216. Using the acquired information, the singularity traversing pattern generation unit 215 generates a plan for the interpolation by the robot 200 and the movement in the mode of each axis based on the changed posture of the robot 200, so that the robot 200 traverses the vicinity of the singularity. The singularity sweep pattern generation unit 215 causes the drive control unit 212 to drive the robot 200 based on the generated motion plan.In case of moving the robot 200 to the target position by interpolation by the robot 200 and the mode with each axis, the singularity passing pattern generating unit 215 sends a completion message to the control apparatus 100 indicating the completion of the passing through the singularity.
[0076] Note that the changed posture of the robot 200 may be different from the posture commanded by the user of the control apparatus 100. For example, even in a case where the user presses the posture change button icon 341 on the robot posture learning screen 145 to select an instruction to change the joint axis 230(5) of the wrist of the robot 200 from the upward orientation to the downward orientation or from the downward orientation to the upward orientation, the singularity sweep pattern generation unit 215 may select a posture such that the joint axis 230(3) of the elbow of the robot 200 changes from the upward orientation to the downward orientation or from the downward orientation to the upward orientation.Alternatively, the singularity sweep pattern generation unit 215 may select a posture such that the joint axis 230(1) of the orientation of the robot 200 changes from the forward orientation to the backward orientation or from the backward orientation to the forward orientation.
[0077] That is, it is difficult for a machine tool user who is unaccustomed to using a robot teaching panel to determine whether or not the robot 200 can pass through the singularity by placing the robot 200 in an arbitrary posture. Therefore, the singularity passing pattern generation unit 215 determines an optimal posture for passing through the singularity based on the information acquired by the kinematics control unit 214 and the coordinate system control unit 216 described later. With this configuration, the burden on the user can be reduced.
[0078] The coordinate system control unit 216 controls the coordinate system set for the robot 200.
[0079] Upon receiving the follow-up request from the control device 100, the robot coordinate follow-up request unit 217 acquires the coordinate information related to the coordinate system set for the robot 200 from the coordinate system control unit 216, thereby setting the acquired coordinate information to the coordinate transmission unit 218 and notifying the control device 100 of the acquired coordinate information. The robot coordinate follow-up unit 217 outputs a completion message to the control device 100 indicating that the transmission of the coordinate information is complete.
[0080] The coordinate transmission unit 218 transmits the coordinate information set by the robot coordinate follower unit 217 to the control apparatus 100.
[0081] In case of receiving a robot drive information request from the control apparatus 100, the robot drive information output unit 219 acquires the information (the shape, the number of revolutions, the coordinate system) from the kinematics control unit 214 and the coordinate system control unit 216. The robot drive information output unit 219 notifies the control apparatus 100 of the acquired information as robot drive information.
[0082] Next, the operation according to the learning processing by the control system 1 according to the present embodiment will be described.
[0083] The Fig. 5 and Fig. 6 are flowcharts for describing the learning processing by the control system 1. The process described here is repeatedly executed each time the user of the control apparatus 100 teaches the robot 200 the target position.
[0084] In step S101, the interpolation calculation unit 121 of the control apparatus 100 calculates the target position of the robot 200 based on the pulse train signal received from the handle operation unit 110 by the user of the control apparatus 100.
[0085] In step S102, the target position transmission unit 122 transmits the target position calculated in step S101 to the robot 200.
[0086] In step S201, the drive control unit 212 of the robot 200 drives the servo motor (not shown) of each joint axis 230 of the robot 200 so that the robot 200 moves to the target position received from the target position receiving unit 211.
[0087] In step S202, the singularity determination unit 213 determines whether or not the robot 200 passes through the vicinity of the singularity based on the rotation angle of each joint axis 230 when the robot 200 moves to the target position calculated by the inverse kinematic calculation by the kinematics control unit 214. If the robot 200 passes through the vicinity of the singularity, the processing proceeds to step S203. If the robot 200 does not pass through the vicinity of the singularity, the processing proceeds to step S207.
[0088] In step S203, the singularity determination unit 213 sends to the control apparatus 100 the notification that the robot 200 passes through the vicinity of the singularity.
[0089] In step S103, the determination information acquisition unit 123 of the control apparatus 100 determines whether the indication that the robot 200 is passing through the vicinity of the singularity has been detected by the robot 200. If the singularity information has been detected, the processing proceeds to step S104. If the singularity information has not been detected, the processing proceeds to step S107.
[0090] When the indication that the robot 200 is passing through the vicinity of the singularity is detected in step S103 in step S104, the posture change instruction unit 124 displays the message of the indication on the display unit 140 and receives the instruction to change the posture of the robot 200 from the user of the control apparatus 100.
[0091] In step S105, the singularity traversal motion request unit 125 transmits the posture change instruction to the robot 200 so that the robot 200 traverses the singularity in the posture instructed in step S104.
[0092] In step S204, in the case of receiving the instruction to change the posture of the robot 200 from the control apparatus 100, the singularity passing pattern generation unit 215 of the robot 200 generates the plan for the interpolation by the robot 200 and the movement in the single-axis mode based on the changed posture of the robot 200 so that the robot 200 passes through the vicinity of the singularity.
[0093] In step S205, the singularity sweep pattern generation unit 215 causes the drive control unit 212 to drive the robot 200 based on the motion plan generated in step S204.
[0094] In step S206, in a case where the robot 200 has been moved to the target position by interpolation by the robot 200 and the mode for each axis, the singularity pass pattern generation unit 215 transmits to the control apparatus 100 the completion message indicating the completion of the pass through the singularity.
[0095] In step S106, the singularity pass motion request unit 125 of the control apparatus 100 receives from the robot 200 the completion message indicating the completion of the pass through the singularity.
[0096] In a case where the completion notification is received in step S107, the robot coordinate follow-up request unit 126 sends the follow-up request to the robot 200 in step S106.
[0097] In step S207, the robot coordinate following unit 217 of the robot 200 receives the follow-up request from the control apparatus 100. The robot coordinate following unit 217 acquires from the coordinate system control unit 216 the coordinate information regarding the coordinate system set for the robot 200, thereby setting the acquired coordinate information to the coordinate transmission unit 218.
[0098] In step S208, the coordinate transmission unit 218 transmits the coordinate information set in step S207 to the control apparatus 100.
[0099] In step S108, the coordinate receiving unit 127 of the control apparatus 100 receives the coordinate information from the robot 200.
[0100] In step S209, in a case where the coordinate information has been transmitted to the control apparatus 100 in step S208, the robot coordinate follower unit 217 of the robot 200 transmits the completion message to the control apparatus 100 indicating that the transmission of the coordinate information is completed.
[0101] In step S109, the robot coordinate follow-up request unit 126 of the control apparatus 100 receives from the robot 200 the completion message that the transmission of the coordinate information is completed.
[0102] In step S110 of Fig. 6, in response to receiving the completion notification in step S109, the follow-up execution unit 128 updates the coordinate value of the robot 200 based on the coordinate information obtained in step S108.
[0103] In step S111, the robot drive information request unit 129 transmits the request for the robot drive information to the robot 200.
[0104] In step S210, the robot drive information output unit 219 of the robot 200 acquires the robot drive information from the kinematics control unit 214 and the coordinate system control unit 216 in response to receiving the robot drive information request from the control apparatus 100.
[0105] In step S211, the robot drive information output unit 219 transmits the robot drive information acquired in step S210 to the control apparatus 100.
[0106] In step S112, the robot drive information request unit 129 of the control apparatus 100 receives the robot drive information from the robot 200.
[0107] In step S113, the robot G-code generation unit 130 generates the G-code corresponding to the movement of the robot 200 based on the robot drive information acquired in step S112 and inserts the generated G-code into the program.
[0108] In the configuration described above, the control apparatus 100 of one embodiment transmits to the robot 200 the target position of the robot 200 calculated based on the pulse train signal received by the operation of the handle operation unit 110 by the user of the control apparatus 100. Upon receiving the notification from the robot 200 that the robot 200 is passing near the singularity when moving to the transmitted target position, the control apparatus 100 displays the notification on the display unit 140 and receives the instruction to change the posture of the robot 200 from the user of the control apparatus 100. The control apparatus 100 transmits the instruction to change the posture to the robot 200 so that the robot 200 passes through the singularity in the instructed posture.The control device 100 acquires the robot drive information indicating the drive status of the robot 200 when the robot 200 passes through the singularity. The control device 100 generates the G-code corresponding to the movement of the robot 200 based on the acquired robot drive information and inserts the generated G-code into the program.
[0109] With this configuration, the control apparatus 100 can easily generate the robot motion program without having to consider the singularity.
[0110] One embodiment has been described above, but the control system 1, the control apparatus 100, and the robot 200 are not limited to the above-described embodiment. Variations, modifications, etc., made within a scope that encompasses an achievable objective are comprehensively included.
[0111] In the above-described embodiment, the control apparatus 100 receives, as the posture change instruction from the user, the instruction to change the joint axis 230(5) of the wrist of the robot 200 from the upward orientation to the downward orientation or from the downward orientation to the upward orientation, the instruction to change the joint axis 230(3) of the elbow of the robot 200 from the upward orientation to the downward orientation or from the downward orientation to the upward orientation, or the instruction to change the orientation of the robot 200 from the upward orientation to the downward orientation or from the downward orientation to the upward orientation, but the present disclosure is not limited to such a configuration. For example, the control apparatus 100 may receive only the posture change instruction from the user.
[0112] This is because, as described above, the singularity passing pattern generation unit 215 of the robot 200 determines the optimal posture when passing through the singularity based on the information acquired by the kinematics control unit 214 and the coordinate system control unit 216. Thus, in some cases, the changed posture of the robot 200 may differ from the posture commanded by the control apparatus 100. Furthermore, it is difficult for the machine tool user who is not accustomed to operating the robot teaching control panel to determine the optimal posture when the robot 200 passes through the singularity. For these reasons, the user simply gives the instruction to change the posture, so the user's burden can be further reduced.
[0113] It should be noted that each function included in the control system 1, the control apparatus 100, and the robot 200 in one embodiment can be implemented by hardware, software, or a combination thereof. Implementation by software described here means that each function is implemented by a computer reading and executing a program.
[0114] The program can be stored on and delivered to the computer on various types of non-transitory computer-readable media. Non-transitory computer-readable media includes various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., a flexible disk, a magnetic tape, and a hard disk drive), magnetic-optical recording media (e.g., a magnetic-optical disk), a CD-ROM, a CD-R, a CD-R / W, and semiconductor memories (e.g., a mask ROM, a programmable ROM (PROM), an erasable PROM (EPROM), a flash ROM, and a RAM). The program can be delivered to the computer via various types of transient computer-readable media. Examples of transient computer-readable media include an electrical signal, an optical signal, and an electromagnetic wave.The temporary computer-readable medium may deliver the program to the computer over a wired communication path such as an electrical wire or an optical fiber, or over a wireless communication path.
[0115] It should be noted that the step of describing the program recorded on the recording medium obviously includes not only processing carried out in chronological order, but also processing which is not necessarily carried out in chronological order, but in parallel or individually.
[0116] In other words, the control system, the control apparatus, and the robot of the present disclosure can be represented as various embodiments having the following configurations. (1) The control system 1 of the present disclosure is a control system including a control apparatus 100 capable of teaching a robot position and a robot 200 to be operated according to the position teaching. The control apparatus 100 includes an operation unit 110 that teaches the robot 200 a posture based on the operation of a user, a posture change instruction unit 124 that instructs the robot 200 to change the posture when receiving a notification from the robot 200 that the robot 200 will pass through a singularity or its surroundings when moving to the taught position, a singularity pass movement request unit 125 that transmits the posture change instruction to the robot 200 so that the robot 200 passes through the singularity or its surroundings in the posture instructed by the posture change instruction unit 124, a robot drive information request unit 129,which requests the robot 200 to provide robot drive information indicating a drive status of the robot 200 when the robot 200 passes through the singularity or its vicinity and acquires the robot drive information, and a robot G-code generation unit 130 which, based on the robot drive information acquired by the robot drive information requesting unit 129, generates a G-code corresponding to the movement of the robot 200 and inserts the generated G-code into a program. The robot 200 includes a drive control unit 212 that drives the robot 200, a singularity determination unit 213 that determines whether or not the robot 200 passes through the singularity or its surroundings when it moves to the position taught by the control apparatus 100, and in a case where the robot 200 passes through the singularity or its surroundings, sends a message to the control apparatus 100,that the robot 200 passes through the singularity or its surroundings, a singularity passing pattern generation unit 215 that, upon receiving the instruction to change the posture of the robot 200 from the control apparatus 100, generates a motion plan based on the changed posture so that the robot 200 passes through the singularity or its surroundings and causes the drive control unit 212 to drive the robot 200 based on the generated motion plan, and a robot drive information output unit 219 that transmits the robot drive information to the control apparatus 100 if a request for the robot drive information is received from the control apparatus 100.
[0117] According to the control system 1, a robot motion program can be easily created without considering the singularity. (2) In the control system 1 according to (1), the singularity passing pattern generation unit 215 causes the drive control unit 212 to drive the robot 200 in an orthogonal mode when the robot 200 does not pass through the singularity or its vicinity when moving to the taught position, and causes the drive control unit 212 to drive the robot 200 in a mode for each axis when the robot 200 passes through the singularity or its vicinity.
[0118] With this configuration, in a case where the robot 200 is located in or near the singularity during position teaching for the robot 200 in an orthogonal coordinate system, the control system 1 can switch the orthogonal coordinate system to an each-axis coordinate system so that the robot 200 can pass through and traverse the singularity or its vicinity. (3) In the control system 1 according to (1) or (2), the robot drive information includes a form indicating the posture of the robot 200, the number of revolutions of each of the joint axes 230(4) to 230(6) corresponding to the wrist of the robot 200, a set coordinate system, and a coordinate value indicating the position and posture of the robot 200.
[0119] With this configuration, the control system 1 enables even a machine tool user who has no experience with a robot to easily create the robot motion program. (4) In the control system 1 according to any one of (1) to (3), the posture change instructed by the posture change instruction unit 124 is a change in the orientation of the wrist or the elbow of the robot 200 from an upward orientation to a downward orientation or from the downward orientation to the upward orientation, a change in the orientation of the robot 200 from a forward orientation to a backward orientation or from the backward orientation to the forward orientation, or a change in the orientation of the robot 200 from a left orientation to a right orientation or from the right orientation to the left orientation.
[0120] With this configuration, when the robot 200 reaches or approaches the singularity during position teaching for the robot 200 in the orthogonal coordinate system, the control system 1 can cause the robot 200 to perform a movement without trial and error of the user, so that the robot 200 can pass through and traverse the singularity or its vicinity, the operation ability can be improved, and the burden on the user can be reduced. (5) The control apparatus 100 of this disclosure includes a control apparatus 110 that teaches a robot 200 a position based on the operation by a user as a control target, a posture change instruction unit 124 that instructs the robot 200 to change its posture when receiving from the robot 200 a notification that the robot 200 passes through a singularity or its vicinity when moving to the taught position, a singularity pass movement request unit 125 that transmits the instruction to change the posture to the robot 200 so that the robot 200 passes through the singularity or its vicinity in the posture instructed by the posture change instruction unit 124, a robot drive information request unit 129 that requests the robot 200 to provide robot drive information indicating a drive status of the robot 200 ads,when the robot 200 passes through the singularity or its vicinity and acquires the robot drive information, and a robot G-code generation unit 130 that generates a G-code corresponding to the robot 200 based on the robot drive information acquired by the robot drive information request unit 129 and inserts the generated G-code into a program.
[0121] According to the control apparatus 100, advantageous effects similar to those of (1) can be provided. (6) The robot 200 of the present disclosure is a robot that operates according to a position teaching by a control apparatus 100 that can teach the position of the robot (200). The robot 200 includes a drive control unit 212 that drives the robot 200, a singularity determination unit 213 that determines whether or not the robot 200 passes through a singularity or its surroundings when moving to the position taught by the control apparatus 100 and sends a notification to the control apparatus 100 that the robot 200 passes through the singularity or its surroundings, and a singularity passing pattern generation unit 215 that, upon receiving an instruction to change the posture of the robot 200 from the control apparatus 100, generates a posture change instruction unit 215, a movement plan based on the changed posture,so that the robot 200 passes through the singularity or its surroundings and causes the drive control unit 212 to drive the robot 200 based on the generated motion plan, and a robot drive information output unit 219 that transmits robot drive information to the control apparatus 100 upon receiving a request for the robot drive information from the control apparatus 100, the robot drive information indicating a drive status of the robot 200 when the robot 200 passes through the singularity or its surroundings.
[0122] According to the robot 200, advantageous effects similar to those of (1) can be achieved. REFERENCE SYMBOL 1 tax system 100 control equipment 110 Handle operating unit 124 Posture Change Instruction Unit 125 Singularity Pass Motion Request Unit 129 Robot drive information request unit 130 Robot G-code generation unit 200 robots 215 Singularity sweep pattern generation unit 219 Robot drive information output unit
Claims
[1] A control system (1) comprising a control apparatus (100) capable of teaching a robot position and a robot (200) to be operated according to position teaching, the control system comprising: wherein the control apparatus (100) comprises an operation unit (110) that teaches the robot (200) a position based on the operation by a user, a posture change instruction unit (124) that instructs the robot (200) to change a posture if it receives a notification from the robot (200) that the robot (200) passes through a singularity or a vicinity thereof when moving to the instructed position, a singularity traversal motion request unit (125) that transmits an instruction to change the posture to the robot (200) so that the robot (200) traverses the singularity or its surroundings in the posture instructed by the posture change instruction unit (124), a robot drive information requesting unit (129) that requests the robot (200) to provide robot drive information indicating a drive status of the robot (200) when the robot (200) passes through the singularity or its surroundings and acquires the robot drive information, and a robot G-code generation unit (130) that generates a G-code corresponding to the movement of the robot (200) based on the robot drive information acquired by the robot drive information request unit (129) and inserts the generated G-code into a program, and wherein the robot (200) comprises a drive control unit (212) that controls the robot (200), a singularity determination unit (213) which determines whether or not the robot (200) passes through the singularity or its surroundings when it moves to the position taught by the control apparatus (100), and which sends a notification that the robot (200) passes through the singularity or its surroundings to the control apparatus (100) if the robot (200) passes through the singularity or its surroundings, a singularity traversal pattern generation unit (215) which, in a case of receiving the instruction to change the posture of the robot (200) from the control apparatus (100), generates a motion plan based on the changed posture so that the robot (200) traverses the singularity or its surroundings and causes the drive control unit (212) to drive the robot (200) based on the generated motion plan, and a robot drive information output unit (219) that transmits the robot drive information to the control apparatus (100) when receiving a request for the robot drive information from the control apparatus (100). wherein the singularity passing pattern generation unit (215) causes the drive control unit (212) to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its vicinity when moving to the learned position, and causes the drive control unit (212) to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its vicinity. [2] The control system (1) according to claim 1, wherein the robot drive information includes a form indicating the posture of the robot (200), the number of revolutions of each of the joint axes (230(4) to 230(6)) corresponding to a wrist of the robot (200), a set coordinate system, and a coordinate value indicating a position and the posture of the robot (200). [3] The control system (1) according to claim 1 or 2, wherein the posture change instructed by the posture change instruction unit (124) is a change in the orientation of the wrist or an elbow of the robot (200) from an upward orientation to a downward orientation or from the downward orientation to the upward orientation, a change in the orientation of the robot (200) from a forward orientation to a backward orientation or from the backward orientation to the forward orientation, or a change in the orientation of the robot (200) from a left orientation to a right orientation or from the right orientation to the left orientation. [4] Control apparatus (100), comprising: an operation unit (110) that teaches a robot (200) a position based on the operation by a user as a control target; a posture change instruction unit (124) that instructs the robot (200) to change a posture if it receives a notification from the robot (200) that the robot (200) passes through a singularity or a vicinity thereof when moving to the instructed position; a singularity traversal motion request unit (125) that transmits a posture change instruction to the robot (200) so that the robot (200) traverses the singularity or its vicinity in the posture instructed by the posture change instruction unit (124); a robot drive information requesting unit (129) that requests the robot (200) to provide robot drive information indicating a drive status of the robot (200) when the robot (200) passes through the singularity or its vicinity and acquires the robot drive information; and a robot G-code generation unit (130) that generates a G-code corresponding to the robot (200) based on the robot drive information acquired by the robot drive information requesting unit (129) and inserts the generated G-code into a program, wherein the singularity sweep movement requesting unit (125) causes a singularity sweep pattern generation unit (215) to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its vicinity when moving to the taught position, and causes the singularity sweep pattern generation unit (215) to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its vicinity. [5] A robot (200) operating according to a position teaching by a control apparatus (100) capable of teaching a position of the robot (200), the robot comprising: a drive control unit (212) that controls the robot (200); a singularity determination unit (213) that determines whether or not the robot (200) passes through a singularity or its surroundings when it moves to the position taught by the control apparatus (100), and that sends a notification that the robot (200) passes through the singularity or its surroundings to the control apparatus (100) if the robot (200) passes through the singularity or its surroundings; a singularity traversal pattern generation unit (215) which, in a case of receiving an instruction to change a posture of the robot (200) from the control apparatus (100), generates a motion plan based on the changed posture so that the robot (200) traverses the singularity or its vicinity and causes the drive control unit (212) to drive the robot (200) based on the generated motion plan; and a robot drive information output unit (219) that transmits robot drive information to the control apparatus (100) in a case of receiving a request for the robot drive information from the control apparatus (100), wherein the robot drive information indicates a drive status of the robot (200) when the robot (200) passes through the singularity or its vicinity, wherein the singularity passing pattern generation unit (215) causes the drive control unit (212) to drive the robot (200) in an orthogonal mode in a case where the robot (200) does not pass through the singularity or its vicinity when moving to the taught position, and causes the drive control unit (212) to drive the robot (200) in a mode for each axis in a case where the robot (200) passes through the singularity or its vicinity.
Citation Information
Patent Citations
Method for offline programming of an NC-controlled manipulator
DE102010032917A1
Robot control device for controlling a robot that moves according to an applied force.
DE102015004475A1
Robot control and robot control methods
DE102017204211A1
Acoustic teach-aid for easy recognition of working space limits and singular positions
DE202014010055U1
Connection system between robot and machine
JP2001154717A