Robotic system, control method and memory device

By generating a combination of jumping motion paths and control units, the problem of avoiding obstacles during robot teaching is solved, and the teaching efficiency and path accuracy are improved.

CN116728327BActive Publication Date: 2025-10-17YASKAWA DENKI KK
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310202624.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-03-08
Filing Date
2023-03-06
Publication Date
2025-10-17
Estimated Expiration
2043-03-06

AI Technical Summary

Technical Problem

In the existing technology, it is difficult for robots to effectively avoid obstacles during teaching, resulting in low teaching efficiency.

Method used

The path generation unit generates a jumping motion path based on the robot's surrounding environment information, the jumping control unit makes the robot move along the generated path, and the position is added to multiple taught positions through the jog control unit and the command adding unit, and the playback control unit plays back the taught motion.

Benefits of technology

The efficiency of the robot teaching process is improved, and it can effectively avoid obstacles and ensure that the robot moves along the correct path.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116728327B_ABST
    Figure CN116728327B_ABST
Patent Text Reader

Abstract

The present disclosure provides a robot system, a control method, and a storage device. A robot system includes a robot, a robot controller configured to control the robot based on a sequence of taught positions, and a teaching device in communication with the robot controller and configured to receive an operator's operation, wherein the robot controller includes a path generation unit configured to generate a path from a current position of the robot to a target position specified by the operator on the teaching device in response to determining the target position, by simulating movement of the robot based on surrounding environment information of the robot, and a jump control unit configured to cause the robot to move toward the target position along the generated path.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates to a robot controller and a control method. BACKGROUND

[0002] Japanese Unexamined Patent Publication No. 2019-198925 discloses a control system including a controller and an operation device. The operation device acquires an operation input of an operator, generates a command based on the operation input, and outputs the command to the controller. The controller controls a robot in accordance with the command from the operation device. SUMMARY

[0003] The present disclosure provides a robot system that effectively simplifies motion programming.

[0004] A robot system according to an aspect of the present disclosure includes a robot, a robot controller configured to control the robot, and a teaching device communicable with the robot controller and configured to receive an operation of an operator, wherein the robot controller includes a path generation unit configured to generate a path from a current position of the robot to a target position specified by the operator on the teaching device by simulation of moving the robot based on surrounding environment information of the robot in response to a determination that the target position is specified by the operator on the teaching device, a jog control unit configured to cause the robot to move toward the target position along the generated path, a point motion control unit configured to cause the robot to move toward a moving direction specified by the operator on the teaching device in response to a determination that the moving direction is specified by the operator on the teaching device, a command addition unit configured to add a position of the robot at a time of an addition operation by the operator on the teaching device to a plurality of taught positions in response to the addition operation by the operator on the teaching device, and a playback control unit configured to cause the robot to playback a taught motion defined by the plurality of taught positions including the position added in response to the addition operation.

[0005] A control method according to another aspect of the present disclosure includes generating a path from a current position of a robot to a target position specified by an operator on a teaching device by simulation of moving the robot based on surrounding environment information of the robot in response to a determination that the target position is specified by the operator on the teaching device, causing the robot to move toward the target position along the generated path, causing the robot to move toward a moving direction specified by the operator on the teaching device in response to a determination that the moving direction is specified by the operator on the teaching device, adding a position of the robot at a time of an addition operation by the operator on the teaching device to a plurality of taught positions in response to the addition operation by the operator on the teaching device, and causing the robot to playback a taught motion defined by the plurality of taught positions including the position added in response to the addition operation.

[0006] A non-transitory memory device according to still another aspect of the present disclosure has stored thereon instructions that, in response to execution by a processing device, cause the processing device to perform operations including: in response to determining a target position specified by an operator on a teaching device, generating a path from a current position of a robot to the target position by simulation of movement of the robot based on surrounding environment information of the robot; causing the robot to move toward the target position along the generated path; in response to determining a movement direction specified by the operator on the teaching device, causing the robot to move toward the movement direction; in response to an addition operation by the operator on the teaching device, adding a position of the robot at a time of the addition operation to a plurality of taught positions; and causing the robot to playback a taught motion defined by the plurality of taught positions including the position added in response to the addition operation.

[0007] According to the present disclosure, it is possible to provide a robot controller effective in improving teaching efficiency. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 is a schematic diagram illustrating an example configuration of a robot system.

[0009] Figure 2 is a block diagram illustrating an example functional configuration of a controller.

[0010] Figure 3 is a block diagram illustrating a modification of the controller.

[0011] Figure 4 is a schematic diagram illustrating an example operation screen of an operation device.

[0012] Figure 5 is a block diagram illustrating an example hardware configuration of the controller and the operation device.

[0013] Figure 6 is a flowchart illustrating an example teaching process.

[0014] Figure 7 is a flowchart illustrating an example jump control process to a specified target position.

[0015] Figure 8 is a flowchart illustrating an example recovery process of a jump motion.

[0016] Figure 9 is a flowchart illustrating an example reverse process of a jump motion. DETAILED DESCRIPTION

[0017] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. In the specification, the same elements or elements having the same function are denoted by the same reference numerals, and redundant descriptions will be omitted.

[0018] Robot system

[0019] Figure 1 The illustrated robot system 1 is a system called a teach playback method for operating a robot 2 based on a motion program generated by teaching by an operator. As shown in Fig. 1, the robot system 1 includes the robot 2, a robot controller 100, and a teaching device 200. Figure 1 As shown, the robot system 1 includes the robot 2, a robot controller 100, and a teaching device 200.

[0020] Figure 1 The illustrated robot 2 is a six-axis vertical articulated robot having a base 11, a pivot portion 12, a first arm 13, a second arm 14, a third arm 17, a tip portion 18, and actuators 41, 42, 43, 44, 45, 46. The base 11 is installed on a floor surface, a wall surface, a ceiling surface, an automated guided vehicle, or the like. The pivot portion 12 is installed on the base 11 to pivot about a vertical axis 21. The first arm 13 is connected to the pivot portion 12 to swing about an axis 22 intersecting (e.g., orthogonal to) the axis 21, and extends outward from the axis 22. The intersecting includes a case where there is a twisted relationship such as a so-called three-dimensional intersection. This applies to the following description as well.

[0021] The second arm 14 is connected to a tip portion of the first arm 13 to swing about an axis 23 substantially parallel to the axis 22, and extends outward from the axis 23. The second arm 14 includes an arm base 15 and an arm end 16. The arm base 15 is connected to the tip portion of the first arm 13. The arm end 16 is connected to a tip portion of the arm base 15 to pivot about an axis 24 intersecting (e.g., orthogonal to) the axis 23, and extends along the axis 24 in a direction away from the arm base 15.

[0022] The third arm 17 is connected to a tip portion of the arm end 16 to swing about an axis 25 intersecting (e.g., orthogonal to) the axis 24. The tip portion 18 is connected to a tip portion of the third arm 17 to pivot about an axis 26 intersecting (e.g., orthogonal to) the axis 25.

