WO2023149298A1 - 軌道生成装置 - Google Patents

軌道生成装置 Download PDF

Info

Publication number
WO2023149298A1
WO2023149298A1 PCT/JP2023/002235 JP2023002235W WO2023149298A1 WO 2023149298 A1 WO2023149298 A1 WO 2023149298A1 JP 2023002235 W JP2023002235 W JP 2023002235W WO 2023149298 A1 WO2023149298 A1 WO 2023149298A1
Authority
WO
WIPO (PCT)
Prior art keywords
maximum movement
acceleration
movement axis
deceleration
trajectory
Prior art date
Application number
PCT/JP2023/002235
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 JP2023534202A priority Critical patent/JP7399357B1/ja
Publication of WO2023149298A1 publication Critical patent/WO2023149298A1/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/10Programme-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • the present disclosure relates to a trajectory that generates a target trajectory for an industrial machine such as a robot or a machine tool that prevents interference with the surroundings based on information on the start and end points of operation and information on the surrounding environment. It relates to a generator.
  • the robot For assembly work in the electrical and electronics field, removal work from machine tools, and transportation work in the food and logistics fields, the robot operates while preventing interference with obstacles inside the system.
  • skill is required in program generation and adjustment. Therefore, there is a demand for a technique that enables even an amateur to easily generate a program for operating a robot while avoiding obstacles.
  • a trajectory generation method for generating a trajectory for moving a robot arm between a start teaching point and a target teaching point has been proposed (see Patent Document 1, for example).
  • a control device displaces a first intermediate teaching point group arranged between a start teaching point and a target teaching point of a trajectory for moving a robot arm to generate a second intermediate teaching point.
  • the control device in the intermediate taught point generation step, generates a plurality of second intermediate taught point groups generated by giving different displacements to the first intermediate taught point group. It further includes an evaluation step for generating evaluation values for each of the plurality of generated trajectories.
  • a control device moves a first intermediate taught point group based on evaluation values for a plurality of trajectories generated in an evaluation step, and moves the first intermediate taught point group after movement. Then, the intermediate taught point generation process, the trajectory generation process, and the evaluation process are repeatedly executed, and a first intermediate taught point group that satisfies a predetermined condition is used to generate a trajectory for operating the robot arm. Further includes a trajectory determination step of determining as In the intermediate taught point generating step for generating the second intermediate taught point group, a random value is added as a parameter for giving spatial displacement.
  • the present disclosure has been made in view of the above, and can generate an optimal trajectory that reduces operation time while avoiding interference, can search for a target trajectory in a relatively short time,
  • An object of the present invention is to obtain a trajectory generation device capable of reducing variation between trials.
  • the trajectory generation device maximizes the ratio of the movement distance to the maximum speed in the operation from the operation start point to the operation end point among a plurality of axes.
  • maximum movement axis calculation means for calculating a maximum movement axis of the Non-maximum movement, which is an axis other than the maximum movement axis calculated by the interference area extraction means for extracting a section including a via point where interference with the surroundings occurs, and the maximum movement axis calculation means among the plurality of axes a non-maximum travel axis modifier for generating waypoints that avoid interference by modifying the position of the axis.
  • the trajectory generation device uses the output of the non-maximum movement axis correction means as the target trajectory.
  • the trajectory generation device can generate an optimal trajectory that shortens the operation time while avoiding interference, can search for the target trajectory in a relatively short time, and reduces the variation between trials. It has the effect of being able to
  • FIG. 4 is a diagram showing the configuration of non-maximum movement axis correction means included in the trajectory generation device according to Embodiment 1; The figure which shows the 2nd correction example of the moving amount
  • FIG. 2 A diagram showing a fourth correction example of the amount of movement between waypoints in Embodiment 1 A diagram showing a fifth correction example of the amount of movement between waypoints according to the first embodiment.
  • FIG. 21 shows the amount of movement of the waypoint in the twelfth embodiment
  • FIG. 14 is a diagram showing an example of correction of acceleration/deceleration performed by command correction means included in the trajectory generation device according to the fourteenth embodiment;
  • a diagram showing a configuration of a trajectory generation device according to a fifteenth embodiment A diagram showing a configuration of a trajectory generation device according to a sixteenth embodiment FIG.
  • FIG. 16 is a diagram for explaining an example of the operation of the trajectory generation device according to the sixteenth embodiment;
  • a processor when at least part of the functions of the maximum movement axis calculation means, the initial waypoint calculation means, the interference area extraction means, and the non-maximum movement axis correction means of the trajectory generation apparatus according to the first embodiment are realized by the processor diagram showing A processing circuit in which at least part of the maximum movement axis calculation means, the initial waypoint calculation means, the interference area extraction means, and the non-maximum movement axis correction means of the trajectory generation apparatus according to the first embodiment is realized by the processing circuit diagram showing
  • FIG. 1 is a diagram showing the configuration of a trajectory generation device 1 according to Embodiment 1.
  • a trajectory generation device 1 is a device used to generate a trajectory of an industrial machine such as an industrial robot, a human collaborative robot, or a machine tool.
  • the trajectory generation device 1 may be arranged in a control device such as an industrial robot, or may be configured inside a personal computer outside the control device or in the cloud. Information on the motion start point and information on the motion end point are input to the trajectory generation device 1 .
  • the trajectory generation device 1 calculates the maximum movement axis that maximizes the ratio of the movement distance to the maximum speed in the movement from the movement start point to the movement end point among the plurality of axes that the controlled object has. and initial waypoint calculation means 3 for generating waypoints when a plurality of axes operate synchronously.
  • the trajectory generation device 1 includes interference area extraction means 4 for extracting a section including a waypoint that interferes with the surroundings from among the plurality of waypoints generated by the initial waypoint calculation means 3; a non-maximum movement axis correction means 5 for generating a waypoint for avoiding interference by correcting the position of the non-maximum movement axis, which is an axis other than the maximum movement axis calculated by the maximum movement axis calculation means 2 of .
  • the trajectory generator 1 uses the output of the non-maximum movement axis correction means 5 as the target trajectory.
  • Each of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 will be further described below.
  • the maximum movement axis calculation means 2 obtains the input information of the motion start point and the motion end point, and the maximum speed of each of the plurality of axes of the controlled object such as the industrial robot stored inside. Then, it calculates which axis will be the maximum movement axis in the specified motion. Specifically, the maximum movement axis calculation means 2 subtracts the position of the motion start point from the position of the motion end point for each of the plurality of axes of the controlled object, and calculates the result obtained by subtracting is divided by the maximum speed of , and the axis with the maximum absolute value obtained by the division is selected as the maximum movement axis.
  • An axis of the plurality of axes other than the maximum travel axis is described as a non-maximum travel axis. If there are a plurality of axes that maximize the absolute value of the division result of the maximum movement axis calculating means 2, there may be a plurality of maximum movement axes.
  • the ratio between the absolute value of the result of division by the maximum movement axis calculation means 2 for the axes other than the maximum movement axis and the absolute value of the result of division by the maximum movement axis calculation means 2 for the maximum movement axis is a specified value.
  • the axis may be regarded as the maximum movement axis, and the other axis may be regarded as the non-maximum movement axis.
  • only the axis with the maximum absolute value as a result of division by the maximum movement axis calculating means 2 is the maximum movement axis.
  • the trajectory generation device 1 If the trajectory generation device 1 is provided with a command generating means that accelerates and decelerates and generates a command for each control cycle, the trajectory generation device 1 does not necessarily need to perform acceleration and deceleration along the trajectory.
  • command generating means for accelerating and decelerating the trajectory generator 1 to generate a command for each control cycle is provided.
  • the command generation means are not shown in FIG.
  • the initial waypoint calculation means 3 generates initial waypoints at regular time intervals when each of a plurality of axes of the controlled object operates synchronously without acceleration or deceleration from the operation start point to the operation end point.
  • FIG. 2 is a diagram showing a first correction example of the amount of movement between waypoints according to the first embodiment.
  • FIG. 2 shows the relationship between the amount of movement corresponding to time and the amount of movement between waypoints when there is one maximum movement axis and one non-maximum movement axis. Also shown in FIG. 2 is the interference region.
  • the interference area extracting means 4 pre-stores information necessary for interference determination, such as the position and size of obstacles around the object to be controlled such as a robot.
  • the interference area extracting means 4 extracts each of the plurality of waypoints based on the stored information necessary for interference determination and the positional information of each of the plurality of waypoints calculated by the initial waypoint calculating means 3. , and if it is determined that interference will occur at any one of a plurality of waypoints, a section including the waypoint determined to cause interference is extracted as an interference region.
  • FIG. 3 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device 1 according to the first embodiment.
  • the non-maximum movement axis correction means 5 includes a first waypoint correction means 6 for correcting the position of the non-maximum movement axis of the waypoint within the interference area, and the first waypoint correction means 6 for correcting the position of the non-maximum movement axis of the waypoint before and after the interference area.
  • 2 correction means 7 and acceleration/deceleration consideration correction means 8 for correcting the position of the non-maximum movement axis of the waypoint in consideration of acceleration or torque limitation.
  • a first waypoint correction means 6 leaves the position of the maximum movement axis as it is for the waypoint belonging to the first extracted interference area among the plurality of waypoints generated by the initial waypoint calculation means 3, and modifies the position of the non-maximum movement axis. Generate waypoints that modify axis positions to avoid collisions.
  • the direction in which the waypoint first correction means 6 corrects may be determined in advance, or an optimum direction may be selected based on the evaluation function. In Embodiment 1, the direction in which the waypoint first correction means 6 corrects is determined in advance.
  • a waypoint first correction means 6 calculates a movement direction when only the maximum movement axis is operated at a waypoint included in the interference area, and calculates the movement direction vertically upward and horizontally with respect to the movement direction.
  • the two directions that are orthogonal to each other are used as avoidance direction candidates, and the direction that minimizes the maximum absolute value of the result of dividing the movement amount of the non-maximum movement axis when avoiding interference by the maximum speed of the non-maximum movement axis is determined as the avoidance direction.
  • the first way point correction means 6 selects two axes from the root among the plurality of non-maximum movement axes, and adjusts the movement amount of the two axes to the maximum axis.
  • the avoidance direction may be determined as the direction in which the maximum absolute value of the result of division by the speed is the minimum.
  • FIG. 2(B) is a diagram showing the correction result of the waypoints by waypoint first correction means 6 .
  • FIG. 2B since the speed of the non-maximum movement axis exceeds the allowable maximum speed of the non-maximum movement axis, the second waypoint correction means 7 adjusts the position of the non-maximum movement axis at the waypoints before and after the interference area. to fix.
  • the waypoint second correction means 7 may perform correction as shown in FIG. 2(C), FIG. 4(C) or FIG. 5(C).
  • FIG. 4 is a diagram showing a second correction example of the amount of movement between waypoints according to the first embodiment.
  • FIG. 4 shows the relationship between the amount of movement corresponding to time and the amount of movement between waypoints when there is one maximum movement axis and one non-maximum movement axis.
  • FIG. 4 is a diagram showing a second correction example of the amount of movement between waypoints according to the first embodiment.
  • FIG. 4 shows the relationship between the amount of movement corresponding to time and the amount of movement between waypoints when there is one maximum movement axis and one non-
  • FIG. 5 is a diagram showing a third correction example of the amount of movement between waypoints according to the first embodiment.
  • FIG. 5 shows the relationship between the amount of movement corresponding to time and the amount of movement between waypoints when there is one maximum movement axis and one non-maximum movement axis.
  • upper left (A) shows the waypoints generated by the initial waypoint calculation means 3
  • upper right (B) shows the waypoints generated by the waypoint first correction means 6.
  • the corrected waypoints are shown
  • the lower left (C) shows the waypoint corrected by the waypoint second correction means 7
  • the lower right (D) shows the waypoint corrected by the acceleration/deceleration consideration correcting means 8. It shows waypoints. Waypoints are generated or modified in the order of upper left, upper right, lower left, and lower right.
  • a second waypoint correction means 7 corrects the interference area and the positions of the non-maximum movement axes of the waypoints before and after the interference area within a range that satisfies both the speed limit of the non-maximum movement axis and the interference avoidance.
  • the acceleration/deceleration considering and correcting means 8 corrects the position of the non-maximum movement axis at the waypoint so that the maximum movement axis does not accelerate or decelerate and maintains the maximum speed even after passing through the subsequent command generation means.
  • the acceleration/deceleration consideration correction means 8 calculates the movement amount or the movement speed between the waypoints of the non-maximum movement axis based on a predetermined or calculated acceleration limit value or acceleration/deceleration time limit value. limits the variation of The acceleration/deceleration consideration correction means 8 may limit the fluctuation range of the movement amount between the waypoints of the non-maximum movement axis based on a predetermined or calculated torque limit value.
  • the correction result for (C) is shown in FIG. 2(D)
  • the correction result for FIG. 4(C) is shown in FIG. 4(D)
  • the correction result for FIG. 5(C) is shown in FIG. 5(D).
  • FIG. 6 is an explanatory diagram of changes in the positions of the waypoints in the case of the correction of FIG.
  • the acceleration/deceleration consideration correction means 8 outputs the corrected waypoint as the target trajectory to the command generation means.
  • the command generation means generates a command that satisfies constraints on the speed and acceleration or driving torque of the controlled object on the input target trajectory, and controls the controlled object such as a robot.
  • the non-maximum movement axis is the maximum movement axis in the first section from the movement start point to the interference area start point and the second section from the interference area end point to the movement end point. You can complete your work faster. However, in one or both of the first and second intervals described above, the non-maximum movement axis may not be able to complete the motion faster than the maximum movement axis.
  • FIG. 7 is a diagram showing a fourth correction example of the movement amount between waypoints in the first embodiment
  • FIG. 8 is a diagram showing a fifth correction example of the movement amount between waypoints in the first embodiment.
  • 7 and 8 show waypoints when the non-maximum movement axis cannot complete the movement earlier than the maximum movement axis in the second section from the end point of the interference area to the movement end point. It shows the corrected result.
  • the cases shown in FIGS. 7 and 8 both show the result of generating waypoints for the same case, but the correction results performed by the second waypoint correction means 7 are different. In the case of FIG.
  • the trajectory generation device 1 since a trajectory is generated in which the maximum movement axis maintains the maximum speed as much as possible, it is possible to generate a trajectory that shortens the operation time while avoiding interference. effect is obtained. In addition, since random numbers are not used to generate the waypoints, it is possible to search for the target trajectory in a short period of time, and to reduce variation between trials. Furthermore, since the influence of acceleration/deceleration when the non-maximum movement axis performs avoidance motion is also taken into consideration, it is possible to prevent unnecessary acceleration/deceleration of the maximum movement axis and shorten the operation time. That is, the trajectory generation device 1 can generate an optimal trajectory that shortens the operation time while avoiding interference, can search for the target trajectory in a relatively short period of time, and reduces variations between trials. be able to.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the second embodiment. 5 configuration.
  • FIG. 9 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to Embodiment 2.
  • the non-maximum movement axis correction means 5 of the second embodiment has all the constituent elements of the non-maximum movement axis correction means 5 of the first embodiment except for the acceleration/deceleration consideration correction means 8 .
  • the non-maximum movement axis correction means 5 of the second embodiment has the first waypoint correction means 6 and the second waypoint correction means 7 of the non-maximum movement axis correction means 5 of the first embodiment, It does not have the acceleration/deceleration consideration correction means 8 .
  • FIG. 10 is a diagram showing an example of correction of the amount of movement between waypoints according to the second embodiment.
  • the correction result of the waypoint second correction means 7 is output to the subsequent command generation means. Therefore, in Embodiment 2, although the effect of preventing unnecessary acceleration/deceleration of the maximum movement axis is not obtained, the effect of being able to generate a trajectory that shortens the operation time while avoiding interference is obtained.
  • random numbers are not used to generate the waypoints, it is possible to search for the target trajectory in a short period of time, and to reduce variation between trials.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the third embodiment. 5 configuration.
  • FIG. 11 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to Embodiment 3.
  • the non-maximum movement axis correction means 5 of the third embodiment has all the components of the non-maximum movement axis correction means 5 of the first embodiment and avoidance direction optimization means 9 . That is, the non-maximum movement axis correcting means 5 of the third embodiment has a first waypoint correcting means 6, a second waypoint correcting means 7, an acceleration/deceleration considering correcting means 8, and an avoidance direction optimizing means 9.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the third embodiment. 5 configuration.
  • FIG. 11 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to Embodiment 3.
  • the avoidance direction optimization means 9 optimizes the direction of correcting the position of the non-maximum movement axis.
  • the optimum correction direction is determined based on the output of the command generation means in the latter stage of the trajectory generation device according to the third embodiment. It may be selected, but the method takes a relatively long time to optimize.
  • the maximum value obtained by dividing the movement amount of the non-maximum movement axis when moving in the avoidance direction by the maximum speed of the non-maximum movement axis is optimized. Minimize the movement amount of the tip position within the range where the maximum value obtained by dividing the movement amount of the non-maximum movement axis by the maximum speed of the non-maximum movement axis is less than the allowable value. Minimize the acceleration during movement in the avoidance direction within the range where the maximum value obtained by dividing the movement amount of the maximum movement axis by the maximum speed of the non-maximum movement axis is less than the allowable value. It should be a function.
  • the avoidance direction optimization means 9 may use artificial intelligence technology.
  • the avoidance direction optimizing means 9 may use a technique such as Bayesian optimization, particle swarm optimization, or genetic algorithm.
  • the avoidance direction optimizing means 9 may use a neural network that has learned the optimum avoidance direction based on information on the motion start point, motion end point, and the position and size of the interfering object. Since trajectory generation and command value generation can also be performed in a virtual environment, in neural network learning, the avoidance direction that minimizes the operation time after execution of command generation in the latter stage in the virtual environment is determined in the virtual environment.
  • a neural network may be learned by repeating calculations, inputting information on the motion start point, motion end point, and the position and size of an interfering object, and outputting the avoidance direction.
  • a condition for generating a trajectory may be input to a trained neural network, and the avoidance direction output by the neural network may be used as the avoidance direction by the non-maximum movement axis correction means 5 .
  • the operation time can be shortened compared to the case where the avoidance direction is fixed.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation device according to the fourth embodiment. 5 configuration.
  • FIG. 12 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to the fourth embodiment.
  • the non-maximum movement axis correction means 5 of the fourth embodiment includes the first way point correction means 6 and the acceleration/deceleration consideration correction means 8 of the non-maximum movement axis correction means 5 of the first embodiment, and the avoidance point optimization means 10 and
  • the non-maximum movement axis correction means 5 of the fourth embodiment does not have the via point second correction means 7 that the non-maximum movement axis correction means 5 of the first embodiment has.
  • avoidance point optimization means 10 is provided for optimizing a specific avoidance point with respect to the determined avoidance direction.
  • the avoidance point optimizing means 10 searches for an avoidance point where the speed variation of the non-maximum movement axes is small and the acceleration that satisfies the torque constraint including the maximum movement axis is large within a range that satisfies the constraints that can avoid interference. do.
  • the avoidance point optimization means 10 may use techniques such as Bayesian optimization, particle swarm optimization, or genetic algorithm to search for avoidance points in the same way as for searching for avoidance directions.
  • the avoidance point optimizing means 10 may use a neural network that has learned the optimum avoidance point based on the avoidance direction, the movement start point, the movement end point, and the position and size of the interfering object. Since trajectory generation and command value generation can also be performed in a virtual environment, in neural network learning, the avoidance direction that minimizes the operation time after command generation in the virtual environment is virtualized for each condition. It is calculated by repeating the calculation in the environment, and the avoidance direction, the movement start point, the movement end point, and the position and size of the interfering object are input, and the avoidance point is the output. may be broken. Conditions for generating a trajectory may be input to a trained neural network, and the avoidance points output by the neural network may be used as the avoidance points generated by the avoidance point optimizing means 10 .
  • the trajectory generation device has the avoidance point optimization means 10, it is possible to shorten the operation time compared to the case where the avoidance point calculation method is fixed.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the fifth embodiment. 5 configuration.
  • FIG. 13 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to Embodiment 5.
  • the non-maximum movement axis correction means 5 of the fifth embodiment has avoidance direction avoidance point optimization means 11 and acceleration/deceleration consideration correction means 8 included in the non-maximum movement axis correction means 5 of the first embodiment.
  • the non-maximum movement axis correction means 5 of the fifth embodiment does not have the first waypoint correction means 6 and the second waypoint correction means 7 of the non-maximum movement axis correction means 5 of the first embodiment.
  • the trajectory generation device has avoidance direction optimizing means 9 for optimizing the avoidance direction, and the trajectory generation device according to the fourth embodiment optimizes the generation of avoidance points after the avoidance direction is determined. It has an avoidance point optimization means 10 for optimizing.
  • the trajectory generation device has avoidance direction avoidance point optimization means 11 that optimizes both the avoidance direction and the avoidance point.
  • the avoidance direction avoidance point optimization means like the avoidance direction optimization means 9 and the avoidance point optimization means 10, searches by an optimization method such as Bayesian optimization, particle swarm optimization, or genetic algorithm, or A neural network is used to output avoidance directions and avoidance points.
  • the operation time can be shortened compared to the case where the calculation method of the avoidance direction and the avoidance point is fixed.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the sixth embodiment. 5 configuration.
  • FIG. 14 is a diagram showing the configuration of the non-maximum movement axis correction means 5 included in the trajectory generation device according to Embodiment 6. As shown in FIG.
  • the non-maximum movement axis correction means 5 of the sixth embodiment has all the components of the non-maximum movement axis correction means 5 of the first embodiment, and acceleration/deceleration time calculation means 12 .
  • the non-maximum movement axis correcting means 5 of the sixth embodiment has a first waypoint correcting means 6, a second waypoint correcting means 7, an acceleration/deceleration consideration correcting means 8, and an acceleration/deceleration time calculating means 12.
  • the acceleration/deceleration time calculation means 12 calculates the acceleration/deceleration time used by the acceleration/deceleration consideration correction means 8 to correct the waypoint when the speed of the non-maximum movement axis changes.
  • Vc be a vector composed of the difference in speed of each axis at the point where the speed of the non-maximum drive axis fluctuates
  • V be the speed of each axis
  • be the position of each axis
  • M( ⁇ ) be the matrix
  • H( ⁇ , V) be the vector composed of the sum of the centrifugal Coriolis force, gravity and friction force
  • ⁇ max be the vector composed of the maximum allowable torque of each axis.
  • the deceleration time calculation means 12 calculates the minimum kt that satisfies the following equation (1) for all axes, and outputs the maximum value ktm of kt for each axis as the acceleration/deceleration time.
  • the acceleration/deceleration consideration correction means 8 corrects the waypoint so that the speed of the non-maximum movement axis changes at the acceleration/deceleration time ktm output from the acceleration/deceleration time calculation means 12 .
  • the trajectory generation device determines the acceleration/deceleration of the non-maximum movement axis in consideration of the amount of change in speed, the position/orientation of the controlled object, the movement speed, and the torque limit.
  • the acceleration/deceleration parameter is fixed. Operation time can be shortened as compared with the case.
  • FIG. 15 is a diagram showing the configuration of a trajectory generation device 1A according to the seventh embodiment.
  • the trajectory generation device 1A has all the constituent elements of the trajectory generation device 1 according to the first embodiment, and the motion division determination means 13 . That is, the trajectory generation device 1A has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, and a motion division determination means 13.
  • the trajectory generation device 1 according to Embodiment 1 generates a trajectory that takes interference into account, with one motion from the motion start point to the motion end point.
  • the trajectory generation device 1A according to Embodiment 7 once performs calculations from the maximum movement axis calculation means 2 to the non-maximum movement axis correction means 5 with the movement from the movement start point to the movement end point as one movement.
  • the trajectory generation device 1A divides the movement from the movement start point to the movement end point by the movement division determination means 13 into two. A determination is made whether to split into one or more operations.
  • the trajectory generation device 1A outputs the output of the non-maximum movement axis correction means 5 as the generated trajectory.
  • the maximum movement axis calculation means 2 the initial waypoint calculation means 3, and the interference region extraction are performed for each of the plurality of motions obtained by the division.
  • Each of the means 4 and the non-maximum movement axis correction means 5 performs processing, updates the results of the processing as generated trajectories for each of the plurality of motions obtained by the division, and outputs them.
  • the motion division determining means 13 determines the sum of the motion times of the maximum movement axis without acceleration/deceleration in each of the plurality of motions when the motion is divided into two or more motions, and the non-maximum motion axis before the motion is divided. Compare with the travel time obtained by the correction means 5 . When the movement time obtained by the non-maximum movement axis correction means 5 before dividing the movement is shorter than the sum of the movement times when the movement is divided, the movement division determination means 13 determines that the movement should not be divided. do.
  • the division of motion is performed, for example, by providing midpoints in a plurality of predetermined directions at the midpoints of the interference region before division.
  • the motion division determination means 13 searches for a combination of the direction of the intermediate point and the amount of movement from the interference area of the intermediate point that minimizes the sum of the movement times of the maximum movement axes of each of the plurality of motions after division. determined by
  • the motion division determination means 13 determines whether or not to divide the motion.
  • a trajectory generation device 1A according to Embodiment 7 generates a trajectory for each of a plurality of motions generated when the motion division determining means 13 determines that the motion should be divided.
  • the trajectory generation device 1A can shorten the operation time in the case where the motion is divided into two or more motions to generate the trajectory to obtain the optimum trajectory.
  • the non-maximum movement axis correction means 5 in Embodiment 7 may be any non-maximum movement axis correction means 5 from Embodiment 1 to Embodiment 6.
  • FIG. 16 is a diagram showing the configuration of a trajectory generation device 1B according to the eighth embodiment.
  • the trajectory generation device 1B has all the constituent elements of the trajectory generation device 1 according to Embodiment 1 and linear interpolation insertion determination means 14 . That is, the trajectory generation device 1B has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, and a linear interpolation insertion determination means . If there are multiple obstacles in a narrow range, it is necessary to set detailed waypoints for each axis. may be desirable. To move the hand of the robot along a straight line is to move the control point to be controlled along the straight line.
  • the linear interpolation insertion determination means 14 avoids the obstacle by linear interpolation. Then judge. That is, the linear interpolation insertion determination means 14 determines to perform linear interpolation insertion.
  • the first waypoint correction means 6 of the non-maximum movement axis correction means 5 generates the waypoints by linear interpolation and draws a straight line in the section up to the avoidance point. Add interpolation flag.
  • the waypoint second modifying means 7 modifies the waypoint from the original waypoint to the waypoint number. 1 By adding a new waypoint on the straight line to the waypoint generated by the correction means 6, the waypoint is generated so that the speed does not exceed the maximum speed. If the acceleration up to the waypoint generated by the first waypoint correction means 6 exceeds a preset acceleration, the acceleration/deceleration consideration correction means 8 corrects the acceleration to the waypoint generated by the waypoint first correction means 6. By adding a new waypoint on the straight line, create a waypoint where the acceleration does not exceed the acceleration limit.
  • the linear interpolation insertion determination means 14 determines whether or not interference should be avoided by linear interpolation that moves the control points of the control target on a straight line.
  • the trajectory generation device 1B according to the eighth embodiment performs an interference avoidance operation by linear interpolation when the linear interpolation insertion determination means 14 determines that interference should be avoided by linear interpolation.
  • the trajectory generation device 1B can shorten the operation time when it is desirable to avoid interference by operating the tip of the controlled object on a straight line.
  • the non-maximum movement axis correction means 5 in the eighth embodiment may be any of the non-maximum movement axis correction means 5 of the first to seventh embodiments.
  • FIG. 17 is a diagram showing the configuration of a trajectory generation device 1C according to the ninth embodiment.
  • the trajectory generation device 1C has all the constituent elements of the trajectory generation device 1 according to the first embodiment, and the connection condition calculation means 15 . That is, the trajectory generation device 1 ⁇ /b>C has maximum movement axis calculation means 2 , initial waypoint calculation means 3 , interference area extraction means 4 , non-maximum movement axis correction means 5 and connection condition calculation means 15 .
  • the trajectory generation device 1C When a robot is used to assemble electrical and electronic products, it is desired to move the controlled object to the vicinity of the target point and then move it along a straight line in a predetermined direction. There are applications that want to specify a magnitude other than 0 for one of the speeds. In this way, instead of stopping the controlled object at the operation start point or the operation end point, the trajectory generation device 1C generates a trajectory suitable for a command having a speed in a specified direction and magnitude. It has calculation means 15 .
  • connection condition calculation means 15 Information indicating the position of the motion start point, the position of the motion end point, the speed of the motion start point, and the speed of the motion end point is input to the connection condition calculation means 15 .
  • the connection condition calculation means 15 first calculates the position of the motion start point, the position of the motion end point, and the maximum speed of each axis. Based on the above, the moving speed V0 when each axis operates synchronously is calculated. Next, the connection condition calculation means 15 determines the speed required for the speed of each axis to reach the calculated moving speed V0 when each axis operates synchronously from the speed specified at the operation start point or the operation end point.
  • the connection condition calculation means 15 calculates the position of the connection point on the side of the motion start point and the position of the connection point on the side of the motion end point based on the position of the connection point on the side of the motion start point and the position of the connection point on the side of the motion end point. Calculate the speed of each axis when each axis is synchronously operated between the connection point positions.
  • the speed of each axis is the connection point speed.
  • connection condition calculation means 15 keeps the connection position at the motion start point or the motion end point.
  • the connection condition calculation means 15 calculates the time required for the speed to reach the connection point speed calculated from the speed at the motion start point or the speed at the motion end point, and the movement distance, and calculates the calculated movement distance. Calculation of the connection point position and the connection point velocity inside the motion section is repeated.
  • the connection condition calculation means 15 calculates the maximum movement of the calculated connection point position and connection point speed when the number of repetitions reaches a specified number of times or when the difference between the speed and position from the previous time is equal to or less than a specified value. Output to the axis calculation means 2 .
  • the maximum movement axis calculation means 2 calculates the maximum movement axis based on the input connection point position information, regards one of the two connection points as an operation start point, and regards the other of the two connection points as an operation start point. is regarded as the motion end point.
  • Each of the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 performs the same processing as that of the first embodiment.
  • the movement speed V0[i] of each axis below is the speed when each axis operates synchronously when there is no interference. is the maximum value of the time required to reach V0[i] from the speed designated by , and the movement amount L1[i] of each axis is the distance that each axis moves in time T1max. Distance traveled is calculated by integrating velocity.
  • connection condition calculation means 15 calculates each axis moving speed V0[i] when each axis moves synchronously from the operation start point to the operation end point. Specifically, the connection condition calculation means 15 calculates each axis moving speed V0[i] using the following formula (2).
  • Vmax[i] indicates the maximum allowable speed for each axis
  • abs indicates an absolute value
  • max indicates the maximum value of the calculation results for each axis.
  • the connection condition calculation means 15 calculates Ve1[i], which is the difference between the specified speed Vs[i] at the operation start point and the calculated V0[i], using the following equation (3). .
  • connection condition calculation means 15 calculates T1[i] using the following equation (4).
  • connection condition calculation means 15 calculates the movement amount L1[i] of each axis when the speed is changed from Vs[i] to V0[i] at a constant acceleration at time T1max, and calculates Ps[i ]+L1[i] is the position Pa1[i] of the i-th axis of the connection point Pa1.
  • connection condition calculation means 15 calculates the position of the connection point based on the specification of the direction and magnitude of the target velocity at at least one of the motion start point and the motion end point.
  • a trajectory generation device 1C according to Embodiment 9 generates a trajectory based on the positions of connection points calculated by the connection condition calculation means 15 .
  • the trajectory generation device 1C can shorten the operation time when the speed of each axis of at least one of the operation start point and the operation end point is designated.
  • the non-maximum movement axis correction means 5 in the ninth embodiment may be any of the non-maximum movement axis correction means 5 of the first to eighth embodiments.
  • FIG. 18 is a diagram showing the configuration of a trajectory generation device 1D according to the tenth embodiment.
  • the trajectory generation device 1D has all the constituent elements of the trajectory generation device 1 according to the first embodiment, and control system influence consideration means 16 . That is, the trajectory generation device 1D has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, and a control system influence consideration means 16.
  • the trajectory generated by the trajectory generation device 1D is input to the command generation means in the subsequent stage, and the command generation means maintains the trajectory generated by the trajectory generation device 1D, while maintaining the control cycle that satisfies the constraints on the speed and torque of each axis.
  • Each command is generated and the controlled object is controlled. Since a delay usually occurs in the control of the controlled object, the actual controlled object does not exactly follow the trajectory generated by the trajectory generator, but instead follows an inward route due to the influence of the control system.
  • the trajectory generation device 1D virtually increases the size of the obstacle stored in the interference area extracting means 4 in consideration of the influence of the control system, so that the trajectory of the controlled object is affected by the influence of the control system. Generates a trajectory that does not cause interference even if there is a deviation. Since the characteristics of the control system may fluctuate depending on the position of the controlled object, the control system influence consideration means 16 obtains information on the operation start point and the operation end point, and also considers the characteristics of the control system within the operation range. to determine the change amount or change ratio of the size of the obstacle.
  • control system influence consideration means 16 estimates the influence of the control system causing the trajectory of the controlled object to deviate from the target trajectory.
  • the trajectory generation device 1D changes the parameter of the obstacle inside the interference area extraction means 4 based on the output of the control system influence consideration means 16.
  • FIG. Since the trajectory generation device 1D can also consider the influence of deviations in the trajectory of the controlled object caused by the characteristics of the control system, it is possible to generate a trajectory that enables more accurate avoidance.
  • the non-maximum movement axis correction means 5 in the tenth embodiment may be any of the non-maximum movement axis correction means 5 of the first to ninth embodiments.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation apparatus according to the eleventh embodiment. 5 configuration.
  • the eleventh embodiment there are a plurality of interference regions extracted by the interference region extracting means 4 .
  • the first waypoint correction means 6 determines the avoidance direction under the condition that the avoidance direction of the non-maximum movement axis is the same for the multiple interference areas.
  • a second waypoint correction means 7 does not correct the non-maximum movement axis to return to the initial waypoint between the interference areas, but corrects the waypoint so as to connect the adjacent interference areas.
  • Operations other than the above operations are the same as the operations described in the first embodiment, and therefore descriptions of the operations other than the above operations are omitted.
  • the trajectory generation device can shorten the operation time while avoiding interference when a plurality of obstacles are present in the operation path of the object to be controlled.
  • FIG. 1 is also an explanatory diagram showing the overall configuration of the trajectory generation device according to the twelfth embodiment.
  • the trajectory is used as a command for each control cycle. Since acceleration/deceleration is not performed by the command generation means in the subsequent stage, the waveform of the velocity at the waypoint calculated by the initial waypoint calculation means 3 is not a velocity square wave, but acceleration/deceleration is performed, and a velocity trapezoid is generated.
  • the slope of the speed trapezoid may be calculated based on the position of the motion start point, the position of the motion end point, and the maximum speed of each axis in consideration of the torque limit.
  • the slope of the velocity trapezoid is the acceleration.
  • FIG. 19 is a diagram showing the amount of movement of waypoints in the twelfth embodiment.
  • the upper left diagram shows the calculation result of the initial waypoint calculation means 3
  • the upper right diagram shows the correction result of the first waypoint correction means 6
  • the lower left diagram shows the second waypoint correction. It shows the correction result of the means 7, and the lower right figure shows the correction result of the acceleration/deceleration consideration correction means 8.
  • FIG. The trajectory generation device controls the controlled object as a command generated by the acceleration/deceleration consideration correction means 8 .
  • the trajectory generation device can reduce the computation time for generating commands for avoiding interference and shortening operation time.
  • FIG. 20 is a diagram showing the configuration of a trajectory generation device 1E according to the thirteenth embodiment.
  • the trajectory generation device 1E has all the components of the trajectory generation device 1 according to Embodiment 1, constraint storage means 17, and constraint satisfaction determination means 18.
  • FIG. That is, the trajectory generation device 1E has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, a constraint storage means 17, and a constraint satisfaction determination means 18.
  • the constraint storage means 17 is implemented by, for example, a semiconductor memory.
  • the non-maximum movement axis correction means 5 corrects the position of the non-maximum movement axis under the constraint condition based on the kinematics of the articulated robot. Furthermore, the non-maximum movement axis correction means 5 corrects the position of the non-maximum movement axis while considering the constraints based on the kinematics of the articulated robot.
  • a constraint condition based on kinematics is the condition of avoiding singular points during linear interpolation operations.
  • a position where an arm is fully extended or a position where two or more rotation axes are aligned is called a singular point.
  • the degree of freedom of movement of the hand is reduced, so that a unique combination of joint positions that realize the position and posture of the hand is no longer determined.
  • the multi-joint robot can pass through a singular point on the trajectory. The position of each joint at the next control point cannot be determined in the vicinity of , and the articulated robot may stop due to an error.
  • the constraint storage means 17 stores the required singular point conditions on the trajectory. For each of the plurality of candidates for the correction direction obtained by the first waypoint correction means 6 and the second waypoint correction means 7 in the non-maximum movement axis correction means 5, the constraint condition satisfaction determination means 18 performs the following: It is determined whether or not the multi-joint robot passes through the singular point before the waypoint, and a correction direction candidate in which the multi-joint robot passes through the singular point is not adopted. For example, using the evaluation function of the optimum correction direction, it is examined whether a point obtained by dividing a line segment connecting two waypoints at regular intervals is in the vicinity of a singular point. can be realized by giving a penalty to the evaluation value.
  • the trajectory generation device 1E according to Embodiment 13 cannot uniquely determine the position of each axis that realizes the position of the hand of the articulated robot. It is possible to obtain a trajectory that realizes movement while avoiding singular points.
  • FIG. 21 is a schematic diagram of a vertical articulated robot having six rotation axes from rotation axis J1 to rotation axis J6 to explain an example of correcting a non-maximum movement axis while maintaining the posture of the hand. is a diagram.
  • the robot hand is moving the workpiece W by moving the rotation axis J1, which is the maximum movement axis, while maintaining the gripped posture of the workpiece W horizontally, the workpiece W may become an obstacle as shown in the left diagram of FIG.
  • the work W and the obstacle S can be moved while maintaining the posture of the work W as shown in the right side of FIG. can avoid interference with
  • the posture of the hand before correction is set in the constraint storage means 17, and the first waypoint correction means 6 and the second waypoint correction means 7 do not change the posture of the hand using inverse kinematics calculation. Find the position of the non-maximum travel axis.
  • the constraint condition satisfaction determination means 18 calculates the position of the non-maximum movement axis that satisfies the posture constraint for each candidate hand position, and determines the movement amount of the non-maximum movement axis. This can be achieved by selecting the direction that minimizes the maximum absolute value of the result of division by the maximum speed of the maximum movement axis.
  • the processing of the constraint satisfaction determination means 18 may be included in the processing of the first waypoint correction means 6 and the second waypoint correction means 7 in the non-maximum movement axis correction means 5 .
  • the trajectory generation device 1E according to the thirteenth embodiment can obtain a trajectory that realizes a moving motion while keeping the posture of the hand horizontal.
  • the user may add or delete constraints using an external interface or the like as necessary.
  • the non-maximum movement axis correction means 5 in the thirteenth embodiment may be any of the non-maximum movement axis correction means 5 of the first to seventh embodiments.
  • FIG. 22 is a diagram showing the configuration of a trajectory generation device 1F according to the fourteenth embodiment.
  • the trajectory generation device 1F has all the components of the trajectory generation device 1 according to Embodiment 1, command generation means 19, and command correction means 20.
  • FIG. That is, the trajectory generation device 1F has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, a command generation means 19, and a command correction means 20.
  • the command generation means 19 generates an interpolation motion for each control cycle of the robot based on the target trajectory output from the non-maximum movement axis correction means 5 . That is, the command generation means 19 generates an interpolation operation command based on the target trajectory output from the non-maximum movement axis correction means 5 .
  • the command correction means 20 is positioned after the command generation means 19, and is used to determine the acceleration/deceleration of the maximum movement axis during the interpolation operation for each control cycle of the robot, the acceleration/deceleration start time of the maximum movement axis, and the acceleration/deceleration of the non-maximum movement axis. At least one of the speed and the acceleration/deceleration start time of the non-maximum movement axis is corrected, and an operation command is output.
  • FIG. 23 is a diagram showing an example of acceleration/deceleration correction performed by the command correction means 20 of the trajectory generation device 1F according to the fourteenth embodiment. As shown in the diagram on the left side of FIG.
  • the maximum reduction that the maximum movement axis can produce is When deceleration is started at speed, a depressed portion, ie, jerk, occurs in the speed waveform. In contrast, if the deceleration of the maximum travel axis is relaxed, the maximum travel axis can maintain a trapezoidal velocity waveform, as shown in the right-hand diagram of FIG. As a result, the trajectory generating apparatus 1F according to the fourteenth embodiment does not generate unnecessary jerk, and can extend the life of the components of the robot.
  • FIG. 23 shows an example of correcting only the deceleration of the maximum movement axis.
  • a combination of the start time, the acceleration/deceleration of the non-maximum travel axis, and the acceleration/deceleration start time of the non-maximum travel axis may be optimized. Particle swarm optimization and Bayesian optimization, for example, can be used as combinatorial optimization means.
  • the command correction means 20 has a function of confirming by simulation that the robot activated by the motion command generated using the optimum acceleration/deceleration parameter combination candidate does not interfere with obstacles. You may
  • the non-maximum movement axis correction means 5 in the fourteenth embodiment may be any of the non-maximum movement axis correction means 5 of the first to seventh embodiments.
  • FIG. 24 is a diagram showing the configuration of a trajectory generation device 1G according to the fifteenth embodiment.
  • the trajectory generation device 1G has all the constituent elements of the trajectory generation device 1 according to the first embodiment, and a robot command determination means 21.
  • FIG. That is, the trajectory generation device 1G has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, and a robot command determination means 21.
  • the robot command determining means 21 converts the interpolating motion for the point sequence calculated by the initial waypoint computing means 3 and the interpolating motion for the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correcting means 5 into robot commands. and output robot commands.
  • the sequence of points is one or more waypoints generated by the trajectory generator arranged in order from the motion start point to the motion end point.
  • the initial waypoint calculation means 3 uses a first acceleration/deceleration determination function for determining acceleration/deceleration parameters of the trajectory determined by the initial waypoint calculation means 3 as information on the interpolation operation before correction of the non-maximum movement axis. It has means 31 .
  • the first acceleration/deceleration determination means 31 outputs the determined acceleration/deceleration parameters to the robot command determination means 21 .
  • the first acceleration/deceleration determination means 31 may be provided after the initial waypoint calculation means 3 .
  • the non-maximum movement axis correction means 5 has a second acceleration/deceleration determination means 51 for determining the acceleration/deceleration parameter of the trajectory corrected by the non-maximum movement axis correction means 5 as interpolation operation information corresponding to the correction amount of the non-maximum movement axis.
  • the second acceleration/deceleration determination means 51 outputs the determined acceleration/deceleration parameters to the robot command determination means 21 .
  • the second acceleration/deceleration determination means 51 corresponds to the acceleration/deceleration time calculation means 12 included in the trajectory generation device according to the sixth embodiment.
  • the second acceleration/deceleration determination means 51 may be provided after the non-maximum movement axis correction means 5 .
  • the non-maximum movement axis correction means 5 determines the trajectory and the non-maximum movement axis correction based on the operation of the initial waypoint calculation means 3.
  • the second acceleration/deceleration determination means 51 restores the trajectory to the state before the trajectory was synthesized and obtains the acceleration/deceleration parameters of the corrected trajectory.
  • industrial robot controllers are prepared with motion commands in a dedicated programming language. For example, there is a command for interpolating between two specified points using joint coordinates and a command for linearly interpolating between two specified points.
  • a command for interpolating between two specified points using joint coordinates is described as a MOV command
  • a command for linearly interpolating between two specified points is described as an MVS command.
  • the trajectory generation device 1G determines the acceleration/deceleration parameters below. Explain the case.
  • the first acceleration/deceleration determination means 31 determines the acceleration/deceleration parameters for the interpolation motion for the point sequence calculated by the initial waypoint calculation means 3.
  • the second acceleration/deceleration determination means 51 determines the acceleration/deceleration parameters for the interpolation operation for the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5 in order to avoid interference. There is a need.
  • the acceleration/deceleration parameters of the interpolation operation for the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5 can be determined by calculation performed by the acceleration/deceleration consideration correction means 8 described in the sixth embodiment, for example. .
  • the acceleration/deceleration parameters of the interpolation operation for the point sequence calculated by the initial waypoint calculation means 3 can also be determined by the first acceleration/deceleration determination means 31 performing similar calculations.
  • the robot command determination means 21 receives information on the point sequence calculated by the initial waypoint calculation means 3, information on the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5, and the first acceleration/deceleration decision means.
  • the trajectory generation device 1G determines even the acceleration/deceleration parameters has been described, but the acceleration/deceleration parameters may be determined outside the trajectory generation device 1G. If the acceleration/deceleration parameters are determined outside the trajectory generation device 1G, the trajectory generation device 1G does not have to have the first acceleration/deceleration determination means 31 and the second acceleration/deceleration determination means 51 .
  • the robot command determination means 21 is based on the information on the point sequence calculated by the initial waypoint calculation means 3 and the information on the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5. Then, a robot motion command corresponding to the output of the initial waypoint calculation means 3 and a robot motion command corresponding to the correction motion based on the correction amount calculated by the non-maximum movement axis correction means 5 are generated.
  • the trajectory generation apparatus 1G converts the target trajectory generated through the non-maximum movement axis correction means 5 into commands for a plurality of interpolation operations and outputs them, so that the robot controller can This eliminates the need to store the trajectory point sequence, thereby reducing the amount of memory required for the robot controller.
  • the initial waypoint calculation means 3 excluding the first acceleration/deceleration determination means 31 in the fifteenth embodiment is the initial waypoint calculation means 3 in the first embodiment.
  • the non-maximum movement axis correction means 5 except for the second acceleration/deceleration determination means 51 in the fifteenth embodiment may be any of the non-maximum movement axis correction means 5 of the first to seventh embodiments.
  • FIG. 25 is a diagram showing the configuration of a trajectory generation device 1H according to the sixteenth embodiment.
  • the trajectory generation device 1H has all the constituent elements of the trajectory generation device 1 according to Embodiment 1 and acceleration/deceleration parameter correction means 22 . That is, the trajectory generation device 1H has a maximum movement axis calculation means 2, an initial waypoint calculation means 3, an interference area extraction means 4, a non-maximum movement axis correction means 5, and an acceleration/deceleration parameter correction means 22.
  • the initial waypoint calculation means 3 uses the first acceleration/deceleration parameter for determining the acceleration/deceleration parameter of the trajectory determined by the initial waypoint calculation means 3 as the information of the interpolation operation before correcting the non-maximum movement axis. It has a decision means 32 .
  • the non-maximum movement axis correction means 5 has a second acceleration/deceleration determination means 52 for determining the acceleration/deceleration parameter of the trajectory corrected by the non-maximum movement axis correction means 5 as interpolation operation information corresponding to the correction amount of the non-maximum movement axis.
  • the acceleration/deceleration parameter correction means 22 corrects the acceleration/deceleration parameter determined by the first acceleration/deceleration determination means 32 and the acceleration/deceleration parameter determined by the second acceleration/deceleration determination means 52, and outputs the target trajectory and the acceleration/deceleration parameter. .
  • the trajectory generation device 1H according to the sixteenth embodiment uses the acceleration/deceleration parameters corrected by the acceleration/deceleration parameter correction means 22 to generate the target trajectory.
  • a trajectory generation device 1H according to the sixteenth embodiment, in combination with the fifteenth embodiment, has robot command determination means for converting a target trajectory into a robot command based on the acceleration/deceleration parameters corrected by the acceleration/deceleration parameter correction means 22. may have
  • the acceleration/deceleration parameters for the interpolation operation for the point sequence calculated by the initial waypoint calculation means 3 are It may not be optimal to perform the interpolation operation for the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5 to avoid interference.
  • the interpolation operation for the point sequence calculated by the initial waypoint calculation means 3 is converted into the first MOV command, and the interpolation operation for the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5 is performed.
  • the first acceleration/deceleration determining means 32 determines the upper limit of the allowable torque for each axis before the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correcting means 5 is determined.
  • the acceleration/deceleration parameter of the first MOV command is determined by using up to , there may be a case where there is little spare capacity in the acceleration/deceleration of the robot performed on the point sequence corresponding to the correction amount calculated by the non-maximum movement axis correction means 5. .
  • the acceleration/deceleration parameter correction means 22 calculates the sum of the first MOV command and the second MOV command.
  • the acceleration/deceleration parameter determined by the first acceleration/deceleration determination means 32 and the acceleration/deceleration parameter determined by the second acceleration/deceleration determination means 52 are corrected so that the operation time of the motor 1 is shortened.
  • the acceleration/deceleration parameter correcting means 22 applies the combinational optimization method described in the fourteenth embodiment to simultaneously modify the acceleration/deceleration parameter of the first MOV command and the acceleration/deceleration parameter of the second MOV command. You can fix it.
  • the trajectory generation device 1H according to the sixteenth embodiment sends the correction result made by the acceleration/deceleration parameter correction means 22 to the initial waypoint calculation means 3 and the non-maximum movement axis correction means 5. It is also possible to perform iterative optimization calculations by feeding back to update the interpolation motion before correcting the non-maximum motion axis and the interpolation motion corresponding to the amount of correction of the non-maximum motion axis.
  • FIG. 26 is a diagram for explaining an example of the operation of the trajectory generation device 1H according to the sixteenth embodiment.
  • the trajectory generation device 1H can accelerate/decelerate the robot during the interpolation operation for the point sequence corresponding to the correction amount obtained by the non-maximum movement axis correction means 5 in order to avoid interference.
  • the operation time can be shortened.
  • the initial waypoint calculation means 3 excluding the first acceleration/deceleration determination means 32 in the sixteenth embodiment is the initial waypoint calculation means 3 of the first embodiment.
  • the non-maximum movement axis correction means 5 except for the second acceleration/deceleration determination means 52 in the sixteenth embodiment may be any of the non-maximum movement axis correction means 5 of the first to seventh embodiments.
  • FIG. 27 shows the function of at least part of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 of the trajectory generation device 1 according to the first embodiment.
  • FIG. 9 illustrates processor 91 as implemented by processor 91; That is, at least part of the functions of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 are executed by the processor 91 executing the program stored in the memory 92. may be implemented.
  • the processor 91 is a CPU (Central Processing Unit), processing system, arithmetic system, microprocessor, or DSP (Digital Signal Processor). Memory 92 is also shown in FIG.
  • the processor 91 When at least part of the functions of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 are realized by the processor 91, the functions of the part are executed by the processor 91 and software, firmware, or a combination of software and firmware. Software or firmware is written as a program and stored in memory 92 . The processor 91 reads out and executes the programs stored in the memory 92 to perform at least part of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5. to realize the function of
  • the trajectory generation device 1 can for storing a program that results in execution of at least part of the steps executed by the axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5; It has a memory 92 .
  • the program stored in the memory 92 causes the computer to execute at least part of the procedures or methods executed by the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5. It can also be said that it is something that makes
  • the memory 92 is non-volatile such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (registered trademark) (Electrically Erasable Programmable Read-Only Memory). Or a volatile semiconductor memory, a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, a DVD (Digital Versatile Disk), or the like.
  • FIG. 28 shows that at least part of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 included in the trajectory generation device 1 according to Embodiment 1 is a processing circuit.
  • 93 shows a processing circuit 93 as implemented by 93; FIG. That is, at least part of the maximum movement axis calculation means 2 , the initial waypoint calculation means 3 , the interference area extraction means 4 and the non-maximum movement axis correction means 5 may be realized by the processing circuit 93 .
  • the processing circuit 93 is dedicated hardware.
  • the processing circuit 93 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC (Application Specific Integrated Circuit), an FPGA (Field-Programmable Gate Array), or a combination thereof. is.
  • a part of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 may be realized by dedicated hardware separate from the rest.
  • a part of the plurality of functions of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 is realized by software or firmware. The remainder of the functionality of may be implemented in dedicated hardware. In this way, the multiple functions of the maximum movement axis calculation means 2, the initial waypoint calculation means 3, the interference area extraction means 4, and the non-maximum movement axis correction means 5 are realized by hardware, software, firmware, or a combination thereof. can do.
  • each non-maximum movement axis correction means 5 in Embodiments 2 to 6, 11, 15 and 16 is implemented by a processor that executes a program stored in a memory.
  • the memory is a memory similar to memory 92 .
  • the processor is a processor similar to processor 91 .
  • Each of the non-maximum movement axis correction means 5 of Embodiments 2 to 6 may be implemented by a processing circuit.
  • the processing circuit is a processing circuit similar to the processing circuit 93 .
  • Each function of the determining means 52 may be implemented by a processor executing a program stored in memory.
  • the memory is a memory similar to memory 92 .
  • the processor is a processor similar to processor 91 .
  • Each of the first acceleration/deceleration determination means 31, the second acceleration/deceleration determination means 51, the acceleration/deceleration parameter correction means 22, the first acceleration/deceleration determination means 32, and the second acceleration/deceleration determination means 52 may be implemented by a processing circuit.
  • the processing circuit is a processing circuit similar to the processing circuit 93 .

