Trajectory Generation System

The trajectory generation system addresses the issue of generating infeasible trajectories by employing parallel generation of first and second candidates, prioritizing the use of second candidates with higher passability, ensuring timely trajectory generation in environments with obstacles.

JP7826988B2Active Publication Date: 2026-03-10TOYOTA JIDOSHA KK
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing trajectory generation systems using the Rapidly-Exploring Random Tree (RRT) method may continue to generate trajectory candidates that do not satisfy feasibility, leading to a risk of being unable to generate a trajectory that avoids obstacles.

Method used

A trajectory generation system that includes first and second candidate generation units, where the second trajectory candidates are generated at a slower rate but have a higher probability of being passable, allowing the system to select and generate a trajectory using either the first or second candidate based on availability, ensuring a trajectory can be generated without delay.

Benefits of technology

Reduces the risk of failing to generate a trajectory by quickly utilizing passable trajectory candidates, ensuring timely trajectory generation even in environments with obstacles.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007826988000002
    Figure 0007826988000002
  • Figure 0007826988000003
    Figure 0007826988000003
  • Figure 0007826988000004
    Figure 0007826988000004
Patent Text Reader

Abstract

To provide a trajectory generation systems, trajectory generation methods, and program that can suppress the possibility that a trajectory cannot be generated.SOLUTION: A trajectory generation system 100 includes a first candidate generation unit 101, a second candidate generation unit 102, and a trajectory generation unit 103. The first candidate generation unit 101 and the second candidate generation unit 102 continuously generate a first trajectory candidate and a second trajectory candidate concurrently. The second trajectory candidate is generated at a lower generation rate than a generation rate of the first trajectory candidate. The second trajectory candidate is more likely to be passable by a moving body 240 than the first trajectory candidate. The trajectory generation unit 103 generates a trajectory using at least one of the passable first and second trajectory candidates that are generated by at least one of the first and second candidate generation units 101, 102.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a trajectory generation system, a trajectory generation method, and a program. [Background technology]

[0002] The trajectory generation device disclosed in Patent Document 1 includes a calculation unit, an evaluation unit, and a check unit. The calculation unit generates multiple trajectory candidates that can move a moving body or a gripping unit from a start position to a target position. The evaluation unit evaluates the multiple trajectory candidates based on evaluation items. The check unit checks the feasibility of avoiding obstacles in descending order of evaluation for the trajectory candidates, and selects a trajectory candidate that satisfies the feasibility. The calculation unit generates a trajectory using the selected trajectory candidates. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Patent No. 7028151 Summary of the Invention [Problem to be solved by the invention]

[0004] A trajectory generation system using the Rapidly-Exploring Random Tree (RRT) method is known. The RRT method is sometimes used to generate training data in the field of AI (artificial intelligence), such as machine learning and deep learning.

[0005] The inventors of the present application have discovered the following technical problems. In the trajectory generation device disclosed in Patent Document 1, the calculation unit may continue to generate trajectory candidates that do not satisfy the feasibility of avoiding the moving body and the obstruction. In such cases, the calculation unit cannot generate a trajectory until it generates a trajectory candidate that satisfies the feasibility of avoiding the moving body and the obstruction.

[0006] The present disclosure has been made in consideration of the above-mentioned problems, and provides a trajectory generation system, a trajectory generation method, and a program that can reduce the risk of being unable to generate a trajectory. [Means for solving the problem]

[0007] The trajectory generation system according to the present disclosure includes: A trajectory generation system including first and second candidate generation units and a trajectory generation unit, the first and second candidate generation units simultaneously and continuously generate first and second trajectory candidates, respectively; a generation rate at which the second trajectory candidate is generated is lower than a generation rate at which the first trajectory candidate is generated; the second trajectory candidate has a higher probability of being passable by a moving object than the first trajectory candidate; The trajectory generation unit generates a trajectory using at least one of the first and second passable trajectory candidates generated by at least one of the first and second candidate generation units.

[0008] A trajectory generation method according to the present disclosure is a trajectory generation method executed in a trajectory generation system, comprising: a step of simultaneously and continuously generating first and second trajectory candidates, respectively, wherein the speed at which the second trajectory candidate is generated is slower than the speed at which the first trajectory candidate is generated, and the second trajectory candidate has a higher probability of being passable by a moving object than the first trajectory candidate; generating a trajectory using at least one of the first and second trajectory candidates that have been generated and that can be passed by the moving body;

[0009] The program according to the present disclosure is provided for a computer operating in a trajectory generation system, a step of simultaneously and continuously generating first and second trajectory candidates, respectively, wherein the speed at which the second trajectory candidate is generated is slower than the speed at which the first trajectory candidate is generated, and the second trajectory candidate has a higher probability of being passable by a moving object than the first trajectory candidate; generating a trajectory using at least one of the first and second trajectory candidates that have been generated and that can be passed by the moving body; [Effects of the Invention]

[0010] According to the present disclosure, it is possible to reduce the risk of being unable to generate a trajectory. [Brief explanation of the drawings]