[0023] As described above, the robot 2 includes a joint 31 connecting the base 11 and the pivot portion 12, a joint 32 connecting the pivot portion 12 and the first arm 13, a joint 33 connecting the first arm 13 and the second arm 14, a joint 34 connecting the arm base 15 and the arm end 16 in the second arm 14, a joint 35 connecting the arm end 16 and the third arm 17, and a joint 36 connecting the third arm 17 and the tip portion 18.

[0024] The actuators 41, 42, 43, 44, 45, 46 include, for example, motors and reducers to drive the joints 31, 32, 33, 34, 35, 36, respectively. For example, the actuator 41 pivots the pivoting portion 12 about the axis 21. The actuator 42 swings the first arm 13 about the axis 22. The actuator 43 swings the second arm 14 about the axis 23. The actuator 44 pivots the arm end portion 16 about the axis 24. The actuator 45 swings the third arm 17 about the axis 25. The actuator 46 pivots the tip portion 18 about the axis 26.

[0025] The specific configuration of the robot 2 can be modified as appropriate. For example, the robot 2 can be a seven-axis redundant robot further added with one joint on the basis of the above-described six-axis vertical-joint robot, or can be a so-called SCARA-type joint robot.

[0026] The teaching device 200 receives the operation of the operator at the time of teaching. The operation includes one or more movement operations for moving the robot and an addition input for adding the position of the moved robot to the taught position. For example, the operation of the operator includes a jog operation, an addition operation of adding the position of the robot to the taught position, and a playback operation. The robot controller 100 moves the robot 2 in response to the jog operation, and whenever the addition operation is received, adds the current position of the robot to the taught position. For example, the controller designates the current position of the robot as the added taught position, and stores a taught motion command for moving the robot toward the added taught position in the teaching motion storage unit 113. Thus, an operation program including a plurality of taught motion commands in time series is generated in the teaching motion storage unit 113.

[0027] For example, the teaching device 200 is a so-called "teach pendant" or "programmer" for operating the robot on site. The teaching device 200 is a hand-held device that can be held by the operator on site to perform the operation while directly monitoring the motion of the robot on site. The teaching device 200 includes an operation panel including a plurality of objects for receiving the operation of the operator.

[0028] The taught position (each taught position) is information defining the coordinates of the tip portion 18 in a three-dimensional coordinate system and the posture of the tip portion 18 about each coordinate axis. The taught position can be information directly defining the coordinates and the posture of the tip portion 18, or can be information indirectly defining the coordinates and the posture of the tip portion 18. Specific examples of the information indirectly defining the coordinates and the posture of the tip portion 18 include the rotation angles of the joints 31, 32, 33, 34, 35, 36.

[0029] The taught motion command includes a movement speed of the end portion 18 to the taught position and an interpolation condition defining a movement trajectory of the end portion 18 to the taught position. Examples of the interpolation condition include the following interpolation conditions.

[0030] Interpolation condition 1) a movement trajectory of the end portion 18 from a position immediately before execution of the taught motion command by the robot 2 (hereinafter referred to as "previous position") to the taught position is linear.

[0031] Interpolation condition 2) a movement trajectory of the end portion 18 from the previous position to the taught position is S-shaped.

[0032] Interpolation condition 3) angles of the joints 31, 32, 33, 34, 35, 36 change at the same rate from the previous position to the taught position.

[0033] The operation received by the teaching device 200 can also include an operation of adding a position variable. Like the taught position, the position variable is information defining coordinates of the end portion 18 in the three-dimensional coordinate system and a posture of the end portion 18 around each coordinate axis. The robot controller 100 stores the position variable in a storage area different from the teaching motion storage unit 113 in response to the operation of adding the position variable.

[0034] For example, the robot controller 100 has as functional components (hereinafter referred to as "functional blocks") a jog control unit 111, a command adding unit 112, and a playback control unit 114, as shown in Figure 2 When the teaching device 200 receives a jog operation, the jog control unit 111 moves the robot 2 in response to the jog operation. The jog operation is, for example, an operation defining a movement direction and a movement amount of the end portion 18. The jog control unit 111 operates the robot 2 to move the end portion 18 in the direction defined by the jog operation received by the teaching device 200 by the movement amount defined by the jog operation received by the teaching device 200. The movement direction includes a change direction of the coordinates of the end portion 18 and a change direction of the posture of the end portion 18.

[0035] The manner in which the teaching device 200 accepts the jog operation is not particularly limited. For example, the teaching device 200 can receive the jog operation based on an operation on an object such as a key, or can receive the jog operation based on a recognition result of a voice of an operator, or can receive the jog operation based on a recognition result of a gesture of an operator.

[0036] The command adding unit 112 is configured to store a taught motion command for causing the robot 2 to run to the added taught position in the taught motion storage unit 113 each time the teaching device 200 receives an add operation. For example, the command adding unit 112 generates a taught motion command using the position of the robot 2 at the time the teaching device 200 receives the add operation as the taught position, and stores the generated taught command in the taught motion storage unit 113. Since the command adding unit 112 stores a plurality of taught motion commands sequentially in the taught motion storage unit 113, a motion program including a plurality of taught motion commands in time series is generated in the taught motion storage unit 113. The taught motion storage unit 113 can be provided in a storage device of the robot controller 100, or can be provided in an external storage device capable of communicating with the robot controller 100.

[0037] The playback control unit 114 is configured to cause the robot to perform a playback motion based on the taught positions in response to one or more move operations. For example, the playback control unit is configured to sequentially call a plurality of taught motion commands stored in the taught motion storage unit 113, and cause the robot 2 to perform a motion represented by the taught positions of the plurality of taught motion commands. For example, the playback control unit 114 repeats playback control at a constant control cycle. The playback control includes: calculating a target angle of each of the joints 31, 32, 33, 34, 35, 36 to cause the robot 2 to move along a taught motion path represented by the taught positions of the plurality of taught motion commands; and causing the angle of each of the joints 31, 32, 33, 34, 35, 36 to follow the target angle.

[0038] As described above, in the robot system 1, the operator performs teaching by operating the robot 2 (generates a motion program by adding taught positions). When the robot 2 is manually operated, the teaching efficiency is improved if not only the robot 2 can be gradually moved by a jog operation, but also the robot 2 can be immediately moved from the current position to the target position. For example, the operator can teach two or more motions with respect to two or more positions separated from each other. In this case, the operator must move the robot along a very long path from the end position of one motion to the start position of another motion. In this case, automatic operation of the robot 2 along the very long path can be very convenient for the operator. However, there can be an obstacle between the current position and the distant target position. When it is necessary to avoid the obstacle, the operator must frequently correct the moving direction of the robot 2 to avoid the obstacle, and the teaching efficiency cannot be improved as expected.

