Robot control system, robot control method, and robot control program

The robot control system simplifies the operation of multi-arm robots by setting constraint conditions and using redundant degrees of freedom to automate path planning and coordination, addressing the complexity of manual operation and obstacle avoidance.

WO2026120957A1PCT designated stage Publication Date: 2026-06-11YASKAWA DENKI KK
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
YASKAWA DENKI KK
Filing Date
2025-10-31
Publication Date
2026-06-11

AI Technical Summary

Technical Problem

Existing multi-arm robot systems are difficult to operate manually and require complex manual teaching for coordinated movements, especially when involving redundant degrees of freedom.

Method used

A robot control system that sets constraint conditions between the positions and orientations of multiple arms, uses redundant degrees of freedom to define a search space, and searches for a trajectory to move the system from a start to an end point, allowing for automated path generation and obstacle avoidance.

Benefits of technology

Enables easier operation of multi-arm robot systems by automating path planning and coordination, facilitating complex tasks while avoiding obstacles and reducing reliance on manual teaching.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025038424_11062026_PF_FP_ABST
    Figure JP2025038424_11062026_PF_FP_ABST
Patent Text Reader

Abstract

This robot control system controls a robot system comprising: one first arm having a plurality of degrees of freedom; and one or more second arms each having a plurality of degrees of freedom including a redundant degree of freedom. The robot control system comprises: a setting unit that sets a constraint condition between at least one from among the position and the orientation of the first arm and at least one from among the position and the orientation of each of the one or more second arms; a search unit that sets up a search space formed using at least the plurality of degrees of freedom of the first arm and the respective redundant degrees of freedom of the one or more second arms, and that finds, in the search space, a path for moving the robot system from a start point to an end point in a manner so as to satisfy the constraint condition; and a robot control unit that moves the robot system disposed in a real work space from the start point to the end point on the basis of the path found in the search space.
Need to check novelty before this filing date? Find Prior Art

Description

Robot control system, robot control method, and robot control program

[0001] One aspect of the present disclosure relates to a robot control system, a robot control method, and a robot control program.

[0002] A technique for controlling a multi-arm robot system including two or more arms is known. For example, Patent Document 1 describes a robot synchronization control method for causing each arm of two robots provided with individual or common control devices, or two arms of one robot to cooperate.

[0003] Japanese Patent Laid-Open No. 7-20915

[0004] A mechanism for operating a multi-arm robot system more simply is desired.

[0005] The robot control system according to one aspect of the present disclosure controls a robot system including one first arm having a plurality of degrees of freedom and one or more second arms each having a plurality of degrees of freedom including redundant degrees of freedom. The robot control system includes a setting unit that sets a constraint condition between at least one of the position and orientation of the first arm and at least one of the positions and orientations of each of the one or more second arms, and for each of the one or more second arms, without using at least one degree of freedom other than the redundant degrees of freedom among the plurality of degrees of freedom of the second arm, a search space configured by using at least the plurality of degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms is set, and a search unit that searches for a trajectory for moving the robot system from a start point to an end point within the search space so as to satisfy the constraint condition, and a robot control unit that moves the robot system arranged in the actual work space from the start point to the end point based on the trajectory searched within the search space.

[0006] According to one aspect of the present disclosure, a multi-arm robot system can be operated more simply.

[0007] This is a diagram illustrating an example of a robot control system application. This is a diagram illustrating an example of a computer hardware configuration used for a robot control system. This is a flowchart illustrating an example of a process performed by a robot control system. This is a diagram illustrating a search process. This is a diagram illustrating an example of the operation of a robot system.

[0008] The following describes various examples in this disclosure in detail with reference to the attached drawings. In the description of the drawings, identical or equivalent elements are denoted by the same reference numeral, and redundant descriptions are omitted.

[0009] [System Overview] The robot control system described herein is a computer system for operating a robot system having two or more arms (i.e., a multi-arm robot system). The robot control system automatically generates a path for moving the robot system from a predetermined starting point to a predetermined ending point, and moves the robot system along that path.

[0010] A robot system comprises one or more robots that perform useful tasks by receiving power and performing predetermined movements. The robot system comprises a first arm having multiple degrees of freedom, and one or more second arms, each having multiple degrees of freedom, including redundant degrees of freedom. The second arms are arms other than the first arm. The multiple degrees of freedom of the first arm may or may not include redundant degrees of freedom. The robot system may consist of a single robot having two or more arms, such as a dual-arm robot. Alternatively, the robot system may consist of two or more robots, each having one or more arms; for example, two or more robots, each having a single arm. The robot system may include a robot having a base axis, which is a base axis common to the first arm and the one or more second arms. An example of a base is the robot's waist, in which case the base axis is the waist axis.

