WO2022153374A1 - 経路生成装置、経路生成方法及び経路生成プログラム - Google Patents

経路生成装置、経路生成方法及び経路生成プログラム Download PDF

Info

Publication number
WO2022153374A1
WO2022153374A1 PCT/JP2021/000734 JP2021000734W WO2022153374A1 WO 2022153374 A1 WO2022153374 A1 WO 2022153374A1 JP 2021000734 W JP2021000734 W JP 2021000734W WO 2022153374 A1 WO2022153374 A1 WO 2022153374A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
interference
route
distance
interference determination
Prior art date
Application number
PCT/JP2021/000734
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 EP21919270.5A priority Critical patent/EP4279224A4/en
Priority to PCT/JP2021/000734 priority patent/WO2022153374A1/ja
Priority to US18/271,243 priority patent/US20240058961A1/en
Priority to CN202180089796.0A priority patent/CN116745074A/zh
Priority to JP2022574892A priority patent/JP7429807B2/ja
Publication of WO2022153374A1 publication Critical patent/WO2022153374A1/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/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
    • 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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40317For collision avoidance and detection
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40442Voxel map, 3-D grid map
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40477Plan path independent from obstacles, then correction for obstacles
    • 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/40Robotics, robotics mapping to robotics vision
    • G05B2219/40607Fixed camera to observe workspace, object, workpiece, global
    • 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/45Nc applications
    • G05B2219/45063Pick and place manipulator

