WO2021075380A1 - 干渉評価装置、方法、及びプログラム - Google Patents

干渉評価装置、方法、及びプログラム Download PDF

Info

Publication number
WO2021075380A1
WO2021075380A1 PCT/JP2020/038334 JP2020038334W WO2021075380A1 WO 2021075380 A1 WO2021075380 A1 WO 2021075380A1 JP 2020038334 W JP2020038334 W JP 2020038334W WO 2021075380 A1 WO2021075380 A1 WO 2021075380A1
Authority
WO
WIPO (PCT)
Prior art keywords
interference
robots
evaluation
risk
trajectory
Prior art date
Application number
PCT/JP2020/038334
Other languages
English (en)
French (fr)
Inventor
僚一 倉谷
茜 中島
岳史 小島
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP20876395.3A priority Critical patent/EP4046758A4/en
Priority to US17/766,707 priority patent/US20240066705A1/en
Priority to CN202080070776.4A priority patent/CN114555302A/zh
Publication of WO2021075380A1 publication Critical patent/WO2021075380A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1669Programme controls characterised by programming, planning systems for manipulators characterised by special application, e.g. multi-arm co-operation, assembly, grasping
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1682Dual arm manipulator; Coordination of several manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39082Collision, real time collision avoidance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39083Robot interference, between two robot arms
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39135For multiple manipulators operating at same time, avoid collision