[0011] [Figure 1] 1 is a block diagram showing a configuration of a trajectory generation system according to a first embodiment. [Figure 2] 1 is a diagram illustrating a hardware configuration of a moving body according to a first embodiment. [Figure 3] 1 is a block diagram illustrating the configuration of a control system of a moving body according to a first embodiment. [Figure 4] 1 is a block diagram showing a configuration of a specific example of a trajectory generation system according to a first embodiment. [Figure 5] 3 is a flowchart illustrating a trajectory generation method according to the first embodiment. [Figure 6] 3 is a diagram illustrating a trajectory generated by a trajectory generation unit of the trajectory generation system according to the first embodiment. FIG. [Figure 7] FIG. 2 is a diagram showing an example in which a moving body according to the first embodiment moves along a trajectory. [Figure 8] 3 is a diagram illustrating a trajectory generated by a trajectory generation unit of the trajectory generation system according to the first embodiment. FIG. [Figure 9] FIG. 2 is a diagram showing an example in which a moving body according to the first embodiment moves along a trajectory. [Figure 10] 1 is a configuration example included in a trajectory generation system. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. However, the present invention is not limited to the following embodiments. In addition, the following description and drawings have been simplified as appropriate for clarity of explanation.

[0013] (Embodiment 1) A trajectory generation system according to the first embodiment will be described with reference to Fig. 1. The trajectory generation system according to the first embodiment generates a trajectory for moving a gripping unit such as a hand in a moving body such as a robot.

[0014] As shown in FIG. 1, the trajectory generation system 100 includes a first candidate generation unit 101, a second candidate generation unit 102, and a trajectory generation unit 103.

[0015] The first candidate generation unit 101 and the second candidate generation unit 102 simultaneously and continuously generate first and second trajectory candidates, respectively. In other words, the first candidate generation unit 101 continuously generates first trajectory candidates, and the second candidate generation unit 102 continuously generates second trajectory candidates. Furthermore, the generation of the first trajectory candidates by the first candidate generation unit 101 and the generation of the second trajectory candidates by the second candidate generation unit 102 are performed simultaneously and in parallel.

[0016] The second trajectory candidate is generated at a slower rate than the first trajectory candidate, and the second trajectory candidate has a higher probability of being passable by a moving object (not shown) than the first trajectory candidate.

[0017] The trajectory generation unit 103 generates a trajectory using at least one of a first trajectory candidate and a second trajectory candidate, which are generated by at least one of the first candidate generation unit 101 and the second candidate generation unit 102 and through which the moving body can pass. For example, the trajectory generation unit 103 may generate a trajectory using the first trajectory candidate through which the moving object can pass or the second trajectory candidate, depending on the order in which the second trajectory candidate and the first trajectory candidate through which the moving object can pass were generated. Specifically, if the first candidate generation unit 101 generates the first trajectory candidate through which the moving object can pass before the second trajectory candidate is generated, the trajectory generation unit 103 generates a trajectory using the first trajectory candidate through which the moving object can pass. If the second candidate generation unit 102 generates the second trajectory candidate before the first trajectory candidate through which the moving object can pass is generated, the trajectory generation unit 103 generates a trajectory using the second trajectory candidate. Furthermore, when a plurality of passable trajectory candidates are generated by the first candidate generation unit 101 and the second candidate generation unit 102, the trajectory generation unit 103 may generate a trajectory using any one of the plurality of passable trajectory candidates that have been generated. Note that the plurality of passable trajectory candidates that have been generated may include at least two of a first trajectory candidate and a second trajectory candidate that can be passed by the moving body.

[0018] As described above, according to the configuration of the trajectory generation system 100, the trajectory generation unit 103 generates a trajectory using the second trajectory candidate or the first trajectory candidate that can be passed through by the moving object, depending on the order in which the second trajectory candidate and the first trajectory candidate that can be passed through by the moving object are generated. In other words, if the first candidate generation unit 101 is able to generate a first trajectory candidate that can be passed through before the second trajectory candidate is generated, the trajectory generation unit 103 generates a trajectory using the first trajectory candidate that can be passed through. Therefore, the trajectory generation unit 103 can generate a trajectory that can be passed through at a good generation speed. Furthermore, even if the first candidate generation unit 101 is unable to generate a first trajectory candidate that can be passed through, the trajectory generation unit 103 generates a trajectory using the second trajectory candidate. Therefore, it is possible to reduce the risk of being unable to generate a trajectory. Furthermore, it is possible to reduce delays in trajectory generation caused by the first candidate generation unit 101 being unable to generate a first trajectory candidate that can be passed through.

[0019] Next, a specific example of the trajectory generation system according to the first embodiment will be described with reference to Figs. 2-5. First, the configuration of a specific example of a moving body including a trajectory generation device will be described. Then, a method for generating trajectories of the moving body and the gripping unit using the trajectory generation device will be described.

[0020] (Mobile configuration) Fig. 2 is a diagram illustrating an example of a hardware configuration of a moving body 240 according to the first embodiment. Fig. 3 is a block diagram illustrating an example of a configuration of a control system of the moving body 240 according to the first embodiment. As shown in Figs. 2 and 3, the moving body 240 may include a main body unit 10, links 11, joints 12, a gripping unit 20, a driving unit 30, a sensor 40, and a control unit 50. Specifically, the moving body 240 may be a robot, and more specifically, may be a human support robot (HSR) that is safe, small, and performs physical tasks.