[0039] Accordingly, the robot controller 100 is further configured to, in response to determining the target position specified by the one or more movement operations on the teaching device 200, generate a path from a current position of the robot to the target position based on the surrounding environment information of the robot; and cause the robot 2 to perform a path movement toward the target position along the generated path.

[0040] For example, the robot controller 100 further includes a path generation unit 115 and a jump control unit 116 as functional blocks. The path generation unit 115 is configured to, in response to determining the target position specified by the one or more movement operations on the teaching device 200, generate a path (a jump movement path) from a current position of the robot to the target position by moving a simulation of the robot 2 based on the surrounding environment information of the robot 2. For example, the path generation unit 115 generates the jump movement path from the current position to the target position based on the surrounding environment information stored in the surrounding environment database 122.

[0041] The target position is information that defines a coordinate of the end portion 18 in a three-dimensional coordinate system and a posture of the end portion 18 around each coordinate axis. The target position can be information that directly defines the coordinate and the posture of the end portion 18, or information that indirectly defines the coordinate and the posture of the end portion 18. Specific examples of the information that indirectly defines the coordinate and the posture of the end portion 18 include rotation angles of the joints 31, 32, 33, 34, 35, 36.

[0042] For example, the surrounding environment database 122 stores three-dimensional model data of the robot 2 and a plurality of objects including surrounding objects of the robot 2 as the surrounding environment information. The surrounding environment database 122 can be provided in a storage device of the robot controller 100, or can be provided in an external storage device capable of communicating with the robot controller 100.

[0043] The path generation unit 115 can be configured to generate a path that prevents the robot 2 from interfering with the peripheral object by simulating movement of the robot from the current position to the target position in the simulation. For example, the path generation unit 115 can calculate one or more via positions including the target position based on the surrounding environment information, and generate one or more jump movement commands to move the robot 2 to the one or more via positions. Each of the one or more via positions is information that defines a coordinate of the end portion 18 in a three-dimensional coordinate system and a posture of the end portion 18 around each coordinate axis. The via position can be information that directly defines the coordinate and the posture of the end portion 18, or can be information that indirectly defines the coordinate and the posture of the end portion 18. Specific examples of the information that indirectly defines the coordinate and the posture of the end portion 18 include rotation angles of the joints 31, 32, 33, 34, 35, 36.

[0044] The jump motion command includes a movement speed of the end portion 18 to the via position and an interpolation condition defining a movement trajectory of the end portion 18 to the via position. Examples of the interpolation condition include the following interpolation conditions.

[0045] Interpolation condition 1) the movement trajectory of the end portion 18 from a position immediately before the execution of the jump motion command by the robot 2 (hereinafter referred to as "previous position") to the via position is linear.

[0046] Interpolation condition 2) the movement trajectory of the end portion 18 from the previous position to the via position is S-shaped.

[0047] Interpolation condition 3) the angles of the joints 31, 32, 33, 34, 35, 36 change at the same rate as each other from the previous position to the taught position.

[0048] The path generation unit 115 generates a jump motion path so that the robot 2 does not interfere with the surrounding objects and the robot 2 itself. The path generation unit 115 first performs linear interpolation between the current position and the target position to temporarily generate a jump motion path, and simulates the motion of the robot 2 based on the temporarily generated jump motion path based on the surrounding environment information stored in the surrounding environment database 122. As a result of the simulation, when it is determined that the robot 2 interferes with the surrounding objects or the robot 2 itself, the path generation unit 115 randomly generates a via position that does not interfere with the surrounding objects and the robot 2, and adds the via position between the current position and the target position. Thereafter, the generation and addition of the via position are repeated until the jump motion path connecting the current position, the generated one or more via positions, and the target position does not interfere with the surrounding objects and the robot 2 itself. Thereafter, the path generation unit 115 generates two or more jump motion commands each having one or more added via positions and the target position as a via position.

[0049] If the robot 2 does not interfere with the surrounding objects and the robot 2 itself even through the jump motion path temporarily generated by linearly interpolating the current position and the target position, the path generation unit 115 does not add a via position and generates a jump motion command with the target position as a via position in the robot system 1.

[0050] The method of generating a jump motion path is not limited to the illustrated method. For example, the path generation unit 115 can generate a jump motion path so that the robot 2 does not interfere with the surrounding objects and the robot 2 itself, such as by a geometric algorithm.

[0051] The path generation unit 115 stores the generated one or more jump motion commands in a jump motion storage unit 123 separate from the taught motion storage unit 113. When the path generation unit 115 stores one or more jump motion commands in the jump motion storage unit 123, a jump motion program that represents a path from a current position to a target position by the one or more jump motion commands is generated in the jump motion storage unit 123. The jump motion storage unit 123 can be provided in a storage device of the robot controller 100, or can be provided in an external storage device that is capable of communicating with the robot controller 100.

[0052] The path generation unit 115 can request an external computing device to generate the above-described path. If the external computing device generates a jump motion path based on the surrounding environment information, causing the external computing device to generate the jump motion path is also included in generating the jump motion path based on the surrounding environment information.

[0053] The path generation unit 115 can generate a jump motion path to a target position specified by one or more movement operations. For example, the path generation unit 115 can generate a jump motion path defined by a target specifying operation received by the teaching device 200. The target specifying operation is an example of one or more movement operations. The method by which the teaching device 200 receives the target specifying operation is not particularly limited. For example, the teaching device 200 can receive the target specifying operation based on an operation of selecting a taught motion command of the robot system 1 from among a plurality of taught motion commands stored in the taught motion storage unit 113. When a pre-recorded position is selected in the target specifying operation, the path generation unit 115 can generate a jump motion path using the selected position as a target position. For example, when a taught motion command is selected from among a plurality of taught motion commands stored in the taught motion storage unit 113 as a pre-recorded position, the path generation unit 115 can generate a jump motion path using a taught position of the selected taught motion command as a target position.

[0054] The plurality of taught motion commands can be stored in the taught motion storage unit 113 in a state of being grouped into a plurality of tasks. In this case, when a task is selected from among the plurality of tasks as a pre-recorded position, the path generation unit 115 can generate a jump motion path using a taught position of a taught motion command (e.g., a first taught motion command) in the selected task as a target position.

[0055] The pre-recorded position is not limited to a taught position. For example, the pre-recorded position can be a position variable recorded separately from the taught position, or can be an origin of various coordinate systems (e.g., a workpiece coordinate system, a tool coordinate system, or a robot coordinate system).

[0056] The path generation unit 115 can not necessarily generate a path from the current position to the target position, and can be configured to generate a path of at least a part of a route from the current position to the target position. For example, the path generation unit 115 can acquire a user-specified path defined by the operation on the teaching device 200 for a part of the route from the current position to the target position, generate a path in a section in which the user-specified path is not defined, and generate a hopping motion path by combining the generated path with the user-specified path. The path generation unit 115 can generate a hopping motion path to pass through one or more via points specified by the user through the operation on the teaching device 200.