Abstract

軌道生成装置(1)は、複数の軸のうちの動作開始点から動作終了点までの動作において最高速度に対する移動距離の比が最大となる最大移動軸を算出する最大移動軸算出手段(2)と、複数の軸が同期して動作する場合の経由点を生成する初期経由点算出手段(3)と、初期経由点算出手段(3)によって生成された複数の経由点のうちの周囲との干渉が発生する経由点を含む区間を抽出する干渉領域抽出手段(4)と、複数の軸のうちの最大移動軸算出手段(2)によって算出された最大移動軸以外の軸である非最大移動軸の位置を修正することで干渉を回避する経由点を生成する非最大移動軸修正手段(5)とを有する。軌道生成装置(1)は、非最大移動軸修正手段(5)の出力を目標軌道とする。

Description

軌道生成装置
 本開示は、ロボット又は工作機械等の産業機械において、動作の開始点及び終了点の情報と周囲の環境の情報とをもとに周辺との干渉を防止する産業機械の目標軌道を生成する軌道生成装置に関する。
 電機電子分野の組み立て作業、工作機械からの取り出し作業、又は、食品分野若しくは物流分野の搬送作業では、ロボットで作業を行う際に、システムの内部の障害物との干渉を防止しながらロボットを動作させる必要があるが、干渉を防止しながらロボットの作業を高速化するにはプログラムの生成及び調整に熟練を要する。そのため、素人でも簡単に障害物を回避しながらロボットを動作させるためのプログラムを生成することができる技術が望まれている。
 従来、開始教示点と目標教示点との間でロボットアームを動作させる軌道を生成する軌道生成方法が提案されている(例えば、特許文献1参照)。従来の軌道生成方法は、制御装置が、ロボットアームを動作させる軌道の開始教示点と目標教示点との間に配置された第1の中間教示点群に対して変位を与えて第2の中間教示点群を生成する中間教示点生成工程と、制御装置が、第2の中間教示点群をもとに、ロボットアームを模擬したロボットアームモデルを動作させる軌道を生成する軌道生成工程とを含む。従来の軌道生成方法は、制御装置が、中間教示点生成工程において、第1の中間教示点群に対して異なる変位を与えて生成した複数の第2の中間教示点群から、軌道生成工程によりそれぞれ生成した複数の軌道に対する評価値を生成する評価工程を更に含む。従来の軌道生成方法は、制御装置が、評価工程で生成された複数の軌道に対する評価値をもとに第1の中間教示点群を移動させ、移動後の第1の中間教示点群に対して、中間教示点生成工程と、軌道生成工程と、評価工程とを繰り返し実行し、所定の条件を満たす第1の中間教示点群を、ロボットアームを動作させる軌道の生成に用いる中間教示点群として決定する軌道決定工程を更に含む。第2の中間教示点群を生成する中間教示点生成工程においては、空間的な変位を与えるためのパラメータとして乱数値が足しこまれる。