[0021] The main body 10 constitutes the trunk of the moving body 240. The gripping unit 20 of the moving body 240 is attached to the main body 10. In addition, a driving unit 30 for moving the main body 10, such as wheels and a motor for rotating the wheels, is attached to the bottom of the main body 10. For example, the main body 10 moves by the rotation of the wheels. Note that the driving unit 30 for moving the main body 10 is not limited to wheels and a motor for rotating the wheels, and may also be legs for walking on two legs, etc.

[0022] The link 11 and the joint 12 are provided between the main body 10 and the gripping unit 20. The link 11 and the joint 12 attach the gripping unit 20 to the main body 10. The link 11 is, for example, a rod-shaped member, and functions as a bone. The joint 12 connects members such as between the main body 10 and the link 11, between the links 11, and between the link 11 and the gripping unit 20 in a rotatable or translatable manner. The joint 12 is provided with a driving unit 30. The driving unit 30 of the joint 12 is, for example, an actuator. The joint 12 rotates or translates when driven by the driving unit 30.

[0023] The gripping unit 20 is, for example, a robot hand. The gripping unit 20 is attached to the main body 10 via a link 11 and a joint 12. Therefore, the gripping unit 20 moves by the rotation or translation of the joint 12.

[0024] The drive unit 30 includes wheels attached to the lower part of the main body 10, a motor for rotating the wheels, and an actuator for rotating or translating the joint 12. When the main body 10 moves, the gripping unit 20 also moves.

[0025] The sensor 40 detects the position of the moving object 240. Specifically, the sensor 40 detects the positions of the main body 10 and the gripping unit 20. For example, the sensor 40 is a camera 13 attached to the upper part of the main body 10 and capturing images of the main body 10, the gripping unit 20, and their surroundings. The camera 13 is attached to the main body 10 via a joint 12. The imaging direction of the camera 13 can be changed by a drive unit 30 of the joint 12. The sensor 40 may also be a camera 13 attached to the gripping unit 20. The camera 13 of the gripping unit 20 captures an image of an object to be grasped. The imaging direction of the camera 13 of the gripping unit 20 can be changed by moving the gripping unit 20. The camera 13 has a variable angle of view and can capture images of nearby objects and distant objects. The sensor 40 detects the positions of the main body 10 and the gripping unit 20 based on the captured images.

[0026] The sensor 40 may be an encoder provided on the motor and actuator in the drive unit 30. The sensor 40 may detect the positions of the main body unit 10 and the grip unit 20 based on the measured rotation signal or translational displacement signal. Furthermore, the sensor 40 acquires the rotation angle or translational displacement of the joint 12. The sensor 40 outputs the detected position information, rotational angle information, and translational displacement to the control unit 50.

[0027] The sensor 40 also detects the speed (speed and direction) and angular velocity (speed and direction) of the moving object 240. Specifically, the sensor 40 detects the speed and angular velocity of the main body 10 and the grip part 20. The sensor 40 may detect the speed and angular velocity of the main body 10 and the grip part 20 from multiple images captured at predetermined intervals by the camera 13, or may detect the speed and angular velocity of the main body 10 and the grip part 20 by encoders provided on the motor and actuator. The sensor 40 outputs the detected speed information and angular velocity information to the control part 50.

[0028] The control unit 50 controls the operation of the moving body 240. The control unit 50 controls the movement of the main body unit 10 and the grip unit 20 based on the position, rotation angle, velocity (speed and direction), and angular velocity (speed and direction) of the main body unit 10 and the grip unit 20 detected by the sensor 40. Specifically, the control unit 50 controls the movement of the main body unit 10 and the grip unit 20 by controlling the angular velocity or translational velocity of the rotation of the motor and the joint 12. The control unit 50 is, for example, a general-purpose computer. The control unit 50 acquires various information from external devices via a communication interface.

[0029] (Configuration of trajectory generation system) Fig. 4 is a block diagram illustrating the configuration of a trajectory generation system 200 according to the first embodiment. As shown in Fig. 4, the trajectory generation system 200 includes a first candidate generation device 210, a second candidate generation device 220, a trajectory generation device 230, and a second check unit 250. The trajectory generation system 200 may be mounted on the moving object 240 shown in Figs. 2 and 3, or may be provided at a location remote from the moving object 240. The first candidate generation device 210, the second candidate generation device 220, the trajectory generation device 230, and the second check unit 250 may each be configured by a computer. The computer includes an arithmetic processing unit, a storage device, a communication interface, etc.

[0030] The first candidate generation device 210 includes a first candidate generation unit 211, an evaluation unit 212, a first check unit 213, and a first optimization unit 214. A predetermined timeout period is set for each of the processes performed by the first candidate generation unit 211, the evaluation unit 212, the first check unit 213, and the first optimization unit 214. This sets upper limits on the processing time for each of the first candidate generation unit 211, the evaluation unit 212, the first check unit 213, and the first optimization unit 214, thereby ensuring real-time performance.

[0031] The first candidate generation unit 211 is a specific example of the first candidate generation unit 101 shown in Fig. 1. The first candidate generation unit 211 performs calculations to generate a first trajectory candidate for moving the moving object 240 or the grip unit 20 of the moving object 240 shown in Fig. 2 from a start position S to a target position G. Specifically, the first candidate generation unit 211 generates a plurality of first trajectory candidates, and uses the generated plurality of first trajectory candidates to generate a first trajectory candidate for moving from the start position S to the target position G.