[0011] A multi-arm robot system that can utilize at least one redundant degree of freedom can achieve a variety of postures through that redundant degree of freedom. On the other hand, it is difficult to manually teach such a multi-arm robot system its movements. By using the robot control system according to this disclosure, a path for moving the multi-arm robot system is automatically generated, so the multi-arm robot system can be operated more easily by using that path.

[0012] [System Configuration] Figure 1 shows an example of the application of a robot control system. The robot control system 1 shown in this example operates a real robot system 2 placed in a real workspace 9. For example, the robot control system 1 may be implemented as a robot controller.

[0013] In the example shown in Figure 1, the robot system 2 consists of a single dual-arm robot comprising a first arm 21, a second arm 22, and a waist axis 23. A first end effector 21a is provided at the tip of the first arm 21, and a second end effector 22a is provided at the tip of the second arm 22. Both the first end effector 21a and the second end effector 22a are tools for holding the workpiece 8, and may be, for example, a gripper, a suction hand, or a magnetic hand. For example, the robot system 2 holds the workpiece 8 with the first end effector 21a and the second end effector 22a and moves the workpiece 8 from one place to another.

[0014] The following explanation assumes that the robot system 2 has a total of 15 degrees of freedom: 7 degrees of freedom for the first arm 21, 7 degrees of freedom for the second arm 22, and 2 degrees of freedom for the waist axis 23. Both the first arm 21 and the second arm 22 have a redundant degree of freedom as one of their 7 degrees of freedom.

[0015] The robot control system 1 is connected to the motor control device 3, which controls the motors of the robot system 2, via a communication network. The communication network may be a wired network or a wireless network. The communication network may consist of at least one of the internet and / or an intranet. Alternatively, the communication network may be implemented simply by a single communication cable.

[0016] The motor control device 3 is a device that causes the motor output to follow commands from the robot control system 1. Based on the commands from the robot control system 1, the motor control device 3 generates power to move the motor and supplies that power to the motor. This supplied power corresponds to driving force commands such as torque commands and current commands. The motor control device 3 may be, for example, an inverter or a servo amplifier. The motor control device 3 may be incorporated into the robot system 2.

[0017] The robot system 2 and the motor control device 3 may be components of the robot control system 1, or they may be provided outside the robot control system 1.

[0018] As shown in Figure 1, the robot control system 1 comprises a setting unit 11, a search unit 12, a smoothing unit 13, and a robot control unit 14 as functional components. The setting unit 11 is a functional module that sets constraint conditions between the first arm 21 and the second arm 22. The search unit 12 is a functional module that sets a search space based on the degrees of freedom of the robot system 2 and searches within the search space for a trajectory to move the robot system 2 from a start point to an end point while satisfying the constraint conditions. The smoothing unit 13 is a functional module that smooths the searched trajectory. The robot control unit 14 is a functional module that moves the actual robot system 2 from the start point to the end point based on the smoothed trajectory.

[0019] The robot control system 1 can be implemented using any type of computer. This computer may be a general-purpose computer such as a personal computer or a business server, or it may be incorporated into a dedicated device that performs specific processing.

[0020] Figure 2 shows an example of the hardware configuration of a computer 100 used for the robot control system 1. In this example, the computer 100 comprises a main unit 110, a monitor 120, and an input device 130.

[0021] The main unit 110 is a device having a circuit 160. The circuit 160 has a processor 161, memory 162, storage 163, input / output port 164, and communication port 165. The number of each hardware component may be one or two or more. The storage 163 stores programs for configuring each functional module of the main unit 110. The storage 163 is a computer-readable recording medium such as a hard disk, non-volatile semiconductor memory, magnetic disk, or optical disk. The memory 162 temporarily stores programs loaded from the storage 163, calculation results of the processor 161, etc. The processor 161 configures each functional module by executing programs in cooperation with the memory 162. The input / output port 164 inputs and outputs electrical signals to and from the monitor 120 or input device 130 in response to commands from the processor 161. The communication port 165 communicates data with other devices such as the motor control device 3 via the communication network N in response to commands from the processor 161.

[0022] The monitor 120 is a device for displaying information output from the main unit 110. For example, the monitor 120 is a device capable of displaying graphics, such as an LCD panel.

[0023] The input device 130 is a device for inputting information into the main unit 110. Examples of input devices 130 include operation interfaces such as keypads, mice, and operation controllers.

[0024] The monitor 120 and the input device 130 may be integrated as a touch panel. For example, the main unit 110, the monitor 120, and the input device 130 may be integrated as a single unit, similar to a tablet computer.