Definitions

  • the disclosed technology relates to an interference evaluation device, an interference evaluation method, and an interference evaluation program.
  • the robots are moved and the sensors detect the approach of the robots, or the robots are simulated to see if they interfere with each other. I go and judge.
  • a device that checks for interference between a plurality of moving objects consisting of a work and a robot and automatically corrects an operation program in which the interference occurs.
  • This device acquires shape data and motion programs of a plurality of movable objects, creates a plurality of movable object models based on the shape data, and operates a plurality of movable object models based on the motion program and the movable object model. To simulate. Then, this device determines the presence or absence of interference between a plurality of movable object models based on the simulation result (Patent Document 1: Japanese Patent Application Laid-Open No. 2012-181574).
  • the disclosed technology was made in view of the above points, and aims to reduce the calculation cost required for evaluating the risk of interference between robots when generating motions of a plurality of robots.
  • the interference evaluation device is set at an installation position that is a starting point of each movable range of the plurality of robots and a position of a predetermined portion at the start posture of each of the plurality of robots.
  • the acquisition unit that acquires a certain start position and the end position that is the position of the predetermined portion in the end posture, the installation position, the start position, and the end position for each of the plurality of robots are included. It includes an evaluation unit that evaluates the risk of interference between the plurality of robots based on the overlap between polyhedra specified based on the polygon.
  • the evaluation unit can specify the polyhedron having a predetermined height in the normal direction of the plane, with the polygon obtained by projecting the polygon onto the plane on which the robot is installed as the bottom surface.
  • the evaluation unit can specify the polyhedron based on the polygon including the positions of the waypoints other than the start position and the end position included in the orbit information as vertices.
  • the acquisition unit can acquire the start position corresponding to the start posture included in the trajectory information indicating the trajectory of each movement of the plurality of robots, and the end position corresponding to the end posture.
  • the acquisition unit acquires, for each of the plurality of robots, trajectory information indicating an operation trajectory including information on the start posture and the end posture, and specification information including kinematics information and shape information. Based on the trajectory information and the specification information, the installation position, the start position, and the end position of each of the plurality of robots can be calculated.
  • the evaluation unit can specify the polyhedron based on the polygon including the positions of the waypoints other than the start position and the end position included in the orbit information as vertices.
  • the acquisition unit acquires the trajectory information and the specification information for each operation for the work including a plurality of operations
  • the evaluation unit acquires the robot for each combination of the plurality of operations constituting the operation.
  • the evaluation unit can evaluate that the higher the ratio of the movements having an interference risk between the robots among the plurality of movements included in the work, the higher the risk of the whole work.
  • the interference evaluation device can be further configured to include a generation unit that generates a trajectory from the start posture to the end posture.
  • the generation unit can generate an avoidance trajectory that avoids interference when the evaluation unit evaluates that there is a risk of interference between the robots.
  • the generation unit acquires peripheral environment information including information on surrounding objects in which the plurality of robots operate, and obtains the avoidance trajectory for avoiding overlapping portions of the polyhedra and objects around the plurality of robots. Can be generated.
  • the generation unit can generate the avoidance trajectory when the interference risk evaluated by the evaluation unit is equal to or higher than the threshold value.
  • the acquisition unit starts at an installation position that is a starting point of each movable range of the plurality of robots and a position of a predetermined portion at the start posture of each of the plurality of robots.
  • the position and the end position which is the position of the predetermined part in the end posture are acquired, and the evaluation unit includes the installation position, the start position, and the end position for each of the plurality of robots.
  • the computer is placed at an installation position that is a starting point of each movable range of a plurality of robots and a start position that is a position of a predetermined portion at the start posture of each of the plurality of robots.
  • the interference evaluation device, method, and program related to the disclosed technology it is possible to reduce the calculation cost for evaluating the interference between robots when generating the motions of a plurality of robots.
  • the robot control system 100 includes an interference evaluation device 10, a robot control device 12, and robots 16A and 16B.
  • the example of FIG. 1 shows a case where the robot control system 100 includes two robots 16A and 16B, three or more robots may be included. Further, in the following, when the robots 16A and 16B are described without distinction, they are simply referred to as "robot 16".
  • the robot 16 is, for example, a vertical articulated robot having a configuration of 6 degrees of freedom required for operation in a three-dimensional space.
  • the degree of freedom of the robot 16 may be 7 degrees of freedom, which is 6 degrees of freedom plus redundant degrees of freedom.
  • the robot 16 operates under the control of the robot control device 12 according to the trajectory information output from the interference evaluation device 10.
  • the robot control device 12 controls the operation of the robot 16 according to the trajectory information output from the interference evaluation device 10.
  • the interference evaluation device 10 evaluates the risk of interference between the robot 16A and the robot 16B when each of the robots 16A and 16B is operated according to the trajectory information. Further, when the risk of interference is high, the interference evaluation device 10 generates trajectory information indicating an avoidance trajectory for avoiding interference and outputs the trajectory information to the robot control device 12.
  • the trajectory information is the posture and posture at each time of the robot 16 when the predetermined position of the hand of the robot 16 (the side to which the tool such as the robot hand is attached) is operated from an arbitrary start point to the end point.
  • the speed and acceleration that change the above are arranged in chronological order.
  • the posture of the robot 16 is the first joint (joint J1) of the robot 16 assuming that the predetermined position of the hand of the robot 16 is at a certain position (x, y, z) and posture (roll, pitch, yaw). It is represented by a series ( ⁇ J1 , ⁇ J2 , ..., ⁇ JN ) of the values (rotation angles) of each joint from the Nth joint (joints JN and N are the number of joints of the robot).
  • FIG. 2 is a block diagram showing a hardware configuration of the interference evaluation device 10 according to the present embodiment.
  • the interference evaluation device 10 includes a CPU (Central Processing Unit) 32, a memory 34, a storage device 36, an input device 38, an output device 40, a storage medium reading device 42, and a communication I / F (Interface). Has 44. Each configuration is communicably connected to each other via a bus 46.
  • CPU Central Processing Unit
  • the storage device 36 stores an interference evaluation program for executing the interference evaluation process.
  • the CPU 32 is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 32 reads the program from the storage device 36 and executes the program using the memory 34 as a work area. The CPU 32 controls each of the above configurations and performs various arithmetic processes according to the program stored in the storage device 36.
  • the memory 34 is composed of a RAM (Random Access Memory), and temporarily stores programs and data as a work area.
  • the storage device 36 is composed of a ROM (Read Only Memory), an HDD (Hard Disk Drive), an SSD (Solid State Drive), and the like, and stores various programs including an operating system and various data.
  • the input device 38 is a device for performing various inputs such as a keyboard and a mouse.
  • the output device 40 is a device for outputting various information such as a display and a printer. By adopting a touch panel display as the output device 40, it may function as an input device 38.
  • the storage medium reading device 42 reads data stored in various storage media such as a CD (Compact Disc) -ROM, a DVD (Digital Why Disc) -ROM, a Blu-ray disc, and a USB (Universal Serial Bus) memory, and a recording medium. Write data to the data.
  • the communication I / F44 is an interface for communicating with other devices, and for example, standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark) are used.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the interference evaluation device 10.
  • the interference evaluation device 10 includes an acquisition unit 22, an evaluation unit 24, and a generation unit 26 as a functional configuration.
  • Each functional configuration is realized by the CPU 32 reading the interference evaluation program stored in the storage device 36, expanding the interference evaluation program in the memory 34, and executing the program.
  • the acquisition unit 22 acquires the installation positions of the robots 16A and 16B and the start and end positions of the predetermined parts of the robots 16A and 16B (in this embodiment, the hands of the robot 16). Information on the installation position, the start position, and the end position is input to the interference evaluation device 10 by the user.
  • the start position is the position of a predetermined part in the start posture of the operation executed by each of the robots 16A and 16B
  • the end position is the position of the predetermined part in the end posture.
  • FIG. 4 shows an example of the start position S and the end position G.
  • the installation position is the starting point of the movable range of the robot 16.
  • the installation surface of the robot 16 is the xy plane and the normal direction of the xy plane is the z-axis
  • the x-coordinate and the y-coordinate are set as the rotation center of the base link BL of the robot 16 and the z-coordinate is set as shown in FIG.
  • the installation position R can be determined as the central position of the second joint (joint J2), which is the connection mechanism between the link L1 and the link L2.
  • the installation position is not limited to this example, and may be determined in consideration of the configuration of the robot 16, the movable range, and the like.
  • the acquisition unit 22 passes the acquired information on the installation position R, the start position S, and the end position G to the evaluation unit 24.
  • the evaluation unit 24 of the robots 16A and 16B is based on the overlap between the polyhedra identified based on the polygon including the installation position R, the start position S, and the end position G. The risk of interference between the robots 16A and 16B when each performs an operation is evaluated.
  • the evaluation unit 24 projects a triangle 101 having the installation position R, the start position S, and the end position G as vertices on the xy plane which is the installation surface of the robot 16.
  • the triangular prism 102 having a predetermined height (for example, the highest reaching point of the hand of the robot 16) is specified with the triangular prism 102 as the bottom surface.
  • the evaluation unit 24 may further add a predetermined margin to the specified triangular prism 103.
  • A is added to the end of the code for the robot 16A
  • B is added to the end of the code for the robot 16B.
  • the robots 16A and 16B when the robots 16A and 16B are set on the same plane, the triangles 101 having the installation position R, the start position S, and the end position G as vertices overlap each other. It is also possible to evaluate the risk of interference only by the presence or absence of. However, the robot 16 can be suspended from the ceiling, hung on the wall, or the like. For example, as shown in FIG. 7, it is assumed that the robots 16A and 16B are not set on the same plane, such as when the robot 16A is installed on the wall surface and the robot 16B is installed on the floor surface. In such a case, even if there is no overlapping portion between the triangles 101 having the installation position R, the start position S, and the end position G as vertices, there may be a case where the triangular prisms 103 have overlapping portions.
  • the triangle 101 having the installation position R, the start position S, and the end position G as vertices evaluates only the trajectory of the hand portion when moving from the start position to the end position by the shortest distance. Become. Therefore, the risk of interference by links other than the minions has not been evaluated.
  • the polyhedron as described above here, the triangular prism 103
  • the evaluation unit 24 evaluates whether or not the triangles 101 having the installation position R, the start position S, and the end position G as vertices overlap each other, and if there is an overlap portion, the interference occurs. It is evaluated as having a high risk (hereinafter, also referred to as “high risk”). Further, the evaluation unit 24 evaluates whether or not the triangular prisms 103 specified for each robot 16 overlap each other when there is no overlapping portion in the triangle 101, and evaluates as high risk when the overlapping portion exists. However, if there is no overlapping part, the risk of interference is evaluated as low (hereinafter, also referred to as “low risk”). The evaluation unit 24 passes the evaluation result to the generation unit 26.
  • the generation unit 26 generates an avoidance trajectory that avoids interference when the evaluation unit 24 evaluates that there is a risk of interference between the robots 16.
  • the generation unit 26 generates an avoidance trajectory so as to avoid overlapping portions of the triangular prisms 103 for each robot 16 specified by the evaluation unit 24.
  • the generation unit 26 may generate an avoidance trajectory so as to avoid the overlapping portion of the triangles 101.
  • the generation unit 26 acquires trajectory information indicating the movement of each robot 16 from the start posture to the end posture, and specification information including kinematics information and shape information of each robot 16.
  • the trajectory information acquired here corresponds to the start position and the end position acquired by the acquisition unit 22, and may be generated by motion planning or by teaching by the user. It may be.
  • the generation unit 26 avoids the overlapping portion between the triangular prisms 103 from the start posture, and generates a trajectory from the start posture to the end posture as an avoidance trajectory.
  • the generation unit 26 exits from the first intermediate posture immediately before the interference, that is, immediately before entering the overlapping portion between the triangular prisms 103, and immediately after the interference, that is, the overlapping portion between the triangular prisms 103 in the original trajectory indicated by the acquired trajectory information. Identify the second intermediate posture immediately after. Then, the generation unit 26 generates a partial trajectory that avoids the overlapping portion between the triangular prisms 103, and the original trajectory from the start posture to the first intermediate posture, the generated partial trajectory, and the second intermediate posture.
  • the avoidance trajectory may be generated by combining with the original trajectory from to the end posture.
  • the generation unit 26 selects the former generation method when the volume of the overlapping portion of the triangular prisms 103 is equal to or more than a predetermined threshold value, and selects the latter generation method when the volume is less than the threshold value to generate an avoidance trajectory. You may.
  • the generation unit 26 outputs trajectory information indicating the generated avoidance trajectory to the robot control device 12. Further, when the evaluation unit 24 evaluates the low risk, the generation unit 26 outputs the acquired trajectory information to the robot control device 12 as it is.
  • the robot control device 12 controls the operations of the robots 16A and 16B.
  • FIG. 8 is a flowchart showing the flow of the interference evaluation process executed by the CPU 32 of the interference evaluation device 10.
  • the CPU 32 reads the interference evaluation program from the storage device 36, expands it into the memory 34, and executes it, the CPU 32 functions as each functional configuration of the interference evaluation device 10, and the interference evaluation process shown in FIG. 8 is executed.
  • step S10 the acquisition unit 22 acquires the respective installation positions R, start position S, and end position G of the robots 16A and 16B that have been input to the interference evaluation device 10 by the user.
  • the acquisition unit 22 passes the acquired information on the installation position R, the start position S, and the end position G to the evaluation unit 24.
  • step S20 the evaluation process is executed.
  • the evaluation process will be described with reference to FIG.
  • step S22 the evaluation unit 24 identifies a triangle 101 having an installation position R, a start position S, and an end position G as vertices for each robot 16.
  • step S24 the evaluation unit 24 determines whether or not there is an overlapping portion between the triangles 101 specified for each robot 16. If there is an overlapping portion, the process proceeds to step S32, and if there is no overlapping portion, the process proceeds to step S26.
  • step S26 the evaluation unit 24 projects the triangle 101 identified in step S22 on the xy plane, which is the installation surface of the robot 16, with the triangle 102 as the bottom surface, and the triangular prism 103 having a predetermined height. To identify.
  • step S28 the evaluation unit 24 determines whether or not there is an overlapping portion between the triangular prisms 103 specified for each robot 16. If there is an overlapping portion, the process proceeds to step S32, and if there is no overlapping portion, the process proceeds to step S30.
  • step S30 the evaluation unit 24 passes the evaluation result of "low risk” to the generation unit 26.
  • step S32 the evaluation unit 24 passes the evaluation result of "high risk” to the generation unit 26. Then, the process returns to the interference evaluation process (FIG. 8).
  • step S40 of the interference evaluation process shown in FIG. 8 the generation unit 26 determines whether or not the evaluation result delivered from the evaluation unit 24 is “high risk”. In the case of high risk, the process proceeds to step S50, and in the case of low risk, the process proceeds to step S70.
  • step S50 the generation unit 26 acquires the trajectory information and specification information of each robot 16.
  • step S60 the generation unit 26 generates an avoidance trajectory so as to avoid the risk of interference.
  • step S70 when the generation unit 26 generates an avoidance trajectory, that is, in the case of high risk, the orbit information indicating the avoidance trajectory is output to the robot control device 12. Further, when the avoidance trajectory is not generated, that is, when the risk is low, the generation unit 26 outputs the acquired trajectory information to the robot control device 12 as it is. Then, the interference evaluation process ends.
  • the interference evaluation device interferes with each other based on the overlap of polyhedra (triangular prisms) based on the installation position, start position, and end position of each robot. Assess risk. As a result, it is not necessary to operate the actual machine or perform a simulation, and the calculation cost for evaluating the interference between the robots can be reduced.
  • the robot control system 200 includes an interference evaluation device 210, a robot control device 12, and robots 16A and 16B.
  • FIG. 10 is a block diagram showing an example of the functional configuration of the interference evaluation device 210.
  • the interference evaluation device 210 includes an acquisition unit 222, an evaluation unit 224, and a generation unit 26 as a functional configuration.
  • the acquisition unit 222 acquires the trajectory information and the specification information for each robot 16, and calculates the installation position R, the start position S, and the end position G of each robot 16 based on the trajectory information and the specification information.
  • the triangular prism 103 based on the installation position R, the start position S, and the end position G of each robot 16 is a polyhedron considering the trajectory of the shortest distance from the start position to the end position. There is. Therefore, in the second embodiment, the risk of interference is evaluated in more detail and accurately by using a polyhedron that also considers the waypoints on the orbit from the start position to the end position. Therefore, as shown in FIG. 12, the acquisition unit 222 also calculates the position M of one or more waypoints between the start position S and the end position G.
  • the acquisition unit 222 calculates the spatial position of a predetermined point that is the starting point of movement of the robot 16 such as the center of rotation as the installation position R based on the acquired specification information. Further, the acquisition unit 222 determines the hand of the robot 16 in each posture based on the start posture, the posture of the waypoint, and the end posture included in the trajectory information of each robot 16 and the kinematics information included in the specification information.
  • the spatial position of is calculated as a start position S, a waypoint position M, and an end position G.
  • the acquisition unit 222 passes the calculated information on the installation position R, the start position S, the waypoint position M, and the end position G for each robot 16 to the evaluation unit 224.
  • the evaluation unit 224 sets the installation position R, the start position S, the waypoint position M, and the end position G for each robot 16 as shown in FIG.
  • a polyhedron 203 having a predetermined height (for example, the highest reaching point of the hand of the robot 16) is specified by using the polygon 202 as the apex projected onto the xy plane which is the installation surface of the robot 16 as the bottom surface. ..
  • the code for the robot 16A is given an A at the end
  • the code for the robot 16B is given a B at the end.
  • the polyhedron 203 considering the waypoints is used even if the risk is evaluated as low. If there is, there is overlap between the polyhedra 203 between the robots 16A and 16B, and it is evaluated as a high risk.
  • the evaluation unit 224 evaluates the risk of interference based on the presence or absence of overlap between the polyhedra 203, as in the evaluation unit 24 of the first embodiment.
  • the hardware configuration of the interference evaluation device 210 is the same as the hardware configuration of the interference evaluation device 10 according to the first embodiment shown in FIG. 2, the description thereof will be omitted.
  • FIG. 13 is a flowchart showing the flow of the interference evaluation process executed by the CPU 32 of the interference evaluation device 210.
  • the CPU 32 reads the interference evaluation program from the storage device 36, expands it into the memory 34, and executes it, the CPU 32 functions as each functional configuration of the interference evaluation device 210, and the interference evaluation process shown in FIG. 13 is executed.
  • the same step number is assigned to the same process as the interference evaluation process (FIG. 8) in the first embodiment, and detailed description thereof will be omitted.
  • each of the acquisition unit 222 and the generation unit 26 acquires trajectory information and specification information for each robot 16.
  • the acquisition unit 222 calculates the installation position R, the start position S, the waypoint position M, and the end position G of each robot 16 based on the acquired trajectory information and specification information.
  • step S220 the evaluation process is executed.
  • the triangle 101 in steps S22 and S24 may be read as a polygon 201
  • the triangular prism 103 in steps S26 and S28 may be read as a polyhedron 203.
  • steps S40, S60, and S70 are executed, and the interference evaluation process ends.
  • the interference evaluation device is based on the overlap of polyhedra based on the installation position, start position, waypoint position, and end position of each robot. Evaluate the interference of. As a result, it is not necessary to operate the actual machine or perform a simulation, and the calculation cost for evaluating the interference between the robots can be reduced. Furthermore, the risk of interference can be evaluated in more detail and more accurately than when a triangular prism is used as in the first embodiment.
  • the acquisition unit calculates each position based on the trajectory information and the specification information has been described, but the present invention is not limited to this.
  • the information of each position input by the user may be acquired.
  • the robot control system 300 includes an interference evaluation device 310, a robot control device 12, and robots 16A and 16B.
  • FIG. 14 is a block diagram showing an example of the functional configuration of the interference evaluation device 310.
  • the interference evaluation device 310 includes an acquisition unit 22, an evaluation unit 324, and a generation unit 326 as a functional configuration.
  • the evaluation unit 324 specifies the triangular prism 103 based on the installation position R, the start position S, and the end position G for each robot 16, and based on the overlap between the triangular prisms 103. , Assess the risk of interference.
  • the evaluation unit 324 calculates the risk evaluation value based on the position and volume of the overlapping portions of the triangular prisms 103. For example, the evaluation unit 324 evaluates the risk so that the risk is high because it is difficult to generate an avoidance trajectory when the overlapping portion of the triangular prisms 103 is close to the start position or the end position of any robot 16. Calculate the value. Further, the evaluation unit 324 calculates the risk evaluation value so that the larger the volume of the overlapping portion between the triangular prisms 103, the higher the risk. The evaluation unit 324 passes the calculated risk evaluation value to the generation unit 326.
  • the generation unit 326 generates an avoidance trajectory when the risk evaluation value delivered from the evaluation unit 324 is equal to or greater than a predetermined threshold value. Further, when generating the avoidance trajectory, the generation unit 326 acquires the surrounding environment information including the information of the surrounding obstacles and other objects on which the robots 16A and 16B operate, in addition to the trajectory information and the specification information. Then, the generation unit 326 generates an avoidance trajectory that avoids surrounding objects in addition to the overlapping portion between the triangular prisms 103. The method of generating the avoidance trajectory is the same as that of the first embodiment.
  • the hardware configuration of the interference evaluation device 310 is the same as the hardware configuration of the interference evaluation device 10 according to the first embodiment shown in FIG. 2, the description thereof will be omitted.
  • FIG. 15 is a flowchart showing the flow of the interference evaluation process executed by the CPU 32 of the interference evaluation device 310.
  • the CPU 32 reads the interference evaluation program from the storage device 36, expands it into the memory 34, and executes it, the CPU 32 functions as each functional configuration of the interference evaluation device 310, and the interference evaluation process shown in FIG. 15 is executed.
  • the same step number is assigned to the same process as the interference evaluation process (FIG. 8) in the first embodiment, and detailed description thereof will be omitted.
  • the evaluation unit 324 calculates a risk evaluation value based on the position and volume of the overlapping portions of the triangular prisms 103. .. Then, the evaluation unit 324 passes the calculated risk evaluation value to the generation unit 326.
  • step S342 the generation unit 326 determines whether or not the risk evaluation value delivered from the evaluation unit 324 is equal to or greater than a predetermined threshold value. If it is above the threshold, that is, at high risk, the process proceeds to step S50, and if it is below the threshold, that is, at low risk, the process proceeds to step S70.
  • the interference evaluation device evaluates the interference between the robots based on the overlap of the triangular prisms based on the installation position, the start position, and the end position of each robot. , Calculate the risk assessment value. Then, when the risk evaluation value is equal to or higher than the threshold value, an avoidance trajectory is generated. As a result, it is not necessary to operate the actual machine or perform a simulation, and the calculation cost for evaluating the interference between the robots can be reduced. Further, since it is possible to flexibly determine whether or not to generate an avoidance trajectory according to the degree of risk, it is possible to suppress the generation of an unnecessary avoidance trajectory.
  • the avoidance trajectory when the avoidance trajectory is generated, not only the overlapping part between the triangular prisms but also objects such as obstacles based on the surrounding environment information are generated so as to avoid them, so that the avoidance trajectory that does not interfere with the surrounding objects is generated. be able to.
  • the acquisition unit may calculate each position based on the trajectory information and the specification information.
  • the robot control system 400 includes an interference evaluation device 410, a robot control device 12, and robots 16A and 16B. Further, track information and specification information output from the work management unit 18 (see FIG. 16) are input to the interference evaluation device 410.
  • the work management unit 18 performs task planning for executing work including a plurality of operations.
  • the task planning is performed by determining the optimum combination of the orbit information representing each of the plurality of movements included in the work and the arrangement of the robot 16. Since the work management unit 18 uses the evaluation result by the interference evaluation device 410 for this determination, the work management unit 18 inputs the specification information including the trajectory information and the arrangement information of the robot 16 to the interference evaluation device 410 for each operation.
  • FIG. 16 is a block diagram showing an example of the functional configuration of the interference evaluation device 410.
  • the interference evaluation device 410 includes an acquisition unit 422, an evaluation unit 424, and a generation unit 26 as functional configurations.
  • the acquisition unit 422 acquires the trajectory information and the specification information input from the work management unit 18, and based on the acquired trajectory information and the specification information, the installation position R, the start position S, and the end position G for each robot 16. To calculate.
  • the evaluation unit 424 has track information and specification information for each operation acquired by the acquisition unit 422 for each of the plurality of operations included in the work that is the target of task planning, as in the evaluation unit 24 of the first embodiment.
  • the triangular prism 103 based on the installation position R, the start position S, and the end position G for each robot 16 is specified based on the above. Then, the evaluation unit 424 evaluates whether the risk is high or low due to the overlap of the triangular prisms 103.
  • the evaluation unit 424 calculates the risk evaluation value of the entire work based on the evaluation results for each of the plurality of operations. For example, the evaluation unit 424 can use the ratio of the movements evaluated as having a high risk, that is, the interference risk, among the movements included in the work as the evaluation result of the entire work. The evaluation unit 424 derives the evaluation result of the entire work for all the combinations assumed as the combination of the operations constituting the work, and outputs the evaluation result to the work management unit 18.
  • the work management unit 18 determines the optimum combination of operations, for example, the combination that minimizes the ratio of high-risk operations.
  • the work management unit 18 inputs the trajectory information and the specification information to the interference evaluation device 410 for each operation included in the determined combination.
  • the evaluation unit 424 evaluates the risk of interference as in the first embodiment.
  • the hardware configuration of the interference evaluation device 410 is the same as the hardware configuration of the interference evaluation device 10 according to the first embodiment shown in FIG. 2, the description thereof will be omitted.
  • FIG. 17 is a flowchart showing the flow of the interference evaluation process executed by the CPU 32 of the interference evaluation device 410.
  • the CPU 32 reads the interference evaluation program from the storage device 36, expands it into the memory 34, and executes it, the CPU 32 functions as each functional configuration of the interference evaluation device 410, and the interference evaluation process shown in FIG. 17 is executed.
  • the same step numbers are assigned to the same processes as the interference evaluation process (FIG. 8) in the first embodiment and the interference evaluation process (FIG. 13) in the second embodiment. Therefore, detailed description thereof will be omitted.
  • step S210 the acquisition unit 422 acquires the trajectory information and the specification information input from the work management unit 18.
  • step S412 the acquisition unit 422 calculates the installation position R, the start position S, and the end position G for each robot 16 based on the acquired trajectory information and specification information.
  • step S22 and S26 the evaluation unit 424 identifies the triangular prism 103 for each robot 16.
  • step S440 the evaluation unit 424 evaluates whether each of the plurality of operations included in the work to be the target of task planning is high risk or low risk due to the overlap of the triangular prisms 103.
  • step S442 the evaluation unit 424 sets the ratio of the operations evaluated as having a high risk, that is, the interference risk, among the operations included in the work, as the evaluation result of the entire work.
  • step S444 the evaluation unit 424 outputs the evaluation result of the entire work derived in step S442 to the work management unit 18 for all the combinations assumed as the combinations of the operations constituting the work.
  • the work management unit 18 determines the optimum combination of operations, and inputs the trajectory information and the specification information to the interference evaluation device 410 for each operation included in the determined combination.
  • the trajectory generation process is executed in the next step S80.
  • the trajectory generation process is the same as the interference evaluation process (FIG. 8) in the first embodiment.
  • the interference evaluation device evaluates the risk of interference for each combination of movements for the work including a plurality of movements, which is more optimal for the work management unit.
  • the combination of actions is determined. As a result, it is not necessary to operate the actual machine or perform a simulation, and it is possible to perform task planning in which interference between robots is suppressed.
  • the present invention is not limited to this.
  • the risk evaluation value is calculated for each operation, and the risk evaluation values calculated for the operations included in the combination are added up for each combination, and the integrated values are combined for the entire work. It may be calculated as a risk evaluation value of.
  • the work management unit can determine the combination having the lowest risk evaluation value as the optimum combination.
  • the interference evaluation process (FIG. 13) in the second embodiment or the interference evaluation process (FIG. 15) in the third embodiment may be executed. ..
  • the robot control system 500 includes an interference evaluation device 510, a robot control device 12, and robots 16A and 16B.
  • FIG. 18 is a block diagram showing an example of the functional configuration of the interference evaluation device 510.
  • the interference evaluation device 510 includes an acquisition unit 22, an evaluation unit 324, and a generation unit 526 as functional configurations.
  • the generation unit 526 acquires the start posture, the end posture, the specification information, and the surrounding environment information.
  • the generation unit 526 When the risk evaluation value passed from the evaluation unit 324 is equal to or higher than the first threshold value, the generation unit 526 generates an avoidance trajectory from the start posture to the end posture so as to avoid the risk of interference. Further, when the risk evaluation value is less than the first threshold value, the generation unit 526 simply generates a trajectory connecting the start posture and the end posture. Further, when the risk evaluation value is greater than the first threshold value and equal to or greater than the second threshold value, the generation unit 526 issues a message prompting the user to input another start position and end position without generating a trajectory. It may be output to.
  • the second threshold value is set so that it can be determined that the risk of interference is extremely large.
  • the hardware configuration of the interference evaluation device 510 is the same as the hardware configuration of the interference evaluation device 10 according to the first embodiment shown in FIG. 2, the description thereof will be omitted.
  • FIG. 19 is a flowchart showing the flow of the interference evaluation process executed by the CPU 32 of the interference evaluation device 510.
  • the CPU 32 reads the interference evaluation program from the storage device 36, expands it into the memory 34, and executes it, the CPU 32 functions as each functional configuration of the interference evaluation device 510, and the interference evaluation process shown in FIG. 19 is executed.
  • the same step number is assigned to the same process as the interference evaluation process (FIG. 8) in the first embodiment, and detailed description thereof will be omitted.
  • step S90 the risk evaluation value calculation process is executed.
  • the risk evaluation value calculation process is the same as steps S10 to S340 of the interference evaluation process (FIG. 15) in the third embodiment.
  • step S542 the generation unit 526 determines whether or not the risk evaluation value delivered from the evaluation unit 324 is equal to or higher than a predetermined second threshold value, that is, whether or not the risk of interference is extremely large. If it is equal to or higher than the second threshold value, the process proceeds to step S544, and if it is less than the second threshold value, the process proceeds to step S550.
  • step S544 the generation unit 526 outputs a message prompting the user to input another start position and end position to the output device 40, and the interference evaluation process ends.
  • step S550 the generation unit 526 acquires the start posture, the end posture, the specification information, and the surrounding environment information. Then, in the next step S552, the generation unit 526 generates a trajectory that simply connects the start posture and the end posture.
  • step S554 the generation unit 526 determines whether or not the risk evaluation value delivered from the evaluation unit 324 is equal to or higher than the predetermined first threshold value. If it is equal to or higher than the first threshold value, that is, if the risk is high, the process proceeds to step S60, and if it is less than the first threshold value, the process proceeds to step S70.
  • step S560 the generation unit 526 generates an avoidance trajectory in which a trajectory for avoiding interference is added to the trajectory generated in step S552.
  • step S554 may be performed after the above step S550, and the trajectory may be generated according to the determination result. That is, when the risk evaluation value is equal to or higher than the first threshold value, a trajectory from the start posture to the end posture is generated so as to avoid the risk of interference, and when the risk evaluation value is less than the first threshold value, the above A simple trajectory such as step S552 may be generated.
  • the interference evaluation device is a triangular prism based on the installation position, start position, and end position of each robot at the stage where the trajectory information of each robot is not generated. Evaluate the interference between robots based on the duplication of. Then, after the risk is evaluated, a trajectory from the start posture to the end posture is generated, and if there is a risk of interference, an avoidance trajectory is generated. As a result, when there is a risk of interference, it is not necessary to generate an unnecessary orbit, and the processing cost can be reduced.
  • the interference evaluation device and the robot control device are separate devices, but the interference evaluation device may be incorporated in the robot control device. Further, each functional configuration of the interference evaluation device may be realized by different devices, and the above interference evaluation process may be realized by distributed processing.
  • various processors other than the CPU may execute the interference evaluation process executed by the CPU reading the software (program) in each of the above embodiments.
  • the processors include PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing FPGA (Field-Programmable Gate Array), and ASIC (Application Specific Integrated Circuit) for executing ASIC (Application Special Applied Circuit).
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • the interference evaluation process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs and a combination of a CPU and an FPGA). Etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the mode in which the interference evaluation program is stored (installed) in the storage device in advance has been described, but the present invention is not limited to this.
  • the program may be provided in a form stored in a storage medium such as a CD-ROM, a DVD-ROM, a Blu-ray disc, or a USB memory. Further, the program may be downloaded from an external device via a network.
  • Robot control device 10
  • Robot 18 Work management unit 22, 222, 422 Acquisition unit 24, 224, 324, 424 Evaluation unit 26, 326, 526 Generation unit 32
  • CPU 34 Memory 36
  • Storage device 38 Input device 40
  • Output device 42 Storage medium reader 44
  • Communication I / F 46 Bus 100, 200, 300, 400, 500 Robot control system

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