[0032] The first candidate generating unit 211 performs a calculation to generate a plurality of first trajectory candidates to a target area GA including the target position G and the vicinity of the target position G shown in FIG. 2. The generated plurality of first trajectory candidates can be a trajectory 70 to the target position G. The first trajectory candidates can be connected to the trajectory 70 along which the moving body 240 or the gripping unit 20 moves in real time. The generated plurality of first trajectory candidates may number in the hundreds, for example.

[0033] When generating multiple first trajectory candidates, the first candidate generation unit 211 may not generate a first trajectory candidate that becomes the trajectory 70 toward a single point, the target position G, but may first generate multiple micro-trajectory candidates toward a target area GA having a certain range that includes the target position G and its vicinity. The micro-trajectory candidate generated in this manner is an intermediate point on the trajectory 70. The first candidate generation unit 211 may also generate another micro-trajectory candidate extending from the end point of the generated micro-trajectory candidate. Furthermore, the first candidate generation unit 211 may generate multiple first trajectory candidates by repeating this generation process. The neighborhood range may change for each calculation. For example, if the target position G is far away, the neighborhood range may be wide, and if the target position G is close, the neighborhood range may be narrow. Note that the first candidate generation unit 211 may generate a predetermined number of trajectory candidates toward a single point, the target position G, and then generate the above-mentioned micro-trajectory candidate. This allows the first candidate generation unit 211 to quickly generate trajectory candidates in an environment without interference. The number of interpolation points may be set to a predetermined value, for example, 100. The number of interpolation points may be set according to the probability that it is determined that the moving body 240 can avoid an obstacle and pass through the first trajectory candidate within a predetermined time. The range of the vicinity may be determined in association with a predetermined gripping condition. By generating multiple minute trajectory candidates toward the target area GA, it is possible to generate a first trajectory candidate that moves the moving body 240 and the gripping unit 20 in real time while maintaining a certain degree of accuracy as a potential trajectory 70.

[0034] The first candidate generator 211 may generate multiple first trajectory candidates with multiple degrees of freedom associated with predetermined gripping conditions. The predetermined gripping conditions refer to, for example, conditions that the position and posture of the moving body 240, the positions of the links 11, the rotation angles and translational displacements of the joints 12, and the angle of view of the camera 13 are kept within predetermined ranges. Multiple degrees of freedom are associated with the predetermined gripping conditions. For example, the condition that the position of the moving body 240 is kept within a predetermined range can be set with multiple degrees of freedom associated with multiple positions within the predetermined range. For example, the condition that the rotation angle, translational or translational displacement of the joints 12 is kept within a predetermined range can be set with multiple degrees of freedom associated with multiple angles or translational displacements within the predetermined range.

[0035] The grasping conditions used by the first candidate generation device 210 according to the first embodiment are, for example, four constraint conditions. The four constraint conditions are a goal hard constraint condition, a goal soft constraint condition, a path hard constraint condition, and a path soft constraint condition. The goal hard constraint condition and the goal soft constraint condition refer to constraint conditions when the grasping unit 20 grasps the object to be grasped. The path hard constraint condition and the path soft constraint condition refer to constraint conditions of the trajectory 70 until the grasping unit 20 grasps the object to be grasped.

[0036] The hard constraint condition of the goal refers to, for example, the state that the moving body 240 and the gripping unit 20 must be in at the target position G of the trajectory 70. Specifically, the gripping unit 20 must be positioned in a position where it can grip the object to be gripped. The soft constraint condition of the goal refers to, for example, the state that the moving body 240 and the gripping unit 20 should preferably satisfy at the target position G of the trajectory 70. Specifically, the posture of the moving body 240 should not be overly extended.

[0037] The hard constraint conditions of the path refer to, for example, the states that the moving body 240 and the gripping unit 20 must always take along the entire trajectory 70. Specifically, when pulling out a drawer of a desk or the like, the gripping unit 20 must take a straight trajectory. The soft constraint conditions of the path refer to, for example, the states that the moving body 240 and the gripping unit 20 should preferably satisfy along the entire trajectory 70. Specifically, the moving body 240 should move its hands as little as possible while moving.

[0038] The first candidate generation unit 211 generates a plurality of first trajectory candidates within a range that can be calculated within a predetermined period of time. The predetermined period is, for example, a period during which the first candidate generation unit 211 generates several hundred first trajectory candidates. The first candidate generation unit 211 periodically generates a plurality of first trajectory candidates every predetermined period of time. The first candidate generation unit 211 may also generate a plurality of first trajectory candidates within a range that can be calculated with a predetermined amount of calculation processing. Furthermore, the first candidate generation unit 211 may generate a plurality of first trajectory candidates within a range that can be calculated a predetermined number of first trajectory candidates. In this way, the first candidate generation unit 211 may generate a plurality of first trajectory candidates up to the target position G and the target area GA including the vicinity of the target position G with a plurality of degrees of freedom associated with predetermined gripping conditions within a range that can be calculated within a predetermined period of time, a range that can be calculated with a predetermined amount of calculation processing, or a range that can calculate a predetermined number of first trajectory candidates. The predetermined period, the predetermined amount of calculation processing, and the predetermined number may be set to a predetermined value as long as they are capable of generating a plurality of first trajectory candidates.

