Mobile body and method for controlling mobile body

The described system for vehicle platooning uses sensors and trajectory generators to maintain and re-form vehicle groups by generating adaptive trajectory commands, addressing the issue of temporary separation due to external disturbances.

WO2025248757A1PCT designated stage Publication Date: 2025-12-04MITSUBISHI ELECTRIC CORP
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/020030
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing vehicle platooning technologies struggle to re-form a group of vehicles after temporary separation caused by external disturbances, such as lane changes or obstacles, leading to disruption of the formation.

Method used

A moving body equipped with sensors, communicators, and a trajectory generator that uses detection information, relative physical information, and map data to generate and control trajectories, allowing the group to re-form and maintain formation despite disturbances.

Benefits of technology

The system enables the group of vehicles to re-form and maintain formation by generating appropriate trajectory commands, ensuring smooth obstacle avoidance and timely re-formation even when separated by external factors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024020030_04122025_PF_FP_ABST
    Figure JP2024020030_04122025_PF_FP_ABST
Patent Text Reader

Abstract

In the present invention, even if a group of mobile bodies are divided by a disturbance, the group is suitably re-formed. This mobile body is one of a plurality of mobile bodies that form a group, the mobile body comprising: a sensor that detects, as detection information, information pertaining to at least one of the interior of the mobile body and the exterior of the mobile body; a communicator that transmits and receives physical information including relative information between the plurality of mobile bodies; a trajectory generator that sequentially generates trajectory commands indicating the trajectory of the mobile body on the basis of the detection information, the physical information, and map information; and a controller that controls the operation of the mobile body on the basis of the trajectory command.
Need to check novelty before this filing date? Find Prior Art

Description

MOBILE BODY AND METHOD FOR CONTROLLING MOBILE BODY

[0001] The technology disclosed in this specification relates to a control technology for moving objects that move in groups.

[0002] In conventional vehicle platooning, the following vehicle uses map data containing obstacle information generated by the leading vehicle to control the following vehicle so as not to collide with either the leading vehicle or obstacles. This allows the following vehicle to avoid not only collision with the leading vehicle but also with surrounding obstacles (see, for example, Patent Document 1).

[0003] JP 2023-94264 A

[0004] According to the technology described in Patent Literature 1, a group of vehicles can travel while maintaining a predetermined formation. However, if a general vehicle (in other words, a disturbance from the surrounding environment) blocks the group of vehicles when changing lanes and the group of vehicles is temporarily separated, the group cannot be re-formed in formation. In other words, if a group of moving objects is separated by a disturbance, the group cannot be properly re-formed.

[0005] The technology disclosed in this specification has been made in consideration of the problems described above, and is a technology for appropriately reforming a flock of moving objects even if the flock is separated by an external disturbance.

[0006] A first aspect of the technology disclosed in the present specification is a moving body that forms a group of multiple moving bodies, and the moving body is equipped with a sensor that detects information from at least one of the inside of the moving body and the outside of the moving body as detection information, a communicator that transmits and receives physical information including relative information between the multiple moving bodies, a trajectory generator that sequentially generates trajectory commands that indicate the trajectories of the moving bodies based on the detection information, the physical information, and map information, and a controller that controls the operation of the moving bodies based on the trajectory commands.

[0007] According to at least the first aspect of the technology disclosed in the present specification, by controlling the movement of the moving bodies using trajectory commands that are generated sequentially, even if the moving body group is separated by an external disturbance or the like, the group can be appropriately reformed.

[0008] Furthermore, objects, features, aspects, and advantages associated with the technology disclosed herein will become more apparent from the detailed description set forth below and the accompanying drawings.

[0009] 1 is a diagram conceptually illustrating an example of the configuration of a moving body according to an embodiment; FIG. 2 is a diagram illustrating an example of the internal configuration of a trajectory generator according to an embodiment; FIG. 3 is a diagram illustrating an example of the flow of physical information between moving bodies and a communication device mounted on each moving body according to an embodiment; FIG. 4 is a diagram illustrating an example of the flow of physical information between moving bodies and a communication device mounted on each moving body according to an embodiment; FIG. 5 is a diagram illustrating an example of the initial state of a group of moving bodies and a moving body (disturbance) unrelated to the group of moving bodies according to an embodiment; FIG. 6 is a diagram illustrating a state in which a group of vehicles traveling in a formation on a lane approaches a vehicle traveling in the lane; FIG. 7 is a diagram illustrating a state in which a group of vehicles traveling in a formation on a lane changes lanes (lane changes) into another lane; FIG. 8 is a diagram illustrating a state in which a group of vehicles that have changed lanes (lane changes) into another lane overtake a vehicle and then change lanes (lane changes) back into another lane; FIG. 9 is a diagram illustrating a state in which a vehicle changes lanes; and FIG. 10 is a diagram illustrating a state in which a vehicle follows behind a vehicle. FIG. 11 is a diagram conceptually illustrating an example of the configuration of a moving body according to an embodiment; and FIG. 12 is a diagram illustrating an example of the internal configuration of a trajectory generator according to an embodiment. 1 is a diagram schematically illustrating an example of the behavior of a flock depending on the setting of a target position and an arrival time in a target position generation unit. FIG. 2 is a diagram schematically illustrating an example of the behavior of a flock depending on the setting of a target position and an arrival time in a target position generation unit. FIG. 3 is a diagram conceptually illustrating an example of the configuration of a moving body according to an embodiment. FIG. 4 is a diagram illustrating an example of the internal configuration of a placement allocator according to an embodiment. FIG. 5 is a diagram schematically illustrating an example of the role of a placement allocator according to an embodiment. FIG. 6 is a diagram schematically illustrating an example of the role of a placement allocator according to an embodiment. FIG. 7 is a diagram schematically illustrating another example of the role of a placement allocator according to an embodiment. FIG. 8 is a diagram schematically illustrating a hardware configuration when a moving body is actually operated. FIG. 9 is a diagram schematically illustrating a hardware configuration when a moving body is configured by software.

[0010] Hereinafter, embodiments will be described with reference to the accompanying drawings. In the following embodiments, detailed features are shown for the purpose of explaining the technology, but these are merely examples, and not all of them are necessarily essential features for the implementation of the embodiments. In addition, for ease of understanding, the mobile body will be exemplified below as a vehicle such as an automobile. However, the mobile body includes not only automobiles but also any machine with a moving function, such as a drone or a robot.