取得部(22)が、複数のロボットの各々の可動範囲の起点となる設置位置と、複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における所定部位の位置である終了位置とを取得し、評価部(24)が、複数のロボットの各々について、設置位置と、開始位置と、終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、複数のロボット間の干渉リスクを評価することで、複数のロボットの動作生成を行う際に、ロボット同士の干渉の評価にかかる計算コストを低減する。

Description

干渉評価装置、方法、及びプログラム
 開示の技術は、干渉評価装置、干渉評価方法、及び干渉評価プログラムに関する。
 複数のロボットの動作生成を行う際、従来技術では、ロボット同士の干渉を避けるために、ロボット実機を動かした上でセンサによりロボット同士の接近を検出したり、ロボット同士が干渉するかどうかシミュレーションを行って判定したりしている。
 例えば、ワークとロボットからなる複数の可動物体間の干渉をチェックして、干渉が発生する動作プログラムを自動で修正する装置が提案されている。この装置は、複数の可動物体の形状データ及び動作プログラムを取得し、形状データに基づいて、複数の可動物体モデルを作成し、動作プログラムと可動物体モデルに基づいて、複数の可動物体モデルの動作をシミュレーションする。そして、この装置は、シミュレーション結果に基づいて、複数の可動物体モデル間の干渉の有無を判定する(特許文献1:特開2012-181574号公報)。
 しかしながら、ロボット実機の近接を検出する場合には、回避軌道の始点が、ロボット同士が近接した状態になるため、軌道の生成が不可能、又は冗長な軌道になる場合があるという問題がある。また、特許文献1に記載の装置のように、シミュレーションを行う場合には、回避軌道を生成する必要があるか否かを判定するまでに、時間及び計算コストがかかるという問題がある。
 開示の技術は、上記の点に鑑みてなされたものであり、複数のロボットの動作生成を行う際に、ロボット同士の干渉リスクの評価にかかる計算コストを低減することを目的とする。
 上記目的を達成するために、開示の技術に係る干渉評価装置は、複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得する取得部と、前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する評価部と、を含んで構成される。
 また、前記評価部は、前記多角形を前記ロボットの設置面である平面に投影した多角形を底面とし、前記平面の法線方向に所定の高さを持つ前記多面体を特定することができる。
 また、前記評価部は、前記軌道情報に含まれる、前記開始位置及び前記終了位置以外の経由点の位置を頂点として更に含む前記多角形に基づいて、前記多面体を特定することができる。
 また、前記取得部は、前記複数のロボットの各々の動作の軌道を示す軌道情報に含まれる開始姿勢に対応する前記開始位置、及び終了姿勢に対応する前記終了位置を取得することができる。
 また、前記取得部は、前記複数のロボットの各々について、前記開始姿勢及び前記終了姿勢の情報を含む動作の軌道を示す軌道情報と、キネマティクス情報及び形状情報を含む仕様情報とを取得し、前記軌道情報及び前記仕様情報に基づいて、前記複数のロボットの各々の前記設置位置、前記開始位置、及び前記終了位置を計算することができる。
 また、前記評価部は、前記軌道情報に含まれる、前記開始位置及び前記終了位置以外の経由点の位置を頂点として更に含む前記多角形に基づいて、前記多面体を特定することができる。
 また、前記取得部は、複数の動作を含む作業について、動作毎に、前記軌道情報及び前記仕様情報を取得し、前記評価部は、前記作業を構成する複数の動作の組合せ毎に、前記ロボット間の干渉リスクを評価することで、前記作業全体のリスクを評価することができる。
 また、前記評価部は、前記作業に含まれる複数の動作のうち、前記ロボット間で干渉リスクがある動作の割合が高いほど、前記作業全体のリスクが高いと評価することができる。
 また、干渉評価装置は、前記開始姿勢から前記終了姿勢までの軌道を生成する生成部を更に含んで構成することができる。
 また、前記生成部は、前記評価部により、前記ロボット間で干渉リスクがあると評価された場合に、干渉を回避するような回避軌道を生成することができる。
 また、前記生成部は、前記複数のロボットが動作する周辺の物体の情報を含む周辺環境情報を取得し、前記多面体同士の重複部分、及び前記複数のロボット周辺の物体を回避する前記回避軌道を生成することができる。
 また、前記生成部は、前記評価部により評価された干渉リスクが閾値以上の場合に、前記回避軌道を生成することができる。
 また、開示の技術に係る干渉評価方法は、取得部が、複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得し、評価部が、前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する方法である。
 また、開示の技術に係る干渉評価プログラムは、コンピュータを、複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得する取得部、及び、前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する評価部として機能させるためのプログラムである。
 開示の技術に係る干渉評価装置、方法、及びプログラムによれば、複数のロボットの動作生成を行う際に、ロボット同士の干渉の評価にかかる計算コストを低減することができる。