[0039] For example, a plurality of first trajectory candidates are generated within a predetermined period. Then, a trajectory 70 is selected from the plurality of first trajectory candidates before the predetermined period is completed. The trajectory 70 along which the moving body 240 or the grip unit 20 moves during the predetermined period is the trajectory 70 generated during the predetermined period immediately preceding the predetermined period. In this manner, the first candidate generation unit 211 periodically generates a plurality of first trajectory candidates that can be connected to the trajectory 70 of the current predetermined period in the next cycle. The first candidate generation unit 211 may generate as many trajectory candidates that satisfy predetermined hard constraint conditions as one predetermined period allows.

[0040] The evaluation unit 212 evaluates the first trajectory candidates. Specifically, the evaluation unit 212 evaluates and ranks the generated multiple first trajectory candidates based on evaluation criteria. The evaluation criteria include a trajectory length condition. The trajectory length is the length along the first trajectory candidate. The trajectory length may be calculated by weighting each joint 12. Furthermore, the trajectory length may be calculated by particularly weighting the configuration of the main body unit 10 side among the components of the moving body 240. This may reduce the movement of the configuration of the main body unit 10 side and stabilize the movement of the configuration of the grip unit 20 side. The evaluation unit 212 may sort the multiple first trajectory candidates in order of shortest trajectory length. Furthermore, the evaluation criteria used by the evaluation unit 212 for ranking may include, for example, soft constraint conditions that are preferably satisfied as much as possible.

[0041] The first check unit 213 determines whether the moving object 240 can pass through the first trajectory candidate while avoiding the interfering object. The first check unit 213 performs this determination in order of the first trajectory candidate with the highest evaluation among the multiple first trajectory candidates evaluated by the evaluation unit 212. The first check unit 213 may perform this determination using environmental information acquired by the acquisition unit 231 (described later). 3D interference determination is performed. The first check unit 213 may determine each point included in the first trajectory candidate as discretely as possible. For example, if the first trajectory candidate includes N+1 points, the first check unit 213 determines each point in the order of 0, N, N / 2, N / 4, 3N / 4, .... If the moving object 240 does not interfere with the interfering object at the determined Kth point, it is highly likely that the moving object 240 will not interfere with the interfering object at points surrounding the Kth point, such as the K-1th point and the K+1th point. Therefore, it is possible to ensure the accuracy of the determination while suppressing the number of points to be determined, and the determination can be performed efficiently. The first check unit 213 selects the first trajectory candidate that is determined to be passable by the moving object 240 while avoiding the obstacle.

[0042] The first candidate generation unit 211 may generate a trajectory using the first trajectory candidate selected by the first check unit 213. Specifically, the first candidate generation unit 211 periodically connects a part of the first trajectory candidate selected by the first check unit 213 on the side of the start position S to the start position S or the immediately preceding micro-trajectory at predetermined intervals as a micro-trajectory. Specifically, the first candidate generation unit 211 connects, by a predetermined time point, a part of the first trajectory candidate on the side of the start position S to the first trajectory candidate generated by the predetermined time point as a micro-trajectory along which the moving body 240 or the gripping unit 20 will move within a predetermined period from the predetermined time point. Note that the first candidate generation unit 211 may generate, from the beginning, a trajectory that connects to the micro-trajectory along which the moving body 240 or the gripping unit 20 will move within a predetermined time. In other words, all trajectories evaluated by the evaluation unit 212 are trajectories that connect to the micro-trajectories.

[0043] As a result, the first candidate generating unit 211 generates a first trajectory candidate by periodically connecting a plurality of minute trajectories in order starting from the start position S. The minute trajectory is a portion of the first trajectory candidate along which the moving body 240 or the grip unit 20 moves within a predetermined period of time.

[0044] The first optimization unit 214 optimizes the drive of the moving body 240 or the gripping unit 20 so that the moving body 240 and the gripping unit 20 can move along the generated trajectory at the fastest allowable speed. Specifically, the first optimization unit 214 adjusts the drive unit 30 to optimize the drive of the main body 10, the links 11, the joints 12, and the camera 13. The first optimization unit 214 optimizes the drive of the drive unit 30 so that the first optimization unit 214 and the gripping unit 20 can actually move along the trajectory 70 indicated by the generated first trajectory candidate at the fastest allowable speed. The first optimization unit 214 may also perform an optimization process and assign time information to the first trajectory candidate. Specifically, the first optimization unit 214 may perform time optimization of a multi-point trajectory that takes into account the current position and speed of the joints 12, which is a high-speed process. More specifically, the first optimization unit 214 may perform optimization processing on the first trajectory candidate without time information so that the first trajectory candidate operates in a shorter time period, taking into account the acceleration constraints of the driving unit 30. The first optimization unit 214 sends this optimized first trajectory candidate to the trajectory generation device 230.

[0045] The second candidate generating device 220 includes a second candidate generating unit 221 and a second optimizing unit 222 .