特開2019-135076号公報
 従来の技術には、干渉を回避する軌道上の中間教示点群である経由点を生成する際、乱数を発生させて経由点を修正するため、最適な軌道は必ずしも得られないという問題と、動作時間を短くする軌道を得るために経由点を繰り返し修正する必要があるので経由点を決定するまでに比較的長い時間を要するという問題と、試行の度に生成される軌道が変動するという問題とがある。
 本開示は、上記に鑑みてなされたものであって、干渉を回避しながら動作時間を短縮する最適な軌道を生成することができ、目標軌道の探索を比較的短時間で行うことができ、試行毎のばらつきを小さくすることができる軌道生成装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示に係る軌道生成装置は、複数の軸のうちの動作開始点から動作終了点までの動作において最高速度に対する移動距離の比が最大となる最大移動軸を算出する最大移動軸算出手段と、複数の軸が同期して動作する場合の経由点を生成する初期経由点算出手段と、初期経由点算出手段によって生成された複数の経由点のうちの周囲との干渉が発生する経由点を含む区間を抽出する干渉領域抽出手段と、複数の軸のうちの最大移動軸算出手段によって算出された最大移動軸以外の軸である非最大移動軸の位置を修正することで干渉を回避する経由点を生成する非最大移動軸修正手段とを有する。本開示に係る軌道生成装置は、非最大移動軸修正手段の出力を目標軌道とする。
 本開示に係る軌道生成装置は、干渉を回避しながら動作時間を短縮する最適な軌道を生成することができ、目標軌道の探索を比較的短時間で行うことができ、試行毎のばらつきを小さくすることができるという効果を奏する。