Definitions

  • the present disclosure relates to a route generation device, a route generation method, and a route generation program.
  • Patent Document 1 discloses a device that plans a path of a robot while determining interference between the robot and an obstacle.
  • the interference determination is performed many times in generating the route. For example, when a route from a predetermined start position to an end position is generated, it is performed at a plurality of locations on the route. If it is determined by the interference determination that the object and the operating device interfere with each other, the path is changed and the interference determination is performed again. Usually, the interference determination is performed by calculating the distance between the object and the operating device. As described above, since the interference determination is performed many times in the route generation, if it takes time to calculate the distance between the object and the operating device, the route generation time becomes long. On the other hand, if the calculation of the distance between the object and the operating device is simplified in order to shorten the time for path generation, the accuracy of the interference determination between the object and the operating device is lowered.
  • This disclosure has been made in view of this point, and the purpose of the present disclosure is to achieve both a reduction in the time for interference determination and an improvement in accuracy.
  • the interference determination unit When it is determined by the interference determination unit that there is a possibility of interference, at least one of the object setting unit and the device setting unit increases the density of the point group of the point group model.
  • the interference determination unit re-performed the interference determination using the point group model in which the density of the point group became high, and the path generation unit was determined by the interference determination unit that there was no possibility of interference. In that case, the following route is generated.
  • the path generation method of the present disclosure is a route generation method for generating a path of an operating device, in which an object model, which is a model of an object included in the arrangement space in which the operation device is arranged, is set, and the arrangement space is described.
  • the object model and the path are based on the setting of the device model which is the model of the motion device in the above, the stepwise generation of the path of the motion device, and the distance between the object model and the device model.
  • At least one of the object model and the device model is a point group model formed by a point group, and there is a possibility of interference, including performing an interference determination with the device model after moving along.
  • the density of the point group of the point group model is increased in at least one of setting the object model and setting the device model, and the interference determination is performed.
  • the interference determination is performed again using the point group model in which the density of the point group is increased, and in generating the path, it is determined by the interference determination that there is no possibility of interference. If so, the next route is generated.
  • the path generation program of the present disclosure has a function of setting an object model, which is a model of an object included in the arrangement space in which the operation device is arranged, in a computer in order to generate an operation of the operation device, and the above-mentioned in the arrangement space.
  • an object model which is a model of an object included in the arrangement space in which the operation device is arranged
  • the function of stepwise generating the path of the operating device and the distance between the object model and the device model.
  • the function of determining interference with the device model after moving is realized, and at least one of the object model and the device model is a point group model formed by a point group, and there is a possibility of interference.
  • At least one of the function of setting the object model and the function of setting the device model increases the density of the point group of the point group model and makes the interference determination.
  • the function to be performed is the case where the interference determination is performed again using the point group model in which the density of the point group is increased, and the function to generate the path is determined by the interference determination that there is no possibility of interference. Generates the following route.
  • the path generator it is possible to reduce the time for determining interference and improve the accuracy at the same time.
  • the route generation method it is possible to achieve both a reduction in the interference determination time and an improvement in accuracy.
  • the route generation program it is possible to achieve both a reduction in the interference determination time and an improvement in accuracy.
  • FIG. 1 is a schematic diagram showing a configuration of a robot system.
  • FIG. 2 is a diagram showing a schematic hardware configuration of the robot control device and the control device.
  • FIG. 3 is a block diagram showing a configuration of a control system of the control unit.
  • FIG. 4 is a diagram showing an example of an object model and an apparatus model.
  • FIG. 5 is a flowchart showing the operation control of the robot arm by the control device.
  • FIG. 6 is a flowchart showing a path generation process of the robot arm by the control device.
  • FIG. 7 is a schematic view showing a state in which the first device model approaches the first object model.
  • FIG. 8 is a schematic view showing a state in which the first object model and the first device model in FIG. 7 are changed to the second object model and the second device model.
  • FIG. 9 is a schematic view showing a state in which the second object model and the second device model in FIG. 8 are changed to the third object model and the third device model.
  • FIG. 1 is a schematic view showing the configuration of the robot system 100.
  • the robot system 100 includes a robot 1 and a route generation device 3 that generates a route for the robot 1.
  • the route generation device 3 includes a control device 5.
  • the route generation device 3 may include a three-dimensional vision sensor 4 that acquires information on the arrangement space in which the robot 1 is arranged.
  • the control device 5 refers to the detection result of the three-dimensional vision sensor 4 to generate a path for the robot 1 and controls the operation of the robot 1.
  • the robot 1 carries out an object in the container 91 or carries an object into the container 91.
  • Robot 1 is an industrial robot in this example.
  • the robot 1 has a robot arm 12 and a robot control device 2 that controls the entire robot 1.
  • the robot arm 12 has a hand 14 as an end effector.
  • the robot arm 12 grips an object by the hand 14.
  • the robot 1 is an example of an operating device, and more specifically, the robot arm 12 is an example of an operating device.
  • a robot coordinate system with three orthogonal axes is defined.
  • the Z-axis is set in the vertical direction
  • the X-axis and the Y-axis that are orthogonal to each other in the horizontal direction are set.
  • the robot arm 12 is configured to operate in a three-dimensional manner. Specifically, the robot arm 12 is configured to perform an operation including translation of at least three degrees of freedom.
  • the robot arm 12 is a vertical articulated robot arm.
  • the robot arm 12 is supported by the base 10.
  • the robot arm 12 has a plurality of links and a plurality of joints connecting the plurality of links.
  • the robot arm 12 includes a first link 12a connected to the base 10, a second link 12b connected to the first link 12a, a third link 12c connected to the second link 12b, and a third link. It has a fourth link 12d connected to the link 12c and a fifth link 12e connected to the fourth link 12d.
  • the hand 14 can also be regarded as one link of the robot arm 12.
  • the base 10 and the first link 12a are connected to each other via a first joint 13a that is rotatable around an axis extending in the vertical direction.
  • the first link 12a and the second link 12b are connected to each other via a second joint 13b that is rotatable about an axis extending in the horizontal direction.
  • the second link 12b and the third link 12c are connected to each other via a third joint 13c that can rotate around an axis extending in the horizontal direction.
  • the third link 12c and the fourth link 12d are connected to each other via a fourth joint 13d that can rotate around the axis of the fourth link 12d (that is, the direction in which the fourth link 12d extends).
  • the fourth link 12d and the fifth link 12e are connected to each other via a fifth joint 13e that can rotate about an axis orthogonal to the axis of the fourth link 12d.
  • the hand 14 is connected to the tip of the robot arm 12, that is, the fifth link 12e.
  • the fifth link 12e and the hand 14 are rotatably connected to each other via a sixth joint 13f so as to be rotatable around a predetermined axis.
  • the hand 14 has two fingers 14a configured to open and close. The two fingers 14a are opened and closed by an actuator such as an air cylinder.
  • the robot arm 12 has a servomotor 15 (see FIG. 2) that rotationally drives each joint.
  • Each servomotor 15 has an encoder 15a (see FIG. 2).
  • FIG. 2 is a diagram showing a schematic hardware configuration of the robot control device 2 and the control device 5.
  • the robot control device 2 transmits and receives signals, commands, and the like to and from the control device 5.
  • the robot control device 2 controls the servomotor 15 and the hand 14 of the robot arm 12.
  • the robot control device 2 supplies a current to the servomotor 15 in response to a command from the control device 5.
  • the robot control device 2 feedback-controls the supply current based on the output of the encoder 15a.
  • the robot control device 2 opens and closes the two fingers 14a by controlling the actuator of the hand 14.
  • the robot control device 2 has a control unit 21, a storage unit 22, and a memory 23.
  • the control unit 21 controls the entire robot control device 2.
  • the control unit 21 performs various arithmetic processes.
  • the control unit 21 is formed by a processor such as a CPU (Central Processing Unit).
  • the control unit 21 may be formed of an MCU (MicroControllerUnit), an MPU (MicroProcessorUnit), an FPGA (FieldProgrammableGateArray), a PLC (ProgrammableLogicController), a system LSI, or the like.
  • the storage unit 22 stores a program executed by the control unit 21 and various data.
  • the storage unit 22 is formed of a non-volatile memory, an HDD (Hard Disc Drive), an SSD (Solid State Drive), or the like.
  • the memory 23 temporarily stores data and the like.
  • the memory 23 is formed of a volatile memory.
  • the three-dimensional vision sensor 4 acquires spatial information of the robot arm 12, that is, the arrangement space in which the robot 1 is arranged. Spatial information includes information on the position and shape of an object in the configuration space.
  • the three-dimensional vision sensor 4 acquires three-dimensional spatial information. For example, the three-dimensional vision sensor 4 measures the position and shape of the container 91 and the objects in the container 91 from above the container 91.
  • the three-dimensional vision sensor 4 outputs the positions and shapes of the container 91 and the objects in the container 91 in the form of point cloud data.
  • the three-dimensional vision sensor 4 outputs the measurement result as spatial information to the control device 5.
  • the control device 5 generates a path for the robot arm 12 and outputs a command for moving the robot arm 12 along the path to the robot control device 2.
  • the robot arm 12 generates a path for moving from a predetermined start position to a target position while avoiding interference with other objects.
  • the control device 5 causes the robot arm 12 to perform a pick-and-place operation in which the robot arm 12 takes out a predetermined object A from the container 91 and conveys the object A to a mounting table (not shown).
  • the control device 5 transmits and receives signals, information, and the like to and from the robot control device 2.
  • the detection result of the three-dimensional vision sensor 4 is input to the control device 5.
  • the control device 5 includes a control unit 51, a storage unit 52, and a memory 53.
  • the control device 5 may further have an input operation unit operated by the user to make settings related to motion generation, and a display for displaying the setting contents.
  • the control unit 51 controls the entire control device 5.
  • the control unit 51 performs various arithmetic processes.
  • the control unit 51 is formed by a processor such as a CPU (Central Processing Unit).
  • the control unit 51 may be formed of an MCU (MicroControllerUnit), an MPU (MicroProcessorUnit), an FPGA (FieldProgrammableGateArray), a PLC (ProgrammableLogicController), a system LSI, or the like.
  • the storage unit 52 stores the program executed by the control unit 51 and various data.
  • the storage unit 52 stores an operation control program 61 for controlling the operation of the robot arm 12 and a route generation program 62 for generating a route for the robot arm 12.
  • the storage unit 52 is formed of a non-volatile memory, an HDD (Hard Disc Drive), an SSD (Solid State Drive), or the like.
  • the memory 53 temporarily stores data and the like.
  • the memory 53 is formed of a volatile memory.
  • FIG. 3 is a block diagram showing the configuration of the control system of the control unit 51.
  • the control unit 51 realizes various functions by reading the route generation program 62 from the storage unit 52 into the memory 53 and expanding the route generation program 62.
  • the control unit 51 functions as an object setting unit 54, a device setting unit 55, a route generation unit 56, an interference determination unit 57, and an operation command unit 58.
  • the object setting unit 54 sets the object model 71, which is a model of the object included in the arrangement space in which the robot arm 12 is arranged.
  • the object model 71 is a point cloud model formed by a point cloud.
  • the container 91, the mounting table, and the objects in the container 91 correspond to the objects included in the arrangement space.
  • the object setting unit 54 generates an object model 71 for each object such as the container 91.
  • the object setting unit 54 can change the density of the point cloud of the object model 71 for each object.
  • density means the density of a point cloud unless otherwise specified.
  • the object setting unit 54 can generate an object model 71 having a different density of point clouds by downsampling the point cloud data output from the three-dimensional vision sensor 4 to generate the object model 71.
  • the object setting unit 54 can change the density of a part cloud of the object model 71.
  • the object setting unit 54 can also change the density of all the point clouds of the object model 71.
  • the object setting unit 54 sets the density of the point cloud of the object model 71 in three stages of a predetermined first density, a second density higher than the first density, and a third density higher than the second density. change. Further, the object setting unit 54 changes the density of a part cloud of the object model 71.
  • first object model 71A the object model 71 having the highest density of the first object group
  • second object model 71B the object model 71 having the second density of the highest point group
  • the object model 71 having the third density of the highest point group is referred to as a "third object model 71C”.
  • FIG. 4 is a diagram showing an example of the object model 71 and the device model 72.
  • FIG. 4 shows the object model 71 of the container 91 among the object models 71.
  • FIG. 4 shows the first object model 71A of the container 91.
  • the route generation unit 56 generates the route of the robot arm 12 step by step.
  • the path generator 56 starts via one or more intermediate positions by generating one or more intermediate positions (ie, nodes) between the start position of the robot arm 12 and the target position. Generate a route from position to target position.
  • the position of the robot arm 12 is a position uniquely determined by the positions of the fingertips of each joint and the hand 14, and is regarded as the posture of the robot arm 12. It can also be considered that the start position is the start position, the target position is the target position, and the intermediate position is the intermediate position).
  • the path of the robot arm 12 is defined by the positions of a plurality of joints and the positions of the fingertips of the hand 14, and by extension, the rotation angle of each joint.
  • the path generation unit 56 generates intermediate positions of the robot arm 12 in order from the start position to the target position.
  • the generation of the intermediate position can be regarded as the generation of the route to the intermediate position.
  • the route generation unit 56 generates a new intermediate position randomly or according to a predetermined rule (constraint).
  • a predetermined rule for example, the robot arm 12 approaches the target position, the robot arm 12 moves away from the object when the robot arm 12 interferes with the object, or the fingertips of the plurality of joints and the hand 14 respectively.
  • the upper limit of the amount of movement of the robot can be mentioned.
  • the route generation unit 56 may comprehensively determine these rules and generate an intermediate position.
  • Interference determination is performed by the interference determination unit 57 with respect to the generated intermediate position, that is, the path.
  • the route generation unit 56 selectively changes the intermediate position (that is, changes the route) and generates the next intermediate position (that is, generates the next route) according to the result of the interference determination.
  • the device setting unit 55 sets the device model 72, which is a model of the robot arm 12 in the arrangement space.
  • the device model 72 is a point cloud model formed by a point cloud.
  • the device setting unit 55 generates the device model 72 of the robot arm 12 located at the intermediate position generated by the path generation unit 56.
  • the device setting unit 55 can change the density of the point cloud of the device model 72.
  • the device setting unit 55 can change the density of a part cloud of the device model 72.
  • the device setting unit 55 can also change the density of the entire point cloud of the device model 72.
  • the storage unit 52 stores the point cloud data of the robot arm 12.
  • the point cloud data of the robot arm 12 represents the shape of the robot arm 12, at least the outer shape. Specifically, the point cloud data of the robot arm 12 includes the point cloud data of each link. Further, the storage unit 52 stores point cloud data of the robot arms 12 having different densities. Specifically, the point group data of the robot arm 12 having a predetermined first density, the point group data of the robot arm 12 having a second density higher than the first density, and the robot having a third density higher than the second density. The point group data of the arm 12 is stored in the storage unit 52.
  • the first density, the second density, and the third density of the point group data of the robot arm 12 are the first density, the second density, and the second density of the first object model 71A, the second object model 71B, and the third object model 71C, respectively. It is almost the same as the third density.
  • the device setting unit 55 reads the point cloud data of the robot arm 12 from the storage unit 52, and arranges the read point cloud data at an intermediate position generated by the route generation unit 56. In this way, the device setting unit 55 sets the device model 72 of the robot arm 12. At this time, the device setting unit 55 can change the density of the device model 72 by changing the point cloud data read from the storage unit 52. Further, the device setting unit 55 can read out point cloud data having different densities for each part of the robot arm 12. The device setting unit 55 can also generate a device model 72 having a uniform density throughout the robot arm 12.
  • the device model 72 having the highest density of the first device model 72 is referred to as “first device model 72A”, and the device model 72 having the second density of the highest point group is referred to as “second device model 72B”.
  • the device model 72 having the third density of the highest point group is referred to as “third device model 72C”.
  • FIG. 4 shows a first device model 72A in which the entire robot arm 12 is formed of point cloud data of the first density.
  • the interference determination unit 57 interferes between the device model 72 and the object model 71 after moving along the path (that is, located at the generated intermediate position) based on the distance between the object model 71 and the device model 72. Make a judgment.
  • the distance between the object model 71 and the device model 72 is a point included in the point group of the object model 71 and a point included in the point group of the device model 72. It becomes the distance to.
  • the interference determination unit 57 performs interference determination by using the point cloud model having the lowest density in order.
  • the interference determination unit 57 makes an interference determination using the low-density object model 71 and the device model 72, ends the interference determination if there is no possibility of interference, and if it determines that there is a possibility of interference, the object.
  • the density of at least one of the point groups of the model 71 and the device model 72 is increased, and the interference determination is performed again.
  • the interference determination unit 57 may interfere with the object model 71 and the device model 72 when the distance between the models, which is the shortest distance between the object model 71 and the device model 72, is equal to or less than a predetermined safety threshold. Judge that there is. On the other hand, the interference determination unit 57 determines that there is no possibility of interference between the object model 71 and the device model 72 when the distance between the models is larger than the safety threshold value. Further, when it is determined that there is no possibility of interference, the interference determination unit 57 obtains a margin distance which is a value obtained by subtracting the safety threshold value from the inter-model distance.
  • the portion closest to each other is the inter-model distance, that is, the portion forming the shortest distance.
  • the object model 71 and the device model 72 are point cloud models, the two points closest to each other in each of the object model 71 and the device model 72 form the inter-model distance. These points are referred to as "closest points”. That is, the inter-model distance is formed by the closest point of the object model 71 and the closest point of the device model 72.
  • the interference determination unit 57 determines whether or not the inter-model distance is equal to or less than the interference threshold value smaller than the safety threshold value. The interference determination unit 57 determines that the object model 71 and the device model 72 interfere with each other when the distance between the models is equal to or less than the interference threshold value.
  • the interference determination unit 57 determines whether there is a possibility of interference, no possibility of interference, or interference based on the distance between the object model 71 and the device model 72. Then, when there is a possibility of interference, the interference determination unit 57 increases the density of at least one point cloud of the object model 71 and the device model 72 to perform the same interference determination.
  • the interference determination unit 57 first determines the interference between the first object model 71A and the first device model 72A. If there is a possibility of interference, the interference determination unit 57 then determines the interference between the second object model 71B and the second device model 72B. If there is still a possibility of interference, the interference determination unit 57 further determines interference between the third object model 71C and the third device model 72C.
  • each of the second object model 71B and the second device model 72B does not have to have the second density as a whole. That is, in the second object model 71B, only a part of the point cloud including the closest point may have the second density, and the other part may have the first density. Of the second device model 72B, only a part of the point cloud including the closest point may have the second density, and the other part may have the first density. Similarly, in the interference determination between the third object model 71C and the third device model 72C, only a part of the third object model 71C including the closest point group has the third density, and the other part has the third density. It may be 1 density or 2nd density. Of the third device model 72C, only a part of the point cloud including the closest point may have the third density, and the other part may have the first density or the second density.
  • the interference determination unit 57 determines that there is no possibility of interference or that it interferes with the interference determination between the first object model 71A and the first device model 72A, the interference determination unit 57 ends the interference determination. The same applies to the interference determination between the second object model 71B and the second device model 72B. The same applies to the interference determination between the third object model 71C and the third device model 72C.
  • the interference determination unit 57 only determines by the interference threshold. conduct. That is, the interference determination unit 57 determines that if the distance between the models of the third object model 71C and the third device model 72C is equal to or less than the interference threshold, it determines that the third object model 71C and the third device model 72C interfere with each other. If the distance between the models is larger than the interference threshold, it is judged that there is no possibility of interference.
  • the safety threshold for interference determination can be changed according to the point cloud model, that is, according to the density of the point cloud. For example, the higher the density of the point cloud in the point cloud model, the smaller the safety threshold is set.
  • the first safety threshold value which is the safety threshold value for determining the interference between the first object model 71A and the first device model 72A
  • the interference threshold value for interference determination may be the same even if the density of the point cloud changes.
  • the interference determination between the first object model 71A and the first device model 72A, the interference determination between the second object model 71B and the second device model 72B, and the third object model 71C and the third device model 72C The interference thresholds in each of the interference determinations are the same.
  • the density of only one of the object model 71 and the device model 72 may be changed. For example, when increasing the density of the point group model from the first object model 71A and the first device model 72A, only the first object model 71A is changed to the second object model 71B, and the first device model 72A remains as it is. You may. As long as the density of at least one point cloud of the object model 71 and the device model 72 is increased, the interference determination may be performed by combining the object model 71 and the device model 72 having various densities.
  • the route generation unit 56 generates the next intermediate position, that is, the next route when the interference determination unit 57 determines that there is no possibility of interference. On the other hand, when the interference determination unit 57 determines that interference occurs, the route generation unit 56 changes the intermediate position, that is, the route. The route generation unit 56 also receives an interference determination by the interference determination unit 57 with respect to the next intermediate position or the changed intermediate position.
  • the route generation unit 56 when the route generation unit 56 generates an intermediate position (that is, a route), when the margin distance of the intermediate position before connecting to the intermediate position of this time is larger than the movement amount of the device model 72 of the intermediate position of this time, the route generation unit 56 generates the intermediate position.
  • the interference determination for the intermediate position this time is omitted, that is, skipped, and the next intermediate position is generated. That is, when the inter-model distance in the interference determination of the previous intermediate position is sufficiently larger than the amount of movement of the device model 72 to the intermediate position this time, the path generation unit 56 performs the interference determination unit for the intermediate position this time.
  • the next intermediate position is generated without receiving the interference determination by 57.
  • the route generation unit 56 By repeating such processing, the route generation unit 56 generates an intermediate position from the start position to the target position, that is, a route stepwise. When the route generation unit 56 completes the generation of the route from the start position to the target position, the route generation unit 56 outputs the information of the generated route to the operation command unit 58.
  • the operation command unit 58 creates a command value according to the route information output from the route generation unit 56, and outputs the created command value to the robot control device 2.
  • the robot control device 2 drives the servomotor 15 based on the command value from the operation command unit 58. At this time, the robot control device 2 feedback-controls the supply current to the servomotor 15 based on the detection result of the encoder 15a. As a result, the robot arm 12 moves from the start position to the target position along the path generated by the path generation unit 56.
  • FIG. 5 is a flowchart showing the operation control of the robot arm 12 by the control device 5.
  • the pick-and-place operation in which the robot arm 12 takes out a predetermined object A from the container 91 and conveys the object A to the mounting table will be described.
  • the control device 5 divides the pick-and-place operation into a first operation until the robot arm 12 picks up the object A and a second operation in which the robot arm 12 carries the object A from the container 91 to the mounting table. Let 12 do it.
  • This operation control is executed by the control unit 51 reading the operation control program 61 from the storage unit 52 into the memory 53 and expanding the operation control program 61.
  • the control unit 51 executes the first operation until the robot arm 12 goes to pick up the object A.
  • the control unit 51 acquires spatial information via the three-dimensional vision sensor 4.
  • the three-dimensional vision sensor 4 measures the position and shape of the container 91, the mounting table, and the object in the container 91 from above the container 91 and the mounting table.
  • the three-dimensional vision sensor 4 outputs the positions and shapes of the container 91, the mounting table, and the objects in the container 91 to the control device 5 in the form of point cloud data.
  • step S2 the control unit 51 acquires the target position of the robot arm 12. Specifically, the path generation unit 56 first detects the position of the object A based on the spatial information of the three-dimensional vision sensor 4. Then, the path generation unit 56 obtains the position of the robot arm 12 in a state of gripping the object A arranged at the detected position without interfering with other objects, and sets the position as the target position.
  • step S3 the control unit 51 acquires the start position of the robot arm 12.
  • the path generation unit 56 obtains the current position of the robot arm 12 based on the detection result of each encoder 15a, and sets the current position as the start position.
  • the path generation unit 56 can obtain the rotation angle of each joint from the detection result of each encoder 15a.
  • the dimensions of each link and hand of the robot arm 12 are known. Therefore, the path generation unit 56 can determine the position of each part of the robot arm 12 based on the rotation angle of each joint and the dimensions of each link and the hand.
  • step S4 the route generation unit 56 generates a route for the robot arm 12 from the start position to the target position.
  • the route generation process is executed and the route is generated.
  • step S5 the control unit 51 causes the robot arm 12 to execute the operation.
  • the operation command unit 58 generates a command value for moving the robot arm 12 along the route output from the route generation unit 56, and outputs the command value to the robot control device 2.
  • the robot control device 2 controls the servomotor 15 based on the command value to operate the robot arm 12.
  • the robot arm 12 moves along the path.
  • step S6 the control unit 51 determines whether or not the target position is the final target position. That is, the movement may be divided and include a plurality of target positions, such as a pick-and-place movement. In step S6, it is determined whether or not the current target position is the final target position, that is, whether or not the target position to be set next remains. In this process, since the second operation remains after the completion of the first operation, it is determined that the target position this time is not the final target position.
  • the control unit 51 ends the operation control of the robot arm 12. If there is only one target position, the target position this time is, of course, the final target position.
  • step S2 the target position of the next operation is newly set, and the processes after step S3 are executed.
  • the control unit 51 sets the target position of the robot arm 12 in the second operation as a new target position.
  • the path generation unit 56 obtains the position of the robot arm 12 in a state where the object A is placed on the mounting table without interfering with other objects, and sets the position as a new target position.
  • the target position of the robot arm 12 is updated. Then, the processes of steps S3 to S6 are repeated with respect to the new target position. In this process, the robot arm 12 finally moves to the target position of the second operation, and the object A is placed on the mounting table.
  • step S7 the control unit 51 again determines in step S7 whether or not the target position is the final target position. The above process is repeated until the target position reaches the final target position. In this process, since the target position of the second operation is the final target position, the control unit 51 ends the operation control of the robot arm 12.
  • FIG. 6 is a flowchart showing a route generation process of the robot arm 12 by the control device 5.
  • the route generation process is executed by the control unit 51 reading the route generation program 62 from the storage unit 52 into the memory 53 and expanding the route generation program 62.
  • the route generation unit 56 generates the route of the robot arm 12 in step sb1.
  • the route generation unit 56 In the first step sb1 in the route generation process, the route generation unit 56 generates an intermediate position that first passes through from the start position.
  • the route generation unit 56 generates intermediate positions at random or according to a predetermined rule (constraint).
  • the generation of the intermediate position can be regarded as the generation of the route to the intermediate position.
  • the term "current" intermediate position or route refers to the latest intermediate position or route generated in this step sb1.
  • the object setting unit 54 generates the first object model 71A, which is the object model 71 of the object included in the arrangement space of the robot arm 12, and is the object model 71 having the lowest density. All of the first object model 71A is formed by a point cloud of the first density. In this example, the object setting unit 54 generates the first object model 71A of each of the container 91, the mounting table, and the object in the container 91.
  • the device setting unit 55 generates the first device model 72A, which is the device model 72 of the robot arm 12 in the arrangement space and the device model 72 having the lowest density. All of the first device model 72A is formed by a point cloud of the first density. At this time, the device setting unit 55 generates the device model 72 of the robot arm 12 located at the intermediate position this time.
  • step sb4 the interference determination unit 57 determines whether or not to skip the interference determination. Specifically, when the interference determination unit 57 stores the marginal distance of the intermediate position before being connected to the intermediate position of this time in the storage unit 52, the marginal distance is the first device model 72A of the intermediate position of this time. It is determined whether or not it is larger than the movement amount of. In the first step sb4 in the route generation process, since the storage unit 52 does not store the margin distance of the previous intermediate position, the interference determination unit 57 determines that the interference determination is not skipped. The detailed processing of step sb4 will be described later.
  • the interference determination unit 57 determines in step sb5 whether or not the distance between the models of the first object model 71A and the first device model 72A is equal to or less than the first safety threshold value.
  • the first safety threshold is the distance between the models that can be estimated that the first object model 71A and the first device model 72A do not interfere with each other at the densities of the first object model 71A and the first device model 72A.
  • the interference determination unit 57 calculates the distance between two points for all combinations of the points included in the first object model 71A and the points included in the first device model 72A, and the shortest distance between the two points. Find the distance, that is, the distance between models.
  • the interference determination unit 57 determines whether or not the obtained inter-model distance is equal to or less than the first safety threshold value. However, when the distance between any two points is equal to or less than the first safety threshold value, the interference determination unit 57 sets the inter-model distance to the second even if the calculation of the distances between all the two points is not completed. It can be determined that the distance is equal to or less than one safety threshold.
  • the interference determination unit 57 is placed in the attention portion among the points included in the first object model 71A and the points included in the first device model 72A. Priority is given to the corresponding points, that is, the distance between the two points is calculated first from the point corresponding to the attention portion.
  • the portion of interest is the portion where there is a possibility of interference, and the distance between the two points is more likely to be equal to or less than the first safety threshold value as compared with the other portions. Therefore, the determination of whether or not the distance between models is equal to or less than the first safety threshold can be completed early, and the calculation load of the distance between two points may be reduced.
  • the interference determination unit 57 obtains the inter-model distance for each of the plurality of links of the robot arm 12, and compares the inter-model distance with the first safety threshold value for each link.
  • the link here also includes the hand 14. That is, the inter-model distance is obtained for each of the first link 12a, the second link 12b, the third link 12c, the fourth link 12d, the fifth link 12e, and the hand 14, and the inter-model distance is equal to or less than the first safety threshold value. It is determined whether or not there is.
  • the interference determination unit 57 determines whether or not the inter-model distance of at least one of the plurality of links is equal to or less than the first safety threshold value.
  • the first safety threshold value may be the same value for a plurality of links, or may be different for each link.
  • the interference determination unit 57 obtains the inter-model distance in order from the link on the tip side of the robot arm 12 among the plurality of links, and compares the obtained inter-model distance with the first safety threshold value. In this case, the interference determination unit 57 compares the inter-model distance and the first safety threshold value in order from the link on the tip side, and if the inter-model distance of any one link is equal to or less than the first safety threshold value, the rest. It can be determined that the inter-model distance of at least one of the plurality of links is equal to or less than the first safety threshold value without performing the inter-model distance calculation or the like for the above links.
  • the interference determination unit 57 determines the interference of the link (that is, the calculation of the inter-model distance and the inter-model distance). Do not compare with the safety threshold, etc.).
  • the interference determination unit 57 determines that there is no possibility of interference between the first object model 71A and the first device model 72A. If it is determined that there is no possibility of interference, the intermediate position this time is determined as one intermediate position between the start position and the target position, that is, one path. At this time, the interference determination unit 57 sets a value obtained by subtracting the first safety threshold value from the inter-model distance as a margin distance and stores it in the storage unit 52. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the interference determination unit 57 compares the inter-model distance for each link with the first safety threshold value, so that the inter-model distance of all the links of the plurality of links is the first. If it is larger than the safety threshold, it is determined that there is no possibility of interference.
  • the interference determination unit 57 obtains a margin distance for each of the links, and stores the margin distance for each link in the storage unit 52.
  • the route generation unit 56 determines in step sb13 whether or not the route has reached the target position. Specifically, the route generation unit 56 determines whether or not the intermediate position this time is an intermediate position immediately before the target position. When the intermediate position this time is an intermediate position immediately before the target position, it is determined that the route has reached the target position, and the route generation unit 56 determines the flow of operation control of the robot arm 12 shown in FIG. (That is, return to step S5). On the other hand, if the intermediate position this time is not the intermediate position immediately before the target position, the route generation unit 56 returns to step sb1 and generates the next intermediate position.
  • step sb1 the route generation unit 56 generates the next intermediate position, that is, the route, following the determined intermediate position (hereinafter, referred to as "previous intermediate position"). Then, in step sb2, the first object model 71A is set. When the already generated object model 71 is the first object model 71A, the object setting unit 54 uses the first object model 71A as it is. In the following step sb3, the device setting unit 55 generates the first device model 72A of the robot arm 12 located at a new intermediate position.
  • the route generation unit 56 determines whether or not to skip the interference determination.
  • the margin distance is the amount of movement of the first device model 72A to the intermediate position this time. Determine if it is greater than.
  • the amount of movement of the first device model 72A to the intermediate position this time is the closest approach of the first device model 72A at the previous intermediate position when the first device model 72A moves from the previous intermediate position to the current intermediate position. This is the amount of movement of the point (that is, the portion closest to the first object model 71A).
  • step sb13 the route generation unit 56 determines whether or not the route has reached the target position. When the route reaches the target position, the route generation unit 56 returns to the operation control flow of the robot arm 12 shown in FIG. 5 (that is, step S5). On the other hand, when the route has not reached the target position, the route generation unit 56 returns to step sb1 and generates the next intermediate position. In this way, the route generation unit 56 skips the interference determination with respect to the intermediate position this time, determines the intermediate position this time, and executes the subsequent processing.
  • the inter-model distance is the first safe distance even in the interference determination with respect to the first device model 72A located at the intermediate position this time. Is likely to be larger than. That is, if the interference determination is not skipped, it is predicted that the process of proceeding to step sb13 will be executed after the inter-model distance is calculated in step sb5. Therefore, by skipping the interference determination by the interference determination unit 57, it is possible to omit the calculation of the inter-model distance at the intermediate position this time.
  • the interference determination unit 57 When returning to step sb4 again through steps sb1, sb2, sb3 after skipping the interference determination, the interference determination unit 57 does not store the margin distance at the previous intermediate position in the storage unit 52.
  • step sb5 the inter-model distance between the first object model 71A and the first apparatus model 72A at the new intermediate position is calculated, and it is determined whether or not the inter-model distance is equal to or less than the first safety threshold.
  • the interference determination unit 57 determines that there is no possibility of interference, determines the intermediate position this time, and stores the margin distance this time. It is stored in the part 52. The process returns to step sb1, and the route generation unit 56 generates the next intermediate position.
  • FIG. 7 is a schematic view showing a state in which the first device model 72A approaches the first object model 71A. In FIG. 7, the first object model 71A of the container 91 and the first device model 72A of the robot arm 12 are shown.
  • the route generation unit 56 determines in step sb4 whether to omit the interference determination with respect to the route, that is, whether to skip or not for each link. That is, the route generation unit 56 determines for each of the plurality of links whether or not the margin distance is larger than the amount of movement of the first device model 72A to the intermediate position this time. The amount of movement of the first device model 72A to the intermediate position this time is the amount of movement of the closest point of each link.
  • the margin distance is larger than the movement amount of the first device model 72A in all the links, the interference determination is omitted as a whole of the robot arm 12, that is, it is skipped, and the route generation unit 56 proceeds to step sb13.
  • the path generation unit 56 does not omit the interference determination of the robot arm 12 as a whole.
  • the route generation unit 56 stores the link for omitting the interference determination in the storage unit 52.
  • the interference determination unit 57 determines the interference of the link (that is, the calculation of the inter-model distance and the inter-model distance and safety). Comparison with threshold, etc.) is omitted.
  • the interference determination is omitted for the links that are unlikely to interfere with the object because the distance between the models is sufficient, and the interference determination is performed only for the other links. This reduces the load of calculating the distance between models.
  • the interference determination unit 57 determines that there is a possibility of interference between the first object model 71A and the first device model 72A.
  • the interference determination unit 57 stores a portion in a predetermined range including the closest approach point in the storage unit 52 as a region of interest. That is, the storage unit 52 stores a set of attention portions, that is, the attention portion in the first object model 71A and the attention portion in the first device model 72A.
  • the closest point can be regarded as a portion determined to have the possibility of interference.
  • the interference determination unit 57 indicates that the distance is equal to or less than the first safety threshold value in the first object model 71A and the first device model 72A.
  • a portion of a predetermined range including each of the two points is stored in the storage unit 52 as a set of attention portions.
  • the interference determination unit 57 compares the inter-model distance for each link with the first safety threshold value, so that the inter-model distance of at least one link of the plurality of links is the first. If it is 1 or less than the safety threshold, it is determined that there is a possibility of interference. Then, a set of a predetermined range portion including the closest approach point of the link in which the inter-model distance is equal to or less than the first safety threshold value and a predetermined range portion including the closest approach point of the first object model 71A corresponding thereto. It is stored in the storage unit 52 as a part of interest.
  • a portion of a predetermined range including the closest approach point in each of the plurality of links whose inter-model distance is equal to or less than the first safety threshold value are stored in the storage unit 52 as a portion of interest. That is, a plurality of sets of attention portions are stored in the storage unit 52.
  • the interference determination unit 57 determines in step sb6 whether or not the inter-model distance is equal to or less than the interference threshold value.
  • the interference threshold is a value smaller than the first safety threshold.
  • the interference threshold is the same as the interference threshold used in the interference determination by the second object model 71B and the second device model 72B and the interference determination by the third object model 71C and the third device model 72C.
  • the interference threshold is the distance between the models that can be estimated to interfere with the third object model 71C and the third device model 72C at the densities of the third object model 71C and the third device model 72C.
  • the interference determination unit 57 determines that the first object model 71A and the first device model 72A interfere with each other.
  • the interference determination unit 57 has the inter-model distance equal to or less than the interference threshold value even if the calculation of the distance between all the two points is not completed. Can be determined to be. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the route generation unit 56 changes the intermediate position generated in step sb1 in step sb7.
  • the path generation unit 56 may regenerate at least an intermediate position such that the device model 72 moves away from the object model 71. After that, the process returns to step sb2.
  • the object setting unit 54 uses the first object model 71A as it is.
  • the device setting unit 55 generates the first device model 72A of the robot arm 12 located at the changed intermediate position.
  • the interference determination unit 57 determines that the interference determination is not skipped in the first step sb4 after the route change in step sb7.
  • the interference determination unit 57 determines whether the inter-model distance is equal to or less than the first safety threshold (step sb5) as described above, and if necessary, whether the inter-model distance is equal to or less than the interference threshold. The determination is made (step sb6).
  • step sb8 when the distance between the models is larger than the interference threshold value, in step sb8, the object setting unit 54 and the device setting unit 55 increase the densities of the object model 71 and the device model 72 by one step, respectively.
  • Step sb8 is reached when the inter-model distance is greater than the interference threshold and less than or equal to the first safety threshold. That is, it cannot be determined whether the first object model 71A and the first device model 72A are interfering with each other or not, and it can only be determined that there is a possibility of interference. Therefore, the interference determination unit 57 performs interference determination in more detail using the object model 71 and the device model 72, which are one step higher in density.
  • FIG. 8 is a schematic view showing a state in which the first object model 71A and the first device model 72A in FIG. 7 are changed to the second object model 71B and the second device model 72B.
  • the object setting unit 54 increases the density of the point cloud of the attention portion in the object model 71.
  • the portion of interest of the object model 71 is a portion including the closest point, which is a portion determined to have the possibility of interference in the interference determination of step sb5, and is stored in the storage unit 52.
  • the object setting unit 54 forms a part 91a of the wall, which is a notable part of the container 91, with a point cloud of the second density, and the other part is the first density. It is formed by a point cloud of.
  • the device setting unit 55 increases the density of the point cloud of the attention portion of the device model 72.
  • the portion of interest of the device model 72 is a portion including the closest point, which is a portion determined to have the possibility of interference in the interference determination of step sb5, and is stored in the storage unit 52.
  • the device setting unit 55 forms a part 12f of the fourth link 12d, which is a notable part of the robot arm 12, with a point cloud of the second density, and the other part is of the first density. It is formed by a point cloud.
  • step sb9 the interference determination unit 57 determines whether or not the distance between the models of the second object model 71B and the second device model 72B is equal to or less than the second safety threshold value.
  • the second safety threshold is the distance between the models that can be estimated that the second object model 71B and the second device model 72B do not interfere with each other at the densities of the second object model 71B and the second device model 72B.
  • the second safety threshold is a value smaller than the first safety threshold and larger than the interference threshold. That is, since the second safety threshold value is a threshold value for determining the possibility of interference between the second object model 71B and the second device model 72B having a higher density than the first object model 71A and the first device model 72A, it is finer. It is set to be smaller than the first safety threshold value in order to make a proper judgment.
  • the interference determination unit 57 calculates the distance between the two points included in the second object model 71B and the point included in the second device model 72B, and obtains the inter-model distance. At this time, the distance between the points included in the second object model 71B and the second device model 72B is calculated for the points included in the second density point cloud, that is, the points of interest. .. Of the points included in the second object model 71B and the second device model 72B, the distance between the two points is not calculated for the points in the point cloud that is not the second density. This is because the portion of interest in the second object model 71B and the second device model 72B is a portion determined to have the possibility of interference. The amount of calculation can be reduced by calculating the distance between two points as described above.
  • the interference determination unit 57 includes a point included in a part 91a of the wall of the container 91 in the second object model 71B and a point included in a part 12f of the fourth link 12d in the second device model 72B. Calculate the distance between the two points.
  • the interference determination unit 57 updates a portion in a predetermined range including the closest approach point of the second object model 71B and the second device model 72B as a region of interest, and stores the portion in the storage unit 52.
  • the interference determination unit 57 determines that there is no possibility of interference between the second object model 71B and the second device model 72B. If it is determined that there is no possibility of interference, the intermediate position this time is determined as one intermediate position between the start position and the target position, that is, one path. At this time, the interference determination unit 57 sets a value obtained by subtracting the second safety threshold value from the inter-model distance as a margin distance and stores it in the storage unit 52. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the route generation unit 56 determines in step sb13 whether or not the route has reached the target position. When the route reaches the target position, the route generation unit 56 returns to the operation control flow of the robot arm 12 shown in FIG. 5 (that is, step S5). On the other hand, when the route has not reached the target position, the route generation unit 56 returns to step sb1 and generates the next intermediate position.
  • the interference determination unit 57 determines that there is a possibility of interference between the second object model 71B and the second device model 72B.
  • the interference determination unit 57 has a second model-to-model distance even if the calculation of the distances between all the two points has not been completed. 2 It can be determined that the safety threshold is equal to or lower than the safety threshold. In such a case, the interference determination unit 57 sets the portion in a predetermined range including each of the two points whose distance is equal to or less than the second safety threshold in the second object model 71B and the second device model 72B as the attention portion. It is updated and saved in the storage unit 52.
  • the interference determination unit 57 determines in step sb10 whether or not the inter-model distance is equal to or less than the interference threshold value.
  • the interference threshold value is the same value as in the case of the determination in step sb6.
  • the interference determination unit 57 determines that the second object model 71B and the second device model 72B interfere with each other.
  • the interference determination unit 57 has the inter-model distance equal to or less than the interference threshold value even if the calculation of the distance between all the two points is not completed. Can be determined to be. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the route generation unit 56 changes the intermediate position generated in step sb1 in step sb7.
  • the processing after step sb7 is the same as the case where the inter-model distance is equal to or less than the interference threshold in the interference determination of the first object model 71A and the first device model 72A. Since the process returns to steps sb2 and sb3 after step sb7, interference determination is performed from the first object model 71A and the first device model 72A with respect to the changed intermediate position.
  • step sb11 when the distance between the models is larger than the interference threshold value, in step sb11, the object setting unit 54 and the device setting unit 55 increase the densities of the object model 71 and the device model 72 by one step, respectively.
  • Step sb11 is reached when the inter-model distance is greater than the interference threshold and less than or equal to the second safety threshold. That is, it cannot be determined whether the second object model 71B and the second device model 72B are interfering with each other or not, and it can only be determined that there is a possibility of interference. Therefore, the interference determination unit 57 performs interference determination using the object model 71 and the device model 72 whose density is one step higher.
  • FIG. 9 is a schematic view showing a state in which the second object model 71B and the second device model 72B in FIG. 8 are changed to the third object model 71C and the third device model 72C.
  • the object setting unit 54 increases the density of the point cloud of the attention portion in the object model 71.
  • the portion of interest of the object model 71 is a portion including the closest point, which is a portion determined to have the possibility of interference in the interference determination of step sb9, and is stored in the storage unit 52.
  • the object setting unit 54 forms a part 91a of the wall, which is a notable part of the container 91, with a point cloud of the third density, and the other part is the first density. It is formed by a point cloud of.
  • the device setting unit 55 increases the density of the point cloud of the attention portion of the device model 72.
  • the portion of interest of the device model 72 is a portion including the closest point, which is a portion determined to have the possibility of interference in the interference determination of step sb9, and is stored in the storage unit 52.
  • the device setting unit 55 forms a part 12f of the fourth link 12d, which is a notable part of the robot arm 12, with a point cloud of the third density, and the other part is of the first density. It is formed by a point cloud.
  • the interference determination unit 57 determines whether or not the distance between the models of the third object model 71C and the third device model 72C is equal to or less than the interference threshold value.
  • the interference threshold value is the same value as in the case of the determination in steps sb6 and sb10.
  • the interference determination unit 57 calculates the distance between the two points included in the third object model 71C and the point included in the third device model 72C, and obtains the inter-model distance. At this time, the distance between two points among the points included in the third object model 71C and the third device model 72C is calculated for the point cloud of the third density, that is, the points included in the attention portion. .. Of the points included in the third object model 71C and the third device model 72C, the distance between the two points is not calculated for the points in the point cloud that is not the third density. This is because the portion of interest in the third object model 71C and the third device model 72C is a portion determined to have the possibility of interference.
  • the interference determination unit 57 includes a point included in a part 91a of the wall of the container 91 in the third object model 71C and a point included in a part 12f of the fourth link 12d in the third device model 72C. Calculate the distance between the two points.
  • the interference determination unit 57 updates a portion in a predetermined range including the closest approach point of the third object model 71C and the third device model 72C as a region of interest, and stores the portion in the storage unit 52.
  • the interference determination unit 57 determines that there is no possibility of interference between the third object model 71C and the third device model 72C. If it is determined that there is no possibility of interference, the intermediate position this time is determined as one intermediate position between the start position and the target position, that is, one path. At this time, the interference determination unit 57 sets a value obtained by subtracting the interference threshold value from the inter-model distance as a margin distance and stores it in the storage unit 52. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the route generation unit 56 determines in step sb13 whether or not the route has reached the target position. When the route reaches the target position, the route generation unit 56 returns to the operation control flow of the robot arm 12 shown in FIG. 5 (that is, step S5). On the other hand, when the route has not reached the target position, the route generation unit 56 returns to step sb1 and generates the next intermediate position.
  • the interference determination unit 57 determines that the third object model 71C and the third device model 72C interfere with each other.
  • the interference determination unit 57 has the inter-model distance equal to or less than the interference threshold value even if the calculation of the distance between all the two points is not completed. Can be determined to be. As a result, the interference determination with respect to the intermediate position, that is, the path of this time is completed.
  • the route generation unit 56 changes the intermediate position generated in step sb1 in step sb7.
  • the processing after step sb7 is the same as the case where the inter-model distance is equal to or less than the interference threshold in the interference determination of the first object model 71A and the first device model 72A. Since the process returns to steps sb2 and sb3 after step sb7, interference determination is performed from the first object model 71A and the first device model 72A with respect to the changed intermediate position.
  • the interference determination is performed in order from the generated intermediate position, that is, the object model 71 and the device model 72 having the lowest density with respect to the path. Specifically, first, using the first object model 71A and the first device model 72A, the distance between the models is larger than the first safety threshold, is equal to or less than the first safety threshold, and is larger than the interference threshold, or It is determined whether it is below the interference threshold. When the distance between models is larger than the first safety threshold, it is determined that there is no possibility of interference in the generated route, and the next route is generated. When the distance between models is equal to or less than the interference threshold, it is determined that interference occurs in the generated route, and the route is changed. When the distance between models is equal to or less than the first safety threshold value and larger than the interference threshold value, it is determined that there is a possibility of interference.
  • the interference determination is performed using the object model 71 and the device model 72, which have one step higher density, in order to determine the presence or absence of interference in more detail. That is, using the second object model 71B and the second device model 72B, whether the distance between the models is larger than the second safety threshold, is less than the second safety threshold and is larger than the interference threshold, or is less than or equal to the interference threshold. Is determined. When the distance between models is larger than the second safety threshold, it is determined that there is no possibility of interference in the generated route, and the next route is generated. When the distance between models is equal to or less than the interference threshold, it is determined that interference occurs in the generated route, and the route is changed. When the distance between models is equal to or less than the second safety threshold value and larger than the interference threshold value, it is determined that there is a possibility of interference.
  • the interference determination is performed using the object model 71 and the device model 72 whose density is one step higher. That is, using the third object model 71C and the third device model 72C, it is determined whether the distance between the models is larger than the interference threshold value or less than or equal to the interference threshold value. Since the third object model 71C and the third device model 72C are the models with the highest density, only whether or not the inter-model distance is equal to or less than the interference threshold is determined. When the distance between models is larger than the interference threshold, it is determined that there is no possibility of interference in the generated route, and the next route is generated. When the distance between models is equal to or less than the interference threshold, it is determined that interference occurs in the generated route, and the route is changed.
  • Such interference determination is performed based on the distance between the models of the object model 71 and the device model 72.
  • the inter-model distance is obtained by calculating the distance between the points included in the object model 71 and the points included in the device model 72. Therefore, as the number of points included in the point cloud model increases, the amount of calculation increases and the calculation time becomes longer.
  • the path generation device 3 makes an interference determination using the first object model 71A and the first device model 72A, which have low densities with respect to the generated path, and ends the interference determination if there is no possibility of interference. If it is determined that there is a possibility of interference, the path is determined, and the second object model 71B and the second device model 72B, which have higher densities, are changed to perform the interference determination again. According to this, since the interference determination is performed by using the object model 71 and the device model 72 having low densities in order, the presence or absence of interference is determined by the interference determination using the first object model 71A and the first device model 72A having low densities.
  • the amount of calculation of the distance between the point included in the first object model 71A and the point included in the first device model 72A is reduced.
  • the object model 71 having a low density is used, the accuracy of the interference determination is lowered.
  • the path generation device 3 cannot determine the presence or absence of interference by the interference determination using the first object model 71A and the first device model 72A, it determines that there is a possibility of interference and determines that there is a possibility of interference, and the first object model.
  • the interference determination is performed again by changing from the 71A and the first device model 72A to the second object model 71B and the second device model 72B having a high density.
  • the interference determination can be performed with higher accuracy.
  • the interference determination of the route generation device 3 it is possible to achieve both a reduction in the interference determination time and an improvement in accuracy.
  • the path generator 3 sets the density of the object model 71 in three stages.
  • the path generation device 3 includes a first object model 71A, a second object model 71B and a third object model 71C having different densities, and a first device model 72A, a second device model 72B and a third device model. Interference is determined using 72C in ascending order of density. As a result, it is possible to gradually balance the reduction of the interference determination time and the improvement of the accuracy.
  • both the object model 71 and the device model 72 are formed by the point cloud model.
  • the calculation of the distance between the object model 71 and the device model 72 is the calculation of the distance between the two points.
  • the calculation of the distance between the object model 71 and the device model 72 is simplified.
  • the path generation device 3 changes the density of the device model 72 according to the density of the object model 71.
  • the device model 72 can be formed by a point cloud model of first density, second density and third density which increases in order.
  • the interference determination is performed using the first object model 71A in order to prioritize the reduction of the amount of calculation
  • the first device model 72A having the highest density of the first density is used.
  • the points included in the first object model 71A and the points included in the first device model 72A It is possible to reduce the amount of calculation of the distance between the two points.
  • the third device model 72C having the highest density of the third density is used.
  • the third device model 72C having the highest density is used to make the interference between the third object model 71C and the third device model 72C more accurate. Can be determined.
  • the second device model 72B having the highest density of the second density is used.
  • the second object model 71B having an intermediate density and the second device model 72B having an intermediate density it is possible to improve the accuracy of interference determination while reducing the calculation load.
  • the tendency of the density increase / decrease of the device model 72 with the tendency of the density increase / decrease of the object model 71 in this way it becomes easy to achieve both a reduction in the interference determination time and an improvement in the accuracy.
  • the path generation device 3 that generates the path of the robot arm 12 is the object setting unit 54 that sets the object model 71 that is a model of the object included in the arrangement space in which the robot arm 12 is arranged.
  • An interference determination unit 57 that determines interference between the object model 71 and the device model 72 after moving along the path based on the distance is provided, and at least one of the object model 71 and the device model 72 is formed by a point group.
  • the interference determination unit 57 determines that there is a possibility of interference in the point group model
  • at least one of the object setting unit 54 and the device setting unit 55 determines the density of the point group of the point group model.
  • the interference determination unit 57 re-performed the interference determination using the point group model in which the density of the point group became high, and the path generation unit 56 was determined by the interference determination unit 57 that there was no possibility of interference. In that case, the following route is generated.
  • the route generation method for generating the path of the robot arm 12 is to set the object model 71, which is a model of the object included in the arrangement space in which the robot arm 12 is arranged, and the robot in the arrangement space.
  • the object model 71 and the path based on the setting of the device model 72 which is the model of the arm 12, the stepwise generation of the path of the robot arm 12, and the distance between the object model 71 and the device model 72.
  • At least one of the object model 71 and the device model 72 is a point group model formed by a point group, and there is a possibility of interference, including performing an interference determination with the device model 72 after moving.
  • At least one of setting the object model 71 and setting the device model 72 increases the density of the point group of the point group model and performs the interference determination.
  • the interference determination is performed again using the point group model in which the density of the group is increased and the path is generated, the next path is generated when it is determined by the interference determination that there is no possibility of interference.
  • the path generation program 62 has a function of setting an object model 71, which is a model of an object included in the arrangement space in which the robot arm 12 is arranged, in the computer in order to generate an operation of the robot arm 12 (moving device).
  • An object model based on the function of setting the device model 72, which is a model of the robot arm 12 in the arrangement space, the function of stepwise generating the path of the robot arm 12, and the distance between the object model 71 and the device model 72.
  • the function of determining interference between the object model 71 and the device model 72 after moving along the path is realized, and at least one of the object model 71 and the device model 72 is a point group model formed by a point group and interferes.
  • At least one of the function of setting the object model 71 and the function of setting the device model 72 increases the density of the point group of the point group model and determines the interference.
  • the function of performing the interference determination is performed again using the point group model in which the density of the point group is increased, and the function of generating the path is as follows when it is determined by the interference determination that there is no possibility of interference. Generate a route for.
  • the path of the robot arm 12 is generated stepwise.
  • the interference determination between the object model 71 and the device model 72 after moving along the path is performed.
  • the interference determination is performed based on the distance between the object model 71 and the device model 72.
  • at least one of the object model 71 and the device model 72 is a point cloud model. If it is determined that there is a possibility of interference as a result of the interference determination, the density of the point cloud of the point cloud model is increased, and the interference determination is performed again. If it is determined that there is no possibility of interference, the next route is generated. In this way, the interference determination is first performed using a point cloud model having a relatively low density.
  • the distance calculation load is small in the interference determination using the point cloud model with low density.
  • the interference determination using the point cloud model with low density it may be determined that there is no possibility of interference, and in such a case, the calculation load of the distance is reduced.
  • the interference determination is performed again using the high density point cloud model.
  • both the object model 71 and the device model 72 may be a point group model, and only the object model 71 is a point group model.
  • only the device model 72 may be a point group model.
  • the object setting unit 54 and the device setting unit 55 When at least one of the object setting unit 54 and the device setting unit 55 is determined by the interference determination unit 57 that there is a possibility of interference, the object setting unit 54 and the device setting unit 55 include a portion determined to have an interference possibility in the interference determination. Increase the density of some point clouds in the point cloud model.
  • At least one of the object setting unit 54 and the device setting unit 55 that is, the one of the object setting unit 54 and the device setting unit 55 that sets the point cloud model is determined to have a possibility of interference.
  • the density of some point clouds in the point cloud model including the part determined by the interference determination to be likely to interfere. To raise.
  • the interference determination unit 57 determines that there is a possibility of interference when the inter-model distance, which is the shortest distance between the object model 71 and the device model 72, is equal to or less than a predetermined safety threshold, and the inter-model distance is the safety threshold. If it is larger than, it is determined that there is no possibility of interference.
  • the presence or absence of the possibility of interference is determined depending on whether or not the distance between the models of the object model 71 and the device model 72 is equal to or less than the safety threshold.
  • the interference determination unit 57 determines that interference occurs when the inter-model distance is equal to or less than the interference threshold value smaller than the safety threshold value, and the route generation unit 56 determines that interference occurs by the interference determination unit 57. change.
  • the interference determination unit 57 determines three states of no possibility of interference, possibility of interference, and interference based on the distance between models. Specifically, when the distance between models is larger than the safety threshold, it is determined that there is no possibility of interference, and when the distance between models is less than or equal to the safety threshold and larger than the interference threshold, interference occurs. It is determined that there is a possibility, and if the distance between models is equal to or less than the interference threshold value, it is determined that interference occurs.
  • the next route is generated, if it is determined that there is interference, the route is changed, and if it is determined that there is a possibility of interference, the density
  • the interference determination is performed again using the higher point cloud model. By repeating such processing, a route is generated step by step.
  • the safety threshold is set so that the higher the density of the point cloud in the point cloud model, the smaller it becomes.
  • the interference determination can be performed using an appropriate safety threshold value according to the density of the point cloud of the point cloud model. That is, when the density of the point cloud model is low, the point cloud model is not fine, and at this time, the safety threshold is set relatively large. As a result, it is possible to prevent erroneous determination that there is no interference even though it interferes. On the other hand, when the density of the point cloud model is high, the point cloud model is fine, and at this time, the safety threshold is set relatively small. Since the point cloud model is fine, it is possible to accurately determine the presence or absence of the possibility of interference even if the safety threshold is relatively small.
  • the robot arm 12 as an operating device has a plurality of links and a plurality of joints connecting the plurality of links, and the interference determination unit 57 obtains the inter-model distance for each of the plurality of links, and a plurality of links are obtained.
  • the inter-model distance of at least one link of the link is equal to or less than the safety threshold, it is determined that there is a possibility of interference, and when the inter-model distance of all the links of the plurality of links is larger than the safety threshold, the interference occurs. Judge that there is no possibility.
  • the inter-model distance is obtained for each link of the robot arm 12, the inter-model distance is compared with the safety threshold for each link, and the presence or absence of the possibility of interference is determined for each link.
  • the interference determination unit 57 obtains the inter-model distance in order from the link on the tip side of the robot arm 12 among the plurality of links, and compares the obtained inter-model distance with the safety threshold value.
  • the presence or absence of the possibility of interference is determined in order from the link located on the tip side of the robot arm 12.
  • the link on the tip side has a larger movable range, so that the link on the tip side has a higher possibility of interference with an object.
  • the interference determination unit 57 determines that there is a possibility of interference if there is even one link whose inter-model distance is equal to or less than the safety threshold. That is, if even one link whose inter-model distance is equal to or less than the safety threshold is found in a plurality of links, the calculation of the inter-model distance can be omitted for the remaining links.
  • the interference determination unit 57 determines that there is no possibility of interference, the interference determination unit 57 obtains a margin distance which is a value obtained by subtracting the safety threshold from the inter-model distance, and when the route generation unit 56 generates a route, this time.
  • the margin distance of the route before connecting to the route is larger than the movement amount of the device model 72 of the current route, the interference determination with respect to the current route is omitted.
  • the route generation unit 56 when the route generation unit 56 generates a new route, when the margin distance in the interference determination with respect to the route before the movement amount of the device model 72 along the route is large, the current route is selected. On the other hand, the interference judgment is omitted and the next route is generated. Even if the device model 72 moves along the current path, the distance between the models of the object model 71 and the device model 72 is likely to be larger than the safety threshold. As a result, the interference determination is skipped, so that the calculation load related to the interference determination is reduced and the overall processing is simplified.
  • the robot arm 12 as an operating device has a plurality of links and a plurality of joints connecting the plurality of links, and the interference determination unit 57 obtains the inter-model distance for each of the plurality of links, and a plurality of links are obtained.
  • the distance between models of at least one link is equal to or less than a predetermined safety threshold, it is determined that there is a possibility of interference, and when the distance between models of all links of a plurality of links is larger than the safety threshold, it is determined that there is a possibility of interference.
  • the route generation unit 56 determines whether or not to omit the interference determination for the current route for each of the plurality of links when generating the route. Judge to.
  • the calculation load related to the interference determination can be further reduced. That is, in a configuration in which it is determined whether or not to omit the interference determination in the entire robot arm 12 as an operating device, the interference determination cannot be omitted even if the robot arm 12 includes a link capable of omitting the interference determination. If the link is included, the robot arm 12 does not omit the interference determination. On the other hand, in the configuration in which it is determined whether to omit the interference determination for each link, the interference determination is omitted when the robot arm 12 includes a link in which the interference determination can be omitted and a link in which the interference determination cannot be omitted. Interference determination of possible links can be omitted, and interference determination can be made only for links for which interference determination cannot be omitted. As a result, the calculation load related to the interference determination can be further reduced.
  • At least the object model 71 of the object model 71 and the device model 72 is a point cloud model.
  • the point cloud data of the device model 72 is often prepared, that is, saved in advance. Therefore, when the device model 72 is formed by the point cloud model, it is necessary to prepare the point cloud data in advance.
  • the information of the object in the arrangement space is usually acquired by a device such as a three-dimensional vision sensor 4 that acquires the object information. According to such a device, the point cloud data of the object can be easily acquired.
  • the device model 72 is formed by the point cloud model, it is not necessary to prepare the point cloud data in advance, and the point cloud data can be acquired on the spot by the three-dimensional vision sensor 4 or the like. As a result, it is possible to easily realize the interference determination using the point cloud model even for an unknown object.
  • both the object model 71 and the device model 72 are point cloud models.
  • the distance between the object model 71 and the device model 72 is the distance between the points included in the object model 71 and the points included in the device model 72. That is, the calculation of the distance is the calculation of the distance between two points, and the calculation itself becomes simple. On the other hand, as the number of points included in the object model 71 and the device model 72 increases, the calculation load increases. On the other hand, as described above, the calculation load is reduced by performing the interference determination by using the point cloud models having the lowest densities in order.
  • the interference determination unit 57 determines that there is a possibility of interference
  • the object setting unit 54 increases the density of the point cloud of the object model 71
  • the device setting unit 55 increases the density of the point cloud of the device model 72.
  • the density of the group is increased, and the interference determination unit 57 determines the interference between the device model 72 having a high density of the point cloud and the object model 71 having a high density of the point cloud.
  • the density of the point clouds of both the object model 71 and the device model 72 is increased. That is, when the density of the object model 71 is low in order to reduce the calculation load, the density of the device model 72 is also low, so that the reduction of the calculation load is promoted. On the other hand, when the density of the object model 71 is high in order to improve the accuracy of the interference determination, the density of the device model 72 is also high, so that the improvement of the accuracy of the interference determination is promoted.
  • the object setting unit 54 increases the density of a part of the point group of the object model 71 including the portion determined to have the possibility of interference in the interference determination, and the device setting unit 55 interferes in the interference determination.
  • the density of some point groups of the device model 72 is increased, including the portion determined to be possible.
  • the object setting unit 54 when it is determined that there is a possibility of interference, the object setting unit 54 does not increase the density of all the point groups of the object model 71, but has a possibility of interference in the interference determination.
  • the density of a part of the point group of the object model 71 including the part determined to be present is increased.
  • the amount of processing when the object setting unit 54 increases the density of the object model 71 can be reduced.
  • the device setting unit 55 does not increase the density of all the point clouds of the device model 72, but determines that there is a possibility of interference in the interference determination. Increase the density of some point clouds in the device model 72, including the determined portion. As a result, the amount of processing when the device setting unit 55 increases the density of the device model 72 can be reduced.
  • the operating device is not limited to the robot arm 12 and the robot 1. Any device that operates can be the target of the operating device.
  • the operating device may be a robot that does not have a robot arm, such as a self-propelled robot.
  • the operating device may be a moving body such as a drone.
  • the robot 1 is not limited to an industrial robot.
  • the operating device may be the finger 14a of the hand 14 instead of the robot arm 12.
  • the point cloud data that is the basis of the object model 71 generated by the object setting unit 54 is not limited to the point cloud data output from the three-dimensional vision sensor 4.
  • the object setting unit 54 may generate point cloud data from, for example, an RGB-D image output from an RGB-D camera. Further, the object setting unit 54 may generate point cloud data from an RGB image output from a stereo camera in addition to the RGB-D image, or generate point cloud data based on a depth image, a voxel, or the like. You may.
  • the object setting unit 54 is not limited to a configuration that generates point cloud data based on data output from a device such as a sensor or a camera, but is acquired in advance and stored in the storage unit 52 or another device.
  • the object model 71 may be generated based on the point cloud data.
  • One of the object model 71 and the device model 72 does not have to be a point cloud model.
  • the object setting unit 54 may generate the object model 71 with a point cloud model, while the device setting unit 55 may generate the device model 72 with a model other than the point cloud model.
  • the object setting unit 54 may generate the object model 71 by a model other than the point cloud model, while the device setting unit 55 may generate the device model 72 by the point cloud model.
  • the device setting unit 55 has an outer surface similar to that of the actual operating device (robot arm 12 in this example).
  • the device model 72 having the device model 72 may be generated.
  • the device setting unit 55 may be a device model 72 formed by approximating the outer shape of an actual operating device to a cylinder or a polygon, a device model 72 formed of polygons, or the like.
  • the distance between the point included in the object model and the device model is the distance between the point included in the object model and the surface forming the device model 72.
  • the object setting unit 54 generates a model other than the point cloud model.
  • the object setting unit 54 changes the density of the object model 71 in three stages, but is not limited to this.
  • the object setting unit 54 may change the density of the object model 71 in two stages or four or more stages.
  • the object setting unit 54 may change the density of the entire object model 71, not only the density of only a part of the object model 71 including the portion of interest.
  • the device setting unit 55 changes the density of the device model 72 in three stages, but is not limited to this.
  • the device setting unit 55 may change the density of the device model 72 in two stages or four or more stages. Further, the first density, the second density, and the third density of the device model 72 do not have to be the same as the first density, the second density, and the third density of the object model 71, respectively.
  • the device setting unit 55 changes not only the density of the link including the attention portion of the device model 72 but also the density of the entire device model 72, that is, the entire density of the robot arm 12. You may.
  • the device setting unit 55 changes not the density of the entire link including the attention portion but the density of only a part of the links including the attention portion including the attention portion. You may.
  • the density of the object model 71 may be changed, and it is not essential to change the density of the device model 72.
  • the route of the operating device is not limited to the route in the above-mentioned pick-and-place operation. This technique can be applied to the generation of routes in various operations of an operating device.
  • the start position of the route is acquired by the detection result of the encoder 15a, but is not limited to this.
  • the target position is acquired by recognizing the spatial information from the three-dimensional vision sensor 4 by image recognition technology, but the target position is not limited to this.
  • the start position or the target position may be acquired by the control unit 51 by receiving an input from the outside.
  • the control device 5 may have an operation input unit such as a touch panel, and the user may select a start position and / or a target position from an image of the arrangement space displayed on the touch panel.
  • the start position and / or the target position may be predetermined and stored in the storage unit 52 or the like.
  • the safety threshold is set to be smaller as the density of the point cloud of the object model 71 is higher, but the safety threshold is not limited to this. That is, it is not essential that the first safety threshold is larger than the second safety threshold.
  • the first safety threshold value and the second safety threshold value may be the same value.
  • the interference threshold is the same value in the interference determination of the object models 71 having different densities, but is not limited to this.
  • the interference threshold value may be set to decrease as the density of the point cloud of the object model 71 increases.
  • the interference determination is skipped.
  • the amount of movement of the first device model 72A to the intermediate position this time is the closest approach point of the previous first device model 72A when the first device model 72A moves from the previous intermediate position to the current intermediate position.
  • the amount of movement is not limited to this.
  • the maximum movement amount of each part (for example, a plurality of joints and the fingertips of the hand 14) of the first device model 72A may be used.
  • an upper limit of the amount of movement of each part (a plurality of joints and fingertips of the hand 14) of the device model 72 is set as a rule for generating an intermediate position, the upper limit may be used. ..
  • the skip of the interference determination in step sb4 may be skipped not only for the next intermediate position but also for the interference determination of a plurality of intermediate positions after the next time. For example, when the margin distance is larger than the amount of movement of the first apparatus model 72A to the plurality of intermediate positions from the next time onward, the interference determination for the plurality of intermediate positions may be skipped.
  • step sb4 may be omitted.
  • steps sb9, sb11, and sb12 are omitted. That is, it is determined whether or not the distance between the models of the second object model 71B and the second device model 72B is equal to or less than the interference threshold value. It is not determined whether the distance between models is equal to or less than the second safety threshold. If the inter-model distance is less than or equal to the interference threshold, the intermediate position is changed in step sb7. When the distance between the models is larger than the interference threshold value, it is determined in step sb13 whether or not the target position has been reached.
  • the inter-model distance is equal to or less than the interference threshold in the interference determination of the third object model 71C and the third device model 72C.
  • the safety threshold value that is, the third safety threshold value.
  • the interference determination between the object model 71 having the highest density and the device model 72 it is not determined whether or not the inter-model distance is equal to or less than the safety threshold value, and it is determined whether or not the inter-model distance is the interference threshold value.
  • control device 5 starts the movement of the robot arm 12 after generating all the stepwise paths from the start position to the target position, but the present invention is not limited to this.
  • the control device 5 may move the robot arm 12 along the path each time each of the paths generated stepwise from the start position to the target position is generated and determined.
  • steps may be changed, a plurality of steps may be processed in parallel, steps may be omitted, or steps may be added as long as the desired processing can be realized.
  • the functions of the elements disclosed herein include general purpose processors, dedicated processors, integrated circuits, ASICs (Application Specific Integrated Circuits), conventional circuits, and / or them that are configured or programmed to perform the disclosed functions. Can be performed using a circuit or processing circuit that includes a combination of.
  • a processor is considered a processing circuit or circuit because it contains transistors and other circuits.
  • a circuit, unit, or means is hardware that performs the listed functions or is programmed to perform the listed functions.
  • the hardware may be the hardware disclosed herein, or it may be other known hardware that is programmed or configured to perform the listed functions.
  • the circuit, means, or unit is a combination of hardware and software, and the software is used to configure the hardware and / or processor.
  • Robot system 100 Robot system 1 Robot 12 Robot arm (moving device) 3 Route generation device 54 Object setting unit 55 Device setting unit 56 Route generation unit 57 Interference determination unit 62 Route generation program 71 Object model 72 Device model