[0025] Each functional module of the robot control system 1 is implemented by loading a robot control program onto the processor 161 or memory 162 and having the processor 161 execute that program. The robot control program includes code for implementing each functional module of the robot control system 1. The processor 161 operates the input / output ports 164 and communication ports 165 according to the robot control program and performs data reading and writing to the memory 162 or storage 163.

[0026] The robot control program may be provided on a non-temporary recording medium such as a CD-ROM, DVD-ROM, or semiconductor memory. Alternatively, the robot control program may be provided via a communication network as a data signal superimposed on a carrier wave.

[0027] [Robot Control Method] As an example of the robot control method according to this disclosure, an example of processing performed by the robot control system 1 will be described with reference to Figure 3. Figure 3 is a flowchart showing this example as processing flow S1. That is, the robot control system 1 executes processing flow S1.

[0028] In the following explanation, it is assumed that the robot control system 1 searches for a trajectory in a Cartesian coordinate system. Accordingly, the seven degrees of freedom of the first arm 21 are represented as (X1, Y1, Z1, Rx1, Ry1, Rz1, Re1), the seven degrees of freedom of the second arm 22 are represented as (X2, Y2, Z2, Rx2, Ry2, Rz2, Re2), and the degree of freedom of the waist axis 23 is represented as θ. Re1 represents the redundant degrees of freedom of the first arm 21, and Re2 represents the redundant degrees of freedom of the second arm 22.

[0029] In step S11, the setting unit 11 sets constraint conditions between the first arm 21 and the second arm 22. For example, the setting unit 11 sets constraint conditions between at least one of the position and orientation of the first arm 21 and at least one of the position and orientation of the second arm 22. These constraint conditions include at least one of a condition relating to the positional relationship between the first arm 21 and the second arm 22, and a condition relating to the orientation relationship between the first arm 21 and the second arm 22. The setting unit 11 may also set constraint conditions between the transition of at least one of the position and orientation of the first arm 21 and the transition of at least one of the respective positions and orientations of the second arm 22.

[0030] The setting unit 11 may set constraint conditions between the position of the first arm 21 and the position of the second arm 22. The positions of the first arm 21 and the second arm 22 may be the end-effector position of the first arm 21 and the end-effector position of the second arm 22, respectively. The end-effector position may be the tip position of the arm or the position of the end effector. When considering the end-effector position of each arm, the setting unit 11 may set the relative positional relationship between the end-effector position of the second arm 22 and the end-effector position of the first arm 21 as a constraint condition. A relative positional relationship means that when one of the two positions is set as a reference, the position of the other is determined based on that reference. The setting unit 11 may set the relative positional relationship such that the end-effector position of the second arm 22 remains within a predetermined distance from the end-effector position of the first arm 21 as a constraint condition. This constraint condition can be said to be a condition to prevent the second arm 22 from moving beyond that distance from the first arm 21. Alternatively, the setting unit 11 may set a constraint condition that the relative positional relationship between the end-effector position of the first arm 21 and the end-effector position of the second arm 22 remains constant.

[0031] The setting unit 11 may set constraint conditions between the posture of the first arm 21 and the posture of the second arm 22. The setting unit 11 may set a relative posture relationship as a constraint condition such that the posture of the second arm 22 remains within a predetermined range from the posture of the first arm 21. This constraint condition can be said to be a condition for the second arm 22 to continue operating within a predetermined range from the first arm 21. Alternatively, the setting unit 11 may set a relative posture relationship as a constraint condition such that the difference between the posture of the first arm 21 and the posture of the second arm 22 does not change (i.e., the posture of the second arm 22 does not change when viewed from the first arm 21).

[0032] In step S12, the search unit 12 sets the start and end points. The search unit 12 may obtain the start and end points specified by the user from the input device 130 or storage 163 and set these two points as they are. The start point may be set based on the current situation when the trajectory is searched in the search space, that is, when the processing from step S13 onwards, which will be described later, is executed. For example, the search unit 12 may set the start point based on the current posture of the robot system 2 in the real workspace 9, or the posture currently specified for the robot system 2 in the real workspace 9. In addition to such postures, the search unit 12 may also set the start point based on the current environment of the real workspace 9.

[0033] In step S13, the search unit 12 sets up a search space based on the multiple degrees of freedom of the first arm 21, the redundant degrees of freedom of the second arm 22, and the degrees of freedom of the waist axis 23. For example, the search unit 12 sets up a search space defined by the multiple degrees of freedom of the first arm 21, the redundant degrees of freedom of the second arm 22, and the degrees of freedom of the waist axis 23, without using any degrees of freedom other than the redundant degrees of freedom among the multiple degrees of freedom of the second arm 22 (seven degrees of freedom in this example). That is, the search unit 12 sets up a search space defined by nine degrees of freedom (X1, Y1, Z1, Rx1, Ry1, Rz1, Re1, Re2, θ).