実施の形態1に係る軌道生成装置の構成を示す図 実施の形態1における経由点間の移動量の第1の修正例を示す図 実施の形態1に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態1における経由点間の移動量の第2の修正例を示す図 実施の形態1における経由点間の移動量の第3の修正例を示す図 図2の修正の場合の経由点の位置の変化の説明図 実施の形態1における経由点間の移動量の第4の修正例を示す図 実施の形態1における経由点間の移動量の第5の修正例を示す図 実施の形態2に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態2における経由点間の移動量の修正例を示す図 実施の形態3に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態4に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態5に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態6に係る軌道生成装置が有する非最大移動軸修正手段の構成を示す図 実施の形態7に係る軌道生成装置の構成を示す図 実施の形態8に係る軌道生成装置の構成を示す図 実施の形態9に係る軌道生成装置の構成を示す図 実施の形態10に係る軌道生成装置の構成を示す図 実施の形態12における経由点の移動量を示す図 実施の形態13に係る軌道生成装置の構成を示す図 6個の回転軸を持つ垂直多関節ロボットの模式図を用いて手先の姿勢を維持しながらの非最大移動軸を修正する例を説明するための図 実施の形態14に係る軌道生成装置の構成を示す図 実施の形態14に係る軌道生成装置が有する指令修正手段が行う加減速度の修正の例を示す図 実施の形態15に係る軌道生成装置の構成を示す図 実施の形態16に係る軌道生成装置の構成を示す図 実施の形態16に係る軌道生成装置の動作の例を説明するための図 実施の形態1に係る軌道生成装置が有する最大移動軸算出手段、初期経由点算出手段、干渉領域抽出手段及び非最大移動軸修正手段の少なくとも一部の機能がプロセッサによって実現される場合のプロセッサを示す図 実施の形態1に係る軌道生成装置が有する最大移動軸算出手段、初期経由点算出手段、干渉領域抽出手段及び非最大移動軸修正手段の少なくとも一部が処理回路によって実現される場合の処理回路を示す図
 以下に、実施の形態に係る軌道生成装置を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1に係る軌道生成装置1の構成を示す図である。軌道生成装置1は、産業用ロボット、人協働ロボット又は工作機械等の産業用機械の軌道の生成に用いられる装置である。軌道生成装置1は、産業用ロボット等の制御装置の中に配置されてもよいし、制御装置の外部のパーソナルコンピュータの内部又はクラウドに構成されてもよい。軌道生成装置1には、動作開始点の情報及び動作終了点の情報が入力される。
 軌道生成装置1は、制御対象が有する複数の軸のうちの動作開始点から動作終了点までの動作において最高速度に対する移動距離の比が最大となる最大移動軸を算出する最大移動軸算出手段2と、複数の軸が同期して動作する場合の経由点を生成する初期経由点算出手段3とを有する。軌道生成装置1は、初期経由点算出手段3によって生成された複数の経由点のうちの周囲との干渉が発生する経由点を含む区間を抽出する干渉領域抽出手段4と、複数の軸のうちの最大移動軸算出手段2によって算出された最大移動軸以外の軸である非最大移動軸の位置を修正することで干渉を回避する経由点を生成する非最大移動軸修正手段5とを更に有する。軌道生成装置1は、非最大移動軸修正手段5の出力を目標軌道とする。以下で、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の各々を更に説明する。
 最大移動軸算出手段2は、入力された動作開始点の情報及び動作終了点の情報と、内部で記憶している産業用ロボット等の制御対象が有する複数の軸の各々の最高速度とをもとに、指定された動作においてどの軸が最大移動軸になるかを算出する。具体的には、最大移動軸算出手段2は、制御対象が有する複数の軸の各々について、動作終了点の位置から動作開始点の位置を減算し、減算することによって得られた結果を当該軸の最高速度で除算し、除算することによって得られた結果の絶対値が最大となる軸を最大移動軸として選定する。複数の軸のうちの最大移動軸以外の軸は、非最大移動軸と記載される。最大移動軸算出手段2が除算した結果の絶対値が最大となる軸が複数存在する場合、最大移動軸は複数存在してもよい。
 なお、上述の最大移動軸以外の軸について最大移動軸算出手段2が除算した結果の絶対値と上述の最大移動軸について最大移動軸算出手段2が除算した結果の絶対値との比が規定値以上となる場合、当該軸も最大移動軸とみなし、それ以外の軸を非最大移動軸とみなしてもよい。しかしながら、以下では、最大移動軸算出手段2が除算した結果の絶対値が最大となる軸のみが最大移動軸である。
 軌道生成装置1の後段に加減速を行い制御周期毎の指令を生成する指令生成手段が設けられている場合、軌道生成装置1が軌道に沿った加減速を実施する必要は必ずしもない。実施の形態1では、軌道生成装置1の後段に加減速を行い制御周期毎の指令を生成する指令生成手段が設けられている。指令生成手段は、図1には示されていない。
 初期経由点算出手段3は、動作開始点から動作終了点まで制御対象が有する複数の軸の各々が同期して加減速なしで動作する場合の初期経由点を一定の時間間隔で生成する。図2は、実施の形態1における経由点間の移動量の第1の修正例を示す図である。図2は、最大移動軸及び非最大移動軸の各々が一つずつ存在する場合の時間に相当する移動量と経由点間の移動量との関係を示している。図2には、干渉領域も示されている。
 干渉領域抽出手段4には、ロボット等の制御対象の周囲の障害物の位置及び大きさ等の干渉判定に必要な情報が予め記憶されている。干渉領域抽出手段4は、記憶している干渉判定に必要な情報と、初期経由点算出手段3によって算出される複数の経由点の各々の位置情報とをもとに、複数の経由点の各々で干渉が発生するかどうかを判定し、複数の経由点のいずれかで干渉が発生すると判定した場合、干渉が発生すると判定した経由点を含む区間を干渉領域として抽出する。
 図3は、実施の形態1に係る軌道生成装置1が有する非最大移動軸修正手段5の構成を示す図である。非最大移動軸修正手段5は、干渉領域内の経由点の非最大移動軸の位置を修正する経由点第1修正手段6と、干渉領域前後の非最大移動軸の位置を修正する経由点第2修正手段7と、加速度又はトルクの制限を考慮して経由点の非最大移動軸の位置を修正する加減速考慮修正手段8とを有する。
 経由点第1修正手段6は、初期経由点算出手段3によって生成された複数の経由点のうち、まず抽出された干渉領域に属する経由点に関して、最大移動軸の位置をそのままにし、非最大移動軸の位置を修正して干渉を回避する経由点を生成する。経由点第1修正手段6が修正を行う方向については、予め定められていてもよいし、評価関数に基づいて最適な方向が選択されてもよい。実施の形態1では、経由点第1修正手段6が修正を行う方向は予め定められている。
 経由点第1修正手段6は、干渉領域に含まれる経由点で最大移動軸のみを動作させた場合の移動方向を算出し、移動方向に対して垂直上向き及び水平方向の各々であって移動方向に対して直交する2方向を回避方向の候補とし、干渉を回避する際の非最大移動軸の移動量を非最大移動軸の最高速度で除算した結果の絶対値の最大値が最小となる方向を回避方向と決定する。
 制御対象が6軸垂直多関節ロボットである場合、経由点第1修正手段6は、複数の非最大移動軸のうち根元から2軸を選択し、当該2軸のうちの移動量を軸の最高速度で除算した結果の絶対値の最大値が最小となる方向を回避方向と決定してもよい。図2(B)は、経由点第1修正手段6による経由点の修正結果を示す図である。
 図2(B)では、非最大移動軸の速度が非最大移動軸の許容最大速度を超過するため、経由点第2修正手段7は、干渉領域の前後の経由点における非最大移動軸の位置を修正する。経由点第2修正手段7は、図2(C)、図4(C)又は図5(C)に示されるように修正を行ってもよい。図4は、実施の形態1における経由点間の移動量の第2の修正例を示す図である。図4は、最大移動軸及び非最大移動軸の各々が一つずつ存在する場合の時間に相当する移動量と経由点間の移動量との関係を示している。図5は、実施の形態1における経由点間の移動量の第3の修正例を示す図である。図5は、最大移動軸及び非最大移動軸の各々が一つずつ存在する場合の時間に相当する移動量と経由点間の移動量との関係を示している。
 図2、図4及び図5のいずれにおいても、左上の(A)は初期経由点算出手段3によって生成された経由点を示しており、右上の(B)は経由点第1修正手段6によって修正された経由点を示しており、左下の(C)は経由点第2修正手段7によって修正された経由点を示しており、右下の(D)は加減速考慮修正手段8によって修正された経由点を示している。左上、右上、左下、右下の順に、経由点は生成又は修正される。
 図2、図4及び図5のいずれにおいても、左上及び右上は同じ経由点を示しており、経由点第2修正手段7による修正内容に対応して左下以降が異なっている。経由点第2修正手段7は、非最大移動軸の速度制限と干渉回避とを両立する条件を満たす範囲で干渉領域及び干渉領域の前後の経由点の非最大移動軸の位置を修正する。
 最大移動軸が最高速度で動いている領域では、軌道生成装置1の後段の指令生成手段を経ても最大移動軸が減速しないことが望ましい。経由点第2修正手段7まででは加減速の影響は考慮されていないので、このままでは軌道生成装置1の後段の指令生成手段が最大移動軸を減速させる必要が発生し動作時間が長くなる。そこで後段の指令生成手段を経ても最大移動軸が加減速を行わず最高速度を保てるように、加減速考慮修正手段8は、経由点の非最大移動軸の位置を修正する。
 具体的には、加減速考慮修正手段8は、予め定められた又は算出された加速度制限値もしくは加減速時間の制限値をもとに、非最大移動軸の経由点間の移動量もしくは移動速度の変動幅を制限する。加減速考慮修正手段8は、予め定められた又は算出されたトルク制限値をもとに非最大移動軸の経由点間の移動量の変動幅を制限してもよい。
 経由点第2修正手段7によって行われた修正結果が図2(C)、図4(C)又は図5(C)である場合、加減速考慮修正手段8によって修正が行われると、図2(C)に対する修正結果は図2(D)となり、図4(C)に対する修正結果は図4(D)となり、図5(C)に対する修正結果は図5(D)となる。なお、図2の修正の場合の経由点の位置の変化の説明図が図6である。
 加減速考慮修正手段8は、修正した経由点を目標軌道として指令生成手段に出力する。指令生成手段は、入力された目標軌道上で、制御対象の速度と加速度又は駆動トルクとについての制約を満たす指令を生成し、ロボット等の制御対象を制御する。
 上述の説明では、動作開始点から干渉領域の開始地点までの第1の区間と、干渉領域の終了地点から動作終了点までの第2の区間とにおいて、非最大移動軸の方が最大移動軸より早く動作を完了することができる。しかしながら、上述の第1の区間及び第2の区間の一方又は両方で、非最大移動軸の方が最大移動軸より早く動作を完了することができない場合もある。
 図7は実施の形態1における経由点間の移動量の第4の修正例を示す図であり、図8は実施の形態1における経由点間の移動量の第5の修正例を示す図であり、図7及び図8は、干渉領域の終了地点から動作終了点までの第2の区間において、非最大移動軸の方が最大移動軸より早く動作を完了することができない場合の経由点の修正結果を示している。図7及び図8が示す事例はいずれも同じ事例に対する経由点の生成結果を示しているが、経由点第2修正手段7によって行われた修正結果が異なっている。図7の場合、最大移動軸は修正されずに非最大移動軸のみが修正されており、最大移動軸の動作の終了後に非最大移動軸の動作が終了する。図8の場合、非最大移動軸と最大移動軸との両方が修正されている。更に言うと、図8の場合、最大移動軸の移動速度を低減することで、最大移動軸の動作と非最大移動軸の動作とが同時に終了するように、修正が行われている。
 実施の形態1に係る軌道生成装置1によれば、最大移動軸が可能な限り最高速度を保つ軌道が生成されるため、干渉を回避しながら動作時間を短縮する軌道を生成することができるという効果が得られる。加えて、経由点の生成に乱数が用いられないため、目標軌道の探索を短時間で行うことができるという効果、及び試行毎のばらつきが小さくなるという効果も得られる。さらに、非最大移動軸が回避動作を行う場合の加減速の影響も考慮されるため、最大移動軸の不要な加減速を防止し、動作時間を短縮することができるという効果も得られる。すなわち、軌道生成装置1は、干渉を回避しながら動作時間を短縮する最適な軌道を生成することができ、目標軌道の探索を比較的短時間で行うことができ、試行毎のばらつきを小さくすることができる。