Abstract

経路生成装置3は、物体モデル71を設定する物体設定部54と、ロボットアーム12のモデルである装置モデル72を設定する装置設定部55と、ロボットアーム12の経路を段階的に生成する経路生成部56と、物体モデル71と装置モデル72との距離に基づいて、物体モデル71と経路に沿って移動した後の装置モデル72との干渉判定を行う干渉判定部57とを備えている。物体モデル71と装置モデル72との干渉の可能性があると干渉判定部57によって判定された場合には、物体設定部54及び装置設定部55の少なくとも一方は、点群モデルの点群の密度を高くし、干渉判定部57は、点群の密度が高くなった点群モデルを用いて干渉判定を行う。経路生成部56は、干渉の可能性がないと干渉判定部57によって判定された場合には次の経路を生成する。

Description

経路生成装置、経路生成方法及び経路生成プログラム
 本開示は、経路生成装置、経路生成方法及び経路生成プログラムに関する。
 従来より、動作装置の経路を生成する技術が知られている。例えば、特許文献1には、ロボットと障害物との干渉を判定しつつ、ロボットの経路を計画する装置が開示されている。
特開2013-246553号公報
 動作装置の経路を生成する場合には、特許文献1の装置のように、障害物等の物体と動作装置との干渉を判定する必要がある。干渉判定は、経路を生成する上で何度も行われる。例えば、所定の開始位置から終了位置に至る経路を生成する場合には、その経路上の複数個所で行われる。また、干渉判定によって物体と動作装置とが干渉すると判定された場合には、経路を変更して再び干渉判定が行われる。通常、干渉判定は、物体と動作装置との距離を演算することによって行われる。前述の如く、経路生成においては干渉判定が何度も行われるので、物体と動作装置との距離の演算の時間がかかると、経路生成の時間が長期化することになる。その一方で、経路生成の時間を短縮するために、物体と動作装置との距離の演算を簡略化すると、物体と動作装置との干渉判定の精度が低下する。
 本開示は、かかる点に鑑みてなされたものであり、その目的とするところは、干渉判定の時間の短縮と精度の向上とを両立させることにある。
 本開示の経路生成装置は、動作装置の経路を生成する経路生成装置であって、前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定する物体設定部と、前記配置空間における前記動作装置のモデルである装置モデルを設定する装置設定部と、前記動作装置の経路を段階的に生成する経路生成部と、前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行う干渉判定部とを備え、前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると前記干渉判定部によって判定された場合には、前記物体設定部及び前記装置設定部の少なくとも一方は、前記点群モデルの前記点群の密度を高くし、前記干渉判定部は、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、前記経路生成部は、干渉の可能性がないと前記干渉判定部によって判定された場合には次の経路を生成する。
 本開示の経路生成方法は、動作装置の経路を生成する経路生成方法であって、前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定することと、前記配置空間における前記動作装置のモデルである装置モデルを設定することと、前記動作装置の経路を段階的に生成することと、前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行うこととを含み、前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると前記干渉判定によって判定された場合には、前記物体モデルを設定すること及び前記装置モデルを設定することの少なくとも一方において、前記点群モデルの前記点群の密度を高くし、前記干渉判定を行うことにおいて、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、前記経路を生成することにおいては、干渉の可能性がないと前記干渉判定によって判定された場合には次の経路を生成する。
 本開示の経路生成プログラムは、動作装置の動作を生成するためにコンピュータに、前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定する機能と、前記配置空間における前記動作装置のモデルである装置モデルを設定する機能と、前記動作装置の経路を段階的に生成する機能と、前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行う機能とを実現させ、前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると前記干渉判定によって判定された場合には、前記物体モデルを設定する機能及び前記装置モデルを設定する機能の少なくとも一方は、前記点群モデルの前記点群の密度を高くし、前記干渉判定を行う機能は、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、前記経路を生成する機能は、干渉の可能性がないと前記干渉判定によって判定された場合には次の経路を生成する。
 前記経路生成装置によれば、干渉判定の時間の短縮と精度の向上とを両立させることができる。
 前記経路生成方法によれば、干渉判定の時間の短縮と精度の向上とを両立させることができる。
 前記経路生成プログラムによれば、干渉判定の時間の短縮と精度の向上とを両立させることができる。
