Control system and control method of control system

文档序号:722634 发布日期:2021-04-16 浏览:11次 中文

阅读说明:本技术 控制系统以及控制系统的控制方法 (Control system and control method of control system ) 是由 関本英彦 于 2020-01-08 设计创作,主要内容包括:本发明实现一种控制系统,不需要避免机器人碰撞的程序的更新,由此减轻用户的负担。控制系统(1)的第二机器人(32)具有轨道计算部(23S),所述轨道计算部(23S)在判定为第一机器人(31)以及第二机器人(32)各自会发生碰撞时,以避开第一机器人(31)的方式来计算第二机器人(32)的轨道。(The present invention realizes a control system that does not require updating of a program that avoids robot collisions, thereby reducing the burden on the user. A second robot (32) of the control system (1) has a trajectory calculation unit (23S), and the trajectory calculation unit (23S) calculates the trajectory of the second robot (32) so as to avoid the first robot (31) when it is determined that the first robot (31) and the second robot (32) collide with each other.)

1. A control system in which a plurality of robots having a plurality of joints are connected to the same network,

the plurality of robots includes a first robot and a second robot,

the second robot includes:

a communication control unit that acquires, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable unit of the first robot from a current position to a target position and target position information indicating a target position of the movable unit of the second robot are added;

a determination unit that determines whether or not the first robot and the second robot collide with each other based on a trajectory of the movable unit of the first robot and a trajectory of the movable unit of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and

a trajectory calculation unit that corrects the trajectory of the movable unit of the second robot so as to avoid the trajectory of the movable unit of the first robot when the first robot and the second robot collide with each other.

2. The control system of claim 1,

the plurality of robots receive the control data via the network during each prescribed period.

3. The control system of claim 2,

the trajectory calculation unit further calculates a predetermined position of the movable part of the second robot for each of the predetermined periods until the movable part of the second robot reaches the target position, based on a current position of the movable part of the second robot.

4. The control system of claim 3, wherein the second robot further comprises:

a peripheral range orbit calculation unit that calculates a first peripheral range orbit based on the orbit of the movable unit of the first robot, the first peripheral range orbit being an orbit including a predetermined range around the movable unit of the first robot, and calculates a second peripheral range orbit based on the orbit of the movable unit of the second robot calculated by the orbit calculation unit, the second peripheral range orbit being an orbit including a predetermined range around the movable unit of the second robot,

the determination unit determines whether or not the first robot and the second robot collide with each other by determining whether or not the first peripheral range orbit is included in the second peripheral range orbit.

5. The control system of claim 4,

the trajectory calculation unit corrects the trajectory of the movable portion of the second robot so as to avoid the trajectory of the movable portion of the first robot when the determination unit determines that the first robot and the second robot collide with each other, and adds predetermined position information indicating a predetermined position of the second robot after a next predetermined period on the corrected trajectory to the control data,

the communication control unit outputs the control data to which the predetermined position information is added to the network.

6. The control system according to any one of claims 1 to 5,

the plurality of robots are respectively set with priority orders for avoiding collision with respect to other robots,

the priority order of the second robot is lower than that of the first robot, and the second robot avoids collision with the first robot.

7. The control system of claim 6,

the second robot calculates trajectories of other robots of the plurality of robots, in addition to the first robot, with respect to which collisions are also avoided.

8. A control method of a control system in which a plurality of robots are connected to the same network,

the plurality of robots includes a first robot and a second robot,

performing, in the second robot, the steps of:

an acquisition step of acquiring, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable part of the first robot from a current position to a target position and target position information indicating a target position of the movable part of the second robot are added;

a determination step of determining whether or not the first robot and the second robot collide with each other based on a trajectory of the movable portion of the first robot and a trajectory of the movable portion of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and

a trajectory calculation step of correcting the trajectory of the movable part of the second robot so as to avoid the trajectory of the movable part of the first robot when the first robot and the second robot collide with each other.

Technical Field

The present invention relates to a control system, a method of driving the control system, a control program, and a computer-readable recording medium.

Background

As a conventional technique of a control system for avoiding collision between robots, there is a technique described in patent document 1. Accordingly, by performing the area declaration such as the mixed interference area, the access reservation, and the existence once between the operation programs requiring the interlock (interlock), the programming can be performed without considering the interlock (lock/unlock before and after the operation programs). Thus, even when the control is not performed in real time (at the time of teaching), the interlock can be automatically performed appropriately without causing a mismatch in the entire system.

Documents of the prior art

Patent document

Patent document 1: japanese Kohyo publication (Kohyo) No. 2016-538642 "

Disclosure of Invention

Problems to be solved by the invention

However, in the conventional technique as described above, it is necessary to create a program for declaring an area. The program for the area declaration is a robot-specific program determined for each robot in accordance with various conditions such as devices around the installation position and positional relationships with other robots. Therefore, the user who uses the robot must create each robot, which is a burden on the user.