第1~第5実施形態に係るロボット制御システムの概略構成を示す図である。 第1~第5実施形態に係る干渉評価装置のハードウェア構成を示すブロック図である。 第1実施形態に係る干渉評価装置の機能構成の例を示すブロック図である。 開始位置及び終了位置を説明するための図である。 設置位置と、開始位置と、終了位置とに基づく三角柱を説明するための図である。 三角柱同士の重複を用いた干渉のリスクの評価について説明するための図である。 三角柱同士の重複を用いた干渉のリスクの評価について説明するための図である。 第1実施形態における干渉評価処理の一例を示すフローチャートである。 評価処理の一例を示すフローチャートである。 第2実施形態に係る干渉評価装置の機能構成の例を示すブロック図である。 設置位置と、開始位置と、終了位置と、経由点とに基づく多面体と三角柱の比較を説明するための図である。 設置位置と、開始位置と、終了位置と、経由点とに基づく多面体を説明するための図である。 第2実施形態における干渉評価処理の一例を示すフローチャートである。 第3実施形態に係る干渉評価装置の機能構成の例を示すブロック図である。 第3実施形態における干渉評価処理の一例を示すフローチャートである。 第4実施形態に係る干渉評価装置の機能構成の例を示すブロック図である。 第4実施形態における干渉評価処理の一例を示すフローチャートである。 第5実施形態に係る干渉評価装置の機能構成の例を示すブロック図である。 第5実施形態における干渉評価処理の一例を示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法及び比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<第1実施形態>
 図1に示すように、第1実施形態に係るロボット制御システム100は、干渉評価装置10と、ロボット制御装置12と、ロボット16A、16Bとを含んで構成される。なお、図1の例では、ロボット制御システム100に2台のロボット16A、16Bが含まれる場合を示しているが、3台以上のロボットを含んでもよい。また、以下では、ロボット16A、16Bを区別なく説明する場合には、単に「ロボット16」と表記する。
 ロボット16は、例えば、3次元空間における動作に必要な6自由度の構成を備えた垂直多関節型のロボットである。なお、ロボット16の自由度は、6自由度に冗長自由度を加えた7自由度としてもよい。ロボット16は、干渉評価装置10から出力される軌道情報に従って、ロボット制御装置12により制御されて動作する。
 ロボット制御装置12は、干渉評価装置10から出力される軌道情報に従って、ロボット16の動作を制御する。
 干渉評価装置10は、ロボット16A、16Bの各々を軌道情報に従って動作させた際の、ロボット16Aとロボット16Bとの干渉のリスクを評価する。また、干渉評価装置10は、干渉のリスクが高い場合に、干渉を回避する回避軌道を示す軌道情報を生成して、ロボット制御装置12へ出力する。
 本実施形態では、軌道情報とは、ロボット16の手先(ロボットハンドなどのツールが取り付けられる側)の所定位置を、任意の始点から終点まで動作させるときのロボット16の各時刻における姿勢と、姿勢を変化させる速度及び加速度とを時系列に並べたものである。ロボット16の姿勢は、ロボット16の手先の所定位置がある位置(x,y,z)及び姿勢(roll,pitch,yaw)にあると想定した場合の、ロボット16の第1関節(ジョイントJ1)から第N関節(ジョイントJN、Nはロボットの関節数)までの各関節の値(回転角度)の系列(θJ1,θJ2,・・・,θJN)で表される。
 図2は、本実施形態に係る干渉評価装置10のハードウェア構成を示すブロック図である。図2に示すように、干渉評価装置10は、CPU(Central Processing Unit)32、メモリ34、記憶装置36、入力装置38、出力装置40、記憶媒体読取装置42、及び通信I/F(Interface)44を有する。各構成は、バス46を介して相互に通信可能に接続されている。
 記憶装置36には、干渉評価処理を実行するための干渉評価プログラムが格納されている。CPU32は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU32は、記憶装置36からプログラムを読み出し、メモリ34を作業領域としてプログラムを実行する。CPU32は、記憶装置36に記憶されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 メモリ34は、RAM(Random Access Memory)により構成され、作業領域として一時的にプログラム及びデータを記憶する。記憶装置36は、ROM(Read Only Memory)、及びHDD(Hard Disk Drive)、SSD(Solid State Drive)等により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力装置38は、例えば、キーボードやマウス等の、各種の入力を行うための装置である。出力装置40は、例えば、ディスプレイやプリンタ等の、各種の情報を出力するための装置である。出力装置40として、タッチパネルディスプレイを採用することにより、入力装置38として機能させてもよい。記憶媒体読取装置42は、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、ブルーレイディスク、USB(Universal Serial Bus)メモリ等の各種記憶媒体に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
 通信I/F44は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI、Wi-Fi(登録商標)等の規格が用いられる。
 次に、第1実施形態に係る干渉評価装置10の機能構成について説明する。
 図3は、干渉評価装置10の機能構成の例を示すブロック図である。図3に示すように、干渉評価装置10は、機能構成として、取得部22と、評価部24と、生成部26とを含む。各機能構成は、CPU32が記憶装置36に記憶された干渉評価プログラムを読み出し、メモリ34に展開して実行することにより実現される。
 取得部22は、ロボット16A、16Bの各々の設置位置と、ロボット16A、16Bの各々の所定部位(本実施形態では、ロボット16の手先)の開始位置及び終了位置とを取得する。設置位置、開始位置、及び終了位置の情報は、ユーザにより、干渉評価装置10へ入力される。
 開始位置は、ロボット16A、16Bの各々が実行する動作の開始姿勢時における所定部位の位置であり、終了位置は、終了姿勢時における所定部位の位置である。図4に、開始位置S及び終了位置Gの一例を示す。
 また、設置位置は、ロボット16の可動範囲の起点となる位置である。例えば、ロボット16の設置面をxy平面、xy平面の法線方向をz軸とすると、図4に示すように、x座標及びy座標を、ロボット16のベースリンクBLの回転中心とし、z座標を、リンクL1とリンクL2との接続機構である第2関節(ジョイントJ2)の中心位置として、設置位置Rを定めることができる。なお、設置位置はこの例に限らず、ロボット16の構成、可動範囲等を考慮して定めればよい。
 取得部22は、取得した設置位置R、開始位置S、及び終了位置Gの情報を評価部24へ受け渡す。
 評価部24は、ロボット16A、16Bの各々について、設置位置Rと、開始位置Sと、終了位置Gとを含む多角形に基づいて特定される多面体間の重複に基づいて、ロボット16A、16Bの各々が動作を実行する際のロボット16A、16B間の干渉のリスクを評価する。
 具体的には、評価部24は、図5に示すように、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101を、ロボット16の設置面であるxy平面に投影した三角形102を底面とし、所定の高さ(例えば、ロボット16の手先の最高到達点)を持つ三角柱103を特定する。評価部24は、更に、特定した三角柱103に所定のマージンを加えてもよい。なお、図5では、ロボット16Aについての符号には末尾にAを付与し、ロボット16Bについての符号には末尾にBを付与している。
 ここで、図6に示すように、ロボット16A、16Bが同一平面上に設定されている場合には、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101同士の重複の有無のみで、干渉のリスクを評価することも可能である。しかし、ロボット16は天吊り、壁掛けなどの設置も可能である。例えば、図7に示すように、ロボット16Aが壁面に設置され、ロボット16Bが床面に設置されている場合など、ロボット16A、16Bが同一平面上に設定されていない場合も想定される。このような場合、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101同士に重複部分が存在しない場合でも、三角柱103同士に重複部分が存在する場合もあり得る。
 また、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101は、開始位置から終了位置までを最短距離で動いた場合の手先部分の軌道についてのみ評価していることになる。そのため、手先以外のリンクが干渉するリスクを評価できていない。
 そこで、上述のような多面体(ここでは、三角柱103)を用いることにより、ロボット16のベースから手先までのリンクを考慮した、特に垂直多関節ロボット16に適したリスクの評価を行うことができる。
 上記を踏まえて、評価部24は、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101同士の重複の有無を評価し、重複部分が存在する場合には、干渉のリスクが高い(以下、「高リスク」ともいう)と評価する。また、評価部24は、三角形101に重複部分が存在しない場合には、各ロボット16について特定された三角柱103同士の重複の有無を評価し、重複部分が存在する場合には、高リスクと評価し、重複部分が存在しない場合は、干渉のリスクが低い(以下、「低リスク」ともいう)と評価する。評価部24は、評価結果を生成部26へ受け渡す。
 生成部26は、評価部24により、ロボット16間で干渉リスクがあると評価された場合に、干渉を回避する回避軌道を生成する。生成部26は、評価部24により特定された、各ロボット16についての三角柱103同士の重複部分を回避するように回避軌道を生成する。なお、各ロボットについての三角形101同士の重複により高リスクと評価された場合には、生成部26は、三角形101同士の重複部分を回避するように回避軌道を生成すればよい。
 具体的には、生成部26は、各ロボット16の開始姿勢から終了姿勢までの動作を示す軌道情報と、各ロボット16のキネマティクス情報及び形状情報を含む仕様情報とを取得する。ここで取得される軌道情報は、取得部22により取得される開始位置及び終了位置に対応したものであり、モーションプランニングにより生成されたものであってもよいし、ユーザによるティーチングにより生成されたものであってもよい。そして、生成部26は、開始姿勢から、三角柱103同士の重複部分を回避し、終了姿勢に至るまでの軌道を回避軌道として生成する。
 又は、生成部26は、取得した軌道情報が示す元の軌道において、干渉直前、すなわち三角柱103同士の重複部分に入る直前の第1中間姿勢と、干渉直後、すなわち三角柱103同士の重複部分から出た直後の第2中間姿勢とを特定する。そして、生成部26は、三角柱103同士の重複部分を回避する部分的な軌道を生成し、開始姿勢から第1中間姿勢までの元の軌道と、生成した部分的な軌道と、第2中間姿勢から終了姿勢までの元の軌道とを組み合わせて、回避軌道を生成してもよい。
 前者の回避軌道の場合、軌道全体が滑らかになる。後者の回避軌道の場合、元の軌道を利用するため、回避軌道生成のための処理コストを削減することができる。なお、生成部26は、三角柱103同士の重複部分の体積が所定の閾値以上の場合には前者の生成方法、閾値未満の場合には後者の生成方法を選択して回避軌道を生成するようにしてもよい。
 生成部26は、生成した回避軌道を示す軌道情報をロボット制御装置12へ出力する。また、生成部26は、評価部24により低リスクと評価されている場合には、取得した軌道情報をそのままロボット制御装置12へ出力する。
 これにより、ロボット制御装置12により、ロボット16A、16Bの動作が制御される。
 次に、第1実施形態に係るロボット制御システム100の作用について説明する。
 図8は、干渉評価装置10のCPU32により実行される干渉評価処理の流れを示すフローチャートである。CPU32が記憶装置36から干渉評価プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が干渉評価装置10の各機能構成として機能し、図8に示す干渉評価処理が実行される。
 ステップS10で、取得部22が、ユーザにより干渉評価装置10へ入力された、ロボット16A、16Bの各々の設置位置R、開始位置S、及び終了位置Gを取得する。取得部22は、取得した設置位置R、開始位置S、及び終了位置Gの情報を評価部24へ受け渡す。
 次に、ステップS20で、評価処理が実行される。ここで、図9を参照して、評価処理について説明する。
 ステップS22で、評価部24が、各ロボット16について、設置位置Rと、開始位置Sと、終了位置Gとを頂点とする三角形101を特定する。
 次に、ステップS24で、評価部24が、各ロボット16について特定した三角形101同士に重複部分が存在するか否かを判定する。重複部分が存在する場合には、処理はステップS32へ移行し、重複部分が存在しない場合には、処理はステップS26へ移行する。
 ステップS26では、評価部24が、各ロボット16について、上記ステップS22で特定した三角形101を、ロボット16の設置面であるxy平面に投影した三角形102を底面とし、所定の高さを持つ三角柱103を特定する。
 次に、ステップS28で、評価部24が、各ロボット16について特定した三角柱103同士に重複部分が存在するか否かを判定する。重複部分が存在する場合には、処理はステップS32へ移行し、重複部分が存在しない場合には、処理はステップS30へ移行する。
 ステップS30では、評価部24が、「低リスク」という評価結果を生成部26へ受け渡す。一方、ステップS32では、評価部24が、「高リスク」という評価結果を生成部26へ受け渡す。そして、処理は干渉評価処理(図8)にリターンする。
 次に、図8に示す干渉評価処理のステップS40で、生成部26が、評価部24から受け渡された評価結果が「高リスク」か否かを判定する。高リスクの場合には、処理はステップS50へ移行し、低リスクの場合には、処理はステップS70へ移行する。
 ステップS50では、生成部26が、各ロボット16の軌道情報及び仕様情報を取得する。次に、ステップS60で、生成部26が、干渉のリスクを回避するように回避軌道を生成する。
 次に、ステップS70で、生成部26が、回避軌道を生成した場合、すなわち高リスクの場合には、回避軌道を示す軌道情報をロボット制御装置12へ出力する。また、生成部26は、回避軌道を生成していない場合、すなわち低リスクの場合には、取得した軌道情報をそのままロボット制御装置12へ出力する。そして、干渉評価処理は終了する。
 以上説明したように、第1実施形態に係るロボット制御システムでは、干渉評価装置が、各ロボットの設置位置、開始位置、及び終了位置に基づく多面体(三角柱)の重複に基づいて、ロボット同士の干渉リスクを評価する。これにより、実機を動作させたり、シミュレーションを行ったりする必要がなく、ロボット同士の干渉の評価にかかる計算コストを低減することができる。