図1は、ロボットシステムの構成を示す模式図である。 図2は、ロボット制御装置及び制御装置の概略的なハードウェア構成を示す図である。 図3は、制御部の制御系統の構成を示すブロック図である。 図4は、物体モデル及び装置モデルの一例を示す図である。 図5は、制御装置によるロボットアームの動作制御を示すフローチャートである。 図6は、制御装置によるロボットアームの経路生成処理を示すフローチャートである。 図7は、第1装置モデルが第1物体モデルに接近した状態を示す模式図である。 図8は、図7における第1物体モデル及び第1装置モデルが第2物体モデル及び第2装置モデルに変更された状態を示す模式図である。 図9は、図8における第2物体モデル及び第2装置モデルが第3物体モデル及び第3装置モデルに変更された状態を示す模式図である。
 以下、例示的な実施形態を図面に基づいて詳細に説明する。図1は、ロボットシステム100の構成を示す模式図である。
 ロボットシステム100は、ロボット1と、ロボット1の経路を生成する経路生成装置3とを備えている。経路生成装置3は、制御装置5を備えている。経路生成装置3は、ロボット1が配置された配置空間の情報を取得する三次元ビジョンセンサ4を備えていてもよい。ロボットシステム100では、制御装置5が三次元ビジョンセンサ4の検出結果を参照してロボット1の経路を生成すると共に、ロボット1の動作を制御する。
 この例では、ロボット1は、コンテナ91内の物体を搬出したり、コンテナ91内へ物体を搬入したりする。
 ロボット1は、この例では、産業用ロボットである。ロボット1は、ロボットアーム12と、ロボット1の全体を制御するロボット制御装置2とを有している。ロボットアーム12は、エンドエフェクタとしてのハンド14を有している。ロボットアーム12は、ハンド14によって物体を把持する。ロボット1は、動作装置の一例であり、より具体的には、ロボットアーム12が動作装置の一例である。
 ロボット1が配置される空間には、直交3軸のロボット座標系が規定されている。例えば、上下方向にZ軸が設定され、水平方向に互いに直交するX軸及びY軸が設定される。
 ロボットアーム12は、三次元状に動作するように構成されている。具体的には、ロボットアーム12は、少なくとも3自由度の並進を含む動作を行うように構成されている。この例では、ロボットアーム12は、垂直多関節型のロボットアームである。ロボットアーム12は、ベース10に支持されている。ロボットアーム12は、複数のリンクと、複数のリンクを連結する複数の関節とを有している。
 詳しくは、ロボットアーム12は、ベース10に連結された第1リンク12aと、第1リンク12aに連結された第2リンク12bと、第2リンク12bに連結された第3リンク12cと、第3リンク12cに連結された第4リンク12dと、第4リンク12dに連結された第5リンク12eとを有している。尚、ハンド14も、ロボットアーム12の1つのリンクとみなすことができる。
 詳しくは、ベース10と第1リンク12aとは、鉛直方向に延びる軸回りに回転可能な第1関節13aを介して互いに連結されている。第1リンク12aと第2リンク12bとは、水平方向に延びる軸回りに回転可能な第2関節13bを介して互いに連結されている。第2リンク12bと第3リンク12cとは、水平方向に延びる軸回りに回転可能な第3関節13cを介して互いに連結されている。第3リンク12cと第4リンク12dとは、第4リンク12dの軸心(即ち、第4リンク12dが延びる方向)回りに回転可能な第4関節13dを介して互いに連結されている。第4リンク12dと第5リンク12eとは、第4リンク12dの軸心と直交する軸回りに回転可能な第5関節13eを介して互いに連結されている。
 ロボットアーム12の先端部、即ち、第5リンク12eには、ハンド14が連結されている。第5リンク12eとハンド14とは、所定の軸回りに回転可能に第6関節13fを介して互いに連結されている。ハンド14は、開閉するように構成された2本の指14aを有している。2本の指14aは、エアシリンダ等のアクチュエータによって開閉駆動される。
 ロボットアーム12は、各関節を回転駆動するサーボモータ15(図2参照)を有している。各サーボモータ15は、エンコーダ15a(図2参照)を有している。
 図2は、ロボット制御装置2及び制御装置5の概略的なハードウェア構成を示す図である。ロボット制御装置2は、制御装置5と信号及び指令等の送受信を行う。ロボット制御装置2は、ロボットアーム12のサーボモータ15及びハンド14を制御する。例えば、ロボット制御装置2は、制御装置5の指令に応じて、サーボモータ15に電流を供給する。このとき、ロボット制御装置2は、エンコーダ15aの出力に基づいて供給電流をフィードバック制御する。また、ロボット制御装置2は、ハンド14のアクチュエータを制御することによって2本の指14aを開閉させる。
 ロボット制御装置2は、制御部21と、記憶部22と、メモリ23とを有している。
 制御部21は、ロボット制御装置2の全体を制御する。制御部21は、各種の演算処理を行う。例えば、制御部21は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部21は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
 記憶部22は、制御部21で実行されるプログラム及び各種データを格納している。記憶部22は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
 メモリ23は、データ等を一時的に格納する。例えば、メモリ23は、揮発性メモリで形成される。
 三次元ビジョンセンサ4は、ロボットアーム12、即ち、ロボット1が配置された配置空間の空間情報を取得する。空間情報は、配置空間における物体の位置及び形状の情報を含む。三次元ビジョンセンサ4は、三次元の空間情報を取得する。例えば、三次元ビジョンセンサ4は、コンテナ91を上方から、コンテナ91及びコンテナ91内の物体の位置及び形状を計測する。三次元ビジョンセンサ4は、コンテナ91及びコンテナ91内の物体の位置及び形状を点群データの形式で出力する。三次元ビジョンセンサ4は、計測結果を空間情報として制御装置5へ出力する。
 制御装置5は、ロボットアーム12の経路を生成すると共に、ロボットアーム12を経路に沿って移動させる指令をロボット制御装置2へ出力する。この例では、ロボットアーム12が他の物体との干渉を回避しながら所定の開始位置から目標位置まで移動する経路を生成する。より具体的には、ロボットアーム12がコンテナ91内から所定の物体Aを取り出し、その物体Aを載置台(図示省略)まで搬送するピックアンドプレース動作を制御装置5がロボットアーム12に実行させる。
 制御装置5は、ロボット制御装置2と信号及び情報等の送受信を行う。制御装置5には、三次元ビジョンセンサ4の検出結果が入力される。制御装置5は、図2に示すように、制御部51と、記憶部52と、メモリ53とを有している。尚、図示を省略するが、制御装置5は、動作生成に関する設定等を行うためにユーザが操作する入力操作部と、設定内容を表示するディスプレイとをさらに有していてもよい。
 制御部51は、制御装置5の全体を制御する。制御部51は、各種の演算処理を行う。例えば、制御部51は、CPU(Central Processing Unit)等のプロセッサで形成されている。制御部51は、MCU(Micro Controller Unit)、MPU(Micro Processor Unit)、FPGA(Field Programmable Gate Array)、PLC(Programmable Logic Controller)、システムLSI等で形成されていてもよい。
 記憶部52は、制御部51で実行されるプログラム及び各種データを格納している。例えば、記憶部52は、ロボットアーム12の動作を制御するための動作制御プログラム61及びロボットアーム12の経路を生成するための経路生成プログラム62が格納されている。記憶部52は、不揮発性メモリ、HDD(Hard Disc Drive)又はSSD(Solid State Drive)等で形成される。
 メモリ53は、データ等を一時的に格納する。例えば、メモリ53は、揮発性メモリで形成される。
 図3は、制御部51の制御系統の構成を示すブロック図である。制御部51は、記憶部52から経路生成プログラム62をメモリ53に読み出して展開することによって、各種機能を実現する。具体的には、制御部51は、物体設定部54と装置設定部55と経路生成部56と干渉判定部57と動作指令部58として機能する。
 物体設定部54は、ロボットアーム12が配置された配置空間に含まれる物体のモデルである物体モデル71を設定する。この例では、物体モデル71は、点群で形成された点群モデルである。また、この例では、コンテナ91、載置台及び、コンテナ91内の物体が配置空間に含まれる物体に相当する。物体設定部54は、コンテナ91等のそれぞれの物体について物体モデル71を生成する。物体設定部54は、物体ごとに、物体モデル71の点群の密度を変更することができる。以下、「密度」は、特段の断りが無い限り、点群の密度を意味する。例えば、物体設定部54は、三次元ビジョンセンサ4から出力される点群データをダウンサンプリングして物体モデル71を生成することによって、点群の密度が異なる物体モデル71を生成することができる。物体設定部54は、物体モデル71の一部の点群の密度を変更することができる。物体設定部54は、物体モデル71の全部の点群の密度を変更することもできる。
 この例では、物体設定部54は、所定の第1密度と第1密度よりも高い第2密度と第2密度よりも高い第3密度との3段階で、物体モデル71の点群の密度を変更する。また、物体設定部54は、物体モデル71の一部の点群の密度を変更する。以下、最も高い点群の密度が第1密度の物体モデル71を「第1物体モデル71A」と称し、最も高い点群の密度が第2密度の物体モデル71を「第2物体モデル71B」と称し、最も高い点群の密度が第3密度の物体モデル71を「第3物体モデル71C」と称する。第1物体モデル71A、第2物体モデル71B及び第3物体モデル71Cのそれぞれを区別しない場合には、単に「物体モデル71」と称する。図4は、物体モデル71及び装置モデル72の一例を示す図である。図4では、物体モデル71のうちコンテナ91の物体モデル71を示している。図4は、コンテナ91の第1物体モデル71Aを示している。
 経路生成部56は、ロボットアーム12の経路を段階的に生成する。この例では、経路生成部56は、ロボットアーム12の開始位置と目標位置との間の1又は複数の中間位置(即ち、ノード)を生成することによって、1又は複数の中間位置を経由した開始位置から目標位置までの経路を生成する。ここで、ロボットアーム12は複数の自由度を有しているので、ロボットアーム12の位置は、各関節及びハンド14の指先の位置によって一義的に決まる位置であり、ロボットアーム12の姿勢とみなすこともできる(つまり、開始位置は開始姿勢、目標位置は目標姿勢、及び、中間位置は中間姿勢とみなすこともできる)。また、ロボットアーム12の経路は、複数の関節の位置及びハンド14の指先の位置によって定義され、ひいては、各関節の回転角によって定義される。
 例えば、経路生成部56は、ロボットアーム12の中間位置を開始位置から目標位置へ向かって順番に生成する。中間位置の生成は、中間位置までの経路の生成とみなすことができる。経路生成部56は、新たな中間位置をランダム又は所定のルール(制約)に従って生成する。所定のルールとしては、例えば、ロボットアーム12が目標位置へ近づくこと、ロボットアーム12が物体と干渉する場合にはロボットアーム12が物体から遠ざかること、又は、複数の関節及びハンド14の指先のそれぞれの移動量の上限値等が挙げられる。経路生成部56は、これらのルールを総合的に判断して、中間位置を生成してもよい。
 生成された中間位置、即ち、経路に対して、干渉判定部57による干渉判定が行われる。経路生成部56は、干渉判定の結果に応じて、中間位置の変更(即ち、経路の変更)及び次の中間位置の生成(即ち、次の経路の生成)を選択的に行う。
 装置設定部55は、配置空間におけるロボットアーム12のモデルである装置モデル72を設定する。この例では、装置モデル72は、点群で形成された点群モデルである。装置設定部55は、経路生成部56によって生成された中間位置に位置するロボットアーム12の装置モデル72を生成する。
 装置設定部55は、装置モデル72の点群の密度を変更することができる。装置設定部55は、装置モデル72の一部の点群の密度を変更することができる。装置設定部55は、装置モデル72の全体の点群の密度を変更することもできる。
 記憶部52には、ロボットアーム12の点群データが記憶されている。ロボットアーム12の点群データは、ロボットアーム12の形状、少なくとも外形を表す。具体的には、ロボットアーム12の点群データには、各リンクの点群データが含まれている。さらに、記憶部52には、密度が異なるロボットアーム12の点群データが記憶されている。具体的には、所定の第1密度のロボットアーム12の点群データと、第1密度よりも高い第2密度のロボットアーム12の点群データと、第2密度よりも高い第3密度のロボットアーム12の点群データとが記憶部52に記憶されている。尚、ロボットアーム12の点群データの第1密度、第2密度及び第3密度はそれぞれ、第1物体モデル71A、第2物体モデル71B及び第3物体モデル71Cの第1密度、第2密度及び第3密度と略同じである。
 装置設定部55は、記憶部52からロボットアーム12の点群データを読み出し、読み出された点群データを、経路生成部56によって生成された中間位置に配置する。こうして、装置設定部55は、ロボットアーム12の装置モデル72を設定する。このとき、装置設定部55は、記憶部52から読み出す点群データを変更することによって、装置モデル72の密度を変更することができる。さらに、装置設定部55は、ロボットアーム12の部分ごとに異なる密度の点群データを読み出すことができる。装置設定部55は、ロボットアーム12の全体に亘って密度が均一な装置モデル72を生成することもできる。以下、最も高い点群の密度が第1密度の装置モデル72を「第1装置モデル72A」と称し、最も高い点群の密度が第2密度の装置モデル72を「第2装置モデル72B」と称し、最も高い点群の密度が第3密度の装置モデル72を「第3装置モデル72C」と称する。第1装置モデル72A、第2装置モデル72B及び第3装置モデル72Cのそれぞれを区別しない場合には、単に「装置モデル72」と称する。図4は、ロボットアーム12の全体が第1密度の点群データで形成された第1装置モデル72Aを示している。
 干渉判定部57は、物体モデル71と装置モデル72との距離に基づいて、経路に沿って移動した後の(即ち、生成された中間位置に位置する)装置モデル72と物体モデル71との干渉判定を行う。ここで、物体モデル71及び装置モデル72はそれぞれ点群モデルなので、物体モデル71と装置モデル72との距離は、物体モデル71の点群に含まれる点と装置モデル72の点群に含まれる点との距離となる。干渉判定部57は、密度が低い点群モデルから順番に用いて干渉判定を行う。干渉判定部57は、密度が低い物体モデル71及び装置モデル72を用いて干渉判定を行い、干渉の可能性が無ければ干渉判定を終了し、干渉の可能性があると判定した場合には物体モデル71及び装置モデル72の少なくとも一方の点群の密度を高くして、再び干渉判定を行う。
 具体的には、干渉判定部57は、物体モデル71と装置モデル72との最短距離であるモデル間距離が所定の安全閾値以下の場合に、物体モデル71と装置モデル72との干渉の可能性があると判定する。一方、干渉判定部57は、モデル間距離が安全閾値よりも大きい場合に、物体モデル71と装置モデル72との干渉の可能性がないと判定する。さらに、干渉判定部57は、干渉の可能性がないと判定した場合、モデル間距離から安全閾値を減じた値である余裕距離を求める。
 ここで、物体モデル71及び装置モデル72のそれぞれにおいて互いに最も接近する部分がモデル間距離、即ち、最短距離を形成する部分である。この例では、物体モデル71及び装置モデル72は点群モデルであるので、物体モデル71及び装置モデル72のそれぞれにおいて互いに最も接近する2つの点がモデル間距離を形成する。これらの点を「最接近点」と称する。つまり、物体モデル71の最接近点と装置モデル72の最接近点とでモデル間距離が形成される。
 さらに、モデル間距離が安全閾値以下の場合には、干渉判定部57は、モデル間距離が安全閾値よりも小さな干渉閾値以下か否かを判定する。干渉判定部57は、モデル間距離が干渉閾値以下の場合に、物体モデル71と装置モデル72とが干渉すると判定する。
 つまり、干渉判定部57は、物体モデル71と装置モデル72との距離に基づいて、干渉の可能性あり、干渉の可能性なし、及び、干渉するの何れであるかを判定する。そして、干渉の可能性ありの場合には、干渉判定部57は、物体モデル71及び装置モデル72の少なくとも一方の点群の密度を高くして、同様の干渉判定を行う。
 例えば、干渉判定部57は、まず第1物体モデル71Aと第1装置モデル72Aとの干渉判定を行う。干渉の可能性があれば、干渉判定部57は、次に第2物体モデル71Bと第2装置モデル72Bとの干渉判定を行う。それでも干渉の可能性があれば、干渉判定部57は、さらに第3物体モデル71Cと第3装置モデル72Cとの干渉判定を行う。
 このとき、第2物体モデル71B及び第2装置モデル72Bのそれぞれは、全体が第2密度となっていなくてもよい。つまり、第2物体モデル71Bのうち最接近点を含む一部の点群だけが第2密度となり、他の部分は第1密度であってもよい。第2装置モデル72Bのうち最接近点を含む一部の点群だけが第2密度となり、他の部分は第1密度であってもよい。同様に、第3物体モデル71Cと第3装置モデル72Cとの干渉判定においても、第3物体モデル71Cのうち最接近点を含む一部の点群だけが第3密度となり、他の部分は第1密度又は第2密度であってもよい。第3装置モデル72Cのうち最接近点を含む一部の点群だけが第3密度となり、他の部分は第1密度又は第2密度であってもよい。
 尚、干渉判定部57は、第1物体モデル71Aと第1装置モデル72Aとの干渉判定において、干渉の可能性がない、又は、干渉すると判定した場合には、干渉判定を終了する。第2物体モデル71Bと第2装置モデル72Bとの干渉判定においても同様である。第3物体モデル71Cと第3装置モデル72Cとの干渉判定においても同様である。
 また、最も密度が高い物体モデル71(即ち、第3物体モデル71C)と装置モデル72と(即ち、第3装置モデル72C)の干渉判定においては、干渉判定部57は、干渉閾値による判定のみを行う。すなわち、干渉判定部57は、第3物体モデル71Cと第3装置モデル72Cとのモデル間距離が干渉閾値以下の場合には干渉すると判定し、第3物体モデル71Cと第3装置モデル72Cとのモデル間距離が干渉閾値よりも大きい場合には干渉の可能性なしと判定する。
 さらに、干渉判定のための安全閾値は、点群モデルに応じて、即ち、点群の密度に応じて変更され得る。例えば、点群モデルの点群の密度が高いほど、安全閾値が小さく設定される。この例では、第1物体モデル71Aと第1装置モデル72Aの干渉判定のための安全閾値である第1安全閾値は、第2物体モデル71Bと第2装置モデル72Bの干渉判定のための安全閾値である第2安全閾値よりも大きい。
 一方、干渉判定のための干渉閾値は、点群の密度が変わっても同じであってもよい。この例では、第1物体モデル71Aと第1装置モデル72Aとの干渉判定、第2物体モデル71Bと第2装置モデル72Bとの干渉判定、及び、第3物体モデル71Cと第3装置モデル72Cとの干渉判定のそれぞれにおける干渉閾値は、同じである。
 尚、干渉判定において点群モデルの密度を変更する際には、物体モデル71及び装置モデル72の一方だけの密度を変更してもよい。例えば、第1物体モデル71A及び第1装置モデル72Aから点群モデルの密度を上げる場合に、第1物体モデル71Aだけを第2物体モデル71Bに変更して、第1装置モデル72Aはそのままであってもよい。物体モデル71及び装置モデル72の少なくとも一方の点群の密度を高くする限り、様々な密度の物体モデル71と装置モデル72との組み合わせで干渉判定を行ってもよい。
 経路生成部56は、干渉の可能性がないと干渉判定部57によって判定された場合に、次の中間位置、即ち、次の経路を生成する。一方、経路生成部56は、干渉すると干渉判定部57によって判定された場合には、中間位置、即ち、経路を変更する。経路生成部56は、次の中間位置又は変更後の中間位置に対しても干渉判定部57による干渉判定を受ける。
 さらに、経路生成部56は、中間位置(即ち、経路)を生成する場合、今回の中間位置に繋がる前の中間位置の余裕距離が今回の中間位置の装置モデル72の移動量よりも大きいときには、今回の中間位置に対する干渉判定を省略して、即ち、スキップして、次の中間位置を生成する。つまり、前の中間位置の干渉判定におけるモデル間距離が今回の中間位置への装置モデル72の移動量に比べて十分に大きい場合には、経路生成部56は、今回の中間位置について干渉判定部57による干渉判定を受けることなく、次の中間位置を生成する。
 経路生成部56は、このような処理を繰り返すことによって、開始位置から目標位置までの中間位置、即ち、経路を段階的に生成する。経路生成部56は、開始位置から目標位置までの経路の生成が完了すると、生成された経路の情報を動作指令部58へ出力する。
 動作指令部58は、経路生成部56から出力される経路の情報に応じた指令値を作成し、作成された指令値をロボット制御装置2へ出力する。
 ロボット制御装置2は、動作指令部58からの指令値に基づいてサーボモータ15を駆動する。このとき、ロボット制御装置2は、エンコーダ15aの検出結果に基づいてサーボモータ15への供給電流をフィードバック制御する。これにより、ロボットアーム12が開始位置から目標位置まで、経路生成部56によって生成された経路に沿って移動する。
 続いて、このように構成されたロボットシステム100の動作について説明する。図5は、制御装置5によるロボットアーム12の動作制御を示すフローチャートである。ロボットアーム12がコンテナ91内から所定の物体Aを取り出し、その物体Aを載置台まで搬送するピックアンドプレース動作について説明する。制御装置5は、ピックアンドプレース動作をロボットアーム12が物体Aを取りに行くまでの第1動作とロボットアーム12が物体Aをコンテナ91から載置台まで搬出する第2動作とに分けてロボットアーム12に実行させる。この動作制御は、制御部51が、記憶部52から動作制御プログラム61をメモリ53に読み出して展開することによって実行される。
 まず、制御部51は、ロボットアーム12が物体Aを取りに行くまでの第1動作を実行させる。制御部51は、ステップS1において、三次元ビジョンセンサ4を介して空間情報を取得する。三次元ビジョンセンサ4は、コンテナ91及び載置台の上方から、コンテナ91、載置台及びコンテナ91内の物体の位置及び形状を計測する。三次元ビジョンセンサ4は、コンテナ91、載置台及びコンテナ91内の物体の位置及び形状を点群データの形式で制御装置5へ出力する。
 次に、ステップS2において、制御部51は、ロボットアーム12の目標位置を取得する。具体的には、経路生成部56は、まず三次元ビジョンセンサ4の空間情報に基づいて物体Aの位置を検出する。そして、経路生成部56は、検出された位置に配置された物体Aを他の物体に干渉することなく把持する状態のロボットアーム12の位置を求め、その位置を目標位置として設定する。
 続いて、ステップS3において、制御部51は、ロボットアーム12の開始位置を取得する。具体的には、経路生成部56は、各エンコーダ15aの検出結果に基づいてロボットアーム12の現在位置を求め、その現在位置を開始位置として設定する。経路生成部56は、各エンコーダ15aの検出結果から各関節の回転角を得ることができる。ロボットアーム12の各リンク及びハンドの寸法は既知である。そのため、経路生成部56は、各関節の回転角と各リンク及びハンドの寸法とに基づいて、ロボットアーム12の各部分の位置を求めることができる。
 次に、ステップS4において、経路生成部56は、開始位置から目標位置までのロボットアーム12の経路を生成する。ステップS4では、経路生成処理が実行され、経路が生成される。
 ステップS5において、制御部51は、ロボットアーム12に動作を実行させる。具体的には、動作指令部58は、経路生成部56から出力された経路に沿ってロボットアーム12を移動させるための指令値に生成し、その指令値をロボット制御装置2へ出力する。ロボット制御装置2は、指令値に基づいて、サーボモータ15を制御して、ロボットアーム12を動作させる。ロボットアーム12は、経路に沿って移動する。
 制御部51は、ステップS6において、目標位置が最終目標位置か否かを判定する。つまり、ピックアンドプレース動作のように、動作が分割され、複数の目標位置が含まれている場合がある。ステップS6では、今回の目標位置が最終目標位置であるか否か、即ち、次に設定されるべき目標位置が残っているか否かが判定される。今回の処理では第1動作の完了後には第2動作が残っているので、今回の目標位置は最終目標位置ではないと判定される。
 今回の目標位置が最終目標位置の場合には、制御部51は、ロボットアーム12の動作制御を終了する。尚、目標位置が1つだけの場合には、当然ながら、今回の目標位置が最終目標位置となる。
 今回の目標位置が最終目標位置でない場合、制御部51は、ステップS2へ戻り、ステップS2からの処理を繰り返す。ステップS2において、次の動作の目標位置が新たに設定され、ステップS3以降の処理が実行される。今回の処理では、制御部51は、第2動作のロボットアーム12の目標位置を新たな目標位置として設定する。具体的には、経路生成部56は、他の物体に干渉することなく物体Aを載置台に載置する状態のロボットアーム12の位置を求め、その位置を新たな目標位置として設定する。
 こうして、ロボットアーム12の目標位置が更新される。そして、新たな目標位置に関して、ステップS3からステップS6の処理が繰り返される。今回の処理では、ロボットアーム12は、最終的に第2動作の目標位置まで移動し、物体Aを載置台に載置する。
 ロボットアーム12が新たな目標位置に到達した場合には、制御部51は、再びステップS7において、目標位置が最終目標位置か否かを判定する。目標位置が最終目標位置となるまで、前述の処理が繰り返される。今回の処理では、第2動作の目標位置が最終目標位置であるので、制御部51は、ロボットアーム12の動作制御を終了する。
 続いて、経路生成処理について説明する。図6は、制御装置5によるロボットアーム12の経路生成処理を示すフローチャートである。経路生成処理は、制御部51が、記憶部52から経路生成プログラム62をメモリ53に読み出して展開することによって実行される。
 まず、経路生成部56は、ステップsb1において、ロボットアーム12の経路を生成する。経路生成処理における最初のステップsb1においては、経路生成部56は、開始位置から最初に経由する中間位置を生成する。経路生成部56は、前述の如く、中間位置をランダム又は所定のルール(制約)に従って生成する。中間位置の生成は、中間位置までの経路の生成とみなすことができる。以下、「今回の」中間位置又は経路という場合には、このステップsb1において生成された最新の中間位置及び経路を指す。
 次に、物体設定部54は、ステップsb2において、ロボットアーム12の配置空間に含まれる物体の物体モデル71であって最も密度の低い物体モデル71である第1物体モデル71Aを生成する。第1物体モデル71Aの全てが第1密度の点群で形成されている。この例では、物体設定部54は、コンテナ91、載置台及びコンテナ91内の物体のそれぞれの第1物体モデル71Aを生成する。
 また、装置設定部55は、ステップsb3において、配置空間におけるロボットアーム12の装置モデル72であって最も密度の低い装置モデル72である第1装置モデル72Aを生成する。第1装置モデル72Aの全てが第1密度の点群で形成されている。このとき、装置設定部55は、今回の中間位置に位置するロボットアーム12の装置モデル72を生成する。
 次に、ステップsb4において、干渉判定部57は、干渉判定をスキップするか否かを判定する。具体的には、干渉判定部57は、今回の中間位置に繋がる前の中間位置の余裕距離が記憶部52に記憶されている場合には、余裕距離が今回の中間位置の第1装置モデル72Aの移動量よりも大きいか否かを判定する。経路生成処理における最初のステップsb4においては、記憶部52に前の中間位置の余裕距離が記憶されていないので、干渉判定部57は、干渉判定をスキップしないと判定する。ステップsb4の詳細な処理については後述する。
 干渉判定をスキップしない場合には、干渉判定部57は、ステップsb5において、第1物体モデル71Aと第1装置モデル72Aとのモデル間距離が第1安全閾値以下であるか否かを判定する。第1安全閾値は、第1物体モデル71A及び第1装置モデル72Aの密度において、第1物体モデル71Aと第1装置モデル72Aとが干渉しないと推定できるモデル間距離である。基本的には、干渉判定部57は、第1物体モデル71Aに含まれる点と第1装置モデル72Aに含まれる点との全ての組み合わせについて2点間の距離を演算し、2点間の最短距離、即ち、モデル間距離を求める。干渉判定部57は、求めたモデル間距離が第1安全閾値以下か否かを判定する。ただし、何れかの2点間の距離が第1安全閾値以下となる場合には、干渉判定部57は、全ての2点間の距離の演算が完了していなくても、モデル間距離が第1安全閾値以下であると判定することができる。
 このとき、記憶部52に後述する注目部分が保存されている場合には、干渉判定部57は、第1物体モデル71Aに含まれる点と第1装置モデル72Aに含まれる点のうち注目部分に対応する点を優先的に、即ち、注目部分に対応する点から先に2点間の距離を演算する。注目部分は、干渉の可能性がある部分であり、2点間の距離が第1安全閾値以下となる可能性が他の部分に比べて高い。そのため、モデル間距離が第1安全閾値以下か否かの判定が早く終わり、2点間の距離の演算負荷を低減できる場合がある。
 この例では、干渉判定部57は、ロボットアーム12の複数のリンクのそれぞれについてモデル間距離を求め、リンクごとにモデル間距離と第1安全閾値とを比較する。ここでのリンクには、ハンド14も含まれる。つまり、第1リンク12a、第2リンク12b、第3リンク12c、第4リンク12d、第5リンク12e及びハンド14のそれぞれにおいて、モデル間距離が求められ、モデル間距離が第1安全閾値以下であるか否かが判定される。干渉判定部57は、複数のリンクの少なくとも1つのリンクのモデル間距離が第1安全閾値以下か否かを判定する。尚、第1安全閾値は、複数のリンクで同じ値であってもよいし、リンクごとに異なっていてもよい。
 さらに、干渉判定部57は、複数のリンクのうちロボットアーム12の先端側のリンクから順に、モデル間距離を求め、求められたモデル間距離と第1安全閾値とを比較する。この場合、干渉判定部57は、先端側のリンクから順にモデル間距離と第1安全閾値とを比較し、何れか1つのリンクのモデル間距離が第1安全閾値以下となる場合には、残りのリンクについてモデル間距離の演算等を行わなくても、複数のリンクの少なくとも1つのリンクのモデル間距離が第1安全閾値以下であると判定することができる。
 尚、詳しくは後述するが、干渉判定を省略するリンクが記憶部52に保存されている場合には、干渉判定部57は、そのリンクの干渉判定(即ち、モデル間距離の演算及びモデル間距離と安全閾値との比較等)を行わない。
 モデル間距離が第1安全閾値よりも大きい場合には、干渉判定部57は、第1物体モデル71Aと第1装置モデル72Aとの干渉の可能性がないと判定する。干渉の可能性がないと判定されると、今回の中間位置は、開始位置から目標位置までの間の一の中間位置、即ち、一の経路として確定される。このとき、干渉判定部57は、モデル間距離から第1安全閾値を減じた値を余裕距離とし、記憶部52に保存する。これにより、今回の中間位置、即ち、経路に対する干渉判定が完了する。
 リンクごとにモデル間距離を求める例では、干渉判定部57は、リンクごとにモデル間距離と第1安全閾値とを比較しているので、複数のリンクの全てのリンクのモデル間距離が第1安全閾値よりも大きい場合に、干渉の可能性がないと判定する。干渉判定部57は、リンクのそれぞれについて余裕距離を求め、リンクごとの余裕距離を記憶部52に保存する。
 その後、経路生成部56は、ステップsb13において、経路が目標位置に到達したか否かを判定する。具体的には、経路生成部56は、今回の中間位置が目標位置の1つ手前の中間位置か否かを判定する。今回の中間位置が目標位置の1つ手前の中間位置である場合には、経路が目標位置に到達したと判定して、経路生成部56は、図5に示すロボットアーム12の動作制御のフロー(即ち、ステップS5)へ戻る。一方、今回の中間位置が目標位置の1つ手前の中間位置でない場合には、経路生成部56は、ステップsb1へ戻り、次の中間位置を生成する。
 ステップsb1では、経路生成部56は、確定した中間位置(以下、「前の中間位置」と称する)に続く次の中間位置、即ち、経路を生成する。その後、ステップsb2において、第1物体モデル71Aが設定される。物体設定部54は、既に生成されている物体モデル71が第1物体モデル71Aである場合には、その第1物体モデル71Aをそのまま用いる。続くステップsb3において、装置設定部55は、新たな中間位置に位置するロボットアーム12の第1装置モデル72Aを生成する。
 次のステップsb4においては、経路生成部56は、干渉判定をスキップするか否かを判定する。経路生成部56は、今回の中間位置に繋がる前の中間位置での余裕距離が記憶部52に記憶されている場合には、余裕距離が今回の中間位置への第1装置モデル72Aの移動量よりも大きいか否かを判定する。今回の中間位置への第1装置モデル72Aの移動量は、第1装置モデル72Aが前の中間位置から今回の中間位置へ移動するときの、前の中間位置における第1装置モデル72Aの最接近点(即ち、第1物体モデル71Aに最も接近した部分)の移動量である。
 余裕距離が第1装置モデル72Aの移動量よりも大きい場合には、干渉判定が省略され、即ち、干渉判定がスキップされる。経路生成部56は、ステップsb13において、経路が目標位置に到達したか否かを判定する。経路が目標位置に到達した場合には、経路生成部56は、図5に示すロボットアーム12の動作制御のフロー(即ち、ステップS5)へ戻る。一方、経路が目標位置に到達していない場合には、経路生成部56は、ステップsb1へ戻り、次の中間位置を生成する。このように、経路生成部56は、今回の中間位置に対する干渉判定をスキップして、今回の中間位置を確定させ、その後の処理を実行する。
 余裕距離が今回の中間位置への第1装置モデル72Aの移動量よりも大きい場合には、今回の中間位置に位置する第1装置モデル72Aに対する干渉判定においても、モデル間距離が第1安全距離よりも大きくなる可能性が高い。つまり、干渉判定をスキップしない場合には、ステップsb5においてモデル間距離の算出が行われた後にステップsb13へ進む処理が実行されると予測される。そのため、干渉判定部57が干渉判定をスキップすることによって、今回の中間位置におけるモデル間距離の算出を省略することができる。
 干渉判定をスキップした後に、ステップsb1,sb2,sb3を経て再びステップsb4へ戻ってきた場合には、前の中間位置での余裕距離が記憶部52に記憶されていないので、干渉判定部57は、ステップsb5において、第1物体モデル71Aと新しい中間位置における第1装置モデル72Aとのモデル間距離を算出し、モデル間距離が第1安全閾値以下か否かを判定する。モデル間距離が第1安全閾値よりも大きい場合には、前述のように、干渉判定部57は、干渉の可能性がないと判定し、今回の中間位置を確定させ、今回の余裕距離を記憶部52に保存する。処理はステップsb1へ戻り、経路生成部56は、次の中間位置を生成する。
 物体から離れた開始位置からロボットアーム12の経路が生成される場合には、第1装置モデル72Aがいずれかの第1物体モデル71Aに接近するまでは、前述の処理が繰り返され、開始位置から目標位置に向かって中間位置、即ち、経路が順次生成されていく。やがて、第1装置モデル72Aが第1物体モデル71Aに接近すると、モデル間距離が第1安全閾値以下となり得る。図7は、第1装置モデル72Aが第1物体モデル71Aに接近した状態を示す模式図である。図7では、コンテナ91の第1物体モデル71A及びロボットアーム12の第1装置モデル72Aが示されている。
 尚、リンクごとにモデル間距離を求める例では、経路生成部56は、ステップsb4において、経路に対する干渉判定を省略するか、即ち、スキップするか否かをリンクごとに判定する。つまり、経路生成部56は、余裕距離が今回の中間位置への第1装置モデル72Aの移動量よりも大きいか否かを複数のリンクのそれぞれについて判定する。今回の中間位置への第1装置モデル72Aの移動量は、各リンクの最接近点の移動量である。全てのリンクにおいて余裕距離が第1装置モデル72Aの移動量よりも大きい場合には、ロボットアーム12の全体として干渉判定が省略、即ち、スキップされ、経路生成部56は、ステップsb13へ進む。一方、全てのリンクではなく一部のリンクにおいて余裕距離が第1装置モデル72Aの移動量よりも大きい場合には、経路生成部56は、ロボットアーム12の全体としての干渉判定は省略しない。この場合、経路生成部56は、干渉判定を省略するリンクを記憶部52に保存する。その後、ステップsb5において、干渉判定部57は、干渉判定を省略するリンクが記憶部52に保存されている場合には、そのリンクの干渉判定(即ち、モデル間距離の演算及びモデル間距離と安全閾値との比較等)を省略する。ロボットアーム12においては、リンクごとに可動範囲が異なるため、物体と干渉する可能性もリンクごとに異なる。そのため、モデル間距離が十分にあるために物体との干渉の可能性が低いリンクについては干渉判定が省略され、それ以外のリンクについてのみ干渉判定が行われる。これにより、モデル間距離の演算等の負荷が低減される。
 ステップsb5においてモデル間距離が第1安全閾値以下の場合には、干渉判定部57は、第1物体モデル71Aと第1装置モデル72Aとの干渉の可能性があると判定する。干渉判定部57は、第1物体モデル71A及び第1装置モデル72Aにおいて、それぞれの最接近点を含む所定の範囲の部分を注目部分として記憶部52に保存する。つまり、記憶部52には、第1物体モデル71Aにおける注目部分と第1装置モデル72Aにおける注目部分との1組の注目部分が保存される。最接近点は、干渉の可能性があると判定された部分とみなすことができる。尚、何れかの2点間の距離が第1安全閾値以下となる場合には、干渉判定部57は、第1物体モデル71A及び第1装置モデル72Aにおいて、距離が第1安全閾値以下である2点のそれぞれを含む所定の範囲の部分を1組の注目部分として記憶部52に保存する。
 リンクごとにモデル間距離を求める例では、干渉判定部57は、リンクごとにモデル間距離と第1安全閾値とを比較しているので、複数のリンクの少なくとも1つのリンクのモデル間距離が第1安全閾値以下の場合に、干渉の可能性があると判定する。そして、モデル間距離が第1安全閾値以下となるリンクの最接近点を含む所定の範囲の部分とそれに対応する、第1物体モデル71Aの最接近点を含む所定の範囲の部分とが1組の注目部分として記憶部52に保存される。このとき、モデル間距離が第1安全閾値以下となるリンクが複数存在する場合には、モデル間距離が第1安全閾値以下となる複数のリンクのそれぞれにおける最接近点を含む所定の範囲の部分とそれらに対応する第1物体モデル71Aの最接近点を含む所定の範囲の部分とが注目部分として記憶部52に保存される。つまり、複数組の注目部分が記憶部52に保存される。
 モデル間距離が第1安全閾値以下の場合には、干渉判定部57は、ステップsb6において、モデル間距離が干渉閾値以下か否かを判定する。干渉閾値は、第1安全閾値よりも小さい値である。干渉閾値は、第2物体モデル71B及び第2装置モデル72Bによる干渉判定、並びに、第3物体モデル71C及び第3装置モデル72Cによる干渉判定において用いられる干渉閾値と共通である。干渉閾値は、第3物体モデル71C及び第3装置モデル72Cの密度において第3物体モデル71Cと第3装置モデル72Cとが干渉すると推定できるモデル間距離である。
 モデル間距離が干渉閾値以下である場合には、干渉判定部57は、第1物体モデル71Aと第1装置モデル72Aとが干渉すると判定する。尚、何れかの2点間の距離が干渉閾値以下となる場合には、干渉判定部57は、全ての2点間の距離の演算が完了していなくても、モデル間距離が干渉閾値以下であると判定することができる。これにより、今回の中間位置、即ち、経路に対する干渉判定を終了する。
 経路生成部56は、ステップsb7において、ステップsb1において生成された中間位置を変更する。経路生成部56は、少なくとも装置モデル72が物体モデル71から遠ざかるような中間位置を再生成してもよい。その後、処理は、ステップsb2へ戻る。ステップsb2において、物体設定部54は、既に生成されている物体モデル71が第1物体モデル71Aである場合には、その第1物体モデル71Aをそのまま用いる。続くステップsb3において、装置設定部55は、変更後の中間位置に位置するロボットアーム12の第1装置モデル72Aを生成する。干渉判定部57は、ステップsb7の経路変更を経た後の最初のステップsb4においては、干渉判定をスキップしないと判定する。その後、干渉判定部57は、前述のように、モデル間距離が第1安全閾値以下であるかの判定を行い(ステップsb5)、必要であれば、モデル間距離が干渉閾値以下であるかの判定を行う(ステップsb6)。
 一方、モデル間距離が干渉閾値よりも大きい場合には、ステップsb8において、物体設定部54及び装置設定部55はそれぞれ、物体モデル71及び装置モデル72の密度を1段階だけ上昇させる。ステップsb8に至るのは、モデル間距離が干渉閾値よりも大きく且つ第1安全閾値以下の場合である。つまり、第1物体モデル71Aと第1装置モデル72Aとが干渉しているとも、干渉していないとも判定できず、干渉の可能性があるとしか判定できない場合である。そのため、干渉判定部57は、密度が1段階高い物体モデル71及び装置モデル72を用いてより詳細に干渉判定を行う。具体的には、物体設定部54は、第1物体モデル71Aをより密度が高い第2物体モデル71Bに変更し、装置設定部55は、第1装置モデル72Aをより密度が高い第2装置モデル72Bに変更する。尚、第2装置モデル72Bの位置は、第1装置モデル72Aの位置と同じである。図8は、図7における第1物体モデル71A及び第1装置モデル72Aが第2物体モデル71B及び第2装置モデル72Bに変更された状態を示す模式図である。
 このとき、物体設定部54は、物体モデル71のうち注目部分の点群の密度を高くする。物体モデル71の注目部分は、ステップsb5の干渉判定において干渉の可能性があると判定された部分である最接近点を含む部分であり、記憶部52に保存されている。この例では、物体設定部54は、図8に示すように、コンテナ91のうち注目部分である、壁の一部91aを第2密度の点群で形成し、それ以外の部分を第1密度の点群で形成している。
 同様に、装置設定部55は、装置モデル72のうち注目部分の点群の密度を高くする。装置モデル72の注目部分は、ステップsb5の干渉判定において干渉の可能性があると判定された部分である最接近点を含む部分であり、記憶部52に保存されている。図8の例では、装置設定部55は、ロボットアーム12のうち注目部分である、第4リンク12dの一部12fを第2密度の点群で形成し、それ以外の部分を第1密度の点群で形成している。
 尚、ロボットアーム12の複数のリンクにおいてモデル間距離が干渉閾値より大きく且つ第1安全閾値以下である場合には、物体設定部54は、物体モデル71のうち複数の注目部分の点群の密度を高くし、装置設定部55は、装置モデル72のうち複数の注目部分の点群の密度を高くする。
 そして、干渉判定部57は、ステップsb9において、第2物体モデル71Bと第2装置モデル72Bとのモデル間距離が第2安全閾値以下であるか否かを判定する。
 第2安全閾値は、第2物体モデル71B及び第2装置モデル72Bの密度において、第2物体モデル71Bと第2装置モデル72Bとが干渉しないと推定できるモデル間距離である。第2安全閾値は、第1安全閾値よりも小さい値であって、干渉閾値よりも大きい値である。つまり、第2安全閾値は、第1物体モデル71A及び第1装置モデル72Aよりも高い密度の第2物体モデル71B及び第2装置モデル72Bの干渉の可能性を判定するための閾値なので、より精細な判定を行うべく第1安全閾値よりも小さく設定されている。
 干渉判定部57は、第2物体モデル71Bに含まれる点と第2装置モデル72Bに含まれる点との2点間の距離を演算し、モデル間距離を求める。このとき、第2物体モデル71B及び第2装置モデル72Bに含まれる点のうち2点間の距離の演算が行われるのは、第2密度の点群、即ち、注目部分に含まれる点である。第2物体モデル71B及び第2装置モデル72Bに含まれる点のうち第2密度でない点群の点については2点間の距離の演算は行われない。第2物体モデル71B及び第2装置モデル72Bのうち注目部分は、干渉の可能性があると判定された部分であるためである。前述のような2点間の距離の演算を行うことによって、演算量を低減することができる。この例では、干渉判定部57は、第2物体モデル71Bのうちコンテナ91の壁の一部91aに含まれる点と第2装置モデル72Bのうち第4リンク12dの一部12fに含まれる点との2点間の距離を演算する。
 干渉判定部57は、第2物体モデル71B及び第2装置モデル72Bにおいて、それぞれの最接近点を含む所定の範囲の部分を注目部分として更新して、記憶部52に保存する。
 モデル間距離が第2安全閾値よりも大きい場合には、干渉判定部57は、第2物体モデル71Bと第2装置モデル72Bとの干渉の可能性がないと判定する。干渉の可能性がないと判定されると、今回の中間位置は、開始位置から目標位置までの間の一の中間位置、即ち、一の経路として確定される。このとき、干渉判定部57は、モデル間距離から第2安全閾値を減じた値を余裕距離とし、記憶部52に保存する。これにより、今回の中間位置、即ち、経路に対する干渉判定が完了する。
 その後、経路生成部56は、ステップsb13において、経路が目標位置に到達したか否かを判定する。経路が目標位置に到達した場合には、経路生成部56は、図5に示すロボットアーム12の動作制御のフロー(即ち、ステップS5)へ戻る。一方、経路が目標位置に到達していない場合には、経路生成部56は、ステップsb1へ戻り、次の中間位置を生成する。
 一方、モデル間距離が第2安全閾値以下の場合には、干渉判定部57は、第2物体モデル71Bと第2装置モデル72Bとの干渉の可能性があると判定する。尚、何れかの2点間の距離が第2安全閾値以下となる場合には、干渉判定部57は、全ての2点間の距離の演算が完了していなくても、モデル間距離が第2安全閾値以下であると判定することができる。そのような場合には、干渉判定部57は、第2物体モデル71B及び第2装置モデル72Bにおいて、距離が第2安全閾値以下である2点のそれぞれを含む所定の範囲の部分を注目部分として更新して記憶部52に保存する。
 モデル間距離が第2安全閾値以下の場合には、干渉判定部57は、ステップsb10において、モデル間距離が干渉閾値以下か否かを判定する。干渉閾値は、前述の如く、ステップsb6における判定の場合と同じ値である。
 モデル間距離が干渉閾値以下である場合には、干渉判定部57は、第2物体モデル71Bと第2装置モデル72Bとが干渉すると判定する。尚、何れかの2点間の距離が干渉閾値以下となる場合には、干渉判定部57は、全ての2点間の距離の演算が完了していなくても、モデル間距離が干渉閾値以下であると判定することができる。これにより、今回の中間位置、即ち、経路に対する干渉判定を終了する。
 経路生成部56は、ステップsb7において、ステップsb1において生成された中間位置を変更する。ステップsb7以降の処理は、第1物体モデル71A及び第1装置モデル72Aの干渉判定においてモデル間距離が干渉閾値以下であった場合と同様である。尚、ステップsb7の後はステップsb2,sb3へ戻るので、変更後の中間位置に対して、第1物体モデル71A及び第1装置モデル72Aから干渉判定が行われる。
 一方、モデル間距離が干渉閾値よりも大きい場合には、ステップsb11において、物体設定部54及び装置設定部55はそれぞれ、物体モデル71及び装置モデル72の密度を1段階だけ上昇させる。ステップsb11に至るのは、モデル間距離が干渉閾値よりも大きく且つ第2安全閾値以下の場合である。つまり、第2物体モデル71Bと第2装置モデル72Bとが干渉しているとも、干渉していないとも判定できず、干渉の可能性があるとしか判定できない場合である。そのため、干渉判定部57は、密度が1段階高い物体モデル71及び装置モデル72を用いて干渉判定を行う。具体的には、物体設定部54は、第2物体モデル71Bをより密度が高い第3物体モデル71Cに変更し、装置設定部55は、第2装置モデル72Bをより密度が高い第3装置モデル72Cに変更する。尚、第3装置モデル72Cの位置は、第2装置モデル72Bの位置と同じである。図9は、図8における第2物体モデル71B及び第2装置モデル72Bが第3物体モデル71C及び第3装置モデル72Cに変更された状態を示す模式図である。
 このとき、物体設定部54は、物体モデル71のうち注目部分の点群の密度を高くする。物体モデル71の注目部分は、ステップsb9の干渉判定において干渉の可能性があると判定された部分である最接近点を含む部分であり、記憶部52に保存されている。この例では、物体設定部54は、図9に示すように、コンテナ91のうち注目部分である、壁の一部91aを第3密度の点群で形成し、それ以外の部分を第1密度の点群で形成している。
 同様に、装置設定部55は、装置モデル72のうち注目部分の点群の密度を高くする。装置モデル72の注目部分は、ステップsb9の干渉判定において干渉の可能性があると判定された部分である最接近点を含む部分であり、記憶部52に保存されている。図9の例では、装置設定部55は、ロボットアーム12のうち注目部分である、第4リンク12dの一部12fを第3密度の点群で形成し、それ以外の部分を第1密度の点群で形成している。
 そして、干渉判定部57は、ステップsb12において、第3物体モデル71Cと第3装置モデル72Cとのモデル間距離が干渉閾値以下であるか否かを判定する。干渉閾値は、前述の如く、ステップsb6,sb10における判定の場合と同じ値である。
 干渉判定部57は、第3物体モデル71Cに含まれる点と第3装置モデル72Cに含まれる点との2点間の距離を演算し、モデル間距離を求める。このとき、第3物体モデル71C及び第3装置モデル72Cに含まれる点のうち2点間の距離の演算が行われるのは、第3密度の点群、即ち、注目部分に含まれる点である。第3物体モデル71C及び第3装置モデル72Cに含まれる点のうち第3密度でない点群の点については2点間の距離の演算は行われない。第3物体モデル71C及び第3装置モデル72Cのうち注目部分は、干渉の可能性があると判定された部分であるためである。前述のような2点間の距離の演算を行うことによって、演算量を低減することができる。この例では、干渉判定部57は、第3物体モデル71Cのうちコンテナ91の壁の一部91aに含まれる点と第3装置モデル72Cのうち第4リンク12dの一部12fに含まれる点との2点間の距離を演算する。
 干渉判定部57は、第3物体モデル71C及び第3装置モデル72Cにおいて、それぞれの最接近点を含む所定の範囲の部分を注目部分として更新して、記憶部52に保存する。
 モデル間距離が干渉閾値よりも大きい場合には、干渉判定部57は、第3物体モデル71Cと第3装置モデル72Cとの干渉の可能性がないと判定する。干渉の可能性がないと判定されると、今回の中間位置は、開始位置から目標位置までの間の一の中間位置、即ち、一の経路として確定される。このとき、干渉判定部57は、モデル間距離から干渉閾値を減じた値を余裕距離とし、記憶部52に保存する。これにより、今回の中間位置、即ち、経路に対する干渉判定が完了する。
 その後、経路生成部56は、ステップsb13において、経路が目標位置に到達したか否かを判定する。経路が目標位置に到達した場合には、経路生成部56は、図5に示すロボットアーム12の動作制御のフロー(即ち、ステップS5)へ戻る。一方、経路が目標位置に到達していない場合には、経路生成部56は、ステップsb1へ戻り、次の中間位置を生成する。
 一方、モデル間距離が干渉閾値以下である場合には、干渉判定部57は、第3物体モデル71Cと第3装置モデル72Cとが干渉すると判定する。尚、何れかの2点間の距離が干渉閾値以下となる場合には、干渉判定部57は、全ての2点間の距離の演算が完了していなくても、モデル間距離が干渉閾値以下であると判定することができる。これにより、今回の中間位置、即ち、経路に対する干渉判定を終了する。
 経路生成部56は、ステップsb7において、ステップsb1において生成された中間位置を変更する。ステップsb7以降の処理は、第1物体モデル71A及び第1装置モデル72Aの干渉判定においてモデル間距離が干渉閾値以下であった場合と同様である。尚、ステップsb7の後はステップsb2,sb3へ戻るので、変更後の中間位置に対して、第1物体モデル71A及び第1装置モデル72Aから干渉判定が行われる。
 このように、生成された中間位置、即ち、経路に対して密度の低い物体モデル71及び装置モデル72から順に干渉判定が行われる。具体的には、まず第1物体モデル71A及び第1装置モデル72Aを用いて、モデル間距離が第1安全閾値よりも大きいか、第1安全閾値以下で且つ干渉閾値よりも大きいか、又は、干渉閾値以下かが判定される。モデル間距離が第1安全閾値よりも大きい場合には、生成された経路では干渉の可能性がないと判定され、次の経路が生成される。モデル間距離が干渉閾値以下の場合には、生成された経路では干渉が生じると判定され、経路が変更される。モデル間距離が第1安全閾値以下で且つ干渉閾値よりも大きい場合には、干渉の可能性があると判定される。
 干渉の可能性があると判定された場合は、干渉の有無をより詳細に判定するために、密度が1段階高い物体モデル71及び装置モデル72を用いて干渉判定が行われる。つまり、第2物体モデル71B及び第2装置モデル72Bを用いて、モデル間距離が第2安全閾値よりも大きいか、第2安全閾値以下で且つ干渉閾値よりも大きいか、又は、干渉閾値以下かが判定される。モデル間距離が第2安全閾値よりも大きい場合には、生成された経路では干渉の可能性がないと判定され、次の経路が生成される。モデル間距離が干渉閾値以下の場合には、生成された経路では干渉が生じると判定され、経路が変更される。モデル間距離が第2安全閾値以下で且つ干渉閾値よりも大きい場合には、干渉の可能性があると判定される。
 干渉の可能性があると判定された場合、干渉の有無をより詳細に判定するために、密度がさらに1段階高い物体モデル71及び装置モデル72を用いて干渉判定が行われる。つまり、第3物体モデル71C及び第3装置モデル72Cを用いて、モデル間距離が干渉閾値よりも大きいか、又は、干渉閾値以下かが判定される。第3物体モデル71C及び第3装置モデル72Cは、最も密度が高いモデルなので、モデル間距離が干渉閾値以下か否かだけが判定される。モデル間距離が干渉閾値よりも大きい場合には、生成された経路では干渉の可能性がないと判定され、次の経路が生成される。モデル間距離が干渉閾値以下の場合には、生成された経路では干渉が生じると判定され、経路が変更される。
 このような干渉判定は、物体モデル71と装置モデル72とのモデル間距離に基づいて行われる。モデル間距離は、物体モデル71に含まれる点と装置モデル72に含まれる点との距離を演算することによって求められる。そのため、点群モデルに含まれる点の個数が増えるほど演算量が増大し、演算時間が長くなる。
 それに対し、経路生成装置3は、生成された経路に対して密度が低い第1物体モデル71A及び第1装置モデル72Aを用いて干渉判定を行い、干渉の可能性が無ければ干渉判定を終了して経路を確定し、干渉の可能性があると判定された場合には密度が高い第2物体モデル71B及び第2装置モデル72Bに変更して再び干渉判定を行う。これによれば、密度の低い物体モデル71及び装置モデル72から順に用いて干渉判定が行われるため、密度の低い第1物体モデル71A及び第1装置モデル72Aを用いた干渉判定によって干渉の有無がわかると、第1物体モデル71Aに含まれる点と第1装置モデル72Aに含まれる点との距離の演算量が低減される。その一方で、密度の低い物体モデル71を用いると、干渉判定の精度が低下する。それに対し、経路生成装置3は、第1物体モデル71A及び第1装置モデル72Aを用いた干渉判定によって干渉の有無が判定できない場合には、干渉の可能性ありと判定して、第1物体モデル71A及び第1装置モデル72Aから密度が高い第2物体モデル71B及び第2装置モデル72Bに変更して再び干渉判定を行う。より密度が高い第2物体モデル71B及び第2装置モデル72Bを用いることによってより高い精度で干渉判定を行うことができる。このように、経路生成装置3の干渉判定によれば、干渉判定の時間の短縮と精度の向上とを両立させることができる。
 この例では、経路生成装置3は、物体モデル71の密度を3段階に設定している。具体的には、経路生成装置3は、密度の異なる第1物体モデル71A、第2物体モデル71B及び第3物体モデル71C、並びに、第1装置モデル72A、第2装置モデル72B及び第3装置モデル72Cを密度の低い順に用いて干渉判定を行う。これにより、干渉判定の時間の短縮と精度の向上とのバランスを段階的に取ることができる。
 それに加えて、経路生成装置3においては、物体モデル71及び装置モデル72の両方が点群モデルで形成される。これにより、物体モデル71と装置モデル72との距離の演算は、2点間の距離の演算になる。その結果、物体モデル71と装置モデル72との距離の演算が単純化される。
 さらに、経路生成装置3は、装置モデル72の密度を物体モデル71の密度に合わせて変更する。具体的には、装置モデル72は、順番に高くなる第1密度、第2密度及び第3密度の点群モデルによって形成され得る。演算量の低減を優先すべく第1物体モデル71Aを用いて干渉判定が行われるときには、最高密度が第1密度の第1装置モデル72Aが用いられる。密度が最も低い第1物体モデル71Aが用いられることに加え、密度が最も低い第1装置モデル72Aが用いられることによって、第1物体モデル71Aに含まれる点と第1装置モデル72Aに含まれる点との2点間の距離の演算量を低減することができる。干渉判定の精度の向上を優先すべく第3物体モデル71Cを用いて干渉判定が行われるときには、最高密度が第3密度の第3装置モデル72Cが用いられる。密度が最も高い第3物体モデル71Cが用いられることに加え、密度が最も高い第3装置モデル72Cが用いられることによって、第3物体モデル71Cと第3装置モデル72Cとの干渉をより高精度に判定することができる。演算量の低減と干渉判定の精度の向上とのバランスを取るべく第2物体モデル71Bを用いて干渉判定が行われるときには、最高密度が第2密度の第2装置モデル72Bが用いられる。密度が中間の第2物体モデル71Bが用いられることに加え、密度が中間の第2装置モデル72Bが用いられることによって、演算負荷を低減しつつ干渉判定の精度を向上させることができる。このように、装置モデル72の密度の増減の傾向と物体モデル71の密度の増減の傾向とを一致させることによって、干渉判定の時間の短縮と精度の向上とを両立が実現しやすくなる。
 以上のように、ロボットアーム12(動作装置)の経路を生成する経路生成装置3は、ロボットアーム12が配置された配置空間に含まれる物体のモデルである物体モデル71を設定する物体設定部54と、配置空間におけるロボットアーム12のモデルである装置モデル72を設定する装置設定部55と、ロボットアーム12の経路を段階的に生成する経路生成部56と、物体モデル71と装置モデル72との距離に基づいて、物体モデル71と経路に沿って移動した後の装置モデル72との干渉判定を行う干渉判定部57とを備え、物体モデル71及び装置モデル72の少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると干渉判定部57によって判定された場合には、物体設定部54及び装置設定部55の少なくとも一方は、点群モデルの点群の密度を高くし、干渉判定部57は、点群の密度が高くなった点群モデルを用いて干渉判定を再び行い、経路生成部56は、干渉の可能性がないと干渉判定部57によって判定された場合には次の経路を生成する。
 換言すると、ロボットアーム12(動作装置)の経路を生成する経路生成方法は、ロボットアーム12が配置された配置空間に含まれる物体のモデルである物体モデル71を設定することと、配置空間におけるロボットアーム12のモデルである装置モデル72を設定することと、ロボットアーム12の経路を段階的に生成することと、物体モデル71と装置モデル72との距離に基づいて、物体モデル71と経路に沿って移動した後の装置モデル72との干渉判定を行うこととを含み、物体モデル71及び装置モデル72の少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると干渉判定によって判定された場合には、物体モデル71を設定すること及び装置モデル72を設定することの少なくとも一方において、点群モデルの点群の密度を高くし、干渉判定を行うことにおいて、点群の密度が高くなった点群モデルを用いて干渉判定を再び行い、経路を生成することにおいては、干渉の可能性がないと干渉判定によって判定された場合には次の経路を生成する。
 また、経路生成プログラム62は、ロボットアーム12(動作装置)の動作を生成するためにコンピュータに、ロボットアーム12が配置された配置空間に含まれる物体のモデルである物体モデル71を設定する機能と、配置空間におけるロボットアーム12のモデルである装置モデル72を設定する機能と、ロボットアーム12の経路を段階的に生成する機能と、物体モデル71と装置モデル72との距離に基づいて、物体モデル71と経路に沿って移動した後の装置モデル72との干渉判定を行う機能とを実現させ、物体モデル71及び装置モデル72の少なくとも一方は、点群で形成された点群モデルであり、干渉の可能性があると干渉判定によって判定された場合には、物体モデル71を設定する機能及び装置モデル72を設定する機能の少なくとも一方は、点群モデルの点群の密度を高くし、干渉判定を行う機能は、点群の密度が高くなった点群モデルを用いて干渉判定を再び行い、経路を生成する機能は、干渉の可能性がないと前記干渉判定によって判定された場合には次の経路を生成する。
 これらの構成によれば、ロボットアーム12の経路が段階的に生成される。経路が生成されると、物体モデル71と経路に沿って移動した後の装置モデル72との干渉判定が行われる。干渉判定は、物体モデル71と装置モデル72との距離に基づいて行われる。このとき、物体モデル71及び装置モデル72の少なくとも一方は、点群モデルである。干渉判定の結果、干渉の可能性があると判定された場合には、点群モデルの点群の密度が高くされ、干渉判定が再び行われる。干渉の可能性がないと判定された場合には、次の経路が生成される。このように、まずは密度の比較的低い点群モデルを用いて干渉判定が行われる。干渉判定は物体モデル71と装置モデル72との距離に基づいて行われるため、密度の低い点群モデルを用いた干渉判定では距離の演算負荷が小さい。密度の低い点群モデルを用いた干渉判定において干渉の可能性がないと判定される場合もあり、そのような場合には距離の演算負荷が低減される。一方、密度の低い点群モデルを用いた干渉判定において干渉の可能性があると判定された場合には、密度の高い点群モデルを用いて干渉判定が再び行われる。点群モデルの密度が高くなることによって、干渉の有無をより詳細に判定することができる。その結果、距離の演算負荷の低減と干渉判定の精度の向上とを両立させることができる。
 尚、物体モデル71及び装置モデル72の少なくとも一方が点群モデルであるので、物体モデル71及び装置モデル72の両方が点群モデルであってもよいし、物体モデル71だけが点群モデルであってもよいし、装置モデル72だけが点群モデルであってもよい。
 物体設定部54及び装置設定部55の少なくとも一方は、干渉の可能性があると干渉判定部57によって判定された場合には、干渉判定において干渉の可能性があると判定された部分を含む、点群モデルの一部の点群の密度を高くする。
 この構成によれば、物体設定部54及び装置設定部55の少なくとも一方、即ち、物体設定部54及び装置設定部55のうち点群モデルを設定する方は、干渉の可能性があると判定された場合には、点群モデルの全部の点群の密度を高くするのではなく、干渉判定において干渉の可能性があると判定された部分を含む、点群モデルの一部の点群の密度を高くする。これにより、物体設定部54及び装置設定部55の少なくとも一方が点群モデルの密度を高くする際の処理量を低減することができる。
 また、干渉判定部57は、物体モデル71と装置モデル72との最短距離であるモデル間距離が所定の安全閾値以下の場合に、干渉の可能性があると判定し、モデル間距離が安全閾値よりも大きい場合に、干渉の可能性がないと判定する。
 この構成によれば、物体モデル71と装置モデル72とのモデル間距離が安全閾値以下か否かによって干渉の可能性の有無が判定される。
 さらに、干渉判定部57は、モデル間距離が安全閾値よりも小さな干渉閾値以下の場合に、干渉すると判定し、経路生成部56は、干渉すると干渉判定部57によって判定された場合には経路を変更する。
 この構成によれば、干渉判定部57は、モデル間距離に基づいて、干渉の可能性なし、干渉の可能性あり、及び、干渉するの3つの状態を判定する。具体的には、モデル間距離が安全閾値よりも大きい場合には、干渉の可能性がないと判定され、モデル間距離が安全閾値以下であって且つ干渉閾値よりも大きい場合には、干渉の可能性があると判定され、モデル間距離が干渉閾値以下の場合には、干渉すると判定される。
 尚、干渉の可能性がないと判定された場合には次の経路が生成され、干渉すると判定された場合には経路が変更され、干渉の可能性があると判定された場合には密度のより高い点群モデルを用いて干渉判定が再度行われる。このような処理が繰り返されることによって、経路が段階的に生成される。
 安全閾値は、点群モデルの点群の密度が高いほど小さくなるように設定される。
 この構成によれば、点群モデルの点群の密度に応じた適切な安全閾値を用いて干渉判定を行うことができる。つまり、点群モデルの密度が低い場合には、点群モデルが精細ではなく、このときには安全閾値が比較的大きく設定される。これにより、干渉するにもかかわらず、干渉しないと誤判定してしまうことを防止することができる。一方、点群モデルの密度が高い場合には、点群モデルが精細であり、このときには安全閾値が比較的小さく設定される。点群モデルが精細なので、安全閾値を比較的小さくしても、干渉の可能性の有無を正確に判定することができる。
 また、動作装置としてのロボットアーム12は、複数のリンクと、複数のリンクを連結する複数の関節とを有し、干渉判定部57は、複数のリンクのそれぞれについてモデル間距離を求め、複数のリンクの少なくとも1つのリンクのモデル間距離が安全閾値以下の場合に、干渉の可能性があると判定し、複数のリンクの全てのリンクのモデル間距離が安全閾値よりも大きい場合に、干渉の可能性がないと判定する。
 この構成によれば、ロボットアーム12のリンクごとにモデル間距離が求められ、リンクごとにモデル間距離と安全閾値との比較が行われ、リンクごとに干渉の可能性の有無が判定される。
 さらに、干渉判定部57は、複数のリンクのうちロボットアーム12の先端側のリンクから順に、モデル間距離を求め、求められたモデル間距離と安全閾値とを比較する。
 この構成によれば、ロボットアーム12の先端側に位置するリンクから順に、干渉の可能性の有無が判定される。ロボットアーム12においては、先端側のリンクほど可動範囲が大きいので、先端側のリンクほど物体との干渉の可能性が高い。干渉判定部57は、モデル間距離が安全閾値以下のリンクが1つでもあれば、干渉の可能性があると判定する。つまり、複数のリンクにおいてモデル間距離が安全閾値以下のリンクが1つでも見つかれば、残りのリンクについてはモデル間距離の演算等を省略することができる。先端側のリンクから順に干渉の可能性の有無を判定することによって、干渉の可能性があるリンクを早期に発見することができ、モデル間距離の演算等の負荷を低減できる可能性が高まる。
 また、干渉判定部57は、干渉の可能性がないと判定した場合、モデル間距離から安全閾値を減じた値である余裕距離を求め、経路生成部56は、経路を生成する場合、今回の経路に繋がる前の経路の余裕距離が今回の経路の装置モデル72の移動量よりも大きいときには、今回の経路に対する干渉判定を省略する。
 この構成によれば、経路生成部56が新たな経路を生成したときに、その経路に沿った装置モデル72の移動量よりも前の経路に対する干渉判定における余裕距離が大きいときには、今回の経路に対して干渉判定を省略して次の経路を生成する。今回の経路に沿って装置モデル72が移動しても、物体モデル71と装置モデル72とのモデル間距離は安全閾値よりも大きくなる可能性が高い。これにより、干渉判定がスキップされるので、干渉判定に関する演算負荷が低減され、全体的な処理が簡略化される。
 さらに、動作装置としてのロボットアーム12は、複数のリンクと、複数のリンクを連結する複数の関節とを有し、干渉判定部57は、複数のリンクのそれぞれについてモデル間距離を求め、複数のリンクの少なくとも1つのリンクのモデル間距離が所定の安全閾値以下の場合に、干渉の可能性があると判定し、複数のリンクの全てのリンクのモデル間距離が安全閾値よりも大きい場合に、干渉の可能性がないと判定し、複数のリンクのそれぞれについて余裕距離を求め、経路生成部56は、経路を生成する場合、今回の経路に対する干渉判定を省略するか否かを複数のリンクごとに判定する。
 この構成によれば、干渉判定に関する演算負荷をより低減することができる。つまり、動作装置としてのロボットアーム12の全体で干渉判定を省略するか否かが判定される構成では、ロボットアーム12に干渉判定を省略可能なリンクが含まれていても干渉判定を省略可能でないリンクが含まれていれば、ロボットアーム12としては干渉判定を省略しない。一方、リンクごとに干渉判定を省略するかが判定される構成では、ロボットアーム12に干渉判定を省略可能なリンクと干渉判定を省略可能でないリンクとが含まれている場合に、干渉判定を省略可能なリンクの干渉判定を省略し、干渉判定を省略可能できないリンクだけを干渉判定することができる。これにより、干渉判定に関する演算負荷をより低減することができる。
 また、物体モデル71及び装置モデル72のうち少なくとも物体モデル71は、点群モデルである。
 この構成によれば、配置空間における未知な物体に対しても点群モデルを用いた干渉判定を容易に実現できる。詳しくは、通常、装置モデル72を点群モデルで形成する場合は、装置モデル72の点群データを予め準備、即ち、保存しておくことが多い。そのため、装置モデル72を点群モデルで形成する場合には、点群データを予め準備しておく必要がある。それに対し、配置空間における物体の情報は、通常、三次元ビジョンセンサ4等の物体情報を取得する装置によって取得されることが多い。このような装置によれば、物体の点群データを容易に取得することができる。そのため、装置モデル72を点群モデルで形成する場合には、点群データを予め準備しおく必要がなく、その場で三次元ビジョンセンサ4等によって点群データを取得することができる。これにより、未知な物体に対しても点群モデルを用いた干渉判定を容易に実現できる。
 さらに、物体モデル71及び装置モデル72は両方とも、点群モデルである。
 この構成によれば、物体モデル71と装置モデル72との距離は、物体モデル71に含まれる点と装置モデル72に含まれる点との距離になる。つまり、距離の演算は、2点間の距離の演算となり、演算自体は簡単となる。その一方で、物体モデル71及び装置モデル72に含まれる点の個数が増加すると、演算負荷が増大する。それに対し、前述のように、密度の低い点群モデルから順番に用いて干渉判定を行うことによって、演算負荷が低減される。
 さらに、干渉の可能性があると干渉判定部57によって判定された場合には、物体設定部54は、物体モデル71の点群の密度を高くし、装置設定部55は、装置モデル72の点群の密度を高くし、干渉判定部57は、点群の密度が高くなった装置モデル72と点群の密度が高くなった物体モデル71との干渉判定を行う。
 この構成によれば、干渉判定において干渉の可能性があると判定された場合には、物体モデル71及び装置モデル72の両方の点群の密度が高くされる。つまり、演算負荷の低減を図るために物体モデル71の密度が低ときには装置モデル72の密度も低いので、演算負荷の低減が促進される。一方、干渉判定の精度の向上を図るために物体モデル71密度が高いときには装置モデル72の密度も高いので、干渉判定の精度の向上が促進される。
 また、物体設定部54は、干渉判定において干渉の可能性があると判定された部分を含む、物体モデル71の一部の点群の密度を高くし、装置設定部55は、干渉判定において干渉の可能性があると判定された部分を含む、装置モデル72の一部の点群の密度を高くする。
 この構成によれば、物体設定部54は、干渉の可能性があると判定された場合には、物体モデル71の全部の点群の密度を高くするのではなく、干渉判定において干渉の可能性があると判定された部分を含む、物体モデル71の一部の点群の密度を高くする。これにより、物体設定部54が物体モデル71の密度を高くする際の処理量を低減することができる。同様に、装置設定部55は、干渉の可能性があると判定された場合には、装置モデル72の全部の点群の密度を高くするのではなく、干渉判定において干渉の可能性があると判定された部分を含む、装置モデル72の一部の点群の密度を高くする。これにより、装置設定部55が装置モデル72の密度を高くする際の処理量を低減することができる。
 《その他の実施形態》
 以上のように、本出願において開示する技術の例示として、前記実施形態を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置き換え、付加、省略などを行った実施の形態にも適用可能である。また、前記実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。また、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、前記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
 例えば、動作装置は、ロボットアーム12及びロボット1に限定されない。動作を行う装置であれば、任意の装置が動作装置の対象となり得る。例えば、動作装置は、自走式のロボットなど、ロボットアームを備えないロボットであってもよい。また、動作装置は、ドローン等の移動体であってもよい。また、ロボット1は、産業用ロボットに限定されない。
 また、動作装置は、ロボットアーム12ではなく、ハンド14の指14aであってもよい。
 物体設定部54が生成する物体モデル71の基となる点群データは、三次元ビジョンセンサ4から出力される点群データに限定されない。物体設定部54は、例えば、RGB-Dカメラから出力されるRGB-D画像から点群データを生成してもよい。また、物体設定部54は、RGB-D画像の他に、ステレオカメラから出力されるRGB画像から点群データを生成してもよいし、デプス画像、ボクセル等に基づいて点群データを生成してもよい。
 さらには、物体設定部54は、センサやカメラ等のような装置から出力されるデータに基づいて点群データを生成する構成に限定されず、予め取得され、記憶部52又は他の装置に記憶されている点群データに基づいて物体モデル71を生成してもよい。
 物体モデル71及び装置モデル72の一方は、点群モデルでなくてもよい。例えば、物体設定部54は、物体モデル71を点群モデルで生成する一方、装置設定部55は、装置モデル72を点群モデル以外のモデルによって生成してもよい。逆に、物体設定部54は、物体モデル71を点群モデル以外のモデルによって生成する一方、装置設定部55は、装置モデル72を点群モデルで生成してもよい。点群モデル以外のモデルの例としては、装置モデル72が点群モデル以外のモデルである場合、装置設定部55は、実際の動作装置(この例では、ロボットアーム12)と同様の外表面を有する装置モデル72を生成してもよい。あるいは、装置設定部55は、実際の動作装置の外形を円柱や多角形に近似して形成した装置モデル72、又は、ポリゴンで形成した装置モデル72等であってもよい。この場合、物体モデルに含まれる点と装置モデルとの距離は、物体モデルに含まれる点と装置モデル72を形成する面までの距離となる。物体設定部54が点群モデル以外のモデルを生成する場合も同様である。
 物体設定部54は、物体モデル71の密度を3段階で変更しているが、これに限定されるものではない。物体設定部54は、物体モデル71の密度を2段階、又は、4段階以上に変更してもよい。物体設定部54は、物体モデル71の密度を変更する場合に、物体モデル71のうち注目部分を含む一部だけの密度ではなく、物体モデル71の全体の密度を変更してもよい。
 装置設定部55は、装置モデル72の密度を3段階で変更しているが、これに限定されるものではない。装置設定部55は、装置モデル72の密度を2段階、又は、4段階以上に変更してもよい。また、装置モデル72の第1密度、第2密度及び第3密度はそれぞれ、物体モデル71の第1密度、第2密度及び第3密度と同程度でなくてもよい。装置設定部55は、装置モデル72の密度を変更する場合に、装置モデル72のうち注目部分を含むリンクだけの密度ではなく、装置モデル72の全体、即ち、ロボットアーム12の全体の密度を変更してもよい。あるいは、装置設定部55は、装置モデル72の密度を変更する場合に、注目部分を含むリンクの全体の密度ではなく、注目部分を含むリンクのうち注目部分を含む一部だけの密度を変更してもよい。
 また、干渉判定において干渉の可能性があると判定された場合には、少なくとも物体モデル71の密度が変更されればよく、装置モデル72の密度の変更は必須ではない。
 動作装置の経路は、前述のピックアンドプレース動作における経路に限定されない。本技術は、動作装置の様々な動作における経路の生成に適用することができる。
 経路の開始位置は、エンコーダ15aの検出結果によって取得されているが、これに限定されない。目標位置は、三次元ビジョンセンサ4からの空間情報を画像認識技術によって画像認識することによって取得されているが、これに限定されない。開始位置又は目標位置は、外部からの入力を受け付けることによって、制御部51が取得してもよい。例えば、制御装置5がタッチパネル等の操作入力部を有し、タッチパネルに表示された配置空間の画像からユーザが開始位置及び/又は目標位置を選択してもよい。あるいは、開始位置及び/又は目標位置は、予め決められ、記憶部52等に記憶されていてもよい。
 安全閾値は、物体モデル71の点群の密度が高いほど小さくなるように設定されているが、これに限定されない。つまり、第1安全閾値は、第2安全閾値よりも大きいことは必須ではない。例えば、第1安全閾値と第2安全閾値とは、同じ値であってもよい。
 干渉閾値は、異なる密度の物体モデル71の干渉判定において同じ値であるが、これに限定されない。例えば、干渉閾値は、物体モデル71の点群の密度が高いほど小さくなるように設定されてもよい。
 前述の経路生成処理のステップsb4のスキップにおいては、余裕距離が今回の中間位置への第1装置モデル72Aの移動量よりも大きい場合には、干渉判定をスキップしている。この今回の中間位置への第1装置モデル72Aの移動量は、第1装置モデル72Aが前の中間位置から今回の中間位置へ移動するときの、前の第1装置モデル72Aの最接近点の移動量であるが、これに限定されない。このスキップの判定における第1装置モデル72Aの移動量は、第1装置モデル72Aの各部(例えば、複数の関節及びハンド14の指先)のうちの最大移動量を用いてもよい。あるいは、中間位置を生成するルールとして、装置モデル72の各部(複数の関節及びハンド14の指先)のそれぞれの移動量の上限値が設定されている場合には、該上限値を用いてもよい。
 また、ステップsb4の干渉判定のスキップは、次の中間位置に対してだけでなく、次回以降の複数の中間位置の干渉判定をスキップしてもよい。例えば、余裕距離が次回以降の複数の中間位置への第1装置モデル72Aの移動量よりも大きい場合には、それら複数の中間位置に対する干渉判定をスキップしてもよい。
 尚、ステップsb4の干渉判定のスキップの処理は省略されてもよい。
 前述の経路生成処理において、物体モデル71の密度が2段階に変更される場合には、ステップsb9,sb11,sb12が省略される。つまり、第2物体モデル71Bと第2装置モデル72Bとのモデル間距離が干渉閾値以下か否かが判定される。モデル間距離が第2安全閾値以下か否かは判定されない。モデル間距離が干渉閾値以下の場合には、ステップsb7において中間位置が変更される。モデル間距離が干渉閾値よりも大きい場合には、ステップsb13において目標位置に到達したか否かが判定される。
 また、経路生成処理において、物体モデル71の密度が4段階以上に変更される場合には、第3物体モデル71C及び第3装置モデル72Cの干渉判定においても、モデル間距離が干渉閾値以下か否かの判定の前に、モデル間距離が安全閾値、即ち、第3安全閾値以下か否かの判定がされる。そして、最高密度の物体モデル71と装置モデル72との干渉判定においては、モデル間距離が安全閾値以下か否かの判定が行われず、モデル間距離が干渉閾値か否かの判定が行われる。
 前述のフローチャートでは、制御装置5は、開始位置から目標位置までの段階的な経路を全て生成してからロボットアーム12の移動を開始しているが、これに限定されない。制御装置5は、開始位置から目標位置まで段階的に生成される経路の1つ1つが生成され確定したごとにロボットアーム12をその経路に沿って移動させてもよい。
 また、前述のフローチャートでは、所期の処理を実現できる限り、ステップの順番を入れ替えたり、複数のステップを並行に処理したり、ステップを省略したり、ステップを追加したりしてもよい。
 本明細書で開示する要素の機能は、開示された機能を実行するよう構成またはプログラムされた汎用プロセッサ、専用プロセッサ、集積回路、ASIC(Application Specific Integrated Circuits)、従来の回路、および/または、それらの組み合わせ、を含む回路または処理回路を使用して実行できる。プロセッサは、トランジスタやその他の回路を含むため、処理回路または回路と見なされる。本開示において、回路、ユニット、または手段は、列挙された機能を実行するハードウェアであるか、または、列挙された機能を実行するようにプログラムされたハードウェアである。ハードウェアは、本明細書に開示されているハードウェアであってもよいし、あるいは、列挙された機能を実行するようにプログラムまたは構成されているその他の既知のハードウェアであってもよい。ハードウェアが回路の一種と考えられるプロセッサである場合、回路、手段、またはユニットはハードウェアとソフトウェアの組み合わせであり、ソフトウェアはハードウェアおよび/またはプロセッサの構成に使用される。