[0034] In step S14, the search unit 12 searches for a trajectory to move the robot system 2 from the starting point to the ending point within the set search space while satisfying the constraint conditions. Figure 4 is a diagram illustrating this search process. In the example in Figure 4, the search unit 12 sets the search space 200 using the nine degrees of freedom (X1, Y1, Z1, Rx1, Ry1, Rz1, Re1, Re2, θ) described above. The search space 200 represents a starting point 211, an ending point 212, and an obstacle 290.

[0035] For example, the search unit 12 searches for a path (trajectory) from a starting point 211 to an ending point 212 within the search space 200, i.e., with 9 degrees of freedom, by random sampling. In this example, the search unit 12 calculates 9 degrees of freedom (X1, Y1, Z1, Rx1, Ry1, Rz1, Re1, Re2, θ) for one search point 220, and thereby obtains the search point 220. The search unit 12 calculates the other degrees of freedom for the second arm 22, excluding the redundant degrees of freedom. The search unit 12 calculates six additional degrees of freedom (X2, Y2, Z2, Rx2, Ry2, Rz2) for the second arm 22, excluding the redundant degree of freedom Re2, based on the seven degrees of freedom (X1, Y1, Z1, Rx1, Ry1, Rz1, Re1) of the first arm 21, the redundant degree of freedom Re2 of the second arm 22, the degree of freedom θ of the waist axis 23, and the constraint conditions at the acquired search point. Based on all 15 calculated degrees of freedom, the search unit 12 determines whether the robot system 2 will interfere with the obstacle 290 at the search point 220. Interference refers to the phenomenon of one object coming into contact with or colliding with another object. Note that when the robot system 2 is attempting to process a particular workpiece, contact between the robot system 2 and that workpiece is not considered interference. If no interference is detected at the search point 220, the search unit 12 determines whether the robot system 2 can operate on the path connecting the search point 220 and the previous waypoint 231. If operation is possible, the search unit 12 selects the search point 220 as the waypoint 231.

[0036] The search unit 12 performs the above series of processes for each search point 220 to search for a trajectory 230 from the starting point 211 to the ending point 212 as the initial trajectory. The trajectory 230 searched in the search space 200 goes from the starting point 211 defined in the search space 200, through one or more waypoints 231 selected in the search space 200, to the ending point 212 defined in the search space 200.

[0037] Returning to Figure 3, in step S15, the smoothing unit 13 smooths the trajectory explored in the search space. This smoothing transforms the initial trajectory, such as trajectory 230 in Figure 4, into a trajectory represented by a smooth curve.

[0038] The search unit 12 may determine whether the robot system 2 can successfully move from the start point to the end point along the smoothed trajectory, which has all 15 degrees of freedom of the robot system 2, without interfering with any obstacles. The search unit 12 may perform the interference determination in the same way as the method in step S14. For example, the search unit 12 runs a simulation to virtually move the robot system 2 from the start point to the end point along the smoothed trajectory and determines whether any actions exceeding the specifications of the robot system 2 (e.g., maximum speed) occur during that movement. If the robot system 2 is successful in its movement, that is, if the robot system 2 operates in a manner that does not exceed the specifications, the search unit 12 adopts the smoothed trajectory. On the other hand, if the robot system 2 fails to move, that is, if the robot system 2 performs an action that exceeds the specifications, the search unit 12 adjusts the operating conditions of the robot system 2 without changing the smoothed trajectory. For example, as an adjustment to the operating conditions, the search unit 12 may reduce the operating speed.

[0039] In step S16, the robot control unit 14 controls the robot system 2, which is positioned in the actual workspace 9, based on the search results. The robot control unit 14 moves the robot system 2 from the start point to the end point based on the smoothed trajectory. The smoothed trajectory is generated based on the trajectory searched in the search space. Therefore, step S16 is an example of the process of moving the robot system 2 from the start point to the end point based on the trajectory searched in the search space. The robot control unit 14 can move the robot system 2 from the start point to the end point based on its trajectory under adjusted operating conditions.

[0040] For example, the robot control unit 14 generates an operation program that shows a smoothed trajectory. The robot control unit 14 generates a series of commands according to the operation program and sequentially outputs the series of commands to the motor control device 3. The motor control device 3 sequentially generates power to move the motors based on the commands and sequentially supplies the generated power to the motors. As a result, the robot system 2 moves from the starting point to the ending point. For example, the robot system 2 holds the workpiece 8 with the first arm 21 and the second arm 22 and moves the workpiece 8 from the starting point to the ending point.