[0057] The teaching device 200 can receive a target specification operation based on an operation that specifies a point in the simulation of the robot 2 (e.g., a still or moving image of the simulation). In this case, the robot controller 100 can further include a robot display unit 121. Based on the surrounding environment information stored in the surrounding environment database 122, the robot display unit 121 causes the teaching device 200 to display a simulation of the robot 2 and the surrounding objects (e.g., a still or moving image that simulates the state of the robot 2 and the surrounding objects). When one point in the simulation of the robot 2 is specified in the target specification operation, the path generation unit 115 can generate a hopping motion path using a position corresponding to the specified point as a target position.

[0058] The teaching device 200 can receive a target specification operation based on a recognition result of the voice of the operator. The teaching device 200 can receive a target specification operation based on a recognition result of a gesture of the operator that indicates a target position in a real space.

[0059] The hopping control unit 116 is configured to cause the robot 2 to move from the current position to the target position on the generated hopping motion path. For example, the hopping control unit 116 moves the robot 2 based on one or more hopping motion commands stored in the hopping motion storage unit 123. For example, the hopping control unit 116 repeats hopping control with the above control period. The hopping control includes: calculating respective target angles of the joints 31, 32, 33, 34, 35, 36 to move the robot 2 along the hopping motion path represented by the plurality of hopping motion commands; and causing the respective angles of the joints 31, 32, 33, 34, 35, 36 to follow the target angles.

[0060] The jump control unit 116 can be configured to, in response to a pause request made by the one or more movement operations, cause the robot 2 to pause movement of the robot along the jump movement path toward the target position. For example, the jump control unit 116 can be configured to, in response to a continue request made by the one or more movement operations, cause the robot 2 to continue movement along the jump movement path toward the target position, and in response to a pause request made by the pause continue request, pause movement toward the target position. For example, the jump control unit 116 can operate the robot 2 in the jump movement path while the jump operation to the target position is continued, and can pause movement of the robot 2 while the jump operation is paused while the robot 2 is operated in the jump movement path.

[0061] For example, the jump control unit 116 can operate the robot 2 in the jump movement path while the jump operation on the teaching device 200 is continued, and can pause movement of the robot 2 while the jump operation on the teaching device 200 is paused while the robot 2 is operated in the jump movement path. The method by which the teaching device 200 receives the jump operation is not particularly limited. For example, the teaching device 200 can receive the jump operation based on an operation on an object such as a key, or can receive the jump operation based on a recognition result of a voice of the operator, or can receive the jump operation based on a recognition result of a gesture of the operator.

[0062] The jump control unit 116 can be configured to, in response to a resume request for paused movement made by the one or more movement operations, move the robot 2 back onto the jump movement path, and cause the robot 2 to resume the paused movement. The jump control unit 116 can be configured to, in response to a pause request made by the one or more movement operations, pause movement of the robot 2 along the jump movement path toward the target position. For example, the jump control unit 116 can be configured to, in response to a resume request for paused path movement made by the one or more movement operations, selectively execute control selected from the following controls based on a current state of the robot. The jump control unit 116 can be configured to detect the current state of the robot based on a record of one or more movements performed by the robot after a pause time. For example, when the jump operation is restarted in a state in which movement of the robot 2 is paused in the middle of the jump movement path, the jump control unit 116 can selectively execute one of the following controls based on contents of movements performed in a state in which operation of the robot 2 is paused (hereinafter referred to as a “pause state”).

[0063] The resume control 1) causes the robot to resume the paused path movement.

[0064] The resume control 2) causes the robot 2 to return to the jump movement path, and subsequently causes the robot 2 to resume the paused movement.

[0065] The recovery control 3) causes the path generation unit 115 to regenerate the path to the target position, and causes the robot 2 to move toward the target position along the regenerated path.

[0066] The jump control unit 116 can be configured to: detect a positional deviation of the robot 2 from the jump motion path as a current state; select the “recovery control 2” (second control) in response to determining that the detected positional deviation is less than a predetermined threshold; and select the “recovery control 3” (third control) in response to determining that the detected positional deviation is greater than the threshold.

[0067] For example, the jump control unit 116 determines whether motion is performed in the pause state. If motion is performed in the pause state, the jump control unit 116 determines whether the motion in the pause state is a recoverable motion that allows a return to the jump motion path. If it is determined that motion is not performed in the pause state, the jump control unit 116 performs the “recovery control 1” (first control). If it is determined that a recoverable motion is performed in the pause state, the jump control unit 116 performs the “recovery control 2”. If it is determined that motion other than a recoverable motion is performed in the pause state, the jump control unit 116 performs the “recovery control 3”.

[0068] Examples of the recoverable motion include a change in position of the robot 2 caused by temporarily cutting off power to the actuators 41, 42, 43, 44, 45, 46 (servo-off). Examples of motion other than a recoverable motion include motion of the robot 2 to a position deviating from the jump motion path caused by a jog operation. Even if a jog operation is performed, if the deviation from the jump motion path is small as a result of the jog operation, the recovery control 2 can be performed. Thus, if the amount of movement of the jog operation is less than a predetermined threshold, the jog operation can be classified as a recoverable motion.

[0069] The robot controller 100 can be configured to add two or more positions to the plurality of taught positions by repeating, after moving the robot toward the target position by the jump control unit 116, operations including: in response to determining a direction of movement and an amount of movement specified by one or more movement operations, causing the robot 2 to move in the direction of movement by the amount of movement by the jog control unit 111; and in response to the adding operation, adding, by the command adding unit 112, a position of the robot 2 at the time of the adding operation.

[0070] The command adding unit 112 is configured to allow the adding operation after completion of motion of the robot 2 that started before the adding operation.

[0071] The robot controller 100 can be configured to display the jump motion path. For example, the robot controller 100 can further include a path display unit 131, as Figure 3The path display unit 131 displays a simulation of the jump motion path (generated by the path generation unit 115) stored in the jump motion storage unit 123. The display mode of the simulation of the jump motion path can be any mode as long as the operator can visually recognize the jump motion path without actually operating the robot 2.

[0072] Examples of the display mode of the simulation of the jump motion path include the following modes.

[0073] Display mode 1) displays a line indicating the jump motion path in the simulated image of the robot 2 and the surrounding objects.

[0074] Display mode 2) displays one or more points indicating one or more via positions of the jump motion path in the simulated image of the robot 2 and the surrounding objects.

[0075] Display mode 3) displays both the line of display mode 1 and the points of display mode 2.

[0076] Display mode 4) moves the robot 2 along the jump motion path in the simulated image.

[0077] The path display unit 131 can not necessarily display the robot 2 itself in display modes 1 to 3, and the display of the robot 2 in display modes 1 to 3 can display only at least a part of the end portion 18 (e.g., the end of the tool). The path display unit 131 can display only at least a part of the robot 2 with respect to the end portion 18 (e.g., the end of the tool) in display mode 4. If the jump motion path is correctly generated, the user does not need to pay attention to the interference of the robot 2 with the surrounding objects and the robot 2 itself. In this case, by limiting the display of the robot 2, the user's attention can be focused on the appropriateness of the motion of the end portion 18 itself based on the jump motion path. For example, in the case where the motion based on the jump motion path is performed in a state where the end portion 18 holds a container containing a liquid, it is easy to concentrate on checking whether the motion can be performed without spilling the liquid.