An object of one embodiment of the present invention is to realize a control system that reduces the burden on a user who creates a user program for instructing the operation of a robot by avoiding collision between the robot itself and another robot.

Means for solving the problems

In order to solve the above problem, a control system according to an embodiment of the present invention is a control system in which a plurality of robots having a plurality of joints are connected to a same network, wherein the plurality of robots include a first robot and a second robot, and the second robot includes: a communication control unit that acquires, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable unit of the first robot from a current position to a target position and target position information indicating a target position of the movable unit of the second robot are added; a determination unit that determines whether or not the first robot and the second robot collide with each other based on a trajectory of the movable unit of the first robot and a trajectory of the movable unit of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and a trajectory calculation unit that corrects the trajectory of the movable unit of the second robot so as to avoid the trajectory of the movable unit of the first robot when the first robot and the second robot collide with each other.

In order to solve the above-described problems, a control system according to an embodiment of the present invention is a control method for a control system in which a plurality of robots are connected to the same network, wherein the plurality of robots include a first robot and a second robot, and the second robot performs: an acquisition step of acquiring, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable part of the first robot from a current position to a target position and target position information indicating a target position of the movable part of the second robot are added; a determination step of determining whether or not the first robot and the second robot collide with each other based on a trajectory of the movable portion of the first robot and a trajectory of the movable portion of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and a trajectory calculation step of correcting the trajectory of the movable part of the second robot so as to avoid the trajectory of the movable part of the first robot when the first robot and the second robot collide with each other.

In this case, a control program for realizing the control system by a computer by causing the computer to function as each unit (software element) included in the control system, and a computer-readable recording medium on which the control program is recorded are also included in the scope of the present invention.

ADVANTAGEOUS EFFECTS OF INVENTION

According to an embodiment of the present invention, a control system that reduces the burden on a user who creates a user program can be obtained.

Drawings

Fig. 1 is a schematic diagram showing a configuration of a main part of a control system according to an embodiment.

Fig. 2 is a diagram showing a configuration of control data for one frame transmitted from the control device to the plurality of robots and other devices.

Fig. 3 is a diagram showing a schematic configuration of a robot included in the control system according to the embodiment.

Fig. 4 is a diagram showing functional blocks of a first robot relating to a control system according to an embodiment.

Fig. 5 is a diagram showing a process flow of a control unit of the first robot relating to the control system of the embodiment.

Fig. 6 is a diagram showing functional blocks of a second robot relating to the control system of the embodiment.

Fig. 7 is a diagram showing a process flow of a control unit of the second robot relating to the control system of the embodiment.

Detailed Description

Hereinafter, an embodiment (hereinafter, also referred to as "the present embodiment") of one aspect of the present invention will be described. The same or corresponding portions in the drawings are denoted by the same reference characters and description thereof will not be repeated.