[0041] Figure 5 shows an example of the operation of the robot system 2. In the actual workspace 9 shown in Figure 5, a workbench 90 is placed in addition to the robot system 2. The top surface of the workbench 90 is divided into area 91 and area 92 by a partition plate 93 that extends in the height direction. In this example, the robot system 2 moves the workpiece 8 from area 91 to area 92, with the starting point set on area 91 and the ending point set on area 92. Assuming that Figure 5 corresponds to Figure 4, in the search space 200, the partition plate 93 corresponds to an obstacle 290. The trajectory 230 searched in the search space 200 is realized as the path 300 of the robot system 2 in the workspace 9 shown in Figure 5.

[0042] As described above, when the trajectory is explored within the search space, the robot control system 1 may set the starting point based on the current posture or the currently specified posture of the robot system 2 in the actual working space 9, and move the robot system 2 based on the explored trajectory. With this function, it becomes possible to control the robot system 2 according to changes in the situation within the actual working space 9.

[0043] By using the robot control system 1, it becomes possible to autonomously operate the robot system 2 while coordinating multiple arms without relying on manual teaching. As shown in the example of FIG. 5, the robot control system 1 also enables complex processing such as processing a workpiece with multiple arms while avoiding obstacles.

[0044] [Modification Example] As described above, the technology according to the present disclosure has been described in detail based on various examples. However, the present disclosure is not limited to the above examples. Various modifications are possible for the technology according to the present disclosure without departing from its gist.

[0045] In the above example, a dual-arm robot is shown as the robot system 2, but as described above, the robot system may include two or more second arms. The robot control system can control a robot system including one first arm and one or more second arms as follows.

[0046] The setting unit sets constraint conditions between at least one of the position and orientation of the first arm and at least one of the positions and orientations of each of the one or more second arms. The setting unit may also set constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the positions and orientations of each of the one or more second arms. The setting unit may set the relative positional relationship of each of the one or more second arms with respect to the end-effector position of the first arm as a constraint condition. The setting unit may set the relative positional relationship that at least one of the one or more second arms' end-effector positions remains within a predetermined distance from the end-effector position of the first arm as a constraint condition. Alternatively, the setting unit may set the relative positional relationship that the distance between the end-effector position of at least one of the one or more second arms and the end-effector position of the first arm remains unchanged as a constraint condition. The setting unit may set the relative orientation relationship that at least one of the orientations of the one or more second arms remains within a predetermined range from the orientation of the first arm as a constraint condition. Alternatively, the setting unit may set a constraint condition that the difference between the posture of the first arm and the posture of at least one of the one or more second arms remains unchanged.

[0047] The search unit sets up a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one of the multiple degrees of freedom of the second arm other than the redundant degrees of freedom. For example, the search unit sets up a search space for each of the one or more second arms, using the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using any of the multiple degrees of freedom of the second arm other than the redundant degrees of freedom. The search unit searches within the search space for a trajectory to move the robot system from the start point to the end point while satisfying the constraint conditions. At each of the one or more search points set between the start point and the end point, the search unit can calculate each of the other degrees of freedom other than the redundant degrees of freedom for each of the one or more second arms, based on the multiple degrees of freedom of the first arm, the redundant degrees of freedom of each of the one or more second arms, and the constraint conditions.

[0048] Based on the trajectory explored within the search space, the robot control unit moves the robot system arranged in the actual working space from the starting point to the ending point.

[0049] In the above example, the robot control system 1 explores the trajectory in the Cartesian coordinate system, but the robot control system may also explore the trajectory in the link coordinate system.

[0050] The robot control system may not include a smoothing unit. That is, the process of step S15 described above may be omitted.

[0051] The robot control system may set a search space configured by using at least the plurality of degrees of freedom of the first arm and the degrees of freedom of the base axis without using the plurality of degrees of freedom of the second arm. In this modification, the robot control system controls a robot system including one first arm having a plurality of degrees of freedom, one or more second arms each having a plurality of degrees of freedom, and a base axis which is an axis of the base common to the first arm and the one or more second arms. Each of the first arm and each second arm may or may not have redundant degrees of freedom. The robot control system includes a setting unit, a search unit, and a robot control unit. The setting unit sets a constraint condition between at least one of the position and orientation of the first arm and at least one of the respective positions and orientations of the one or more second arms. The search unit sets a search space configured by using at least the plurality of degrees of freedom of the first arm and the degrees of freedom of the base axis without using the plurality of degrees of freedom of each of the one or more second arms, and searches for a trajectory for moving the robot system from the starting point to the ending point so as to satisfy the constraint condition within the search space. The robot control unit moves the robot system arranged in the actual working space from the starting point to the ending point based on the trajectory explored within the search space.