[0078] The jump control unit 116 can be configured to wait for an execution request made by one or more movement operations before moving the robot along the displayed path. For example, if an execution operation is received after the simulation of the jump motion path is displayed, the jump control unit 116 can operate the robot 2 in the jump motion path. Examples of the execution operation include a start input of the above-described jump operation.

[0079] The robot controller 100 may be configured to register one or more jump motion commands as one or more taught motion commands when a command registration operation is received. For example, the robot controller 100 may further include a command registration unit 132. The command registration unit 132 may be configured to add one or more via positions of the jump motion path to the taught position in response to a command registration operation on the teaching device 200. For example, when the teaching device 200 receives a command registration operation, the command registration unit 132 registers one or more jump motion commands stored in the jump motion storage unit 123 (generated by the path generation unit 115) as one or more taught motion commands in the teaching motion storage unit 113. The command registration unit 132 may register all jump motion commands stored in the jump motion storage unit 123 with the teaching motion storage unit 113, and may register a portion of the jump motion commands stored in the jump motion storage unit 123 with the teaching motion storage unit 113.

[0080] The method by which the teaching device 200 receives the command registration operation is not particularly limited. For example, the teaching device 200 may receive the command registration operation based on an operation on an object such as a key, or may receive the command registration operation based on the recognition result of the operator's voice, or may receive the command registration operation based on the recognition result of a gesture performed by the operator.

[0081] The robot controller 100 can be configured to move the robot 2 in a direction away from the target position in the jump motion path when a reverse operation is received after the robot 2 operates in the jump motion path. For example, the robot controller 100 may further include a reverse control unit 133. The reverse control unit 133 can be configured to cause the robot 2 to perform a reverse movement along the jump motion path toward a direction away from the target position in response to a reverse request made by one or more movement operations. For example, the reverse control unit 133 is configured to cause the robot 2 to move in a direction away from the target position in the generated path when the teaching device 200 receives a reverse operation after the robot 2 moves along the jump motion path. It should be noted that "after the robot 2 operates in the jump motion path" includes "after the movement of the robot 2 is paused in the middle of the jump motion path."

[0082] When receiving the reverse operation, the reverse control unit 133 may selectively perform any one of the following controls based on the content of the motion performed in the state where the path motion of the robot 2 is paused (hereinafter referred to as a “pause state”).

[0083] The reverse control 1) causes the robot 2 to move along the jump motion path in a direction away from the target position to the starting position of the jump motion path.

[0084] Reverse control 2) the mobile robot 2 returns to the jump motion path, and then moves the robot 2 along the jump motion path toward a start position of the jump motion path in a direction away from the target position.

[0085] Reverse control 3) the path generation unit 115 re-generates the jump motion path to the start position and moves the robot 2 along the re-generated jump motion path toward the start position.

[0086] For example, the reverse control unit 133 determines whether a motion is executed in the pause state. When a motion is executed in the pause state, the reverse control unit 133 determines whether the motion is a recoverable motion. If it is determined that no motion is executed in the pause state, the reverse control unit 133 performs "reverse control 1". If it is determined that a recoverable motion is executed in the pause state, the reverse control unit 133 performs "reverse control 2". If it is determined that a motion other than a recoverable motion is executed in the pause state, the reverse control unit 133 performs "reverse control 3".

[0087] The method in which the teaching device 200 receives the reverse operation is not specifically limited. For example, the teaching device 200 can receive the reverse operation based on an operation on an object such as a key, or can receive the reverse operation based on a recognition result of a voice of an operator, or can receive the reverse operation based on a recognition result of a gesture performed by the operator.

[0088] The teaching device 200 includes an operation interface (for example, an operation panel) that allows an operator to input various operations. The teaching device 200 can include a hardware interface (for example, a hardware key) or a software interface (for example, a software key displayed on a touch panel).

[0089] Figure 4 is a diagram schematically illustrating an operation screen (an example of an operation panel) displayed on a touch panel of the teaching device 200 as an example of an interface of software. Figure 4 The illustrated operation screen 210 includes a jog operation key 211, a teaching point addition key 212, a simulation window 221, a command list 222, a playback key 213, a command registration key 214, a jump key 215, and a return key 216. The jog operation key 211 is a software key for inputting the above-described jog operation. The teaching point addition key 212 is a software key for inputting the above-described addition operation of a taught position.

[0090] The simulation window 221 is a window that displays a simulation of the robot 2 generated by the robot display unit 121 and a simulation of the jump motion path generated by the path generation unit 115. In Figure 4 In the simulation window 221, a simulation image V1 of the robot 2, a simulation image V2 of an object around the robot 2, and a simulation line V3 representing the jump motion path are displayed.

[0091] The command list 222 is a window that displays a plurality of taught motion commands stored in the taught motion storage unit 113 in chronological order. The playback key 213 is a software key for inputting the above-described playback operation. The command registration key 214 is a software key for inputting the above-described command registration operation. The skip key 215 is a software key for inputting the above-described skip operation. When the skip key 215 is pressed, the input of the above-described skip operation is continued, and when the skip key 215 is released, the input of the skip operation is paused. The return key 216 is a software key for inputting the above-described reverse operation.

[0092] Hardware configuration

[0093] Figure 5 is a block diagram illustrating the hardware structure of the robot controller 100 and the teaching device 200. The robot controller 100 includes a circuit 190. The circuit 190 includes one or more processors 191, one or more memory devices 192, one or more storage devices 193, a communication port 194, and a driver circuit 195. The one or more storage devices 193 are non-volatile storage media, and store programs for causing the robot controller 100 to perform the following operations: when a target designation operation that specifies a target position of the robot 2 is received, generating a path to the target position based on surrounding environment information of the robot 2; and operating the robot 2 to the target position in the generated path. For example, the one or more storage devices 193 store programs for configuring each of the above-described functional blocks in the robot controller 100. Each of the one or more storage devices 193 can be a built-in storage medium such as a flash memory or a hard disk drive, or can be a portable storage medium such as a USB flash drive or an optical disk.

[0094] The one or more memory devices 192 temporarily store programs loaded from the one or more storage devices 193. Each of the one or more memory devices 192 can be a random access memory or the like. The one or more processors 191 configure each of the above-described functional blocks by executing the programs loaded into the one or more memory devices 192. The one or more processors 191 appropriately store operation results in the one or more memory devices 192.

[0095] The communication port 194 communicates with the teaching device 200 based on a request from the one or more processors 191. The driver circuit 195 provides drive power to the robot 2 (actuators 41, 42, 43, 44, 45, 46) based on a request from the one or more processors 191.