実施の形態2.
 実施の形態2に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態2の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。図9は、実施の形態2に係る軌道生成装置が有する非最大移動軸修正手段5の構成を示す図である。実施の形態2の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する全ての構成要素のうちの加減速考慮修正手段8以外の構成要素を有する。つまり、実施の形態2の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する経由点第1修正手段6と経由点第2修正手段7とを有し、加減速考慮修正手段8を有しない。
 例えば図2と同じケースでは、図10に示される通り、左下までの経由点の修正結果が得られる。図10は、実施の形態2における経由点間の移動量の修正例を示す図である。実施の形態2では、経由点第2修正手段7の修正結果が後段の指令生成手段に出力される。そのため、実施の形態2では、最大移動軸の不要な加減速を防止するという効果は得られないが、干渉を回避しながら動作時間を短縮する軌道を生成することができるという効果が得られる。加えて、経由点の生成に乱数が用いられないため、目標軌道の探索を短時間で行うことができるという効果、及び試行毎のばらつきが小さくなるという効果も得られる。
実施の形態3.
 実施の形態3に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態3の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。図11は、実施の形態3に係る軌道生成装置が有する非最大移動軸修正手段5の構成を示す図である。実施の形態3の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する全ての構成要素と、回避方向最適化手段9とを有する。つまり、実施の形態3の非最大移動軸修正手段5は、経由点第1修正手段6、経由点第2修正手段7、加減速考慮修正手段8及び回避方向最適化手段9を有する。
 回避方向最適化手段9は、非最大移動軸の位置を修正する方向を最適化する。干渉を回避しながら最短の動作時間となる軌道を生成することを目的に最適化するため、実施の形態3に係る軌道生成装置の後段の指令生成手段の出力をもとに最適な修正方向が選択されてもよいが、当該方法では最適化に比較的長い時間を要する。
 そのため、回避方向への移動時の非最大移動軸の移動量を非最大移動軸の最大速度で除算した結果の最大値が最小になる条件で最適化することと、回避方向への移動時の非最大移動軸の移動量を非最大移動軸の最大速度で除算した結果の最大値が許容値以下となる範囲で先端位置の移動量を最小化することと、回避方向への移動時の非最大移動軸の移動量を非最大移動軸の最大速度で除算した結果の最大値が許容値以下となる範囲で回避方向への移動時の加速度を最小化することとのうちのいずれかを評価関数とすればよい。
 回避方向最適化手段9は、人工知能技術を用いてもよい。例えば、回避方向最適化手段9は、ベイズ最適化、粒子群最適化、又は遺伝的アルゴリズム等の手法を用いてもよい。
 回避方向最適化手段9は、動作開始点及び動作終了点、並びに干渉物の位置及び大きさの情報をもとに最適な回避方向を学習したニューラルネットワークを用いてもよい。軌道の生成及び指令値の生成は仮想環境でも実施することができるため、ニューラルネットワークの学習では、仮想環境における後段での指令生成の実施後の動作時間が最短となる回避方向を仮想環境での計算を繰り返すことで算出しておき、動作開始点及び動作終了点、並びに干渉物の位置及び大きさの情報を入力とし、回避方向を出力とするニューラルネットワークの学習が行われてもよい。学習済のニューラルネットワークに軌道を生成する際の条件を入力し、ニューラルネットワークが出力する回避方向を非最大移動軸修正手段5による回避方向としてもよい。
 実施の形態3に係る軌道生成装置は、回避方向最適化手段9を有するので、回避方向が固定される場合と比べ、動作時間を短縮することができる。
実施の形態4.
 実施の形態4に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態4の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。図12は、実施の形態4に係る軌道生成装置が有する非最大移動軸修正手段5の構成を示す図である。実施の形態4の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する経由点第1修正手段6及び加減速考慮修正手段8と、回避点最適化手段10とを有する。実施の形態4の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する経由点第2修正手段7を有しない。
 回避方向が同じでも、実施の形態1で示されたように、回避点の設定方法は複数存在する。回避点の選択によっては、後段の指令生成手段がトルク制限を考慮して指令を生成する際の動作時間が変動する場合がある。また、非最大移動軸の不要な速度変動を防止することで非最大移動軸を加減速するために動作時間が延びることを防止することができる場合もある。そこで、実施の形態4では、決定した回避方向に対して具体的な回避点を最適化する回避点最適化手段10が設けられている。
 回避点最適化手段10は、干渉を回避することができる制約を満たす範囲で、非最大移動軸の速度変動が小さくなり、最大移動軸を含めてトルク制約を満たす加速度が大きくなる回避点を探索する。回避点最適化手段10は、回避点の探索に、回避方向の探索と同じく、ベイズ最適化、粒子群最適化又は遺伝的アルゴリズム等の手法を用いてもよい。
 回避点最適化手段10は、回避方向と動作開始点及び動作終了点並びに干渉物の位置及び大きさの情報とをもとに最適な回避点を学習したニューラルネットワークを用いてもよい。軌道の生成及び指令値の生成は仮想環境でも実施することができるため、ニューラルネットワークの学習では、仮想環境における後段での指令生成の実施後の動作時間が最短となる回避方向を条件毎に仮想環境での計算を繰り返すことで算出しておき、回避方向、動作開始点及び動作終了点、並びに干渉物の位置及び大きさの情報を入力とし、回避点を出力とするニューラルネットワークの学習が行われてもよい。学習済のニューラルネットワークに軌道を生成する際の条件を入力し、ニューラルネットワークが出力する回避点を、回避点最適化手段10が生成する回避点としてもよい。
 実施の形態4に係る軌道生成装置は、回避点最適化手段10を有するので、回避点の算出方法が固定である場合と比べ、動作時間を短縮することができる。
実施の形態5.
 実施の形態5に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態5の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。図13は、実施の形態5に係る軌道生成装置が有する非最大移動軸修正手段5の構成を示す図である。実施の形態5の非最大移動軸修正手段5は、回避方向回避点最適化手段11と、実施の形態1の非最大移動軸修正手段5が有する加減速考慮修正手段8とを有する。実施の形態5の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する経由点第1修正手段6及び経由点第2修正手段7を有しない。
 実施の形態3に係る軌道生成装置は回避方向を最適化する回避方向最適化手段9を有し、実施の形態4に係る軌道生成装置は回避方向が決定された後の回避点の生成を最適化する回避点最適化手段10を有する。実施の形態5に係る軌道生成装置は、回避方向と回避点とを合わせて最適化する回避方向回避点最適化手段11を有する。回避方向回避点最適化手段11は、回避方向最適化手段9及び回避点最適化手段10と同様に、ベイズ最適化、粒子群最適化又は遺伝的アルゴリズム等の最適化手法で探索して、又はニューラルネットワークを用いて回避方向及び回避点を出力する。
 実施の形態5に係る軌道生成装置は、回避方向回避点最適化手段11を有するので、回避方向及び回避点の算出方法が固定である場合と比べ、動作時間を短縮することができる。