[0046] The second candidate generation unit 221 is a specific example of the second candidate generation unit 102 shown in FIG. 1. The second candidate generation unit 221 calculates the second trajectory candidate using the RRT (Rapidly-Exploring Random Tree) method. Data required for calculation using the RRT method may be stored in advance in the storage device of the second candidate generation device 220. The second trajectory candidate may satisfy predetermined constraints. The second trajectory candidate does not include the operation time required for the moving object 240 to move.

[0047] The second optimization unit 222 has the same configuration as the first optimization unit 214. As described above, the second trajectory candidate does not include the operation time required for the moving object 240 to move, so the second optimization unit 222 may perform optimization and add time information to the second trajectory candidate. The second optimization unit 222 sends this optimized second trajectory candidate to the trajectory generation device 230.

[0048] The trajectory generation device 230 includes an acquisition unit 231 and a trajectory generation unit 232 .

[0049] The acquisition unit 231 acquires information necessary for generating the trajectory 70. Such information includes, for example, target moving object information, environmental information, and current state information of the moving object 240. The target moving object information includes, for example, the target position G and posture of the moving object 240, the grip unit 20, or the main body 10, the angle of the joints 12, and translational displacement. The target moving object information may include multiple target positions G. Each piece of the target moving object information may be set within a predetermined range. The environmental information represents the environment in which the moving object 240 is located using a three-dimensional point cloud. The environmental information may be acquired by the sensor 40 shown in FIGS. 2 and 3 or a sensor previously installed in the environment in which the moving object 240 is located. To reduce the processing time of the first check unit 213, the environmental information may be thinned out as appropriate. The current state information of the moving object 240 indicates at least one of the current state of the joints 12 and the movement state of the moving object 240. The state of the joints 12 may include, for example, the angle, translational displacement, and velocity. The current moving state of the moving object 240 is, for example, the position, posture, and speed. The information acquired by the acquisition unit 231 may be output to the first candidate generation device 210 and the second candidate generation device 220 as appropriate. The information acquired by the acquisition unit 231 is used, for example, as the gripping conditions used by the first candidate generation device 210 described above.

[0050] The trajectory generation unit 232 is a specific example of the trajectory generation unit 103 shown in FIG. 1. The first candidate generation unit 211 may have generated a first trajectory candidate that is determined to be passable by the moving object 240 before the second trajectory candidate is generated. In such a case, the trajectory generation unit 232 generates the trajectory 70 using the first trajectory candidate that is determined to be passable by the moving object 240. Furthermore, the second candidate generation unit 221 may have generated a second trajectory candidate before the first trajectory candidate that is passable is generated. In such a case, the trajectory generation unit 232 generates the trajectory 70 using the generated second trajectory candidate. The trajectory generation unit 232 continues to generate the trajectory 70 at a constant cycle.

[0051] The second check unit 250 determines whether the moving body 240 can avoid the interfering object based on the actions performed by the moving body 240. Specifically, the second check unit 250 sorts the actions of the moving body 240 according to the trajectory 70 generated by the trajectory generation unit 232 and the actions currently being performed by the moving body 240 in order of the time it takes for the currently being performed actions to be completed. The second check unit 250 also determines whether the sorted actions can avoid the interfering object. Note that, since the actions of the moving body 240 according to the trajectory 70 can avoid the interfering object, the second check unit 250 may determine only the actions currently being performed by the moving body 240. The second check unit 250 according to the first embodiment is easy to implement by making a determination based on both the actions currently being performed by the moving body 240 and the actions of the moving body 240 according to the trajectory 70 generated by the trajectory generation unit 232. The second check unit 250 sends the trajectory 70 to the moving body 240. The moving body 240 acquires the trajectory 70 and controls each component of the moving body 240 along the trajectory 70 to move from the start position S to the target position G.

[0052] (Trajectory generation method) Next, a trajectory generation method according to the first embodiment will be described with reference to Fig. 5. The trajectory generation method can be implemented using a trajectory generation system 200 shown in Fig. 2.

[0053] A first trajectory candidate and a second trajectory candidate are generated simultaneously in parallel (step ST1).

[0054] Next, it is determined whether or not a first trajectory candidate along which the moving object can pass has been generated (step ST2).

[0055] If a first trajectory candidate that the moving object can pass through is generated (step ST2: YES), a trajectory is generated using the first trajectory candidate that the moving object can pass through (step ST3).

[0056] On the other hand, if the first trajectory candidate along which the moving object can pass has not yet been generated (step ST2: NO), it is determined whether or not the second trajectory candidate has been generated (step ST4).

[0057] If the second trajectory candidate is generated (step ST4: YES), a trajectory is generated using the second trajectory candidate (step ST5). If the second trajectory candidate is not yet generated (step ST4: NO), the process returns to step ST2.

[0058] As described above, a trajectory can be generated. According to the trajectory generation method of the first embodiment, when a first trajectory candidate through which a moving object can pass is generated, a trajectory is generated using the first trajectory candidate through which the moving object can pass. The speed at which the first trajectory candidate is generated is higher than the speed at which the second trajectory candidate is generated. This allows for quick trajectory generation. Furthermore, when a second trajectory candidate is generated before generating the first trajectory candidate through which the moving object can pass, a trajectory is generated using the second trajectory candidate. The second trajectory candidate has a higher probability of being passable by the moving object than the first trajectory candidate. This allows for generation of a trajectory using the second trajectory candidate that has a higher probability of being passable by the moving object, even if it is not possible to generate a first trajectory candidate through which the moving object can pass. In other words, it is possible to reduce the risk of being unable to generate a trajectory.