[0096] The teaching device 200 includes a circuit 290. The circuit 290 includes one or more processors 291, one or more memory devices 292, one or more storage devices 293, a communication port 294, and a user interface 295. At least one of the storage devices 293 is a non-volatile storage medium, and stores a program for configuring an operation interface in the teaching device 200. Each of the one or more storage devices 293 can be a built-in storage medium such as a flash memory or a hard disk drive, or can be a portable storage medium such as a USB flash drive or an optical disk.

[0097] The one or more memory devices 292 temporarily store the program loaded from the one or more storage devices 293. The one or more memory devices 292 can be a random access memory or the like. The one or more processors 291 configure the operation interface by executing the program loaded on the one or more memory devices 292. The one or more processors 291 store operation results in the one or more memory devices 292 as appropriate.

[0098] The communication port 294 communicates with the robot controller 100 based on a request from the one or more processors 291. The user interface 295 communicates with an operator based on a request from the one or more processors 291. For example, the user interface 295 includes a display device and an input device. Examples of the display device include a liquid crystal monitor and an organic EL (electroluminescence) monitor. Examples of the input device include a keyboard, a mouse, or a keypad. The input device can be integrated with the display device as a touch panel.

[0099] The above-described hardware configuration is merely an example and can be modified as appropriate. For example, the teaching device 200 can be incorporated in the robot controller 100.

[0100] Control Process

[0101] As an example of the control method, a control process performed by the robot controller 100 will be described. The process includes: when a target designation operation that designates a target position of the robot 2 is received, generating a path to the target position based on surrounding environment information of the robot 2; and operating the robot 2 to the target position in the generated path. Hereinafter, the control process will be described in detail by dividing the control process into a teaching process, a jump control process, a recovery process of a jump motion, and a reverse process of a jump motion.

[0102] Teaching Process

[0103] As Figure 6As shown, the robot controller 100 first executes step S01. In step S01, the jog control unit 111 checks whether the above-described jog operation is received. If it is determined in step S01 that the jog operation is received, the robot controller 100 executes step S02. In step S02, the jog control unit 111 operates the robot 2 in accordance with the jog operation.

[0104] If it is determined in step S01 that the jog operation is not received, the robot controller 100 executes step S03. In step S03, the command addition unit 112 checks whether the above-described addition of a taught position operation is received. If it is determined in step S03 that the addition of a taught position operation is received, the robot controller 100 executes step S04. In step S04, a taught motion command is generated using the position of the robot 2 at the time when the addition of a taught position operation is received as a taught position, and stored in the taught motion storage unit 113.

[0105] After step S02 or S04, the robot controller 100 executes step S05. If it is determined in step S03 that the addition of a taught position operation is not received, the robot controller 100 executes step S05 without executing steps S02 and S04.

[0106] In step S05, the playback control unit 114 checks whether the above-described playback operation is received. If it is determined in step S05 that the playback operation is not received, the robot controller 100 returns the process to step S01. Thereafter, the motion of the robot 2 in response to the jog operation and the addition of a taught motion command is repeated until the playback operation is received.

[0107] If it is determined in step S05 that the playback operation is received, the robot controller 100 executes steps S06 and S07. In step S06, the playback control unit 114 operates the robot 2 to the start position of the teaching operation path. In step S07, the playback control unit 114 sequentially calls the plurality of taught motion commands to cause the robot 2 to perform the motion represented by the taught positions of the plurality of taught motion commands. In this way, the teaching process is completed.

[0108] Jump control process

[0109] As Figure 7As shown, the robot controller 100 executes steps Sll, S12, and S13. In step Sll, the path generation unit 115 waits for the above-mentioned target designation operation to be received. In step S12, the path generation unit 115 generates a hopping motion path from the current position to the target position based on the surrounding environment information stored in the surrounding environment database 122. For example, the path generation unit 115 generates one or more hopping motion commands as described above, and stores them in the hopping motion storage unit 123. In step S13, the path display unit 131 displays a simulation of the hopping motion path stored in the hopping motion storage unit 123. For example, the path display unit 131 causes the simulation window 221 of the teaching device 200 to display a simulation of the hopping motion path.

[0110] Next, the robot controller 100 executes steps S14 and S15. In step S14, the hopping control unit 116 waits for the above-mentioned hopping operation to be received. In step S15, the hopping control unit 116 starts operating the robot 2 to the target position in the hopping motion path. Hereinafter, the motion along the hopping motion path to the target position is referred to as "hopping motion".

[0111] Next, the robot controller 100 executes step S21. In step S21, the hopping control unit 116 checks whether the hopping operation is continued. If it is determined in step S21 that the hopping operation is continued, the robot controller 100 executes step S22. In step S22, the hopping control unit 116 checks whether the robot 2 has reached the target position. If it is determined in step S22 that the robot 2 has not reached the target position, the robot controller 100 returns the process to step S21. Thereafter, as long as the hopping operation is continued, the hopping motion is continued until the robot 2 reaches the target position.

[0112] If it is determined in step S22 that the robot 2 has reached the target position, the robot controller 100 executes step S23. In step S23, the hopping control unit 116 stops the hopping motion of the robot 2. If it is determined in step S21 that the hopping operation is paused, the robot controller 100 executes step S24. In step S24, the hopping control unit 116 pauses the hopping motion of the robot 2. In this way, the hopping control process is completed.

[0113] Resumption process of hopping motion

[0114] This process is executed after the hopping motion is paused in the above-mentioned step S24. As shown in FIG. 7, the robot controller 100 executes steps S31 and S32. In step S31, the path generation unit 115 waits for the above-mentioned target designation operation to be received. In step S32, the path generation unit 115 generates a hopping motion path from the current position to the target position based on the surrounding environment information stored in the surrounding environment database 122. For example, the path generation unit 115 generates one or more hopping motion commands as described above, and stores them in the hopping motion storage unit 123. In step S33, the path display unit 131 displays a simulation of the hopping motion path stored in the hopping motion storage unit 123. For example, the path display unit 131 causes the simulation window 221 of the teaching device 200 to display a simulation of the hopping motion path. Figure 8As shown, the robot controller 100 executes steps S31 and S32. In step S31, the jump control unit 116 waits for a jump motion to be resumed. In step S32, the jump control unit 116 checks whether a motion is being executed in a state in which a jump motion is paused (a paused state).

[0115] If it is determined in step S32 that a motion is being executed in a paused state, the robot controller 100 executes step S33. In step S33, the jump control unit 116 checks whether the motion being executed in a paused state is a resumable motion. If it is determined in step S33 that the motion being executed in a paused state is a resumable motion, the robot controller 100 executes step S34. In step S34, the jump control unit 116 operates the robot 2 to a position at which a jump motion was paused. If it is determined in step S33 that the motion being executed in a paused state is not a resumable motion, the robot controller 100 executes step S35. In step S35, the jump control unit 116 causes the path generation unit 115 to regenerate a path to a target position.