[ (1 application case ]

The control system of the present embodiment includes a control device that controls a target device such as a machine or a device, and a control target such as a machine or a device connected to the control device. The control object includes a plurality of robots having a plurality of joints.

Fig. 1 is a schematic diagram showing a configuration of a main part of a control system 1 according to an embodiment. The control system 1 includes a control device 10 and a plurality of robots 30 connected via a field network (the same network). In the control system 1, the plurality of robots 30 may be connected to other devices 40 (e.g., a servo) other than the robots 30 via a field network. The plurality of robots 30 includes at least a first robot 31 and a second robot 32, and may further include other robots. For example, in the control system 1, the control device 10, the first robot 31, the second robot 32, and another device 40 are connected in series via a Local Area Network (LAN) cable 2.

The field network transmits various data that are received and taught between the control device 10 and the plurality of robots 30 and the other devices 40. As the field network, a configuration using EtherCAT (registered trademark) which is an industrial ethernet (registered trademark) is exemplified, but the field network is not limited thereto, and a network which transmits and receives various data at a fixed cycle can be used. For example, industrial ethernet (registered trademark) such as PROFINET (registered trademark), MECHATROLINK (registered trademark) -III, Powerlink, SERCOS (registered trademark) -III, CIP Motion, and the like can be used as the field network.

The second robot 32 receives the information of the current position and the information of the target position of the first robot 31 and the information of the target position of the second robot 32 via the on-site network. The second robot 32 knows the current position of the own device. The second robot 32 calculates the orbit of the first robot 31 from the current position and the target position of the first robot 31, and calculates the orbit of the second robot 32 from the current position and the target position of the second robot 32. The second robot 32 determines whether the first robot 31 and the second robot 32 collide with each other based on the trajectory of the first robot 31 and the trajectory of the second robot 32. If a collision occurs, the second robot 32 corrects the trajectory of its own apparatus so as to avoid the collision.

The calculation of the orbit of each robot, the judgment of the collision, and the orbit correction for avoidance are performed not by the control device 10 which is the master device indicating the target position but by the second robot 32 itself which is the slave device. This makes it possible to distribute the calculation load. Moreover, the appropriate trajectory can be determined more quickly. Therefore, the surrounding range (range in which other robots are prevented from entering) in which the motion error is considered can be reduced. As a result, the plurality of robots can be arranged at short intervals, and the size of the manufacturing line can be reduced. Further, the user can create a user program for operating the robot without considering the interference of the second robot with the first robot.

[ (2 construction example ]

As shown in fig. 1, the control device 10 is a Programmable Logic Controller (PLC) that controls a control target such as a machine or a device, and controls a plurality of robots 30 and other devices 40. The control device 10 transmits command values to the plurality of robots 30 via the field network, and each robot 30 operates based on the received command values. The instruction value is also transmitted to the other device 40 via the field network, and the other device 40 operates based on the received instruction value. The control device 10 actively manages the transmission of control data via the field network during the transmission of the control data.

In the present embodiment, priority orders for avoiding collision with respect to the movable portions of the other robots 30 are set for each of the plurality of robots 30. Here, for example, the priority order of the robot 30 on the downstream side (the side away from the control device 10) is lower than that of the robot 30 on the upstream side (the side close to the control device 10) on the field network. That is, the priority order of the orbit of the second robot 32 is lower than the priority order of the orbit of the first robot 31, and the second robot 32 avoids collision with the first robot 31. This can prevent the robot 30 from colliding with each other when performing the avoidance action in the same direction. That is, collision of the robots 30 with each other can be avoided more reliably.

The robot 30 to be evacuated (here, the first robot 31) may be referred to as a master-side robot 30, and the robot that performs evacuation (here, the second robot 32) may be referred to as a slave-side robot 30.

Fig. 2 is a diagram showing a configuration of a packet of control data 60 for one frame transmitted from the control device 10 to the plurality of robots 30 and the other devices 40. In EtherCAT (registered trademark), a plurality of robots 30 transmit and receive control data 60, which is a set (set) of control data for each robot 30, via a field network at every predetermined cycle. In fig. 2, the left end of the control data 60 is control data (trajectory specifying information) 61 for controlling the first robot 31, and the side thereof is control data (trajectory specifying information) 62 for controlling the second robot 32, and when there are further other robots, the control data of the respective robots are sequentially provided beside the control data 62. The control data 61, 62 … includes the number of robots 30 connected to the field network and controlled by the control device 10. In fig. 2, the control data 70 of the other device 40 is provided on the right end of the control data 60.

The control data of each robot includes input data (IN data) and output data (OUT data). That is, control data 61 includes input data 61a and output data 61b, control data 62 includes input data 62a and output data 62b, and … control data 70 includes input data 70a and output data 70 b.

The input data is information for transmission from the control device 10 to the robot 30 or other device 40. The control device 10 adds command values for operating the robots 30 to the input data. Specifically, the control device 10 adds a command value for operating the first robot 31 to the input data 61a of the control data 61 in the control data 60, adds a command value for operating the second robot 32 to the input data 62a of the control data 62, and adds a command value for operating the other device 40 to the input data 71a of the control data 70.

The command value is data for determining the operation of the robot 30, and is information (target position information) indicating a target position (XYZ coordinates) at which the robot 30 moves, for example, in the present embodiment. The robot 30 calculates a trajectory from the target position, and operates the movable portion according to the calculated trajectory.

The output data is information for transmission from the robot 30 or other device 40 to the control device 10. Each robot 30 adds information indicating the state of its own device to each output data. Specifically, information indicating the state of the first robot 31 is added to the output data 61b of the control data 61 in the control data 60 by the first robot 31, information indicating the state of the second robot 32 is added to the output data 62b of the control data 62 by the second robot 32, and information indicating the state of the other device 40 is added to the output data 70b of the control data 70 by the other device 40 at ….

The information indicating the state of the own apparatus is, for example, information indicating the current position (XYZ coordinates) of the movable part (e.g., manipulator) of each robot 30. The current position of each robot 30 may be an actual current position of each robot 30, or a predetermined position in which each robot 30 operates after a predetermined period (at the time of the next frame) may be regarded as the current position.

The control data 61 in the control data 60 includes track specifying information for specifying a track of the movable portion of the first robot 31 from the current position to the target position. The control data 62 includes trajectory specifying information for specifying a trajectory of the movable portion of the second robot 32 from the current position to the target position.

Each robot 30 imports at least control data of an area allocated for its own apparatus in the control data 60. For example, the robot 30 (first robot 31) on the host side imports input data 61a of control data 61 assigned for its own apparatus. Further, in the present embodiment, as described later, the slave-side robot 30 (second robot 32) acquires the trajectory of the master-side robot 30 (first robot 31) by importing, from the control data 60, not only the input data 62a of the control data 62 assigned to its own apparatus but also the control data 61 assigned to the master-side robot 30 (first robot 31) to be evacuated.

The flow of the control data 60 in the control system 1 will be described with reference to fig. 1 and 2. The control device 10 has an I/O port 50. The I/O port 50 includes a transmission unit (referred to as "TX" in fig. 1) 51 and a reception unit (referred to as "RX" in fig. 1) 52. The first robot 31 has I/O ports 50a, 50 b. The I/O ports 50a and 50b include a transmission unit 51 and a reception unit 52, respectively. The second robot 32 also has I/O ports 50a, 50b, and the other devices 40 also have I/O ports 50a, 50 b. That is, the first robot 31, the second robot 32, and the other devices 40 each include two I/O ports.

Further, for example, the I/O port 50 in the control device 10 and the I/O port 50a of the first robot 31 are connected by the LAN cable 2. The I/O port 50b of the first robot 31 and the I/O port 50a of the second robot 32 are connected by the LAN cable 2. The I/O port 50b of the second robot 32 and the I/O port 50a of the other device 40 are connected by the LAN cable 2. Here, the other device 40 is a device at the end of the field network.

The control device 10 adds information indicating the target position of each robot 30 to each input data of the control data 60, and transmits the same from the transmission unit 51 to the field network (output processing). The control data 60 transmitted from the control device 10 to the field network is transmitted to the receiving unit 52 of the I/O port 50a of the first robot 31, and is transmitted from the transmitting unit 51 of the other I/O port 50b included in the first robot 31 to the receiving unit 52 of the I/O port 50a of the second robot 32. At this time, the first robot 31 accesses the area (i.e., the control data 61) allocated to the own device in the control data 60 received from the control device 10, imports the input data 61a, and adds information indicating the current position of the own device to the output data 61 b. The second robot 32 transmits control data 60 in which the first robot 31 adds information indicating the current position to the output data 61 b.

Similarly to the first robot 31, the second robot 32 accesses the area (i.e., the control data 62) allocated to its own device in the received control data 60 and introduces the input data 62 a. In addition, the second robot 32 accesses the area (i.e., the control data 61) allocated to the first robot 31 in the control data 60, and also imports the input data 61a and the output data 61b of the control data 61 allocated to the first robot 31. The second robot 32 adds information indicating the current position of the own device to the output data 62b in the control data 60. The same process is performed in sequence for each robot connected via the field network.

Here, the input data 70a is similarly imported into the other end device 40, and information indicating the current position of the own device is added to the output data 70 b. The control data 60 transmitted from the other end device 40 flows back through the field network, passes through the second robot 32 and the first robot 31 in this order, and returns to the control device 10.

While the control data 60 transmitted from the control device 10 is finally returned by one round (round trip) of the loop on the field network, the master-side robot 30 among all the robots 30 connected via the field network performs the introduction of the input data in the control data distributed for its own device and the addition of the information indicating the current position of its own device to the output data. The slave-side robot 30 performs the importing of input data among control data assigned for its own device, the adding of information indicating the current position of its own device to output data, and the importing of control data assigned from its own device to the master-side robot 30.

In this way, in the control system 1, the control data 60 is circulated at every predetermined period via the field network. The predetermined period is not particularly limited, and may be, for example, about 1 msec. The period (predetermined period) during which the control data 60 is circulated once in the field network may be referred to as a frame.

The second robot 32 may be configured to calculate the trajectory of the other robot 30 in addition to the first robot 31 in the plurality of robots 30, and to perform the action of avoiding collision with respect to the other robot 30. At this time, when the control data 60 is returned from the other end device 40, the second robot 32 may import the output data added from the other robot 30 on the slave side from its own device. Therefore, the priority to be avoided can be set regardless of the connection order of the network (the reception order of the control data 60).

Fig. 3 is a diagram showing a schematic configuration of a robot 30 included in the control system 1 according to the embodiment. In fig. 3, the second robot 32 is illustrated as an example of the robot included in the control system 1, but the same is true for the other robots 30. The second robot 32 includes: a robot body 32 a; and a robot arm 32b as a movable portion, the robot arm 32b being connected to the robot main body 32a and having a plurality of joints.

When the second robot 32 acquires the control data 60 from the first robot 31 on the upstream side, it acquires a target position to which input data 62a of the control data 62 assigned for its own device is added in the control data 60, and adds information indicating the current position of the robot arm 32b as the movable portion to output data 62b of the control data 62 assigned for its own device. The second robot 32 then transmits the control data 60 to the other devices 40 on the downstream side. The second robot 32 calculates a trajectory to reach the acquired target position based on the current position of the robot arm 32b as the movable portion. Then, the second robot 32 moves the robot arm 32b as a movable portion along the calculated trajectory. This updates the current position of the robot arm 32b as the movable portion.

Here, the trajectory is a predetermined position (XYZ coordinate) at predetermined time intervals (every frame) from the current position of the robot arm 32b to the target position. In other words, the trajectory is a set of predetermined regions where the robot arm 32b is located at predetermined time intervals (for each frame) until the robot arm 32b moves from the current position to the target position. The trajectory is a set of predetermined regions in which the robot arm 32b is located in a four-dimensional space that combines time and space.

Here, if the second robot 32 and the other robot 30 are controlled in consideration of only the set (i.e., the trajectory) of the predetermined regions where the robot arm 32b is located when moving from the current position to the target position, there is a possibility that the second robot 32 collides with the other robot 30 due to various errors. Therefore, a predetermined peripheral range R, which is a wide area including the robot arm 32b and its periphery, such as a cylinder centered on the robot arm 32b, is set in advance. When calculating the trajectory of the robot arm 32b, the second robot 32 calculates the circumference range trajectory, which is a set of regions having a region larger than the calculated trajectory per a predetermined time, based on the trajectory and the circumference range R. Then, as will be described later, an avoidance action is taken to avoid a collision with the first robot 31 on the host side based on the calculated surrounding area trajectory of the second robot 32 and the surrounding area trajectory of the first robot 31 on the host side. That is, the second robot 32 determines that the own device should be retracted when the first robot 31 on the host side is within the surrounding range orbit.

The current position may be an actual current position of the arm 32b, which is a movable part of the second robot 32 (the position of the arm 32b when the control data 60 is acquired), or may be a predetermined position of the arm 32b at the time of the next frame.

Fig. 4 is a diagram showing functional blocks of the first robot 31. In the present embodiment, the first robot 31 is the avoidance target robot 30 which avoids collision with the second robot 32. That is, the first robot 31 is an example of the robot 30 on the main machine side having a higher priority order of avoiding collision than the second robot 32.

The first robot 31 includes a robot main body 31a and a robot arm (movable portion) 31 b. The robot main body 31a includes a communication control unit 21 and a first control unit 22M in addition to the I/O ports 50a and 50 b.

The communication control unit 21 controls communication of the first robot 31 via the I/O port 50a and the I/O port 50 b. The communication control unit 21 receives the control data 60 from the external device via the receiving unit 52 of the I/O port 50a or 50 b. The communication control section 21 imports input data 61a in the control data 60 and outputs to the first control section 22M, and writes information indicating the current position to output data 61b of the control data 60. The communication control unit 21 outputs the control data 60 to the transmission unit 51 of the I/O port 50a or 50b, and transmits the control data to the external device.

The first control unit 22M controls driving of the first robot 31. The first control unit 22M controls the operation of the first robot 31 based on various information added to the control data 60, or generates various information added to the control data 60. The first control unit 22M includes a trajectory calculation unit 23M and an operation control unit 26. The flow of the processing of the first control unit 22M will be described with reference to fig. 4 and 5.

Fig. 5 is a diagram showing a process flow of the first control unit 22M of the first robot 31. The trajectory calculation unit 23M acquires the target position of the robot arm 31b (movable part of the own apparatus) added to the input data 61a in the control data 61 assigned to the first robot 31 in the control data 60 (step S1). Next, the trajectory calculation unit 23M calculates the trajectory of the robot arm 31b to the target position based on the current position of the robot arm 31b and the acquired target position (step S2). Then, the motion control unit 26 controls the motion of the robot arm 31b, which is the movable part of the first robot 31, based on the trajectory calculated by the trajectory calculation unit 23M (step S3). Next, the trajectory calculation unit 23M outputs the predetermined position of the robot arm 31b at the next frame to the communication control unit 21 of the first robot 31 as information indicating the current position, based on the trajectory calculated in step S2 (step S4). When receiving the control data 60 in the next frame, the communication control unit 21 imports the input data 61a and outputs the data to the first control unit 22M, and writes information indicating the current position in the output data 61 b. The communication control unit 21 transmits the control data 60 to the second robot 32 on the downstream side via the transmission unit 51.

Fig. 6 is a diagram showing functional blocks of the second robot 32. In the present embodiment, the second robot 32 is the evacuation-side robot 30 that performs the action of avoiding collision with the first robot 31. That is, the second robot 32 is an example of the slave-side robot 30 having a lower priority order of avoiding collision than the first robot 31.

The second robot 32 includes a robot main body 32a and an arm (movable portion) 32 b. The robot main body 32a includes a communication control unit 21 and a second control unit 22S in addition to the I/O ports 50a and 50 b.

The communication control unit 21 controls communication of the second robot 32 via the I/O port 50a and the I/O port 50 b. The communication control unit 21 receives control data 60 from an external device via the receiving unit 52 of the I/O port 50a or 50 b. The communication control unit 21 imports the input data 62a, the input data 61a, and the output data 61b in the control data 60 and outputs the data to the second control unit 22S, and writes information indicating the current position to the output data 62b of the control data 60. The communication control unit 21 outputs the control data 60 to the transmission unit 51 of the I/O port 50a or 50b, and transmits the control data to the external device.

The second control unit 22S controls driving of the second robot 32. Further, the second control portion 22S controls the operation of the second robot 32 based on various information attached to the control data 60, or generates various information attached to the control data 60. The second control unit 22S includes a trajectory calculation unit 23S, a surrounding area trajectory calculation unit 24, a determination unit 25, and an operation control unit 26. The flow of the processing of the second control unit 22S will be described with reference to fig. 6 and 7.

Fig. 7 is a diagram showing a process flow of the second control unit 22S of the second robot 32. The trajectory calculation unit 23S acquires the target position of the robot arm 32b (movable portion of the own apparatus) added to the input data 62a in the control data 62 assigned to the second robot 32 in the control data 60. In addition, the trajectory calculation unit 23S acquires the target position of the robot arm 31b (movable part of the avoidance target robot) added to the input data 61a in the control data 61 assigned to the first robot 31 as the avoidance target in the control data 60 and the current position of the robot arm 31b added to the output data 61b (step S21).

Next, the trajectory calculation unit 23S calculates the trajectory of the robot arm 32b to the target position based on the current position of the robot arm 32b (the movable portion of the own apparatus) and the acquired target position of the robot arm 32b (step S22). Further, the trajectory calculation unit 23S calculates the trajectory reaching the target position of the robot arm 31b based on the current position of the robot arm 31b and the target position of the robot arm 31b (step S23).

Then, the surrounding area trajectory calculation unit 24 calculates a surrounding area trajectory of the robot arm 32b to the target position, based on the trajectory of the robot arm 32b calculated by the trajectory calculation unit 23S in step S22 and the surrounding area R of the robot arm 32b stored in advance in the own or another storage unit (step S24). Further, the peripheral range orbit calculation unit 24 calculates a peripheral range orbit from the orbit of the robot arm 31b (movable part of the avoidance target robot) calculated by the orbit calculation unit 23S in step S23 to the peripheral range R of the robot arm 31b stored in advance in the own or another storage unit (step S25).

Next, the determination unit 25 determines whether or not the surrounding area trajectory (first surrounding area trajectory) of the robot arm 31b calculated by the surrounding area trajectory calculation unit 24 in step S25 is included (even partially overlapped) in the surrounding area trajectory (second surrounding area trajectory) of the robot arm 32b calculated by the surrounding area trajectory calculation unit 24 in step S24 (step S26).

When the determination unit determines in step S26 that the surrounding area trajectory of the robot arm 31b is included in the surrounding area trajectory of the robot arm 32b (yes in step S26), the trajectory calculation unit 23S recalculates (corrects) the trajectory of the robot arm 32b from the current position to the target position so as to avoid the surrounding area trajectory of the robot arm 31b (step S27). For example, the trajectory calculation unit 23S corrects the trajectory of the robot arm 32b in a direction away from the trajectory of the peripheral area of the robot arm 31 b. Next, the surrounding area trajectory calculation unit 24 recalculates the surrounding area trajectory of the robot arm 32b to the target position, based on the trajectory of the robot arm 32b recalculated by the trajectory calculation unit 23S in step S27 and the surrounding area R of the robot arm 32b stored in advance in the own or another storage unit (step S28). Next, the process returns to step S26.

When the determination unit determines in step S26 that the surrounding area trajectory of the robot arm 31b is not included in the surrounding area trajectory of the robot arm 32b (no in step S26), the motion control unit 26 controls the motion of the robot arm 32b, which is the movable unit of the second robot 32, based on the trajectory calculated by the trajectory calculation unit 23S (step S29). Then, the trajectory calculation unit 23S outputs the predetermined position of the robot arm 32b at the next frame to the communication control unit 21 of the second robot 32 as information indicating the current position, based on the trajectory of the robot arm 32b (step S30). When receiving the control data 60 in the next frame, the communication control unit 21 imports the input data 62a, the input data 61a, and the output data 61b and outputs the data to the second control unit 22S, and writes information indicating the current position in the output data 62 b. The communication control unit 21 transmits the control data 60 to the other robot 30 on the downstream side via the transmission unit 51.

In step S27, the trajectory calculation unit 23S recalculates the trajectory of the robot arm 32b so as to avoid the trajectory of the surrounding area of the robot arm 31 b. As a method for recalculating the trajectory by the trajectory calculation unit 23S, the spatial path from the current position of the robot arm 32b to the target position may be changed so as to avoid the trajectory in the peripheral area of the robot arm 31b, or the moving speed of the robot arm 32b may be changed without changing the spatial path (that is, the predetermined position of the robot arm 32b is changed for each predetermined period).

Further, instead of providing the priority ranks for causing the other robots 30 to perform the avoidance action to each of the plurality of robots 30, the robots 30 may perform the avoidance action with each other.

(main effects)

In this way, in the control system 1, the slave-side second robot 32 acquires, via the field network, the input data 61a, the output data 61b, and the input data 62a in the control data 61, the control data 61 specifying the trajectory from the current position to the target position of the robot arm 31b of the master-side first robot 31, and the input data 62a to which information indicating the target position of the robot arm 32b of the own apparatus is added.

In the second robot 32, the determination unit 25 determines whether or not the first robot 31 and the second robot 32 collide with each other based on the trajectory of the arm 31b of the first robot 31 and the trajectory of the arm 32b from the current position to the target position, which is determined based on the target position of the second robot 32 (S26). Next, when the first robot 31 collides with the second robot 32, the trajectory calculation unit 23S recalculates the trajectory of the arm 32b of the second robot so as to avoid the first robot 31 (step S27).

In this way, the trajectory that does not collide with the first robot 31 is calculated by the second robot 32 itself. Therefore, the user can create a user program for operating the robot without taking the intervention into consideration. As a result, it is possible to realize the control system 1 that can reduce the burden on the user who creates the user program for instructing the operation of the robot 30 by avoiding the collision with another robot 30 by the robot 30 itself.

Then, in the second robot 32, the trajectory calculation unit 23S calculates, as the trajectory, the predetermined position of the arm 32b of the second robot 32 every predetermined period until the arm 32b of the second robot 32 reaches the target position, based on the current position of the arm 32b of the second robot 32 (step S22). In this way, by calculating a plurality of predetermined positions of the robot arm 32b of the second robot 32 from the current position to the target position as the trajectory on the second robot 32 side, not on the control device 10 side that controls the second robot 32, the user can save the time and effort required to program the trajectory of the robot arm 32b of the second robot 32 in advance.

The peripheral area orbit calculation unit 24 in the second robot 32 calculates the peripheral area orbit of the arm 32b of the second robot 32 based on the orbit of the arm 32b of the second robot 32 (step S24), and calculates the peripheral area orbit of the arm 31b of the first robot 31 based on the orbit of the arm 31b of the first robot 31 (step S25). Then, specifically, the determination unit 25 determines whether or not the peripheral region orbit of the arm 31b of the first robot 31 is included in the peripheral region orbit of the arm 32b of the second robot 32 (step S26), thereby determining whether or not the first robot 31 and the second robot 32 collide with each other.

Thus, the trajectory of the peripheral area of the first robot 31 and the trajectory of the peripheral area of the second robot 32 are calculated on the second robot 32 side, not on the control device 10 side that controls the second robot 32, and therefore the trajectory of the second robot 32, on which both do not collide, can be determined more quickly. This can reduce a limit (margin) (surrounding area) for ensuring that the first robot 31 and the second robot 32 do not collide with each other. Therefore, the size of the manufacturing line can be reduced. Further, the load can be distributed as compared with the case where the load for calculating the orbit of the peripheral area of each robot 30 is calculated by the control device 10.

Next, when the judgment unit S26 judges that the first robot 31 and the second robot 32 collide (yes in step S26), the trajectory calculation unit 23S recalculates the trajectory of the arm 32b of the second robot 32 so as to avoid the first robot 31 (step S27). Then, the trajectory calculation unit 23S adds information (predetermined position information) indicating the predetermined position of the arm 32b of the second robot 32 at the next frame in the recalculated trajectory to the output data 62b in the control data 62. This enables the current position of the arm 32b of the second robot 32 to be notified to other devices. Therefore, the other device can take avoidance action so as not to collide with the robot arm 32b of the second robot 32, based on the current position and the target position of the robot arm 32b of the second robot 32 as appropriate.

[ implementation by software ]

The control blocks (particularly, the trajectory calculation unit 23S, the surrounding area trajectory calculation unit 24, the determination unit 25, the motion control unit 26, the communication control unit 21, and the trajectory calculation unit 23M) of the first robot 31 and the second robot 32 may be realized by a logic circuit (hardware) formed on an integrated circuit (ic) chip or the like, or may be realized by software.

In the latter case, the second robot 32 includes a computer that executes commands of a program, which is software for realizing the respective functions. The computer includes, for example, one or more processors (processors), and includes a computer-readable recording medium storing the program. In the computer, the processor reads and executes the program from the recording medium, thereby achieving the object of the present invention. As the processor, for example, a Central Processing Unit (CPU) can be used. As the recording medium, "a non-transitory tangible medium" may be used, and for example, a tape (tape), a disk (disk), a card (card), a semiconductor Memory, a programmable logic circuit, or the like may be used in addition to a Read Only Memory (ROM) or the like. Further, a Random Access Memory (RAM) or the like for expanding the program may be further included. Further, the program may be supplied to the computer via an arbitrary transmission medium (a communication network, a broadcast wave, or the like) that can transmit the program. In addition, an embodiment of the present invention can also be realized as an embodiment of a data signal embedded in a carrier wave that embodies the program by electronic transmission.

(conclusion)

In order to solve the above problem, a control system according to an embodiment of the present invention is a control system in which a plurality of robots having a plurality of joints are connected to a same network, wherein the plurality of robots include a first robot and a second robot, and the second robot includes: a communication control unit that acquires, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable unit of the first robot from a current position to a target position and target position information indicating a target position of the movable unit of the second robot are added; a determination unit that determines whether or not the first robot and the second robot collide with each other based on a trajectory of the movable unit of the first robot and a trajectory of the movable unit of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and a trajectory calculation unit that corrects the trajectory of the movable unit of the second robot so as to avoid the trajectory of the movable unit of the first robot when the first robot and the second robot collide with each other.

According to the structure, the trajectory that does not collide with the first robot is calculated by the second robot itself. Therefore, the user can create a user program for operating the robot without considering the interference of the second robot with the first robot. As a result, it is possible to realize a control system that reduces the burden on a user who creates a user program for instructing the operation of a robot by avoiding a collision with another robot by the robot itself.

The plurality of robots receive the control data via the network for each predetermined period.

The trajectory calculation unit further calculates a predetermined position of the movable portion of the second robot for each of the predetermined periods until the movable portion of the second robot reaches the target position, based on a current position of the movable portion of the second robot.

In this configuration, the plurality of predetermined positions of the second robot from the current position to the target position are calculated on the second robot side, not on the control device side for controlling the second robot, and thus, the user can save the time and effort for programming the trajectory of the second robot in advance.

Further, the second robot further includes: a peripheral range orbit calculation unit that calculates a first peripheral range orbit based on the orbit of the movable unit of the first robot, and calculates a second peripheral range orbit based on the orbit of the movable unit of the second robot calculated by the orbit calculation unit, the first peripheral range orbit being an orbit including a predetermined range around the movable unit of the first robot, the second peripheral range orbit being an orbit including a predetermined range around the movable unit of the second robot, and the determination unit determines whether or not the first robot and the second robot collide with each other by determining whether or not the first peripheral range orbit is included in the second peripheral range orbit.

According to the above configuration, the avoidance determination range of the first robot and the avoidance determination range of the second robot are calculated not on the control device side that controls the second robot but on the second robot side, and therefore the trajectory of the second robot, which does not collide with each other, can be determined more quickly. This makes it possible to reduce the avoidance determination range in which the first robot and the second robot may collide. Therefore, the size of the manufacturing line can be reduced. Further, the load can be distributed as compared with a case where the load for calculating the avoidance determination range of each robot is calculated by the control device.

The trajectory calculation unit corrects the trajectory of the movable portion of the second robot so as to avoid the trajectory of the movable portion of the first robot when the determination unit determines that the first robot and the second robot collide with each other, adds predetermined position information indicating a predetermined position of the second robot after a predetermined period next on the corrected trajectory to the control data, and outputs the control data to which the predetermined position information is added to the network.

In addition, the plurality of robots are set with priority ranks for avoiding collision with respect to the other robots, and the priority rank of the second robot is lower than the priority rank of the first robot, and the second robot avoids collision with the first robot.

With this structure, it is possible to prevent a collision from occurring in a case where the robots take avoidance actions with each other. That is, collision between the robots can be avoided more reliably. Further, the first robot having a high priority can be made to travel along a track capable of performing work more quickly.

Further, the second robot calculates the trajectories of other robots among the plurality of robots, in addition to the first robot, and avoids collision with respect to the other robots.

In order to solve the above-described problems, a control system according to an embodiment of the present invention is a control method for a control system in which a plurality of robots are connected to the same network, wherein the plurality of robots include a first robot and a second robot, and the second robot performs: an acquisition step of acquiring, via the network, control data to which trajectory specifying information for specifying a trajectory of the movable part of the first robot from a current position to a target position and target position information indicating a target position of the movable part of the second robot are added; a determination step of determining whether or not the first robot and the second robot collide with each other based on a trajectory of the movable portion of the first robot and a trajectory of the movable portion of the second robot, which is determined based on a target position of the second robot and reaches the target position from a current position; and a trajectory calculation step of correcting the trajectory of the movable part of the second robot so as to avoid the trajectory of the movable part of the first robot when the first robot and the second robot collide with each other.

In this case, a control program for realizing the control system by a computer by causing the computer to function as each unit (software element) included in the control system, and a computer-readable recording medium on which the control program is recorded are also included in the scope of the present invention.

The present invention is not limited to the above-described embodiments, and various modifications can be made within the scope shown in the claims, and embodiments obtained by appropriately combining technical components disclosed in different embodiments are also included in the technical scope of the present invention.

Description of the symbols

1: control system

2: LAN cable

10: control device

21: communication control unit

22M, 22S: control unit

23M, 23S: track calculating unit

24: peripheral range orbit calculation unit

25: determination unit

26: operation control unit

30: robot

31: first robot (robot)

31a, 32 a: robot body

31b, 32 b: mechanical arm (Movable part)

32: second robot (robot)

40: other arrangements

50. 50a, 50 b: I/O port

51: transmitting part

52: receiving part

60. 61, 62: control data

61a, 62a, 70a, 71 a: inputting data

61b, 62b, 70 b: outputting the data

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于优化机器人装置的急转弯的路线规划的系统和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!