<第2実施形態>
 次に、第2実施形態について説明する。なお、第2実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム100と同様の構成については、同一符号を付して詳細な説明を省略する。
 図1に示すように、第2実施形態に係るロボット制御システム200は、干渉評価装置210と、ロボット制御装置12と、ロボット16A、16Bとを含んで構成される。
 図10は、干渉評価装置210の機能構成の例を示すブロック図である。図10に示すように、干渉評価装置210は、機能構成として、取得部222と、評価部224と、生成部26とを含む。
 取得部222は、各ロボット16について、軌道情報及び仕様情報を取得し、軌道情報及び仕様情報に基づいて、各ロボット16の設置位置R、開始位置S、及び終了位置Gを計算する。
 ここで、図11に示すように、各ロボット16の設置位置R、開始位置S、及び終了位置Gに基づく三角柱103は、開始位置から終了位置までの最短距離の軌道を考慮した多面体となっている。そこで、第2実施形態では、開始位置から終了位置までの軌道上の経由点も考慮した多面体を用いて、より詳細かつ正確に干渉のリスクの評価を行う。そのため、取得部222は、図12に示すように、開始位置S、及び終了位置Gとの間の1以上の経由点の位置Mも計算する。
 具体的には、取得部222は、取得した仕様情報に基づいて、回転中心等のロボット16の可動の起点となる予め定めた点の空間位置を設置位置Rとして計算する。また、取得部222は、各ロボット16の軌道情報に含まれる開始姿勢、経由点の姿勢、及び終了姿勢と、仕様情報に含まれるキネマティクス情報とに基づいて、各姿勢時におけるロボット16の手先の空間位置を開始位置S、経由点の位置M、及び終了位置Gとして計算する。
 取得部222は、計算した各ロボット16についての設置位置R、開始位置S、経由点の位置M、及び終了位置Gの情報を評価部224へ受け渡す。
 評価部224は、第1実施形態の三角柱103と同様に、図12に示すように、各ロボット16について、設置位置Rと、開始位置Sと、経由点の位置Mと、終了位置Gとを頂点とする多角形201を、ロボット16の設置面であるxy平面に投影した多角形202を底面とし、所定の高さ(例えば、ロボット16の手先の最高到達点)を持つ多面体203を特定する。なお、図12では、ロボット16Aについての符号には末尾にAを付与し、ロボット16Bについての符号には末尾にBを付与している。
 図11に示すように、三角柱103同士の重複の有無で干渉のリスクを評価した場合には、低リスクと評価される場合でも、図12に示すように、経由点も考慮した多面体203を用いた場合には、ロボット16A、16B間で多面体203同士の重複が存在しており、高リスクと評価される。
 評価部224は、第1実施形態の評価部24と同様に、多面体203同士の重複の有無により、干渉のリスクを評価する。
 干渉評価装置210のハードウェア構成は、図2に示す、第1実施形態に係る干渉評価装置10のハードウェア構成と同様であるため、説明を省略する。
 次に、第2実施形態に係るロボット制御システム200の作用について説明する。
 図13は、干渉評価装置210のCPU32により実行される干渉評価処理の流れを示すフローチャートである。CPU32が記憶装置36から干渉評価プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が干渉評価装置210の各機能構成として機能し、図13に示す干渉評価処理が実行される。なお、図13に示す干渉評価処理において、第1実施形態における干渉評価処理(図8)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS210で、取得部222及び生成部26の各々が、各ロボット16について、軌道情報及び仕様情報を取得する。次に、ステップS212で、取得部222が、取得した軌道情報及び仕様情報に基づいて、各ロボット16の設置位置R、開始位置S、経由点の位置M、及び終了位置Gを計算する。
 次に、ステップS220で、評価処理が実行される。評価処理は、第1実施形態における評価処理(図9)において、ステップS22及びS24の三角形101を多角形201と読み替え、ステップS26及びS28の三角柱103を多面体203と読み替えればよい。
 以下、ステップS40、S60、及びS70の処理が実行されて、干渉評価処理は終了する。
 以上説明したように、第2実施形態に係るロボット制御システムでは、干渉評価装置が、各ロボットの設置位置、開始位置、経由点の位置、及び終了位置に基づく多面体の重複に基づいて、ロボット同士の干渉を評価する。これにより、実機を動作させたり、シミュレーションを行ったりする必要がなく、ロボット同士の干渉の評価にかかる計算コストを低減することができる。更に、第1実施形態のように三角柱を用いる場合より、詳細かつ正確に干渉のリスクを評価することができる。
 なお、第2実施形態では、取得部が、軌道情報及び仕様情報に基づいて各位置を計算する場合について説明したが、これに限定されない。第1実施形態のように、ユーザにより入力された各位置の情報を取得するようにしてもよい。