[0011] The drawings are schematic, and for the sake of convenience, components may be omitted or simplified as appropriate. The relative sizes and positions of components shown in different drawings are not necessarily accurately depicted and may be changed as appropriate. Hatching may also be used in drawings such as plan views that are not cross-sectional views to facilitate understanding of the embodiments.

[0012] In the following description, the same components are denoted by the same reference numerals, and their names and functions are also the same. Therefore, detailed descriptions of them may be omitted to avoid duplication.

[0013] Furthermore, in the description given in this specification, when a certain component is described as "comprising," "including," or "having," unless otherwise specified, this is not an exclusive expression that excludes the presence of other components.

[0014] Furthermore, in the description of this specification, even if ordinal numbers such as "first" or "second" are used, these terms are used for convenience to make it easier to understand the contents of the embodiments, and the contents of the embodiments are not limited to the order that may result from these ordinal numbers.

[0015] First Embodiment A moving body and a method for controlling the moving body according to this embodiment will be described below.

[0016] 1 is a conceptual diagram illustrating an example of the configuration of a mobile body according to this embodiment. As illustrated in the example of FIG. 1, a mobile body 1A includes a housing 1000, an internal sensor 800 such as a vehicle speed sensor or a steering angle sensor, an external sensor 850 such as a camera or millimeter wave sensor, a communication device 900, a memory 100, a trajectory generator 200A, and a controller 600 that controls the speed and steering angle.

[0017] The housing 1000 contains or is attached with an internal sensor 800, an external sensor 850, a communication device 900, a memory 100, a trajectory generator 200A, and a controller 600. The housing 1000 can be regarded as a machine with wheels, such as an automobile.

[0018] The internal sensor 800 is composed of a group of sensors for detecting the motion state of the mobile body 1A itself, such as a vehicle speed sensor that detects the speed of the mobile body 1A, or a steering angle sensor that detects the steering angle of the steering wheel attached to the mobile body 1A.

[0019] The external sensor 850 is composed of a group of sensors for detecting the movement state of surrounding objects as seen from the mobile object 1A itself, such as a camera that detects information about the surroundings of the mobile object 1A itself as an image, a millimeter wave sensor that measures the distance from the mobile object 1A itself to the object, or LiDAR (Light Detection and Ranging).

[0020] The communicator 900 is, for example, a transceiver for wireless communication that is installed in the housing 1000 and that bidirectionally communicates physical information with a communicator 900 installed in the housing of another mobile object 1A. Wireless communication standards that can be used in the communicator 900 include, for example, Wi-Fi (registered trademark), Bluetooth (registered trademark), Long Term Evolution (LTE) (registered trademark), 5G, 6G, and the like. The physical information includes, for example, relative quantities (relative information) such as the relative distance, relative speed, or relative acceleration between the respective mobile objects 1A, absolute quantities such as the absolute position, absolute speed, or absolute acceleration of each mobile object 1A itself, or a network expressed in graph theory, such as which mobile object 1A is exchanging information with which other mobile object 1A in a group of mobile objects 1A (a group of mobile objects).

[0021] The controller 600 receives as input a trajectory command output from the trajectory generator 200A, internal sensor group information output from the internal sensor 800, and external sensor group information output from the external sensor 850, and outputs a speed command and a steering angle command to various actuators (not shown here) included in the housing 1000. In this manner, the controller 600 controls the movement of the moving body based on the trajectory command. Here, the internal sensor group information and the external sensor group information are collectively referred to as "detection." Specifically, the controller 600 feeds back, as control variables, the detected vehicle speed and steering angle values ​​of the moving body 1A itself, which are part of the internal sensor group information, and the detected relative distance values, which are part of the external sensor group information, and generates a vehicle speed command and a steering angle command that are consistent with the trajectory command, which includes a predicted path (or predicted position) and predicted orientation of the moving body 1A.

[0022] The control method of the controller 600 can be based on not only classical control theory such as the well-known PID (Proportional Integral Derivative) but also modern control theory.

[0023] The memory 100 outputs the recorded map information (including course information) to the trajectory generator 200A. The memory 100 may record only the map information (including course information) of a specific area, or may be an application for a car navigation system that uses the Global Navigation Satellite System (GNSS), a smartphone, a tablet terminal, or the like. The memory 100 may be provided inside the mobile object 1A, or may be provided on an external server or the like to be referenced as needed by communicating with the mobile object 1A.

[0024] The trajectory generator 200A uses information from at least one of the internal sensor 800 and the external sensor 850, physical information from the communication device 900, and map information (including course information) from the memory 100 to sequentially generate trajectory commands indicating a trajectory from the current position of the moving body 1A itself to a position to be reached after a predetermined time, so that multiple moving bodies move in a flock, and outputs the trajectory commands to the controller 600.

[0025] 2 is a diagram showing an example of the internal configuration of a trajectory generator 200A according to this embodiment. As shown in the example in FIG. 2, the trajectory generator 200A includes a prediction model generation unit 210, an optimization calculation unit 220, and a calculation assistance unit 230.

[0026] The prediction model generation unit 210 and the optimization calculation unit 220 perform calculations to output a speed command and a steering angle command for the moving body 1A based on the internal sensor group information from the internal sensor 800, the external sensor group information from the external sensor 850, the map information (including course information) from the memory 100, and the physical information from the communication device 900.

[0027] Specifically, the prediction model generation unit 210 stores kinematic equations, motion equations, or state equations, which are alternative expressions of these equations, that represent the behavior of the moving body 1A, as well as constraint conditions and evaluation functions that must be satisfied during the course of the behavior.

[0028] When the behavior of the moving object 1A is formulated, for example, by the simplest kinematic equation or a state equation that is a state space representation thereof, the control input corresponds to the speed and steering angle of the moving object 1A, and the state variables correspond to the position coordinates, speed, and azimuth angle of the moving object 1A.

[0029] The constraint conditions include inequality constraint conditions generally expressed by inequalities, such as that the moving body 1A does not collide with other moving bodies 1A that form a group, that the moving body 1A does not collide with moving bodies that do not form a group (so-called disturbances), that the moving body 1A does not stray from a specified course (for example, within a white line on a road), and upper and lower limits of the trajectory command output by the trajectory generator 200A in the moving body 1A. However, the constraint conditions must be appropriately determined in accordance with the control purpose of the moving body 1A, and it is desirable that they be expressed by simple mathematical expressions from the viewpoint of reducing calculation costs.