実施の形態6.
 実施の形態6に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態6の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。図14は、実施の形態6に係る軌道生成装置が有する非最大移動軸修正手段5の構成を示す図である。実施の形態6の非最大移動軸修正手段5は、実施の形態1の非最大移動軸修正手段5が有する全ての構成要素と、加減速時間算出手段12とを有する。つまり、実施の形態6の非最大移動軸修正手段5は、経由点第1修正手段6、経由点第2修正手段7、加減速考慮修正手段8及び加減速時間算出手段12を有する。
 加減速時間算出手段12は、非最大移動軸の速度が変化する場合に加減速考慮修正手段8が経由点の修正に用いる加減速時間を算出する。非最大駆動軸の速度が変動する地点での各軸の速度の差から構成されるベクトルをVcとし、各軸の速度をVとし、各軸の位置をθとし、制御対象であるロボットの慣性行列をM(θ)とし、遠心コリオリ力、重力及び摩擦力の和から構成されるベクトルをH(θ,V)とし、各軸の許容最大トルクから構成されるベクトルをτmaxとするとき、加減速時間算出手段12は、下記の式(1)を満たす最小のktを全ての軸について算出し、各軸のktの最大値ktmを加減速時間として出力する。
Figure JPOXMLDOC01-appb-M000001
 加減速考慮修正手段8は、加減速時間算出手段12から出力された加減速時間ktmで非最大移動軸の速度が変化するように経由点を修正する。
 実施の形態6に係る軌道生成装置は、非最大移動軸の加減速を、速度変化量、制御対象の位置姿勢、移動速度及びトルク制限を考慮して決定するため、加減速パラメータを固定にする場合と比べ、動作時間を短縮することができる。
実施の形態7.
 図15は、実施の形態7に係る軌道生成装置1Aの構成を示す図である。軌道生成装置1Aは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、動作分割判定手段13とを有する。つまり、軌道生成装置1Aは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及び動作分割判定手段13を有する。実施の形態1に係る軌道生成装置1は、動作開始点から動作終了点までを一つの動作として干渉を考慮した軌道を生成する。実施の形態7に係る軌道生成装置1Aは、動作開始点から動作終了点までの動作を一つの動作として、最大移動軸算出手段2から非最大移動軸修正手段5までの演算を一旦実施する。
 軌道生成装置1Aは、干渉回避を実施した結果、非最大移動軸の動作時間が最大移動軸の動作時間を上回った場合、動作分割判定手段13によって動作開始点から動作終了点までの動作を二つ以上の動作に分割すべきかどうかの判定を実施する。動作分割判定手段13が動作を分割すべきでないと判定した場合、軌道生成装置1Aは、非最大移動軸修正手段5の出力を生成した軌道として出力する。動作分割判定手段13が動作を二つ以上の動作に分割すべきと判定した場合、分割によって得られる複数の動作の各々について、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の各々は処理を実施し、実施した結果を分割によって得られる複数の動作の各々についての生成軌道として更新し、出力する。
 動作分割判定手段13は、動作を二つ以上の動作に分割した場合の複数の動作の各々における最大移動軸の加減速なしでの移動時間の和と、動作を分割する前の非最大移動軸修正手段5によって得られる移動時間とを比較する。動作分割判定手段13は、動作を分割する前の非最大移動軸修正手段5によって得られる移動時間の方が動作を分割したときの移動時間の和より短い場合、動作の分割を実施しないと判定する。動作の分割は、例えば、分割前の干渉領域の中点で予め定められた複数の方向に中間点を設けることによって行われる。動作分割判定手段13は、中間点の方向と中間点の干渉領域からの移動量とを、分割後の複数の動作の各々の最大移動軸の移動時間の和が最小となる組み合わせを探索することによって決定する。
 更に言うと、動作分割判定手段13は、動作を分割すべきか否かを判定する。実施の形態7に係る軌道生成装置1Aは、動作分割判定手段13によって動作を分割すべきと判定された場合に生成される複数の動作の各々について軌道を生成する。軌道生成装置1Aは、動作を二つ以上の動作に分割して軌道を生成した方が最適な軌道を得られる場合の動作時間を短縮することができる。
 実施の形態7における非最大移動軸修正手段5は、実施の形態1から実施の形態6までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態8.
 図16は、実施の形態8に係る軌道生成装置1Bの構成を示す図である。軌道生成装置1Bは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、直線補間挿入判定手段14とを有する。つまり、軌道生成装置1Bは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及び直線補間挿入判定手段14を有する。障害物が狭い範囲に複数存在する場合、軸毎に細かく経由点を設定する必要がある等の理由から、ロボットの手先を直線に沿って動作させる直線補間によって当該区間の軌道を生成することが望ましい場合がある。上記のロボットの手先を直線に沿って動作させることは、制御対象の制御点を直線上で動作させることである。
 そのため、干渉領域抽出手段4によって干渉すると判定された障害物からあらかじめ決められた距離以内に別の障害物が存在する場合、直線補間挿入判定手段14は、当該障害物の回避を直線補間によって実施すると判定する。つまり、直線補間挿入判定手段14は、直線補間挿入を実施すると判定する。直線補間挿入判定手段14が直線補間挿入を実施すると判定した場合、非最大移動軸修正手段5の経由点第1修正手段6は、直線補間によって経由点を生成するとともに回避点までの区間に直線補間のフラグを付与する。
 経由点第1修正手段6によって生成された経由点までの速度が最大移動軸又は非最大移動軸の最大速度を超過する場合、経由点第2修正手段7は、元の経由点から経由点第1修正手段6によって生成された経由点までの直線上に新たに経由点を追加することで速度が最大速度を超過しない経由点を生成する。加減速考慮修正手段8は、経由点第1修正手段6によって生成された経由点までの加速度があらかじめ設定された加速度を超過する場合、経由点第1修正手段6によって生成された経由点までの直線上に新たに経由点を追加することで加速度が加速度制限を超過しない経由点を生成する。
 更に言うと、直線補間挿入判定手段14は、制御対象の制御点を直線上で動作させる直線補間で干渉を回避すべきか否かを判定する。実施の形態8に係る軌道生成装置1Bは、直線補間挿入判定手段14が直線補間で干渉を回避すべきと判定した場合に干渉回避動作を直線補間で行う。軌道生成装置1Bは、制御対象の先端を直線上で動作させることで干渉を回避することが望ましい場合の動作時間を短縮することができる。
 実施の形態8における非最大移動軸修正手段5は、実施の形態1から実施の形態7までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態9.
 図17は、実施の形態9に係る軌道生成装置1Cの構成を示す図である。軌道生成装置1Cは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、接続条件算出手段15とを有する。つまり、軌道生成装置1Cは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及び接続条件算出手段15を有する。
 電機電子製品の組立をロボットに実施させる場合等、制御対象を目標点近傍まで動作させた後に定められた方向に直線に沿って動作させたい等、動作開始点と動作終了点とのうちのいずれか一方の速度の大きさを0以外に指定したいアプリケーションが存在する。このように動作開始点又は動作終了点において制御対象を停止させるのではなく、指定された方向及び大きさの速度を持つ指令に適した軌道の生成に対応するため、軌道生成装置1Cは接続条件算出手段15を有する。
 動作開始点の位置、動作終了点の位置、動作開始点の速度、及び動作終了点の速度を示す情報が接続条件算出手段15に入力される。動作開始点の速度及び動作終了点の速度として0でない値が設定されている場合、接続条件算出手段15は、まず、動作開始点の位置と、動作終了点の位置と、各軸の最大速度とをもとに、各軸が同期して動作する場合の移動速度V0を算出する。次に、接続条件算出手段15は、各軸の速度が動作開始点又は動作終了点で指定された速度から、算出した各軸が同期して動作する場合の移動速度V0まで到達するのに要する時間と、各軸の速度が動作開始点又は動作終了点で指定された速度から各軸が同期して動作する場合の移動速度V0までに速度が変化する間に移動する移動距離L1とを算出し、算出した移動距離L1だけ動作開始点及び動作終了点からみて動作区間の内側にある接続地点位置を算出する。接続地点位置は、干渉がない場合に各軸が同期して動作する区間の始点及び終点である。次に、接続条件算出手段15は、動作開始点の側の接続点位置及び動作終了点の側の接続点位置をもとに、動作開始点の側の接続点位置と動作終了点の側の接続点位置との間を、各軸を同期して動作させる場合の各軸の速度を算出する。当該各軸の速度は、接続地点速度である。
 動作開始点の速度及び動作終了点の速度として0が設定されている場合、接続条件算出手段15は、接続位置を動作開始点又は動作終了点のままとする。次に、接続条件算出手段15は、速度が動作開始点の速度又は動作終了点の速度から算出した接続地点速度まで到達するのに要する時間と、移動距離とを算出し、算出した移動距離だけ動作区間の内側にある接続地点位置と接続地点速度とを算出することを繰り返す。接続条件算出手段15は、繰り返しの回数が規定回数に到達した場合又は前回との速度及び位置の各々についての差が規定値以下となった場合、算出した接続地点位置及び接続地点速度を最大移動軸算出手段2に出力する。
 最大移動軸算出手段2は、入力された接続地点位置の情報をもとに最大移動軸を算出し、二つの接続地点のうちの一方を動作開始点とみなすと共に二つの接続地点のうちの他方を動作終了点とみなす。初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の各々は、実施の形態1の処理と同様の処理を実施する。
 以下、接続地点位置の導出方法について説明する。下記の各軸移動速度V0[i]は干渉がない場合に各軸が同期して動作する場合の速度であり、接続点までの移動時間T1maxは各軸の速度が動作開始点又は動作終了点で指定された速度からV0[i]まで到達するのに要する時間の最大値であり、各軸の移動量L1[i]は各軸が時間T1maxで移動する距離である。移動距離は、速度を積分することによって算出される。
 動作開始点での速度が指定された場合を例に挙げて説明する。制御対象の第i番目の軸の位置、速度及び加速度等は[i]で表現される。制御対象は、例えばロボットである。動作開始点の位置をPs[i]とし、動作開始点での指定速度をVs[i]とし、動作終了点の位置をPe[i]とする。このとき、まず、接続条件算出手段15は、動作開始点から動作終了点まで各軸が同期して移動する場合の各軸移動速度V0[i]を算出する。具体的には、接続条件算出手段15は、下記の式(2)を用いて、各軸移動速度V0[i]を算出する。
Figure JPOXMLDOC01-appb-M000002
 式(2)において、Vmax[i]は各軸の許容最高速度を示しており、absは絶対値を示しており、maxは各軸の計算結果の最大値を示している。次に、接続条件算出手段15は、下記の式(3)を用いて、動作開始点での指定速度Vs[i]と算出したV0[i]との差であるVe1[i]を算出する。
Figure JPOXMLDOC01-appb-M000003
 予め指定された又は導出された加減速時間をKtとするとき、接続条件算出手段15は、下記の式(4)を用いてT1[i]を算出する。
Figure JPOXMLDOC01-appb-M000004
 各軸のT1[i]の最大値をT1maxとすると、接続点までの移動時間はT1maxとなる。次に、接続条件算出手段15は、時間T1maxでVs[i]からV0[i]まで一定の加速度で速度を変化させたときの各軸の移動量L1[i]を算出し、Ps[i]+L1[i]を接続点Pa1の第i軸の位置Pa1[i]とする。動作開始点において速度が指定された場合を例に挙げて説明したが、動作終了点において速度が指定された場合も同様である。
 更に言うと、接続条件算出手段15は、動作開始点と動作終了点とのうちの少なくとも一方における目標速度の方向及び大きさの指定をもとに接続地点の位置を算出する。実施の形態9に係る軌道生成装置1Cは、接続条件算出手段15によって算出された接続地点の位置をもとに軌道を生成する。軌道生成装置1Cは、動作開始地点と動作終了地点とのうちの少なくとも一方の各軸の速度が指定されている場合の動作時間を短縮することができる。
 実施の形態9における非最大移動軸修正手段5は、実施の形態1から実施の形態8までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態10.
 図18は、実施の形態10に係る軌道生成装置1Dの構成を示す図である。軌道生成装置1Dは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、制御系影響考慮手段16とを有する。つまり、軌道生成装置1Dは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及び制御系影響考慮手段16を有する。軌道生成装置1Dによって生成された軌道は後段の指令生成手段に入力され、指令生成手段は、軌道生成装置1Dによって生成された軌道を保ったまま各軸の速度及びトルクについての制約を満たす制御周期毎の指令を生成し、制御対象を制御する。制御対象の制御において遅れが通常生じるため、実際の制御対象は軌道生成装置によって生成された軌道を厳密に通るのではなく、制御系の影響で内回りした経路を通る。
 そこで、軌道生成装置1Dは、制御系の影響を考慮して、干渉領域抽出手段4で記憶されている障害物の大きさを仮想的に大きくすることで、制御系の影響により制御対象の軌跡がずれても干渉が発生しない軌道を生成する。制御系の特性は、制御対象の位置により変動する場合もあるため、制御系影響考慮手段16は、動作開始地点及び動作終了地点の情報を取得し、動作範囲内での制御系の特性も考慮して障害物の大きさの変更量又は変更比率を決定する。
 更に言うと、制御系影響考慮手段16は、制御系により制御対象の軌跡が目標軌道からずれる影響を推定する。軌道生成装置1Dは、制御系影響考慮手段16の出力をもとに干渉領域抽出手段4の内部の障害物についてのパラメータを変更する。軌道生成装置1Dは、制御系の特性により発生する制御対象の軌跡のずれの影響も考慮することができるため、より正確な回避を行うことができる軌道を生成することができる。
 実施の形態10における非最大移動軸修正手段5は、実施の形態1から実施の形態9までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態11.
 実施の形態11に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態11の非最大移動軸修正手段5の構成は実施の形態1の非最大移動軸修正手段5の構成と異なる。実施の形態11では、干渉領域抽出手段4が抽出する干渉領域が複数存在する。干渉領域が複数存在する場合、経由点第1修正手段6は、非最大移動軸の回避方向が複数の干渉領域で同一となる条件の下で回避方向を決定する。経由点第2修正手段7は、各干渉領域の間では、非最大移動軸が初期経由点に戻るように修正するのではなく、隣接する干渉領域間を接続するように経由点を修正する。上述の動作以外の動作は実施の形態1で説明された動作と同一であるので、上述の動作以外の動作の説明は省略される。
 実施の形態11に係る軌道生成装置は、制御対象の動作経路に複数の障害物が存在する場合に干渉を回避しながら動作時間を短縮することができる。
実施の形態12.
 実施の形態12に係る軌道生成装置の全体の構成を示す説明図も図1であるが、実施の形態12では、軌道生成装置の後段に指令生成手段は設けられず、軌道生成装置によって生成された軌道が制御周期毎の指令として用いられる。後段の指令生成手段で加減速が実施されないため、初期経由点算出手段3によって算出される経由点では、速度の波形は速度矩形波ではなく、加減速が行われ、速度台形が生成される。速度台形の傾きは、動作開始地点の位置と、動作終了地点の位置と、各軸の最高速度とをもとにトルク制限を考慮して算出されてもよい。速度台形の傾きは、加速度である。
 図19は、実施の形態12における経由点の移動量を示す図である。図19では、左上の図は初期経由点算出手段3の算出結果を示しており、右上の図は経由点第1修正手段6の修正結果を示しており、左下の図は経由点第2修正手段7の修正結果を示しており、右下の図は加減速考慮修正手段8の修正結果を示している。実施の形態12に係る軌道生成装置は、加減速考慮修正手段8の出力を生成した指令として制御対象を制御する。
 実施の形態12に係る軌道生成装置は、干渉を回避して動作時間を短縮する指令を生成するための演算時間を削減することができる。
