Device of a vehicle and method performed by a device of a vehicle
By generating and adjusting candidate routes, and optimizing vehicle control signals in real time based on sensor information and cost functions, the problem of route generation algorithms failing to reflect physical limitations is solved, thereby improving vehicle stability and safety.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HYUNDAI MOTOR CO LTD
- Filing Date
- 2025-06-06
- Publication Date
- 2026-06-12
AI Technical Summary
Existing route generation algorithms fail to reflect the vehicle's physical limitations and following errors in real time, leading to unstable vehicle behavior, affecting ride comfort and increasing the risk of accidents.
Multiple candidate routes are generated using the vehicle's navigation system and sensor information. The optimal route is determined, and the weights are adjusted based on the deviation and cost function to generate vehicle control signals to control driving operations and reflect following errors in real time.
It effectively reduces driving instability caused by cumulative errors, improves vehicle following performance and ride comfort, and reduces the risk of accidents.
Smart Images

Figure CN122201026A_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to Korean Patent Application No. 10-2024-0182468, filed on December 10, 2024, which is incorporated herein by reference in its entirety for all purposes. Technical Field
[0003] The implementation relates to a vehicle control device and method. Background Technology
[0004] Route generation algorithms can plan optimal routes for vehicles based on a fixed set of criteria, without considering current driving conditions or vehicle performance. For example, routes may often be generated using only map data and static boundary conditions, and errors or inaccuracies that may be discovered while following the route may not be reflected in the route generation stage. This can lead to small errors occurring while the vehicle follows the route accumulating over time, or to a decline in route guidance performance due to complex situations and / or unforeseen events such as sharp turns or obstacle avoidance.
[0005] Specifically, because the route is generated without reflecting any physical limitations of the vehicle (such as steering angle and speed change limits), the vehicle's behavior may become unstable, which could impair passenger comfort and increase the risk of accidents. Summary of the Invention
[0006] This disclosure aims to provide a vehicle control device and method that can minimize driving instability due to accumulated errors by considering following performance during the route generation phase of an autonomous vehicle and reflecting the following error in route generation in real time.
[0007] According to one or more example embodiments of this disclosure, a vehicle device may include: one or more processors; and a memory. The memory may store at least one instruction configured to, when executed by the one or more processors communicating with the memory, cause the device to: generate, via the vehicle's navigation system and based on surrounding object information obtained from the vehicle's sensors, a plurality of candidate routes merging the vehicle's position with a target route; determine the deviation of the route the vehicle is currently traveling from the target route; determine, among the plurality of candidate routes, an optimal route that minimizes the deviation from the target route; generate a vehicle control signal following the optimal route; and control the vehicle's driving operations based on the vehicle control signal.
[0008] At least one instruction can be configured to, when executed by one or more processors communicating with the memory, cause the device to determine the optimal route by: determining the optimal route based on the number of times the route deviation exceeds a threshold value.
[0009] At least one instruction can be configured to, when executed by one or more processors in communication with the memory, cause the device to generate multiple candidate routes by generating multiple candidate routes that connect the vehicle's position to the target route along the center line of the lane the vehicle is traveling on.
[0010] At least one instruction can be configured to, when executed by one or more processors communicating with the memory, cause the device to determine the amount of deviation from the route by determining the amount of deviation based on the vehicle's steering angle and acceleration values for maintaining the centerline of the lane.
[0011] At least one instruction can be configured, when executed by one or more processors communicating with the memory, to cause the device to determine the optimal route based on a cost function. The cost function may include longitudinal and lateral acceleration costs, target velocity costs, and target route offset costs.
[0012] At least one instruction can be configured to, when executed by one or more processors communicating with the memory, cause the device to determine the optimal route by adjusting the weights of the target route offset cost.
[0013] At least one instruction can be configured, when executed by one or more processors communicating with the memory, to cause the device to determine the optimal route by applying the target route offset cost with adjusted weights to the cost function and determining the optimal route such that the cost function is minimized.
[0014] At least one instruction can be configured to, when executed by one or more processors communicating with the memory, cause the device to determine the optimal route by determining one of a plurality of candidate routes as the optimal route based on the number of times the route deviates from a threshold value less than the threshold value.
[0015] At least one instruction can be configured, when executed by one or more processors communicating with the memory, to cause the device to determine the optimal route by: determining a collision risk level based on vehicle driving information and surrounding object information; and determining one of a plurality of candidate routes as the optimal route based on the collision risk level being greater than or equal to a threshold.
[0016] At least one instruction can be configured to, when executed by one or more processors communicating with the memory, also cause the device to display multiple candidate routes and the optimal route via a display device of the vehicle.
[0017] According to one or more example embodiments of this disclosure, a method performed by a device in a vehicle may include: generating a plurality of candidate routes by merging the vehicle's position with a target route via the vehicle's navigation system and based on surrounding object information obtained from the vehicle's sensors; determining the deviation of the route the vehicle is currently traveling from the target route; determining, among the plurality of candidate routes, an optimal route that minimizes the deviation from the target route; generating a vehicle control signal that follows the optimal route; and controlling the driving operation of the vehicle based on the vehicle control signal.
[0018] Determining the optimal route can include: determining the optimal route based on the number of times the deviation from the route exceeds a threshold.
[0019] Generating multiple candidate routes can include generating multiple candidate routes that connect the vehicle's position to the target route along the center line of the lane the vehicle is traveling in.
[0020] Determining the deviation from the lane can include determining the deviation based on the vehicle's steering angle and acceleration values used to maintain the centerline of the lane.
[0021] Determining the optimal route can include using a cost function. This cost function can include longitudinal and lateral acceleration costs, target speed costs, and target route deviation costs.
[0022] Determining the optimal route may include adjusting the weights of the target route offset costs.
[0023] Determining the optimal route may include: applying the target route offset cost with adjusted weights to the cost function, and determining the optimal route that minimizes the cost function.
[0024] Determining the optimal route may include: determining the optimal route from among multiple candidate routes based on the number of times the deviation exceeds a threshold and the number of deviations is less than the threshold value.
[0025] The method may also include determining a collision risk level based on vehicle driving information and surrounding object information before determining the optimal route.
[0026] Determining the optimal route may include: selecting one of multiple candidate routes as the optimal route based on a collision risk level that is greater than or equal to a threshold. Attached Figure Description
[0027] The above and other objects, features, and advantages of this disclosure will become more apparent to those skilled in the art from a detailed description of one or more exemplary embodiments with reference to the accompanying drawings, in which:
[0028] Figure 1This is a view showing how a vehicle sends and receives data by communicating with other devices;
[0029] Figure 2 This is a diagram showing the modules that make up a vehicle;
[0030] Figure 3 It is a diagram used to describe the operation of the processor.
[0031] Figure 4A and Figure 4B This is a conceptual diagram used to describe an exemplary route tracking process for a vehicle; and
[0032] Figure 5 This is a flowchart of the method for controlling the vehicle. Detailed Implementation
[0033] In the following, one or more exemplary embodiments of this disclosure will be described in detail with reference to the accompanying drawings.
[0034] However, the technical concept of this disclosure is not limited to the exemplary implementation described, but can be implemented in various different forms, and one or more of the components in the exemplary implementation can be used by selective combination and substitution within the scope of the technical concept of this disclosure.
[0035] Unless specifically defined and described, the terms (including technical and scientific terms) used in the exemplary embodiments of this disclosure are to be interpreted as meaning commonly understood by one of ordinary skill in the art to which this disclosure pertains, and common terms (such as those defined in dictionaries) are to be interpreted in light of the contextual meaning of the relevant art.
[0036] The terminology used in the exemplary embodiments of this disclosure is for the purpose of describing exemplary embodiments only and is not intended to limit this disclosure.
[0037] In this specification, the singular form may include the plural form unless the context clearly specifies otherwise, and when described as “at least one (or one or more) of A, B and / or C”, it may include one or more of all possible combinations of A, B and C.
[0038] In addition, when describing components of exemplary embodiments of this disclosure, terms such as first, second, A, B, (a), (b) may be used.
[0039] For the purposes of this application and claims, the exemplary phrase “at least one of the following: A; B and C” or “at least one of A, B and C” is used, which means “at least one A, or at least one B, or at least one C, or any combination of at least one A, at least one B and at least one C”. Furthermore, exemplary phrases such as “A, B or C”, “at least one of A, B and C”, “at least one of A, B or C”, etc., as used herein, may mean each of the listed items or all possible combinations of the listed items. For example, “at least one of A and B” may mean (1) at least one A; (2) at least one B; or (3) at least one A and at least one B.
[0040] The terms "module" or "unit" used in this specification refer to software and / or hardware components, and a "module" or "unit" performs certain operations / functions / roles. However, a "module" or "unit" should not be construed as limited to software or hardware. A "module" or "unit" may be configured to reside in addressable storage media or to execute on one or more processors. Thus, by way of example, a "module" or "unit" may include at least one of the following: components (such as software components, object-oriented software components, class components, and task components), processes, functions, attributes, programs, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided in a component, "module," or "unit" may be combined into a smaller number of components, "modules," or "units," or may be further divided into additional components, "modules," or "units."
[0041] In this disclosure, a "module" or "unit" can be implemented as a processor and a memory. "Processor" should be interpreted broadly to include general-purpose processors, central processing units (CPUs), microprocessors, digital signal processors (DSPs), microcontrollers, state machines, etc. In some contexts, "processor" can refer to application-specific integrated circuits (ASICs), programmable logic devices (PLDs), or field-programmable gate arrays (FPGAs). For example, "processor" can refer to a combination of processing devices, such as a combination of a DSP and a microprocessor, a combination of multiple microprocessors, a combination of one or more microprocessors combined with a DSP core, or any other such combination. Furthermore, "memory" should be interpreted broadly to include any electronic component capable of storing electronic information. "Memory" can refer to various types of processor-readable media, such as random access memory (RAM), read-only memory (ROM), non-volatile random access memory (NVRAM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory, magnetic or optical data storage devices, and registers. The memory can be in electronic communication with the processor when the processor can read information from the memory and / or record information in the memory. The memory integrated into the processor is in electronic communication with the processor.
[0042] One or more features described herein can be provided as a computer program stored on a computer-readable recording medium for execution on a computer. The medium may persistently store a computer-executable program or temporarily store a program for execution or download. Furthermore, the medium can be a variety of recording or storage devices in the form of a single hardware device or a combination of hardware devices, and is not limited to media directly connected to some computer systems, but can also be distributed across a network. Examples of such media include magnetic media such as hard disks, floppy disks, or magnetic tapes; optical recording media such as CD-ROMs or DVDs; magneto-optical media such as floppy optical discs; and ROMs, RAMs, or flash memory configured to store program instructions. Additional examples of such media include media or storage media managed by application stores that distribute applications or by various other sites or servers that provide or distribute software.
[0043] In a hardware implementation, the processing unit for performing the technology may be implemented within one or more ASICs, DSPs, digital signal processing devices, programmable logic devices, field-programmable gate arrays, processors, controllers, microcontrollers, microprocessors, electronic devices, or computers or combinations thereof designed to perform the functions described in this disclosure.
[0044] These terms are used only to distinguish components from other components, and the nature, order, or sequence of components are not limited by these terms.
[0045] In addition, when a component is described as “linked,” “coupled,” or “connected” to another component, the component not only directly links, couples, or connects to the other component, but also utilizes another component located between the component and the other component to “link,” “couple,” or “connect” to the other component.
[0046] If a component is described as being formed or positioned "above" or "below" another component, the term "above" or "below" includes not only cases where the two components are in direct contact with each other, but also cases where one or more other components are formed or positioned between the two components. If a component is described as "above" or "below," the description may include meanings based on the upward and downward directions of the component.
[0047] According to the Society of Automotive Engineers (SAE), the level of automation in autonomous vehicles can be categorized as follows: At Level 0, the SAE classification corresponds to "no automation," where the autonomous driving system temporarily engages and / or only provides warnings (e.g., blind spot warning, lane departure warning, etc.) in emergency situations (e.g., automatic emergency braking), and expects the driver to operate the vehicle. At Level 1, the SAE classification corresponds to "driver assistance," where the system performs some driving functions (e.g., steering, acceleration, braking, lane centering, adaptive cruise control, etc.), while the driver operates the vehicle in normal operation, and is expected to determine the system's operating status and / or timing, perform other driving functions, and respond to (e.g., resolve) emergency situations. At Level 2, the SAE classification corresponds to "partial automation," where the system performs steering, acceleration, and / or braking under driver supervision, and is expected to determine the system's operating status and / or timing, perform other driving functions, and respond to (e.g., resolve) emergency situations. At Level 3 of autonomous driving, the SAE classification standard can correspond to “conditional automation,” where the system drives the vehicle under limited conditions (e.g., performing driving functions such as steering, acceleration, and / or braking), but transfers driving control to the driver when the required conditions are not met. The driver is expected to determine the system’s operating state and / or timing, and take over control in emergency situations without otherwise operating the vehicle (e.g., steering, acceleration, and / or braking). At Level 4 of autonomous driving, the SAE classification standard can correspond to “high automation,” where the system performs all driving functions, and the driver is expected to control the vehicle only in emergency situations. At Level 5 of autonomous driving, the SAE classification standard can correspond to “full automation,” where the system performs all driving functions without any driver assistance (including in emergency situations), and the driver is expected not to perform any driving functions other than determining the system’s operating state. Although this disclosure can apply the SAE classification standard for autonomous driving classification, other classification methods and / or algorithms can also be used in one or more configurations described herein. One or more features associated with autonomous driving control can be activated based on the configured autonomous driving control settings (e.g., based on at least one of autonomous driving classification, the selection of the vehicle’s autonomous driving level, etc.).
[0048] Based on one or more features described herein (e.g., determining the optimal route), vehicle operation can be controlled. Vehicle control may include various operational controls associated with the vehicle (e.g., autonomous driving control, sensor control, braking control, braking time control, acceleration control, rate of change of acceleration control, alarm timing control, forward collision warning timing control, etc.).
[0049] One or more auxiliary devices (e.g., engine brakes, exhaust brakes, hydraulic retarders, electric retarders, regenerative brakes, etc.) may also be controlled, for example, based on one or more features described herein (e.g., determining the optimal route). One or more communication devices (e.g., modems, network adapters, radio transceivers, antennas, etc., capable of communicating via one or more wired or wireless communication protocols such as Ethernet, Wi-Fi, Near Field Communication (NFC), Bluetooth, Long Term Evolution (LTE), 5G New Radio (NR), Vehicle-to-Everything (V2X) etc.) may also be controlled, for example, based on one or more features described herein (e.g., determining the optimal route).
[0050] Minimum Risk Maneuver (MRM) operations can also be controlled, for example, based on one or more features described herein (e.g., determining an optimal route). A minimum risk maneuver operation (e.g., minimum risk maneuver, lowest risk maneuver) can be a maneuver of the vehicle designed to minimize (e.g., reduce) the risk of collision with surrounding vehicles in order to achieve a reduced (e.g., lowest) risk state. A minimum risk maneuver can be an operation that can be activated during autonomous driving of the vehicle when the driver is unable to respond to an intervention request. During a minimum risk maneuver, one or more processors of the vehicle can control the vehicle's driving operations for a set period of time.
[0051] Bias driving can also be controlled, for example, based on one or more features described herein (e.g., determining an optimal route). A driving control device can perform bias driving control. To perform bias driving, the driving control device can control the vehicle to travel within the lane by maintaining the lateral distance between the vehicle's center position and the lane center. For example, the driving control device can control the vehicle to remain within the lane but not in the lane center.
[0052] The driving control equipment can identify a target lateral distance for offset driving control. For example, the target lateral distance may include a deliberately adjusted lateral distance that the vehicle intends to maintain relative to a reference point (such as the lane center or another vehicle) during maneuvers such as lane changes. This adjustment can be made to improve the vehicle's stability, safety, and / or performance under different driving conditions. For instance, during a lane change, taking into account factors such as vehicle speed, road conditions, and / or the presence of obstacles, the driving control system can offset the lateral distance to maintain a safer clearance from adjacent vehicles.
[0053] One or more sensors (e.g., IMU sensors, cameras, LIDAR, RADAR, blind spot monitoring sensors, lane departure warning sensors, parking sensors, light sensors, rain sensors, traction control sensors, anti-lock braking system sensors, tire pressure monitoring sensors, seat belt sensors, airbag sensors, fuel sensors, emission sensors, throttle position sensors, inverters, converters, motor controllers, power distribution units, high-voltage wiring harnesses and connectors, auxiliary power modules, charging interfaces, etc.) can also be used for control, for example, based on one or more features described herein (e.g., determining the optimal route).
[0054] Operational controls for autonomous driving of vehicles can include various driving controls of the vehicle via vehicle control devices (e.g., acceleration, deceleration, steering control, gear shifting control, braking system control, traction control, stability control, cruise control, lane keeping assist control, collision avoidance system control, emergency braking assist control, traffic sign recognition control, adaptive headlight control, etc.).
[0055] In at least some implementations, the route generation system and the route tracking system can operate using independent algorithms. After route generation, the vehicle can follow the generated route using a tracking algorithm; however, even when a tracking error is detected during travel, the lack of coordination with the route generation algorithm may make it difficult to respond immediately.
[0056] For example, if unexpected obstacles or changes in road conditions occur while following the generated route, tracking errors may occur. However, these tracking errors may not be fed back into the route generation algorithm to reflect them in real time. This can lead to discrepancies between route generation and route tracking, and may therefore cause problems such as unstable vehicle behavior or deviation from the route.
[0057] Therefore, because the route generation system and the route tracking system independently attempt to minimize errors, it may ultimately be difficult to ensure the consistency and stability of the entire system as a whole. For example, if the route tracking algorithm attempts to make drastic changes in steering angle to reduce tracking error, vehicle behavior may become unstable. Conversely, even if an optimal route is proposed during the route generation phase, the overall system performance may degrade if the vehicle does not accurately follow the optimal route during the tracking phase.
[0058] In the following description, one or more exemplary embodiments will be described in detail with reference to the accompanying drawings, but the same or corresponding parts will be indicated by the same reference numerals, regardless of the drawing number, and redundant descriptions thereof will be omitted.
[0059] In the following text, reference will be made to Figure 1 and Figure 2 Describe the vehicle. Figure 1It is a view showing how a vehicle sends and receives data by communicating with other devices.
[0060] refer to Figure 1 Vehicle 100 can be powered by either electricity or fossil fuels. In the case of electricity, vehicle 100 can be, for example, a battery-based vehicle powered solely by a high-voltage battery, or it can utilize a gas-based fuel cell as its energy source. Furthermore, the fuel cell can use various types of gases capable of generating electricity, and vehicle 100 can be filled with, for example, a liquefied gas. An example of such a gas could be hydrogen. However, the gas is not limited to this, and various gases are applicable. In the case of fossil fuels, vehicle 100 can be powered by fuels such as gasoline, diesel, or liquefied petroleum gas (LPG), and can be equipped with an internal combustion engine that drives an actuation unit (also called an actuator) 116 through the combustion of fuel. From the perspective of providing driving rotational force to the wheels of a wheel drive unit (e.g., a powertrain) 118, the engine can be included in an energy generation unit (also called a generator, electric generator, energy generator, etc.) 110. As another example, vehicle 100 can selectively utilize energy from a fossil fuel-based internal combustion engine and a battery to drive the actuation unit 116, and can be a hybrid vehicle.
[0061] Vehicle 100 can refer to a mobile device. Vehicle 100 is a ground vehicle that travels on the ground and can be a typical passenger car, commercial vehicle, special purpose vehicle (PBV), etc. Vehicle 100 can be a four-wheeled vehicle, such as a passenger car, sport utility vehicle (SUV), or mini-truck, or it can be a vehicle with more than four wheels, such as a bus, large truck, container truck, heavy equipment vehicle, etc. Ground vehicle can be referred to as any vehicle including underground mobile vehicles and land mobile vehicles. In a broader sense, vehicle 100 can be a robot, such as a mobile tool, and the robot can move using wheels, tracks, or other mobility modules. In this disclosure, ground mobile devices such as ground vehicles are primarily described; however, unless contradicted by this disclosure, exemplary embodiments can also be applied to air mobile devices such as advanced air mobility (AAM) vehicles, aircraft, and water mobile devices such as ships and submarines.
[0062] Vehicle 100 can be controlled and driven autonomously, and this autonomous driving can be implemented as semi-autonomous or fully autonomous driving. Fully autonomous driving can be provided as autonomous mobility, in which the processor 130 of vehicle 100 can maintain full control without user intervention, even when driving conditions are uncertain. Semi-autonomous driving can be provided as autonomous mobility requiring driver intervention based on specific driving conditions. Semi-autonomous driving can be implemented such that when the aforementioned conditions occur, the processor 130 transfers control to the user by disabling autonomous driving, allowing the user to perform manual driving. According to the levels of autonomous driving defined by the Society of Automotive Engineers (SAE), semi-autonomous driving can correspond to levels 1 to 4, while fully autonomous driving can correspond to level 5.
[0063] Vehicle 100 can communicate with other devices 200 and 300 or another vehicle 400. Other devices may include, for example, a server 200 supporting various controls, status management, and driving functions of vehicle 100; an ITS device 300 for receiving information from an Intelligent Transportation System (ITS); various types of user devices, etc. Server 200 may be an external device operated by, for example, the vehicle manufacturer or provided to support autonomous driving, and can receive connection data from vehicle 100 or transmit data required for autonomous driving. In response to requests and data transmitted from vehicle 100 and user devices, server 200 can transmit various information and software modules for controlling vehicle 100 to support autonomous driving and various services of vehicle 100.
[0064] The ITS device 300 may be, for example, a roadside unit (RSU), and the ITS device 300 can assist the user in driving his or her own vehicle or support the autonomous driving of vehicle 100 by exchanging vehicle identification data, driving control and status data, vehicle surrounding environment data, map data, etc., with the vehicle-to-infrastructure (V2I) communication of vehicle 100. Vehicle 100 can support manual driving or autonomous driving by exchanging the data listed above with another vehicle 400 through vehicle-to-vehicle (V2V) communication.
[0065] Vehicle 100 can communicate with other vehicles or other devices based on cellular communication, in-vehicle environment wireless access (WAVE) communication, dedicated short-range communication (DSRC), short-range communication or other communication methods.
[0066] For example, vehicle 100 can use cellular communication networks such as LTE or 5G, Wi-Fi communication networks, or WAVE communication networks to communicate with server 200, ITS device 300, and another vehicle 400. As another example, DSRC or similar technologies used in vehicle 100 can be used for communication between vehicles. The communication methods between vehicle 100, server 200, ITS device 300, another vehicle 400, and user equipment are not limited to the exemplary embodiments described herein.
[0067] Figure 2 This is a diagram illustrating the modules constituting a vehicle according to one embodiment of the present disclosure.
[0068] The vehicle 100 may include a first sensor 102 and a second sensor 103, an operating unit (also known as a user interface, control panel, instrument cluster, dashboard, etc.) 106, a display 108, a load device (also known as a load or electrical load) 114, and a transmission / reception unit (also known as a communication interface, transceiver, etc.) 112.
[0069] The first sensor 102 may be equipped with various types of detectors to detect various states and situations occurring in the external environment, internal systems, user operations, and passenger space of the vehicle 100.
[0070] Specifically, the first sensor 102 may be equipped with an externally oriented camera 104a, a lidar sensor 104b, a radar sensor 104c, etc., to identify dynamic and static objects present outside the vehicle 100. The camera 104a can identify external objects as images when the vehicle 100 is in use, generate image data, and transmit the image data to the processor 130. The lidar sensor 104b can generate point cloud data as identification data for external objects and transmit the point cloud data to the processor 130 to generate 3D spatial information that at least identifies the shape of the external object. To determine the presence of external objects and their relative distance, speed, direction, etc., the radar sensor 104c can emit radio waves of a specific frequency around the vehicle 100 and generate radar data from the radio waves reflected from the external objects. In this disclosure, the sensor is shown as having a lidar sensor 104b, but in other examples, the lidar sensor 104b may not be installed.
[0071] The first sensor 102 can generate object recognition information based on sensing data. The object recognition information may include information about the existence of an object, information about the object's location, information about the distance between the vehicle 100 and the object, and information about the relative speed between the vehicle 100 and the object. In this embodiment, the external object can be various objects related to the operation of the vehicle 100.
[0072] The second sensor 103 may include a positioning sensor 104d, a wheel sensor 104e, and an attitude sensor 104f, etc., to confirm its own position, speed, driving posture, etc. The attitude sensor 104f may include a gyroscope sensor, an angular velocity sensor, an acceleration sensor, etc. The attitude sensor may be an inertial measurement unit (IMU) sensor and may be equipped with a 3-axis accelerometer and a 3-axis gyroscope. The attitude sensor can measure the acceleration of the vehicle 100 in the driving direction (x), the acceleration in the lateral direction (y), and the acceleration in the vertical direction (z), as well as the yaw angle, pitch angle, and roll angle, which are the vehicle's angular velocities.
[0073] The second sensor 103 can generate vehicle driving information based on the sensing data. Vehicle driving information can be generated based on data detected by various sensors installed inside the vehicle. For example, vehicle driving information may include vehicle attitude information, vehicle speed information, vehicle tilt information, vehicle weight information, vehicle direction information, vehicle battery information, vehicle fuel information, vehicle tire pressure information, vehicle steering information, vehicle interior temperature information, vehicle interior humidity information, pedal position information, vehicle engine temperature information, etc.
[0074] Additionally, vehicle driving information may include route information. Route information may refer to information generated based on the destination input by the vehicle user through operation unit 106. When the destination is set, route information may refer to information indicating the driving route from the current location of the main vehicle to the destination on a map. When the destination is not set, route information may refer to information including the road the main vehicle is currently traveling on and the future driving route including that road.
[0075] The operating unit 106 can be configured as a module controlled by a user for driving. For example, the operating unit 106 can be a steering wheel for manual driving, an automatic or manual transmission, an accelerator pedal, a brake pedal, etc. The operating unit 106 can also be provided with interfaces for enabling or disabling autonomous driving modes and selecting detailed functions requested by the user, allowing the user to use autonomous driving functions. To receive various requests related to autonomous driving, the operating unit 106 can be configured as, for example, a hard interface located at a predetermined location inside the vehicle 100, or a soft interface that can be touched on the display 108. Depending on the specifications of the autonomous vehicle, at least one of the steering wheel, transmission, and pedals may be omitted. As another example, the operating unit 106 can be provided with a module that, in addition to drive control, receives user control requests for the load device 114.
[0076] The display 108 can function as a user interface. The display 108 can output and display, via the processor 130, the vehicle 100's operating status, control status, route / traffic information, remaining energy information, and driver requests. Additionally, the display 108 can be configured as a touchscreen capable of detecting driver input to receive requests from the driver instructing the processor 130.
[0077] The load device 114 can be mounted on the vehicle 100 and can be any electrical device independent of the drive power system, such as the wheel drive unit 118. The load device 114 is an auxiliary device that receives electricity from the energy generation unit 110 and can be, for example, an air conditioning system, a lighting system, a seating system, various devices installed in the vehicle 100, etc. This disclosure may also include a cooling / heating system that cools or heats at least one of the battery, fuel cell, internal combustion engine, air conditioning system, and specific parts of the vehicle 100.
[0078] The transmission / reception unit 112 can support communication with the server 200, the ITS device 300, surrounding vehicles, etc. The transmission / reception unit 112 may include modules that handle, for example, cellular communication, WAVE, DSRC communication, etc. In this disclosure, the transmission / reception unit 112 can transmit data generated or stored during driving to the server 200 and receive data and software modules transmitted from the server 200. The transmission / reception unit 112 can support communication with electronic devices carried by occupants inside the vehicle 100. In this disclosure, the vehicle 100 can use the transmission / reception unit 112 to transmit and receive data from the outside using the method according to this disclosure.
[0079] For example, the transmission / reception unit 112 can receive traffic signal information from the traffic signal controller and provide the traffic signal information to the processor 130. Additionally, the transmission / reception unit 112 can receive control signals from the traffic signal controller and provide the control signals to the processor 130.
[0080] Additionally, the vehicle 100 may include an energy generation unit 110 and an actuation unit 116.
[0081] The energy generation unit 110 can generate and supply power and electricity for driving and non-driving power systems (such as actuation unit 116). The non-driving power system can be, for example, a first sensor 102, an operating unit 106, a display 108, a load device 114, and a transmission / reception unit 112, but is not limited thereto, and can include various components for implementing sensing, interface, communication, and convenience functions, excluding components directly related to driving operations. When the vehicle 100 is electrically driven, the energy generation unit 110 can be configured as an externally charged battery, or as a combination of a battery and a fuel cell for charging the battery. In the case of a battery and fuel cell combination, the energy generation unit 110 can include a tank for storing materials (such as liquefied hydrogen) used to generate electricity for the fuel cell. When the vehicle 100 is fossil fuel driven, the energy generation unit 110 can be configured as an internal combustion engine. Additionally, when the vehicle 100 is a hybrid type, the energy generation unit 110 can be configured as a combination of an internal combustion engine and a battery.
[0082] Actuation unit 116 may include at least one module that performs driving operations and executes at least one of longitudinal control (such as acceleration and deceleration) and lateral control (such as steering) according to user requests from operation unit 106. To perform driving operations via manual operation or autonomous driving according to commands from processor 130, actuation unit 116 may include wheel drive unit 118 and mechanical components and electronic modules for performing driving operations within wheel drive unit 118. When vehicle 100 operates on electric power, actuation unit 116 may include components for transmitting requested driving operations to wheel drive unit 118. When vehicle 100 operates on fossil fuel power, actuation unit 116 may include a transmission and gear module for transmitting power from an internal combustion engine.
[0083] The wheel drive unit 118 may include multiple wheels, a drive force generation module (e.g., an engine, motor, etc.) for generating and applying driving force to the wheels or transmitting driving force, a braking module for slowing down wheel drive, and a steering module for performing lateral control of the wheels. When the vehicle 100 is electrically driven, the drive force generation module may be configured as a motor assembly that generates driving force based on electricity output from a battery. The braking module of the electrically driven vehicle 100 may also have regenerative braking functionality.
[0084] The navigation unit (also known as the navigation system) 122 can provide navigation information. The navigation information may include at least one of the following: map information, set destination information, route information based on the set destination, information about various objects on the route, lane information, and current vehicle position information.
[0085] The navigation unit 122 can receive information from an external device and update previously stored information via the transmission / reception unit 112. According to this embodiment, the navigation unit 122 can be classified as a sub-component of the operation unit 106.
[0086] The vehicle control device 10 according to this embodiment may include a memory 120 and a processor 130.
[0087] The memory 120 can store applications and various types of data used to control the vehicle 100, and can load applications or read and record data upon request from the processor 130.
[0088] Processor 130 can perform overall control of vehicle 100. Processor 130 can be configured to execute application programs and instructions stored in memory 120.
[0089] The processor 130 may include a first processing unit 131, a second processing unit 132, a third processing unit 133, a fourth processing unit 134, and a fifth processing unit 135.
[0090] Figure 3 This is a diagram illustrating the operation of the processor according to this embodiment. (See also:) Figure 3 The first processing unit 131 can use navigation information from the navigation unit and surrounding object information detected by the sensors to generate multiple candidate routes from the location of the main vehicle to the target route (e.g., merged with the target route).
[0091] Navigation information may include at least one of map information, set destination information, route information based on the set destination, information about various objects along the route, lane information, and current vehicle location information. In this embodiment, map information may refer to high-definition (HD) map information.
[0092] The surrounding object information can refer to the identification information about objects outside the vehicle detected by the camera 104a, lidar sensor 104b, and radar sensor 104c of the first sensor 102. The surrounding object information may include image information, point cloud information, etc.
[0093] The first processing unit 131 can generate candidate routes that connect the position of the main vehicle and the target route along the center line of the lane.
[0094] The first processing unit 131 can use HD map information and surrounding object information to generate multiple candidate routes connecting the current location and the target route along the center of the lane. This process can refer to a technology that allows the vehicle to travel safely and efficiently while maintaining its position in the center of the lane.
[0095] The camera can scan the road environment in real time and capture images. These images may include lanes, signs, obstacles, pedestrians, road boundaries, etc. Additionally, LiDAR or radar sensors can be used complementaryly to collect information such as distance and depth to objects.
[0096] The first processing unit 131 can use image processing algorithms (such as CNN or deep learning models) to extract the position and shape of lanes from road images. The first processing unit 131 can identify the type of lane lines (e.g., solid lines, dashed lines, etc.), the curvature of the lanes (whether the lane is a curve), etc., and convert them into coordinates.
[0097] The first processing unit 131 can determine the centerline of the lane currently identified by the vehicle. This centerline can be used as a reference route for vehicle travel.
[0098] The first processing unit 131 can use information about the vehicle's current location to determine the location of the master vehicle. The target route can be determined using route information generated to reach the destination. That is, the target route can refer to any segment of the vehicle's driving route that leads to the destination.
[0099] The first processing unit 131 can generate multiple routes from the location of the main vehicle to the target route (e.g., merged with the target route), and these routes can be generated as several candidate routes (path candidates) based on the center of the lane.
[0100] For example, the first processing unit 131 can use mathematical models such as spline curves, Bezier curves, etc., to generate candidate routes. The first processing unit 131 can also generate candidate routes by taking into account the dynamic constraints of the vehicle (e.g., turning radius, acceleration, etc.).
[0101] Multiple candidate routes are generated because selection is needed when multiple lanes exist, and routes need to be avoided when there are obstacles ahead. Another reason is that driving routes need to be generated with different curvatures to match road conditions (e.g., curves).
[0102] Alternatively, the first processing unit 131 may use the Frenet coordinate system to generate candidate routes.
[0103] The Frenet coordinate system is a coordinate system defined along the curves and routes of a road, and can represent the position of a vehicle based on the centerline of the road. The Frenet coordinate system can be represented by an s-axis and a d-axis. The s-axis refers to the cumulative length (arc length) along the reference route of the road and corresponds to the vehicle's direction of travel. The d-axis refers to the perpendicular distance from the reference route of the road and represents the lateral deviation.
[0104] The first processing unit 131 can independently process the s-axis and d-axis when generating candidate routes using the Frenet coordinate system. That is, s(t) represents the longitudinal route related to the driving speed and indicates how far the vehicle has moved to the target route, while d(t) represents the lateral route of the road and indicates how far the vehicle has deviated from the center of the lane.
[0105] The first processing unit 131 can set the center line of the road (e.g., the center line of a lane) as a reference route. This route can be provided in map information (HD Map).
[0106] The first processing unit 131 can process the reference route into a smooth curve, such as a spline curve or a Bézier curve, by taking into account the road curvature.
[0107] The first processing unit 131 can generate an acceleration curve that includes the vehicle's speed and acceleration planning. This curve is represented by s(t) as shown in Equation 1 below, and represents the position on the route at time t.
[0108] [Equation 1]
[0109]
[0110] In Equation 1, s0 is the initial position, v0 is the initial velocity, and a is the acceleration. The first processing unit 131 can generate multiple longitudinal candidate routes by considering various acceleration scenarios (stationary, gradually accelerating, etc.).
[0111] The first processing unit 131 can determine the lateral route taken by the vehicle when moving from its current position to the center of the lane or another lane. This can be used when changing lanes or avoiding obstacles. The first processing unit 131 can generate various lateral candidate routes to determine how much lateral deviation the vehicle is allowed to make.
[0112] The first processing unit 131 can generate the vehicle's position d(t) as a polynomial. The first processing unit 131 can use a cubic or quintic polynomial to calculate d(t) as shown in Equation 2 or Equation 3 below.
[0113] [Equation 2]
[0114]
[0115] [Equation 3]
[0116]
[0117] In equations 2 and 3, a0, a1, ..., a5 are coefficients determined based on boundary conditions (initial position, velocity, acceleration), and the first processing unit 131 can set boundary conditions such as initial position, velocity, and acceleration when generating the route.
[0118] The initial position can refer to the vehicle's current position (s0, d0), the initial velocity can refer to the vehicle's current velocity (v0), and the initial acceleration can refer to the vehicle's current acceleration (a0).
[0119] The position or speed of the target route can also be set as boundary conditions.
[0120] For example, when a vehicle moves from its current position to the center of the lane, the initial position can be set to d0=0, and the target position can be set to d0=0. goal =3.5 m (half the lane width).
[0121] The first processing unit 131 can generate multiple candidate routes by combining longitudinal and lateral routes. Each route can be represented as a function of position changing over time, such as (s(t), d(t)).
[0122] The second processing unit 132 can determine the route tracking error (also known as path tracking error, route following error, route deviation, etc.) on the route the main vehicle is traveling on. The route tracking error can refer to the amount of deviation from the expected route. The second processing unit 132 can use the steering angle and acceleration values used to maintain the center line of the lane to determine the route tracking error.
[0123] In this embodiment, as the vehicle is traveling along a candidate route, control is executed to follow the route using steering angle and acceleration. During this process, an error may occur between the vehicle's actual position and the position of the centerline (reference route) of the route, and the second processing unit 132 can perform route tracking control (also known as route tracking) to accurately calculate and correct this error.
[0124] Errors in route tracking control can include lateral errors e y and heading error θ e The lateral error indicates how much the vehicle's current position deviates to the left or right from the candidate route (centerline), while the heading error indicates the angular difference between the vehicle's direction of travel (heading) and the direction of travel of the route.
[0125] The second processing unit 132 can determine the route tracking error in the vehicle coordinate system. The current position of the vehicle is represented as (x... v , y v ), and can refer to the point corresponding to the center of the vehicle's front wheel.
[0126] When the nearest point (reference point) on the route is (x r , y r And the reference heading of the route at the corresponding point is defined as θ. r At that time, the lateral error e y It can be calculated as the vertical distance between the vehicle's current position and the nearest point on the route.
[0127] For example, the second processing unit 132 can calculate the lateral error according to the following equation 4.
[0128] [Equation 4]
[0129]
[0130] Equation 4 calculates the orthogonal distance between the vehicle's position and the reference route. When the vehicle is on the left side of the route, the error can be expressed as a positive number, and when the vehicle is on the right side of the route, the error can be expressed as a negative number.
[0131] Heading error θ e The vehicle's current heading (heading) θ v θ is the direction (heading) of the route. r The difference between them, and the second processing unit 132 can calculate the heading error according to the following equation 5.
[0132] [Equation 5]
[0133]
[0134] The second processing unit 132 can calculate the heading error by the difference between two heading values, and can normalize the calculated value and represent it in the range of -π to π. For example, when θ e When the angle is 200°, the second processing unit 132 can process θ. e Normalize and convert it to θ e = −160°.
[0135] When the route tracking error exceeds a preset threshold error value, the third processing unit 133 can use candidate routes to determine the optimal route that minimizes the route tracking error. As used herein, the term "optimal" route can refer to the best candidate route selected from two or more candidate routes based on a set of predetermined criteria. The optimal route can also be referred to as the selected route.
[0136] For example, when the cumulative number of times the route tracking error exceeds a threshold error value exceeds a preset threshold number, the third processing unit 133 can determine the optimal route. When the cumulative route tracking error value reaches a high value, the third processing unit 133 can choose not to select or follow candidate routes, and can adjust the timing of following (e.g., tracking) the target route on the candidate routes to determine the optimal route. In this way, minimizing the route tracking error can be established as the highest priority strategy.
[0137] Alternatively, when the cumulative number of times the route tracking error exceeds a threshold error value does not exceed the threshold number, the third processing unit 133 can determine one of the candidate routes as the optimal route. That is, when the cumulative number of times the route tracking error is calculated as a high value is less than or equal to the threshold number, the optimal route can be determined by following (e.g., tracking) one of the existing candidate routes. In this way, the highest priority strategy of following the existing candidate routes can be established.
[0138] When the collision risk level is equal to or higher than a preset threshold, the third processing unit 133 can determine one of the candidate routes as the optimal route. That is, when the collision risk level is high, regardless of the number of accumulated route tracking errors, the optimal route can be determined by following (e.g., tracking) one of the existing candidate routes. In this way, avoiding dangerous situations can be established as the highest priority control strategy.
[0139] The third processing unit 133 can use a cost function that includes longitudinal / lateral jerk costs (e.g., longitudinal jerk costs and lateral jerk costs), target speed costs, and target route offset costs to determine the optimal route.
[0140] When the cumulative number of times the route tracking error exceeds the threshold error value exceeds the preset threshold number, the third processing unit 133 can determine the optimal route by adjusting the weight of the target route offset cost.
[0141] The third processing unit 133 can reflect the target route offset cost in the cost function with adjusted weights and determine the optimal route to minimize the cost function.
[0142] The third processing unit 133 can evaluate multiple candidate routes that have been generated and select the safest and most efficient route. The third processing unit 133 can use a cost function that considers safety (e.g., the possibility of collision with obstacles), driving convenience (e.g., preference for routes with less sharp curves), travel time (e.g., whether the target route can be reached in the shortest time) and fuel efficiency (e.g., routes without unnecessary rapid acceleration or deceleration) to determine the score of each route, and select the candidate route with the lowest score (i.e., optimal) as the optimal route.
[0143] In this embodiment, the third processing unit 133 can use a cost function that includes longitudinal jerk and lateral jerk, target speed cost, and route deviation cost to determine the optimal route.
[0144] Jerk refers to the rate of change of a vehicle's acceleration, and it must be minimized to prevent a decrease in ride comfort when the vehicle suddenly changes speed or direction.
[0145] When acceleration costs are minimized, vehicle movement can be smoothed, providing a more comfortable ride for occupants and improving the durability of vehicle components.
[0146] Target speed cost is a measure of how quickly a vehicle can maintain a target speed (e.g., 60 km / h) while traveling along a driving route. Speeds that are too slow or too fast can be inefficient or dangerous, and minimizing costs helps guide the vehicle toward its target speed.
[0147] Target route deviation cost is a metric that ensures a vehicle does not deviate from the centerline of the target route it must travel (e.g., the center of a lane). Target route deviation cost measures how much the vehicle deviates from the route centerline and can be expressed as the integral of the route tracking error. Minimizing the target route deviation cost guides the vehicle precisely along the centerline.
[0148] The third processing unit 133 can define a cost function that combines each of the costs to select the optimal route from multiple candidate routes. The third processing unit 133 can adjust the factors that are prioritized when selecting a route by assigning weights to each cost.
[0149] For example, the third processing unit 133 can define the cost function as shown in Equation 6 below.
[0150] [Equation 6]
[0151]
[0152] In equation 6, J lon For longitudinal jerk, J lat For lateral jerk, C velocity For the target speed cost, and C offset The target route offset cost is represented by w1, w2, w3, and w4, which are the weights of each cost item.
[0153] In this implementation, all weight values can be set as upper / lower thresholds using empirical values determined by combining experimental results from the route generation and route tracking processes.
[0154] For example, when driving comfort is considered more important, the third processing unit can set the values of w1 and w2 to be larger, while on the other hand, when accurate route tracking is more important, the value of w4 can be set to be larger.
[0155] The third processing unit 133 can determine the cost function values of all candidate routes and select the route with the lowest cost as the optimal route. For example, when a vehicle needs to go around an obstacle while driving, some candidate routes may have a high lateral acceleration cost (because these candidate routes must make sharp turns to avoid the obstacle), while other candidate routes may be smoother but difficult to maintain the target speed, thus increasing the speed cost.
[0156] In this embodiment, when the cumulative number of times the route tracking error exceeds a threshold error value exceeds a preset threshold number, the third processing unit 133 can adjust the weight w4 of the target route deviation cost. When the route tracking error accumulates and becomes large, it may mean that the vehicle is driving on sharp curves or other sections of the road where it is difficult to follow the route accurately. Therefore, the third processing unit 133 can adjust the cost function by lowering the weight value of the target route deviation cost to follow the route more easily and smoothly than precise route tracking. As described above, when the weight value of the target route deviation cost is adjusted to be lower, a lower limit threshold for the weight can be predefined. This is because, when the lower limit threshold for the weight is not set, routes that do not reduce the route tracking error can be repeatedly selected, and therefore, the overall route tracking control may diverge instead of converge. Therefore, the third processing unit 133 can use empirical values obtained through repeated experiments of route generation and route tracking to set the lower limit threshold for the weight of the target route deviation cost. By adjusting the target route deviation cost to be lower in this way, excessive lateral or longitudinal control can be avoided to accurately follow the target route.
[0157] The third processing unit 133 determines the optimal route by considering the balance between costs, but when a large route tracking error accumulates, the constraints for following (e.g., tracking) the target route can be temporarily relaxed, so that the optimal route can be determined between the candidate route generation process and the follow control process.
[0158] The processor can perform real-time optimal route recalculation by generating new candidate routes and recalculating costs when road conditions change during driving (such as the appearance of obstacles or changes in road curvature).
[0159] The fourth processing unit 134 can determine vehicle control signals for following (e.g., tracking) the optimal route.
[0160] The fourth processing unit 134 can comprehensively consider and reflect lateral error and heading error in the vehicle control signal.
[0161] The fourth processing unit 134 can reflect the lateral error and heading error in the vehicle control signal through the cost function according to the following equation 7.
[0162] [Equation 7]
[0163]
[0164] In Equation 7, k1 and k2 can respectively represent the adjustment of the lateral error e y and heading error θ e The importance of the weight. The fourth processing unit 134 can control the vehicle's steering angle and acceleration in the direction that minimizes the cost function.
[0165] The fourth processing unit 134 can use algorithms such as proportional-integral-derivative (PID) control or model predictive control (MPC) to reduce route tracking error.
[0166] In PID control, lateral error can be used to control the vehicle's steering angle.
[0167] The fourth processing unit 134 can calculate the steering angle input δ according to the following equation 8.
[0168] [Equation 8]
[0169]
[0170] In equation 8, K p K d and K i These can represent proportional gain, differential gain, and integral gain, respectively. As e... y Increasing the steering angle allows for greater adjustment.
[0171] MPC can use vehicle dynamics models and cost functions to pre-calculate predictable routes and errors, and determine the optimal steering angle and optimal acceleration that satisfy the cost function. The fourth processing unit 134 can adjust the steering angle and acceleration so that the vehicle minimizes errors at a specific time in the future.
[0172] The fourth processing unit 134 can determine the vehicle's position and route error in real time for each control cycle during driving. While driving along the route, the error may increase rapidly during obstacle avoidance or curved sections, and the fourth processing unit 134 can generate new routes or modify control inputs in real time.
[0173] The fifth processing unit 135 can use vehicle driving information about the main vehicle and surrounding object information to determine the collision risk level.
[0174] The fifth processing unit 135 can use information about the driving speed, driving distance, and driving time of the main vehicle detected by the second sensor, as well as information about the position and speed of surrounding objects detected by the first sensor, to determine information about the real-time changing coordinates of surrounding objects and information about the relative distance and relative speed between the main vehicle and surrounding objects.
[0175] The fifth processing unit 135 can determine the expected collision time between the main vehicle and surrounding objects based on the relative distance and relative speed between the main vehicle and surrounding objects, and can determine the collision risk level based on the determined expected collision time. The fifth processing unit 135 can determine that the collision risk level is equal to or greater than a preset threshold when the expected collision time is less than a preset threshold time.
[0176] Figure 4A and Figure 4B This is a conceptual diagram used to describe the optimal route tracking process of a vehicle according to an implementation method.
[0177] refer to Figure 4A In at least some implementations of route tracking control, even under conditions of persistently high route tracking errors, a strategy can be used that selects one of the generated candidate routes and follows the target route based on that candidate route without considering the situation. In such cases, route tracking errors may become more severe, and driving instability may increase over time.
[0178] refer to Figure 4B If a route tracking error with a large value persists, the vehicle control device according to this disclosure can adjust the weight of the target route deviation cost, which reflects the degree of tracking the target route, in the cost function to be lower. Therefore, instead of simply following the target route along candidate routes, an optimal (e.g., adjusted) route can be generated that converges more gradually to the target route in the direction of reducing route tracking error.
[0179] In this scenario, the processor can visually display candidate routes and the optimal route via a monitor.
[0180] The processor 130 can determine a driving strategy based on an optimal route and control the vehicle's behavior accordingly. The processor 130 can control the behavior of the master vehicle based on lateral and longitudinal control.
[0181] The processor can determine vehicle control signals based on driving strategies, such as lane keeping, deceleration, lane changing, and acceleration.
[0182] Figure 5 This is a flowchart of a method for controlling a vehicle according to an implementation method.
[0183] refer to Figure 5 The processor uses navigation information from the navigation unit and surrounding object information detected by the sensors to generate multiple candidate routes from the location of the main vehicle to the target route (e.g., merged with the target route) (S501).
[0184] The processor determines the route tracking error on the route the master vehicle is traveling on (S502).
[0185] The processor determines whether the number of times the route tracking error exceeds a preset threshold error value exceeds the threshold number (S503).
[0186] When the cumulative number of times the route tracking error exceeds the threshold error value does not exceed the threshold number, the processor determines one of the candidate routes as the optimal route. In this case, the processor determines the candidate route that minimizes the cost function including longitudinal / lateral acceleration cost, target speed cost, and target route offset cost as the optimal route (S504).
[0187] When the cumulative number of times the route tracking error exceeds the threshold error value exceeds the threshold number, the processor uses vehicle driving information about the main vehicle and surrounding object information to determine the collision risk level (S505).
[0188] When the collision risk level is equal to or greater than a preset threshold, the processor determines one of the candidate routes as the optimal route. In this case, among the candidate routes that can avoid collision, the processor determines the optimal route as the one that minimizes the cost function including longitudinal / lateral acceleration cost, target velocity cost, and target route offset cost (S506 and S507).
[0189] When the collision risk level is less than the preset threshold, the processor adjusts the weight of the target route deviation cost to be lower (S508).
[0190] The processor reflects the target route offset cost in the cost function with adjusted weights and determines the optimal route to follow the candidate routes, thereby minimizing the cost function (S509 and S510).
[0191] The processor generates vehicle control signals for following (e.g., tracking) the optimal route (S511).
[0192] In addition, the processor visually displays the candidate routes and the optimal route via a display (S512).
[0193] According to one aspect of this disclosure, a vehicle control device is provided, the vehicle control device including one or more processors and a memory storing one or more programs executed by the one or more processors, wherein the processor is configured to: generate a plurality of candidate routes from the position of a master vehicle to a target route using navigation information from a navigation unit and surrounding object information detected by a sensor unit; determine a route following error on the route the master vehicle is traveling on; use the candidate routes to determine an optimal route that minimizes the route following error; and determine a vehicle control signal for following the optimal route.
[0194] The processor can determine the optimal route when the cumulative number of times the route following error exceeds a preset threshold exceeds the preset threshold number of times.
[0195] The processor can generate candidate routes that connect the location of the main vehicle and the target route along the center line of the lane.
[0196] The processor can use the steering angle and acceleration values used to maintain the center line of the lane to determine the line following error.
[0197] The processor can use a cost function that includes longitudinal / lateral acceleration costs, target velocity costs, and target route offset costs to determine the optimal route.
[0198] The processor can determine the optimal route by adjusting the weights of the target route offset cost.
[0199] The processor can reflect the target route offset cost in the cost function with integrated weights and determine the optimal route to minimize the cost function.
[0200] The processor can determine the optimal route from among the candidate routes when the cumulative number of times the route following error exceeds the threshold error value does not exceed the threshold number.
[0201] The processor can use vehicle driving information about the main vehicle and information about surrounding objects to determine the collision risk level.
[0202] The processor can select one of the candidate routes as the optimal route when the collision risk level is equal to or higher than a preset threshold.
[0203] According to another aspect of this disclosure, a method for controlling a vehicle executed by a computing device is provided, the computing device including one or more processors and a memory storing one or more programs executed by the one or more processors, the method comprising: generating, by the processors, a plurality of candidate routes from the position of a master vehicle to a target route using navigation information from a navigation unit and surrounding object information detected by a sensor unit; calculating, by the processors, a route following error on the route the master vehicle is traveling on; calculating, by the processors, an optimal route that minimizes the route following error using the candidate routes; and calculating, by the processors, a vehicle control signal for following the optimal route.
[0204] In the calculation of the optimal route, the optimal route can be determined when the cumulative number of times the route following error exceeds the preset threshold error value exceeds the preset threshold number of times.
[0205] In the generation of candidate routes, candidate routes can be generated that connect the position of the main vehicle and the target route along the center line of the lane.
[0206] In calculating the lane following error, the steering angle and acceleration values used to maintain the center line of the lane can be used to determine the lane following error.
[0207] In the calculation of the optimal route, a cost function that includes longitudinal / lateral acceleration costs, target speed costs, and target route deviation costs can be used to determine the optimal route.
[0208] In the calculation of the optimal route, the optimal route can be determined by adjusting the weight of the target route offset cost.
[0209] In the calculation of the optimal route, the cost of the target route deviation can be reflected in the cost function with adjusted weights, and the optimal route can be determined to minimize the cost function.
[0210] In the calculation of the optimal route, if the cumulative number of times the route following error exceeds the threshold error value does not exceed the threshold number, one of the candidate routes can be determined as the optimal route.
[0211] The method may also include determining the collision risk level using vehicle driving information about the primary vehicle and information about surrounding objects before calculating the optimal route.
[0212] In the calculation of the optimal route, when the collision risk level is equal to or higher than a preset threshold, one of the candidate routes can be determined as the optimal route.
[0213] As used in this embodiment, the term "unit" refers to a software or hardware component such as a Field-Programmable Gate Array (FPGA) or Application-Specific Integrated Circuit (ASIC), and a "unit" performs a specific function. However, a "unit" is not limited to software or hardware. A "unit" may be configured to reside in addressable memory or may be configured to reproduce one or more processors. Thus, for example, a "unit" includes components such as software components, object-oriented software components, class components, and task components, and includes processes, functions, attributes, programs, subroutines, program code segments, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functionality provided in components and "units" can be combined into a smaller number of components and "units," or can be divided into additional components and "units." Furthermore, components and "units" can be implemented to reproduce one or more CPUs in a device or secure multimedia card.
[0214] By considering following performance during the route generation phase and reflecting the following error in real time according to the implementation method, driving instability caused by cumulative error can be minimized.
[0215] In addition, it can improve the controllability of the vehicle.
[0216] In addition, it can significantly improve the driving stability, ride comfort, and efficiency of autonomous vehicles.
[0217] Although preferred embodiments of the present disclosure have been described above, it should be understood that those skilled in the art can make various changes and modifications to the present disclosure without departing from the spirit and scope of the disclosure as set forth in the following claims.
Claims
1. A device for a vehicle, the device comprising: One or more processors; as well as A memory that stores at least one instruction configured to, when executed by one or more processors in communication with the memory, cause the device to: Multiple candidate routes are generated by merging the vehicle's location with the target route, using the vehicle's navigation system and based on surrounding object information obtained from the vehicle's sensors. Determine the deviation between the vehicle's current route and the target route; From the plurality of candidate routes, determine the optimal route that minimizes the deviation from the target route; Generate vehicle control signals that follow the optimal route; as well as The driving operation of the vehicle is controlled based on the vehicle control signals.
2. The device according to claim 1, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route in such a way as: The optimal route is determined based on the number of times the deviation from the route exceeds a threshold value.
3. The device according to claim 1, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to generate the plurality of candidate routes in such a way as: The multiple candidate routes are generated to connect the vehicle's position to the target route along the center line of the lane the vehicle is traveling on.
4. The device according to claim 3, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the deviation of the route in such a way as: The deviation from the lane is determined based on the vehicle's steering angle and acceleration values used to maintain the centerline of the lane.
5. The device according to claim 2, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route in such a way as: The optimal route is determined based on a cost function, which includes longitudinal and lateral acceleration costs, target speed costs, and target route deviation costs.
6. The device according to claim 5, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route by adjusting the weights of the target route offset cost.
7. The device according to claim 6, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route in such a way as: The target route offset cost is applied to the cost function with adjusted weights, and the optimal route is determined such that the cost function is minimized.
8. The device according to claim 1, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route in such a way as: The optimal route is determined from among the multiple candidate routes based on the number of times the deviation of the route exceeds a threshold and the number of deviations is less than the threshold value.
9. The device according to claim 1, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, cause the device to determine the optimal route in such a way as: The collision risk level is determined based on vehicle driving information and surrounding object information. as well as The optimal route is determined from among the multiple candidate routes based on the collision risk level being greater than or equal to a threshold.
10. The device according to claim 1, wherein, The at least one instruction is configured to, when executed by the one or more processors communicating with the memory, also cause the device to display the plurality of candidate routes and the optimal route via a display device of the vehicle.
11. A method performed by a device in a vehicle, the method comprising: Multiple candidate routes are generated by merging the vehicle's location with the target route, using the vehicle's navigation system and based on surrounding object information obtained from the vehicle's sensors. Determine the deviation between the vehicle's current route and the target route; Determine the optimal route from the plurality of candidate routes that minimizes the deviation from the target route; Generate vehicle control signals that follow the optimal route; as well as The driving operation of the vehicle is controlled based on the vehicle control signals.
12. The method according to claim 11, wherein, Determining the optimal route includes: The optimal route is determined based on the number of times the deviation from the route exceeds a threshold value.
13. The method according to claim 11, wherein, Generating the multiple candidate routes includes: The multiple candidate routes are generated to connect the vehicle's position to the target route along the center line of the lane the vehicle is traveling on.
14. The method according to claim 13, wherein, Determining the deviation of the route includes: The deviation from the lane is determined based on the vehicle's steering angle and acceleration values used to maintain the centerline of the lane.
15. The method according to claim 12, wherein, Determining the optimal route includes: The optimal route is determined based on a cost function, which includes longitudinal and lateral acceleration costs, target speed costs, and target route deviation costs.
16. The method according to claim 15, wherein, Determining the optimal route includes adjusting the weights of the target route offset costs.
17. The method according to claim 16, wherein, Determining the optimal route includes: The target route offset cost is applied to the cost function with adjusted weights, and the optimal route is determined such that the cost function is minimized.
18. The method according to claim 11, wherein, Determining the optimal route includes: The optimal route is determined from among the multiple candidate routes based on the number of times the deviation of the route exceeds a threshold and the number of deviations is less than the threshold value.
19. The method of claim 11, further comprising: Before determining the optimal route, a collision risk level is determined based on vehicle driving information about the vehicle and information about surrounding objects.
20. The method according to claim 19, wherein, Determining the optimal route includes: The optimal route is determined from among the multiple candidate routes based on the collision risk level being greater than or equal to a threshold.