[0030] The evaluation function is typically the sum of a terminal cost and a stage cost. The terminal cost is a quadratic expression of the difference between the actual state at the final state of behavior (the so-called terminal state) and the desired terminal value, expressed using a weighting matrix. The stage cost can be expressed, for example, as a weighted sum of the norm of the difference between the destination to which the moving body 1A is heading and its current position, the norm of the difference between the moving body 1A and another moving body 1A traveling ahead of the moving body 1A, or the penalty terms for the upper and lower limits of the trajectory command. However, the form of the evaluation function is not limited to this, and a more general function may be added, such as the sum of a quadratic expression of a state variable, such as the position or velocity of the moving body 1A that changes from moment to moment, expressed using a weighting matrix, and a quadratic expression of the trajectory command at that time, expressed using a weighting matrix. The form of the evaluation function needs to be appropriately determined depending on the control purpose of the moving body 1A, and it is desirable for it to be expressed using a simple mathematical formula from the perspective of reducing calculation costs.

[0031] The optimization calculation unit 220 uses the kinematic equations, the motion equations, or the state equations, which are alternative expressions of these equations, stored in the prediction model generation unit 210, as well as predetermined constraint conditions and an evaluation function, to determine a trajectory command that minimizes the evaluation function while satisfying the constraint conditions, in order to realize a desired terminal state of the moving body 1A. For example, a known nonlinear programming solver can be used as the algorithm of the optimization calculation unit 220.

[0032] The prediction model generation unit 210 solves a time series of control inputs that minimize an evaluation function and state variables obtained by dividing a certain time interval (hereinafter also referred to as a horizon) based on the current time. The solution process across a series of horizons is performed by repeatedly calculating the control inputs within a predetermined control period of the prediction model generation unit 210 and the optimization calculation unit 220. The control inputs and state variable values ​​for each divided interval of the horizon are output from the optimization calculation unit 220 to the controller 600 as trajectory commands. In other words, the trajectory command is a time series that includes at least a predicted path (or predicted position) and a predicted orientation of the moving body 1A. The time series may also include a predicted speed and a predicted steering angle.

[0033] Then, upon receiving the trajectory command, the controller 600 calculates a speed command and a steering angle command so as to match the trajectory command, and inputs the calculated speed command and steering angle command to a speed control system and a steering angle control system (not shown) in the housing 1000. As a result, the moving body 1A operates to follow the trajectory command.

[0034] When a vehicle, which is a type of moving object 1A, and a group of such vehicles are traveling in a predetermined formation, such as a vertical formation or a horizontal formation, using the above-mentioned control, for example, if the leading vehicle of the group discovers an obstacle ahead, the leading vehicle first generates a trajectory command so that the leading vehicle can smoothly avoid the obstacle, and then inputs a speed command and a steering angle command for achieving this trajectory to a speed control system and a steering angle control system in a housing 1000 (not shown), thereby achieving natural obstacle avoidance. Furthermore, the moving objects 1A other than the leading vehicle 1A communicate with the communication device 900 to share relative physical information about the leading vehicle of the group and the other moving objects, and thereby each generate a trajectory command for chasing the leading vehicle. As a result, the group of moving objects can maintain their formation without being separated before and after obstacle avoidance.

[0035] Returning to FIG. 2 , the computational support unit 230 in the trajectory generator 200A will be described. First, the optimization computation unit 220 uses the kinematic equations, motion equations, or state equations, which are alternative expressions of these equations, stored in the prediction model generation unit 210, along with predetermined constraints and an evaluation function, to iteratively solve a trajectory command that minimizes the evaluation function while satisfying the constraints, in order to realize a desired terminal state of the moving object 1A. A typical iterative computation requires initial values ​​for control inputs in each divided section of the horizon, in other words, the speed and steering angle of the moving object 1A. If these initial values ​​are not set appropriately, the iterative computation may not converge within the control period or may fall into a local optimum solution, significantly reducing the ability of the moving object 1A to follow the trajectory command and possibly making it impossible to maintain a flock of moving objects 1A.

[0036] The calculation auxiliary unit 230 receives as input the trajectory command from the optimization calculation unit 220, the map information (including course information) from the memory 100, and the physical information from the communication device 900, and generates and outputs appropriate initial values ​​for the iterative calculations for generating the trajectory command to the optimization calculation unit 220. As an example of the calculation of the initial values, it is conceivable to provide an initial value for the speed command value according to the difference between the terminal state of the moving body 1A calculated by the prediction model generation unit 210 from the current state of the moving body 1A and the desired terminal state.

[0037] An example of a situation in which the calculation assistance unit 230 functions is when the group of vehicles (vehicle group) is disrupted by an external disturbance of a vehicle unrelated to the group of vehicles, i.e., a situation in which it is difficult for the mobile body 1A to generate trajectory commands continuously and smoothly.

[0038] In this way, even if a vehicle group is temporarily separated as a result of being obstructed by a vehicle unrelated to the vehicle group, the separated vehicle groups or platoons can be reconstituted into the original single vehicle group or platoon after a sufficient amount of time has passed. Furthermore, by generating an initial value for the trajectory command that improves the efficiency of the calculation of a new trajectory command, it is possible to prevent the trajectory command from converging to a local optimal solution and achieve on-time arrival of each moving body in the moving body group.

[0039] 3 and 4 are diagrams showing an example of the flow of physical information via a moving body 1A and a communication device 900 mounted on each moving body 1A, according to this embodiment. In Fig. 3 and Fig. 4, a vehicle group formed by three vehicles as moving bodies is shown schematically, with a leading vehicle being vehicle 11 and trailing vehicles being vehicles 12 and 13.

[0040] 3, all vehicles (vehicle 11, vehicle 12, and vehicle 13) are equipped with trajectory generator 200A and communication device 900. In this case, the communication flow of physical information via communication device 900 may be, for example, as indicated by the dashed arrows, transmitted in a bucket brigade manner, such as transmission from vehicle 11 to vehicle 12 and transmission from vehicle 12 to vehicle 13, or the communication network may constitute any graph network, such as direct transmission from vehicle 11 to vehicle 13 without passing through vehicle 12.