実施の形態13.
 図20は、実施の形態13に係る軌道生成装置1Eの構成を示す図である。軌道生成装置1Eは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、制約条件記憶手段17と、制約条件充足判定手段18とを有する。つまり、軌道生成装置1Eは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5、制約条件記憶手段17及び制約条件充足判定手段18を有する。制約条件記憶手段17は、例えば半導体メモリによって実現される。実施の形態13では、非最大移動軸修正手段5は、多関節ロボットの運動学に基づく制約条件下で非最大移動軸の位置を修正する。更に言うと、非最大移動軸修正手段5は、多関節ロボットの運動学に基づく制約条件を考慮しながら非最大移動軸の位置を修正する。
 運動学に基づく制約条件の例として、直線補間動作中の特異点の回避という条件がある。多関節ロボットにおいて、腕が伸びきった姿勢や、二つ以上の回転軸が一直線上に並んだ姿勢をとる位置は、特異点と呼ばれる。特異点では、手先の運動の自由度が減少することにより、手先の位置及び姿勢を実現する各関節の位置の組合せが一意に決まらなくなる。基本的に関節補間動作では多関節ロボットは軌道上の特異点を通過することができるが、実施の形態8で述べたように直線補間にて一部の区間の軌道を生成する場合、特異点の近傍で次の制御点での各関節の位置が決まらずにエラーで多関節ロボットが停止する可能性がある。
 制約条件記憶手段17は、必要とする軌道上の特異点の条件を記憶しておく。非最大移動軸修正手段5の中の経由点第1修正手段6及び経由点第2修正手段7によって求められる修正方向の複数の候補の各々に対して、制約条件充足判定手段18は、次の経由点までに多関節ロボットが特異点を通過するか否かを判定し、多関節ロボットが特異点を通過する修正方向の候補が採用されないようにする。これは例えば、最適な修正方向の評価関数を用い、二つの経由点を結ぶ線分を一定間隔で分割した地点が特異点の近傍か否かを調べ、当該地点が特異点の近傍である場合に評価値にペナルティを付与することで実現することができる。これによって、多関節ロボットの移動について直線補間を用いる場合であっても、実施の形態13に係る軌道生成装置1Eは、多関節ロボットの手先の位置を実現する各軸の位置が一意に決まらない特異点を回避しながらの移動動作を実現する軌道を得ることができる。
 別の制約条件の例として、手先の姿勢の維持という条件がある。図21は、回転軸J1から回転軸J6までの6個の回転軸を持つ垂直多関節ロボットの模式図を用いて手先の姿勢を維持しながらの非最大移動軸を修正する例を説明するための図である。例えば、ロボットハンドが、把持したワークWの姿勢を水平に保ちながら、最大移動軸となる回転軸J1を動かしてワークWを移動させる途中で図21の左側の図のようにワークWが障害物Sに干渉するとき、非最大移動軸である回転軸J2,J3,J5の位置を修正することで、図21の右側の図のようにワークWの姿勢を保ったままワークWと障害物Sとの干渉を回避することができる。この場合、修正前の手先の姿勢が制約条件記憶手段17に設定され、経由点第1修正手段6及び経由点第2修正手段7が、逆運動学の計算を用いて手先の姿勢を変えない非最大移動軸の位置を求める。これは、例えば、干渉領域で経由点の修正方向を決定する際に、直交空間での垂直上向き方向、垂直下向き方向、及び水平面内で移動方向に対して直交する2方向を手先の位置の回避方向の候補とし、制約条件充足判定手段18が各候補の手先の位置に対して姿勢の制約を満たす非最大移動軸の位置を逆運動学によって計算し、非最大移動軸の移動量を当該非最大移動軸の最高速度で除算した結果の絶対値の最大値が最小となる方向を選択することで実現することができる。この場合、制約条件充足判定手段18の処理は、非最大移動軸修正手段5の中の経由点第1修正手段6及び経由点第2修正手段7の処理に含まれていてもよい。これによって、実施の形態13に係る軌道生成装置1Eは、手先の姿勢を水平に保ちながらの移動動作を実現する軌道を得ることができる。
 ユーザは、必要に応じて、外部インタフェース等を用いて制約条件を追加又は削除してもよい。
 実施の形態13における非最大移動軸修正手段5は、実施の形態1から実施の形態7までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態14.
 図22は、実施の形態14に係る軌道生成装置1Fの構成を示す図である。軌道生成装置1Fは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、指令生成手段19と、指令修正手段20とを有する。つまり、軌道生成装置1Fは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5、指令生成手段19及び指令修正手段20を有する。
 指令生成手段19は、非最大移動軸修正手段5から出力される目標軌道をもとにロボットの制御周期毎の補間動作を生成する。すなわち、指令生成手段19は、非最大移動軸修正手段5から出力される目標軌道をもとに補間動作指令を生成する。指令修正手段20は、指令生成手段19の後段に位置していて、ロボットの制御周期毎の補間動作中の最大移動軸の加減速度、最大移動軸の加減速開始時刻、非最大移動軸の加減速度、及び非最大移動軸の加減速開始時刻のうちの少なくとも一つを修正し、動作指令を出力する。
 非最大移動軸修正手段5が出力する目標軌道に対して、指令生成手段19が全ての軸の動作終了時刻が同期するようにロボットの制御周期毎の補間動作指令を生成するとき、干渉を回避するための非最大移動軸の動作と同期するために最大移動軸の速度が低下する場合がある。図23は、実施の形態14に係る軌道生成装置1Fが有する指令修正手段20が行う加減速度の修正の例を示す図である。図23の左側の図に示されるように、角速度がゼロの停止状態を区切りとする一連の動作の後半で非最大移動軸による干渉の回避が必要な場合、最大移動軸が出し得る最大の減速度で減速を開始すると速度波形に凹んだ部分すなわちジャークが発生する。これに対して、最大移動軸の減速度を緩和すると、図23の右側の図に示されるように、最大移動軸は台形速度波形を維持することができる。これによって、実施の形態14に係る軌道生成装置1Fは、余計なジャークを発生させず、ロボットの構成部品の寿命を向上させることができる。
 図23は最大移動軸の減速度のみを修正する例を示すが、指令修正手段20は、動作時間を短縮可能な加減速パラメータの組合せとして、最大移動軸の加減速度、最大移動軸の加減速開始時刻、非最大移動軸の加減速度、及び非最大移動軸の加減速開始時刻の組合せを最適化してもよい。組合せ最適化の手段としては、例えば粒子群最適化やベイズ最適化を用いることができる。また、指令修正手段20は、最適な加減速パラメータの組合せ候補に対して、それらのパラメータを用いて生成された動作指令で起動するロボットが障害物に干渉しないことをシミュレーションで確認する機能を有してもよい。
 実施の形態14における非最大移動軸修正手段5は、実施の形態1から実施の形態7までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態15.
 図24は、実施の形態15に係る軌道生成装置1Gの構成を示す図である。軌道生成装置1Gは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、ロボットコマンド決定手段21とを有する。つまり、軌道生成装置1Gは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及びロボットコマンド決定手段21を有する。ロボットコマンド決定手段21は、初期経由点算出手段3によって計算される点列に対する補間動作と非最大移動軸修正手段5によって算出される修正量に対応する点列に対する補間動作とをロボットコマンドに変換し、ロボットコマンドを出力する。点列は、軌道生成装置が生成する一つ以上の経由点を、動作開始点から動作終了点まで順に並べたものである。
 実施の形態15では、初期経由点算出手段3は、非最大移動軸の修正前の補間動作の情報として初期経由点算出手段3によって決定される軌道の加減速パラメータを決定する第1加減速決定手段31を有する。第1加減速決定手段31は、決定した加減速パラメータをロボットコマンド決定手段21に出力する。第1加減速決定手段31は、初期経由点算出手段3の後段に設けられてもよい。非最大移動軸修正手段5は、非最大移動軸の修正量に対応する補間動作の情報として非最大移動軸修正手段5によって修正される軌道の加減速パラメータを決定する第2加減速決定手段51を有する。第2加減速決定手段51は、決定した加減速パラメータをロボットコマンド決定手段21に出力する。第2加減速決定手段51は、実施の形態6に係る軌道生成装置が有する加減速時間算出手段12に相当する。第2加減速決定手段51は、非最大移動軸修正手段5の後段に設けられてもよい。第2加減速決定手段51が非最大移動軸修正手段5の後段に設けられる場合、非最大移動軸修正手段5が初期経由点算出手段3の動作をもとにする軌道と非最大移動軸修正手段5で修正される軌道とを合成した結果を出力するため、第2加減速決定手段51は軌道を合成前に戻して修正軌道の加減速パラメータを求める。
 一般的に、産業用ロボットコントローラには、専用のプログラミング言語による動作コマンドが用意されている。例えば、指定された二点間を関節座標で補間するコマンドや、指定された二点間を直線補間するコマンドが存在する。以下では、指定された二点間を関節座標で補間するコマンドはMOVコマンドと記載され、指定された二点間を直線補間するコマンドはMVSコマンドと記載される。
 加減速パラメータを決めてMOVコマンドやMVSコマンドを指令生成手段に渡すことで、又は、ロボット制御装置がMOVコマンドやMVSコマンドを実行する直前に加減速パラメータを決定することで、ロボットの制御周期毎の補間動作指令が生成される。ロボット制御装置が加減速パラメータを決定すると、実現される軌道が非最大移動軸修正手段5から出力される目標軌道からずれる可能性があるため、以下では軌道生成装置1Gが加減速パラメータまで決定する場合を説明する。
 加減速パラメータまで決定してから補間動作をロボットコマンドに変換するためには、第1加減速決定手段31は、初期経由点算出手段3が算出する点列に対して補間動作の加減速パラメータを決定する必要があり、第2加減速決定手段51は、干渉を回避するために非最大移動軸修正手段5が算出する修正量に対応する点列に対して補間動作の加減速パラメータを決定する必要がある。非最大移動軸修正手段5が算出する修正量に対応する点列に対する補間動作の加減速パラメータは、例えば実施の形態6で述べた加減速考慮修正手段8によって行われる計算によって決定することができる。初期経由点算出手段3が算出する点列に対する補間動作の加減速パラメータも、第1加減速決定手段31が同様の計算を行うことによって決定することができる。ロボットコマンド決定手段21は、初期経由点算出手段3によって計算される点列に関する情報、非最大移動軸修正手段5によって算出される修正量に対応する点列に関する情報、並びに第1加減速決定手段31及び第2加減速決定手段51によって算出された加減速パラメータから、初期経由点算出手段3の出力に対応するロボットの動作コマンド、及び非最大移動軸修正手段5によって算出される修正量に対応する修正動作に対応するロボットの動作コマンドを生成する。
 ここまで、実施の形態15に係る軌道生成装置1Gが加減速パラメータまで決定する場合を説明したが、加減速パラメータは軌道生成装置1Gの外部で決定されてもよい。加減速パラメータが軌道生成装置1Gの外部で決定される場合、軌道生成装置1Gは、第1加減速決定手段31及び第2加減速決定手段51を有しなくてもよい。その際、ロボットコマンド決定手段21は、初期経由点算出手段3によって計算される点列に関する情報と、非最大移動軸修正手段5によって算出される修正量に対応する点列に関する情報とをもとに、初期経由点算出手段3の出力に対応するロボットの動作コマンド、及び非最大移動軸修正手段5によって算出される修正量をもとにする修正動作に対応するロボットの動作コマンドを生成する。
 上述のように、実施の形態15に係る軌道生成装置1Gが非最大移動軸修正手段5までを経て生成された目標軌道を複数の補間動作のコマンドに変換して出力することで、ロボットコントローラは軌道点列を記憶する必要がなくなり、ロボットコントローラの記憶量を削減することができる。
 実施の形態15における第1加減速決定手段31を除く初期経由点算出手段3は、実施の形態1の初期経由点算出手段3である。実施の形態15における第2加減速決定手段51を除く非最大移動軸修正手段5は、実施の形態1から実施の形態7までのいずれの非最大移動軸修正手段5であってもよい。