[0116] After steps S34 and S35, the robot controller 100 executes step S36. If it is determined in step S32 that no motion is being executed in a paused state, the robot controller 100 executes step S36 without executing steps S34 and S35. In step S36, the jump control unit 116 resumes a jump motion.

[0117] Next, the robot controller 100 executes step S41. In step S41, the jump control unit 116 checks whether a jump operation is continuing. If it is determined in step S41 that a jump operation is continuing, the robot controller 100 executes step S42. In step S42, the jump control unit 116 checks whether the robot 2 has reached a target position. If it is determined in step S42 that the robot 2 has not reached a target position, the robot controller 100 returns the process to step S41. Thereafter, as long as a jump operation is continuing, a jump motion continues until the robot 2 reaches a target position.

[0118] If it is determined in step S42 that the robot 2 has reached a target position, the robot controller 100 executes step S43. In step S43, the jump control unit 116 causes the robot 2 to stop a jump motion. If it is determined in step S41 that a jump operation is paused, the robot controller 100 executes step S44. In step S44, the jump control unit 116 causes the robot 2 to pause a jump motion. In this way, the resumption process of a jump motion is completed.

[0119] In step S44, when a jump motion is paused, the resumption process of a jump motion described above can be executed again.

[0120] Reverse process of jump motion

[0121] This process is executed after the jump motion is stopped in the above step S23 or after the jump motion is paused in the step S24. Hereinafter, both after the jump motion is stopped in the above step S23 and after the jump motion is paused in the step S24 are referred to as "pause state". As shown in FIG. 6, the robot controller 100 executes steps S51 and S52. In the step S51, the reverse control unit 133 waits for a reverse operation to be received. In the step S52, the reverse control unit 133 checks whether motion is executed in the pause state. Figure 9

[0122] If it is determined in the step S52 that motion has been executed in the pause state, the robot controller 100 executes the step S53. In the step S53, the reverse control unit 133 checks whether the motion executed in the pause state is recoverable motion. If it is determined in the step S53 that the motion executed in the pause state is recoverable motion, the robot controller 100 executes the step S54. In the step S54, the reverse control unit 133 operates the robot 2 to the position at which the pause state was initiated. If it is determined in the step S53 that the motion in the pause state is not recoverable motion, the robot controller 100 executes the step S55. In the step S55, the reverse control unit 133 causes the path generation unit 115 to regenerate the jump motion path to the start position of the jump motion.

[0123] After the steps S54 and S55, the robot controller 100 executes the step S56. If it is determined in the step S52 that no motion is executed in the pause state, the robot controller 100 executes the step S56 without executing the steps S54 and S55. In the step S56, the reverse control unit 133 starts moving the robot 2 to the start position of the jump motion in the jump motion path. Hereinafter, the motion in the jump motion path to the start position of the jump motion path is referred to as "reverse motion".

[0124] Next, the robot controller 100 executes the step S61. In the step S61, the reverse control unit 133 checks whether the reverse operation continues. If it is determined in the step S61 that the reverse operation continues, the robot controller 100 executes the step S62. In the step S62, the reverse control unit 133 checks whether the robot 2 reaches the start position. If it is determined in the step S62 that the robot 2 has not reached the start position, the robot controller 100 returns the process to the step S61. Thereafter, as long as the reverse operation continues, the reverse motion continues until the robot 2 reaches the start position.

[0125] ​If it is determined in step S62 that the robot 2 has reached the start position, the robot controller 100 executes step S63. In step S63, the reverse control unit 133 causes the robot 2 to stop the reverse movement. If it is determined in step S61 that the reverse operation has been paused, the robot controller 100 executes step S64. In step S64, the reverse control unit 133 causes the robot 2 to pause the reverse movement. This completes the reverse process of the jump movement.

[0126] In step S64, when the reverse movement is paused, the recovery process of the jump movement or the reverse process of the jump movement can be executed again.

[0127] SUMMARY

[0128] As described above, the robot controller 100 includes: a path generation unit 115 configured to generate a path from a current position of the robot 2 to a target position in response to a determination that the target position is specified on the teaching device 200 by one or more movement operations, by moving a simulation of the robot 2 based on surrounding environment information of the robot 2; and a jump control unit 116 configured to cause the robot to move toward the target position along the generated path.

[0129] With such a robot controller 100, if a target position is specified, a path to the target position is automatically generated, thereby reducing the labor of manual operations in teaching. Therefore, it is very effective to improve the teaching efficiency.

[0130] The path generation unit 115 can be configured to calculate one or more via positions including a target position for preventing the robot 2 from interfering with surrounding objects based on the surrounding environment information, and the jump control unit 116 can be configured to cause the robot 2 to perform a path movement based on the calculated one or more via positions. By simplifying the calculation of path generation, the path generation time can be shortened. Therefore, the teaching efficiency is more effectively improved.

[0131] The robot controller 100 can include: a command addition unit 112 configured to add, in response to an addition operation on the teaching device, a position of the robot at the time of the addition operation to the taught positions; and a playback control unit 114 configured to cause the robot 2 to perform a playback movement based on the taught positions including the added position in response to one or more movement operations. During the operation of sequentially adding the taught positions, the robot 2 can be easily caused to move to a position desired to be a new taught position, a taught position previously registered once or more, or the like. Therefore, the teaching efficiency is more effectively improved.

[0132] The path generating unit 115 can be configured to display a list of positions on the teaching device 200; and in response to determining a target position selected from the list by one or more movement operations, generate a path to the selected target position. Since the target position can be quickly specified, the teaching efficiency is more effectively improved.

[0133] The path generating unit 115 can be configured to display a list of positions including the taught positions. When returning the robot to the recorded taught positions, the target position can be quickly specified, which more effectively improves the teaching efficiency.

[0134] The robot controller 100 can further include a command registering unit 132 configured to add one or more via positions of the generated path to the taught positions in response to a command registering operation on the teaching device. By converting the jump motion commands to the taught motion commands, the teaching can be more effective.

[0135] The robot controller 100 can further include a path display unit 131 configured to display a simulation of the generated path on the teaching device 200, and wherein the jump control unit 116 can be configured to wait for an execution request by an operator on the teaching device before moving the robot along the displayed path. In this way, the safety of the operator performing the teaching can be improved.

[0136] The robot controller 100 can further include a robot display unit 121 configured to display a simulated image of the robot 2 on the teaching device 200, and wherein the path generating unit is configured to generate a path to a target position identified in the image of the robot 2 in response to determining the target position. Any target position can be easily specified. Therefore, the teaching efficiency is more effectively improved.

[0137] The jump control unit 116 can be configured to cause the robot 2 to continue moving along the generated path toward the target position in response to a continue request made by one or more movement operations; and pause the movement toward the target position in response to a pause request made by pausing the continue request. The movement of the robot 2 can be paused at a position closer to the operator’s intention.