[0052] The robot control system may set up a search space that uses at least the multiple degrees of freedom of the first arm, without using the multiple degrees of freedom of the second arm. In this modified example, the robot control system controls a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom. The first arm and each of the second arms may or may not have redundant degrees of freedom. The robot control system comprises a setting unit, a search unit, and a robot control unit. The setting unit sets constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the position and orientation of each of the one or more second arms. The search unit sets up a search space that uses at least the multiple degrees of freedom of the first arm, without using the multiple degrees of freedom of each of the one or more second arms, and searches for a trajectory in the search space to move the robot system from a start point to an end point while satisfying the constraint conditions. Based on the trajectory searched in the search space, the robot control unit moves the robot system, which is placed in the actual workspace, from a start point to an end point.

[0053] The system's hardware configuration is not limited to a configuration in which each functional module is realized by program execution. For example, at least a portion of the above-mentioned group of functional modules may be composed of logic circuits specialized for that function, or they may be composed of an ASIC (Application Specific Integrated Circuit) that integrates such logic circuits.

[0054] The processing steps for a method executed by at least one processor are not limited to the examples above. For example, some of the steps or processes described above may be omitted, or each step may be performed in a different order. Also, any two or more of the steps described above may be combined, or some of the steps may be modified or deleted. Alternatively, other steps may be performed in addition to each of the steps described above.

[0055] When comparing the relative magnitudes of two numbers in a computer system or within a computer, either the two criteria "greater than or equal to" and "greater than" may be used, or either the two criteria "less than or equal to" and "less than" may be used.

[0056] [Note] As can be seen from the various examples above, this disclosure includes the following aspects:

[0057] (Note 1) A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, comprising: a setting unit for setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; a search unit for each of the one or more second arms, setting a search space configured using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one degree of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit for moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space. According to Note 1, a search space configured using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each second arm is set. Then, considering the constraints between the first arm and each second arm, the robot system's trajectory is searched within the search space. This series of processes allows the movement of each arm of the robot system to be determined at once, making it easier to operate a multi-arm robot system. In addition, in setting the search space, only a portion of the multiple degrees of freedom are used for each second arm, so the process of searching for the trajectory can be made more efficient.

[0058] (Note 2) The robot control system according to Note 1, wherein the setting unit sets constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the position and orientation of each of the one or more second arms. According to Note 2, since constraint conditions are set with respect to a series of movements of the first arm and the second arm, the desired operation of the robot system can be realized with greater precision.

[0059] (Note 3) The robot control system according to Note 1 or 2, wherein the position of the first arm is the end-effector position of the first arm, the position of the second arm is the end-effector position of the second arm, and the setting unit sets the relative positional relationship between the end-effector positions of the one or more second arms and the end-effector position of the first arm as the constraint condition. In the coordinated operation of multiple arms, the positional relationship between the end-effector positions of these arms is important. According to Note 3, by constraining the position of the end-effector position of each second arm with respect to the end-effector position of the first arm, the operation of a robot system involving the coordination of multiple arms can be realized more reliably.

[0060] (Note 4) The robot control system according to Note 3, wherein the setting unit sets the relative positional relationship such that at least one end-effector position of one or more second arms remains within a predetermined distance from the end-effector position of the first arm as the constraint condition. Coordinated movement between multiple arms is usually performed when those arms are close to each other. According to Note 4, since the trajectory is searched under the constraint condition that the end-effector position of the second arm remains near the end-effector position of the first arm, the operation of a robot system involving the coordination of multiple arms can be realized more reliably.

[0061] (Note 5) The robot control system according to Note 1 or 2, wherein the setting unit sets a relative attitude relationship as the constraint condition, such that the attitude of at least one of the one or more second arms remains within a predetermined range from the attitude of the first arm. In the coordinated operation of multiple arms, the relationship between the attitudes of these arms is important. According to Note 5, by constraining the attitude of each second arm with respect to the attitude of the first arm, the operation of a robot system involving the coordination of multiple arms can be realized more reliably.

[0062] (Note 6) The robot control system according to any one of Notes 1 to 5, wherein the robot system includes a robot having a base axis which is a base axis common to the first arm and the one or more second arms, and the search unit sets the search space using the degrees of freedom of the base axis. According to Note 6, since the search space is set using the degrees of freedom of the base axis, the movement of the base axis can be determined at the same time as the movement of each arm. As a result, even when a multi-arm robot system has a base axis, the multi-arm robot system can be operated more easily.