実施の形態16.
 図25は、実施の形態16に係る軌道生成装置1Hの構成を示す図である。軌道生成装置1Hは、実施の形態1に係る軌道生成装置1が有する全ての構成要素と、加減速パラメータ修正手段22とを有する。つまり、軌道生成装置1Hは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4、非最大移動軸修正手段5及び加減速パラメータ修正手段22を有する。
 実施の形態16では、初期経由点算出手段3は、非最大移動軸を修正する前の補間動作の情報として初期経由点算出手段3によって決定される軌道の加減速パラメータを決定する第1加減速決定手段32を有する。非最大移動軸修正手段5は、非最大移動軸の修正量に対応する補間動作の情報として非最大移動軸修正手段5によって修正される軌道の加減速パラメータを決定する第2加減速決定手段52を有する。加減速パラメータ修正手段22は、第1加減速決定手段32によって決定される加減速パラメータ及び第2加減速決定手段52によって決定される加減速パラメータを修正し、目標軌道及び加減速パラメータを出力する。実施の形態16に係る軌道生成装置1Hは、加減速パラメータ修正手段22によって修正された加減速パラメータを用いて目標軌道を生成する。
 実施の形態16では第1加減速決定手段32は初期経由点算出手段3の中に含まれるが、第1加減速決定手段32は初期経由点算出手段3の後段に設けられてもよい。実施の形態16では第2加減速決定手段52は非最大移動軸修正手段5の中に含まれるが、第2加減速決定手段52は非最大移動軸修正手段5の後段に設けられてもよい。実施の形態16に係る軌道生成装置1Hは、実施の形態15との組合せにより、加減速パラメータ修正手段22によって修正された加減速パラメータをもとに目標軌道をロボットコマンドに変換するロボットコマンド決定手段を有してもよい。
 実施の形態15で述べたように、目標軌道を補間動作のロボットコマンドに変換することを考えたとき、初期経由点算出手段3によって算出される点列に対する補間動作の加減速パラメータは、続けて干渉を回避するために非最大移動軸修正手段5によって算出される修正量に対応する点列に対する補間動作を実行するのに最適ではない可能性がある。例えば、初期経由点算出手段3によって算出される点列に対する補間動作を一つ目のMOVコマンドに変換し、非最大移動軸修正手段5によって算出される修正量に対応する点列に対する補間動作を二つ目のMOVコマンドに変換するとき、非最大移動軸修正手段5によって算出される修正量に対応する点列が決まるよりも前に第1加減速決定手段32が各軸の許容トルクの上限まで使って一つ目のMOVコマンドの加減速パラメータを決めることにより、非最大移動軸修正手段5が算出する修正量に対応する点列に対して行うロボットの加減速に余力が少ない場合が生じる。
 そこで、非最大移動軸修正手段5によって算出される修正量に対応する点列が得られた後、加減速パラメータ修正手段22は、一つ目のMOVコマンド及び二つ目のMOVコマンドでの合計の動作時間が短くなるように、第1加減速決定手段32によって決定される加減速パラメータ及び第2加減速決定手段52によって決定される加減速パラメータを修正する。加減速パラメータ修正手段22が行う加減速パラメータの修正の方法としては、例えば一つ目のMOVコマンドの加減速度を緩和してから、実施の形態6で述べた加減速考慮修正手段8によって行われる計算を再度適用することで、二つ目のMOVコマンドの加減速パラメータを修正することができる。
 加減速パラメータ修正手段22は、実施の形態14で述べたような組合せ最適化手法を適用して、一つ目のMOVコマンドの加減速パラメータと二つ目のMOVコマンドの加減速パラメータとを同時に修正してもよい。その際、図26に示されるように、実施の形態16に係る軌道生成装置1Hは、加減速パラメータ修正手段22が行った修正結果を初期経由点算出手段3及び非最大移動軸修正手段5にフィードバックして、非最大移動軸を修正する前の補間動作及び非最大移動軸の修正量に対応する補間動作を更新することで、繰り返し最適化の計算を実施することも可能である。図26は、実施の形態16に係る軌道生成装置1Hの動作の例を説明するための図である。
 上述のように、実施の形態16に係る軌道生成装置1Hは、干渉を回避するために非最大移動軸修正手段5で得られた修正量に対応する点列に対する補間動作でのロボットの加減速に余力を残すように加減速パラメータを修正することで、動作時間を短縮することができる。
 実施の形態16における第1加減速決定手段32を除く初期経由点算出手段3は、実施の形態1の初期経由点算出手段3である。実施の形態16における第2加減速決定手段52を除く非最大移動軸修正手段5は、実施の形態1から実施の形態7までのいずれの非最大移動軸修正手段5であってもよい。
 図27は、実施の形態1に係る軌道生成装置1が有する最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部の機能がプロセッサ91によって実現される場合のプロセッサ91を示す図である。つまり、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部の機能は、メモリ92に格納されるプログラムを実行するプロセッサ91によって実現されてもよい。プロセッサ91は、CPU(Central Processing Unit)、処理システム、演算システム、マイクロプロセッサ、又はDSP(Digital Signal Processor)である。図27には、メモリ92も示されている。
 最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部の機能がプロセッサ91によって実現される場合、当該一部の機能は、プロセッサ91と、ソフトウェア、ファームウェア、又は、ソフトウェアとファームウェアとの組み合わせとによって実現される。ソフトウェア又はファームウェアは、プログラムとして記述され、メモリ92に格納される。プロセッサ91は、メモリ92に記憶されたプログラムを読み出して実行することにより、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部の機能を実現する。
 最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部の機能がプロセッサ91によって実現される場合、軌道生成装置1は、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5によって実行されるステップの少なくとも一部が結果的に実行されることになるプログラムを格納するためのメモリ92を有する。メモリ92に格納されるプログラムは、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5が実行する手順又は方法の少なくとも一部をコンピュータに実行させるものであるともいえる。
 メモリ92は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable Programmable Read-Only Memory)等の不揮発性若しくは揮発性の半導体メモリ、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク又はDVD(Digital Versatile Disk)等である。
 図28は、実施の形態1に係る軌道生成装置1が有する最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部が処理回路93によって実現される場合の処理回路93を示す図である。つまり、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の少なくとも一部は、処理回路93によって実現されてもよい。
 処理回路93は、専用のハードウェアである。処理回路93は、例えば、単一回路、複合回路、プログラム化されたプロセッサ、並列プログラム化されたプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、又はこれらを組み合わせたものである。
 最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の一部は、残部とは別個の専用のハードウェアによって実現されてもよい。
 最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の複数の機能について、当該複数の機能の一部がソフトウェア又はファームウェアで実現され、当該複数の機能の残部が専用のハードウェアで実現されてもよい。このように、最大移動軸算出手段2、初期経由点算出手段3、干渉領域抽出手段4及び非最大移動軸修正手段5の複数の機能は、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせによって実現することができる。
 実施の形態2から実施の形態6まで、実施の形態11、実施の形態15及び実施の形態16の各非最大移動軸修正手段5の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、メモリ92と同様のメモリである。当該プロセッサは、プロセッサ91と同様のプロセッサである。実施の形態2から実施の形態6までの各非最大移動軸修正手段5は、処理回路によって実現されてもよい。当該処理回路は、処理回路93と同様の処理回路である。
 実施の形態7の動作分割判定手段13、実施の形態8の直線補間挿入判定手段14、実施の形態9の接続条件算出手段15、実施の形態10の制御系影響考慮手段16、実施の形態13の制約条件充足判定手段18、実施の形態14の指令生成手段19、実施の形態14の指令修正手段20、実施の形態15のロボットコマンド決定手段21、実施の形態15の第1加減速決定手段31、実施の形態15の第2加減速決定手段51、実施の形態16の加減速パラメータ修正手段22、実施の形態16の第1加減速決定手段32、及び実施の形態16の第2加減速決定手段52の各々の機能は、メモリに格納されるプログラムを実行するプロセッサによって実現されてもよい。当該メモリは、メモリ92と同様のメモリである。当該プロセッサは、プロセッサ91と同様のプロセッサである。動作分割判定手段13、直線補間挿入判定手段14、接続条件算出手段15、制御系影響考慮手段16、制約条件充足判定手段18、指令生成手段19、指令修正手段20、ロボットコマンド決定手段21、第1加減速決定手段31、第2加減速決定手段51、加減速パラメータ修正手段22、第1加減速決定手段32及び第2加減速決定手段52の各々は、処理回路によって実現されてもよい。当該処理回路は、処理回路93と同様の処理回路である。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略又は変更することも可能である。
 1,1A,1B,1C,1D,1E,1F,1G,1H 軌道生成装置、2 最大移動軸算出手段、3 初期経由点算出手段、4 干渉領域抽出手段、5 非最大移動軸修正手段、6 経由点第1修正手段、7 経由点第2修正手段、8 加減速考慮修正手段、9 回避方向最適化手段、10 回避点最適化手段、11 回避方向回避点最適化手段、12 加減速時間算出手段、13 動作分割判定手段、14 直線補間挿入判定手段、15 接続条件算出手段、16 制御系影響考慮手段、17 制約条件記憶手段、18 制約条件充足判定手段、19 指令生成手段、20 指令修正手段、21 ロボットコマンド決定手段、22 加減速パラメータ修正手段、31,32 第1加減速決定手段、51,52 第2加減速決定手段、91 プロセッサ、92 メモリ、93 処理回路。

Claims (15)

  1.  複数の軸のうちの動作開始点から動作終了点までの動作において最高速度に対する移動距離の比が最大となる最大移動軸を算出する最大移動軸算出手段と、
     前記複数の軸が同期して動作する場合の経由点を生成する初期経由点算出手段と、
     前記初期経由点算出手段によって生成された複数の前記経由点のうちの周囲との干渉が発生する経由点を含む区間を抽出する干渉領域抽出手段と、
     前記複数の軸のうちの前記最大移動軸算出手段によって算出された前記最大移動軸以外の軸である非最大移動軸の位置を修正することで干渉を回避する経由点を生成する非最大移動軸修正手段とを備え、
     前記非最大移動軸修正手段の出力を目標軌道とする
     ことを特徴とする軌道生成装置。
  2.  前記非最大移動軸修正手段は、
      干渉領域内の経由点の前記非最大移動軸の位置を修正する経由点第1修正手段と、
      干渉領域前後の前記非最大移動軸の位置を修正する経由点第2修正手段とを有する
     ことを特徴とする請求項1に記載の軌道生成装置。
  3.  前記非最大移動軸修正手段は、加速度又はトルクの制限を考慮して経由点の前記非最大移動軸の位置を修正する加減速考慮修正手段を有する
     ことを特徴とする請求項1又は2に記載の軌道生成装置。
  4.  前記非最大移動軸修正手段は、前記非最大移動軸の位置を修正する方向を最適化する回避方向最適化手段を有する
     ことを特徴とする請求項1から3のいずれか1項に記載の軌道生成装置。
  5.  前記非最大移動軸修正手段は、回避点を最適化する回避点最適化手段を有する
     ことを特徴とする請求項1に記載の軌道生成装置。
  6.  前記非最大移動軸修正手段は、前記非最大移動軸の速度が変化する場合に前記加減速考慮修正手段が経由点の修正に用いる加減速時間を算出する加減速時間算出手段を更に有する
     ことを特徴とする請求項3に記載の軌道生成装置。
  7.  動作を分割すべきか否かを判定する動作分割判定手段を更に備え、
     前記動作分割判定手段によって動作を分割すべきと判定された場合に生成される複数の動作の各々について軌道を生成し、前記目標軌道を更新する
     ことを特徴とする請求項1から6のいずれか1項に記載の軌道生成装置。
  8.  制御対象の制御点を直線上で動作させる直線補間で干渉を回避すべきか否かを判定する直線補間挿入判定手段を更に備え、
     前記直線補間挿入判定手段が直線補間で干渉を回避すべきと判定した場合に干渉回避動作を直線補間で行う
     ことを特徴とする請求項1から7のいずれか1項に記載の軌道生成装置。
  9.  前記動作開始点と前記動作終了点とのうちの少なくとも一方における目標速度の方向及び大きさの指定をもとに干渉がない場合に各軸が同期して動作する区間の始点、終点である接続地点の位置を算出する接続条件算出手段を更に備え、
     前記接続条件算出手段によって算出された接続地点の位置をもとに軌道を生成する
     ことを特徴とする請求項1から8のいずれか1項に記載の軌道生成装置。
  10.  制御系により制御対象の軌跡が目標の軌道からずれる影響を推定する制御系影響考慮手段を更に備え、
     前記制御系影響考慮手段の出力をもとに前記干渉領域抽出手段の内部の障害物についてのパラメータを変更する
     ことを特徴とする請求項1から9のいずれか1項に記載の軌道生成装置。
  11.  前記非最大移動軸修正手段は、多関節ロボットの運動学に基づく制約条件下で前記非最大移動軸の位置を修正する
     ことを特徴とする請求項1から10のいずれか1項に記載の軌道生成装置。
  12.  前記目標軌道をもとにロボットの制御周期毎の補間動作を生成する指令生成手段と、
     前記補間動作中の前記最大移動軸の加減速度、前記最大移動軸の加減速開始時刻、前記非最大移動軸の加減速度、及び前記非最大移動軸の加減速開始時刻のうちの少なくとも一つを修正する指令修正手段と
     を更に備えることを特徴とする請求項1から11のいずれか1項に記載の軌道生成装置。
  13.  前記初期経由点算出手段によって計算される一つ以上の経由点に対する補間動作と、前記非最大移動軸修正手段によって修正される量に対応する一つ以上の経由点に対する補間動作とをロボットコマンドに変換するロボットコマンド決定手段
     を更に備えることを特徴とする請求項1から12のいずれか1項に記載の軌道生成装置。
  14.  前記初期経由点算出手段によって決定される軌道の加減速パラメータを決定する第1加減速決定手段と、
     前記非最大移動軸修正手段によって修正される軌道の加減速パラメータを決定する第2加減速決定手段とを更に備え、
     前記第1加減速決定手段は、決定した加減速パラメータを前記ロボットコマンド決定手段に送信し、
     前記第2加減速決定手段は、決定した加減速パラメータを前記ロボットコマンド決定手段に送信する
     ことを特徴とする請求項13に記載の軌道生成装置。
  15.  前記初期経由点算出手段によって決定される軌道の加減速パラメータを決定する第1加減速決定手段と、
     前記非最大移動軸修正手段によって修正される軌道の加減速パラメータを決定する第2加減速決定手段と、
     前記第1加減速決定手段によって決定される加減速パラメータ及び前記第2加減速決定手段によって決定される加減速パラメータを修正する加減速パラメータ修正手段とを備え、
     前記加減速パラメータ修正手段によって修正された加減速パラメータを用いて前記目標軌道を生成する
     ことを特徴とする請求項1から13のいずれか1項に記載の軌道生成装置。
PCT/JP2023/002235 2022-02-04 2023-01-25 軌道生成装置 WO2023149298A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2023534202A JP7399357B1 (ja) 2022-02-04 2023-01-25 軌道生成装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-016096 2022-02-04
JP2022016096 2022-02-04

Publications (1)

Publication Number Publication Date
WO2023149298A1 true WO2023149298A1 (ja) 2023-08-10

Family

ID=87552189

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/002235 WO2023149298A1 (ja) 2022-02-04 2023-01-25 軌道生成装置

Country Status (2)

Country Link
JP (1) JP7399357B1 (ja)
WO (1) WO2023149298A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073130A (ja) * 2000-06-13 2002-03-12 Yaskawa Electric Corp ロボットの大域動作経路計画方法とその制御装置
WO2022009333A1 (ja) * 2020-07-08 2022-01-13 三菱電機株式会社 ロボット制御装置、ロボット制御方法、およびロボット制御プログラム
JP2022012887A (ja) * 2020-07-02 2022-01-17 株式会社デンソー 動作経路生成装置、動作経路生成方法および動作経路生成プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002073130A (ja) * 2000-06-13 2002-03-12 Yaskawa Electric Corp ロボットの大域動作経路計画方法とその制御装置
JP2022012887A (ja) * 2020-07-02 2022-01-17 株式会社デンソー 動作経路生成装置、動作経路生成方法および動作経路生成プログラム
WO2022009333A1 (ja) * 2020-07-08 2022-01-13 三菱電機株式会社 ロボット制御装置、ロボット制御方法、およびロボット制御プログラム

Also Published As

Publication number Publication date
JP7399357B1 (ja) 2023-12-15
JPWO2023149298A1 (ja) 2023-08-10

Similar Documents

Publication Publication Date Title
EP2835228B1 (en) Robot apparatus and robot controlling method
US9981383B1 (en) Real-time trajectory generation for actuators of a robot to reduce chance of collision with obstacle(s)
JP2020032481A (ja) ロボット制御装置、ロボット装置、ロボット制御のパラメータ調整方法、およびプログラム
JP6717768B2 (ja) 生産ラインにおける運用を考慮した学習制御を行うロボット及びその制御方法
US20140012419A1 (en) Robot control apparatus and robot control method
JP5916583B2 (ja) 多関節ロボットのウィービング制御装置
CN109202894B (zh) 进行学习控制的机器人及其控制方法
JP2001296912A (ja) モータの速度・加速度決定方法、加減速生成方法、加減速制御方法、加減速制御装置及びモータ制御装置
CN112218744A (zh) 学习多足机器人的敏捷运动的系统和方法
US9676100B2 (en) Control apparatus of robot, robot, and program thereof
CN110095983B (zh) 一种基于路径参数化的移动机器人预测跟踪控制方法
EP4153387A1 (en) Simulation-in-the-loop tuning of robot parameters for system modeling and control
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP2016055404A (ja) 軌道生成方法、軌道生成装置、ロボット装置、プログラム及び記録媒体
JP4269150B2 (ja) ロボット制御装置
US9975244B1 (en) Real-time generation of trajectories for actuators of a robot
WO2023149298A1 (ja) 軌道生成装置
US20230226691A1 (en) Robot controller, robot control method, and storage medium storing robot control program
JP3204042B2 (ja) ロボットの軌道の生成装置
JPH05228860A (ja) ロボットマニピュレータの制御方法
Hinze et al. Nonlinear trajectory control for deformable linear objects based on physics simulation
WO2020149020A1 (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
JP2020011321A (ja) 加速度調整装置及び加速度調整プログラム
Luo et al. Research on trajectory planning and motion control of 7-DoF sawyer manipulator
JP6800384B1 (ja) 位置決め制御装置および位置決め方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2023534202

Country of ref document: JP

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

Ref document number: 23749614

Country of ref document: EP

Kind code of ref document: A1