[0041] On the other hand, in FIG. 4, all vehicles (vehicles 11, 12, and 13) are equipped with a communication device 900, but only vehicle 11 is equipped with a trajectory generator 200A.

[0042] As described above, the trajectory generator 200A may be provided to all of the moving bodies 1A in the moving body group, or may be provided to only one of the moving bodies 1A in the moving body group. Specifically, in Fig. 4, only the leading vehicle 11 is provided with the trajectory generator 200A, and as a result, if the vehicle 11 travels along a predetermined trajectory, the following vehicles (vehicles 12 and 13) simply follow the vehicles in front of them (vehicle 11 in front of vehicle 12, and vehicle 12 in front of vehicle 13). In this case, even if the following vehicles are not equipped with the trajectory generator 200A, they can travel along the trajectory and maintain the formation by utilizing known technologies such as lane keep assist or adaptive cruise control.

[0043] The characteristics of the moving body 1A can be summarized as follows from the viewpoints of the leading vehicle and the trailing vehicle.

[0044] <Concept from the viewpoint of the leading vehicle> The trajectory generator 200A itself constantly monitors whether a following moving body 1A is present within a predetermined range behind itself based on the magnitude of the evaluation function stored in the trajectory generator 200A. For example, if the evaluation function is large, the trajectory generator 200A recognizes that the following vehicle is located far from the above-mentioned range, and makes a decision to slow down its own speed or to increase the speed of the following vehicle. Such a decision, in other words, whether the relative distance between the moving bodies 1A is long or short, is shared by all moving bodies 1A via the communication device 900.

[0045] As a result, each moving body 1A can determine its own optimum trajectory while observing the surrounding situation, and the moving body 1A that is separated and left behind can overtake only when it is determined that overtaking is possible and catch up with the vehicle ahead.

[0046] <Concept of Following Vehicle's Viewpoint> The trajectory generator 200A itself constantly monitors whether the leading (preceding) moving body 1A is present within a predetermined range ahead of itself based on the magnitude of the evaluation function stored in the trajectory generator 200A. For example, if the evaluation function is large, the leading vehicle is recognized as being located far from the above-mentioned range, and the trajectory generator 200A determines to increase its own speed. Furthermore, if the leading (preceding) moving body 1A also determines to reduce its own speed if the following vehicle is located far away. The above determination (whether the relative distance is long or short) is shared by all moving bodies 1A via the communication device 900.

[0047] As a result, each moving body 1A can determine its own optimum trajectory while observing the surrounding situation, and the moving body 1A that is separated and left behind can overtake only when it is determined that overtaking is possible and catch up with the vehicle ahead.

[0048] The effects of this embodiment will now be specifically described using an example of numerical calculations. Fig. 5 is a diagram showing an example of the initial states of a group of moving objects and a moving object (disturbance) unrelated to the group of moving objects, according to this embodiment.

[0049] Vehicles 11, 12, and 13 form a group (vehicle group) and travel in a vertical convoy while maintaining a distance L between the front and rear vehicles. In front of vehicle 11, which is the lead vehicle, vehicle 30, which is an external disturbance factor unrelated to the vehicle group, is traveling. Vehicles 11, 12, and 13 correspond to mobile object 1A in this embodiment. The vehicle group travels on two lanes, lane 21 and lane 22, and a scenario will be considered in which vehicles 11, 12, and 13 overtake vehicle 30 while straying into lane 22.

[0050] 6, 7, 8, 9, and 10 show examples of numerical calculations relating to this embodiment. Fig. 6 is a diagram showing a state in which a group of vehicles traveling in a formation on lane 21 approaches a vehicle 30 traveling on lane 21.

[0051] 7 is a diagram showing a situation in which a group of vehicles traveling in formation on lane 21 make a lane change to lane 22. In FIG. 7 , trajectory generator 200A of vehicle 11 detects the presence of vehicle 30 and outputs a trajectory command for a lane change to lane 22. Then, based on the trajectory command, vehicle 11 makes a lane change to lane 22. Similarly, trajectory generators 200A of vehicles 12 and 13, which are following vehicles of vehicle 11, detect the presence of vehicle 30 and output a trajectory command for a lane change to lane 22. Then, based on the trajectory command, vehicles 12 and 13 make a lane change to lane 22. Note that another vehicle 31 is traveling ahead on lane 22.

[0052] 8 is a diagram showing a situation in which a group of vehicles that have changed lanes to lane 22 overtake vehicle 30 and then change lanes again to lane 21. In Fig. 8, vehicle 11 traveling in lane 22 overtakes vehicle 30, and then changes lanes back to lane 21 at the appropriate timing based on a trajectory command from trajectory generator 200A. Similarly, vehicle 12 traveling in lane 22 overtakes vehicle 30, and then changes lanes back to lane 21 at the appropriate timing based on a trajectory command from trajectory generator 200A.

[0053] However, thereafter, vehicle 30 traveling in lane 21 increases its speed and moves ahead of vehicle 13, and vehicle 31 traveling in lane 22 moves ahead of vehicle 13, preventing vehicle 13 from changing lanes to lane 21 based on the trajectory command from trajectory generator 200A, just like vehicles 11 and 12. In other words, the group of vehicles consisting of vehicle 11, vehicle 12, and vehicle 13 is separated.

[0054] 9 is a diagram showing a state in which vehicle 13 changes lanes. In FIG. 9 , vehicle 30 is traveling at an increased speed in lane 21, causing vehicle 31 to move away from the rear of lane 22, creating space for vehicle 13 to change lanes, and vehicle 13 changes lanes at that timing. In detail, first, vehicle 13 traveling in lane 22 changes lanes to lane 21 based on a trajectory command from trajectory generator 200A of vehicle 13, and overtakes vehicle 31 traveling in lane 22. Thereafter, vehicle 13 traveling in lane 21 changes lanes to lane 22 based on a trajectory command from trajectory generator 200A of vehicle 13, and overtakes vehicle 30 traveling in lane 21. This operation is realized by the calculation auxiliary unit 230 inputting appropriate initial values ​​to the optimization calculation unit 220, and the optimization calculation unit 220 calculating a trajectory command based on the initial values.