<第3実施形態>
 次に、第3実施形態について説明する。なお、第3実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム100と同様の構成については、同一符号を付して詳細な説明を省略する。
 図1に示すように、第3実施形態に係るロボット制御システム300は、干渉評価装置310と、ロボット制御装置12と、ロボット16A、16Bとを含んで構成される。
 図14は、干渉評価装置310の機能構成の例を示すブロック図である。図14に示すように、干渉評価装置310は、機能構成として、取得部22と、評価部324と、生成部326とを含む。
 評価部324は、第1実施形態における評価部24と同様に、各ロボット16について、設置位置R、開始位置S、及び終了位置Gに基づく三角柱103を特定し、三角柱103同士の重複に基づいて、干渉のリスクを評価する。
 第2実施形態では、評価部324は、三角柱103同士の重複部分の位置及び体積に基づいて、リスク評価値を算出する。例えば、評価部324は、三角柱103同士の重複部分が、何れかのロボット16の開始位置又は終了位置に近い場合には、回避軌道の生成が困難となるため、リスクが高くなるようにリスク評価値を算出する。また、評価部324は、三角柱103同士の重複部分の体積が大きいほど、リスクが高くなるようにリスク評価値を算出する。評価部324は、算出したリスク評価値を生成部326へ受け渡す。
 生成部326は、評価部324から受け渡されたリスク評価値が予め定めた閾値以上の場合に、回避軌道を生成する。また、生成部326は、回避軌道を生成する際、軌道情報及び仕様情報に加え、ロボット16A、16Bが動作する周辺の障害物等の物体の情報を含む周辺環境情報を取得する。そして、生成部326は、三角柱103同士の重複部分に加え、周辺の物体を回避する回避軌道を生成する。回避軌道の生成方法は、第1実施形態と同様である。
 干渉評価装置310のハードウェア構成は、図2に示す、第1実施形態に係る干渉評価装置10のハードウェア構成と同様であるため、説明を省略する。
 次に、第3実施形態に係るロボット制御システム300の作用について説明する。
 図15は、干渉評価装置310のCPU32により実行される干渉評価処理の流れを示すフローチャートである。CPU32が記憶装置36から干渉評価プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が干渉評価装置310の各機能構成として機能し、図15に示す干渉評価処理が実行される。なお、図15に示す干渉評価処理において、第1実施形態における干渉評価処理(図8)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS10~S26を経て、各ロボット16について三角柱103が特定されると、次のステップS340で、評価部324が、三角柱103同士の重複部分の位置及び体積に基づいて、リスク評価値を算出する。そして、評価部324は、算出したリスク評価値を生成部326へ受け渡す。
 次に、ステップS342で、生成部326が、評価部324から受け渡されたリスク評価値が予め定めた閾値以上か否かを判定する。閾値以上の場合、すなわち高リスクの場合には、処理はステップS50へ移行し、閾値未満の場合、すなわち低リスクの場合には、処理はステップS70へ移行する。
 以上説明したように、第3実施形態に係るロボット制御システムでは、干渉評価装置が、各ロボットの設置位置、開始位置、及び終了位置に基づく三角柱の重複に基づいて、ロボット同士の干渉を評価し、リスク評価値を算出する。そして、リスク評価値が閾値以上の場合に、回避軌道を生成する。これにより、実機を動作させたり、シミュレーションを行ったりする必要がなく、ロボット同士の干渉の評価にかかる計算コストを低減することができる。更に、リスクの度合いに応じて回避軌道を生成するか否かを柔軟に決定することができるため、不要な回避軌道の生成を抑制することができる。
 また、回避軌道を生成する際に、三角柱同士の重複部分だけでなく、周辺環境情報に基づく障害物等の物体も回避するように生成するため、周辺の物体にも干渉しない回避軌道を生成することができる。
 なお、第3実施形態では、第1実施形態と同様に、取得部が、ユーザにより入力された各位置の情報を取得する場合について説明したが、これに限定されない。第2実施形態のように、取得部が、軌道情報及び仕様情報に基づいて各位置を計算するようにしてもよい。