100  ロボットシステム
1    ロボット
12   ロボットアーム(動作装置)
3    経路生成装置
54   物体設定部
55   装置設定部
56   経路生成部
57   干渉判定部
62   経路生成プログラム
71   物体モデル
72   装置モデル

Claims (15)

  1.  動作装置の経路を生成する経路生成装置であって、
     前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定する物体設定部と、
     前記配置空間における前記動作装置のモデルである装置モデルを設定する装置設定部と、
     前記動作装置の経路を段階的に生成する経路生成部と、
     前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行う干渉判定部とを備え、
     前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、
     干渉の可能性があると前記干渉判定部によって判定された場合には、
      前記物体設定部及び前記装置設定部の少なくとも一方は、前記点群モデルの前記点群の密度を高くし、
      前記干渉判定部は、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、
     前記経路生成部は、干渉の可能性がないと前記干渉判定部によって判定された場合には次の経路を生成する経路生成装置。
  2.  請求項1に記載の経路生成装置において、
     前記物体設定部及び前記装置設定部の少なくとも一方は、干渉の可能性があると前記干渉判定部によって判定された場合には、前記干渉判定において干渉の可能性があると判定された部分を含む、前記点群モデルの一部の前記点群の密度を高くする経路生成装置。
  3.  請求項1又は2に記載の経路生成装置において、
     前記干渉判定部は、
      前記物体モデルと前記装置モデルとの最短距離であるモデル間距離が所定の安全閾値以下の場合に、干渉の可能性があると判定し、
      前記モデル間距離が前記安全閾値よりも大きい場合に、干渉の可能性がないと判定する経路生成装置。
  4.  請求項3に記載の経路生成装置において、
     前記干渉判定部は、前記モデル間距離が前記安全閾値よりも小さな干渉閾値以下の場合に、干渉すると判定し、
     前記経路生成部は、干渉すると前記干渉判定部によって判定された場合には経路を変更する経路生成装置。
  5.  請求項3又は4に記載の経路生成装置において、
     前記安全閾値は、前記点群モデルの前記点群の密度が高いほど小さくなるように設定される経路生成装置。
  6.  請求項3乃至5の何れか1項に記載の経路生成装置において、
     前記動作装置は、複数のリンクと、複数のリンクを連結する複数の関節とを有するロボットアームであって、
     前記干渉判定部は、
      前記複数のリンクのそれぞれについて前記モデル間距離を求め、
      前記複数のリンクの少なくとも1つのリンクの前記モデル間距離が前記安全閾値以下の場合に、干渉の可能性があると判定し、
      前記複数のリンクの全てのリンクの前記モデル間距離が前記安全閾値よりも大きい場合に、干渉の可能性がないと判定する経路生成装置。
  7.  請求項6に記載の経路生成装置において、
     前記干渉判定部は、前記複数のリンクのうち前記ロボットアームの先端側のリンクから順に、前記モデル間距離を求め、求められた前記モデル間距離と前記安全閾値とを比較する経路生成装置。
  8.  請求項3に記載の経路生成装置において、
     前記干渉判定部は、干渉の可能性がないと判定した場合、前記モデル間距離から前記安全閾値を減じた値である余裕距離を求め、
     前記経路生成部は、前記経路を生成する場合、今回の経路に繋がる前の経路の前記余裕距離が前記今回の経路の前記装置モデルの移動量よりも大きいときには、前記今回の経路に対する前記干渉判定を省略する経路生成装置。
  9.  請求項8に記載の経路生成装置において、
     前記動作装置は、複数のリンクと、複数のリンクを連結する複数の関節とを有するロボットアームであって、
     前記干渉判定部は、
      前記複数のリンクのそれぞれについて前記モデル間距離を求め、
      前記複数のリンクの少なくとも1つのリンクの前記モデル間距離が前記安全閾値以下の場合に、干渉の可能性があると判定し、
      前記複数のリンクの全てのリンクの前記モデル間距離が前記安全閾値よりも大きい場合に、干渉の可能性がないと判定し、前記複数のリンクのそれぞれについて前記余裕距離を求め、
     前記経路生成部は、前記経路を生成する場合、前記今回の経路に対する前記干渉判定を省略するか否かを前記複数のリンクごとに判定する経路生成装置。
  10.  請求項1乃至7の何れか1項に記載の経路生成装置において、
     前記物体モデル及び前記装置モデルのうち少なくとも前記物体モデルは、前記点群モデルである経路生成装置。
  11.  請求項1乃至10の何れか1項に記載の経路生成装置において、
     前記物体モデル及び前記装置モデルは両方とも、前記点群モデルである経路生成装置。
  12.  請求項11に記載の経路生成装置において、
     干渉の可能性があると前記干渉判定部によって判定された場合には、
      前記物体設定部は、前記物体モデルの前記点群の密度を高くし、
      前記装置設定部は、前記装置モデルの前記点群の密度を高くし、
      前記干渉判定部は、前記点群の密度が高くなった前記装置モデルと前記点群の密度が高くなった前記物体モデルとの干渉判定を行う経路生成装置。
  13.  請求項12に記載の経路生成装置において、
     前記物体設定部は、前記干渉判定において干渉の可能性があると判定された部分を含む、前記物体モデルの一部の前記点群の密度を高くし、
     前記装置設定部は、前記干渉判定において干渉の可能性があると判定された部分を含む、前記装置モデルの一部の前記点群の密度を高くする経路生成装置。
  14.  動作装置の経路を生成する経路生成方法であって、
     前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定することと、
     前記配置空間における前記動作装置のモデルである装置モデルを設定することと、
     前記動作装置の経路を段階的に生成することと、
     前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行うこととを含み、
     前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、
     干渉の可能性があると前記干渉判定によって判定された場合には、
      前記物体モデルを設定すること及び前記装置モデルを設定することの少なくとも一方において、前記点群モデルの前記点群の密度を高くし、
      前記干渉判定を行うことにおいて、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、
     前記経路を生成することにおいては、干渉の可能性がないと前記干渉判定によって判定された場合には次の経路を生成する経路生成方法。
  15.  動作装置の動作を生成するためにコンピュータに、
     前記動作装置が配置された配置空間に含まれる物体のモデルである物体モデルを設定する機能と、
     前記配置空間における前記動作装置のモデルである装置モデルを設定する機能と、
     前記動作装置の経路を段階的に生成する機能と、
     前記物体モデルと前記装置モデルとの距離に基づいて、前記物体モデルと前記経路に沿って移動した後の前記装置モデルとの干渉判定を行う機能とを実現させ、
     前記物体モデル及び前記装置モデルの少なくとも一方は、点群で形成された点群モデルであり、
     干渉の可能性があると前記干渉判定によって判定された場合には、
      前記物体モデルを設定する機能及び前記装置モデルを設定する機能の少なくとも一方は、前記点群モデルの前記点群の密度を高くし、
      前記干渉判定を行う機能は、前記点群の密度が高くなった前記点群モデルを用いて前記干渉判定を再び行い、
     前記経路を生成する機能は、干渉の可能性がないと前記干渉判定によって判定された場合には次の経路を生成する経路生成プログラム。

     