[0055] 10 is a diagram showing a state in which vehicle 13 follows behind vehicle 12. In Fig. 10, vehicle 13 traveling in lane 22 increases its speed based on a trajectory command from trajectory generator 200A, and after passing vehicle 30 traveling in lane 21, vehicle 13 again changes lanes to lane 21 based on the trajectory command from trajectory generator 200A, and follows behind vehicle 12.

[0056] In this way, even if vehicles 30 and 31, which are disturbance elements, interfere with a lane change in a platoon of vehicles, causing the platoon to be temporarily separated (as shown in FIG. 8 ), vehicle 13, which is left behind when the platoon is separated, can converge to the original platoon of vehicles after a while. In other words, it can be seen that the platoon of three vehicles functions as a flock with the same control objective of following the lead vehicle while avoiding disturbances.

[0057] As described above, according to this embodiment, even if a group of moving objects is temporarily separated, the original group can be re-formed after a sufficient amount of time has passed while avoiding disturbances.

[0058] Second Embodiment A moving body and a method for controlling the moving body according to this embodiment will be described. In the following description, components similar to those described in the above-described embodiment will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0059] 11 is a conceptual diagram illustrating an example of the configuration of a moving body according to this embodiment. As illustrated in the example of FIG. 11, moving body 1B includes housing 1000, internal sensor 800 such as a vehicle speed sensor or a steering angle sensor, external sensor 850 such as a camera or millimeter wave sensor, communication device 900, memory 100, trajectory generator 200B, and controller 600 that controls the speed and steering angle.

[0060] 12 is a diagram showing an example of the internal configuration of a trajectory generator 200B according to this embodiment. As shown in the example in FIG. 12, the trajectory generator 200B includes a prediction model generation unit 210, an optimization calculation unit 220, a calculation assistant unit 230, and a target position generation unit 240.

[0061] The target position generation unit 240 receives as input the trajectory command from the optimization calculation unit 220, the map information (including course information) from the memory 100, and the physical information from the communication device 900, and generates a position (target position) at which each moving body forming the flock should arrive after a predetermined time, and outputs the target position and the arrival time at the target position to the optimization calculation unit 220.

[0062] 13, 14, and 15 are diagrams schematically illustrating examples of herd behavior based on the target position and arrival time generated by the target position generation unit 240. In FIGS. 13, 14, and 15, similar to the case shown in FIG. 5, vehicles 11, 12, and 13 initially form a herd (vehicle group) and travel in a vertical convoy while maintaining a vehicle-to-vehicle distance L between the front and rear vehicles. Ahead of vehicle 11, the lead vehicle, vehicle 30, which is an external disturbance factor (hereinafter also referred to as an obstacle) unrelated to the vehicle group, is traveling in lane 21. The vehicle group travels on two lanes, lane 21 and lane 22, and vehicles 11, 12, and 13 are required to simultaneously arrive at a target location (or delivery destination) at a predetermined time. Vehicles 11, 12, and 13 correspond to mobile unit 1B in this embodiment.

[0063] 13, consider a case where vehicle 13 is separated from the group of vehicles 11 and 12 by vehicle 30, which is an obstacle, and further by vehicle 31 traveling on lane 22. Furthermore, the target position and arrival time generated by target position generation unit 240 correspond to, for example, the above-mentioned target point (or delivery location) and the arrival time at the target point, but the target position does not have to be the target point.

[0064] FIG. 14 shows an example of a group of vehicles when there is a margin of time for arrival at the target position, in other words, when the target position generation unit 240 has generated an arrival time with a margin of time.

[0065] In this case, even if vehicle 13 is temporarily separated from the vehicle group, the estimated arrival time of vehicle 13 at the target position when vehicle 13 is traveling at, for example, the upper limit speed limit can be made earlier than the arrival time of the vehicle group generated by the target position generation unit 240. In other words, there is sufficient time for simultaneous arrival at the target position. Therefore, target positions are generated for vehicle 11, vehicle 12, and vehicle 13 so that vehicle 13 can catch up with the vehicle group of vehicles 11 and 12 ahead and re-form the vehicle group. In short, if one objective imposed on the vehicle group is to arrive at the target point (or delivery destination) on time, the target position generation unit 240 generates target positions for the vehicles so that this can be achieved, and automatically adjusts and generates trajectory commands that take the target positions into consideration.

[0066] On the other hand, FIG. 15 shows an example of a group of vehicles in which there is no margin for the arrival time at the target position, in other words, in which the target position generation unit 240 has generated an arrival time with no margin for error.

[0067] In this case, even if vehicle 13 is temporarily separated from the group of vehicles, the estimated arrival time of vehicle 13 at the target position when vehicle 13 travels at the upper limit speed limit is later than the arrival time of the group of vehicles generated by target position generation unit 240, so there is no time to arrive at the target position simultaneously. Therefore, vehicle 13 is made to give up on catching up with the group of vehicles 11 and 12 ahead of it.

[0068] In automobile logistics using expressways, vehicles 11, 12, and 13 travel within the upper speed limit for safety reasons. In the case of FIG. 15 , vehicles 11 and 12 travel within the upper speed limit, but vehicle 13 is blocked from the platoon by obstacles, vehicles 30 and 31, forcing a trajectory command to decelerate to avoid a collision. Therefore, even if vehicle 13 travels at the upper speed limit after safely overtaking vehicles 30 and 31, vehicle 13 cannot catch up with the group of vehicles 11 and 12 ahead of it if there is no time to spare. Therefore, if the target position generation unit 240 generates an arrival time with no time to spare, vehicle 13 is not allowed to regroup with the group of vehicles 11 and 12 ahead of it, and the target positions of vehicles 11, 12, and 13 are calculated. In other words, priority is given to the on-time arrival of the group of vehicles 11 and 12 at the destination (or delivery location).

[0069] As described above, according to this embodiment, when a group is split, each moving object can automatically determine whether or not to re-form the group. Therefore, it is possible to maximize the probability that the entire group can arrive on time, and to achieve on-time arrival only with groups that can re-form even when the group is split.

[0070] Third Embodiment A moving body and a method for controlling the moving body according to this embodiment will be described. In the following description, components similar to those described in the above embodiments will be denoted by the same reference numerals, and detailed descriptions thereof will be omitted as appropriate.