<第4実施形態>
 次に、第4実施形態について説明する。なお、第4実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム100、及び第2実施形態に係るロボット制御システム200と同様の構成については、同一符号を付して詳細な説明を省略する。
 図1に示すように、第4実施形態に係るロボット制御システム400は、干渉評価装置410と、ロボット制御装置12と、ロボット16A、16Bとを含んで構成される。また、干渉評価装置410には、作業管理部18(図16参照)から出力される軌道情報及び仕様情報が入力される。
 作業管理部18は、複数の動作を含む作業を実行するためのタスクプランニングを行う。タスクプランニングは、作業に含まれる複数の動作の各々を表す軌道情報及びロボット16の配置の組合せのうち、最適な組み合わせを決定することにより行われる。作業管理部18は、この決定に、干渉評価装置410による評価結果を用いるため、動作毎に、軌道情報、及びロボット16の配置の情報を含む仕様情報を、干渉評価装置410へ入力する。
 図16は、干渉評価装置410の機能構成の例を示すブロック図である。図16に示すように、干渉評価装置410は、機能構成として、取得部422と、評価部424と、生成部26とを含む。
 取得部422は、作業管理部18から入力される軌道情報及び仕様情報を取得し、取得した軌道情報及び仕様情報に基づいて、各ロボット16について、設置位置R、開始位置S、及び終了位置Gを計算する。
 評価部424は、タスクプランニングの対象である作業に含まれる複数の動作の各々について、第1実施形態の評価部24と同様に、取得部422で取得される、動作毎の軌道情報及び仕様情報に基づいて、各ロボット16についての設置位置Rと、開始位置Sと、終了位置Gとに基づく三角柱103を特定する。そして、評価部424は、三角柱103同士の重複により、高リスクか低リスクかを評価する。
 評価部424は、複数の動作の各々についての評価結果に基づいて、作業全体のリスク評価値を算出する。例えば、評価部424は、作業に含まれる動作のうち、高リスク、すなわち干渉リスクがあると評価された動作の割合を、作業全体の評価結果とすることができる。評価部424は、作業を構成する動作の組合せとして想定される全ての組合せについて、作業全体の評価結果を導出し、作業管理部18へ出力する。
 これにより、作業管理部18で、例えば、高リスクの動作の割合が最小となる組合せ等、最適な動作の組合せが決定される。作業管理部18は、組合せを決定すると、決定した組合せに含まれる各動作について、軌道情報及び仕様情報を干渉評価装置410へ入力する。
 評価部424は、作業管理部18から、決定した組合せに含まれる各動作の軌道情報及び仕様情報が入力された場合には、第1実施形態と同様に、干渉のリスクを評価する。
 干渉評価装置410のハードウェア構成は、図2に示す、第1実施形態に係る干渉評価装置10のハードウェア構成と同様であるため、説明を省略する。
 次に、第4実施形態に係るロボット制御システム400の作用について説明する。
 図17は、干渉評価装置410のCPU32により実行される干渉評価処理の流れを示すフローチャートである。CPU32が記憶装置36から干渉評価プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が干渉評価装置410の各機能構成として機能し、図17に示す干渉評価処理が実行される。なお、図17に示す干渉評価処理において、第1実施形態における干渉評価処理(図8)、及び第2実施形態における干渉評価処理(図13)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS210で、取得部422が、作業管理部18から入力される軌道情報及び仕様情報を取得する。
 次に、ステップS412で、取得部422が、取得した軌道情報及び仕様情報に基づいて、各ロボット16について、設置位置R、開始位置S、及び終了位置Gを計算する。次に、ステップS22及びS26で、評価部424が、各ロボット16について、三角柱103を特定する。
 次に、ステップS440で、評価部424が、タスクプランニングの対象である作業に含まれる複数の動作の各々について、三角柱103同士の重複により、高リスクか低リスクかを評価する。
 次に、ステップS442で、評価部424が、作業に含まれる動作のうち、高リスク、すなわち干渉リスクがあると評価された動作の割合を、作業全体の評価結果とする。
 次に、ステップS444で、評価部424が、作業を構成する動作の組合せとして想定される全ての組合せについて、上記ステップS442で導出された作業全体の評価結果を作業管理部18へ出力する。
 これにより、作業管理部18が、最適な動作の組合せを決定し、決定した組合せに含まれる各動作について、軌道情報及び仕様情報を干渉評価装置410へ入力する。
 そして、次のステップS80で軌道生成処理が実行される。軌道生成処理は、第1実施形態における干渉評価処理(図8)と同様である。
 以上説明したように、第4実施形態に係るロボット制御システムでは、干渉評価装置が、複数の動作を含む作業について、動作の組合せ毎に干渉のリスクを評価することで、作業管理部により最適な動作の組合せが決定される。これにより、実機を動作させたり、シミュレーションを行ったりする必要がなく、ロボット同士の干渉を抑制したタスクプランニングを行うことができる。
 なお、第4実施形態では、作業を構成する複数の動作のうち、高リスクと評価された動作の割合を作業全体の評価結果とする場合について説明したが、これに限定されない。例えば、第3実施形態と同様に、動作毎にリスク評価値を算出し、組合せ毎に、その組合せに含まれる動作について算出されたリスク評価値を合算するなどして統合した値を、作業全体のリスク評価値として算出するようにしてもよい。この場合、作業管理部は、リスク評価値が最も低い組合せを最適な組合せとして決定することができる。
 また、上記干渉評価処理のステップS80で実行される軌道生成処理として、第2実施形態における干渉評価処理(図13)、又は第3実施形態における干渉評価処理(図15)を実行してもよい。
<第5実施形態>
 次に、第5実施形態について説明する。なお、第5実施形態に係るロボット制御システムにおいて、第1実施形態に係るロボット制御システム100、及び第3実施形態に係るロボット制御システム300と同様の構成については、同一符号を付して詳細な説明を省略する。
 図1に示すように、第5実施形態に係るロボット制御システム500は、干渉評価装置510と、ロボット制御装置12と、ロボット16A、16Bとを含んで構成される。
 図18は、干渉評価装置510の機能構成の例を示すブロック図である。図18に示すように、干渉評価装置510は、機能構成として、取得部22と、評価部324と、生成部526とを含む。
 生成部526は、開始姿勢、終了姿勢、仕様情報、及び周辺環境情報を取得する。生成部526は、評価部324から受け渡されたリスク評価値が第1閾値以上の場合、干渉のリスクを回避するように、開始姿勢から終了姿勢までの回避軌道を生成する。また、生成部526は、リスク評価値が第1閾値未満の場合、開始姿勢と終了姿勢とを単純に結んだ軌道を生成する。さらに、生成部526は、リスク評価値が第1閾値より大きい第2閾値以上の場合、軌道を生成することなく、別の開始位置及び終了位置を入力するようにユーザに促すメッセージを出力装置40に出力してもよい。第2閾値は、干渉のリスクが著しく大きい場合であることを判定できるような値を定めておく。
 干渉評価装置510のハードウェア構成は、図2に示す、第1実施形態に係る干渉評価装置10のハードウェア構成と同様であるため、説明を省略する。
 次に、第5実施形態に係るロボット制御システム500の作用について説明する。
 図19は、干渉評価装置510のCPU32により実行される干渉評価処理の流れを示すフローチャートである。CPU32が記憶装置36から干渉評価プログラムを読み出して、メモリ34に展開して実行することにより、CPU32が干渉評価装置510の各機能構成として機能し、図19に示す干渉評価処理が実行される。なお、図19に示す干渉評価処理において、第1実施形態における干渉評価処理(図8)と同様の処理については、同一のステップ番号を付与して、詳細な説明を省略する。
 ステップS90で、リスク評価値算出処理が実行される。リスク評価値算出処理は、第3実施形態における干渉評価処理(図15)のステップS10~S340と同様である。
 次に、ステップS542で、生成部526が、評価部324から受け渡されたリスク評価値が予め定めた第2閾値以上か否か、すなわち、干渉のリスクが著しく大きいか否かを判定する。第2閾値以上の場合には、処理はステップS544へ移行し、第2閾値未満の場合には、処理はステップS550へ移行する。
 ステップS544では、生成部526が、別の開始位置及び終了位置を入力するようにユーザに促すメッセージを出力装置40に出力し、干渉評価処理は終了する。
 一方、ステップS550では、生成部526が、開始姿勢、終了姿勢、仕様情報、及び周辺環境情報を取得する。そして、次のステップS552で、生成部526が、開始姿勢と終了姿勢とを単純に結んだ軌道を生成する。
 次に、ステップS554で、生成部526が、評価部324から受け渡されたリスク評価値が予め定めた第1閾値以上か否かを判定する。第1閾値以上の場合、すなわち高リスクの場合には、処理はステップS60へ移行し、第1閾値未満の場合には、処理はステップS70へ移行する。
 ステップS560では、生成部526が、上記ステップS552で生成した軌道に、干渉を回避するような軌道を付加した回避軌道を生成する。
 なお、上記ステップS550の後にステップS554の判定を行い、判定結果に応じて、軌道を生成するようにしてもよい。すなわち、リスク評価値が第1閾値以上の場合には、干渉のリスクを回避するように、開始姿勢から終了姿勢までの軌道を生成し、リスク評価値が第1閾値未満の場合には、上記ステップS552のような単純な軌道を生成してもよい。
 以上説明したように、第5実施形態に係るロボット制御システムでは、干渉評価装置が、各ロボットの軌道情報が生成されていない段階で、各ロボットの設置位置、開始位置、及び終了位置に基づく三角柱の重複に基づいて、ロボット同士の干渉を評価する。そして、リスクの評価を行った後に、開始姿勢から終了姿勢までの軌道を生成し、干渉のリスクがある場合には、回避軌道を生成する。これにより、干渉のリスクがある場合には、不要な軌道の生成を行う必要がなくなり、処理コストを削減することができる。
 また、上記各実施形態では、干渉評価装置とロボット制御装置とを別々の装置とする場合について説明したが、ロボット制御装置内に干渉評価装置を組み込む形態としてもよい。また、干渉評価装置の各機能構成を、それぞれ異なる装置で実現し、上記の干渉評価処理を分散処理により実現してもよい。
 また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した干渉評価処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、干渉評価処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、干渉評価プログラムが記憶装置に予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM、DVD-ROM、ブルーレイディスク、USBメモリ等の記憶媒体に記憶された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