PCT/JP2021/000734 2021-01-12 2021-01-12 経路生成装置、経路生成方法及び経路生成プログラム WO2022153374A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP21919270.5A EP4279224A4 (en) 2021-01-12 2021-01-12 PATH GENERATION DEVICE, PATH GENERATION METHOD AND PATH GENERATION PROGRAM
PCT/JP2021/000734 WO2022153374A1 (ja) 2021-01-12 2021-01-12 経路生成装置、経路生成方法及び経路生成プログラム
US18/271,243 US20240058961A1 (en) 2021-01-12 2021-01-12 Path generation device, path generation method, and path generation program
CN202180089796.0A CN116745074A (zh) 2021-01-12 2021-01-12 路径生成装置、路径生成方法以及路径生成程序
JP2022574892A JP7429807B2 (ja) 2021-01-12 2021-01-12 経路生成装置、経路生成方法及び経路生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/000734 WO2022153374A1 (ja) 2021-01-12 2021-01-12 経路生成装置、経路生成方法及び経路生成プログラム

Publications (1)

Publication Number Publication Date
WO2022153374A1 true WO2022153374A1 (ja) 2022-07-21

Family

ID=82447194

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/000734 WO2022153374A1 (ja) 2021-01-12 2021-01-12 経路生成装置、経路生成方法及び経路生成プログラム