[0071] <Configuration of the Mobile Body> Fig. 16 is a diagram conceptually illustrating an example of the configuration of a mobile body according to this embodiment. As illustrated in Fig. 16, a mobile body 1C includes a housing 1000, an internal sensor 800 such as a vehicle speed sensor or a steering angle sensor, an external sensor 850 such as a camera or millimeter wave, a communication device 900, a memory 100, a trajectory generator 200A, a controller 600 that controls the speed and steering angle, and an arrangement allocator 300. Note that a trajectory generator 200B may be provided instead of the trajectory generator 200A.

[0072] 17 is a diagram showing an example of the internal configuration of the placement allocator 300 according to this embodiment. As shown in the example in FIG. 17, the placement allocator 300 includes a formation command generator 310, a movement cost calculator 320, and an optimal array calculator 330.

[0073] The formation command generator 310 receives as input relative physical information from the communicator 900 and map information (including course information) from the memory 100, and outputs formation information. Specifically, the formation command generator 310 determines and outputs a formation command (formation command value) based on information about the external environment, such as the physical information from the communicator 900 and the map information (including course information) from the memory 100. Here, the formation is primarily specified when a vehicle group splits (when some vehicles in the vehicle group split from the vehicle group) or when a vehicle group merges (when at least one vehicle joins the vehicle group). In the case of splitting, the formation indicates how each vehicle in the vehicle group should be positioned within the vehicle group after splitting. In the case of merging, the formation indicates how the vehicles joining the vehicle group and the vehicles already positioned within the vehicle group should be positioned within the vehicle group after merging. The formation command generator 310 may also use a formation command value generated in another block (at another merging or splitting timing).

[0074] The movement cost calculation unit 320 calculates the movement cost of each vehicle required to achieve the desired formation based on the relative physical information from the communication device 900, in other words, the position of each vehicle in the current vehicle group, and the formation information from the formation command generation unit 310, and outputs the calculated movement cost information.

[0075] The optimal array calculation unit 330 uses optimization calculations to calculate which vehicles in the vehicle group should be assigned to which positions in the formation to minimize the cost associated with movement (movement cost, such as distance or energy), and calculates the optimal allocation ID. Any algorithm, such as the well-known Hungarian algorithm, can be used for the optimization calculation. The optimal allocation ID is input to at least the prediction model generation unit 210 in the trajectory generator 200A (or trajectory generator 200B), which is located downstream, and can also be used as input to the optimization calculation unit 220, the calculation auxiliary unit 230, or the target position generation unit 240.

[0076] Here, we will explain the role of the placement allocator 300. Figures 18 and 19 are diagrams that schematically show examples of the role of the placement allocator 300 according to this embodiment.

[0077] As shown in the example of Figure 18, consider a case where a group of eight vehicles is approaching a diverging point and one of the vehicles in the group is diverging. For example, it is assumed that each vehicle in the group has a different delivery destination as its destination.

[0078] When one vehicle 111 in a group of vehicles is diverted, a space corresponding to the diverted vehicle 111 is created, and the following vehicle (vehicle 112) experiences increased running resistance due to the turbulence in the airflow caused by the preceding vehicle (vehicle 110), resulting in a deterioration in fuel efficiency.

[0079] Therefore, as shown in the example in Figure 19, IDs for each vehicle in the group are assigned by optimization calculation, and the formation is modified to fill the space. Specifically, the traveling positions of vehicles 112 and 113, which are following vehicle 111 that has diverged, are modified forward within the group of vehicles so as to reduce the distance between them and vehicle 110. Normally, vehicles have fixed IDs such as vehicle numbers or license plates, but it should be noted that the IDs used for this formation assignment are IDs for optimized formation assignment, separate from the fixed IDs.

[0080] Next, a description will be given of another role of the placement allocator 300. Fig. 20 is a diagram schematically showing another example of the role of the placement allocator 300 according to this embodiment.

[0081] In logistics where the objective is to reach (deliver to) multiple destinations, a group of vehicles departs from a logistics base, and a distribution plan for each delivery destination is made in advance at the time of departure.

[0082] In this case, to facilitate diverging toward the delivery destination, the allocation allocator 300 can allocate vehicles so that they will be diverted in order from the rear of the vehicle group at the time of departure (the numbers assigned to each vehicle in FIG. 20 indicate the order in which they will be diverted). Furthermore, because each vehicle in the vehicle group is constantly aware of information about the external environment, such as relative physical information from the communicator 900 and map information (including course information) from the memory 100, the allocation allocator 300 can rearrange each vehicle in the vehicle group so that diverging toward the delivery destination is easy even during delivery.

[0083] Furthermore, it is also possible that a group of vehicles will make deliveries while circulating around a specific area, and in such cases, the allocation allocator 300 can allow vehicles that have completed their delivery to merge with the original group of vehicles at the minimum cost.

[0084] As described above, according to this embodiment, each moving object in a flock can automatically form a formation for merging or splitting with the shortest travel distance. Furthermore, a formation can be formed that minimizes the travel cost associated with lining up. Furthermore, by positioning each moving object in advance with consideration given to merging or splitting, the travel cost of the moving objects in the flock can be reduced.

[0085] <Regarding the Hardware Configuration of the Mobile Body> In the mobile body 1A, mobile body 1B, and mobile body 1C shown in the above-described embodiments, the trajectory generator 200A, the trajectory generator 200B, the controller 600, the placement allocator 300, and the respective functional units that constitute these, examples of which are shown in Figures 2, 12, and 17, may be configured with separate control circuits, or may be configured together with a single control circuit.

[0086] In this regard, the processing circuitry that realizes these functions can be configured as either dedicated hardware or a CPU (Central Processing Unit, also known as a central processing unit, processing unit, arithmetic unit, microprocessor, microcomputer, processor, or DSP) that executes programs stored in memory.

[0087] Fig. 21 is a diagram illustrating a schematic example of a hardware configuration when a mobile object is actually operated, and Fig. 22 is a diagram illustrating a schematic example of a hardware configuration when a mobile object is configured by software.

[0088] 21 may be, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof. The functions of each of the above functional units may be realized individually by a processing circuit, or the functions of the above functional units may be realized collectively by a processing circuit.

[0089] When the functions of the above-described functional units are realized by the CPU shown in Fig. 22, the functions of the above-described functional units are realized by software, firmware, or a combination of software and firmware. The software or firmware is written as a program and stored in memory 3100. Processor 3000, which is a processing circuit, realizes the functions of the units by reading and executing the program stored in memory 3100. These programs can also be said to cause a computer to execute the procedures or methods of the above-described functional units.

