WO2026004151A1 - 軌道生成装置及び軌道生成方法 - Google Patents
軌道生成装置及び軌道生成方法Info
- Publication number
- WO2026004151A1 WO2026004151A1 PCT/JP2024/030604 JP2024030604W WO2026004151A1 WO 2026004151 A1 WO2026004151 A1 WO 2026004151A1 JP 2024030604 W JP2024030604 W JP 2024030604W WO 2026004151 A1 WO2026004151 A1 WO 2026004151A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- trajectory
- candidate
- candidates
- target
- determined
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/10—Path keeping
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
Definitions
- This disclosure relates to a trajectory generation device and a trajectory generation method.
- Trajectory generation technology has been proposed to enable a mobile body to autonomously navigate to a destination by sensing the surrounding environment of the mobile body and generating a trajectory that avoids collisions with obstacles. Trajectory generation for a mobile body must be performed in real time, taking into account not only the position at which collisions with obstacles are avoided, but also the direction and speed of the avoidance.
- Patent Document 1 proposes a technology that generates trajectory candidates that evolve sequentially in a tree structure in relation to control input and state sequences based on a probabilistic motion model of a moving object, constraints, and target content, and determines a target trajectory from the trajectory candidates based on an evaluation function.
- This technology generates trajectory candidates that evolve sequentially in a tree structure, thereby improving real-time performance and enabling the ability to respond to complex constraints through probabilistic judgment.
- the obstacles may move onto the target trajectory after the target trajectory has been determined.
- generating new trajectory candidates based on a motion model, constraints, and target content so that the moving object can avoid the obstacles poses a problem: generating the trajectory candidates imposes a heavy computational load.
- This disclosure has been made in consideration of the above-mentioned problems, and aims to provide technology that can reduce the computational load associated with generating trajectory candidates.
- the trajectory generation device comprises a behavior planning unit that generates target content and constraints for the movement of a moving body, a trajectory candidate generation unit that generates tree-structured trajectory candidates that are sequentially expanded based on the target content and the constraints, and a target trajectory determination unit that determines a target trajectory along which the moving body should move from the trajectory candidates based on evaluation values of evaluation functions of the trajectory candidates, and the trajectory candidate generation unit generates new trajectory candidates that can be determined as the new target trajectory based on a portion of non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidates determined as the target trajectory out of multiple trajectory candidates generated in the past.
- a new trajectory candidate that can be determined as a new target trajectory is generated based on a portion of non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidate determined as the target trajectory from among multiple trajectory candidates generated in the past. This configuration reduces the computational load associated with generating trajectory candidates.
- FIG. 1 is a plan view showing a moving body on which a trajectory generation device according to a first embodiment is mounted; 1 is a side view showing a moving body on which a trajectory generation device according to a first embodiment is mounted.
- FIG. 2 is a diagram showing an example of a map generated by the trajectory generation device according to the first embodiment.
- 1 is a block diagram showing a configuration of a trajectory generation device according to a first embodiment;
- FIG. 2 is a diagram showing a coordinate system used in the trajectory generation device according to the first embodiment.
- FIG. 4 is a diagram illustrating an operation of the trajectory generation device according to the first embodiment.
- FIG. 10 is a diagram illustrating the operation of a related device.
- FIG. 4 is a diagram illustrating an operation of the trajectory generation device according to the first embodiment.
- FIG. 10 is a block diagram showing a configuration of a trajectory generation device according to a second embodiment.
- FIG. 10 is a diagram illustrating the operation of the trajectory generation device according to the second embodiment.
- FIG. 10 is a diagram illustrating the operation of the trajectory generation device according to the second embodiment.
- FIG. 10 is a block diagram showing a hardware configuration of a trajectory generation device according to another modified example.
- FIG. 10 is a block diagram showing a hardware configuration of a trajectory generation device according to another modified example.
- First Embodiment 1 and 2 are a plan view and a side view, respectively, showing a moving body 1 on which a trajectory generation device according to the first embodiment is mounted.
- the mobile object 1 includes a control device 10, wheels 101, an actuator 102, and a battery 103.
- the actuator 102 converts the electric power obtained from the battery 103 into driving force and provides this driving force to the wheels 101.
- the three wheels 101 are arranged at intervals of approximately 120° around the circumferential direction from the center of the mobile body 1, and the three actuators 102 can rotate each of the three wheels 101 independently.
- the mobile body 1 is not limited to this, and may be, for example, a differential two-wheel mobile body, a legged mobile robot, a drone, or an automobile.
- a differential two-wheel mobile body has two wheels that can rotate independently, and moves straight and turns by utilizing the difference in rotational speed between each wheel.
- the mobile object 1 further includes a wheel angle sensor 111 shown in FIG. 1, and an optical range sensor 112 and a depth camera 113 shown in FIG. 2. Although not shown, the wheel angle sensor 111, the optical range sensor 112, and the depth camera 113 are connected to the control device 10 so as to be able to communicate with each other.
- the wheel angle sensor 111 is mounted on the wheel axle and detects the amount of rotation of the wheel 101.
- the wheel angle sensor 111 is configured, for example, by a rotary encoder.
- the control device 10 calculates the amount of movement of the mobile object 1 based on the measured amount of rotation.
- the optical range sensor 112 measures the physical shape data of the space in the surrounding environment of the mobile object 1 along a scanning plane.
- the control device 10 creates a map of the surrounding environment, including obstacles, based on the measured shape data, and estimates the position of the mobile object 1 on the map by referencing the created map. Note that the control device 10 may also estimate the position of the mobile object 1 on the map by referencing a map created in advance, such as a default map.
- the depth camera 113 measures the physical shape data of the space around the mobile object 1 as range information along with the image.
- the control device 10 uses the range information measured by the depth camera 113 to supplement the shape data on the scanning plane measured by the optical range sensor 112, i.e., the shape data cut out from a plane in three-dimensional space. This allows the control device 10 to create a more accurate map of the surrounding environment, including obstacles.
- Figure 3 is a diagram showing an example of a map generated by the control device 10.
- the physical shape data of the space obtained by the optical range sensor 112 or the like includes the shape of an obstacle 500, such as a person 500a or an object 500b, that impedes the movement of the mobile body 1.
- the control device 10 determines that the obstacle 500 is an object that the mobile body 1 should avoid, and controls the actuator 102 based on the determination result.
- the obstacle 500 will be described as a person 500a or an object 500b, but it is not limited to these as long as it impedes the movement of the mobile body 1.
- FIG. 4 is a block diagram showing the configuration of a trajectory generation device 300 according to the first embodiment, which is realized by the control device 10.
- the driving device 100 includes the wheels 101, actuators 102, and battery 103 described above
- the observation device 200 includes the wheel angle sensors 111, optical range sensors 112, and depth cameras 113 described above, but these are not limited to these.
- the components of the driving device 100 may be modified to suit the environment in which the mobile object 1 moves
- the components of the observation device 200 may be modified to suit the method of obtaining shape data in the environment in which the mobile object 1 moves.
- the control device 10 includes a processor and memory, which will be described later, and the functions of the trajectory generation device 300 are realized when the processor executes a program stored in the memory.
- the control device 10 has the function of generating a target trajectory along which the moving body should move, and the function of controlling the movement of the moving body 1 based on the target trajectory.
- Such a control device 10 may, for example, be an embedded computer mounted on the moving body 1.
- the trajectory generation device 300 in FIG. 4 includes a behavior planning unit 310 and an operation planning unit 320.
- the behavior planning unit 310 generates target content and constraints for the movement of the mobile object 1
- the operation planning unit 320 generates a target trajectory along which the mobile object should move based on the generated target content and constraints.
- the behavior planning unit 310 includes a state estimation unit 311, a movement target calculation unit 312, and a state constraint calculation unit 313.
- the state estimation unit 311 estimates self-position information indicating the position of the moving object 1 from the map in Figure 3.
- the state estimation unit 311 outputs the estimated self-position information to the movement target calculation unit 312 and the motion planning unit 320.
- the movement target calculation unit 312 generates target content to be achieved by the movement of the moving body 1 based on the self-position information output from the state estimation unit 311 and obstacle information, which is information about obstacles 500 obtained from the map in Figure 3.
- the target content includes, for example, the reference trajectory of the moving body 1, the target point to be reached by the moving body 1, and information about obstacles 500 to be avoided by the moving body 1.
- the movement target calculation unit 312 outputs the generated target content to the motion planning unit 320.
- the state constraint calculation unit 313 generates constraint information, which is a constraint on the moving body 1, from the map in FIG. 3 and outputs it to the operation planning unit 320.
- the constraint information includes, for example, relative positions between the moving body 1 and the obstacle 500, where there is a certain possibility that the moving body 1 will be interfered with by the obstacle 500 and where the moving body 1 should not be located in relation to the obstacle 500.
- the state constraint calculation unit 313 may generate constraint information including the relative positions based on the position of the moving body 1, the position of the obstacle 500, and the shape of the obstacle 500, which are included in the self-position information and obstacle information, etc.
- the state constraint calculation unit 313 not only outputs constraint information to the motion planning unit 320, but also outputs a mathematical model for generating trajectory candidates for the moving body 1 to the motion planning unit 320.
- the mathematical model may be output during the initial operation of the moving body 1 and the trajectory generation device 300. However, if the motion planning unit 320 has a mathematical model by default, the state constraint calculation unit 313 does not need to output the mathematical model to the motion planning unit 320.
- the mathematical model will be explained in detail later.
- the behavior planning unit 310 generated various pieces of information to be output to the operation planning unit 320 from the map in FIG. 3, but this is not limited to this.
- the behavior planning unit 310 may generate various pieces of information based on information obtained directly from the observation device 200, such as the relative position obtained from the optical range sensor 112.
- the behavior planning unit 310 may generate new information based on information obtained directly from one or more sensors of the observation device 200, and then generate various pieces of information based on the generated new information.
- the behavior planning unit 310 may generate various types of information based on the calculation results of software that uses values that mathematically represent phenomena, rather than using information obtained directly from the observation device 200. For example, the behavior planning unit 310 may place a virtual obstacle 500 on a map and generate constraint information, or may generate constraint information assuming that an obstacle 500 will appear probabilistically from outside the observation range of the observation device 200. Also, for example, the behavior planning unit 310 may generate a trajectory of the obstacle 500 based on a model, and generate constraint information taking this trajectory into consideration.
- the motion planning unit 320 includes a trajectory candidate generation unit 321, a target trajectory determination unit 322, and a target trajectory storage unit 323.
- the trajectory candidate generation unit 321 generates trajectory candidates in a tree structure that unfolds sequentially based on the self-position information, target content, constraint information, and mathematical model output from the behavior planning unit 310. Note that if the target content and constraint information are expressed as the relative position between the mobile body 1 and the obstacle 500, which already reflects the self-position information, the trajectory candidate generation unit 321 may generate trajectory candidates without using the self-position information.
- trajectory candidate generation unit 321 uses Input-Based RRT (Rapidly Exploring Random Trees), which generates a tree-structured trajectory by sampling random inputs in the input space.
- RRT Rapidly Exploring Random Trees
- FIG. 5 is a diagram schematically illustrating the underlying coordinate system.
- the X, Y coordinate system in FIG. 5 is an inertial coordinate system, and ( xr,k , yr ,k ) represents the position of the center of gravity of the moving body 1 in the inertial coordinate system at a certain time step k.
- (xr ,k , yr ,k ) does not have to be the position of the center of gravity of the moving body 1 as long as it can represent the position of the moving body 1, and may be, for example, the center point of the shape of the moving body 1, the installation point of the depth camera 113, or the installation point of the optical range sensor 112.
- (v x,k , v y,k ) are the velocities in the X and Y directions of the moving body 1 in the inertial coordinate system at a certain time step k.
- (x o,k , y o,k ) represent the position of the representative point of the obstacle 500 in the inertial coordinate system at a certain time step k.
- the representative point of the obstacle 500 may be one or more points, and may be the point on the obstacle 500 that is the shortest distance from the moving body 1, the center point of the shape of the obstacle 500, or the center of gravity of the obstacle 500, etc.
- the trajectory candidate generation unit 321 applies the initial position of the moving body 1 to (xr ,k , yr ,k ) of the mathematical model of the following equation (1) used for a moving body that can move in all directions, and applies one or more sampled random inputs to ( vx,k+1 , vy ,k+1 ).
- ⁇ t is a discrete time, which corresponds to the interval between time steps. Note that, as will be described later, the mathematical model is not limited to the model expressed by the following equation (1).
- the trajectory candidate generation unit 321 calculates one or more ( xr,k+1 , yr ,k+1 ) from equation (1). Then, the trajectory candidate generation unit 321 determines whether one or more ( xr,k+1 , yr ,k+1 ) satisfy the target content and constraint information.
- the trajectory candidate generation unit 321 determines that ( xr,k+1 , yr ,k+1 ) satisfies the target content and constraint information if (xr ,k+1, yr,k+1) is within a certain range from the reference trajectory, is closer to the target point than (xr,k , yr ,k ), and is not in a relative position where the moving object 1 should not be present in relation to the obstacle 500.
- the trajectory candidate generation unit 321 deletes ( xr,k+1 , yr,k+1 ) that does not satisfy the target content and constraint information, and retains ( xr,k+1 , yr,k+1 ) that satisfies the target content and constraint information. Then, the trajectory candidate generation unit 321 calculates one or more ( xr,k+2 , yr ,k+2 ) in the same manner as above, using ( xr,k+1 , yr ,k+1 ) that is determined to satisfy the target content and constraint information and ( vx,k+2 , vy ,k+2 ) to which one or more random inputs have been applied.
- the trajectory candidate generation unit 321 generates a tree-structured trajectory candidate consisting of ( xr,k , yr ,k ), ( xr,k+1 , yr ,k+1 ), ... that can achieve the target while avoiding the obstacle 500.
- trajectory candidate generation unit 321 may use a method other than Input-Based RRT, as long as it can generate trajectory candidates with a tree structure that is sequentially expanded.
- the trajectory candidate generation unit 321 outputs the generated trajectory candidates to the target trajectory determination unit 322.
- Figure 6 is a diagram showing an example of tree-structured trajectory candidates generated by the trajectory candidate generation unit 321.
- Figure 6 shows trajectory candidates 351a and 351b that branch off from the position of the moving body 1, and trajectory candidate 351c that branches off midway through trajectory candidate 351b.
- trajectory candidate 351 when there is no need to distinguish between trajectory candidates 351a, 351b, and 351c, they may be referred to as trajectory candidate 351.
- Each trajectory candidate 351 includes a node 361 and an edge 371.
- the node 361 includes the state (x (i) r,k , y (i) r,k ) and input (v (i) x,k , v (i) y,k ) of the moving object 1.
- (i) is the index of the node, and k is an index that differs for each time step.
- Edge 371 connects multiple nodes 361.
- the time step of node 361 at the tip of edge 371's arrow is one time step larger than the time step of node 361 at the end of edge 371's arrow, so edge 371 indicates the change in node 361 for one time step.
- the node 361 with the smaller time step is called the parent node, and the node 361 with the larger time step is called the child node.
- a node 361 with one or more branches is called a branch node 362
- a node 361 with no parent node is called a root node 363
- a node 361 with no child node is called a leaf node 364.
- One end of all trajectory candidates 351 is located at the moving body 1, so the root node 363 corresponds to the current position of the moving body 1.
- the trajectory candidate 351 includes multiple nodes 361 connected in time step order, that is, in chronological order.
- the target trajectory determination unit 322 in FIG. 4 determines a target trajectory from the trajectory candidate 351 based on a cost value, which is the evaluation value of the evaluation function of the trajectory candidate 351 generated by the trajectory candidate generation unit 321. For example, if the cost value of the evaluation function decreases as the deviation between the trajectory candidate 351 and the reference trajectory decreases, the target trajectory determination unit 322 may determine the trajectory candidate 351 with the smallest cost value as the target trajectory.
- the cost value of the evaluation function may vary based on at least one of the deviation between the trajectory candidate 351 and the reference trajectory, the magnitude of the acceleration vector of the trajectory candidate 351, the distance between the trajectory candidate 351 and the target point, and the distance between the trajectory candidate 351 and the obstacle 500 to be avoided.
- at least one of A, B, C, ..., and Z means any one of all combinations of one or more types extracted from the group of A, B, C, ..., and Z.
- the cost value of the evaluation function may decrease when the magnitude of the acceleration vector of the trajectory candidate 351 is small, when the distance between the trajectory candidate 351 and the target point is small, or when the distance between the trajectory candidate 351 and the obstacle 500 to be avoided is large.
- the target trajectory determination unit 322 outputs the determined target trajectory to the target trajectory storage unit 323.
- the target trajectory storage unit 323 stores the target trajectory output from the target trajectory determination unit 322.
- the motion planning unit 320 extracts the necessary target trajectories from the target trajectories stored in the target trajectory storage unit 323, and generates a motion plan including the necessary target trajectories. The motion planning unit 320 then generates control information to be used by the drive unit 100 based on the motion plan, and outputs the control information to the drive unit 100. The drive unit 100 moves the mobile body 1 based on the control information, enabling the mobile body 1 to move in accordance with the motion plan.
- Figure 7 is a diagram showing the operation of a device (hereinafter referred to as "related device") related to trajectory generation device 300 according to this embodiment 1.
- the related device has a configuration similar to that of trajectory generation device 300 according to this embodiment 1 described so far.
- the following explanation will be given assuming that Figure 6 shows the state at past time step k, and Figure 7 shows the state at current time step k+1.
- the following explanation will also be given assuming that of trajectory candidates 351a, 351b, and 351c generated at past time step k, trajectory candidate 351a has been determined as the target trajectory.
- trajectory candidate 351a being determined as the target trajectory
- moving body 1 is located at node 361, one edge 371 along trajectory candidate 351a from node 361 where moving body 1 is located in Figure 6.
- obstacle 500 has moved slightly to the left and is now located on trajectory candidate 351a, which is the target trajectory. In this case, moving body 1 needs to avoid obstacle 500, but there is no branch in trajectory candidate 351a, which is the target trajectory, between moving body 1 and obstacle 500 that would allow avoidance of obstacle 500.
- the related device should generate new trajectory candidates based on its own position information, target content, constraint information, and mathematical model, and determine a new target trajectory.
- the mobile body 1 in Figure 7 it is necessary to increase the number of trajectory candidate generation times and generate trajectory candidates that are widely distributed in space, which poses a problem in that generating trajectory candidates imposes a heavy computational load.
- the trajectory generation device 300 is capable of reducing the computational load associated with generating trajectory candidates, as explained below.
- Figure 8 is a diagram showing the operation of trajectory generation device 300 according to the first embodiment. The following explanation will be given assuming that Figure 6 shows the state at past time step k, and Figure 8 shows the state at current time step k+1. The following explanation will also be given assuming that of trajectory candidates 351a, 351b, and 351c generated at past time step k, trajectory candidate 351a has been determined as the target trajectory.
- the trajectory candidate generation unit 321 extracts non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidate determined as the target trajectory, from among multiple trajectory candidates 351 generated in the past.
- the trajectory candidate generation unit 321 then generates tentative trajectory candidates based on a portion of the non-determined trajectory candidates.
- the tentative trajectory candidates are trajectories that serve as the basis for new trajectory candidates that can be determined as new target trajectories by the target trajectory determination unit 322.
- trajectory candidate 351a has been determined as the target trajectory, so the trajectory candidate generation unit 321 generates tentative trajectory candidates based on a portion of trajectory candidates 351b and 351c, which are non-determined trajectory candidates.
- the trajectory candidate generation unit 321 generates a tentative trajectory candidate by connecting the next node, which is the first node of the non-determined trajectory candidate at the time following the current time, with the current node, which is the second node of the target trajectory at the current time.
- the trajectory candidate generation unit 321 generates a tentative trajectory candidate by connecting the next nodes 361b and 361c of the trajectory candidates 351b and 351c at the time step k+2 following the current time step k+1, with the current node 361a of the trajectory candidate 351a at the current time step k+1.
- the node 361 of the trajectory candidate 351 includes the state (x (i) r,k , y (i) r,k ) and input (v (i) x,k , v (i) y,k ) of the moving body 1 as described above.
- the trajectory candidate generation unit 321 updates the input amount of the next node of the non-determined trajectory candidate.
- the trajectory candidate generation unit 321 calculates the provisional input amount (v x,k+1 , v y,k+1 ) of the next node of the non-determined trajectory candidate using the following equation (2).
- (r) is the index of the current node, which is the root node
- k is the current time step
- (x (r) r,k , y (r) r,k ) is the state quantity of the current node
- ( xr,k+1 , yr ,k+1 ) is the state quantity of the next node of the non-determined trajectory candidate.
- the trajectory candidate generation unit 321 determines whether the provisional input amount calculated using equation (2) satisfies the constraints (e.g., upper speed limit). If the provisional input amount satisfies the constraints, the trajectory candidate generation unit 321 updates the input amount of the next node of the non-determined trajectory candidate using the provisional input amount. On the other hand, if the provisional input amount does not satisfy the constraints, the trajectory candidate generation unit 321 excludes the provisional trajectory candidate generated from the non-determined trajectory candidate for which the provisional input amount was calculated.
- the constraints e.g., upper speed limit
- the trajectory candidate generation unit 321 updates the input amount of the next node of the non-determined trajectory candidate and the input amount of the child node of the next node. In this case, the trajectory candidate generation unit 321 determines whether or not it is possible to calculate the input amount uBr,k+1 of the next node of the non-determined trajectory candidate and the input amount uBr ,k+2 of the child node of the next node, using the following equation (3):
- xB , uB , QB , and RB represent the bold x, u, Q, and R in formula (3)
- x ⁇ B and u ⁇ B represent the bold x and u with a ⁇ above them in formula (3).
- xBr is ( xr , yr )
- uBr is ( vx , vy )
- ⁇ is the index of any node 361 from the root node to the leaf node of each trajectory candidate 351, and the capital letter ⁇ represents a set of ⁇ .
- x ⁇ Br and u ⁇ Br are the state quantity and input quantity before updating
- QB and RB are the weights of the state quantity and input quantity, respectively.
- the second and third formulas in formula (3) correspond to constraints.
- the trajectory candidate generation unit 321 can solve the optimization problem of equation (3) and calculate the input amount of the next node of the non-determined trajectory candidate and the input amount of the child node of the next node, it updates the input amount of the corresponding node of the non-determined trajectory candidate using those input amounts.
- the trajectory candidate generation unit 321 cannot solve the optimization problem of equation (3) and cannot calculate the input amount of the next node of the non-determined trajectory candidate and the input amount of the child node of the next node, it excludes the tentative trajectory candidate generated from that non-determined trajectory candidate.
- the trajectory candidate generation unit 321 generates new trajectory candidates that can be determined as new target trajectories by the target trajectory determination unit 322 based on tentative trajectory candidates generated from a portion of the non-determined trajectory candidates and a mathematical model of the moving body 1.
- the trajectory candidate generation unit 321 may acquire expansion nodes from nodes 361 after the current time of any tentative trajectory candidate based on at least one of random, depth (number of extensions) priority, and width (number of branches) priority. Then, the trajectory candidate generation unit 321 may perform processing on the expansion nodes similar to the generation of trajectory candidates using the mathematical model of equation (1), thereby generating new trajectory candidates that can be determined as new target trajectories by the target trajectory determination unit 322.
- the trajectory candidate generation unit 321 can generate a new trajectory candidate that is an extension or branching of the tentative trajectory candidate.
- the example in Figure 8 shows trajectory candidate 351d, which has been generated as a new trajectory candidate from node 361 of trajectory candidate 351b, which is the tentative trajectory candidate.
- the trajectory candidate generation unit 321 may generate new trajectory candidates that can be determined as a new target trajectory by the target trajectory determination unit 322 based on tentative trajectory candidates generated from a portion of the non-determined trajectory candidates, the target trajectory, and the mathematical model of the mobile body 1. For example, the trajectory candidate generation unit 321 may obtain expansion nodes from nodes 361 after the current time of the target trajectory in the same manner as described above, and generate new trajectory candidates by performing processing on the expansion nodes similar to that used to generate trajectory candidates using the mathematical model of equation (1).
- the target trajectory determination unit 322 determines a new target trajectory from the new trajectory candidate based on a cost value, which is the evaluation value of the evaluation function of the new trajectory candidate.
- the trajectory candidate generation unit 321 converts trajectory candidates generated in past time steps so that they can be used as trajectory candidates for the current time step. By using them in this way, the number of trajectory candidates for the current time can be secured even if the processing for generating trajectory candidates for the current time based on self-position information, target content, constraint information, and mathematical models is reduced, thereby reducing the computational load due to the generation of trajectory candidates.
- Fig. 9 is a flowchart showing the operation of the trajectory generation device 300 according to the present embodiment 1. The operation in Fig. 9 may be performed sequentially regardless of whether the obstacle 500 is located on the target trajectory or not, or may be performed when the obstacle 500 is located on the target trajectory.
- step S1 the trajectory candidate generation unit 321 acquires past trajectory candidates.
- step S2 the trajectory candidate generation unit 321 extracts non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidate determined as the target trajectory, from the past trajectory candidates, and generates tentative trajectory candidates based on some of the non-determined trajectory candidates.
- step S3 the trajectory candidate generation unit 321 obtains expansion nodes from among the nodes 361 of the tentative trajectory candidate and target trajectory after the current time step.
- step S4 the trajectory candidate generation unit 321 performs processing on the expansion node similar to the generation of trajectory candidates using the mathematical model of equation (1), thereby generating a new node and connecting it to the expansion node.
- step S5 the trajectory candidate generation unit 321 determines whether the processing of step S3 has been performed a predetermined number of times or more. If it is determined that the processing of step S3 has been performed a predetermined number of times or more, the operation of FIG. 9 ends; if it is determined that the processing of step S3 has not been performed a predetermined number of times or more, the processing proceeds to step S3.
- trajectory generation device 300 of the first embodiment described above new trajectory candidates that can be determined as new target trajectories are generated based on some of the non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidate determined as the target trajectory among the multiple trajectory candidates generated in the past.
- the processing of generating new trajectory candidates based on the self-position information, target content, constraint information, and mathematical model is reduced, the number of new trajectory candidates can be secured, and therefore the calculation load due to the generation of trajectory candidates can be reduced.
- new trajectory candidates are generated based on a portion of the non-determined trajectory candidates and a mathematical model of the moving body. This configuration can improve the quality of the new trajectory candidates.
- a new trajectory candidate is generated by connecting the first node of the non-determined trajectory candidate at the time following the current time with the second node of the target trajectory at the current time.
- the input amount of the first node is updated based on the constraints of the moving object itself, or the input amount of the first node and the input amount of the child node of the first node are updated.
- the mathematical model is the model expressed by equation (1), but it is not limited to this.
- the mathematical model may be a model expressed by the following equation (4) and used for a mobile body that can move in all directions. Then, the trajectory candidate generation unit 321 may calculate the provisional state quantities ( xr,k+1 , yr ,k+1 ) and input quantities ( vx,k+1 , vy ,k+1 ) of the non-determined trajectory candidate using the following equation (5) related to the difference equation.
- the mathematical model may be a model expressed by the following equation (8) and used for a differential two-wheel vehicle. Then, the trajectory candidate generation unit 321 may calculate the provisional state quantities (xr ,k+1 , yr,k+1, ⁇ r,k +1 , ⁇ r ,k+2 ) and input quantities (vk +1 , wk +1 , wk+ 2) of the non-determined trajectory candidate using the following equation (9 ) related to the difference equation.
- the trajectory candidate generation unit 321 generates tentative trajectory candidates based on a portion of the non-determined trajectory candidates, and generates new trajectory candidates that can be determined as a new target trajectory based on the tentative trajectory candidates and the mathematical model.
- the trajectory candidate generation unit 321 may directly generate the tentative trajectory candidates generated based on a portion of the non-determined trajectory candidates as new trajectory candidates that can be determined as a new target trajectory by the target trajectory determination unit 322.
- ⁇ Second Embodiment> 10 is a block diagram showing the configuration of a trajectory generation device 300 according to the second embodiment.
- components that are the same as or similar to the components described above are given the same or similar reference numerals, and different components will be mainly described.
- the configuration of the trajectory generation device 300 in Figure 10 is the same as the configuration of the motion planning unit 320 in Figure 4, with the addition of a motion pattern setting unit 324.
- the motion pattern setting unit 324 sets the motion pattern of the moving body 1.
- Motion patterns are patterns that are assumed as motion and trajectory candidates for the moving body 1, such as stopping temporarily, moving straight, avoiding to the left, avoiding to the right, and retreating. Each motion pattern is defined, for example, by a discrete value or a speed function based on human motion.
- the motion pattern setting unit 324 outputs the motion pattern to the trajectory candidate generation unit 321.
- the trajectory candidate generation unit 321 selects a non-determined trajectory candidate from among multiple non-determined trajectory candidates based on the movement pattern to be used to generate a new trajectory candidate.
- the trajectory candidate generation unit 321 selects a non-determined trajectory candidate from among multiple non-determined trajectory candidates that corresponds to the movement pattern as the non-determined trajectory candidate to be used to generate a new trajectory candidate.
- the trajectory candidate generation unit 321 calculates the similarity between the discrete values of the movement pattern or a speed function based on human movement and the non-determined trajectory candidate, and if the similarity is equal to or greater than a threshold, determines that the non-determined trajectory candidate corresponds to the movement pattern.
- FIGS. 11 and 12 are diagrams illustrating the operation of trajectory generation device 300 according to the second embodiment.
- the following explanation assumes that FIG. 11 shows the state at past time step k, and FIG. 12 shows the state at current time step k+1. Furthermore, the following explanation assumes that of trajectory candidates 351e to 351i generated at past time step k, trajectory candidate 351f is determined as the target trajectory, and trajectory candidates 351f, 351g, and 351h correspond to the movement patterns of a left turn, straight ahead, and a right turn, respectively.
- the trajectory candidate generation unit 321 selects trajectory candidates 351g and 351h that correspond to the movement pattern from among the multiple non-determined trajectory candidates 351e, 351g, 351h, and 351i as provisional trajectory candidates to be used in generating new trajectory candidates. In other words, the trajectory candidate generation unit 321 excludes trajectory candidates 351e and 351i that do not correspond to the movement pattern from the provisional trajectory candidates to be used in generating new trajectory candidates.
- a non-determined trajectory candidate corresponding to the motion pattern of the moving body 1 is selected as a non-determined trajectory candidate to be used for generating a new trajectory candidate.
- This configuration can reduce the calculation load due to the processing of steps S3 to S5 in Fig. 9 and enable the target trajectory determination unit 322 to efficiently determine a target trajectory.
- one non-determined trajectory candidate corresponds to one movement pattern
- the trajectory candidate generation unit 321 may select a non-determined trajectory candidate to be used to generate a new trajectory candidate from among the multiple non-determined trajectory candidates based on the evaluation value of the evaluation function of the non-determined trajectory candidate and the movement pattern.
- the trajectory candidate generation unit 321 may select the non-determined trajectory candidate with the smallest cost value, which is the evaluation value of the evaluation function of the non-determined trajectory candidate, from the multiple non-determined trajectory candidates. For example, when the non-determined trajectory candidate has a large number of nodes, or when the movement distance from the current node to the next node of the non-determined trajectory candidate is small, the cost value of the evaluation function may be small. This configuration can reduce the calculation load due to the processing of steps S3 to S5 in Figure 9, and enable the target trajectory determination unit 322 to efficiently determine the target trajectory.
- the above-described behavior planning unit 310, trajectory candidate generation unit 321, and target trajectory determination unit 322 shown in FIG. 4 are hereinafter referred to as the "behavior planning unit 310, etc.”
- the behavior planning unit 310, etc. are realized by a processing circuit 81 shown in FIG. 13.
- the processing circuit 81 includes: a behavior planning unit 310 that generates target content and constraints for the movement of a moving object; a trajectory candidate generation unit 321 that generates trajectory candidates in a tree structure that are sequentially expanded based on the target content and constraints, and generates new trajectory candidates that can be determined as a new target trajectory based on some non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidates determined as the target trajectory among multiple trajectory candidates generated in the past; and a target trajectory determination unit 322 that determines a target trajectory along which the moving object should move from the trajectory candidates based on evaluation values of evaluation functions of the trajectory candidates.
- the processing circuit 81 may be implemented by dedicated hardware or by a processor that executes a program stored in a memory. Examples of the processor include a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a DSP (Digital Signal Processor).
- the processing circuit 81 may be, 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 of these.
- the functions of each unit, such as the action planning unit 310, may be realized by a circuit with distributed processing circuits, or the functions of each unit may be realized together by a single processing circuit.
- the processing circuit 81 When the processing circuit 81 is a processor, the functions of the behavior planning unit 310 and the like are realized in combination with software and the like.
- Software and the like includes, for example, software, firmware, or software and firmware.
- Software and the like is written as a program and stored in memory. As shown in FIG. 14, the processor 82 applied to the processing circuit 81 realizes the functions of each unit by reading and executing a program stored in memory 83.
- the trajectory generation device 300 includes memory 83 for storing a program that, when executed by the processing circuit 81, ultimately executes the following steps: generating target content and constraints for the movement of a moving object; generating trajectory candidates in a tree structure that are sequentially expanded based on the target content and constraints; determining a target trajectory along which the moving object should move from the trajectory candidates based on the evaluation values of the trajectory candidates' evaluation functions; and generating new trajectory candidates that can be determined as a new target trajectory based on a portion of non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidates determined as the target trajectory among multiple trajectory candidates generated in the past.
- this program can be said to cause a computer to execute the procedures and methods of the behavior planning unit 310 and the like.
- memory 83 may be, for example, non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc), drive devices for these, or any storage medium that will be used in the future.
- RAM Random Access Memory
- ROM Read Only Memory
- flash memory EPROM (Erasable Programmable Read Only Memory), EEPROM (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive), magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD (Digital Versatile Disc), drive devices for these, or any storage medium that will be used in the future.
- EPROM Erasable Programmable Read Only Memory
- EEPROM Electrically Erasable Programmable Read Only Memory
- HDD Hard Disk Drive
- each function of the action planning unit 310, etc. is realized either by hardware or software, etc.
- this is not limited to this, and a configuration in which part of the action planning unit 310, etc. is realized by dedicated hardware and another part is realized by software, etc.
- the function of the action planning unit 310 can be realized by a processing circuit 81 as dedicated hardware, and the other functions can be realized by the processing circuit 81 as a processor 82 reading and executing a program stored in memory 83.
- the processing circuit 81 can realize each of the above-mentioned functions through hardware, software, etc., or a combination of these.
- the trajectory generation device described above can also be applied to a trajectory generation system constructed as a system by appropriately combining a processing device, a communications terminal, the functions of an application installed on at least one of the processing device and communications terminal, and a server.
- Communications terminals include, for example, mobile phones, smartphones, and tablets.
- the functions or components of the trajectory generation device described above may be distributed among the devices that make up the system, or may be concentrated in one of the devices.
- (Appendix 1) a behavior planning unit that generates goal contents and constraints for the movement of the moving object; a trajectory candidate generation unit that generates trajectory candidates in a tree structure that are sequentially developed based on the goal content and the constraints; a target trajectory determination unit that determines a target trajectory along which the moving body should move from the trajectory candidates based on an evaluation value of an evaluation function of the trajectory candidates,
- the trajectory candidate generation unit A trajectory generation device that generates a new trajectory candidate that can be determined as the new target trajectory based on a portion of non-determined trajectory candidates, which are trajectory candidates other than the trajectory candidate determined as the target trajectory, among the multiple trajectory candidates generated in the past.
- the trajectory generation device according to claim 1, The trajectory candidate generation unit a trajectory generation device that generates the new trajectory candidate based on a portion of the non-determined trajectory candidate and the target trajectory;
- the trajectory generation device (Appendix 3) 3.
- the trajectory candidate generation unit a trajectory generation device that generates the new trajectory candidate based on a portion of the non-determined trajectory candidate and a mathematical model of the moving body.
- the trajectory generation device includes a plurality of nodes connected in chronological order;
- the trajectory candidate generation unit a trajectory generation device that generates the new trajectory candidate by connecting a first node at a time next to the current time among the non-determined trajectory candidates and a second node at the current time of the target trajectory.
- a trajectory generation device comprising a motion pattern setting unit that sets a motion pattern of the moving body;
- the trajectory candidate generation unit a trajectory generation device that selects, from the plurality of non-deterministic trajectory candidates, a non-deterministic trajectory candidate to be used for generating the new trajectory candidate, based on the motion pattern.
- the trajectory generation device includes a plurality of nodes connected in chronological order;
- the trajectory candidate generation unit a trajectory generation device that selects, from the plurality of non-deterministic trajectory candidates, a non-deterministic trajectory candidate to be used for generating the new trajectory candidate, based on an evaluation value of an evaluation function of the non-deterministic trajectory candidate and the motion pattern.
- the trajectory candidate generation unit A trajectory generation device that updates an input amount of the first node, or updates an input amount of the first node and an input amount of a child node of the first node, based on constraints of the moving body itself.
- the trajectory generation device is a constraint used for an optimization problem in which the input amount of the second node and the input amount of a child node of the second node are used as reference values.
- Mobile body 300.
- Trajectory generation device 310.
- Action planning unit 321.
- Trajectory candidate generation unit 322.
- Target trajectory determination unit 324.
- Motion pattern setting unit 351. Trajectory candidate.
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Manipulator (AREA)
Abstract
軌道候補の生成による計算負荷を低減可能な技術を提供することを目的とする。軌道生成装置は、目標内容及び制約に基づいて軌道候補を生成する軌道候補生成部と、軌道候補の評価関数の評価値に基づいて、軌道候補から目標軌道を決定する目標軌道決定部とを備える。軌道候補生成部は、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する。
Description
本開示は、軌道生成装置及び軌道生成方法に関する。
移動体を目的地まで自律移動させるために、移動体の周辺状況をセンシングし、障害物との干渉を回避する軌道を生成する軌道生成技術が提案されている。移動体の軌道生成では、障害物との干渉を回避する位置だけでなく、回避の方向及び速度も考慮した軌道生成をリアルタイムに実行する必要がある。
例えば特許文献1には、移動体の確率的な運動モデルと、制約と、目標内容とに基づき、制御入力及び状態のシーケンスに関してツリー構造で逐次的に展開する軌道候補を生成し、評価関数に基づいて軌道候補から目標軌道を決定する技術が提案されている。このような技術によれば、ツリー構造で逐次的に展開する軌道候補を生成することで、リアルタイム性を向上することと、確率的な判定によって複雑な制約に対応することとが実現可能になる。
しかしながら、未来の動作が不確定である障害物が存在する環境下では、目標軌道の決定後に、障害物が目標軌道上に移動する場合がある。このような場合に、移動体が障害物を回避できるように、運動モデルと、制約と、目標内容とに基づいて新たに軌道候補を生成すると、軌道候補の生成に大きな計算負荷が生じてしまうという問題があった。
そこで、本開示は、上記のような問題点に鑑みてなされたものであり、軌道候補の生成による計算負荷を低減可能な技術を提供することを目的とする。
本開示に係る軌道生成装置は、移動体の移動の目標内容及び制約を生成する行動計画部と、前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成する軌道候補生成部と、前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定する目標軌道決定部とを備え、前記軌道候補生成部は、過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する。
本開示によれば、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する。このような構成によれば、軌道候補の生成による計算負荷を低減することができる。本開示の目的、特徴、局面及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。
<実施の形態1>
図1及び図2は、本実施の形態1に係る軌道生成装置が搭載された移動体1をそれぞれ示す平面図及び側面図である。
図1及び図2は、本実施の形態1に係る軌道生成装置が搭載された移動体1をそれぞれ示す平面図及び側面図である。
移動体1は、制御装置10と、車輪101と、アクチュエータ102と、バッテリ103とを備える。アクチュエータ102は、制御装置10の制御によって、バッテリ103から得られた電力を駆動力に変換し、当該駆動力を車輪101に与える。
3つの車輪101は、移動体1の中心から周方向に沿って約120°の間隔で設けられ、3つのアクチュエータ102は3つの車輪101をそれぞれ独立で回転可能である。これにより、図1及び図2の移動体1は、全方向(全方位)に移動可能となっている。なお、移動体1は、これに限定されず、例えば差動二輪移動体、脚式移動ロボット、ドローン、及び、自動車などであってもよい。このうち、差動二輪移動体は、独立して回転可能な2つの車輪を有し、各車輪の回転速度差を利用して直進及び旋回を行う移動体である。
移動体1は、図1の車輪角度センサ111と、図2の光学式測域センサ112及び深度カメラ113とをさらに備える。図示しないが、車輪角度センサ111、光学式測域センサ112及び深度カメラ113は、制御装置10と通信可能に接続されている。
車輪角度センサ111は車輪軸に設けられ、車輪101の回転量を検出する。車輪角度センサ111は、例えばロータリーエンコーダによって構成される。制御装置10は、計測された回転量に基づいて移動体1の移動量を算出する。
光学式測域センサ112は、移動体1の周辺環境における空間の物理的な形状データを走査平面に沿って計測する。制御装置10は、計測された形状データに基づいて、障害物を含む周辺環境の地図を作成し、作成された地図を参照することで、地図上の移動体1の位置などを推定する。なお、制御装置10は、デフォルトの地図などのように予め作成された地図を参照することで、地図上の移動体1の位置を推定してもよい。
深度カメラ113は、移動体1周囲の空間の物理的な形状データを、画像と共に測域情報として計測する。制御装置10は、深度カメラ113で計測された測域情報を用いて、光学式測域センサ112で計測された走査平面上の形状データ、つまり3次元空間内のある平面を切り取った形状データを補う。これにより、制御装置10は、障害物を含む周辺環境の地図をより正確に作成することができる。
図3は、制御装置10で生成される地図の一例を示す図である。光学式測域センサ112などで得られる空間の物理的な形状データは、例えば人500aまたは物500bなどのような、移動体1の走行に対して障害となる障害物500の形状を含む。制御装置10は、障害物500を移動体1が避けるべき対象であると判定し、その判定結果に基づいてアクチュエータ102を制御する。以下では、障害物500は、人500aまたは物500bであるものとして説明するが、移動体1の移動を妨げるものであれば、これらに限ったものではない。
図4は、制御装置10によって実現される本実施の形態1に係る軌道生成装置300の構成を示すブロック図である。本実施の形態1では、駆動装置100は、上述した車輪101、アクチュエータ102及びバッテリ103を備え、観測装置200は、上述した車輪角度センサ111、光学式測域センサ112及び深度カメラ113を備えるが、これらに限ったものではない。例えば、駆動装置100の構成要素は、移動体1が移動する環境に合わせて変更されてもよく、観測装置200の構成要素は、移動体1が移動する環境において形状データを得る方法に合わせて変更されてもよい。
制御装置10は後述するプロセッサ及びメモリを含み、プロセッサがメモリに記憶されたプログラムを実行することによって、軌道生成装置300の機能が実現される。制御装置10は、移動体が移動すべき目標軌道を生成する機能と、目標軌道に基づいて移動体1の移動を制御する機能とを有する。このような制御装置10には、例えば、移動体1に搭載される組み込み計算機などが用いられる。
図4の軌道生成装置300は、行動計画部310と、動作計画部320とを備える。後述するように、行動計画部310は、移動体1の移動の目標内容及び制約を生成し、動作計画部320は、生成された目標内容及び制約に基づいて、移動体が移動すべき目標軌道を生成する。
行動計画部310は、状態推定部311と、移動目標演算部312と、状態制約演算部313とを備える。
状態推定部311は、図3の地図から、移動体1の位置を示す自己位置情報を推定する。状態推定部311は、推定された自己位置情報を、移動目標演算部312及び動作計画部320へ出力する。
移動目標演算部312は、状態推定部311から出力された自己位置情報と、図3の地図から得られる障害物500の情報である障害物情報とに基づいて、移動体1の移動で達成すべき目標内容を生成する。目標内容は、例えば、移動体1の参照軌道、移動体1が到達すべき目標地点、及び、移動体1が回避すべき障害物500の情報を含む。移動目標演算部312は、生成された目標内容を動作計画部320へ出力する。
状態制約演算部313は、図3の地図から、移動体1の制約である制約情報を生成して動作計画部320へ出力する。制約情報は、例えば、移動体1と障害物500との相対位置のうち、移動体1が障害物500によって干渉される一定の可能性があり、障害物500との関係で移動体1が存在すべきでない相対位置を含む。状態制約演算部313は、自己位置情報及び障害物情報などに含まれる、移動体1の位置、障害物500の位置、及び、障害物500の形状に基づいて、当該相対位置を含む制約情報を生成してもよい。
本実施の形態1では、状態制約演算部313は、制約情報を動作計画部320へ出力するだけでなく、移動体1の軌道候補を生成するための数式モデルを動作計画部320へ出力する。数式モデルは、移動体1及び軌道生成装置300の初期動作時に出力されればよい。ただし、動作計画部320が、数式モデルをデフォルトで有している場合には、状態制約演算部313は、数式モデルを動作計画部320へ出力しなくてもよい。数式モデルについては、後で詳細に説明する。
なお以上の説明では、行動計画部310が、図3の地図から、動作計画部320へ出力すべき各種情報を生成したが、これに限ったものではない。例えば、行動計画部310は、光学式測域センサ112から得られる相対位置などの、観測装置200から直接得られる情報に基づいて、各種情報を生成してもよい。また例えば、行動計画部310は、観測装置200の一つ以上のセンサから直接得られる情報に基づいて新たな情報を生成し、生成された新たな情報に基づいて各種情報を生成してもよい。
また、行動計画部310は、観測装置200から直接得られる情報を用いずに、現象を数式化した値を用いるソフトウェアの計算結果に基づいて各種情報を生成してもよい。例えば、行動計画部310は、地図上に仮想的な障害物500を配置して制約情報などを生成したり、観測装置200の観測範囲外から障害物500が確率的に現れるとして制約情報などを生成したりしてもよい。また例えば、行動計画部310は、モデルに基づいて障害物500の軌道を生成し、当該軌道を考慮して制約情報などを生成してもよい。
動作計画部320は、軌道候補生成部321と、目標軌道決定部322と、目標軌道記憶部323とを備える。
軌道候補生成部321は、行動計画部310から出力された自己位置情報、目標内容、制約情報、及び、数式モデルに基づいて、逐次的に展開するツリー構造の軌道候補を生成する。なお、目標内容及び制約情報が、自己位置情報がすでに反映された、移動体1と障害物500との相対位置などで表されている場合には、軌道候補生成部321は、自己位置情報を用いずに軌道候補を生成してもよい。
次に、軌道候補生成部321が、入力空間でランダムな入力をサンプリングすることでツリー構造の軌道を生成するInput-Based RRT(Rapidly Exploring Random Trees)を用いる例について説明する。
図5は、前提となる座標系を模式的に示す図である。図5のX,Yの座標系は慣性座標系であり、(xr,k,yr,k)は、ある時間ステップkにおける慣性座標系での移動体1の重心位置を表す。ただし、(xr,k,yr,k)は移動体1の位置を表すことができれば移動体1の重心位置でなくてもよく、例えば移動体1の形状の中心点、深度カメラ113の設置点、または、光学式測域センサ112の設置点などであってもよい。
(vx,k,vy,k)は、ある時間ステップkにおける慣性座標系での移動体1のX方向及びY方向の速度である。(xo,k,yo,k)は、ある時間ステップkにおける慣性座標系での障害物500の代表点の位置を表す。障害物500の代表点は1点以上であってもよく、障害物500上の移動体1との距離が最短となる点、障害物500の形状の中心点、または、障害物500の重心点などであってもよい。
軌道候補生成部321は、全方向に移動可能な移動体に用いられる次式(1)の数式モデルの(xr,k,yr,k)に移動体1の初期の位置を適用し、(vx,k+1,vy,k+1)に、サンプリングされたランダムな1つ以上の入力を適用する。Δtは離散時間であり、時間ステップの間隔に相当する。なお後述するように、数式モデルは次式(1)で表されるモデルに限ったものではない。
軌道候補生成部321は、式(1)から1つ以上の(xr,k+1,yr,k+1)を算出する。そして、軌道候補生成部321は、1つ以上の(xr,k+1,yr,k+1)が目標内容及び制約情報を満たすか否かを判定する。例えば、軌道候補生成部321は、(xr,k+1,yr,k+1)が、参照軌道から一定範囲内にあり、(xr,k,yr,k)よりも目標地点に近づき、障害物500との関係で移動体1が存在すべきでない相対位置ではない場合に、目標内容及び制約情報を満たすと判定する。
軌道候補生成部321は、目標内容及び制約情報を満たない(xr,k+1,yr,k+1)を削除し、目標内容及び制約情報を満たす(xr,k+1,yr,k+1)を保持する。そして、軌道候補生成部321は、目標内容及び制約情報を満たすと判定された(xr,k+1,yr,k+1)と、ランダムな1つ以上の入力が適用された(vx,k+2,vy,k+2)とを用いて、上記と同様にして1つ以上の(xr,k+2,yr,k+2)を算出する。以上を繰り返すことによって、軌道候補生成部321は、障害物500を回避しつつ、目標を達成することが可能な、(xr,k,yr,k)、(xr,k+1,yr,k+1)、…からなるツリー構造の軌道候補を生成する。
なお、軌道候補生成部321は、逐次的に展開するツリー構造の軌道候補を生成できるのであれば、Input-Based RRT以外の方法を用いてもよい。軌道候補生成部321は、生成された軌道候補を目標軌道決定部322へ出力する。
図6は、軌道候補生成部321で生成されるツリー構造の軌道候補の一例を示す図である。図6には、移動体1の位置から分岐した軌道候補351a,351bと、軌道候補351bの途中から分岐した軌道候補351cとが示されている。以下の説明では便宜上、軌道候補351a,351b,351cを区別しない場合には軌道候補351と記載することもある。
各軌道候補351は、ノード361とエッジ371とを含む。本実施の形態1ではノード361は、移動体1の状態(x(i)
r,k,y(i)
r,k)及び入力(v(i)
x,k,v(i)
y,k)を含む。(i)はノードのインデックスであり、kは時間ステップごとに異なるインデックスである。
エッジ371は、複数のノード361を接続する。エッジ371の矢印の先端側のノード361の時間ステップは、エッジ371の矢印の末端側のノード361の時間ステップよりも一つの時間ステップ分だけ大きいため、エッジ371は、一つの時間ステップ分のノード361の変化を示す。エッジ371で接続される2つのノード361のうち、時間ステップが小さい方のノード361は親ノードと呼ばれ、時間ステップが大きい方のノード361は子ノードと呼ばれる。
また、一つ以上の分岐を持つノード361は枝ノード362と呼ばれ、親ノードを持たないノード361は根ノード363と呼ばれ、子ノードを持たないノード361は葉ノード364と呼ばれる。全ての軌道候補351の一端は、移動体1に位置するため、根ノード363は、移動体1の現在位置に相当する。このように、軌道候補351は、時間ステップ順、つまり時系列順で繋がれた複数のノード361を含む。
図4の目標軌道決定部322は、軌道候補生成部321で生成された軌道候補351の評価関数の評価値であるコスト値に基づいて、軌道候補351から目標軌道を決定する。例えば、軌道候補351と参照軌道との間の偏差が小さいほど、評価関数のコスト値が小さい場合には、目標軌道決定部322は、コスト値が最も小さい軌道候補351を目標軌道として決定してもよい。
なお、評価関数のコスト値は、軌道候補351と参照軌道との間の偏差と、軌道候補351の加速度ベクトルの大きさと、軌道候補351と目標地点との間の距離と、軌道候補351と回避したい障害物500との間の距離との少なくともいずれか一つに基づいて変化してもよい。なお本明細書において、例えばA、B、C、…、及び、Zの少なくともいずれか一つとは、A、B、C、…、及び、Zのグループから1種類以上抜き出した全ての組合せのうちのいずれか一つであることを意味する。例えば、軌道候補351の加速度ベクトルの大きさが小さい場合、軌道候補351と目標地点との間の距離が小さい場合、または、軌道候補351と回避したい障害物500との間の距離が大きい場合に、評価関数のコスト値が小さくなってもよい。
目標軌道決定部322は、決定された目標軌道を目標軌道記憶部323へ出力する。目標軌道記憶部323は、目標軌道決定部322から出力された目標軌道を記憶する。
動作計画部320は、目標軌道記憶部323に記憶された目標軌道から必要な目標軌道を抽出し、当該必要な目標軌道を含む動作計画を生成する。そして、動作計画部320は、当該動作計画に基づいて駆動装置100で用いられる制御情報を生成し、当該制御情報を駆動装置100へ出力する。駆動装置100が、制御情報に基づいて移動体1を移動させることによって、移動体1は動作計画に従った移動を行うことが可能となっている。
図7は、本実施の形態1に係る軌道生成装置300に関連する装置(以下「関連装置」と記す)の動作を示す図である。関連装置は、本実施の形態1に係る軌道生成装置300の構成のうちこれまで説明した構成と同様の構成を有する。図6には、過去の時間ステップkの状態が示され、図7には、現在の時間ステップk+1の状態が示されているものとして、以下説明する。また、過去の時間ステップkで生成された軌道候補351a,351b,351cのうち、軌道候補351aが目標軌道として決定されたものとして、以下説明する。
軌道候補351aが目標軌道として決定された結果、図7に示すように、移動体1は、図6の移動体1が位置するノード361から軌道候補351aに沿って一つのエッジ371だけ進んだノード361に位置している。また図7では、障害物500が少し左側に移動して、目標軌道である軌道候補351a上に位置している。この場合、移動体1は障害物500を回避する必要があるが、目標軌道である軌道候補351aのうち移動体1と障害物500との間には、障害物500を回避するような分岐がない。
このような場合には、関連装置は、自己位置情報、目標内容、制約情報、及び、数式モデルに基づいて新たに軌道候補を生成して、新たに目標軌道を決定すればよいと考えられる。しかしながら、図7の移動体1が障害物500を確実に回避するためには、軌道候補の生成回数を大きくして、空間に広く展開する軌道候補を生成する必要があるため、軌道候補の生成に大きな計算負荷が生じてしまうという問題がある。
これに対して本実施の形態1に係る軌道生成装置300は、以下で説明するように軌道候補の生成による計算負荷を低減可能になっている。
図8は、本実施の形態1に係る軌道生成装置300の動作を示す図である。図6には、過去の時間ステップkの状態が示され、図8には、現在の時間ステップk+1の状態が示されているものとして、以下説明する。また、過去の時間ステップkで生成された軌道候補351a,351b,351cのうち、軌道候補351aが目標軌道として決定されたものとして、以下説明する。
軌道候補生成部321は、過去に生成された複数の軌道候補351のうち、目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補を抽出する。そして軌道候補生成部321は、非決定軌道候補の一部に基づいて暫定軌道候補を生成する。暫定軌道候補は、目標軌道決定部322で新たな目標軌道として決定可能な新たな軌道候補の基礎となる軌道である。図8の場合、軌道候補351aが目標軌道として決定されているため、軌道候補生成部321は、非決定軌道候補である軌道候補351b,351cの一部に基づいて、暫定軌道候補を生成する。
本実施の形態1では軌道候補生成部321は、非決定軌道候補のうちの現在時刻の次の時刻の第1ノードである次ノードと、目標軌道の現在時刻の第2ノードである現在ノードとを繋ぐことによって、暫定軌道候補を生成する。図8の場合、軌道候補生成部321は、軌道候補351b,351cのうちの現在の時間ステップk+1の次の時間ステップk+2の次ノード361b,361cと、軌道候補351aの現在の時間ステップk+1の現在ノード361aとを繋ぐことによって、暫定軌道候補を生成する。
ここで、本実施の形態1に係る軌道候補351のノード361は、上述したように移動体1の状態(x(i)
r,k,y(i)
r,k)及び入力(v(i)
x,k,v(i)
y,k)を含む。このような場合に、新たな軌道候補を生成するためには、非決定軌道候補の次ノードと現在ノードとを繋ぐことによって非決定軌道候補の状態量が変更されるだけでなく、入力量も変更される必要がある。
そこで本実施の形態1に係る軌道候補生成部321は、移動体1そのものの制約条件に基づいて、非決定軌道候補の次ノードの入力量を更新する、または、次ノードの入力量と次ノードの子ノードの入力量とを更新する。なお、移動体1そのものの制約条件とは、上述した障害物500との干渉に関する制約情報と異なり、例えば、移動体1の最高速度及び移動方向の自由度などのような移動体1の移動性能に起因する制約条件である。軌道候補生成部321は、当該制約条件をデフォルトで有していてもよいし、動作計画部320から取得してもよい。次に、入力量の更新の第1例及び第2例について説明する。
<第1例>
第1例では、制約条件が、移動体1の数式モデルの差分方程式に用いられる制約条件である場合に、軌道候補生成部321が、非決定軌道候補の次ノードの入力量を更新する。この場合、軌道候補生成部321は、次式(2)を用いて、非決定軌道候補の次ノードの暫定的な入力量(vx,k+1,vy,k+1)を算出する。
第1例では、制約条件が、移動体1の数式モデルの差分方程式に用いられる制約条件である場合に、軌道候補生成部321が、非決定軌道候補の次ノードの入力量を更新する。この場合、軌道候補生成部321は、次式(2)を用いて、非決定軌道候補の次ノードの暫定的な入力量(vx,k+1,vy,k+1)を算出する。
式(2)において、(r)は、根ノードである現在ノードのインデックスであり、kは、現在の時間ステップであり、(x(r)
r,k,y(r)
r,k)は、現在ノードの状態量であり、(xr,k+1,yr,k+1)は、非決定軌道候補の次ノードの状態量である。
軌道候補生成部321は、式(2)で求めた暫定的な入力量が制約条件(例えば速度の上限値など)を満たすか否かを判定する。軌道候補生成部321は、暫定的な入力量が制約条件を満たす場合には、暫定的な入力量によって、非決定軌道候補の次ノードの入力量を更新する。一方、軌道候補生成部321は、暫定的な入力量が制約条件を満たさない場合には、暫定的な入力量が算出された非決定軌道候補から生成された暫定軌道候補を除外する。
<第2例>
第2例では、制約条件が、目標軌道の現在ノードの入力量と現在ノードの子ノードの入力量とを参照値とする最適化問題に用いられる制約条件である場合に、軌道候補生成部321が、非決定軌道候補の次ノードの入力量と次ノードの子ノードの入力量とを更新する。この場合、軌道候補生成部321は、次式(3)を用いて、非決定軌道候補の次ノードの入力量uBr,k+1及び次ノードの子ノードの入力量uBr,k+2を算出できるか否かを判定する。
第2例では、制約条件が、目標軌道の現在ノードの入力量と現在ノードの子ノードの入力量とを参照値とする最適化問題に用いられる制約条件である場合に、軌道候補生成部321が、非決定軌道候補の次ノードの入力量と次ノードの子ノードの入力量とを更新する。この場合、軌道候補生成部321は、次式(3)を用いて、非決定軌道候補の次ノードの入力量uBr,k+1及び次ノードの子ノードの入力量uBr,k+2を算出できるか否かを判定する。
なお、明細書での書式の制約のため、xB,uB,QB,RBは、式(3)内の太字のx,u,Q,Rを表すものとし、x^B,u^Bは,式(3)内の上に^が付された太字のx,uを表すものとする。式(3)において、xBrは(xr,yr)であり、uBrは(vx,vy)であり、τは各軌道候補351の根ノードから葉ノードまでのいずれかのノード361のインデックスであり、τの大文字はτの集合である。また、式(3)において、x^Br,u^Brは、更新前の状態量及び入力量であり、QB,RBは、それぞれ状態量及び入力量の重みである。なお、式(3)の2番目及び3番目の式は制約条件に相当する。
軌道候補生成部321は、式(3)の最適化問題を解くことができ、非決定軌道候補の次ノードの入力量及び次ノードの子ノードの入力量を算出できた場合には、それら入力量によって、非決定軌道候補の対応するノードの入力量を更新する。一方、軌道候補生成部321は、式(3)の最適化問題を解くことができず、非決定軌道候補の次ノードの入力量及び次ノードの子ノードの入力量を算出できなかった場合には、当該非決定軌道候補から生成された暫定軌道候補を除外する。
軌道候補生成部321は、非決定軌道候補の一部から生成された暫定軌道候補と、移動体1の数式モデルとに基づいて、目標軌道決定部322で新たな目標軌道として決定可能な新たな軌道候補を生成する。
例えば、軌道候補生成部321は、いずれかの暫定軌道候補の現在時刻以降のノード361から、ランダム、深さ(伸展の数)優先、及び、幅(分岐の数)優先の少なくともいずれか1つに基づいて、展開ノードを取得してもよい。そして、軌道候補生成部321は、当該展開ノードに対して、式(1)の数式モデルを用いた軌道候補の生成と同様の処理を行うことによって、目標軌道決定部322で新たな目標軌道として決定可能な新たな軌道候補を生成してもよい。
この場合、軌道候補生成部321は、暫定軌道候補から伸展及び分岐の少なくとも1つが行われた軌道を新たな軌道候補として生成することができる。図8の例では、暫定軌道候補である軌道候補351bのノード361から、新たな軌道候補として生成された軌道候補351dが示されている。
また、軌道候補生成部321は、非決定軌道候補の一部から生成された暫定軌道候補と、目標軌道と、移動体1の数式モデルとに基づいて、目標軌道決定部322で新たな目標軌道として決定可能な新たな軌道候補を生成してもよい。例えば、軌道候補生成部321は、目標軌道の現在時刻以降のノード361から上記と同様に展開ノードを取得し、当該展開ノードに対して、式(1)の数式モデルを用いた軌道候補の生成と同様の処理を行うことによって、新たな軌道候補を生成してもよい。
目標軌道決定部322は、新たな軌道候補の評価関数の評価値であるコスト値に基づいて、新たな軌道候補から新たな目標軌道を決定する。
以上のように構成された本実施の形態1に係る軌道候補生成部321は、過去の時間ステップで生成した軌道候補を、現在の時間ステップの軌道候補として利用できるように変換する。このような利用により、自己位置情報、目標内容、制約情報、及び、数式モデルに基づいて現在時刻の軌道候補を生成する処理を低減しても、現在時刻の軌道候補の数を確保することができるので、軌道候補の生成による計算負荷を低減することができる。
<動作>
図9は、本実施の形態1に係る軌道生成装置300の動作を示すフローチャートである。この図9の動作は、障害物500が目標軌道上に位置するか否かに関わらず逐次的に行われてもよいし、障害物500が目標軌道上に位置する場合に行われてもよい。
図9は、本実施の形態1に係る軌道生成装置300の動作を示すフローチャートである。この図9の動作は、障害物500が目標軌道上に位置するか否かに関わらず逐次的に行われてもよいし、障害物500が目標軌道上に位置する場合に行われてもよい。
ステップS1にて、軌道候補生成部321は、過去の軌道候補を取得する。ステップS2にて、軌道候補生成部321は、過去の軌道候補のうち、目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補を抽出し、非決定軌道候補の一部に基づいて暫定軌道候補を生成する。
ステップS3にて、軌道候補生成部321は、暫定軌道候補及び目標軌道の現在の時間ステップ以降のノード361の中から、展開ノードを取得する。
ステップS4にて、軌道候補生成部321は、展開ノードに対して、式(1)の数式モデルを用いた軌道候補の生成と同様の処理を行うことによって新たなノードを生成し、展開ノードに接続する。
ステップS5にて、軌道候補生成部321は、ステップS3の処理を予め定められたN回以上行ったか否かを判定する。ステップS3の処理が予め定められたN回以上行われたと判定された場合に図9の動作が終了し、ステップS3の処理が予め定められたN回以上行われなかったと判定された場合に処理がステップS3に進む。
これにより、ステップS3の処理がN回行われ、新たな軌道候補が生成される。その後、目標軌道決定部322は、軌道候補生成部321で生成された軌道候補の評価関数の評価値であるコスト値に基づいて、軌道候補から目標軌道を決定する。
<実施の形態1のまとめ>
以上のような本実施の形態1に係る軌道生成装置300によれば、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する。このような構成によれば、自己位置情報、目標内容、制約情報、及び、数式モデルに基づいて新たな軌道候補を生成する処理を低減しても、新たな軌道候補の数を確保することができるので、軌道候補の生成による計算負荷を低減することができる。
以上のような本実施の形態1に係る軌道生成装置300によれば、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する。このような構成によれば、自己位置情報、目標内容、制約情報、及び、数式モデルに基づいて新たな軌道候補を生成する処理を低減しても、新たな軌道候補の数を確保することができるので、軌道候補の生成による計算負荷を低減することができる。
また本実施の形態1では、非決定軌道候補の一部と、移動体の数式モデルとに基づいて、新たな軌道候補を生成する。このような構成によれば、新たな軌道候補の品質を高めることができる。
また本実施の形態1では、非決定軌道候補のうちの現在時刻の次の時刻の第1ノードと、目標軌道の現在時刻の第2ノードとを繋ぐことによって、新たな軌道候補を生成する。このような構成によれば、軌道候補の生成による計算負荷を低減することができる。
また本実施の形態1では、移動体そのものの制約条件に基づいて、第1ノードの入力量を更新する、または、第1ノードの入力量と第1ノードの子ノードの入力量とを更新する。このような構成によれば、状態及び入力のシーケンスに関して新たな軌道候補を生成することができる。
<変形例>
実施の形態1では、数式モデルは式(1)で表されるモデルであったが、これに限ったものではない。
実施の形態1では、数式モデルは式(1)で表されるモデルであったが、これに限ったものではない。
例えば数式モデルは、次式(4)で表され、全方向に移動可能な移動体に用いられるモデルであってもよい。そして、軌道候補生成部321は、差分方程式に関する次式(5)を用いて、非決定軌道候補の暫定的な状態量(xr,k+1,yr,k+1)及び入力量(vx,k+1,vy,k+1)を算出してもよい。
例えば数式モデルは、次式(6)で表され、差動二輪移動体に用いられるモデルであってもよい。そして、軌道候補生成部321は、差分方程式に関する次式(7)を用いて、非決定軌道候補の暫定的な状態量θr,k+1及び入力量(vk+1,wk+1,wk+2)を算出してもよい。なお、(wk+1,wk+2)は、ある時間ステップk,k+1における移動体1の角速度である。
例えば数式モデルは、次式(8)で表され、差動二輪移動体に用いられるモデルであってもよい。そして、軌道候補生成部321は、差分方程式に関する次式(9)を用いて、非決定軌道候補の暫定的な状態量(xr,k+1,yr,k+1,θr,k+1,θr,k+2)及び入力量(vk+1,wk+1,wk+2)を算出してもよい。
また実施の形態1では、軌道候補生成部321は、非決定軌道候補の一部に基づいて暫定軌道候補を生成し、暫定軌道候補と数式モデルとに基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成した。しかしながら、軌道候補生成部321は、非決定軌道候補の一部に基づいて生成した暫定軌道候補をそのまま、目標軌道決定部322で新たな目標軌道として決定可能な新たな軌道候補として生成してもよい。
<実施の形態2>
図10は、本実施の形態2に係る軌道生成装置300の構成を示すブロック図である。以下、本実施の形態2に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。
図10は、本実施の形態2に係る軌道生成装置300の構成を示すブロック図である。以下、本実施の形態2に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。
図10の軌道生成装置300の構成は、図4の動作計画部320の構成に動作パターン設定部324が追加された構成と同様である。動作パターン設定部324は、移動体1の動作パターンを設定する。動作パターンは、例えば、一時停止、直進、左回避、右回避、及び、後退などの、移動体1の動作及び軌道候補として想定されるパターンである。各動作パターンは、例えば、離散的な値、または、人の動作をもとにした速度の関数によって規定される。動作パターン設定部324は、動作パターンを軌道候補生成部321へ出力する。
軌道候補生成部321は、動作パターンに基づいて、複数の非決定軌道候補のうち、新たな軌道候補の生成に用いられる非決定軌道候補を選択する。本実施の形態2では、軌道候補生成部321は、複数の非決定軌道候補のうち動作パターンに該当する非決定軌道候補を、新たな軌道候補の生成に用いられる非決定軌道候補として選択する。例えば、軌道候補生成部321は、動作パターンの離散的な値、または、人の動作をもとにした速度の関数と、非決定軌道候補との類似度を算出し、当該類似度が閾値以上である場合に、当該非決定軌道候補が当該動作パターンに該当すると判定する。
図11及び図12は、本実施の形態2に係る軌道生成装置300の動作を示す図である。図11には、過去の時間ステップkの状態が示され、図12には、現在の時間ステップk+1の状態が示されているものとして、以下説明する。また、過去の時間ステップkで生成された軌道候補351e~351iのうち、軌道候補351fが目標軌道として決定され、軌道候補351f,351g,351hは、それぞれ左旋回、直進、右旋回の動作パターンに該当するものとして、以下説明する。
この場合、軌道候補生成部321は、複数の非決定軌道候補である軌道候補351e,351g,351h,351iのうち動作パターンに該当する軌道候補351g,351hを、新たな軌道候補の生成に用いられる暫定軌道候補として選択する。つまり、軌道候補生成部321は、動作パターンに該当しない軌道候補351e,351iを、新たな軌道候補の生成に用いられる暫定軌道候補から除外する。
<実施の形態2のまとめ>
以のような本実施の形態2に係る軌道生成装置300によれば、移動体1の動作パターンに該当する非決定軌道候補を、新たな軌道候補の生成に用いられる非決定軌道候補として選択する。このような構成によれば、図9のステップS3~S5の処理による計算負荷を低減することができたり、目標軌道決定部322による目標軌道を効率よく決定することができたりする。
以のような本実施の形態2に係る軌道生成装置300によれば、移動体1の動作パターンに該当する非決定軌道候補を、新たな軌道候補の生成に用いられる非決定軌道候補として選択する。このような構成によれば、図9のステップS3~S5の処理による計算負荷を低減することができたり、目標軌道決定部322による目標軌道を効率よく決定することができたりする。
なお、以上の説明では、例えば1つの動作パターンに1つの非決定軌道候補が該当したが、1つの動作パターンに複数の非決定軌道候補が該当する場合もある。そのような場合に、軌道候補生成部321は、非決定軌道候補の評価関数の評価値と、動作パターンとに基づいて、複数の非決定軌道候補のうち、新たな軌道候補の生成に用いられる非決定軌道候補を選択してもよい。
例えば、軌道候補生成部321は、1つの動作パターンに複数の非決定軌道候補が該当する場合に、複数の非決定軌道候補のうち非決定軌道候補の評価関数の評価値であるコスト値が最も小さい非決定軌道候補を選択してもよい。例えば、非決定軌道候補のノード数が多い場合、または、現在ノードから非決定軌道候補の次ノードへの移動量が小さい場合に、評価関数のコスト値が小さくなってもよい。このような構成によれば、図9のステップS3~S5の処理による計算負荷を低減することができたり、目標軌道決定部322による目標軌道を効率よく決定することができたりする。
<その他の変形例>
上述した図4の行動計画部310、軌道候補生成部321、及び、目標軌道決定部322を、以下「行動計画部310等」と記す。行動計画部310等は、図13に示す処理回路81により実現される。すなわち、処理回路81は、移動体の移動の目標内容及び制約を生成する行動計画部310と、目標内容及び制約に基づいて逐次的に展開するツリー構造の軌道候補を生成し、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する軌道候補生成部321と、軌道候補の評価関数の評価値に基づいて、軌道候補から移動体が移動すべき目標軌道を決定する目標軌道決定部322と、を備える。処理回路81には、専用のハードウェアが適用されてもよいし、メモリに格納されるプログラムを実行するプロセッサが適用されてもよい。プロセッサには、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などが該当する。
上述した図4の行動計画部310、軌道候補生成部321、及び、目標軌道決定部322を、以下「行動計画部310等」と記す。行動計画部310等は、図13に示す処理回路81により実現される。すなわち、処理回路81は、移動体の移動の目標内容及び制約を生成する行動計画部310と、目標内容及び制約に基づいて逐次的に展開するツリー構造の軌道候補を生成し、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成する軌道候補生成部321と、軌道候補の評価関数の評価値に基づいて、軌道候補から移動体が移動すべき目標軌道を決定する目標軌道決定部322と、を備える。処理回路81には、専用のハードウェアが適用されてもよいし、メモリに格納されるプログラムを実行するプロセッサが適用されてもよい。プロセッサには、例えば、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、DSP(Digital Signal Processor)などが該当する。
処理回路81が専用のハードウェアである場合、処理回路81は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、またはこれらを組み合わせたものが該当する。行動計画部310等の各部の機能それぞれは、処理回路を分散させた回路で実現されてもよいし、各部の機能をまとめて一つの処理回路で実現されてもよい。
処理回路81がプロセッサである場合、行動計画部310等の機能は、ソフトウェア等との組み合わせにより実現される。なお、ソフトウェア等には、例えば、ソフトウェア、ファームウェア、または、ソフトウェア及びファームウェアが該当する。ソフトウェア等はプログラムとして記述され、メモリに格納される。図14に示すように、処理回路81に適用されるプロセッサ82は、メモリ83に記憶されたプログラムを読み出して実行することにより、各部の機能を実現する。すなわち、軌道生成装置300は、処理回路81により実行されるときに、移動体の移動の目標内容及び制約を生成するステップと、目標内容及び制約に基づいて逐次的に展開するツリー構造の軌道候補を生成するステップと、軌道候補の評価関数の評価値に基づいて、軌道候補から移動体が移動すべき目標軌道を決定するステップと、過去に生成された複数の軌道候補のうち目標軌道として決定された軌道候補以外の軌道候補である非決定軌道候補の一部に基づいて、新たな目標軌道として決定可能な新たな軌道候補を生成するステップと、が結果的に実行されることになるプログラムを格納するためのメモリ83を備える。換言すれば、このプログラムは、行動計画部310等の手順や方法をコンピュータに実行させるものであるともいえる。ここで、メモリ83は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically Erasable Programmable Read Only Memory)などの、不揮発性または揮発性の半導体メモリ、HDD(Hard Disk Drive)、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD(Digital Versatile Disc)、それらのドライブ装置、または、今後使用されるあらゆる記憶媒体であってもよい。
以上、行動計画部310等の各機能が、ハードウェア及びソフトウェア等のいずれか一方で実現される構成について説明した。しかしこれに限ったものではなく、行動計画部310等の一部を専用のハードウェアで実現し、別の一部をソフトウェア等で実現する構成であってもよい。例えば、行動計画部310については専用のハードウェアとしての処理回路81でその機能を実現し、それ以外についてはプロセッサ82としての処理回路81がメモリ83に格納されたプログラムを読み出して実行することによってその機能を実現することが可能である。
以上のように、処理回路81は、ハードウェア、ソフトウェア等、またはこれらの組み合わせによって、上述の各機能を実現することができる。
また、以上で説明した軌道生成装置は、処理装置と、通信端末と、処理装置及び通信端末の少なくとも1つにインストールされるアプリケーションの機能と、サーバとを適宜に組み合わせてシステムとして構築される軌道生成システムにも適用することができる。通信端末は、例えば、携帯電話、スマートフォン及びタブレットなどを含む。以上で説明した軌道生成装置の各機能あるいは各構成要素は、前記システムを構築する各機器に分散して配置されてもよいし、いずれかの機器に集中して配置されてもよい。
なお、英文での本開示において’a’、’an’は、一つ以上を意味する。このため、’a’、’an’、’one or more’及び’at least one’は、同じ意味で使用可能である。
なお、各実施の形態及び各変形例を自由に組み合わせたり、各実施の形態及び各変形例を適宜、変形、省略したりすることが可能である。上記した説明は、すべての局面において、例示であって、限定的なものではない。例示されていない無数の変形例が、想定され得るものと解される。
以下、本開示の諸態様を付記としてまとめて記載する。
(付記1)
移動体の移動の目標内容及び制約を生成する行動計画部と、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成する軌道候補生成部と、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定する目標軌道決定部と
を備え、
前記軌道候補生成部は、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成装置。
移動体の移動の目標内容及び制約を生成する行動計画部と、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成する軌道候補生成部と、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定する目標軌道決定部と
を備え、
前記軌道候補生成部は、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成装置。
(付記2)
付記1に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記目標軌道とに基づいて、前記新たな軌道候補を生成する、軌道生成装置。
付記1に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記目標軌道とに基づいて、前記新たな軌道候補を生成する、軌道生成装置。
(付記3)
付記1または付記2に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記移動体の数式モデルとに基づいて、前記新たな軌道候補を生成する、軌道生成装置。
付記1または付記2に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記移動体の数式モデルとに基づいて、前記新たな軌道候補を生成する、軌道生成装置。
(付記4)
付記1から付記3のうちのいずれか1項に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補のうちの現在時刻の次の時刻の第1ノードと、前記目標軌道の現在時刻の第2ノードとを繋ぐことによって、前記新たな軌道候補を生成する、軌道生成装置。
付記1から付記3のうちのいずれか1項に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補のうちの現在時刻の次の時刻の第1ノードと、前記目標軌道の現在時刻の第2ノードとを繋ぐことによって、前記新たな軌道候補を生成する、軌道生成装置。
(付記5)
付記1から付記4のうちのいずれか1項に記載の軌道生成装置であって、
前記移動体の動作パターンを設定する動作パターン設定部をさらに備え、
前記軌道候補生成部は、
前記動作パターンに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。
付記1から付記4のうちのいずれか1項に記載の軌道生成装置であって、
前記移動体の動作パターンを設定する動作パターン設定部をさらに備え、
前記軌道候補生成部は、
前記動作パターンに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。
(付記6)
付記5に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補の評価関数の評価値と、前記動作パターンとに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。
付記5に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補の評価関数の評価値と、前記動作パターンとに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。
(付記7)
付記4に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記移動体そのものの制約条件に基づいて、前記第1ノードの入力量を更新する、または、前記第1ノードの入力量と前記第1ノードの子ノードの入力量とを更新する、軌道生成装置。
付記4に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記移動体そのものの制約条件に基づいて、前記第1ノードの入力量を更新する、または、前記第1ノードの入力量と前記第1ノードの子ノードの入力量とを更新する、軌道生成装置。
(付記8)
付記7に記載の軌道生成装置であって、
前記制約条件は、前記移動体の数式モデルの差分方程式に用いられる制約条件である、軌道生成装置。
付記7に記載の軌道生成装置であって、
前記制約条件は、前記移動体の数式モデルの差分方程式に用いられる制約条件である、軌道生成装置。
(付記9)
付記7に記載の軌道生成装置であって、
前記制約条件は、前記第2ノードの入力量と前記第2ノードの子ノードの入力量とを参照値とする最適化問題に用いられる制約条件である、軌道生成装置。
付記7に記載の軌道生成装置であって、
前記制約条件は、前記第2ノードの入力量と前記第2ノードの子ノードの入力量とを参照値とする最適化問題に用いられる制約条件である、軌道生成装置。
(付記10)
移動体の移動の目標内容及び制約を生成し、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成し、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定し、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成方法。
移動体の移動の目標内容及び制約を生成し、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成し、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定し、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成方法。
1 移動体、300 軌道生成装置、310 行動計画部、321 軌道候補生成部、322 目標軌道決定部、324 動作パターン設定部、351 軌道候補。
Claims (10)
- 移動体の移動の目標内容及び制約を生成する行動計画部と、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成する軌道候補生成部と、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定する目標軌道決定部と
を備え、
前記軌道候補生成部は、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成装置。 - 請求項1に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記目標軌道とに基づいて、前記新たな軌道候補を生成する、軌道生成装置。 - 請求項1または請求項2に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記非決定軌道候補の一部と、前記移動体の数式モデルとに基づいて、前記新たな軌道候補を生成する、軌道生成装置。 - 請求項1から請求項3のうちのいずれか1項に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補のうちの現在時刻の次の時刻の第1ノードと、前記目標軌道の現在時刻の第2ノードとを繋ぐことによって、前記新たな軌道候補を生成する、軌道生成装置。 - 請求項1から請求項4のうちのいずれか1項に記載の軌道生成装置であって、
前記移動体の動作パターンを設定する動作パターン設定部をさらに備え、
前記軌道候補生成部は、
前記動作パターンに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。 - 請求項5に記載の軌道生成装置であって、
前記軌道候補は、時系列順で繋がれた複数のノードを含み、
前記軌道候補生成部は、
前記非決定軌道候補の評価関数の評価値と、前記動作パターンとに基づいて、複数の前記非決定軌道候補のうち、前記新たな軌道候補の生成に用いられる前記非決定軌道候補を選択する、軌道生成装置。 - 請求項4に記載の軌道生成装置であって、
前記軌道候補生成部は、
前記移動体そのものの制約条件に基づいて、前記第1ノードの入力量を更新する、または、前記第1ノードの入力量と前記第1ノードの子ノードの入力量とを更新する、軌道生成装置。 - 請求項7に記載の軌道生成装置であって、
前記制約条件は、前記移動体の数式モデルの差分方程式に用いられる制約条件である、軌道生成装置。 - 請求項7に記載の軌道生成装置であって、
前記制約条件は、前記第2ノードの入力量と前記第2ノードの子ノードの入力量とを参照値とする最適化問題に用いられる制約条件である、軌道生成装置。 - 移動体の移動の目標内容及び制約を生成し、
前記目標内容及び前記制約に基づいて逐次的に展開するツリー構造の軌道候補を生成し、
前記軌道候補の評価関数の評価値に基づいて、前記軌道候補から前記移動体が移動すべき目標軌道を決定し、
過去に生成された複数の前記軌道候補のうち前記目標軌道として決定された前記軌道候補以外の前記軌道候補である非決定軌道候補の一部に基づいて、新たな前記目標軌道として決定可能な新たな前記軌道候補を生成する、軌道生成方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2024102956 | 2024-06-26 | ||
| JP2024-102956 | 2024-06-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2026004151A1 true WO2026004151A1 (ja) | 2026-01-02 |
Family
ID=98221260
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2024/030604 Pending WO2026004151A1 (ja) | 2024-06-26 | 2024-08-28 | 軌道生成装置及び軌道生成方法 |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2026004151A1 (ja) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018062261A (ja) * | 2016-10-13 | 2018-04-19 | 本田技研工業株式会社 | 車両制御装置 |
| JP2018534205A (ja) * | 2016-02-11 | 2018-11-22 | 三菱電機株式会社 | 車両の運動を制御する方法、及び車両の制御システム |
| JP2023102099A (ja) * | 2022-01-11 | 2023-07-24 | トヨタ自動車株式会社 | 移動体制御方法、移動体制御システム、及び移動体制御プログラム |
-
2024
- 2024-08-28 WO PCT/JP2024/030604 patent/WO2026004151A1/ja active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2018534205A (ja) * | 2016-02-11 | 2018-11-22 | 三菱電機株式会社 | 車両の運動を制御する方法、及び車両の制御システム |
| JP2018062261A (ja) * | 2016-10-13 | 2018-04-19 | 本田技研工業株式会社 | 車両制御装置 |
| JP2023102099A (ja) * | 2022-01-11 | 2023-07-24 | トヨタ自動車株式会社 | 移動体制御方法、移動体制御システム、及び移動体制御プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6757820B2 (ja) | 重み付け幾何学的コストを有する区分的螺旋曲線を使用した基準線平滑化方法 | |
| US11594011B2 (en) | Deep learning-based feature extraction for LiDAR localization of autonomous driving vehicles | |
| US11531110B2 (en) | LiDAR localization using 3D CNN network for solution inference in autonomous driving vehicles | |
| CN113819917B (zh) | 自动驾驶路径规划方法、装置、设备及存储介质 | |
| US11364931B2 (en) | Lidar localization using RNN and LSTM for temporal smoothness in autonomous driving vehicles | |
| CN107703756B (zh) | 动力学模型参数辨识方法、装置、计算机设备及存储介质 | |
| CN113763434B (zh) | 一种基于卡尔曼滤波多运动模型切换的目标轨迹预测方法 | |
| Demim et al. | Cooperative SLAM for multiple UGVs navigation using SVSF filter | |
| CN108871341B (zh) | 一种全局优化的并发定位与建图方法 | |
| CN113280808A (zh) | 一种移动机器人定位精度提升方法及系统 | |
| WO2020179459A1 (ja) | 地図作成装置、地図作成方法、及びプログラム | |
| CN107544498A (zh) | 可移动终端的移动路径规划方法及装置 | |
| CN114061573A (zh) | 地面无人车辆编队定位装置及方法 | |
| WO2026004151A1 (ja) | 軌道生成装置及び軌道生成方法 | |
| US12014551B2 (en) | Method, device, computer program and computer program product for providing a trajectory of an object for a vehicle | |
| JP7612107B1 (ja) | 移動体制御装置 | |
| CN119620744A (zh) | 机器人局部规划器选择 | |
| CN119007183A (zh) | 用于创建参考地图表示的方法 | |
| CN118189970A (zh) | 一种多传感器下基于图优化的航向轨迹优化方法 | |
| CN109459769A (zh) | 一种自主定位方法与系统 | |
| KR20190079470A (ko) | 객체 측위 방법 및 장치 | |
| JP2012255705A (ja) | 位置姿勢出力装置、位置姿勢出力プログラム及び位置姿勢出力方法 | |
| Ashokaraj et al. | Feature based robot navigation: using fuzzy logic and interval analysis | |
| CN117232531B (zh) | 机器人导航规划方法及存储介质和终端设备 | |
| CN119958526B (zh) | 确定位姿的方法、装置、计算机设备、介质及程序产品 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24944513 Country of ref document: EP Kind code of ref document: A1 |