[0063] (Note 7) The robot control system according to any one of Notes 1 to 6, wherein the plurality of degrees of freedom of the first arm include redundant degrees of freedom of the first arm. According to Note 7, since the search space is set using the redundant degrees of freedom of the first arm, a multi-arm robot system that enables even more diverse movements by having redundant degrees of freedom of each arm can be operated more easily.

[0064] (Note 8) The robot control system according to any one of Notes 1 to 7, wherein the search unit sets the starting point based on the current or currently designated posture of the robot system in the actual workspace when searching for the trajectory in the search space, and the search unit searches for the trajectory in the search space to move the robot system from the set starting point to the ending point in a manner that satisfies the constraint conditions. According to Note 8, the starting point is set based on the actual posture of the robot system when attempting to search for the trajectory in the search space, and the trajectory from that starting point is searched. Therefore, the robot system can be controlled by path planning in response to changes in the conditions of the actual workspace.

[0065] (Note 9) The robot control system according to any one of Notes 1 to 8, wherein the search unit sets up the search space using the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using any degrees of freedom other than the redundant degrees of freedom of the multiple degrees of freedom of the second arm. According to Note 9, in the search space configured using the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each second arm, the trajectory of the robot system is searched considering the constraint conditions between the first arm and each second arm. Since only the redundant degrees of freedom are used for each second arm, the process of searching for the trajectory can be made even more efficient. For example, by shortening the processing time for searching for the trajectory, it becomes possible to perform runtime path planning according to the situation in the actual workspace.

[0066] (Note 10) The robot control system according to Note 9, wherein the search unit calculates, at each of the one or more search points set between the start point and the end point, the multiple degrees of freedom of the first arm, the redundant degrees of freedom of each of the one or more second arms, and the constraint conditions, the other degrees of freedom other than the redundant degrees of freedom for each of the one or more second arms. According to Note 10, the multiple degrees of freedom of the reference first arm and the redundant degrees of freedom of each second arm are first determined, and then the other degrees of freedom of each second arm are calculated. This calculation procedure allows for the efficient calculation of the degrees of freedom of each arm at each search point.

[0067] (Note 11) A robot control system according to any one of Notes 1 to 10, further comprising a smoothing unit for smoothing the trajectory explored in the search space, wherein the robot control unit moves the robot system from the start point to the end point based on the smoothed trajectory. According to Note 11, since the trajectory in the search space is smoothed, the travel time of the robot system can be shortened. In addition, the smoothing suppresses or eliminates sudden operation and sudden stopping of the drive unit (e.g., motor) that operates each arm, thereby reducing the load on the drive unit. In turn, the lifespan of the robot system can be extended.

[0068] (Note 12) A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom, one or more second arms each having multiple degrees of freedom, and a base axis which is a base axis common to the first arm and the one or more second arms, comprising: a setting unit for setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; a search unit for setting a search space configured using at least the multiple degrees of freedom of the first arm and the degrees of freedom of the base axis, without using the multiple degrees of freedom of each of the one or more second arms, and for searching a trajectory in the search space for moving the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit for moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched in the search space. According to Note 12, a search space configured using at least the multiple degrees of freedom of the first arm and the degrees of freedom of the base axis is set. Then, considering the constraints between the first arm and each second arm, the robot system's trajectory is searched within that search space. This series of processes allows the movement of each arm of the robot system to be determined at once, making it easier to operate a multi-arm robot system. In addition, since it is not necessary to use multiple degrees of freedom for each second arm when setting the search space, the process of searching for the trajectory can be made more efficient.

[0069] (Note 13) A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom, comprising: a setting unit that sets constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the position and orientation of each of the one or more second arms; a search unit that sets a search space configured using at least the multiple degrees of freedom of the first arm without using each of the one or more second arms, and searches for a trajectory in the search space to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit that moves the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched in the search space. According to Note 13, a search space configured using at least the multiple degrees of freedom of the first arm is set. Then, considering the constraint conditions between the first arm and each of the second arms, the trajectory of the robot system is searched in that search space. This series of processes allows the movement of each arm of the robot system to be determined at once, making it easier to operate a multi-arm robot system. In addition, since it is not necessary to use multiple degrees of freedom for each second arm when setting the search space, the process of searching for the trajectory can be made more efficient. Furthermore, since constraint conditions are set for the series of movements of the first and second arms, the desired operation of the robot system can be realized with greater precision.

[0070] (Note 14) A robot control method performed by a robot control system comprising at least one processor for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, the method comprising: setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the positions and orientations of each of the one or more second arms; setting a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one degree of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space. According to Note 14, the same technical effects as in Note 1 can be obtained.