[0090] Here, memory 3100 may be, for example, a non-volatile or volatile semiconductor memory such as RAM, ROM, flash memory, EPROM, or EEPROM, or a magnetic disk, flexible disk, optical disk, compact disk, mini disk, DVD, or the like.

[0091] It should be noted that some of the functions of the above-mentioned sections may be realized by dedicated hardware, and other parts may be realized by software or firmware.

[0092] In this way, the processing circuit can realize the functions of each of the above-mentioned functional units by means of hardware, software, firmware, or a combination of these.

[0093] Furthermore, various information required for processing is set in advance in the circuit in the case of a hardware configuration, and is stored in advance in memory in the case of a software configuration.

[0094] <Regarding the Effects Produced by the Multiple Embodiments Described Above> Next, examples of the effects produced by the multiple embodiments described above will be described. Note that in the following description, the effects will be described based on the specific configurations exemplified in the multiple embodiments described above, but these may be replaced with other specific configurations exemplified in the present specification to the extent that similar effects are produced. In other words, for convenience, only one of the associated specific configurations may be described as a representative below, but the representatively described specific configuration may be replaced with another associated specific configuration.

[0095] Furthermore, the replacement may be made across multiple embodiments, i.e., configurations illustrated in different embodiments may be combined to produce the same effect.

[0096] According to the embodiment described above, the moving object 1A (or the moving object 1B or the moving object 1C) that moves in a group of multiple moving objects includes a sensor, a communicator 900, a trajectory generator 200A (or the trajectory generator 200B), and a controller 600. Here, the sensor corresponds to, for example, the internal sensor 800 or the external sensor 850. The sensor detects information inside or outside the moving object 1A as detection information. The communicator 900 transmits and receives physical information including relative information between the multiple moving objects 1A. The trajectory generator 200A sequentially generates trajectory commands that indicate the trajectories of the moving objects 1A that move while forming a group, based on the detection information, physical information, and map information. The controller 600 controls the operation of the moving object 1A based on the trajectory commands.

[0097] With this configuration, by controlling the movement of the moving bodies using trajectory commands that are generated sequentially, even if a group of moving bodies is separated by an external disturbance, the group can be re-formed after a sufficient amount of time has passed while avoiding the disturbance.

[0098] Furthermore, even if other configurations shown as examples in this specification are appropriately added to the above configuration, that is, even if other configurations in this specification that were not mentioned as the above configuration are appropriately added, the same effect can be achieved.

[0099] Furthermore, according to the embodiment described above, the trajectory generator 200A includes a calculation auxiliary unit 230 that generates initial values ​​for the moving object 1A used when generating a new trajectory command based on physical information, map information, and the trajectory command. With this configuration, the calculation auxiliary unit 230 generates appropriate initial values ​​(initial values ​​that improve the efficiency of calculations) for generating the trajectory command, thereby suppressing convergence of the trajectory command to a local optimal solution and realizing on-time arrival of the moving object flock. Furthermore, even when the moving object flock is divided by a disturbance, making it difficult to generate trajectory commands continuously and smoothly, the trajectory command can be generated efficiently.

[0100] Furthermore, according to the embodiment described above, the calculation auxiliary unit 230 generates an initial value for the velocity of the moving body 1A in accordance with the difference between the terminal state of the moving body 1A calculated by the prediction model generation unit 210 from the current state of the moving body 1A and the desired terminal state. With this configuration, the initial value for the velocity is generated in accordance with the difference between the current state of the moving body and the terminal state indicated by the trajectory command, so that even in cases where it is difficult to generate trajectory commands continuously and smoothly, it is possible to generate trajectory commands efficiently.

[0101] Furthermore, according to the embodiment described above, the trajectory generator 200B includes a target position generator 240 for generating a target position for each moving object 1B forming the flock and an arrival time for the moving object 1B to arrive at the target position based on physical information, map information, and a trajectory command. With this configuration, when a flock of moving objects is separated, each moving object can automatically determine whether or not to re-form the flock. Therefore, while maximizing the probability that the entire flock will be able to arrive on time, even if the flock is separated, it is possible to achieve on-time arrival with only the flock that can be re-formed.

[0102] Furthermore, according to the embodiment described above, if the estimated arrival time of the moving object 1B at the target position is earlier than the arrival time generated by the target position generation unit 240, the trajectory generator 200B generates a trajectory command for forming a flock of multiple moving objects 1B. With this configuration, if the flock is split and a moving object is left behind, it is possible to re-form a flock including that moving object and achieve on-time arrival.

[0103] Furthermore, according to the embodiment described above, when the estimated arrival time of a first moving body (for example, the left-behind vehicle 13) at the target position is later than the arrival time generated by the target position generation unit 240, the trajectory generator 200B generates a trajectory command to form a flock of multiple moving bodies 1B excluding the left-behind vehicle 13. With this configuration, when a moving body is left behind due to a split in the flock, the flock can be reformed with multiple moving bodies excluding the split-behind moving body, and the on-time arrival of some moving bodies can be prioritized.

[0104] Furthermore, according to the embodiment described above, the moving object includes a placement assigner 300 for forming a formation for merging or splitting groups based on physical information and map information. With this configuration, each moving object can automatically form a formation for merging or splitting groups with the shortest travel distance.

[0105] Furthermore, according to the embodiment described above, the placement allocator 300 includes a formation generation unit, a movement cost calculation unit 320, and an array calculation unit. Here, the formation generation unit corresponds, for example, to the formation command generation unit 310. Furthermore, the array calculation unit corresponds, for example, to the optimal array calculation unit 330. The formation command generation unit 310 generates formation information, which is information regarding the formation of the flock, based on physical information and map information. The movement cost calculation unit 320 calculates the movement cost for each moving object 1C in the flock to move to each position in the formation indicated by the formation information, and outputs the calculated movement cost information. The optimal array calculation unit 330 calculates an assignment ID indicating the placement of each moving object 1C based on the movement cost information. With this configuration, it is possible to calculate, through optimization calculation, which vehicle in the vehicle group should be assigned to which position in the formation in order to reduce movement costs.