[0059] According to this trajectory generation method, for example, in an environment with few obstructions, a trajectory is generated using a first trajectory candidate through which the moving object can pass, thereby enabling quick trajectory generation. On the other hand, in an environment with many obstructions, a trajectory is generated using a second trajectory candidate through which the moving object can pass with a high degree of certainty, thereby reducing the risk of being unable to generate a trajectory. Therefore, a trajectory through which the moving object can pass with a high degree of certainty can be generated quickly in response to changes in the position of obstructions. This trajectory generation method is suitable for environments in which the position of obstructions changes, such as a home environment.

[0060] (Calculation example) Next, a calculation example to which the trajectory generation system 200 according to the first embodiment is applied will be described with reference to FIGS.

[0061] Naturally, the right-handed XYZ coordinate system shown in Figure 6 and other drawings is for the convenience of explaining the positional relationships of the components. Normally, the positive Z axis is vertically upward, and the XY plane is the horizontal plane, which is common among the drawings.

[0062] In the calculation example, a trajectory was generated using a trajectory generation system having the same configuration as the trajectory generation system 200. A moving body 240a, which is a specific example of a moving body 240, moves along the generated trajectory. The period for the trajectory generation unit 232 to generate the trajectory 70 was set to 100 msec. Various conditions were set so that the first candidate generation device 210 can operate in many home environments. For example, the number of interpolation points of the first candidate generation unit 211 was set to 100.

[0063] In Comparative Examples 1 and 2, trajectories were generated under the same conditions as in the calculation examples, except for the trajectory generation system. The trajectory generation system used in Comparative Example 1 has the same configuration as the trajectory generation system 200, except for the fact that the second candidate generation device 220 is not provided. The trajectory generation system used in Comparative Example 2 has the same configuration as the trajectory generation system 200, except for the fact that the first candidate generation device 210 is not provided.

[0064] As the experimental environment, we prepared environments E1 and E2 using a 3D model virtual simulator, specifically, the Gazebo simulator.

[0065] As shown in FIGS. 6 and 7, in environment E1, target position G1 is located in an open space on floor surface XY1. When the trajectory generation system starts operating, there is no interfering object OB1, but 0.5 seconds after the trajectory generation system starts operating, the interfering object OB1 appears. The interfering object OB1 is located between start position S1 and target position G1. Target position G1 is 1.5 m forward (in the positive X-axis direction) and 0.2 m in height (in the positive Z-axis direction) from start position S1. In environment E1, gripper 20a of moving body 240a moves along trajectory 70a.

[0066] As shown in FIGS. 8 and 9, in environment E2, target position G2 is located inside interfering object OB2, i.e., in space OB2d surrounded by walls OB2a and OB2b, ceiling OB2c, and floor surface XY2 of interfering object OB2. Target position G2 is located 1.5 m forward (in the positive X-axis direction), 0.2 m to the left (in the positive Y-axis direction), and 0.5 m high (in the positive Z-axis direction) from start position S2. The height of space OB2d is 0.7 m. In environment E1, gripper 20a of moving object 240a moves along trajectory 70b. To move gripper 20 to target position G2, moving object 240a needs to insert gripper 20 into space OB2d. Space OB2d is narrower than the open space in which target position G1 in environment E1 is located. Therefore, it is difficult for the first candidate generating unit 211 to generate a first trajectory candidate that moves the gripping unit 20 to the target position G2 while avoiding the interfering object OB2.

[0067] In the calculation examples and comparative examples 1 and 2, in environments E1 and E2, the trajectory generation system outputs the first trajectory, and the time from when the moving body 240a starts moving to when the moving body 240a reaches the target position from the moving body starting position is measured. The measured time is shown in Table 1. Note that when the first candidate generation unit 211 generates 100 first trajectory candidates and the first check unit 213 determines that the moving body 240 cannot pass through all of the generated first trajectory candidates, it is determined that the passable trajectory cannot be generated.

[0068] [Table 1]

[0069] As shown in Table 1, the operating time in environment E1 according to the calculation example is approximately the same as that according to comparative example 1, and is shorter than that according to comparative example 2. This is partly because the moving object 240a moves along a trajectory generated using the first candidate in the calculation example and comparative example 1, and moves along a trajectory generated using the second candidate in comparative example 2.

[0070] The operation time in the environment E2 according to the calculation example was almost the same as that according to the comparative example 2. The operation time in the environment E2 according to the comparative example 1 could not be measured. This is because the moving body 240a moved along a trajectory generated using the second candidate in the calculation example and the comparative example 2, and the first trajectory candidate in the comparative example 1, which moves the gripper 20 to the target position G2 while avoiding the interfering object OB2, could not be generated.

[0071] (Other embodiments, etc.) The trajectory generation system according to the above-described embodiments may have the following hardware configuration. Fig. 10 shows an example of a configuration included in a trajectory generation system. As described above in the various embodiments, the processing procedures in the trajectory generation system, the present disclosure may also be embodied as a processing method.