[0071] (Note 15) A robot control program that causes a computer to function as a robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, the program comprising: setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; setting a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one degree of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space. According to Note 15, the same technical effects as in Note 1 can be obtained.

[0072] 1...Robot control system, 2...Robot system, 8...Workpiece, 9...Actual workspace, 11...Setting unit, 12...Search unit, 13...Smoothing unit, 14...Robot control unit, 21...First arm, 22...Second arm, 200...Search space, 211...Start point, 212...End point, 230...Trajectory.

Claims

1. A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, comprising: a setting unit for setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the positions and orientations of each of the one or more second arms; a search unit for setting a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one of the multiple degrees of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit for moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space.

2. The robot control system according to claim 1, wherein the setting unit sets constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the position and orientation of each of the one or more second arms.

3. The robot control system according to claim 1, wherein the position of the first arm is the end-effector position of the first arm, the position of the second arm is the end-effector position of the second arm, and the setting unit sets the relative positional relationship between the end-effector positions of each of the one or more second arms and the end-effector position of the first arm as the constraint condition.

4. The robot control system according to claim 3, wherein the setting unit sets the relative positional relationship such that at least one of the two second arms' end-effector positions remains within a predetermined distance from the end-effector position of the first arm as the constraint condition.

5. The robot control system according to claim 1, wherein the setting unit sets a relative attitude relationship as the constraint condition, such that the attitude of at least one of the one or more second arms remains within a predetermined range from the attitude of the first arm.

6. The robot control system according to any one of claims 1 to 5, wherein the robot system includes a robot having a base axis which is a base axis common to the first arm and the one or more second arms, and the search unit further uses the degrees of freedom of the base axis to set the search space.

7. The robot control system according to any one of claims 1 to 5, wherein the plurality of degrees of freedom of the first arm include redundant degrees of freedom of the first arm.

8. The robot control system according to any one of claims 1 to 5, wherein the search unit sets the starting point based on the current or currently designated posture of the robot system in the actual work space when searching for the trajectory in the search space, and the search unit searches for the trajectory in the search space to move the robot system from the set starting point to the ending point so as to satisfy the constraint conditions.

9. The robot control system according to any one of claims 1 to 5, wherein the search unit sets the search space for each of the one or more second arms using the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using any of the multiple degrees of freedom of the second arm other than the redundant degrees of freedom.

10. The robot control system according to claim 9, wherein the search unit calculates, at each of the one or more search points set between the start point and the end point, each of the other degrees of freedom other than the redundant degrees of freedom for each of the one or more second arms based on the plurality of degrees of freedom of the first arm, the redundant degrees of freedom of each of the one or more second arms, and the constraint conditions.

11. A robot control system according to any one of claims 1 to 5, further comprising a smoothing unit for smoothing the trajectory explored in the search space, wherein the robot control unit moves the robot system from the start point to the end point based on the smoothed trajectory.

12. A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom, one or more second arms each having multiple degrees of freedom, and a base axis which is a base axis common to the first arm and the one or more second arms, the system comprising: a setting unit for setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; a search unit for setting a search space configured using at least the multiple degrees of freedom of the first arm and the degrees of freedom of the base axis, without using the multiple degrees of freedom of each of the one or more second arms, and for searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit for moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space.

13. A robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom, the system comprising: a setting unit for setting constraint conditions between the transition of at least one of the position and orientation of the first arm and the transition of at least one of the position and orientation of each of the one or more second arms; a search unit for setting a search space configured using at least the multiple degrees of freedom of the first arm without using the multiple degrees of freedom of each of the one or more second arms, and for searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and a robot control unit for moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space.

14. A robot control method performed by a robot control system comprising at least one processor for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, the method comprising: setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; setting a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one degree of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point so as to satisfy the constraint conditions; and moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space.

15. A robot control program that causes a computer to function as a robot control system for controlling a robot system comprising a first arm having multiple degrees of freedom and one or more second arms, each having multiple degrees of freedom including redundant degrees of freedom, the program comprising: setting constraint conditions between at least one of the position and orientation of the first arm and at least one of the position and orientation of each of the one or more second arms; setting a search space for each of the one or more second arms, using at least the multiple degrees of freedom of the first arm and the redundant degrees of freedom of each of the one or more second arms, without using at least one degree of freedom of the second arm other than the redundant degrees of freedom, and searching within the search space for a trajectory to move the robot system from a start point to an end point that satisfies the constraint conditions; and moving the robot system, which is placed in a real workspace, from the start point to the end point based on the trajectory searched within the search space.

Citation Information

Patent Citations

  • JP2012056023A

  • JP2016112655A

  • JP2024136832A