[0138] The jump control unit 116 can be configured to selectively execute control in response to a resumption request of the suspended path motion made by one or more movement operations, the control being selected from: a first control including resuming the suspended motion of the robot 2; a second control including moving the robot 2 back onto the generated path and resuming the suspended motion of the robot 2; and a third control including causing the path generation unit 115 to regenerate a path to the target position and causing the robot 2 to move along the regenerated path toward the target position. The robot 2 can operate more appropriately in response to the resumption of the operation.

[0139] The robot controller 100 can further include a reverse control unit 133 configured to cause the robot 2 to perform a reverse motion along the generated path toward a direction away from the target position in response to a reverse request made by one or more movement operations. The generated path can also be effectively used for the motion toward the direction away from the target position.

[0140] Although the embodiments have been described above, the present disclosure is not necessarily limited to the above-described embodiments and various modifications can be made without departing from the scope of the present disclosure.

Claims

1. A robotic system comprising: robot; a robot controller configured to control the robot; a teaching device capable of communicating with the robot controller and configured to receive an operation of an operator, Wherein, the robot controller includes: a path generating unit configured to, in response to determining a target position designated by the operator on the teaching device, generate a path from a current position of the robot to the target position by simulating movement of the robot based on information about a surrounding environment of the robot; a jump control unit configured to move the robot along the generated path toward the target position; a jog control unit configured to, in response to determining a movement direction designated by the operator on the teaching device, move the robot toward the movement direction; a command adding unit configured to, in response to an adding operation on the teaching device by the operator, add a position of the robot at the time of the adding operation to a plurality of taught positions; and A playback control unit is configured to cause the robot to playback a taught motion defined by the plurality of taught positions, the plurality of taught positions including the position added in response to the adding operation.

2. The robot system according to claim 1, wherein: The path generation unit is configured to generate a path that prevents the robot from interfering with peripheral objects in the simulation.

3. The robot system according to claim 1, wherein: The playback control unit is configured to cause the robot to playback the teaching motion in response to a playback operation performed by the operator on the teaching device.

4. The robot system according to claim 1, wherein: The robot controller is configured to, after the robot is moved toward the target position by the jump control unit, add two or more positions to the plurality of taught positions by repeating the following operations, the operations comprising: In response to determining the movement direction designated by the operator on the teaching apparatus, moving the robot toward the movement direction by the jog control unit; and In response to the operator's adding operation on the teaching apparatus, the position of the robot at the time of the adding operation is added by the command adding unit.

5. The robot system according to claim 4, wherein: The command adding unit is configured to permit the adding operation after the movement of the robot started before the adding operation is completed.

6. The robot system according to claim 1, wherein: The path generation unit is configured to: displaying a list of locations on the teaching device; as well as In response to determining that the target location is selected from the list by the operator on the teaching device, a path to the selected target location is generated.

7. The robot system according to claim 6, wherein: The route generation unit is configured to display a list of locations including the taught location.

8. The robot system according to any one of claims 1 to 7, wherein: The robot controller further includes a command registration unit configured to add one or more via positions of the generated path to the taught position in response to a registration operation of the operator on the teaching device.

9. The robot system according to any one of claims 1 to 7, wherein: The robot controller further includes a path display unit configured to display the generated path on the teaching device, and The jump control unit is configured to wait for an execution request made by the operator on the teaching device before moving the robot along the displayed path.

10. The robot system according to any one of claims 1 to 7, further comprising a robot display unit configured to display a simulated image of the robot on the teaching device, and in, The path generation unit is configured to generate a path to the identified target location in response to determining that the target location is identified in the image of the robot.

11. The robot system according to any one of claims 1 to 7, wherein: The jump control unit is configured to pause the movement of the robot along the generated path toward the target position in response to a pause request made by the operator on the teaching device.

12. The robot system according to claim 11, wherein: The jump control unit is configured to: In response to a continue request made by the operator on the teaching device, causing the robot to continue moving along the generated path toward the target position; and Movement toward the target location is paused in response to a pause request to pause the resume request.

13. The robotic system according to claim 12, wherein: The jump control unit is configured to move the robot back onto the generated path and cause the robot to resume the suspended motion in response to a resume request for the suspended motion made by the operator on the teaching apparatus.

14. The robotic system according to claim 12, wherein: The jump control unit is configured to, in response to a resume request for a paused motion made by the operator on the teaching apparatus, cause the path generation unit to regenerate a path to the target position and cause the robot to move toward the target position along the regenerated path.

15. The robotic system according to claim 12, wherein: The jump control unit is configured to selectively execute control based on a current state of the robot in response to a request for resumption of a paused movement made by the operator on the teaching apparatus, wherein the control is selected from: a first control, the first control comprising causing the robot to resume the suspended motion; a second control, the second control comprising moving the robot back to the generated path and causing the robot to resume the paused motion; as well as and a third control including causing the path generation unit to regenerate a path to the target position and causing the robot to move toward the target position along the regenerated path.

16. The robotic system according to claim 15, wherein: The jump control unit is configured to detect a current state of the robot based on a record of controlling the robot after a pause time.

17. The robotic system according to claim 15, wherein: The jump control unit is configured to: detecting a position deviation of the robot from the generated path as the current state; selecting the second control in response to determining that the detected position deviation is less than a predetermined threshold; as well as The third control is selected in response to determining that the detected position deviation is greater than the predetermined threshold.

18. The robotic system according to any one of claims 1 to 7, wherein: The robot controller further includes a reverse control unit configured to cause the robot to perform reverse motion along the generated path toward a direction away from the target position in response to a reverse request made by the operator on the teaching apparatus.

19. A control method comprising: In response to determining a target position designated by an operator on a teaching device, generating a path from a current position of the robot to the target position by simulating movement of the robot based on information about the robot's surrounding environment; moving the robot along the generated path toward the target location; in response to determining a movement direction designated by the operator on the teaching device, moving the robot toward the movement direction; In response to an adding operation by the operator on the teaching device, adding the position of the robot at the time of the adding operation to a plurality of taught positions; and The robot is caused to replay a taught motion defined by the plurality of taught positions, the plurality of taught positions including the position added in response to the adding operation.

20. A memory device having instructions stored thereon, wherein the instructions, in response to being executed by a processing device, cause the processing device to perform operations, the operations comprising: In response to determining a target position designated by an operator on a teaching device, generating a path from a current position of the robot to the target position by simulating movement of the robot based on information about the robot's surrounding environment; moving the robot along the generated path toward the target location; in response to determining a movement direction designated by the operator on the teaching device, moving the robot toward the movement direction; In response to an adding operation by the operator on the teaching device, adding the position of the robot at the time of the adding operation to a plurality of taught positions; and The robot is caused to replay a taught motion defined by the plurality of taught positions, the plurality of taught positions including the position added in response to the adding operation.

Citation Information

Patent Citations

  • Robot system and method for controlling robot

    CN110315517A

  • Path planning apparatus, path planning method, and path planning program

    US20190375104A1