Fault-tolerant conversion to driver operated steering
Patent Information
- Application Number
- CN202610463669.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2025-04-15
- Filing Date
- 2026-04-09
- Publication Date
- 2026-10-23
Smart Images

Figure CN122957322A_ABST
Abstract
Description
Background Technology
[0001] This disclosure relates to vehicles, and more specifically, but not in a limiting way, to autonomous driving of vehicles. Summary of the Invention
[0002] In some implementations, a general aspect includes a method for steering that transitions to driver operation of the vehicle. The method includes providing automatic steering features of the vehicle by a first vehicle system. The method also includes detecting a fault in the first vehicle system by a second vehicle system. Furthermore, in response to the fault, the second vehicle system acquires control of the automatic steering features from the first vehicle system and provides the automatic steering features for a defined period based on a pre-computed dataset generated by the first vehicle system prior to the fault.
[0003] In some embodiments, another general aspect includes a control system for a vehicle. The control system includes a first vehicle system operable to provide automatic steering features for the vehicle. The system also includes a second vehicle system communicatively coupled to the first vehicle system and operable to perform operations including detecting faults in the first vehicle system. The operations further include: in response to a fault, obtaining control of the automatic steering features from the first vehicle system, and providing the automatic steering features for a defined period of time based on a pre-calculated dataset generated by the first vehicle system prior to the fault.
[0004] In some embodiments, another general aspect includes a computer program product comprising a non-transitory computer-usable medium having computer-readable program code implemented therein. The computer-readable program code is adapted to be executed to implement a method of steering translated into driver operation of a vehicle. The method includes providing automatic steering features of the vehicle by a first vehicle system. The method also includes detecting a fault in the first vehicle system by a second vehicle system. The method further includes: in response to the fault, the second vehicle system acquiring control of the automatic steering features from the first vehicle system and providing the automatic steering features for a defined period based on a pre-computed dataset generated by the first vehicle system prior to the fault. Attached Figure Description
[0005] Figure 1A Example vehicles that can be operated according to certain implementation schemes are illustrated.
[0006] Figure 1B An example is shown of a chassis of a vehicle with multiple drive units that is operable according to certain embodiments.
[0007] Figure 2A It is a schematic block diagram of a vehicle control system according to certain implementation schemes.
[0008] Figure 2B It is a schematic block diagram of an alternative control system for a vehicle according to certain implementation schemes.
[0009] Figure 3 Examples of control systems for providing fault tolerance for automatic steering features, according to certain implementation schemes, are illustrated.
[0010] Figure 4A and Figure 4B Examples are given according to certain implementation schemes. Figure 3 Example operation of the control system used to provide fault tolerance.
[0011] Figure 5 Examples of processes for generating and storing lateral control frameworks according to certain implementation schemes are illustrated.
[0012] Figure 6 Examples of processes for generating and storing lateral control frameworks according to certain implementation schemes are illustrated. Detailed Implementation
[0013] Vehicles may include control systems that provide Advanced Driver Assistance Systems (ADAS). ADAS can provide various features that assist the driver in operating the vehicle safely, such as by providing warnings or performing certain driving tasks (e.g., steering, acceleration, or braking). Generally, ADAS enables control systems to operate the vehicle with (or without) driver supervision and intervention. The Society of Automotive Engineers (SAE) published SAE J3016 (titled "Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles," revised in April 2021) in January 2014, which defines six levels of driving automation for vehicles operating on roads. SAE levels (often referred to as ADAS levels) include Level 0 (no driving automation), Level 1 (driver assistance), Level 2 (partial driving automation), Level 3 (conditional driving automation), Level 4 (advanced driving automation), and Level 5 (full driving automation).
[0014] Generally, each ADAS level defines the degree to which driver-supported features and autonomous driving features provided by the control system participate in Dynamic Driving Task (DDT). SAE typically defines DDT as all real-time functions required to operate a vehicle on the road, including tactical and operational functions, but excluding strategic functions (such as scheduling, route planning, or determining waypoints and stop points). For example, DDT includes lateral (left-right) vehicle motion control, longitudinal (front-back) vehicle motion control, object and event detection and response, and communication with other vehicles via signaling, lighting, horn, etc. In other words, the level of ADAS autonomy of the vehicle is determined by the driver-supported features and autonomous driving features accessed at any given time.
[0015] For ADAS Levels 0, 1, and 2, drivers typically perform DDT (even when the driver is not operating the system and their foot is off the pedal) and must steer, brake, and accelerate as needed to maintain safety. ADAS Level 0 includes driver support features that provide warnings and momentary assistance, such as automatic emergency braking, blind spot warning, and lane departure warning. ADAS Level 1 includes driver support features that provide steering or braking / acceleration support, such as lane centering or adaptive cruise control. ADAS Level 2 includes driver support features that provide both steering and braking / acceleration support, such as lane centering and adaptive cruise control. Driver support features provided by the control system can be selected (engaged) and deselected (disengaged) by the driver.
[0016] For ADAS Levels 3, 4, and 5, the Automated Driving System (ADS) of ADAS can perform Direct Driving Deployment (DDD). Generally, a vehicle control system may include multiple Electronic Control Units (ECUs) distributed across certain functions and control areas of the vehicle. Due to its criticality and complexity, ADS may be executed by a dedicated ECU. ADS can provide one or more autonomous driving modes corresponding to ADAS Levels 3, 4, and / or 5, such as Level 3 Autonomous Driving Mode, Level 4 Autonomous Driving Mode, and / or Level 5 Autonomous Driving Mode.
[0017] ADAS Level 3 includes autonomous driving features for vehicles operating under limited conditions, such as traffic congestion features and private driver features. ADAS Level 4 also includes autonomous driving features for vehicles operating under limited conditions, such as local driverless taxi features. ADAS Level 5 includes autonomous driving features for vehicles operating under all conditions. ADAS Levels 4 and 5 do not require the driver to take over DDT during autonomous operation. The autonomous driving features provided by ADAS can be selected (engaged) and deselected (disengaged) by the driver.
[0018] A recently gained significant impact in autonomous driving is hands-free driving. Hands-free driving is generally considered a feature of ADAS Level 2. When hands-free driving is enabled, ADS can perform DDT, as discussed above regarding ADAS Levels 3, 4, and 5, and the driver is permitted to remove their hands from the steering wheel; however, the driver must generally keep their eyes on the road and be prepared to take over steering immediately if necessary. This contrasts with, for example, ADAS Level 3, where the driver is permitted to take their eyes off the road during autonomous operation. In some respects, when hands-free driving is enabled, the driver can be monitored to ensure their eyes remain on the road.
[0019] Accordingly, under various conditions and circumstances, a vehicle's ADAS can control the vehicle's steering. Any such steering control can be referred to herein as an "automatic steering feature." Sometimes, a malfunction can occur in the control system, preventing the automatic steering feature from operating correctly. The malfunction could be due to sensor failure, software or hardware failure in the control system, etc. Typically, in this situation, the automatic steering feature is lost immediately, and the driver must immediately take over steering control. However, the problem is that there can be a delay between the occurrence of the malfunction and the driver being ready to competently take over steering control (e.g., place their hands on the steering wheel and properly control the vehicle). In some cases, this transition delay can lead to an uncontrollable lane departure before the driver is able to safely take over.
[0020] This disclosure describes examples of steering transitioning to driver-operated steering in the event of a malfunction associated with the automatic steering feature. In some aspects, the vehicle system providing the automatic steering feature may periodically generate and store a pre-computed dataset based on the system's processing of vehicle sensor data. In other aspects, in the event of a malfunction associated with the automatic steering feature, the auxiliary vehicle system may temporarily take over the automatic steering feature and, using the pre-computed dataset, gradually deactivate the automatic steering feature over a limited time period (e.g., 2 seconds, 3 seconds, 5 seconds, etc.).
[0021] Advantageously, in some respects, the various principles described herein can more effectively and efficiently achieve fault tolerance for automatic steering features and their corresponding driving modes (e.g., hands-free driving). Because the vehicle assistance system can temporarily take over and gradually deactivate the automatic steering features, it provides the driver with additional time to place their hands on the steering wheel and safely take over, thereby preventing lane departures due to potential malfunctions and facilitating a smooth transition to driver-operated steering. Furthermore, in some respects, fault tolerance can be achieved efficiently without adding controllers, sensors, or systems that are, for example, sufficient for full redundancy. Instead, because the role of the vehicle assistance system can be limited to taking over the automatic steering features in an open-loop manner for short periods (e.g., 4 seconds, 5 seconds, 6 seconds, etc.) under abnormal conditions, such a system can be an existing vehicle system serving different primary purposes, or a system with fewer memory and computational resources than full redundancy might require or be desired.
[0022] Figure 1A Example vehicle 100 is shown. (e.g.) Figure 1A As shown, vehicle 100 has a plurality of external cameras 102 and one or more front displays 104. Each of these external cameras 102 can capture a specific view or perspective of the exterior of vehicle 100. Images or videos captured by the external cameras 102 can then be displayed on one or more displays in vehicle 100, such as one or more front displays 104, for the driver to view.
[0023] refer to Figure 1B The vehicle 100 may include a chassis 106, which includes a frame 108 that provides the main structural components of the vehicle 100. The frame 108 may be formed by one or more beams or other structural components, or it may be integrated with the vehicle body (i.e., a monocoque construction).
[0024] In embodiments where vehicle 100 is a battery electric vehicle (BEV) or possibly a hybrid vehicle, a large battery 110 is mounted to the chassis 106 and may occupy a significant portion (e.g., at least 80%) of the area within the frame 108. For example, battery 110 may store 100 to 200 kWh. Battery 110 may be a lithium-ion battery or other types of rechargeable battery. The battery may be substantially planar in shape.
[0025] Power from battery 110 can be supplied to one or more drive units 112. Each drive unit 112 may be formed by an electric motor and, possibly, a gear train providing gear reduction. In some embodiments, a single drive unit 112 is present, which drives the front or rear wheels of vehicle 100. In another embodiment, two drive units 112 are present, each driving the front or rear wheels of vehicle 100. In yet another embodiment, four drive units 112 are present, each driving one of the four wheels of vehicle 100.
[0026] Power from battery 110 can be supplied to drive unit 112 by power electronics 114 in each drive unit 112. Power electronics 114 may include inverters configured to convert direct current (DC) from battery 110 into alternating current (AC) supplied to the motor of drive unit 112. Power electronics 114 also facilitate the use of the drive unit's motor as a generator to provide regenerative braking. Power electronics 114 also facilitate the transfer of regenerative current to battery 110.
[0027] Drive unit 112 is coupled to two or more hubs 116 to which wheels can be mounted. Each hub 116 includes a corresponding brake 118, such as a disc brake as illustrated. Each hub 116 is further coupled to frame 108 via suspension 120. Suspension 120 may include metal or pneumatic springs for absorbing shocks. Suspension 120 may be implemented as a pneumatic or hydraulic suspension capable of adjusting the ground clearance of chassis 106 relative to a supporting surface. Suspension 120 may include a damper, wherein the characteristics of the damper are fixed or electronically adjustable.
[0028] exist Figure 1B In the implementation scheme and in the discussion below, vehicle 100 is a battery electric vehicle. However, the systems and methods disclosed herein can be used in any type of vehicle, including vehicles powered by an internal combustion engine (ICE), a hybrid powertrain, a hydrogen fuel cell powertrain, or other types of powertrains that may have a portion that idles during some operating modes. For example, the front or rear differential of an all-wheel-drive vehicle. In another example, in a hybrid powertrain, according to the methods described herein, the idle drive unit including the electric motor can be heated using waste heat from the ICE.
[0029] Figure 1A Example vehicle 100 is shown. (e.g.) Figure 1AAs shown, vehicle 100 has a plurality of external cameras 102 and one or more front displays 104. Each of these external cameras 102 can capture a specific view or perspective of the exterior of vehicle 100. Images or videos captured by the external cameras 102 can then be displayed on one or more displays in vehicle 100, such as one or more front displays 104, for the driver to view.
[0030] refer to Figure 1B The vehicle 100 may include a chassis 106, which includes a frame 108 that provides the main structural components of the vehicle 100. The frame 108 may be formed by one or more beams or other structural components, or it may be integrated with the vehicle body (i.e., a monocoque construction).
[0031] In embodiments where vehicle 100 is a battery electric vehicle (BEV) or possibly a hybrid vehicle, a large battery 110 is mounted to the chassis 106 and may occupy a significant portion (e.g., at least 80%) of the area within the frame 108. For example, battery 110 may store 100 to 200 kWh. Battery 110 may be a lithium-ion battery or other types of rechargeable battery. The battery may be substantially planar in shape.
[0032] Power from battery 110 can be supplied to one or more drive units 112. Each drive unit 112 may be formed by an electric motor and possibly a gear reduction drive. In some embodiments, a single drive unit 112 is present, which drives the front or rear wheels of vehicle 100. In another embodiment, two drive units 112 are present, each driving the front or rear wheels of vehicle 100. In yet another embodiment, four drive units 112 are present, each driving one of the four wheels of vehicle 100.
[0033] Power from battery 110 may be supplied to drive unit 112 by one or more sets of power electronics 114. Power electronics 114 may include inverters configured to convert direct current (DC) from battery 110 into alternating current (AC) supplied to the motor of drive unit 112.
[0034] Drive unit 112 is coupled to two or more hubs 116 to which wheels can be mounted. Each hub 116 includes a corresponding brake 118, such as a disc brake as illustrated. Regenerative braking may also be provided by drive unit 112 or other components. Each hub 116 is further coupled to frame 108 via suspension 120. Suspension 120 may include metal or pneumatic springs for absorbing shocks. Suspension 120 may be implemented as a pneumatic or hydraulic suspension capable of adjusting the ground clearance of chassis 106 relative to a support surface. Suspension 120 may include a damper, wherein the characteristics of the damper are fixed or electronically adjustable.
[0035] exist Figure 1B In the implementation scheme and in the discussion below, vehicle 100 is a battery electric vehicle. However, the systems and methods disclosed herein can be used in any type of vehicle, including vehicles powered by an internal combustion engine (ICE), a hybrid powertrain, a hydrogen fuel cell powertrain, or other types of powertrains that require heating when ready for use, such as a diesel engine.
[0036] Figure 2A Examples Figure 1A Example components of vehicle 100. (e.g.) Figure 2A As shown, vehicle 100 includes a camera 102, one or more front displays 104, a user interface 200, one or more sensors 202, a motion sensor 203, and a positioning system 204. The one or more sensors 202 may include ultrasonic sensors, radio detection and ranging (RADAR) sensors, light detection and ranging (LIDAR) sensors, or other types of sensors. The positioning system 204 may be implemented as a Global Positioning System (GPS) receiver and may also include an inertial measurement unit (IMU) (e.g., an accelerometer). The user interface 200 allows a user (such as a driver or occupant in vehicle 100) to provide input.
[0037] The components of vehicle 100 may include one or more temperature sensors 205. Temperature sensors 205 may include sensors configured to sense ambient air temperature, battery 110 temperature, power electronics 114 temperature, temperature of each drive unit 112 and / or each motor of each drive unit 112, or the temperature of any other component of vehicle 100.
[0038] Control system 206 executes instructions to perform at least some of the actions or functions of vehicle 100, including the functions described below. For example, as shown in FIG2, control system 206 may include one or more electronic control units (ECUs) configured to perform at least some of the actions or functions of vehicle 100, including the functions described below. In some embodiments, each ECU is dedicated to a specific set of functions. Each ECU may be a computer system, and each ECU may include the functionality described below.
[0039] Some features of the implementation scheme described herein can be controlled by a telematics control module (TCM) ECU. The TCM ECU can provide a wireless vehicle communication gateway to support functionality, as an example and not a limitation, such as over-the-air (OTA) software updates, vehicle-to-Internet communication, vehicle-to-computing device communication, in-vehicle navigation, vehicle-to-vehicle communication, vehicle-to-landscape features (e.g., automatic toll road sensors, automatic toll booths, power distributors at charging stations), or automatic calling functionality.
[0040] Some features of the implementation described herein can be controlled by a Central Gateway Module (CGM) ECU. The CGM ECU serves as the vehicle's communication hub, connecting various ECUs, sensors, cameras, microphones, motors, displays, and other vehicle components, and transmitting data to and from these components. The CGM ECU may include a network switch providing connectivity via a Controller Area Network (CAN) port, a Local Interconnect Network (LIN) port, and an Ethernet port. The CGM ECU can also function as the master controller for different vehicle modes (e.g., road driving mode, parking mode, off-road mode, trailer mode, camping mode), thereby controlling certain vehicle components associated with placing the vehicle in one of these vehicle modes.
[0041] In various implementations, the CGM ECU collects sensor signals from one or more sensors of the vehicle 100. For example, the CGM ECU may collect data from camera 102 and sensor 202. The sensor signals collected by the CGM ECU are then transmitted to the appropriate ECU for performing operations and functions, as described below.
[0042] The control system 206 may also include one or more additional ECUs, as examples and not limitations, such as a Vehicle Dynamics Module (VDM) ECU, an Experience Management Module (XMM) ECU, a Vehicle Entry / Exit System (VAS) ECU, a Near Field Communication (NFC) ECU, a Body Control Module (BCM) ECU, a Seat Control Module (SCM) ECU, a Door Control Module (DCM) ECU, a Rear Zone Control (RZC) ECU, an Autonomous Control Module (ACM) ECU, an Autonomous Safety Module (ASM) ECU, a Driver Monitoring System (DMS) ECU, and / or a Winch Control Module (WCM) ECU. If the vehicle 100 is an electric vehicle, one or more ECUs may provide functionality related to the vehicle's battery pack, such as a Battery Management System (BMS) ECU, a Battery Power Isolation (BPI) ECU, a Balanced Voltage and Temperature (BVT) ECU, and / or a Thermal Management Module (TMM) ECU. In various embodiments, the XMM ECU sends data to the TCM ECU (e.g., via Ethernet, etc.). Additionally or alternatively, the XMM ECU may send other data (e.g., audio data from microphone 208, etc.) to the TCM ECU.
[0043] refer to Figure 2B In some implementations, the control system 206 may be implemented as a plurality of area controllers 206a, 206b, 206c. Each area controller 206a, 206b, 206c can control a subset of the vehicle's systems. Typically, the subset of systems controlled by each area controller 206a, 206b, 206c can be assigned based on location within the vehicle 100. For example, the western area controller 206a can control the systems on the driver's side of the vehicle 100, the eastern area controller 206b can control the systems on the passenger side of the vehicle 100, and the southern area controller 206c can control the systems in the rear of the vehicle. Each area controller 206a, 206b, 206c can be implemented as a subset of... Figure 2A This is part of the functionality of the ECU in the control system 206. The functionality of the ECU can be distributed among the area controllers 206a, 206b, and 206c, such that only one area controller 206a, 206b, or 206c implements the functionality of each ECU. Alternatively, the functionality of the ECU can be replicated across multiple area controllers 206a, 206b, and 206c, with each area executing the functionality of the ECU for the portion of the vehicle to which that area controller 206a, 206b, or 206c is assigned.
[0044] Area controllers 206a, 206b, and 206c can be connected to each other via network 206d (such as Ethernet, Controller Area Network (CAN), or other types of networks).
[0045] Figure 3An example of a control system 306 for providing fault tolerance for automatic steering features, according to certain embodiments, is illustrated. The control system 306 may, for example, be relative to... Figure 2A and / or Figure 2B The control system 306 operates as described in the control system 206. The control system 306 includes an autonomous controller 332, an auxiliary controller 334, and a steering system 336.
[0046] In various implementations, the autonomous controller 332 can be any vehicle system capable of operating to provide automatic steering features for a vehicle (e.g., vehicle 100). For example, the autonomous controller 332 can use, for example, from relative to Figure 2B The sensor data 331 received by the discussed sensor 202 is used for ADS operation. In some aspects, the autonomous controller 332 can provide ADAS Level 2 features. For example, the autonomous controller 332 can provide a hands-free supervised driving mode, allowing the driver to remove their hands from the steering wheel but not their eyes from the road. Alternatively, the autonomous controller 332 can provide an autonomous driving mode corresponding to ADAS Level 3, additionally allowing the driver to remove their eyes from the road. In some aspects, the autonomous controller 332 can be implemented, for example, by an ACM ECU, such as relative to... Figure 2B The subject of discussion.
[0047] Generally, the auxiliary controller 334 can be any vehicle system that can operate independently of the autonomous controller 332 in the event of a failure. The auxiliary controller 334 typically includes or has access to memory and computing resources that are physically separate from the autonomous controller 332. If, for example, the autonomous controller 332 is implemented by the ACM of the control system 306, then the auxiliary controller 334 can be implemented by, for example, any other ECU of the control system 306 (such as a VDM ECU, XMM ECU, BCM ECU, ASM ECU, DMS ECU, etc.).
[0048] Generally, the steering system 336 may include a linkage mechanism to translate steering commands into wheel angles, for example, corresponding to the orientation of the front or rear wheels of the vehicle 100. In some aspects, the steering system 336 may be implemented by the ECU of the control system 306. Alternatively, in some aspects, the steering system 336 may be separate from the control system 306.
[0049] Figures 4A to 4B Example operations demonstrating the fault-tolerant operation provided by control system 306 are shown. Figure 4A A lateral control frame 438 is illustrated. In some respects, as part of providing automatic steering features for the vehicle, the autonomous controller 332 can periodically generate a lateral control frame similar to the lateral control frame 438 based on sensor data 331.
[0050] Generally, the lateral control frame is a pre-computed dataset that is continuously generated (e.g., periodically at any suitable interval, such as every second, every 2 seconds, every 3 seconds, etc.) when the automatic steering feature is enabled. In some aspects, when generating each frame, the autonomous controller 332 may store each lateral control frame in the lateral control frame in memory, for example, associated with the auxiliary controller 334 (e.g., as part of the auxiliary controller 334 or in memory accessible to the auxiliary controller 334). In some aspects, the autonomous controller 332 itself may store each lateral control frame in the lateral control frame in memory associated with the auxiliary controller 334. In other aspects, the autonomous controller 332 may send each lateral control frame in the lateral control frame to the auxiliary controller 334 or another component to perform the storage.
[0051] In some respects, the lateral control framework generated by the autonomous controller 332 may include data similar to that of the lateral control framework 438. For example... Figure 4A As shown, the lateral control framework 438 includes a lateral control request 440 associated with a confidence level 442. The lateral control request 440 may be a pre-calculated future trajectory of the vehicle within a limited time period (e.g., 5 seconds, 6 seconds, 7 seconds, etc.). More specifically, the lateral control request 440 may represent planned lateral maneuvers such as following a road, avoiding obstacles, etc.
[0052] Generally, confidence level 442 can probabilistically indicate the confidence level of the correctness of a lateral control request over a limited time period, where the confidence level typically decreases over time. Confidence level 442 can be adjusted between zero and one, for example, one indicates the highest confidence level and zero indicates the lowest confidence level. In some aspects, confidence level 442 can be generated based on a probability function, such as an exponential decay function. Alternatively or additionally, confidence level 442 can correspond to a probability distribution selected based on one or more variables, such as the presence or absence of obstacles in the field of view, speed, acceleration, ambient light intensity, traffic, climate, the number and location of vehicles in the field of view, etc. Alternatively or additionally, confidence level 442 can be determined or calculated in any suitable manner, as will be apparent to those skilled in the art upon a detailed examination of this disclosure.
[0053] exist Figures 4A to 4B In the example, the auxiliary controller 334 detects a fault in the autonomous controller 332 at a time corresponding to zero seconds of the lateral control frame 438. In response to this fault, the auxiliary controller 334 accesses the nearest lateral control frame generated by the autonomous controller 332 (this frame is...). Figures 4A to 4BIn the example of lateral control frame 438, the autonomous controller 332 temporarily takes over the automatic steering feature. As discussed further below, the autonomous controller 332 uses lateral control frame 438 to gradually deactivate the automatic steering feature over a limited period of time, thereby smoothly transitioning to driver-operated steering of the vehicle. Figures 4A to 4B In the example, the time period for gradual cancellation is the length of the horizontal control frame 438 (i.e., 5 seconds), but it should be understood that the time period may also be different from the length of the horizontal control frame 438 (e.g., only a subset of the length is covered).
[0054] Now for reference Figure 4B The auxiliary controller 334 can gradually deactivate the automatic steering feature by determining one or more steering torque commands 446 and sending the steering torque commands 446 to the steering system 336 for conversion and implementation. In the illustrated embodiment, the steering torque command 446 is determined based on a lateral control request 440 and a confidence level 442. In some aspects, the auxiliary controller 334 can address uncertainties in the lateral control request 440 by gradually or progressively adjusting the amount of steering torque command during the gradual deactivation process. Specifically, in the illustrated embodiment, the auxiliary controller 334 is configured to use a predefined confidence threshold 444 as a trigger for gradual adjustment.
[0055] Common Reference Figure 4A and Figure 4B The steering torque command 446 determined by the auxiliary controller 334 generally conforms to the lateral control request 440 until a confidence threshold 444 is exceeded at time point 445. Starting at time point 445, the commanded amount of steering torque in the steering torque command 446 is gradually adjusted relative to the lateral control request 440, for example, such that the commanded amount is a factor less than the amount indicated in the lateral control request 440. In some respects, this factor can become increasingly significant for the remainder of the defined time period. More specifically, in Figures 4A to 4B In the example, the steering torque command 446 is gradually adjusted in proportion to the rate at which confidence level 442 decreases. In some respects, the gradual adjustment can continue until the amount of steering torque commanded in steering torque command 446 is zero. After a defined period of time, the gradual cancellation is completed, and the driver is expected to be in a position that allows for safe operation of the vehicle, for example, by placing their hands on the steering wheel.
[0056] Figure 5An example of a process 500 for generating and storing a lateral control frame, according to certain embodiments, is illustrated. In some aspects, process 500 can be continuously executed by the autonomous controller 332, for example, at any suitable intervals, when the autonomous controller 332 provides automatic steering features. In some aspects, process 500 can be implemented by any vehicle system capable of processing data. Although any number of systems can implement process 500 in whole or in part, for the sake of simplicity, the discussion will primarily focus on... Figure 3 The process 500 is described by the autonomous controller 332 and other components of the control system 306.
[0057] At box 502, the autonomous controller 332 receives sensor data, such as, for example Figure 3 Sensor data 331. At block 504, the autonomous controller 332 generates a lateral control request based on the received sensor data. Generally speaking, it can be, for example, relative to... Figure 4A The lateral control request is generated as discussed in lateral control request 440. The lateral control request may be, or may include, a pre-calculated future trajectory within a defined future time period, such as relative to... Figures 4A to 4B The subject of discussion.
[0058] At box 506, the autonomous controller 332 generates a confidence level associated with lateral control requests within a defined future time period. For example, it can be as relative to... Figure 4A The confidence level is generated as discussed in confidence level 442.
[0059] At block 508, the autonomous controller 332 generates a lateral control framework, which includes a lateral control request generated at block 504 and a confidence level generated at block 506. Block 508 may include, for example, formatting or structuring the lateral control request and confidence level into the lateral control framework. The lateral control framework may be similar to, for example... Figure 4A The horizontal control framework 438.
[0060] At block 510, the autonomous controller 332 causes the lateral control frame generated at block 508 to be stored in a memory associated with or accessible by the auxiliary controller 334, such as relative to... Figure 3 and Figures 4A to 4B As discussed earlier, process 500 ends after block 510. In some respects, process 500 can be executed continuously (e.g., repeated at any suitable interval) as new sensor data is received, such that the auxiliary controller 334 continuously updates with the new lateral control frame when the autonomous controller 332 provides automatic steering features.
[0061] Figure 6Examples of a process 600 for generating and storing a lateral control frame according to certain embodiments of this disclosure are illustrated. In some aspects, process 600 can be continuously executed by the autonomous controller 332, for example, at any suitable intervals, while the autonomous controller 332 provides automatic steering features. In some aspects, process 600 can be implemented by any vehicle system capable of processing data. Although any number of systems can implement process 600 in whole or in part, for the sake of simplicity, the discussion will primarily focus on... Figure 3 The process 600 is described by the auxiliary controller 334 and other components of the control system 306.
[0062] At box 602, the assist controller 334 detects a fault in the autonomous controller 332. The fault may be due to sensor malfunction, software or hardware failure in the autonomous controller 332, etc. In some aspects, the assist controller 334 may detect the fault, for example, by receiving a notification from the autonomous controller 332, by not receiving expected data (e.g., lateral control frame), or by receiving a notification from another component of the control system 306. In some aspects, associated with the detected fault, the assist controller 334 or another component may notify the driver that they must immediately take over control of the steering wheel. The notification may include any suitable auditory, visual, and / or tactile feedback.
[0063] At block 604, the auxiliary controller 334 accesses the most recent lateral control frame generated by the autonomous controller 332. As a result of previous execution of process 500, the autonomous controller 332 may have stored multiple lateral control frames in the memory associated with the auxiliary controller 334. According to this example, the most recent lateral control frame could be, for example, the last lateral control frame generated by the autonomous controller 332 prior to the failure. The most recent lateral control frame can be accessed, for example, from the memory associated with the auxiliary controller 334. The most recent lateral control frame may include, for example, a lateral control request that provides a projected future trajectory within a defined future time period and an associated confidence level, as previously discussed.
[0064] At block 606, the auxiliary controller 334 temporarily takes over the automatic steering feature, for example, by obtaining control of the automatic steering feature from the autonomous controller 332. In some aspects, block 606 may involve initiating processing logic on the auxiliary controller 334 to gradually deactivate the automatic steering feature using the nearest lateral control frame accessed at block 604.
[0065] At block 608, the auxiliary controller 334 gradually deactivates the automatic steering feature over a defined period of time using the most recent lateral control frame. Block 608 may involve, for example, the auxiliary controller 334 temporarily providing the automatic steering feature for the duration of the defined period of time based on the most recent lateral control frame. The defined period of time may be, for example, a defined future period of time of the most recent lateral control frame, or any remaining portion thereof.
[0066] In some respects, as shown in the figure, the gradual cancellation at box 608 may include executing boxes 608A and 608B continuously (e.g., repeatedly) within a defined period of gradual cancellation. At box 608A, the auxiliary controller 334 determines one or more steering torque commands based on a pre-calculated future trajectory and an associated confidence level. For example, it may be as relative to... Figure 4B The steering torque command is determined as discussed in steering torque command 446. At block 608B, the auxiliary controller 334 sends the determined steering torque command to the steering system 336 for conversion and implementation.
[0067] In some respects, determining the steering torque command through each iteration of box 608A can involve gradually adjusting the steering torque relative to a pre-calculated future trajectory over at least a portion of a defined time period, such as relative to... Figures 4A to 4B The subject of discussion. For example, as relative to Figures 4A to 4B The auxiliary controller 334, as discussed, can gradually adjust the steering torque relative to a pre-calculated future trajectory in proportion to the rate at which the confidence level decreases. In some aspects, such as also relative to... Figures 4A to 4B The discussion may involve (e.g., initiating) gradual adjustment in response to a confidence level exceeding a threshold confidence level.
[0068] After box 608, process 600 ends. Generally, after process 600 is executed, the process is gradually canceled, and the driver is expected to be in a safe position to operate the vehicle.
[0069] Various embodiments of this disclosure have been described for illustrative purposes. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein has been chosen to explain the principles of the embodiments, their practical application, or technical improvements to technologies found in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0070] In the foregoing, reference has been made to the embodiments presented in this disclosure. However, the scope of this disclosure extends beyond the specifically described embodiments. Rather, any combination of features and elements is contemplated for implementing and practicing the contemplated embodiments, whether or not different embodiments are involved. Furthermore, while the embodiments disclosed herein may achieve advantages over other possible solutions or over the prior art, the embodiments may achieve some advantages or no particular advantages. Therefore, the aspects, features, embodiments, and advantages discussed herein are merely illustrative.
[0071] The various aspects of this disclosure may take the form of a completely hardware implementation, a completely software implementation (including firmware, resident software, microcode, etc.), or a combination of software and hardware implementations, all of which may be collectively referred to herein as “circuit,” “module,” or “system.”
[0072] Various aspects of this disclosure are described by narrative text, flowcharts, block diagrams of computer systems, and / or block diagrams of machine logic included in implementations of a computer program product (CPP). Regarding any flowchart, depending on the technology involved, operations can be performed in a different order than that shown in a given flowchart. For example, again depending on the technology involved, two operations shown in consecutive flowchart frames can be performed in reverse order, as a single integrated step, concurrently, or in a manner that at least partially overlaps in time.
[0073] A Computer Program Product Implementation (“CPP Implementation” or “CPP”) is a term used in this disclosure to describe any set of one or more storage media (also referred to as “media”) collectively included in a set of one or more storage devices, which collectively include machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A “storage device” is any tangible device capable of holding and storing instructions for use by one or more computer processing devices. Without limitation, a computer-readable storage medium can be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Specific types of storage devices including these media include: magnetic disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), compact disc read-only memory (CD-ROM), digital versatile disc (DVD), memory sticks, floppy disks, mechanical encoding devices (such as punched cards or pits / platforms formed in the main surface of the disk), or any suitable combination of the foregoing. As used in this disclosure, computer-readable storage medium refers to a non-transitory storage device rather than the transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides, optical pulses transmitted through fiber optic cables, and electrical signals transmitted through wires and / or other transmitting media. As those skilled in the art will understand, data typically moves at some incidental points in time during the normal operation of the storage device, such as during access, defragmentation, or garbage collection, but the storage device remains non-transitory during these processes because the data remains non-transitory while stored.
[0074] While the foregoing relates to embodiments of this disclosure, other and further embodiments may be devised without departing from the basic scope of this disclosure, the scope of which is defined by the appended claims.
Claims
1. A method for switching steering to driver operation in a vehicle, the method comprising: The automatic steering features of the vehicle are provided by the first vehicle system; The fault in the first vehicle system is detected by the second vehicle system; as well as In response to the aforementioned fault, the second vehicle system: Control of the automatic steering feature is obtained from the first vehicle system; and The automatic steering feature is provided for a defined period of time based on a pre-calculated dataset generated by the first vehicle system prior to the failure.
2. The method according to claim 1, wherein: The pre-calculated dataset includes the vehicle's pre-calculated future trajectory within the defined time period; and Providing the automatic steering feature for the specified time period includes: One or more turning commands are determined based on the pre-calculated future trajectory; as well as Send one or more steering commands to the vehicle's steering system.
3. The method of claim 2, wherein determining the one or more steering commands includes gradually adjusting the steering torque relative to the pre-calculated future trajectory within at least a portion of the defined time period.
4. The method according to claim 2, wherein: The pre-computed dataset also includes confidence levels associated with the pre-computed future trajectories; and Determining the one or more steering commands includes gradually adjusting the steering torque relative to the pre-calculated future trajectory in proportion to the rate at which the confidence level decreases.
5. The method of claim 4, wherein the gradual adjustment is performed in response to the confidence level exceeding a threshold confidence level.
6. The method according to claim 1, further comprising: Prior to the failure, the first vehicle system generates the pre-computed dataset and stores the pre-computed dataset in a memory associated with the second vehicle system.
7. The method of claim 1, further comprising, prior to the failure: The first vehicle system periodically generates new pre-computed datasets based on sensor data; and The first vehicle system stores the new pre-computed dataset in a memory associated with the second vehicle system.
8. The method of claim 7, further comprising, prior to the failure: The first vehicle system generates a first pre-calculated dataset in a first-time event; and A second pre-calculated dataset is generated by the first vehicle system at a second time after the first time, wherein the pre-calculated dataset used when the automatic steering feature is provided for the defined time period includes the second pre-calculated dataset.
9. A control system for a vehicle, the control system comprising: A first vehicle system, the first vehicle system being operable to provide automatic steering features for the vehicle; A second vehicle system, which is communicatively coupled to the first vehicle system and operable to perform operations including: Detect faults in the first vehicle system; as well as In response to the aforementioned fault: Control of the automatic steering feature is obtained from the first vehicle system; and The automatic steering feature is provided for a defined period of time based on a pre-calculated dataset generated by the first vehicle system prior to the failure.
10. The control system according to claim 9, wherein: The pre-calculated dataset includes the vehicle's pre-calculated future trajectory within the defined time period; and Providing the automatic steering feature for the specified time period includes: One or more turning commands are determined based on the pre-calculated future trajectory; as well as Send one or more steering commands to the vehicle's steering system.
11. The control system of claim 10, wherein determining the one or more steering commands includes gradually adjusting the steering torque relative to the pre-calculated future trajectory within at least a portion of the defined time period.
12. The control system according to claim 10, wherein: The pre-computed dataset also includes confidence levels associated with the pre-computed future trajectories; and Determining the one or more steering commands includes gradually adjusting the steering torque relative to the pre-calculated future trajectory in proportion to the rate at which the confidence level decreases.
13. The control system of claim 12, wherein the gradual adjustment is performed in response to the confidence level exceeding a threshold confidence level.
14. The control system according to claim 9, wherein, Prior to the failure, the first vehicle system was able to operate to generate the pre-computed dataset and store the pre-computed dataset in a memory associated with the second vehicle system.
15. The control system according to claim 9, wherein, Prior to the failure, the first vehicle system was also capable of operating to periodically generate new pre-computed datasets based on sensor data, and storing the new pre-computed datasets in a memory associated with the second vehicle system.
16. The control system according to claim 15, wherein, Prior to the aforementioned malfunction, the first vehicle system was also capable of operating to: Generate the first pre-computed dataset in real time; and A second pre-computed dataset is generated at a second time after the first time, wherein the pre-computed dataset used when providing the automatic steering feature for the defined time period includes the second pre-computed dataset.
17. A computer program product comprising a non-transitory computer-usable medium having computer-readable program code implemented therein, the computer-readable program code being adapted to be executed to implement a method of steering translated into driver operation of a vehicle, the method comprising: The automatic steering features of the vehicle are provided by the first vehicle system; The fault in the first vehicle system is detected by the second vehicle system; as well as In response to the aforementioned fault, the second vehicle system: Control of the automatic steering feature is obtained from the first vehicle system; and The automatic steering feature is provided for a defined period of time based on a pre-calculated dataset generated by the first vehicle system prior to the failure.
18. The computer program product according to claim 17, wherein: The pre-calculated dataset includes the vehicle's pre-calculated future trajectory within the defined time period; and Providing the automatic steering feature for the specified time period includes: One or more turning commands are determined based on the pre-calculated future trajectory; as well as Send one or more steering commands to the vehicle's steering system.
19. The computer program product of claim 18, wherein determining the one or more steering commands comprises gradually adjusting the steering torque relative to the pre-calculated future trajectory within at least a portion of the defined time period.
20. The computer program product according to claim 18, wherein: The pre-computed dataset also includes confidence levels associated with the pre-computed future trajectories; and Determining the one or more steering commands includes gradually adjusting the steering torque relative to the pre-calculated future trajectory in proportion to the rate at which the confidence level decreases.