[0072] The control device 300 shown in Fig. 10 includes a processor 301 and a memory 302, as well as an interface 303. The configurations of the trajectory generation systems 100 (see Fig. 1) and 200 (see Fig. 4) described in the above embodiments are realized by the processor 301 reading and executing a program stored in the memory 302. In other words, this program is a control program for causing the processor 301 to function as the trajectory generation system 100, 200, or as a part thereof.

[0073] The above-described program includes a set of instructions (or software code) that, when loaded into a computer, causes the computer to perform one or more functions described in the embodiments. The program may be stored in a non-transitory computer-readable medium or a tangible storage medium. By way of example and not limitation, computer-readable medium or tangible storage medium includes random-access memory (RAM), read-only memory (ROM), flash memory, solid-state drive (SSD) or other memory technology, CD-ROM, digital versatile disc (DVD), Blu-ray disc or other optical disk storage, magnetic cassette, magnetic tape, magnetic disk storage or other magnetic storage device. The program may also be transmitted on a transitory computer-readable medium or communication medium. By way of example and not limitation, transitory computer-readable medium or communication medium includes electrical, optical, acoustic, or other forms of propagated signals.

[0074] Furthermore, as the processing procedures in the trajectory generation system 100 and the trajectory generation system 200 have been explained in the various embodiments described above, the present disclosure can also take the form of a trajectory generation method for the trajectory generation system 100 and the trajectory generation system 200. Furthermore, the above-mentioned program can be said to be a program for causing the trajectory generation system 100 and the trajectory generation system 200 to execute such a trajectory generation method.

[0075] The present invention is not limited to the above-described embodiments, and can be modified as appropriate without departing from the spirit of the present invention. Furthermore, the present invention may be implemented by appropriately combining the above-described embodiments and examples thereof. For example, the trajectory generation method according to the first embodiment shown in FIG. 5 may include another step instead of steps ST2 to ST4. In this other step, a trajectory may be generated using at least one of the first and second trajectory candidates generated in step ST1 and through which the moving object 240 can pass. Furthermore, the above-described program may cause the trajectory generation system 100 and the trajectory generation system 200 to execute such a trajectory generation method. [Explanation of symbols]

[0076] 100, 200 Trajectory Generation System 101, 211 First candidate generation unit 102, 221 Second candidate generation unit 103, 232 Trajectory generation part 210 First candidate generation device 212 Evaluation Department 213 First Check Section 214 First Optimization Section 220 Second candidate generation device 222 Second Optimization Section 230 Trajectory generator 231 Acquisition Department 232 Trajectory generation part 240, 240a Mobile 250 Second Check Section 300 control device 301 processor 302 memory 303 Interface 10 Main body 11 Links 12 joints 13 Camera 20 Gripping part 30 Drive unit 40 sensors 50 control section 70, 70a, 70b orbit E1 and E2 environments S, S1, S2 starting positions Target locations G, G1, G2 GA target area OB1, OB2 Interference OB2a, OB2b wall OB2c Patio OB2d space ST1, ST2, ST3, ST4, ST5 ステップ XY1 and XY2 bed surfaces

Claims

1. A trajectory generation system including first and second candidate generation units and a trajectory generation unit, the first and second candidate generation units simultaneously and continuously generate first and second trajectory candidates, respectively; a generation rate at which the second trajectory candidate is generated is lower than a generation rate at which the first trajectory candidate is generated; the second trajectory candidate has a higher probability of being passable by a moving object than the first trajectory candidate; the trajectory generation unit generates a trajectory using at least one of the first and second passable trajectory candidates generated by at least one of the first and second candidate generation units; When the first candidate generation unit generates the first trajectory candidate that can be passed through before the second trajectory candidate is generated, the trajectory generation unit generates a trajectory using the first trajectory candidate that can be passed through; a trajectory generation system, wherein when the second candidate generation unit generates the second trajectory candidate before the passable first trajectory candidate is generated, the trajectory generation unit generates a trajectory using the second trajectory candidate.

2. the first candidate generation unit generates the first trajectory candidate by connecting a part of the first trajectory candidate on the start position side, along which the moving body or the gripping part of the moving body moves during a predetermined period, to the start position or the immediately preceding micro-trajectory periodically for each predetermined period, thereby connecting a plurality of the micro-trajectories in order from the start position; The trajectory generation system according to claim 1 .

3. the second candidate generation unit generates the second trajectory candidates using a Rapidly-Exploring Random Tree (RRT) method; The trajectory generation system according to claim 1 .

4. a check unit that determines whether the moving body can pass through the first trajectory candidate while avoiding an obstacle, When the first candidate generation unit generates the first trajectory candidate that is determined to be passable by the moving body before the second trajectory candidate is generated, the trajectory generation unit generates a trajectory using the first trajectory candidate that is determined to be passable by the moving body. The trajectory generation system according to claim 1 or 2.

Citation Information

Patent Citations

  • Running course generating device

    JP1988276610A

  • Holding control method for robot hand

    JP2007237334A

  • Robot system and control method of robot system

    JP2020196058A

  • Track generation device

    JP7028151B2