[0106] Furthermore, according to the embodiment described above, the optimal arrangement calculation unit 330 calculates the allocation ID so as to minimize the total movement cost of the group. With this configuration, it is possible to calculate, through optimization calculation, which vehicle in the group should be assigned to which position in the formation in order to minimize the movement cost.

[0107] According to the embodiment described above, in the method for controlling a moving object, information inside or outside the moving object 1A is detected as detection information. Then, based on physical information including relative information between the multiple moving objects 1A, the detection information, and map information, trajectory commands indicating trajectories of the moving objects 1A that move while forming a flock are sequentially generated. Then, the operation of the moving objects 1A is controlled based on the trajectory commands.

[0108] With this configuration, by controlling the movement of the moving bodies using trajectory commands that are generated sequentially, even if a group of moving bodies is separated by an external disturbance, the group can be reformed after a sufficient amount of time has passed while avoiding the disturbance.

[0109] Unless otherwise specified, the order in which the processes are performed can be changed.

[0110] Furthermore, even if other configurations shown as examples in this specification are appropriately added to the above configuration, that is, even if other configurations in this specification that were not mentioned as the above configuration are appropriately added, the same effect can be achieved.

[0111] <Regarding Modifications of the Multiple Embodiments Described Above> In the multiple embodiments described above, the dimensions, shapes, relative positional relationships, and implementation conditions of each component may be described, but these are merely examples in all aspects and are not limiting.

[0112] Therefore, countless modifications and equivalents not shown as examples are contemplated within the scope of the technology disclosed in the present specification, including, for example, modifying, adding, or omitting at least one component, and further, extracting at least one component from at least one embodiment and combining it with a component from another embodiment.

[0113] Furthermore, unless a contradiction arises, when it is stated in the above-described embodiments that "one" component is provided, "one or more" of that component may be provided.

[0114] Furthermore, each component in the embodiments described above is a conceptual unit, and the scope of the technology disclosed in this specification includes cases where one component is made up of multiple structures, cases where one component corresponds to a part of a structure, and even cases where multiple components are provided in one structure.

[0115] Furthermore, each of the components in the embodiments described above includes structures having other structures or shapes as long as they perform the same function.

[0116] Furthermore, the descriptions in this specification are incorporated by reference for all purposes related to the present technology, and none of them are admitted to be prior art.

[0117] Furthermore, each of the components described in the above-described embodiments is envisioned as software or firmware, as well as corresponding hardware, and as software it is referred to as, for example, a "unit" or "device," and as hardware it is referred to as, for example, a "processing circuit" (circuitry).

[0118] Furthermore, the technology disclosed in this specification may also be in a form in which each component is distributed across multiple devices, that is, in a form such as a system that is a combination of multiple devices.

[0119] 1A Mobile body, 1B Mobile body, 1C Mobile body, 11 Vehicle, 12 Vehicle, 13 Vehicle, 21 Lane, 22 Lane, 30 Vehicle, 31 Vehicle, 100 Memory, 110 Vehicle, 111 Vehicle, 112 Vehicle, 200A Trajectory generator, 200B Trajectory generator, 210 Prediction model generation unit, 220 Optimization calculation unit, 230 Calculation support unit, 240 Target position generation unit, 300 Placement allocator, 310 Formation command generation unit, 320 Movement cost calculation unit, 330 Optimal array calculation unit, 600 Controller, 800 Internal sensor, 850 External sensor, 900 Communication device, 1000 Housing, 113 Vehicle, 2000 Processing circuit, 3000 Processor, 3100 Memory.

Claims

1. A group of mobile bodies comprising: a sensor that detects information from at least one of the inside and outside of the mobile bodies as detection information; a communicator that transmits and receives physical information including relative information between the multiple mobile bodies; a trajectory generator that sequentially generates trajectory commands that indicate the trajectories of the mobile bodies based on the detection information, the physical information, and map information; and a controller that controls the operation of the mobile bodies based on the trajectory commands.

2. A mobile body according to claim 1, wherein the trajectory generator comprises a calculation auxiliary unit that generates initial values ​​for the mobile body to be used when generating a new trajectory command based on the physical information, the map information and the trajectory command.

3. A moving body according to claim 2, wherein the calculation auxiliary unit generates an initial value of the velocity of the moving body according to the difference between the current state of the moving body and the terminal state of the moving body indicated by the trajectory command.

4. A mobile body according to any one of claims 1 to 3, wherein the trajectory generator further comprises a target position generation unit that generates, based on the physical information, the map information and the trajectory command, a target position at which each of the mobile bodies forming the swarm will be located and an arrival time at which the mobile body will arrive at the target position.

5. A mobile body according to claim 4, wherein, when the predicted arrival time of the mobile body at the target position is earlier than the arrival time generated by the target position generation unit, the trajectory generator generates the trajectory command for forming the flock of multiple mobile bodies.

6. A mobile body according to claim 4, wherein the plurality of mobile bodies includes a first mobile body, and when the predicted arrival time of the first mobile body at the target position is later than the arrival time generated by the target position generation unit, the trajectory generator generates the trajectory command for forming the flock of the plurality of mobile bodies excluding the first mobile body.

7. A mobile body according to any one of claims 1 to 6, further comprising a placement assigner that forms a formation for the merging or splitting of the flocks based on the physical information and the map information.

8. A mobile body as described in claim 7, wherein the placement allocator comprises: a formation generation unit for generating formation information, which is information regarding the formation of the flock, based on the physical information and the map information; a movement cost calculation unit for calculating the movement cost for each of the mobile bodies in the flock to move to each position in the formation indicated by the formation information, and outputting the movement cost information; and an array calculation unit for calculating an assignment ID indicating the placement of each of the mobile bodies based on the movement cost information.

9. A mobile body according to claim 8, wherein the array calculation unit calculates the assigned ID so as to minimize the total movement cost of the group.

10. A method for controlling multiple moving bodies that move in a flock, comprising: detecting information from at least one of the inside and outside of the moving bodies as detection information; sequentially generating trajectory commands that indicate the trajectories of the moving bodies that move while forming the flock based on physical information including relative information between the multiple moving bodies, the detection information, and map information; and controlling the operation of the moving bodies based on the trajectory commands.

Citation Information

Patent Citations

  • Convoy travel apparatus

    JP2019067057A

  • Group traveling system

    JP2020086940A

  • Traveling trajectory generation device

    WO2023002579A1