Country Status (5)

Country Link
US (1) US20240058961A1 (ja)
EP (1) EP4279224A4 (ja)
JP (1) JP7429807B2 (ja)
CN (1) CN116745074A (ja)
WO (1) WO2022153374A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190228A (ja) * 2005-01-07 2006-07-20 Kobe Steel Ltd 動作プログラムの作成方法
JP2013186088A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2013246553A (ja) 2012-05-24 2013-12-09 Toyota Motor Corp 軌道計画装置、軌道計画方法及び軌道計画プログラム
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE602006003435D1 (de) * 2006-09-14 2008-12-11 Abb Research Ltd Verfahren und Vorrichtung zur Vermeidung von Kollisionen zwischen einem Industrieroboter und einem Objekt
US9144904B2 (en) * 2008-05-21 2015-09-29 Fanuc Robotics America Corporation Method and system for automatically preventing deadlock in multi-robot systems
KR101798132B1 (ko) * 2016-12-26 2017-11-16 한국생산기술연구원 로봇의 충돌 검출 고속화를 위한 작업 환경 모델링 장치 및 방법
US10303180B1 (en) * 2017-04-20 2019-05-28 X Development Llc Generating and utilizing non-uniform volume measures for voxels in robotics applications
WO2019183141A1 (en) * 2018-03-21 2019-09-26 Realtime Robotics, Inc. Motion planning of a robot for various environments and tasks and improved operation of same
US11911908B2 (en) * 2018-12-21 2024-02-27 Intrinsic Innovation Llc Dynamic probabilistic motion planning
CN114061580B (zh) 2020-05-22 2023-12-29 梅卡曼德(北京)机器人科技有限公司 基于对称程度的机器人抓取方法、装置、电子设备及介质
JP2022100030A (ja) 2020-12-23 2022-07-05 京セラ株式会社 干渉判定装置、ロボット制御システム、及び干渉判定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006190228A (ja) * 2005-01-07 2006-07-20 Kobe Steel Ltd 動作プログラムの作成方法
JP2013186088A (ja) * 2012-03-09 2013-09-19 Canon Inc 情報処理装置、情報処理方法
JP2013246553A (ja) 2012-05-24 2013-12-09 Toyota Motor Corp 軌道計画装置、軌道計画方法及び軌道計画プログラム
WO2018092860A1 (ja) * 2016-11-16 2018-05-24 三菱電機株式会社 干渉回避装置