10、210、310、410、510 干渉評価装置
12 ロボット制御装置
16 ロボット
18 作業管理部
22、222、422 取得部
24、224、324、424 評価部
26、326、526 生成部
32 CPU
34 メモリ
36 記憶装置
38 入力装置
40 出力装置
42 記憶媒体読取装置
44 通信I/F
46 バス
100、200、300、400、500 ロボット制御システム

Claims (13)

  1.  複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得する取得部と、
     前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する評価部と、
     を含む干渉評価装置。
  2.  前記評価部は、前記多角形を前記ロボットの設置面である平面に投影した多角形を底面とし、前記平面の法線方向に所定の高さを持つ前記多面体を特定する請求項1に記載の干渉評価装置。
  3.  前記取得部は、前記複数のロボットの各々の動作の軌道を示す軌道情報に含まれる開始姿勢に対応する前記開始位置、及び終了姿勢に対応する前記終了位置を取得する請求項1又は請求項2に記載の干渉評価装置。
  4.  前記取得部は、前記複数のロボットの各々について、前記開始姿勢及び前記終了姿勢の情報を含む動作の軌道を示す軌道情報と、キネマティクス情報及び形状情報を含む仕様情報とを取得し、前記軌道情報及び前記仕様情報に基づいて、前記複数のロボットの各々の前記設置位置、前記開始位置、及び前記終了位置を計算する請求項1又は請求項2に記載の干渉評価装置。
  5.  前記評価部は、前記軌道情報に含まれる、前記開始位置及び前記終了位置以外の経由点の位置を頂点として更に含む前記多角形に基づいて、前記多面体を特定する請求項4に記載の干渉評価装置。
  6.  前記取得部は、複数の動作を含む作業について、動作毎に、前記軌道情報及び前記仕様情報を取得し、
     前記評価部は、前記作業を構成する複数の動作の組合せ毎に、前記ロボット間の干渉リスクを評価することで、前記作業全体のリスクを評価する
     請求項4又は請求項5に記載の干渉評価装置。
  7.  前記評価部は、前記作業に含まれる複数の動作のうち、前記ロボット間で干渉リスクがある動作の割合が高いほど、前記作業全体のリスクが高いと評価する請求項6に記載の干渉評価装置。
  8.  前記開始姿勢から前記終了姿勢までの軌道を生成する生成部を含む請求項1~請求項7の何れか1項に記載の干渉評価装置。
  9.  前記生成部は、前記評価部により、前記ロボット間で干渉リスクがあると評価された場合に、干渉を回避するような回避軌道を生成する請求項8に記載の干渉評価装置。
  10.  前記生成部は、前記複数のロボットが動作する周辺の物体の情報を含む周辺環境情報を取得し、前記多面体同士の重複部分、及び前記複数のロボット周辺の物体を回避する前記回避軌道を生成する請求項9に記載の干渉評価装置。
  11.  前記生成部は、前記評価部により評価された干渉リスクが閾値以上の場合に、前記回避軌道を生成する請求項9又は請求項10に記載の干渉評価装置。
  12.  取得部が、複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得し、
     評価部が、前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する
     干渉評価方法。
  13.  コンピュータを、
     複数のロボットの各々の可動範囲の起点となる設置位置と、前記複数のロボットの各々の開始姿勢時における所定部位の位置である開始位置、及び終了姿勢時における前記所定部位の位置である終了位置とを取得する取得部、及び、
     前記複数のロボットの各々について、前記設置位置と、前記開始位置と、前記終了位置とを含む多角形に基づいて特定される多面体間の重複に基づいて、前記複数のロボット間の干渉リスクを評価する評価部
     として機能させるための干渉評価プログラム。
PCT/JP2020/038334 2019-10-17 2020-10-09 干渉評価装置、方法、及びプログラム WO2021075380A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP20876395.3A EP4046758A4 (en) 2019-10-17 2020-10-09 INTERFERENCE ASSESSMENT APPARATUS, METHOD AND PROGRAM
US17/766,707 US20240066705A1 (en) 2019-10-17 2020-10-09 Interference Evaluation Device, Method, and Program
CN202080070776.4A CN114555302A (zh) 2019-10-17 2020-10-09 干涉评价装置、方法以及程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-190559 2019-10-17
JP2019190559A JP2021065940A (ja) 2019-10-17 2019-10-17 干渉評価装置、方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2021075380A1 true WO2021075380A1 (ja) 2021-04-22

Family

ID=75538484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/038334 WO2021075380A1 (ja) 2019-10-17 2020-10-09 干渉評価装置、方法、及びプログラム

Country Status (5)

Country Link
US (1) US20240066705A1 (ja)
EP (1) EP4046758A4 (ja)
JP (1) JP2021065940A (ja)
CN (1) CN114555302A (ja)
WO (1) WO2021075380A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7275413B1 (ja) * 2022-07-28 2023-05-17 三菱電機株式会社 リスクアセスメント支援装置、リスクアセスメント支援プログラムおよびリスクアセスメント支援方法
CN116533236B (zh) * 2023-05-09 2024-04-12 北京航空航天大学 一种基于离散工作空间的服务机器人操作评估策略

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119814A (ja) * 1991-05-20 1993-05-18 Brother Ind Ltd ロボツトアームの非干渉制御装置
JP2012181574A (ja) 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
CN106546759A (zh) * 2016-10-25 2017-03-29 广州誉康医药有限公司 用于全自动血型血清学分析系统的双机械臂协同控制方法
JP2018144223A (ja) * 2017-03-06 2018-09-20 キヤノン株式会社 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5872077B2 (ja) * 2013-02-06 2016-03-01 三菱電機株式会社 干渉チェック装置
JP6427972B2 (ja) * 2014-06-12 2018-11-28 セイコーエプソン株式会社 ロボット、ロボットシステム及び制御装置
CN104156520B (zh) * 2014-07-31 2017-04-12 哈尔滨工程大学 一种基于直线投影的凸多面体碰撞检测方法
JP5896003B1 (ja) * 2014-10-29 2016-03-30 株式会社安川電機 加工装置、教示方法、ワークの生産方法、コントローラ及び制御方法
WO2017071143A1 (en) * 2015-10-30 2017-05-04 SZ DJI Technology Co., Ltd. Systems and methods for uav path planning and control
JP6576255B2 (ja) * 2016-01-25 2019-09-18 キヤノン株式会社 ロボット軌道生成方法、ロボット軌道生成装置、および製造方法
US10919153B2 (en) * 2017-03-06 2021-02-16 Canon Kabushiki Kaisha Teaching method for teaching operations to a plurality of robots and teaching system used therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05119814A (ja) * 1991-05-20 1993-05-18 Brother Ind Ltd ロボツトアームの非干渉制御装置
JP2012181574A (ja) 2011-02-28 2012-09-20 Bridgestone Corp 干渉チェック装置及びプログラム
CN106546759A (zh) * 2016-10-25 2017-03-29 广州誉康医药有限公司 用于全自动血型血清学分析系统的双机械臂协同控制方法
JP2018144223A (ja) * 2017-03-06 2018-09-20 キヤノン株式会社 複数のロボットに動作を教示する教示方法、およびそれに用いる教示装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP4046758A4

Also Published As

Publication number Publication date
JP2021065940A (ja) 2021-04-30
EP4046758A4 (en) 2023-11-08
EP4046758A1 (en) 2022-08-24
US20240066705A1 (en) 2024-02-29
CN114555302A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
JP6705977B2 (ja) ロボットパス生成装置及びロボットシステム
JP7222803B2 (ja) 軌道計画装置、軌道計画方法及びプログラム
US9671777B1 (en) Training robots to execute actions in physics-based virtual environment
JP6137155B2 (ja) 干渉回避方法、制御装置及びプログラム
WO2021075380A1 (ja) 干渉評価装置、方法、及びプログラム
WO2020017092A1 (ja) パラメータ同定装置、方法、及びプログラム
US20110153080A1 (en) Method and apparatus for industrial robotic pathscycle time optimization using fly by
US20150277398A1 (en) Object manipulation driven robot offline programming for multiple robot system
US20180036883A1 (en) Simulation apparatus, robot control apparatus and robot
US20160085887A1 (en) Method for improving efficiency of industrial robotic energy consumption and cycle time by handling location orientation
JP5885003B2 (ja) ロボットの走行面走行可能領域確認方法、ロボット及び記録媒体
JP5414465B2 (ja) シミュレーションシステム
WO2021075379A1 (ja) 回避軌道生成装置、方法、及びプログラム
JP7474681B2 (ja) プログラム生成システム、ロボットシステム、プログラム生成方法、および生成プログラム
JP7078174B2 (ja) ロボット制御装置、方法、及びプログラム
JP7484254B2 (ja) 干渉判定装置、方法、及びプログラム
JP7390405B2 (ja) 統合された物理的環境および模擬された環境でロボットシステムを試験するための方法およびシステム
Tafuri et al. Automatic collision free path planning in hybrid triangle and point models: a case study
JPH0736519A (ja) ロボットのニアミスチェック方法
Petrinić et al. AMORsim− A Mobile Robot Simulator for Matlab
JP3937080B2 (ja) ロボットの干渉判断方法および制御装置
JP2021084218A (ja) 情報提示装置、情報提示方法、及び情報提示プログラム
WO2023203635A1 (ja) ロボット装置の動作状態を算出するシミュレーション装置
US20230109876A1 (en) Information processing apparatus, information processing method, and method of manufacturing products
JP2000015595A (ja) 物体衝突検出方法およびその装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20876395

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 17766707

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020876395

Country of ref document: EP

Effective date: 20220517