Information processing device and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SOFTBANK GROUP CORP
- Filing Date
- 2023-01-11
- Publication Date
- 2026-08-04
Smart Images

Figure 0007900304000003 
Figure 0007900304000004 
Figure 0007900304000005
Abstract
Description
Technical Field
[0001] The present invention relates to an information processing apparatus and a program.
Background Art
[0002] Patent Document 1 describes a vehicle having an automatic driving function.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Means for Solving the Problems
[0004] According to an embodiment of the present invention, an information processing apparatus is provided. The information processing apparatus includes a registration unit that registers a driving pattern that a vehicle has performed in the past to avoid an obstacle, and registers a plurality of different driving patterns, an acquisition unit that acquires a plurality of pieces of information related to the vehicle from a detection unit including a sensor that detects a situation around the vehicle including the obstacle, and a setting unit that selectively sets a driving pattern for the vehicle to avoid the obstacle from the plurality of registered driving patterns using the acquired plurality of pieces of information, a calculation unit that calculates a control variable for controlling the behavior of the vehicle so that the vehicle travels according to the set driving pattern based on the acquired plurality of pieces of information and the set driving pattern, and a control unit that controls the behavior of the vehicle based on the calculated control variable.
[0005] According to an embodiment of the present invention, in the information processing apparatus, the registration unit registers the driving pattern for each vehicle to be controlled or for each vehicle type of the vehicle.
[0006] According to one embodiment of the present invention, in the above-mentioned information processing device, the obstacle is a vehicle other than the vehicle mentioned above.
[0007] According to one embodiment of the present invention, in the information processing device described above, the control variables are the speed of the vehicle and the timing for changing the speed of the vehicle.
[0008] According to one embodiment of the present invention, in the above-mentioned information processing device, the calculation unit calculates the control variables by multivariate analysis using an integral method employing deep learning.
[0009] According to one embodiment of the present invention, in the information processing apparatus described above, the acquisition unit acquires the plurality of pieces of information in units of one billionth of a second, the calculation unit calculates the control variables using the information acquired in units of one billionth of a second, and the control unit controls the behavior of the vehicle in units of one billionth of a second using the control variables.
[0010] According to one embodiment of the present invention, a program is provided for causing a computer to function as the information processing device.
[0011] It should be noted that the above summary of the invention does not list all the necessary features of the present invention. Furthermore, subcombinations of these features may also constitute an invention. [Brief explanation of the drawing]
[0012] [Figure 1] This diagram schematically illustrates the risk prediction capability of the AI for ultra-high-performance autonomous driving according to this embodiment. [Figure 2] This diagram schematically shows an example of the network configuration inside a vehicle according to this embodiment. [Figure 3] This is a flowchart executed by Central Brain according to this embodiment. [Figure 4] This is the first explanatory diagram illustrating an example of autonomous driving control using Central Brain according to this embodiment. [Figure 5]This is a second explanatory diagram illustrating an example of autonomous driving control by Central Brain according to this embodiment. [Figure 6] This is a third explanatory diagram illustrating an example of autonomous driving control by Central Brain according to this embodiment. [Figure 7] This is a fourth explanatory diagram illustrating an example of autonomous driving control by Central Brain according to this embodiment. [Figure 8] This is a fifth explanatory diagram illustrating an example of autonomous driving control by Central Brain according to this embodiment. [Figure 9] This is a schematic diagram showing the state in which other vehicles are traveling around the vehicle during autonomous driving control by Central Brain according to this embodiment. [Figure 10] This is the first explanatory diagram illustrating an example of setting a driving strategy using Central Brain according to this embodiment. [Figure 11] This is a second explanatory diagram illustrating an example of setting a driving strategy using Central Brain according to this embodiment. [Figure 12] This block diagram shows an example of the configuration of an information processing device including a Central Brain according to this embodiment. [Figure 13] This is a schematic diagram showing the first relationship between the own vehicle and other vehicles regarding the driving strategy set by the Central Brain according to this embodiment. [Figure 14] This is a schematic diagram showing the first relationship between the own vehicle and other vehicles regarding the driving strategy set by the Central Brain according to this embodiment. [Figure 15] This is a flowchart executed by Central Brain according to this embodiment. [Figure 16] This is an explanatory diagram illustrating an example of setting a driving strategy using Central Brain according to the second embodiment. [Figure 17] This is a flowchart executed by Central Brain according to the second embodiment. [Figure 18]It is a flowchart executed by the Central Brain according to the second embodiment. [Figure 19] It is a diagram schematically showing an example of the hardware configuration of a computer that functions as the Central Brain.
Modes for Carrying Out the Invention
[0013] Hereinafter, the present invention will be described through embodiments of the invention. However, the following embodiments do not limit the invention according to the claims. Also, not all combinations of features described in the embodiments are essential for the solution of the invention.
[0014] [First Embodiment] The information processing apparatus of the present disclosure may obtain an index value necessary for driving control with high accuracy based on a lot of information related to vehicle control. Therefore, at least a part of the information processing apparatus of the present disclosure may be mounted on a vehicle and realize vehicle control.
[0015] Also, the information processing apparatus of the present disclosure can be realized in real time based on data obtained by AI / multivariable analysis / goalseeking / strategy formulation / optimal probability solution / optimal speed solution / optimal course management / multiple sensor inputs at the edge in Autonomous Driving at Level6, and can provide a driving system adjusted based on the delta optimal solution.
[0016] "Level6" is a level representing autonomous driving and corresponds to a level higher than Level5 which represents fully autonomous driving. Although Level5 represents fully autonomous driving, it is at the same level as when a person drives, and there is still a probability that an accident or the like will occur. Level6 represents a level higher than Level5 and corresponds to a level with a lower probability of an accident than Level5.
[0017] The computing power at Level 6 is approximately 1000 times that of Level 5. Therefore, high-performance operational control that was not possible at Level 5 becomes achievable.
[0018] Figure 1 schematically shows the hazard prediction capability of the AI for ultra-high-performance autonomous driving according to this embodiment. In this embodiment, multiple types of sensor information from multiple types of sensors acting as detection units is converted into AI data and stored in the cloud. The AI predicts and determines the best mix of situations every nanosecond (one billionth of a second) and optimizes the operation of the vehicle 12.
[0019] Figure 2 is a schematic diagram showing an example of a vehicle 12 equipped with a Central Brain 120. The Central Brain 120 may be an example of an information processing device according to this embodiment. As shown in Figure 2, the Central Brain 120 may have multiple Gateways connected in a communicative manner. The Central Brain 120 according to this embodiment can achieve Level 6 autonomous driving based on multiple pieces of information acquired via the Gateways. The Central Brain 120 is an example of an information processing device.
[0020] As shown in Figure 2, multiple gateways are connected to the Central Brain 120 in a communicative manner. The Central Brain 120 is connected to an external cloud via the gateways. The Central Brain 120 is configured to be able to access the external cloud via the gateways. On the other hand, the presence of the gateways prevents direct access to the Central Brain 120 from the outside.
[0021] The Central Brain 120 outputs a request signal to the server at predetermined intervals. Specifically, the Central Brain 120 outputs a request signal representing a query to the server every one billionth of a second.
[0022] Examples of sensors provided in the vehicle 12 used in this embodiment include radar, LiDAR, high-resolution, telephoto, ultra-wide-angle, 360-degree, and high-performance cameras, vision recognition, subtle sound, ultrasound, vibration, infrared, ultraviolet, electromagnetic waves, temperature, humidity, spot AI weather forecasting, high-precision multi-channel GPS, low-altitude satellite information, and long-tail incident AI data. Long-tail incident AI data refers to trip data from a vehicle equipped with functions capable of achieving Level 5 autonomous driving.
[0023] The above sensor includes a sensor that detects the conditions around the vehicle. The sensor that detects the conditions around the vehicle detects the conditions around the vehicle with a second cycle that is shorter than the first cycle in which the area around the vehicle is photographed with a camera or the like.
[0024] Sensor information collected from multiple types of sensors includes weight center of gravity shift, road material detection, outside temperature detection, outside humidity detection, up-down, side-to-side, and diagonal inclination angle detection of slopes, road freezing conditions, moisture content detection, tire material, wear status, air pressure detection, road width, presence or absence of overtaking restrictions, oncoming vehicles, vehicle type information of vehicles in front and behind, cruising status of those vehicles, and surrounding conditions (birds, animals, soccer balls, accident vehicles, earthquakes, fires, wind, typhoons, heavy rain, light rain, blizzards, fog, etc.). In this embodiment, these detections are performed every 1 billionth of a second.
[0025] The Central Brain 120, which functions as an example of an information processing device according to this embodiment, includes at least the following functions: an acquisition unit capable of acquiring multiple pieces of information related to a vehicle; a calculation unit that calculates control variables from the multiple pieces of information acquired by the acquisition unit; and a control unit that performs vehicle driving control based on the control variables.
[0026] For example, the Central Brain 120 has the function of using one or more sensor information detected by the above sensors to calculate the wheel speed and tilt of each of the vehicle's four wheels, as well as the wheel speed, tilt, and control variables for controlling each suspension supporting the wheels. Note that the wheel tilt includes both the tilt of the wheel relative to an axis horizontal to the road and the tilt of the wheel relative to an axis perpendicular to the road.
[0027] Here, one or more sensor information can be applied from sensors that detect the conditions around the vehicle. Furthermore, when using multiple sensor information, a predetermined number of sensor information can be applied. For example, three sensor information points are used. Based on these three sensor information points, index values for controlling wheel speed, tilt, and suspension are calculated. The number of index values calculated from the combination of three sensor information points is, for example, three. These index values for controlling wheel speed, tilt, and suspension include, for example, index values calculated from information regarding air resistance, index values calculated from information regarding road resistance, and index values calculated from information regarding the coefficient of slip.
[0028] Furthermore, the system aggregates index values calculated for each combination of sensor information (either a single sensor or a combination of multiple sensor information items) to calculate control variables for controlling wheel speed, tilt, and suspension. For example, index values are calculated from sensor information of a sensor that detects the surrounding conditions of the vehicle, and control variables are calculated from this index value. When using multiple sensor information, for example, multiple index values are calculated for the combination of sensors 1, 2, and 3; multiple index values are calculated for the combination of sensors 4, 5, and 6; and multiple index values are calculated for the combination of sensors 1, 3, and 7. These index values are then aggregated to calculate the control variables. In this way, a predetermined number of index values, for example 300, are calculated by changing the combination of sensor information, and the control variables are calculated. Specifically, the calculation unit may be capable of calculating control variables from sensor information using machine learning, more specifically, deep learning. In other words, the calculation unit that calculates index values and control variables can be composed of AI (Artificial Intelligence).
[0029] The calculation unit uses Level 6 computing power to perform multivariate analysis using the integral method shown in equation (1) below (see, for example, equation (2)) on nanosecond-by-nanosecond data collected from a large group of sensors, thereby determining accurate control variables. More specifically, while calculating the integral values of the delta values of various Ultra High Resolution sensors using Level 6 computing power, it obtains indexed values for each variable at the edge level and in real time, thereby obtaining the most probabilistic value for the result occurring in the next nanosecond.
[0030]
number
[0031]
number
[0032] In the formula, DL stands for deep learning, and A, B, C, D, ..., N are index values calculated from sensor information, such as index values calculated from air resistance, road resistance, road elements, and slip coefficient. If 300 index values are calculated by changing a predetermined number of combinations of sensor information, then the index values A to N in the formula will also be 300, and these 300 index values will be aggregated.
[0033] Furthermore, while equation (2) above calculates the wheel speed (V), the control variables for controlling the tilt and suspension are calculated in the same manner.
[0034] Specifically, the Central Brain 120 calculates a total of 16 control variables for controlling the wheel speed of each of the four wheels, the inclination of each of the four wheels relative to an axis horizontal to the road, the inclination of each of the four wheels relative to an axis perpendicular to the road, and the suspension supporting each of the four wheels. In this embodiment, the calculation of the above 16 control variables is performed every 1 billionth of a second. The wheel speed of each of the four wheels can also be described as the "spin rate (rotation speed) of the in-wheel motor mounted on each of the four wheels," and the inclination of each of the four wheels relative to an axis horizontal to the road can also be described as the "horizontal angle of each of the four wheels." These control variables, for example, become values for optimal steering when the vehicle is traveling on a mountain road, and values for optimal driving angle when the vehicle is parking in a parking lot.
[0035] Furthermore, in this embodiment, the Central Brain 120 calculates a total of 16 control variables for controlling the wheel speed of each of the four wheels, the inclination of each of the four wheels relative to an axis horizontal to the road, the inclination of each of the four wheels relative to an axis perpendicular to the road, and the suspension supporting each of the four wheels. However, this calculation does not necessarily have to be performed by the Central Brain 120; a dedicated anchor chip for calculating the above control variables may be provided separately. In this case as well, DL in equation (2) indicates deep learning, and A, B, C, D, ..., N indicate index values calculated from sensor information. If the number of indices to be aggregated is 300 as described above, the number of indices in the equation will also be 300.
[0036] Furthermore, in this embodiment, the Central Brain 120 functions as a control unit that controls automatic driving in units of one billionth of a second based on the control variables calculated above. Specifically, the Central Brain 120 controls the in-wheel motors mounted on each of the four wheels based on the 16 control variables above, thereby controlling the wheel speed, tilt, and suspension supporting each of the four wheels of the vehicle 12 to perform automatic driving.
[0037] Furthermore, the index value calculated from sensor information may be calculated from the sensor information of a single sensor, for example, a sensor that detects the surrounding conditions of the vehicle, and the control variable may be calculated from that index value.
[0038] The calculation unit described above includes a setting unit that sets a driving strategy for the vehicle based on multiple pieces of acquired information. One example of a driving strategy for the vehicle is that, when an obstacle exists in the vehicle's path, a driving strategy such as a driving pattern for the vehicle to avoid the obstacle can be applied. This driving strategy can apply information including a driving pattern related to the path from the vehicle to the destination, where the obstacle has been avoided.
[0039] The setting unit may set a destination as the location to be reached after a predetermined time has elapsed from the current location, and set information regarding the journey from the current location to the destination as the driving strategy. Alternatively, it may set a predetermined location from the current location as the destination, and set information regarding the journey from the current location to the destination as the driving strategy.
[0040] The setting unit may set a driving strategy based on destination information entered by the vehicle's occupants, traffic information between the current location and the destination, etc., to determine the driving information from the current location to the destination. In doing so, the information at the time the strategy is calculated, that is, the data currently acquired by the acquisition unit, may also be taken into consideration. This is to calculate a more realistic theoretical value by taking into account the surrounding conditions at that moment, rather than simply calculating the route to the destination. The driving strategy may consist of at least one theoretical value of the optimal route to the destination (strategic route), driving speed, tilt, and braking. Preferably, the driving strategy can consist of all of the theoretical values of the optimal route, driving speed, tilt, and braking mentioned above.
[0041] Multiple theoretical values that constitute the driving strategy set in the setting unit can be used for automatic driving control in the control unit. In addition, the control unit may include an update unit that updates the driving strategy based on the difference between multiple index values calculated in the calculation unit and each theoretical value set in the setting unit.
[0042] The index values calculated by the calculation unit are based on information acquired during vehicle operation, specifically those detected during actual driving. For example, they are inferred based on the coefficient of friction. Therefore, by updating the driving strategy in the update unit, it becomes possible to respond to the moment-to-moment changes when traveling along the strategic route. Specifically, the update unit calculates the difference (delta value) between the theoretical value and the index value included in the driving strategy, thereby deriving the optimal solution again and redefining the strategic route. This enables automated driving control that is just within the limits of avoiding slippage. Furthermore, since the aforementioned Level 6 computing power can be used even during such update processing, it becomes possible to correct and fine-tune in units of one billionth of a second, enabling more precise driving control.
[0043] Furthermore, if the acquisition unit has the aforementioned under-vehicle sensors, these sensors can also detect ground temperature and material, enabling it to respond to the ever-changing conditions while traveling along a strategic route. Independent smart tilt can also be implemented when calculating the driving course included in the driving strategy. Moreover, even if other information is detected (flying tires, debris, animals, etc.), by responding to the ever-changing conditions while traveling along the strategic route, the optimal driving course can be recalculated at each moment, enabling optimal course management.
[0044] The Central Brain 120 repeatedly executes the flowchart shown in Figure 3.
[0045] In step S10, the Central Brain 120 acquires sensor information, including road information detected by the sensors. Then, the Central Brain 120 proceeds to step S11. The processing in step S10 is an example of the function of the acquisition unit.
[0046] In step S11, the Central Brain 120 calculates the 16 control variables based on the sensor information acquired in step S10. Then, the Central Brain 120 proceeds to step S12. The process in step S11 is an example of the functions of the setting unit and the calculation unit.
[0047] In step S12, the Central Brain 120 controls the automatic driving based on the control variables calculated in step S11. Then, the Central Brain 120 terminates the processing of the flowchart. The processing in step S12 is an example of the function of the control unit.
[0048] Figures 4 to 8 are explanatory diagrams illustrating examples of autonomous driving control by Central Brain 120. Figures 4 to 6 are explanatory diagrams showing the vehicle 12 from a frontal view, while Figures 7 and 8 are explanatory diagrams showing the vehicle 12 from a downward view.
[0049] Figure 4 shows the vehicle 12 traveling on a flat road R1. Based on the 16 control variables calculated according to the road R1, the Central Brain 120 controls the in-wheel motors 31 mounted on each of the four wheels 30, thereby controlling the wheel speed, tilt, and the suspension 32 supporting each of the four wheels 30 to perform autonomous driving.
[0050] Figure 5 shows the vehicle 12 traveling on a mountain road R2. Based on the 16 control variables calculated according to the mountain road R2, the Central Brain 120 controls the in-wheel motors 31 mounted on each of the four wheels 30, thereby controlling the wheel speed, tilt, and the suspension 32 supporting each of the four wheels 30 to perform autonomous driving.
[0051] Figure 6 shows the vehicle 12 driving through a puddle R3. Based on the 16 control variables calculated according to the puddle R3, the Central Brain 120 controls the in-wheel motors 31 mounted on each of the four wheels 30, thereby controlling the wheel speed, tilt, and the suspension 32 supporting each of the four wheels 30 to perform automatic driving.
[0052] Figure 7 shows the case where the vehicle 12 curves in the direction indicated by arrow A1. Based on the 16 control variables calculated according to the curved road being entered, the Central Brain 120 controls the in-wheel motors 31 mounted on each of the four wheels 30, thereby controlling the wheel speed, tilt, and the suspension 32 (not shown) supporting each of the four wheels 30 to perform automatic driving.
[0053] Figure 8 shows the case where the vehicle 12 moves in parallel in the direction indicated by arrow A2. Based on the 16 control variables calculated in accordance with the parallel movement in the direction indicated by arrow A2, the Central Brain 120 controls the in-wheel motors 31 mounted on each of the four wheels 30, thereby controlling the wheel speed, tilt, and suspension 32 (not shown) supporting each of the four wheels 30 to perform automatic driving.
[0054] It should be noted that the states (tilts) of the wheels 30 and suspension 32 shown in Figures 4 to 8 are merely examples, and it goes without saying that different states of the wheels 30 and suspension 32 may occur.
[0055] While conventional in-wheel motors in vehicles can independently control each drive wheel, this particular vehicle was unable to analyze road conditions and control the in-wheel motors accordingly. Therefore, for example, when driving on mountain roads or through puddles, this vehicle could not perform appropriate automated driving based on road conditions.
[0056] However, according to the vehicle 12 of this embodiment, based on the configuration described above, it is possible to perform automated driving in which the speed, steering, etc., are controlled in a manner suitable for the environment, such as road conditions.
[0057] As described above, it is possible to control the behavior of the vehicle 12 based on the control variables and perform autonomous driving.
[0058] Incidentally, while a vehicle is in motion, obstacles may approach it. In this case, it is preferable for the vehicle to change its behavior to avoid contact or collision with the obstacle. Examples of obstacles include other vehicles other than the vehicle itself, walls, guardrails, curbs, and other installed objects. In the following explanation, we will describe the case where another vehicle approaches vehicle 12 as an example of an obstacle. Note that the obstacle is just one example of an object.
[0059] Figure 9 schematically shows a situation where vehicle 12 is traveling on a two-lane road with opposing traffic, with other vehicles 12B, 12C, and 12D traveling around it. In the example shown in the figure, vehicle 12B is following vehicle 12A, vehicle 12D is traveling ahead in the opposing lane, and vehicle 12C is following behind.
[0060] The Central Brain 120 of the vehicle 12A controls the in-wheel motors 31 mounted on each of the four wheels 30 based on the control variables described above, which are calculated according to the constantly changing conditions of driving on the road. This controls the wheel speed, tilt, and suspension 32 supporting each of the four wheels 30 to perform autonomous driving. The Central Brain 120 also detects the behavior of other vehicles 12B, 12C, and 12D around the vehicle 12A using sensors and acquires this sensor information.
[0061] As shown in Figure 9, when another vehicle 12D enters the driving path of the vehicle 12A, the Central Brain 120, in order to at least avoid obstacles, sets a driving strategy from the current position to the destination according to the surrounding conditions of the vehicle 12A obtained from sensor information. In the example shown in Figure 9, the driving pattern 12Ax1, in which the vehicle 12A is currently driving, will result in a collision with the invading other vehicle 12D. Therefore, the Central Brain 120 sets a driving pattern 12Ax2, for example, to avoid a collision with the other vehicle 12D.
[0062] The driving pattern is set by selecting a driving pattern that can avoid collisions with other vehicles 12D from among several predetermined different driving patterns. Specifically, it is sufficient to select a driving pattern in which no other vehicles 12D are present. Multiple driving patterns can be stored in memory in advance. The driving pattern can be applied to a route that records the vehicle's trajectory.
[0063] Figure 10 shows examples of several different driving patterns. The examples shown in Figure 10 include driving pattern PL, which has one curve like an L-shaped curve; driving pattern PM, which has three curves like an M-shaped curve; and driving pattern PS, which has four curves like an S-shaped curve. Ten variations are associated with each pattern, and one driving pattern that can avoid collisions with other vehicles 12D can be selected from a total of 30 types.
[0064] Furthermore, the Central Brain 120 only needs to have a function to predict the location of a collision, including contact with an obstacle, from the acquired sensor information, in order to avoid obstacles while driving. Therefore, the Central Brain 120 sets a driving pattern that can avoid other vehicles at the predicted location. Then, it calculates control variables according to the driving pattern. These control variables can be calculated to control the driving state to follow a driving pattern that can avoid other vehicles by changing at least one of acceleration / deceleration and steering angle over time, corresponding to the current speed of the vehicle 12A.
[0065] For example, as shown in Figure 11, even with the same driving pattern, the shape of the driving pattern can be changed by changing the gain (amplified degree) of a part of the driving pattern. Therefore, the control variable includes calculating the amplification degree of the control variable to match the calculated driving pattern. The control variable can be at least one of the vehicle's steering angle and the vehicle's speed.
[0066] The Central Brain 120, which enables the aforementioned autonomous driving, will be explained further. The Central Brain 120 is configured as the information processing device 10 shown in Figure 12. Note that the Central Brain 120 described above is a broad-sense processing device that functions as an information processing device including a gateway, while the Central Brain 125, which will be described later, is a narrow-sense processing device when the functions are classified by processor.
[0067] Figure 12 is a block diagram showing an example of the configuration of an information processing device 10 including a Central Brain according to an embodiment. The information processing device 10 includes an IPU (Image Processing Unit) 121, a MoPU (Motion Processing Unit) 122, a Central Brain 125, and memory 126. The Central Brain 125 is configured to include a GNPU (Graphics Neural Network Processing Unit) 123 and a CPU (Central Processing Unit) 124.
[0068] The IPU121 can be integrated into an ultra-high-resolution camera (not shown) installed in the vehicle. The IPU121 performs predetermined image processing, such as Bayer transformation, demosaicing, noise reduction, and sharpening, on images of objects surrounding the vehicle, and outputs the processed images of the objects at a frame rate of, for example, 10 frames per second and a resolution of 12 million pixels. The images output from the IPU121 are supplied to the Central Brain125 and memory126.
[0069] The MoPU122 can be integrated into a low-resolution camera separate from the ultra-high-resolution camera installed on the vehicle. The MoPU122 outputs motion information indicating the movement of the captured object at a frame rate of, for example, 1920 frames per second. That is, the frame rate of the MoPU122 output is 100 times that of the IPU121 output. The MoPU122 outputs motion information that is vector information of the movement of a point indicating the location of the object along predetermined coordinate axes. In other words, the motion information output from the MoPU122 does not contain information necessary to identify what the captured object is (e.g., whether it is a person or an obstacle), but only information indicating the movement (direction of movement and speed of movement) on the coordinate axes (x axis, y axis, z axis) of the object's center point (or center of gravity). The image output from the MoPU122 is supplied to the Central Brain125 and memory126. By not including image information in the motion information, the amount of information transferred to the Central Brain125 and memory126 can be reduced.
[0070] This disclosure includes a first processor that outputs an image of a captured object at a first frame rate, and a second processor that outputs motion information indicating the movement of the captured object at a second frame rate higher than the first frame rate. That is, a detection unit that captures images of the area around a vehicle in a first cycle as the period for detecting the conditions around the vehicle in this disclosure is an example of the "first processor," and IPU121 is an example of the "first processor." Furthermore, a detection unit that includes a sensor that detects the conditions around a vehicle in a second cycle shorter than the first cycle in this disclosure is an example of the "second processor," and MoPu122 is an example of the "second processor."
[0071] The Central Brain 125 performs vehicle driving control based on images output from the IPU 121 and motion information output from the MoPU 122. For example, the Central Brain 125 recognizes objects (people, animals, roads, traffic lights, signs, crosswalks, obstacles, buildings, etc.) around the vehicle based on images output from the IPU 121. The Central Brain 125 also recognizes the movement of the recognized objects around the vehicle based on motion information output from the MoPU 122. Based on the recognized information, the Central Brain 125 performs actions such as controlling the motors that drive the wheels (speed control), brake control, and steering control. In the Central Brain 125, the GNPU 123 may be responsible for image recognition processing, and the CPU 124 may be responsible for vehicle control processing.
[0072] Generally, ultra-high resolution cameras are used for image recognition in autonomous driving. It is possible to recognize what objects are contained in an image captured by a high-resolution camera. However, this alone is insufficient for autonomous driving in the Level 6 era. In the Level 6 era, it is also necessary to recognize the movement of objects. By recognizing the movement of objects, for example, it becomes possible for autonomous vehicles to perform evasive maneuvers to avoid obstacles with greater precision. However, high-resolution cameras can only acquire images at a rate of about 10 frames per second, making it difficult to analyze the movement of objects. On the other hand, cameras equipped with MoPU122, although lower resolution, can output at a high frame rate of, for example, 1920 frames per second.
[0073] Therefore, the technology disclosed herein uses two independent processors, IPU121 and MoPU122. The high-resolution camera (IPU121) is assigned the role of acquiring image information necessary to recognize what the captured object is, while the MoPU122 is assigned the role of detecting the movement of the object. The MoPU122 captures the object as a point and analyzes in which direction and at what speed the coordinates of that point move along the x, y, and z axes. Since the overall contour of the object and the detection of what the object is can be done from the image from the high-resolution camera, if the MoPU122 can determine how the center point of the object moves, it can determine how the entire object behaves.
[0074] By analyzing only the movement and velocity of the object's central point, the amount of information transferred to Central Brain125 can be significantly reduced compared to determining how the entire image of the object moves, thereby drastically reducing the computational load on Central Brain125. For example, when sending a 1000x1000 pixel image to Central Brain125 at a frame rate of 1920 frames / second, including color information, 4 billion bits / second of data would be sent to Central Brain125. By having MoPU122 transmit only motion information indicating the movement of the object's central point, the amount of data transferred to Central Brain125 can be compressed to 20,000 bits / second. In other words, the amount of data transferred to Central Brain125 is compressed to 1 / 200,000th of the original amount.
[0075] In this way, by combining the low-frame-rate, high-resolution images output from IPU121 with the high-frame-rate, lightweight motion information output from MoPU122, it becomes possible to perform object recognition, including object motion, with a small amount of data.
[0076] Furthermore, when using one MoPU122, it is possible to obtain vector information of the movement of a point indicating the object's location along each of the two coordinate axes (x-axis and y-axis) in a three-dimensional Cartesian coordinate system. Alternatively, using the principle of a stereo camera, two MoPU122s can be used to output vector information of the movement of a point indicating the object's location along each of the three coordinate axes (x-axis, y-axis, and z-axis) in a three-dimensional Cartesian coordinate system. The z-axis is the axis along the depth direction (vehicle movement).
[0077] In this embodiment, as sensor information, the detection period for detecting the conditions around the vehicle 12 is a second cycle, which is shorter than the first cycle for capturing images of the vehicle's surroundings with a camera or the like. That is, in Level 5 described above, for example, the surrounding conditions can be detected twice every 0.3 seconds by a camera or the like, but in this embodiment, in Level 6, the surrounding conditions can be detected 576 times, for example. Then, an index value and control variables can be calculated for each of the 576 detections of the surrounding conditions, and the vehicle's behavior can be controlled to enable faster and safer driving than the autonomous driving performed in Level 5.
[0078] Furthermore, there may be multiple driving patterns in which the vehicle 12A can avoid at least the other vehicle 12D. Therefore, in this embodiment, the Central Brain 120 can determine the optimal driving pattern from among the multiple driving patterns and set it as the driving strategy.
[0079] Figure 13 schematically shows the driving patterns applicable to vehicle 12A in the relationship between vehicle 12A and other vehicles 12B, 12C, and 12D shown in Figure 9.
[0080] In the example shown in Figure 13, in driving pattern 12Ax1, which is the path of the vehicle 12A, the vehicle 12A collides with the other vehicle 12D. On the other hand, in driving patterns 12Ax2 and 12Ax3, the vehicle 12A can avoid a collision, including contact, with the other vehicle 12D. Therefore, the Central Brain 120 calculates each of driving patterns 12Ax2 and 12Ax3 and sets one of them as the driving pattern. The setting of this driving pattern is to select the driving pattern that minimizes the risk in the relationship between the vehicle 12A and the other vehicle 12D. Specifically, as shown in Figure 14, the driving pattern 12Ax2 is set in which the distance between the vehicle 12A and the other vehicle 12D is maximized. That is, the driving pattern 12Ax2 is set in which the size of the space between the vehicle and the other vehicle, which is an obstacle, exceeds a predetermined value (for example, the maximum value) among multiple different driving patterns.
[0081] Figure 15 is a flowchart showing an example of the processing flow in the Central Brain 120 that enables the aforementioned vehicle 12A to drive while avoiding other vehicles 12D. In Figure 15, the process of step S11 shown in Figure 3 is executed in place of steps S11A, 11B, and 11C. The Central Brain 120 can repeatedly execute the process shown in Figure 15 instead of the process shown in Figure 3.
[0082] In step S11A, the Central Brain 120 derives a driving strategy for vehicle 12 based on sensor information. Then, in step S11B, it sets the optimal driving strategy (driving pattern) from the derived driving strategies. Finally, in step S11C, it calculates control variables corresponding to the driving strategy (driving pattern) that is set to allow driving while avoiding obstacles (for example, other vehicles 12D). The processing in steps S11A to S11C is an example of the functions of the calculation unit, and the processing in steps S11A and S11B is an example of the functions of the setting unit.
[0083] The driving strategy (driving pattern) described above can be modified in response to the constantly changing conditions around the vehicle. For example, the driving strategy (driving pattern) may include timing for changing the vehicle's behavior, such as the vehicle's speed, which affects the control variables. The control variables may also include the timing mentioned above.
[0084] Furthermore, the control variables for the vehicle 12's speed may be set to 10 types each for large, medium, and small (L, M, S) on the acceleration side, resulting in a total of 30 possible patterns, and 10 types each for large, medium, and small (L, M, S) on the deceleration side, resulting in a total of 30 possible patterns, which can then be selected. In this case, the relationship between the vehicle and other vehicles changes moment by moment, and when the vehicle and other vehicles approach each other, the distance changes in the direction of decreasing proximity. As a result, the number of options for selecting a pattern decreases moment by moment, reducing the processing time for selection and further decreasing the adjustment of the delta difference.
[0085] Furthermore, although the above describes the case where vehicle 12D is applied as another vehicle to vehicle 12A, control variables that reduce the collision risk to the other vehicles may be calculated by targeting at least one of the other vehicles 12B, 12C, and 12D surrounding vehicle 12A, and all of the other vehicles mentioned above.
[0086] Therefore, the Central Brain 120 can avoid collisions or reduce damage to the vehicle in the event of a collision by controlling, for example, the in-wheel motors 31 mounted on each of the four wheels 30 based on control variables calculated in accordance with the prediction of a collision, including contact. This allows for autonomous driving by controlling the wheel speed, tilt, and suspension 32 supporting each of the four wheels 30.
[0087] [Second Embodiment] As mentioned above, while a vehicle is in motion, an obstacle may approach the vehicle. In this case, it is preferable for the vehicle to change its behavior to avoid contact or collision with the obstacle. As also mentioned above, examples of obstacles include other vehicles other than the vehicle in motion, walls, guardrails, curbs, and other installed objects. In the following explanation, we will describe the case where another vehicle approaches vehicle 12 as an example of an obstacle.
[0088] Incidentally, vehicles generally exhibit differences in various characteristics (hereinafter simply referred to as "vehicle characteristics") depending on the model, such as the physical characteristics of parts related to their behavior while driving, response characteristics, and driving characteristics. Furthermore, even for vehicles of the same model, while the vehicle characteristics may be nearly identical immediately after manufacture, as the mileage increases, the differences in vehicle characteristics generally gradually increase due to differences in usage environment, frequency of use, and usage methods.
[0089] Therefore, even for the various driving patterns illustrated in Figure 10, the optimal driving pattern differs depending on the vehicle being controlled.
[0090] Figure 16 shows examples of preferred driving patterns for each vehicle when avoiding obstacles. In the examples shown in Figure 16, three different vehicles are shown as examples of driving patterns for each of the aforementioned driving patterns PM and PS. Comparing the driving patterns of the different vehicles shown in Figure 16, it can be seen that the amount of lateral deviation relative to the direction of travel of the vehicle differs when avoiding obstacles, and the timing of changes in the direction of travel of the vehicle also differs.
[0091] Therefore, the Central Brain 120, which functions as an example of an information processing device according to this embodiment, includes a registration unit function that registers multiple different driving patterns in memory, which are driving patterns that a vehicle (hereinafter referred to as the "target vehicle") has previously performed to avoid obstacles. The Central Brain 120 according to this embodiment also includes an acquisition unit function that acquires multiple pieces of information related to the target vehicle from a detection unit that includes a sensor that detects the surrounding conditions of the target vehicle, including obstacles. The Central Brain 120 according to this embodiment also includes a setting unit that uses the multiple pieces of information acquired by the acquisition unit to selectively set a driving pattern for the target vehicle to avoid obstacles from the registered multiple driving patterns, and includes a calculation unit function that calculates control variables for controlling the behavior of the target vehicle so that the target vehicle drives according to the driving pattern, based on the multiple pieces of information acquired by the acquisition unit and the set driving pattern. The Central Brain 120 according to this embodiment also includes a control unit function that controls the behavior of the target vehicle based on the calculated control variables.
[0092] In this embodiment, the registration unit registers the above-mentioned driving patterns in memory for each vehicle to be controlled. In particular, in this embodiment, the actual driving path when the target vehicle is driving according to the driving pattern selected and set by the setting unit in order to avoid obstacles is used as a candidate for the driving pattern to be registered by the registration unit.
[0093] In other words, as mentioned above, there are differences in vehicle characteristics from vehicle to vehicle, and the ability to follow a set driving pattern along a driving path differs from vehicle to vehicle. Therefore, the actual driving path does not necessarily match the set driving pattern, and the actual driving path reflects, to some extent, the vehicle characteristics of each vehicle. Accordingly, the registration unit in this embodiment registers the actual driving path when avoiding obstacles as a dedicated driving pattern for the vehicle, according to the vehicle characteristics.
[0094] However, this is not the only possible configuration. For example, when the vehicle is being driven manually without autonomous driving, the system may register the actual driving path taken when the direction of travel is changed to avoid an obstacle.
[0095] Furthermore, the registration unit according to this embodiment updates one of the previously registered driving patterns, including modified versions, with the newly obtained driving pattern.
[0096] As mentioned above, in this embodiment, the registration unit registers the above-mentioned driving patterns in memory for each vehicle to be controlled, but this is not the only configuration. For example, the registration unit may register the above-mentioned driving patterns for each vehicle type to be controlled. This configuration improves the versatility of the driving patterns compared to registering a driving pattern for each vehicle.
[0097] Here, the calculation unit in this embodiment calculates control variables so that the target vehicle drives according to the driving pattern set by the setting unit, the control variables include the speed of the target vehicle and the timing for changing the speed of the target vehicle, and the calculation unit calculates the control variables by multivariate analysis using an integral method with deep learning, as described in the first embodiment above.
[0098] Figure 17 is a flowchart showing an example of the processing flow in the Central Brain 120 that enables the aforementioned vehicle 12A to drive while avoiding other vehicles 12D according to this embodiment. In the processing shown in Figure 17, the processing of step S11B shown in Figure 15 is performed in place of step S11B1. The Central Brain 120 can repeatedly perform the processing shown in Figure 17 in place of the processing shown in Figure 15. Steps that perform processing common to the first embodiment are given the same step numbers as in the first embodiment and are omitted from this description.
[0099] In step S11B1, the Central Brain 120 sets the optimal driving pattern from among the registered driving patterns. As mentioned above, in this embodiment, the registered driving patterns are obtained from the driving routes previously taken by the vehicle, as registered by the registration unit. The processing in steps S11A to S11C is an example of the functions of the calculation unit, and the processing in steps S11A and S11B1 is an example of the functions of the setting unit.
[0100] Figure 18 is a flowchart illustrating an example of the processing flow in the Central Brain 120 when registering a driving pattern for its own vehicle using the registration unit described above, according to this embodiment. The Central Brain 120 executes the processing shown in Figure 18 immediately after its own vehicle has avoided another vehicle. In the following, to avoid confusion, we will describe the case where multiple types of basic driving patterns such as driving patterns PL, PM, and PS, as well as variations of these driving patterns, are already registered in memory.
[0101] In step S20, the Central Brain 120 acquires the driving path of the vehicle that immediately avoided another vehicle (hereinafter referred to as "avoidance driving"). In this embodiment, the driving path is acquired by sequentially storing information indicating the driving path in memory and reading the information from memory, but it goes without saying that the embodiment is not limited to this.
[0102] In step S21, the Central Brain 120 identifies a previously registered driving pattern (hereinafter referred to as the "corresponding driving pattern") that corresponds to the driving pattern shown by the acquired driving route (hereinafter referred to as the "acquired driving pattern"). In this embodiment, the corresponding driving pattern is identified by identifying the previously registered driving pattern with the highest similarity to the acquired driving pattern. However, this is not the only form; the corresponding driving pattern may also be identified by identifying the previously registered driving pattern with the lowest dissimilarity to the acquired driving pattern. Furthermore, in this embodiment, the similarity is derived using conventionally known template matching, but this is not the only form; other similarity derivation methods such as the CCF (Cross Correlation Function) method or the DTW (Dynamic Time Warping) method may also be applied.
[0103] In step S22, the Central Brain 120 determines whether the acquired driving pattern and the corresponding driving pattern are inconsistent. If the determination is negative, the process ends; however, if the determination is positive, the process proceeds to step S23. In this embodiment, this determination is made by determining whether the similarity when identifying the corresponding driving pattern was less than or equal to a predetermined threshold (for example, 0.9 when the maximum similarity is 1), but it is not limited to this. For example, if dissimilarity is applied when identifying the corresponding driving pattern, the above determination may be made by determining whether the dissimilarity was greater than or equal to a predetermined threshold (for example, 0.1 when the maximum dissimilarity is 1).
[0104] In step S23, the Central Brain 120 updates the corresponding driving pattern to the acquired driving pattern by replacing it with the acquired driving pattern (registering the acquired driving pattern). Then, the Central Brain 120 terminates the processing of the flowchart. The processing in steps S20 to S23 is an example of the function of the registration unit.
[0105] It goes without saying that the information processing apparatus according to the second embodiment may be configured in a way that combines at least some of the functions of the information processing apparatus according to the first embodiment with the information processing apparatus according to the disclosed technology.
[0106] Figure 19 schematically shows an example of the hardware configuration of a computer 1200 that functions as a Central Brain 120. A program installed on the computer 1200 can cause the computer 1200 to function as one or more "parts" of the apparatus according to this embodiment, or to cause the computer 1200 to execute operations associated with the apparatus according to this embodiment or such one or more "parts", and / or to cause the computer 1200 to execute a process or a stage of such process according to this embodiment. Such a program may be executed by the CPU 1212 to cause the computer 1200 to execute specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein.
[0107] The computer 1200 according to this embodiment includes a CPU 1212, RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. The computer 1200 also includes input / output units such as a communication interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The DVD drive may be a DVD-ROM drive and a DVD-RAM drive, etc. The storage device 1224 may be a hard disk drive and a solid-state drive, etc. The computer 1200 also includes legacy input / output units such as a ROM 1230 and a keyboard, which are connected to the input / output controller 1220 via an input / output chip 1240.
[0108] The CPU 1212 operates according to the programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires the image data generated by the CPU 1212 and stores it in the frame buffer provided in RAM 1214 or within itself, so that the image data is displayed on the display device 1218.
[0109] The communication interface 1222 communicates with other electronic devices via a network. The storage device 1224 stores programs and data used by the CPU 1212 in the computer 1200. The DVD drive reads programs or data from a DVD-ROM or the like and provides them to the storage device 1224. The IC card drive reads programs and data from an IC card and / or writes programs and data to an IC card.
[0110] The ROM 1230 stores boot programs and / or hardware-dependent programs of the computer 1200, which are executed by the computer 1200 upon activation. The input / output chip 1240 may also connect various input / output units to the input / output controller 1220 via USB ports, parallel ports, serial ports, keyboard ports, mouse ports, etc.
[0111] The program is provided on a computer-readable storage medium such as a DVD-ROM or IC card. The program is read from the computer-readable storage medium and installed on a storage device 1224, RAM 1214, or ROM 1230, which are examples of computer-readable storage media, and executed by the CPU 1212. The information processing described within these programs is read by the computer 1200, resulting in coordination between the program and the various types of hardware resources described above. The apparatus or method may be configured to realize the operation or processing of information in accordance with the use of the computer 1200.
[0112] For example, when communication is performed between a computer 1200 and an external device, the CPU 1212 may execute a communication program loaded into RAM 1214 and, based on the processing described in the communication program, instruct the communication interface 1222 to perform communication processing. Under the control of the CPU 1212, the communication interface 1222 reads transmission data stored in a transmission buffer area provided in a recording medium such as RAM 1214, storage device 1224, DVD-ROM, or IC card, transmits the read transmission data to the network, or writes received data received from the network to a reception buffer area provided on the recording medium.
[0113] Furthermore, the CPU 1212 may read all or necessary parts of a file or database stored on an external recording medium such as the storage device 1224, a DVD drive (DVD-ROM), or an IC card into the RAM 1214, and perform various types of processing on the data in the RAM 1214. The CPU 1212 may then write the processed data back to the external recording medium.
[0114] Various types of information, such as various types of programs, data, tables, and databases, may be stored on the recording medium and subjected to information processing. The CPU 1212 may perform various types of processing on the data read from RAM 1214, including various types of operations, information processing, conditional judgments, conditional branching, unconditional branching, information retrieval / replacement, etc., as described throughout this disclosure and specified by the program instruction sequence, and write the results back to RAM 1214. The CPU 1212 may also retrieve information in files, databases, etc., within the recording medium. For example, if multiple entries are stored in the recording medium, each having an attribute value of a first attribute associated with an attribute value of a second attribute, the CPU 1212 may search among the multiple entries for an entry that matches the specified condition for the attribute value of the first attribute, read the attribute value of the second attribute stored in that entry, and thereby obtain the attribute value of the second attribute associated with the first attribute that satisfies the predetermined condition.
[0115] The program or software module described above may be stored on or near the computer 1200 in a computer-readable storage medium. Alternatively, a recording medium such as a hard disk or RAM provided within a server system connected to a dedicated communication network or the Internet can be used as a computer-readable storage medium, thereby providing the program to the computer 1200 via the network.
[0116] In this embodiment, blocks in the flowchart and block diagram may represent a stage in a process in which an operation is performed or a "part" of a device that has the role of performing an operation. A particular stage and "part" may be implemented by a dedicated circuit, a programmable circuit supplied with computer-readable instructions stored on a computer-readable storage medium, and / or a processor supplied with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuit may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuit may include reconfigurable hardware circuits, such as field-programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), which include logical AND, logical OR, exclusive OR, negated AND, negated OR, and other logical operations, flip-flops, registers, and memory elements.
[0117] A computer-readable storage medium may include any tangible device capable of storing instructions to be executed by a suitable device, and as a result, a computer-readable storage medium having instructions stored therein will comprise a product that includes instructions that can be executed to create means for performing operations specified in a flowchart or block diagram. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. More specific examples of computer-readable storage media may include floppy disks, diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), electrically erasable programmable read-only memory (EEPROM), static random access memory (SRAM), compact disk read-only memory (CD-ROM), digital multipurpose disc (DVD), Blu-ray® disc, memory stick, integrated circuit card, etc.
[0118] Computer-readable instructions may include assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk®, Java®, C++, and traditional procedural programming languages such as the C programming language or similar programming languages.
[0119] Computer-readable instructions may be provided to a general-purpose computer, a special-purpose computer, or a programmable circuit, either locally or via a wide area network (WAN) such as a local area network (LAN) or the internet, so that the computer-readable instructions may be executed by the processor or programmable circuit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, in order to generate means for performing operations specified in a flowchart or block diagram. Examples of processors include computer processors, processing units, microprocessors, digital signal processors, controllers, microcontrollers, and the like.
[0120] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiments. It will be clear from the claims that such modified or improved forms may also be included in the technical scope of the present invention.
[0121] It should be noted that the execution order of operations, procedures, steps, and stages in the apparatus, systems, programs, and methods shown in the claims, specifications, and drawings is not explicitly stated as "before" or "prior to," and that these can be implemented in any order unless the output of a previous process is used in a later process. Even if the operation flow in the claims, specifications, and drawings is described using phrases such as "first," and "next," for convenience, this does not mean that it is essential to perform the operations in that order. [Explanation of symbols]
[0122] 120 Central Brain 121 IPU 122 MoPU 123 GNPU 124 CPU 125 Central Brain 126 memory 1200 Computers 1210 Host Controller 1212 CPU 1214 RAM 1216 Graphics Controller 1218 Display Devices 1220 Input / Output Controller 1222 Communication Interface 1224 Storage device 1230 ROM 1240 Input / Output Chip
Claims
1. This refers to the driving patterns that the vehicle has previously taken to avoid obstacles, and includes a registration unit that registers multiple different driving patterns. An acquisition unit that acquires a plurality of pieces of information related to the vehicle from a detection unit which includes a sensor that detects the conditions around the vehicle, including the aforementioned obstacles, The system includes a setting unit that uses the acquired information to selectively set a driving pattern from the registered driving patterns for the vehicle to avoid the obstacle, and a calculation unit that calculates control variables for controlling the vehicle's behavior so that the vehicle drives according to the driving pattern, based on the acquired information and the set driving pattern. The vehicle comprises a control unit that controls the behavior of the vehicle based on the calculated control variables. Information processing device.
2. The registration unit registers the driving pattern for each vehicle to be controlled, or for each vehicle type. The information processing apparatus according to claim 1.
3. The aforementioned obstacle is a vehicle other than the aforementioned vehicle. The information processing apparatus according to claim 1.
4. The control variables are the speed of the vehicle and the timing for changing the speed of the vehicle. The information processing apparatus according to claim 1.
5. The calculation unit calculates the control variables by multivariate analysis using an integral method with deep learning. The information processing apparatus according to claim 1.
6. The acquisition unit acquires the plurality of pieces of information in units of one billionth of a second, the calculation unit calculates the control variables using the information acquired in units of one billionth of a second, and the control unit controls the behavior of the vehicle in units of one billionth of a second using the control variables. The information processing apparatus according to claim 1.
7. A program for causing a computer to function as an information processing device according to any one of claims 1 to 6.