Non-Patent Citations (1)

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

Also Published As

Publication number Publication date
JPWO2022153374A1 (ja) 2022-07-21
JP7429807B2 (ja) 2024-02-08
CN116745074A (zh) 2023-09-12
US20240058961A1 (en) 2024-02-22
EP4279224A1 (en) 2023-11-22
EP4279224A4 (en) 2024-02-28

Similar Documents

Publication Publication Date Title
US11498214B2 (en) Teaching device, teaching method, and robot system
JP6879464B2 (ja) 干渉判定方法、干渉判定システム及びコンピュータプログラム
JP5754454B2 (ja) ロボットピッキングシステム及び被加工物の製造方法
JP5949242B2 (ja) ロボットシステム、ロボット、ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP6378783B2 (ja) アーム型のロボットの障害物自動回避方法及び制御装置
US20190240833A1 (en) Trajectory generating method, and trajectory generating apparatus
JP6456555B1 (ja) キャリブレーション装置、キャリブレーション方法および制御装置
JP2020179466A (ja) 軌道計画装置、軌道計画方法及びプログラム
JP6501470B2 (ja) 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体
JP2019166626A (ja) 制御装置及び機械学習装置
JP2020110885A (ja) 経路生成装置、経路生成方法、及び経路生成プログラム
JP2015058492A (ja) 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム
US20180173200A1 (en) Gestural control of an industrial robot
WO2019082394A1 (ja) 数値制御装置
JP6242539B1 (ja) 数値制御装置
JP2007000954A (ja) ロボット教示装置及び方法
WO2022153374A1 (ja) 経路生成装置、経路生成方法及び経路生成プログラム
JP6792230B1 (ja) 情報処理装置、方法およびプログラム
JP2009274180A (ja) ロボット動作計画方法及び装置
JP7061013B2 (ja) 経路補正方法及び多軸加工機の制御装置
JP2015058493A (ja) 制御装置、ロボットシステム、ロボット、ロボット動作情報生成方法及びプログラム
US20220193906A1 (en) User Interface for Supervised Autonomous Grasping
JP7441335B2 (ja) 動作生成装置、ロボットシステム、動作生成方法及び動作生成プログラム
JP2021192944A (ja) ロボットシステム、制御装置、及び制御方法
JP2021045816A (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: 21919270

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022574892

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 18271243

Country of ref document: US

Ref document number: 202180089796.0

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2021919270

Country of ref document: EP

Effective date: 20230814