Dual mode cruise control
By switching to normal mode when sensor data is insufficient through a dual-mode cruise control system, and using additional data sources to maintain a safe distance, the safety problem of adaptive cruise control under light interference is solved, the risk of collision is reduced, and the need for driver operation is reduced.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- MICRON TECHNOLOGY INC
- Filing Date
- 2021-11-30
- Publication Date
- 2026-05-12
AI Technical Summary
Existing adaptive cruise control systems cannot effectively maintain a safe distance from vehicles ahead under direct sunlight or other external light sources, leading to potential collision risks. Furthermore, completely disabling cruise control is inconvenient for the driver.
Design a dual-mode cruise control system that can switch between adaptive cruise control mode and conventional cruise control mode. When sensor data is insufficient, switch to conventional mode and continue to maintain a safe distance by using data from additional data sources such as other vehicles or mobile devices. The system will prompt the driver to confirm the switch through a user interface.
When sensor data is inaccurate, the system automatically switches to the regular cruise control mode, reducing the risk of collisions caused by sensor failure, ensuring driving safety, and minimizing interference with the driver's operation.
Smart Images

Figure CN114590255B_ABST
Abstract
Description
Technical Field
[0001] Generally, at least some of the embodiments disclosed herein relate to electronic control systems, and more precisely, but not limited to, computing systems for implementing multi-mode speed control for vehicles. Background Technology
[0002] Advanced Driver Assistance Systems (ADAS) are electronic systems that assist drivers of vehicles while driving. ADAS improves vehicle safety and road safety. ADAS systems use electronic technology such as electronic control units and power semiconductor devices. Most road accidents occur due to human error. ADAS, which automates some of the controls of a vehicle, can reduce human error and road accidents. ADAS is generally designed to automate, adapt, and enhance vehicle systems to achieve safer and improved driving.
[0003] ADAS safety features are designed to avoid collisions and accidents by providing drivers with warnings of potential problems, or by implementing safeguards and gaining control of the vehicle. Adaptive features can automate lighting, provide adaptive cruise control and collision avoidance, provide pedestrian collision avoidance mitigation (PCAM), warn drivers of other vehicles or hazards, provide lane departure warning systems, provide automatic lane centering, provide visibility in blind spots, or connect to navigation systems.
[0004] Aside from cars and trucks, ADAS or similar systems can generally be implemented in vehicles. Such vehicles can include ships and aircraft, as well as vehicles or vehicle equipment used for military, construction, agricultural, or recreational purposes. Vehicles can be customized or personalized via vehicle electronics and ADAS.
[0005] Vehicle electronics can encompass a variety of electronic systems used in a vehicle. These include electronics for the vehicle's drivetrain, main body or internal features, entertainment systems, and other parts of the vehicle. Ignition, engine, and transmission electronics are found in vehicles with internal combustion engine machinery. Related components for controlling electric vehicle systems are also found in hybrid and electric vehicles, such as hybrid or electric vehicles. For example, electric vehicles may rely on power electronics for controlling the main propulsion motor and managing the battery system.
[0006] For ADAS and other types of vehicle systems, vehicle electronics can be distributed systems. Distributed systems in a vehicle can include powertrain control modules and powertrain electronics, main control modules and main electronics, interior electronics and chassis electronics, safety and entertainment electronics, and electronics for passenger and driver comfort systems. Furthermore, vehicle electronics can include electronics for vehicle automation. Such electronics can include or operate through mechatronics, artificial intelligence, and distributed systems.
[0007] Vehicles using automation for complex tasks (including navigation) are sometimes referred to as semi-autonomous. The Society of Automotive Engineers (SAE) classifies vehicle autonomy into six levels as follows: Level 0 or no automation; Level 1 or driver assistance, where the vehicle can autonomously control steering or speed in specific situations to assist the driver; Level 2 or partial automation, where the vehicle can autonomously control both steering and speed in specific situations to assist the driver; Level 3 or conditional automation, where the vehicle can autonomously control both steering and speed under normal environmental conditions, but requires driver supervision; Level 4 or high automation, where the vehicle can operate autonomously under normal environmental conditions without driver supervision; and Level 5 or full autonomy, where the vehicle can operate autonomously under any environmental conditions. Summary of the Invention
[0008] According to one aspect of this application, a system is provided. The system includes: at least one processing means; and at least one memory containing instructions configured to instruct the at least one processing means to: operate a first vehicle in a speed control first mode, wherein data from at least one sensor is available to maintain at least a minimum distance to a second vehicle; determine that data from the sensors is not available to measure the distance from the first vehicle to the second vehicle; and, in response to determining that data from the sensors is not available to measure the distance, operate the first vehicle in a second mode to maintain a constant speed of the first vehicle.
[0009] According to another aspect of this application, a method is provided. The method includes: controlling the speed of a first vehicle in a first mode and using data from at least one sensor, wherein controlling the speed in the first mode includes controlling the speed to at least maintain a minimum distance from a second vehicle; evaluating the data from the sensors; and, based on the evaluation of the data from the sensors, changing from the first mode to a second mode for controlling the speed of the first vehicle by obtaining additional data from a new source and using the additional data to at least maintain a minimum distance from the second vehicle.
[0010] According to another aspect of this application, a non-transitory computer-readable medium is provided. The non-transitory computer-readable medium stores instructions, which, when executed on at least one computing device, cause the at least one computing device to: control the speed of a first vehicle in a first mode, wherein controlling the speed in the first mode includes controlling the speed to maintain at least a minimum distance from a second vehicle; determine that data provided by at least one sensor of the first vehicle does not meet a criterion; and, in response to determining that the data from the sensor does not meet the criterion, change from the first mode to a second mode for controlling the first vehicle, wherein controlling the first vehicle in the second mode includes controlling the speed at a constant speed. Attached Figure Description
[0011] Embodiments are illustrated in the accompanying drawings by way of example rather than limitation, and similar reference numerals indicate similar elements in the drawings.
[0012] Figure 1 A vehicle is shown that includes a cruise control system operating in at least two modes, according to some embodiments.
[0013] Figure 2 The illustration shows a vehicle that uses data provided by sensors to control various functions of the vehicle, according to some embodiments.
[0014] Figure 3 The illustration shows a vehicle that, according to some embodiments, uses data collected from one or more objects other than the vehicle itself (e.g., another vehicle or mobile device) to control its operation.
[0015] Figure 4 A method for operating a cruise control system in two or more modes is shown according to some embodiments.
[0016] Figure 5 A method for switching cruise control modes based on evaluation of data from sensors used to operate a vehicle is shown according to some embodiments.
[0017] Figure 6 A method for switching cruise control modes based on determining that sensor data does not meet criteria is illustrated according to some embodiments. Detailed Implementation
[0018] The following disclosure describes various embodiments of dual-mode or multi-mode cruise or speed control systems used in vehicles. At least some of the embodiments herein relate to a computing device that switches between operating modes for a cruise control system based on the quality and / or usability of data provided from one or more sensors of the vehicle (e.g., a camera mounted on the front of the vehicle). In one example, the computing device of the autonomous vehicle switches to an alternative operating mode to control the speed of the vehicle when sensor data in the initial mode degrades (e.g., due to sensor failure) and cannot be used to safely control the speed of the vehicle because the sensor data is unavailable for measuring distances to other vehicles.
[0019] Conventional vehicles employ a cruise control system that automatically maintains the vehicle's speed to compensate for disturbances such as hills and wind. However, conventional cruise control systems do not have the ability to adjust to avoid collisions with other vehicles traveling in front of them.
[0020] Recent developments in Advanced Driver Assistance Systems (ADAS) have provided functionality such as Adaptive Cruise Control (ACC), which automatically adjusts a vehicle's speed to maintain a safe distance from the vehicle ahead. However, when a vehicle using ACC is traveling, for example, facing the direction of sunlight, direct sunlight received by the camera used by the ACC system can degrade the ACC's ability to maintain a safe distance from the vehicle ahead. Currently, ACC systems simply deactivate cruise control and return control of the vehicle to the driver. This occurs even in situations where it would be safe to use conventional cruise control. Completely deactivating cruise control in this manner can be inconvenient for the driver. In other situations, it can create a safety hazard by causing the vehicle to decelerate suddenly. Therefore, a vehicle following too closely may collide with a decelerating vehicle.
[0021] Various embodiments of this disclosure provide technical solutions to one or more of the above-described technical problems. In one embodiment, to overcome the shortcomings of existing adaptive cruise control (ACC), an improved system is configured to switch between a conventional cruise control mode and an automatic adaptive cruise control mode. In one instance, the vehicle switches back and forth between such modes depending on current vehicle and / or environmental conditions (e.g., whether direct or stray sunlight is illuminating the vehicle's sensors). When the system determines that sensing / measurement by cameras and / or other sensors is impaired (e.g., due to direct sunlight in the camera), the system changes to a conventional cruise control mode and requires the driver to maintain a safe distance from the vehicle ahead. Thus, the driver can still enjoy conventional cruise control functionality (e.g., even when driving towards the sun). The vehicle alerts the driver before changing to a conventional cruise control mode and requires driver confirmation before changing modes. In one instance, the driver is alerted, and the driver can choose to change to conventional cruise control or return to fully manual control by the driver.
[0022] In one embodiment, the speed of a first vehicle is controlled in a first mode using data from at least one sensor. The speed in the first mode is controlled to maintain at least a minimum distance to a second vehicle (e.g., using ACC). It is determined (e.g., by the controller of the first vehicle) that the data from the sensors is insufficient (e.g., insufficient to determine distance) to control the speed of the first vehicle (e.g., the sensor data does not allow the vehicle to determine the distance to the second vehicle with acceptable accuracy). In response to determining insufficient data from the sensors, the first vehicle changes operation from the first mode to a second mode for speed control. Controlling the speed in the second mode includes maintaining the speed (e.g., using conventional cruise control).
[0023] In one embodiment, a first vehicle operates in a first mode using data from one or more sensors to control its speed while maintaining a minimum distance from a second vehicle. It is determined that the data from the sensors is unavailable for measuring the distance from the first vehicle to the second vehicle (e.g., due to sunlight shining on a camera lens). In response to determining that the data from the sensors is unavailable for measuring the distance, the first vehicle operates in a second mode to maintain a constant speed. The driver is alerted and approval is required for the second mode, which includes continuing to maintain a constant speed (e.g., control of a speed setpoint) but does not use distance control as in ACC. When in the second mode, the driver is responsible for monitoring the second vehicle and manually braking the first vehicle as needed for safe operation. In one instance, while maintaining the same speed, the driver would not be able to discern that the first vehicle is operating in the second mode. Therefore, driver alerting and approval, as described herein, are required to avoid safety risks to vehicle operation.
[0024] In one instance, the vehicle changes from normal ACC operation in a first mode to operation in a second mode, where the vehicle maintains a constant speed and the distance to the second vehicle is not required to be measurably large. The driver needs to provide confirmation via the user interface before the vehicle continues to maintain its speed. In one instance, the maintained speed is the speed of the first vehicle when it is determined that sensor data is insufficient to measure the distance from the first vehicle to the second vehicle. In one instance, the maintained speed is the setpoint speed used to control speed in the first mode.
[0025] In one example, the vehicle uses ACC in a first mode. In a second mode, ACC continues to operate, but the processor temporarily ignores the impossibility of measuring the distance from the first vehicle to the second vehicle due to insufficient sensor data (e.g., the camera is deactivated due to direct or stray sunlight or light from headlights or streetlights, making it impossible to measure the distance to the second vehicle in the event of an actual emergency need to slow the vehicle down to avoid a collision). This temporary ignoring requires positive confirmation from the driver that operation in the second mode is permitted. This is to make the operation of the vehicle safer. When the sensor data again allows for measuring the distance to the second vehicle, the vehicle returns to the first mode. The driver is alerted to return to the first mode via a user interface indication (e.g., visual and / or audible indication).
[0026] In one instance, the first vehicle operates in ACC in mode one. Operation is the same as or similar to regular cruise control, as a constant speed is maintained. The first vehicle further monitors the distance to other objects (e.g., a second vehicle behind). When the operation of the first vehicle changes to mode two, a constant speed is maintained, but distance measurement capability is lost or falls below acceptable standards (e.g., accuracy or precision threshold). Driver approval is required to operate in mode two before changing from mode one.
[0027] In one instance, when in the first mode, the first vehicle operates similarly to a conventional ACC system. The ACC system is implemented by the first vehicle to maintain a selected speed while adhering to safety requirements (e.g., maintaining a safe minimum distance) without approaching the second vehicle ahead too closely. If the speed of the second vehicle may exceed that of the first vehicle, such that the second vehicle's speed is faster than the cruise speed set by the operator of the first vehicle, then the ACC system will not cause the first vehicle to accelerate to catch the second vehicle ahead. When there is no second vehicle ahead, the ACC operates in the same or similar manner as conventional cruise control operation when in the first mode.
[0028] In the first mode, if the distance to the second vehicle ahead is determined to be less than the minimum safe distance, the ACC system slows down the first vehicle. In some cases, for example, the safe distance may change, but the ACC system avoids a collision. If the ACC system loses its ability to maintain the safe distance used for collision avoidance, the first vehicle may require operator confirmation to switch to the second mode before performing the switch. This is because, in some situations, maintaining the first vehicle at the cruise speed set by the operator in the first mode may not be safe. In some situations, there may be a risk that the ACC system cannot automatically avoid a collision with the second vehicle (e.g., due to sensors being temporarily deactivated due to sunlight).
[0029] In one instance, direct sunlight, as mentioned above, rendered the data insufficient for providing safety controls for the vehicle. In other instances, lenses or other sensor components may become dirty and / or obstructed (e.g., by mud). In one instance, altered precipitation or other weather conditions can change the adequacy of the data. In one instance, external light sources, such as stray headlights from another vehicle or object, caused sensor data degradation.
[0030] In some embodiments, during cruise control operation, changes in the cruise control mode (e.g., switching or changing) are controlled to maintain a minimum safe distance. The vehicle is configured to perform either adaptive cruise control or conventional cruise control. Conventional cruise control maintains the vehicle's speed without requiring the driver to manually control the accelerator pedal. Adaptive cruise control maintains a safe distance from one or more vehicles ahead (and also maintains a constant speed where possible).
[0031] In one embodiment, when a vehicle switches to conventional cruise control, the vehicle is configured to actively transfer control to the driver to maintain a safe distance from the vehicle ahead. For example, the vehicle may be configured to disable adaptive cruise control and provide the driver with an indication that the vehicle is temporarily unable to maintain a safe distance in autonomous mode. Therefore, the vehicle requires driver involvement in conventional cruise control (e.g., using a separate user interface from the ACC user interface).
[0032] In one instance, the vehicle is configured to automatically switch from adaptive cruise control to regular cruise control, with voice prompts reminding the driver to control the distance. In another instance, the vehicle has warning lights that automatically activate when in regular cruise control mode. In yet another instance, the vehicle requires driver / user confirmation to enter regular cruise control mode.
[0033] In one embodiment, the speed of the first vehicle is controlled in a first mode using data from one or more sensors (e.g., cameras and / or lidar sensors) from the first vehicle. The speed is controlled to maintain a minimum distance (e.g., a user-selected or dynamically determined safe distance) from a second vehicle (e.g., the first vehicle following the second vehicle on the same road or in the same lane of a highway). The data from the sensors is evaluated (e.g., using an artificial neural network). Based on the evaluation of the sensor data, the first vehicle is switched from the first mode to a second mode for speed control (e.g., based on the evaluation, if sensor data is found to be too noisy and / or degraded, and is currently unavailable).
[0034] In the second mode, additional data is collected from a new source (e.g., another vehicle or a computing device located outside the first vehicle). This additional data is then used to maintain a minimum distance (e.g., to allow the first vehicle to continue operating the adaptive cruise control previously engaged by the operator (e.g., the driver)).
[0035] In one embodiment, a camera from another vehicle is used to provide data to continue using Adaptive Cruise Control (ACC). In one instance, the autonomous vehicle temporarily uses camera vision / image data from a camera on another vehicle via a communication link to facilitate ACC. Camera use ends when it is determined that the sensor data of the driver's (or, in the case of the autonomous vehicle, the passenger's) current vehicle has recovered to a usable quality (e.g., due to the sun setting and the disappearance of direct sunlight, or due to the sun rising high enough in the sky to cause the disappearance of direct sunlight).
[0036] In one instance, when a vehicle's camera is deactivated due to direct sunlight, the vehicle acquires images from nearby vehicles (e.g., vehicles within 10 to 50 meters or less), surveillance cameras positioned along the road it is traveling on, and / or mobile devices (e.g., mobile phones). The acquired images are used to determine the distance to one or more vehicles ahead of the driver's current vehicle. The current vehicle can measure the position and / or orientation of images from temporarily used cameras on another vehicle. Using this data, the current vehicle can convert the distance between itself and other vehicles based on the distances determined using the temporary cameras. In some embodiments, data from one or more other sensors or other inputs from another vehicle are used, rather than just data from the other vehicle's cameras.
[0037] In one embodiment, data from a mobile device is used to assist in operating adaptive cruise control (ACC). A mobile application running on the mobile device is configured to identify vehicles captured by its camera and measure the distance to said vehicles. When the camera used by ACC is blinded by, for example, direct sunlight, the mobile device (e.g., a smartphone) can be placed in the vehicle so that it has a clear view of the road ahead (e.g., not blinded by direct sunlight). The mobile application transmits the distance information (e.g., using a standardized protocol) to the processing unit of the vehicle currently operating ACC. ACC is then able to continue operating with its normal, full functionality.
[0038] In one embodiment, a current vehicle operated by a data infrastructure (e.g., a smart city) provides additional data to the vehicle via telematics (e.g., satellite communications) or other wireless communications (e.g., cellular) for implementing or assisting adaptive cruise control (ACC). In one instance, the autonomous vehicle communicates with the infrastructure to obtain data about the distance between the vehicle and obstacles. Communication may be conducted, for example, using a communication channel (e.g., communication with a 4G or 5G cellular base station). In one instance, when a camera used by ACC is blinded by direct sunlight or otherwise obstructed, the current vehicle can request distance information from the infrastructure to continue its operation (e.g., maintain a safe distance from vehicles ahead).
[0039] Figure 1 A vehicle 102 is illustrated with a cruise control system 140 comprising operating in at least two modes, according to some embodiments. In one embodiment, a first mode uses adaptive cruise control, and a second mode uses conventional cruise control. For illustrative purposes, the first and second modes are described below. In other embodiments, three or more modes may be used (e.g., as a combination of the various modes described herein).
[0040] In one instance, vehicle 102 determines that the data obtained from sensor 108 and used by cruise control system 140 for adaptive cruise control has become insufficient to properly control the speed of vehicle 102. In another instance, vehicle 102 is unable to safely use data from the camera to maintain a minimum safe distance from another vehicle it is following. In response to determining that the sensor data is insufficient, processor 104 switches the operation of cruise control system 140 from a first mode to a second mode. In the second mode, if vehicle 102 gets too close to another vehicle or object, the driver needs to manually brake vehicle 102 and / or deactivate cruise control system 140.
[0041] In one embodiment, the cruise control system 140 uses adaptive cruise control in both a first mode and a second mode. In the first mode, the cruise control system 140 uses only data provided by sensor 108 and / or other sensors or data sources from the vehicle 102. In the second mode, the cruise control system 140 obtains additional data from new sources other than the vehicle 102 itself (e.g., sensors, computing devices, and / or data sources located outside the vehicle 102, such as components of a smart city traffic control infrastructure).
[0042] In one instance, the new source is vehicle 130. Vehicle 102 communicates with vehicle 130 using communication interface 112. In one instance, vehicle 130 travels in the lane adjacent to vehicle 102 on the same multi-lane highway.
[0043] In one instance, the new source is server 132 (e.g., an edge server in a communications network). Vehicle 102 communicates with server 132 using communication interface 112. In some cases, vehicle 130 and / or server 132 provide data for updating digital map 122, which is stored in memory 114. Memory 114 is, for example, volatile memory and / or non-volatile memory. In one instance, memory 114 is NAND flash memory of a memory module (not shown) of vehicle 102.
[0044] In one embodiment, the decision to switch from a first mode to a second mode while maintaining adaptive cruise control is based on evaluating data from sensor 108. In one instance, machine learning model 110 is used to evaluate the sensor data. In one instance, the data from sensor 108 is the input to machine learning model 110. Another input to machine learning model 110 may include contextual data 118 regarding the current and / or previous operating context of vehicle 102. The output from machine learning model 110 may be used to determine whether the data from sensor 108 is considered sufficient for safe control of vehicle 102 when in a first operating mode operated by cruise control system 140.
[0045] The processor 104 controls the data received from the sensor 108 based on one or more outputs from the machine learning model 110, and controls the signaling of the cruise control system 140. The processor 104 also manages the storage of sensor data 116 obtained from the sensor 108 in the memory 114.
[0046] Processor 104 provides data about object 124 to cruise control system 140. Object 124 includes objects identified by machine learning model 110 (e.g., object type, object location, etc.). Data about object 124 is used by cruise control system 140 to help determine whether vehicle 102 is maintaining a minimum safe distance from other vehicles or objects.
[0047] Processor 104 manages user interface 142 for receiving input from the operator of vehicle 102 regarding settings used in implementing adaptive cruise control. In one instance, the settings are setpoints for maintaining a desired speed. In another instance, the settings alternatively and / or additionally include a minimum distance required when following another vehicle. In one instance, machine learning model 110 generates setpoints based on contextual data 118.
[0048] In one instance, when using the cruise control mode of operation, the processor 104 dynamically determines the minimum distance to be maintained in real time during vehicle operation based on the vehicle's context (e.g., speed, weather, traffic, etc.). In one instance, the minimum distance is determined at least every 1 to 30 seconds. In one instance, the minimum distance is selected by the user. In one instance, the minimum distance is a fixed value selected by the vehicle's controller when cruise control is engaged and / or when there is a change in the cruise control operation mode.
[0049] The cruise control system 140 provides data to the operator via user interface 142. In one instance, this provided data includes the operational status of any currently implemented cruise control. In one instance, the provided data indicates the mode in which the cruise control system 140 is operating. In one instance, the provided data provides the operator with an indication that the cruise control system 140 will switch from a first mode to a second mode. In one instance, the cruise control system 140 requires confirmation from the operator via user interface 142 before switching to the second mode.
[0050] In one instance, when operating in the first mode, the cruise control system 140 maintains the selected speed but needs to maintain a minimum distance from another vehicle. In another instance, when operating in the first mode, the cruise control system 140 maintains a selected distance from another vehicle but needs to maintain maximum speed. In another instance, the selected distance is a range above and below a target distance to a setpoint behind the other vehicle. For example, the setpoint is 100 meters, and the range is plus or minus 30 meters. In another instance, the selected distance is dynamically determined in real time based on the vehicle's context (e.g., speed, weather, traffic, etc.).
[0051] In one embodiment, the cruise control system 140 switches from a first mode to a second mode based on determining that data provided by one or more sensors 108 does not meet a criterion. In one instance, the criterion is the output of a machine learning model 110, as discussed above. In another instance, the criterion is a selected or target measure of the maximum noise received in the data from the sensors 108 (e.g., a fixed or dynamically determined threshold limit). In yet another instance, the criterion is the responsiveness of the vehicle 102 to command signals from the cruise control system 140 (e.g., compared to the expected responsiveness to data received from the sensors 108 based on previous operating history).
[0052] In one instance, the criterion is a score determined by the cruise control system 140 using contextual data 118, output from machine learning model 110, and / or data received from vehicle 130 and / or server 132. In one instance, the criterion is the resolution and / or object recognition level achieved through image processing based on data from sensor 108. In one instance, the criterion is any combination of the aforementioned criteria. In one instance, the criterion is dynamically determined by the cruise control system 140 while vehicle 102 is in motion.
[0053] Figure 2 A vehicle 202 is illustrated according to some embodiments, using data provided by one or more sensors 206 to control various functions of the vehicle 202. In one example, the functions may be controlled by vehicle electronics comprising one or more computing devices coupled to one or more memory modules. For example, the functions may include control and / or signaling or other communication via one or more of the following: powertrain control module and powertrain electronics, body control module and body electronics, interior electronics, chassis electronics, safety and entertainment electronics, electronics for passenger and driver comfort systems, and / or vehicle automation. The computing devices may implement the functions using one or more of mechatronics, artificial intelligence (e.g., machine learning models including artificial neural networks), or distributed systems (e.g., systems including electronic components connected by a controller area network (CAN) bus). In one example, the functions include determining a route and / or controlling the navigation of the vehicle.
[0054] In one example, sensor 206 is part of a sensing device (e.g., a sensing device in a permeable package) that includes an integrated processor and memory. The processor executes an artificial neural network (ANN), which locally processes the data collected by sensor 206 as input to the ANN. The output from the artificial neural network is sent to a processing device (not shown) (see, for example, Figure 1 The processor 104 is used for the function of controlling the vehicle 202.
[0055] Data received from sensor 206 is stored in memory module 208. In one example, this stored data is used to control motor 204. In one example, motor 204 is an electric motor for an autonomous vehicle. In another example, motor 204 is a gasoline-powered engine.
[0056] Vehicle 202 can operate in various operating modes. In a first mode, data from sensor 206 is used to control the speed of vehicle 202 via electronic devices that signal motor 204. In this first mode, vehicle 202 operates using adaptive cruise control. When light emitted from external light source 226 illuminates sensor 206 and causes distortion in the interpretation of data provided by sensor 206 for adaptive cruise control, a processing device (not shown) (see, for example, ...) Figure 1 The processor 104 determines that the data from the sensor 206 is insufficient to control the speed of the vehicle 202.
[0057] In one instance, light source 226 is the sun or the headlights of an oncoming vehicle. For example, sunlight directly shining in front of vehicle 202 at sunrise or sunset can cause existing cruise control systems to malfunction or cease operation. In one instance, direct sunlight can deactivate cruise control for a vehicle using both speed and distance monitoring in a first mode of cruise control. In one instance, cruise control system 140 determines that such sunlight interferes with cruise control operation. In response to this determination, cruise control system 140 switches from the current first operating mode to a second operating mode, as described herein. In one instance, vehicle 202 avoids sunlight problems by obtaining information from sensors located in another object (e.g., a different vehicle, a computing device outside vehicle 202, and / or part of transport communication infrastructure (e.g., smart city infrastructure)). In one instance, the other object does not suffer from direct sunlight distortion problems.
[0058] In response to determining that stray light is causing distortion or another problem, the processing device switches vehicle 202 to operate in a second mode (e.g., using conventional cruise control). In the second mode, the processing device maintains the selected speed of vehicle 202. In one example, the selected speed is a setpoint used to determine the maximum speed of vehicle 202 when operating in the first mode.
[0059] Cockpit 214 is the interior portion of vehicle 202. Cockpit 214 includes a display 212 and a speaker 210. The display 212 and / or speaker 210 can be used to provide an operator 216 with an alert that vehicle 202 is switching from a first mode of cruise control to a second mode, as described above. In one instance, when operating in the second mode, the alert presents operator 216 with one or more selection options for customizing the operation of vehicle 202. In one instance, operator 216 selects the desired option on display 212 and / or using voice commands or other user inputs or controls located in cockpit 214. Cockpit 214 further includes a driver's seat 220 for operator 216, a front seat 222 for passengers at the front of cockpit 214, and a rear seat 224 for additional passengers at the rear of cockpit 214.
[0060] In one instance, operator 216 uses a user interface presented on display 212 to select a setpoint for controlling the speed of vehicle 202, the display providing operator 216 with a field of view 218 of the user interface. In another instance, operator 216 selects the setpoint using voice commands (or voice commands to the operator 216's mobile device communicating with vehicle 202) provided as input to a microphone (not shown) in cockpit 214. In yet another instance, the voice commands are processed by the processing unit of vehicle 202 as described above.
[0061] In one embodiment, memory module 208 stores data about the operating characteristics of motor 204 when in a first operating mode (e.g., adaptive cruise control). In one instance, these stored characteristics are part of contextual data 118. In another instance, these stored characteristics in memory module 208 are used by machine learning model 110 to determine whether data from sensor 206 is sufficient to control the speed of vehicle 202.
[0062] In one embodiment, memory module 208 stores data about the operating characteristics of motor 204 when in a first operating mode. In one instance, machine learning model 110 uses these stored operating characteristics as input when evaluating adequacy data from sensor 206 and / or other sensors (e.g., noise or error below a threshold). In one instance, based on the output from machine learning model 110, vehicle 202 switches from the first operating mode to a second operating mode.
[0063] In one embodiment, vehicle 202 remains in adaptive cruise control in both a first mode and a second mode, but vehicle 202 obtains additional data from new sources to control its speed (e.g., to maintain a minimum distance from another vehicle it is following). In one instance, vehicle 202 obtains the additional data from vehicle 130 and / or server 132 using communication interface 112. In one instance, the additional data is obtained from the mobility devices of passengers (not shown) in vehicle 202, the mobility devices of pedestrians on the road that vehicle 202 is using, and / or passengers of another vehicle.
[0064] Figure 3 A vehicle 310 is shown, according to some embodiments, using data collected from one or more other objects, such as another vehicle or mobile device, to control its operation. For example, vehicle 310 is following another vehicle 312. In one instance, vehicle 310 is following using adaptive cruise control in a first mode (e.g., normal or default operating mode). Vehicle 310 is an instance of vehicle 102 or vehicle 202.
[0065] In one instance, vehicle 310 controls its speed to maintain a selected distance (e.g., a distance setpoint) behind vehicle 312. In another instance, the selected distance is determined based on the output of machine learning model 110, which is based on inputs from contextual data 118, digital map 122, and / or sensor data 116.
[0066] In one embodiment, vehicle 310 determines that data provided by one or more sensors (e.g., sensor 108) of vehicle 310 does not meet a criterion. In one instance, this determination is made via machine learning model 110. In one instance, the criterion is a measure or value corresponding to the degree of noise in the provided sensor data. In response to determining that data from one or more sensors does not meet the criterion, vehicle 310 switches from a first mode to a second mode for controlling vehicle 310 (e.g., speed, motor control, braking, and / or direction control).
[0067] In one embodiment, vehicle 310 remains in adaptive cruise control while in the second mode, but receives additional data from one or more new data sources. The new sources may include one or more of mobile device 304, mobile device 306, vehicle 312, vehicle 318, vehicle 320, and / or fixed camera 316. In one instance, vehicle 310 communicates with one or more new sources using communication interface 112. In one instance, the new sources may include server 132.
[0068] In one example, the camera 302 of the mobile device 304 collects image data about the vehicle 312. The mobile device 304 can be operated or held by a passenger in the vehicle 312. In one example, the image data is processed by the processor 104 and used to control the cruise control system 140. For example, the image data can be used to determine the distance 332 between the mobile device 304 and the vehicle 312. The distance 332 can be used by the cruise control system 140 when controlling the speed of the vehicle 312.
[0069] In one example, mobile device 306 is held or operated by a pedestrian on the sidewalk of the road on which vehicle 310 is traveling. Camera 308 provides image data transmitted by mobile device 306 to vehicle 310 (e.g., using communication interface 112). In one example, mobile device 306 transmits image data to server 132, which retransmits the image data to communication interface 112. The image data can be used by mobile device 306 to determine the distance 330 between mobile device 306 and vehicle 312.
[0070] In one example, mobile device 306 transmits distance 330 and orientation data about mobile device 306 to vehicle 310. Vehicle 310 uses this data, along with its current orientation, to determine the distance from vehicle 310 to vehicle 312. In one example, the orientations of mobile device 306 and vehicle 310 are determined using GPS sensors.
[0071] In one example, vehicle 312 includes sensor 314. Vehicle 310 can communicate with vehicle 312 using communication interface 112. In one example, vehicle 312 includes a communication interface similar to communication interface 112. Data provided from sensor 314 is transmitted from vehicle 312 to vehicle 310. Vehicle 310 receives the transmitted data and uses it to control its speed. In one example, the received data from sensor 314 is the distance between vehicle 310 and vehicle 312, as determined by a processing device (not shown) of vehicle 312.
[0072] In one instance, vehicle 310 may receive data from other vehicles, such as vehicle 318 and / or vehicle 320. The data received from vehicles 318 and 320 may be similar to the data provided by vehicle 312.
[0073] In one instance, vehicle 310 receives data from fixed camera 316. This data can be used by vehicle 310 to determine distance 334 between fixed camera 316 and vehicle 312. In one instance, fixed camera 316 determines distance 334. In another instance, vehicle 310 determines distance 334. Vehicle 310 uses its orientation, the orientation of fixed camera 316, and distance 334 to determine following distance behind vehicle 312. In one instance, fixed camera 316 transmits its orientation (e.g., GPS coordinates) to vehicle 310. In one instance, fixed camera 316 is one of objects 124. In one instance, the orientation of fixed camera 316 is determined by cruise control system 140 using digital map 122.
[0074] In one example, vehicle 310 uses a networked system comprising the vehicle and a computing device to communicate with a new data source. The networked system may be connected via one or more communication networks (wireless and / or wired). The communication networks may include at least a local-to-device network such as Bluetooth or the like, a wide area network (WAN), a local area network (LAN), an intranet, a mobile wireless network such as 4G or 5G (or the proposed 6G), an extranet, the Internet (e.g., traditional, satellite, or high-speed Starlink Internet), and / or any combination thereof. Nodes in the networked system may each be part of a peer-to-peer network, a client-server network, a cloud computing environment, or the like. Furthermore, any of the devices, computing devices, vehicles, sensors, or cameras used in the networked system may comprise some type of computing system. The computing system may include network interfaces to other devices in the LAN, intranet, extranet, and / or the Internet. The computing system may also operate as a server or client machine in a client-server network environment, as a peer machine in a peer-to-peer (or distributed) network environment, or as a server or client machine in a cloud computing infrastructure or environment.
[0075] In some embodiments, vehicle 310 may process data (e.g., sensor or other data) as part of a cloud system. In one instance, a cloud computing environment operates in conjunction with embodiments of this disclosure. Components of the cloud computing environment can be implemented using any desired combination of hardware and software components.
[0076] An exemplary computing environment may include client computing devices, provider servers, authentication servers, and / or cloud components that communicate with each other via a network (e.g., via communication interface 112).
[0077] The client computing device (e.g., mobile devices 304, 308) can be any computing device, such as a desktop computer, laptop computer, tablet computer, PDA, smartphone, mobile phone, smart appliance, wearable device, IoT device, in-vehicle device, etc. According to various embodiments, the client computing device accesses services at a provider server (e.g., server 132 or processor 104).
[0078] A client computing device may include one or more input devices or interfaces for a user of the client computing device. For example, the one or more input devices or interfaces may include one or more of the following: a keyboard, mouse, trackpad, trackball, stylus, touchscreen, hardware buttons on the client computing device, and the like. The client computing device may be configured to execute various applications (e.g., web browser applications) to access the network.
[0079] The provider server can be any computing device configured to host one or more applications / services. In some embodiments, the provider server may require security authentication before authorized access to services and / or resources provided thereon is granted. In some embodiments, the application / service may include online services that a device can participate in after authenticating its access. In some embodiments, the provider server may be configured with an authentication server for authenticating users and / or devices. In other embodiments, the authentication server may be configured to be remote from and / or independent of the provider server.
[0080] The network can be any type of network configured to provide communication between components of the cloud system. For example, the network can be any type of network (including infrastructure) that provides communication, exchanges information, and / or facilitates the exchange of information, such as the Internet, local area network, wide area network, personal area network, cellular network, near field communication (NFC), optical code scanner, or other suitable connections that enable the sending and receiving of information between components of the cloud system. In other embodiments, one or more components of the cloud system may communicate directly via a dedicated communication link.
[0081] In various embodiments, the cloud system may also include one or more cloud components. Cloud components may include one or more cloud services, such as software applications (e.g., queues, etc.), one or more cloud platforms (e.g., web front-ends, etc.), cloud infrastructure (e.g., virtual machines, etc.), and / or cloud storage devices (e.g., cloud databases, etc.). In some embodiments, one or both of the provider server and authentication server may be configured to operate within or with a cloud computing / architecture, such as Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and / or Software as a Service (SaaS).
[0082] Figure 4 A method for operating a cruise control system in two or more modes is illustrated according to some embodiments. For example, Figure 4 The method can be found in Figure 1 The system is implemented in this manner. In one example, the cruise control system 140 controls the vehicle 102 in either an adaptive cruise control mode or a conventional cruise control mode, and switches back and forth between the two modes (or, in other embodiments, more than two modes) in response to various assessments and / or determinations. In one example, the cruise control system 140 switches back from the conventional cruise control mode to the adaptive cruise control mode in response to determining that sensor data is once again sufficient to control the speed of the vehicle 102 (e.g., after the sun has set or risen, or otherwise left the sensor's field of view, and therefore stray light distortion has disappeared).
[0083] In one example, the cruise control system 140 switches from a conventional cruise control mode back to an adaptive cruise control mode in response to determining that data provided by one or more sensors meets criteria. In another example, when it is determined that sensor data is insufficient, the cruise control system 140 switches from a first mode to a second mode, in which additional data is obtained from new sources for controlling the speed of the vehicle 102. In one example, the second mode includes operation in the conventional cruise control mode and / or obtaining additional data from one or more new sources.
[0084] Figure 4 The method can be executed through processing logic, which may include hardware (e.g., processing device, circuit system, special-purpose logic, programmable logic, microcode, device hardware, integrated circuit, etc.), software (e.g., instructions that run or execute on the processing device), or a combination thereof. In some embodiments, Figure 4 The method comprises at least in part one or more processing devices (e.g., Figure 1 The processor 104) executes.
[0085] Although shown in a specific order or sequence, the order of processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in different orders, and some processes may be performed in parallel. Furthermore, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are possible.
[0086] At box 401, data from one or more sensors is used to control the speed of the first vehicle. For example, data from sensor 206 is used to control motor 204. In one instance, data from sensor 108 is used as input to machine learning model 110.
[0087] At box 403, sensor data is used to perform object detection. In one instance, machine learning model 110 is used to detect objects in image data from one or more cameras.
[0088] At box 405, in a first mode, the speed of the first vehicle is controlled to maintain a selected distance (e.g., at least the desired or target distance) from the second vehicle. In one instance, the cruise control system 140 controls the speed to a desired setpoint value, but needs to maintain a minimum distance from the other vehicle being followed. In one instance, the minimum distance is based on the output from machine learning model 110. In one instance, the minimum distance is based at least in part on the current speed of the first vehicle and / or the current speed of the second vehicle. In one instance, the distance is dynamically selected based on the context of at least one of the vehicles (e.g., speed and / or interval distance).
[0089] At box 407, it is determined that the sensor data is insufficient to control the speed of the first vehicle. For example, processor 104 determines that the control output from cruise control system 140 is not adequately or appropriately responding to input data from sensor 108 and / or other data sources.
[0090] At box 409, in response to insufficient data, the operation of the first vehicle is switched from a first mode to a second mode for controlling the speed of the first vehicle. In one example, vehicle 102 switches from adaptive cruise control mode to regular cruise control mode.
[0091] At box 411, in the second mode, the speed of the first vehicle is controlled by maintaining the selected speed. In one instance, the selected speed is a value or setpoint requested by operator 216.
[0092] Figure 5 A method for switching cruise control modes based on evaluation of data from sensors used to operate a vehicle, according to some embodiments, is illustrated. For example, Figure 5 The method can be found in Figures 1 to 3 This is implemented in the system. In one example, vehicle 310 switches from a first operating mode to a second operating mode based on evaluation of data from sensor 108. In the second operating mode, additional data is obtained from other objects, such as mobile device 304, mobile device 306, and / or vehicles 312, 318, 320, for use in controlling vehicle 310 in the second mode. In response to determining that the data from sensor 108 is sufficient to control the operation of vehicle 310, vehicle 310 returns to the first mode.
[0093] Figure 5 The method can be executed through processing logic, which may include hardware (e.g., processing device, circuit system, special-purpose logic, programmable logic, microcode, device hardware, integrated circuit, etc.), software (e.g., instructions that run or execute on the processing device), or a combination thereof. In some embodiments, Figure 5 The method comprises at least in part one or more processing devices (e.g., Figure 1 The processor 104) executes.
[0094] Although shown in a specific order or sequence, the order of processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in different orders, and some processes may be performed in parallel. Furthermore, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are possible.
[0095] At box 501, the speed of the first vehicle is controlled in a first mode using data from one or more sensors. The speed is controlled to maintain a selected distance from the second vehicle. In one instance, the selected distance is a minimum distance. In another instance, the selected distance is a maximum distance. In yet another instance, the selected distance is a range, such as a combination of minimum and maximum distances. In one instance, the selected distance includes the desired setpoint distance, the minimum distance, and the maximum distance. In one instance, the aforementioned distances are determined based on the vehicle speed (e.g., measured or estimated based on data received or collected by the processor of the first vehicle) and / or other driving or operating conditions of the vehicle.
[0096] At box 503, data from one or more sensors is evaluated. In one instance, the data is obtained solely or additionally from sensors 302, 314 and / or cameras 302, 308.
[0097] At box 505, based on the evaluation, the first vehicle switches to a second mode to control its speed. In one instance, the vehicle switches between multiple modes depending on the current distance setpoint (e.g., a different setpoint corresponding to each of the desired distance, minimum distance, or maximum distance) at which it is subsequently controlled in a given operating context (e.g., different weather, traffic, and / or road conditions).
[0098] At box 507, additional data is obtained from a new source. This additional data is used to maintain the selected distance. Obtaining additional data is performed as part of the operation in the second mode. In one instance, the additional data is obtained from vehicle 312 and fixed camera 316.
[0099] At box 509, the distance between the first vehicle and the second vehicle is measured based on additional data. In one example, cruise control system 140 uses the measured distance to control the speed of vehicles 102, 202, or 310.
[0100] Figure 6 A method for switching cruise control modes based on determining that sensor data does not meet criteria is illustrated according to some embodiments. For example, Figure 6 The method can be found in Figures 1 to 3 This is implemented in the system. In one instance, based on sensor data received from sensors of vehicle 310 failing to meet data characteristic criteria, vehicle 310 switches from a first mode to a second mode. In another instance, when it is determined that sensor data meets data characteristic criteria and / or meets different data characteristic criteria, vehicle 310 switches from the second mode to the first mode.
[0101] Figure 6 The method can be executed through processing logic, which may include hardware (e.g., processing device, circuit system, special-purpose logic, programmable logic, microcode, device hardware, integrated circuit, etc.), software (e.g., instructions that run or execute on the processing device), or a combination thereof. In some embodiments, Figure 6 The method comprises at least in part one or more processing devices (e.g., Figure 1 The processor 104) executes.
[0102] Although shown in a specific order or sequence, the order of processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and the illustrated processes may be performed in different orders, and some processes may be performed in parallel. Furthermore, one or more processes may be omitted in various embodiments. Therefore, not all processes are required in every embodiment. Other process flows are possible.
[0103] At box 601, the speed of the first vehicle is controlled in the first mode to maintain at least a minimum distance from the second vehicle. In one instance, the minimum distance is maintained based on a distance 332 determined by the mobile device 304.
[0104] At box 603, it is determined that the data provided by one or more sensors does not meet the criteria. In one instance, processor 104 determines that the data from sensor 206 contains noise and / or error exceeding a threshold.
[0105] At block 605, based on the determination, the first vehicle switches to a second mode for controlling one or more functions of the first vehicle. In one example, the first vehicle collects data only from its own sensors in the first mode, and in the second mode additionally and / or alternatively collects data from sensors of other vehicles and / or objects (e.g., vehicle 318, mobile device 306).
[0106] At box 607, the speed of the first vehicle is controlled based on a setpoint determined from the operation of the first vehicle in the first mode. The speed is controlled at least in part using data collected from the other vehicles / objects described above. In one instance, the setpoint is the desired speed requested by the operator 216 of vehicle 202. In one instance, the setpoint is based on the output from machine learning model 110. In one instance, the setpoint is based on sensor data, contextual data, or other operational data stored in memory 114 and / or memory module 208.
[0107] In one embodiment, a system includes: at least one processing device (e.g., processor 104); and at least one memory (e.g., memory 114, memory module 208) containing instructions configured to instruct the at least one processing device to: control the speed of a first vehicle (e.g., vehicle 102, 202, 310) in a first mode and using data from at least one sensor (e.g., sensor 108, 206), wherein controlling the speed in the first mode includes controlling the speed to at least maintain a minimum distance from a second vehicle; determine that the data from the sensors is insufficient to control the speed of the first vehicle; and in response to determining that the data from the sensors is insufficient to control the speed, switch from the first mode to a second mode for controlling the speed of the first vehicle, wherein controlling the speed in the second mode includes maintaining a selected speed (e.g., a setpoint selected by the operator of the first vehicle when in the first mode).
[0108] In one embodiment, maintaining the selected speed is performed independently of the distance between the first and second vehicles. For example, a conventional cruise control mode is used to control the speed, and the distance to the second vehicle is not used as an input for control.
[0109] In one embodiment, maintaining the selected speed includes using a setpoint for the cruise control system, wherein the setpoint is the selected speed.
[0110] In one embodiment, controlling speed in the first mode further includes performing object detection using data from sensors, and said object detection includes detecting a second vehicle. In one instance, object detection is part of a process performed in a navigation system for controlling the direction and / or route of vehicle 102. In one instance, the navigation system uses a machine learning model 110 for object detection using image data from a LiDAR sensor and / or a camera as input.
[0111] In one embodiment, at least one sensor comprises at least one of a scanning sensor, a camera, a global positioning system (GPS) sensor, a lidar sensor, a microphone, a radar sensor, a wheel speed sensor, or an infrared sensor.
[0112] In one embodiment, the system further includes a memory module (e.g., memory module 208) installed in a first vehicle, wherein the memory module includes a processing device and at least one memory device configured to store data from a sensor, and wherein the memory device includes at least one of the following: a DRAM device, a NAND flash memory device, a NOR flash memory device, or a multi-chip package (MCP), or an embedded multimedia controller (eMMC) package including flash memory and a flash memory controller integrated on the same silicon die or in the same package.
[0113] In one embodiment, the system further includes a communication interface (e.g., communication interface 112) of a first vehicle, wherein the communication interface is configured to communicate wirelessly with at least one other object.
[0114] In one embodiment, the at least one other object includes a mobile device in the first vehicle (e.g., mobile device 304), a mobile device outside the first vehicle (e.g., mobile device 306), a second vehicle (e.g., vehicle 312), a vehicle traveling on the same road as the first vehicle (e.g., vehicle 320), or a mobile vehicle within 500 meters of the first vehicle (e.g., vehicle 318).
[0115] In one embodiment, the communication interface is configured for vehicle-to-everything (V2X) communication that includes at least one of the following: V2I (vehicle-to-infrastructure) communication, V2N (vehicle-to-network) communication, V2V (vehicle-to-vehicle) communication, V2P (vehicle-to-pedestrian) communication, V2D (vehicle-to-device) communication, or V2G (vehicle-to-grid) communication.
[0116] In one embodiment, the communication interface is a 5G cellular network interface.
[0117] In one embodiment, the other object includes a second vehicle; and the instructions are further configured to instruct at least one processing device to receive data regarding at least one of the speed or position of the second vehicle. Determining that the data from the sensors is insufficient to control the speed of the first vehicle includes evaluating the received data regarding the speed or position of the second vehicle.
[0118] In one embodiment, the system further includes a user interface (e.g., a user interface provided by display 212 and / or speaker 210), wherein the instructions are further configured to instruct at least one processing device to: provide a warning to the operator of the first vehicle; and, in response to the warning, receive confirmation from the operator of switching to the second mode.
[0119] In one embodiment, a method includes: controlling the speed of a first vehicle in a first mode and using data from at least one sensor, wherein controlling the speed in the first mode includes controlling the speed to at least maintain a minimum distance from a second vehicle; evaluating the data from the sensors; and switching from the first mode to a second mode for controlling the speed of the first vehicle based on the evaluation of the data from the sensors by obtaining additional data from a new source and using the additional data to maintain the minimum distance.
[0120] In one embodiment, evaluating data from the sensor includes determining that the data from the sensor is insufficient to control the first vehicle due to distortion caused by a light source illuminating the sensor; switching to a second mode includes obtaining additional data from a new source camera (e.g., cameras 302, 308) in response to determining that the light source is causing distortion; and the new source is at least one of a vehicle other than the first vehicle, a mobile device, or a fixed camera (e.g., 316).
[0121] In one embodiment, speed is controlled in a first mode by an adaptive cruise control (ACC) system (e.g., cruise control system 140); obtaining additional data from a new source includes obtaining data from at least one object outside the first vehicle; and using the additional data to maintain a minimum distance includes measuring the distance to the second vehicle based on the additional data.
[0122] In one embodiment, evaluating data from the sensors includes determining that a light source (e.g., 226) outside the first vehicle hinders adequate processing of the data from the sensors; obtaining additional data from new sources includes obtaining data from a proximity sensor and / or image data from a camera of a moving device inside the first vehicle; and using the additional data to maintain a minimum distance includes measuring the distance to the second vehicle based on the image data and / or proximity data.
[0123] In one embodiment, the method further includes providing an indication to the operator of the first vehicle that the first vehicle will switch to a second mode or is currently controlling its speed in the second mode.
[0124] In one embodiment, the method further includes: providing a first user interface (e.g., display 212) regarding the operating state of the first vehicle to the operator of the first vehicle when the speed is controlled in a first mode; and receiving confirmation of switching to the second mode from the operator via input from a second user interface (e.g., a microphone for receiving voice commands) before switching to the second mode.
[0125] In one embodiment, a non-transitory computer-readable medium (e.g., the storage medium of memory module 208) stores instructions that, when executed on at least one computing device, cause the at least one computing device to: control the speed of a first vehicle in a first mode, wherein controlling the speed in the first mode includes controlling the speed to maintain at least a minimum distance from a second vehicle; determine that data provided by at least one sensor of the first vehicle does not meet a criterion; and, in response to determining that the data from the sensor does not meet the criterion, switch from the first mode to a second mode for controlling the first vehicle, wherein controlling the first vehicle in the second mode includes controlling the speed based on a selected speed.
[0126] In one embodiment, the selected speed is a setpoint used to control the speed in the first mode.
[0127] This disclosure includes various means for performing the methods and implementing the systems described above, including a data processing system for performing these methods, and a computer-readable medium containing instructions that, when executed on the data processing system, cause the system to perform the methods.
[0128] The descriptions and figures are illustrative and should not be construed as limiting. Many specific details are described to provide a thorough understanding. However, in some cases, well-known or conventional details have not been described to avoid obscuring the description. References to one or more embodiments in this disclosure do not necessarily imply reference to the same embodiment; and such references imply at least one.
[0129] As used herein, “coupled to” or “coupled with” generally refers to a connection between components, which can be an indirect or direct communication connection (e.g., without the involvement of other components), whether wired or wireless, including connections such as electrical, optical, and magnetic connections.
[0130] In this specification, references to "an embodiment" or "an embodiment" mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of this disclosure. The phrase "in one embodiment" appearing in various places throughout this specification does not necessarily refer to all of the same embodiment, nor is it necessarily a separate or alternative embodiment that is mutually exclusive with other embodiments. Furthermore, various features that may be present in some embodiments but not in others are described. Similarly, various needs are described, which may be necessary for some embodiments but not for others.
[0131] In this specification, various functions and / or operations may be described as being executed by or caused by software code for the sake of simplicity. However, those skilled in the art will recognize that this expression means that the functions and / or operations are caused by one or more processing devices executing code, such as microprocessors, application-specific integrated circuits (ASICs), graphics processors, and / or field-programmable gate arrays (FPGAs). Alternatively or in combination, the functions and operations may be implemented using dedicated circuit systems (e.g., logic circuit systems) with or without software instructions. Embodiments may be implemented using hardwired circuit systems without software instructions or in combination with software instructions. Therefore, the techniques described are not limited to any particular combination of hardware circuit systems and software, nor are they limited to any particular source of instructions executed by a computing device.
[0132] While some embodiments can be implemented in fully functional computers and computer systems, various embodiments can be distributed as a variety of computing products and are applicable regardless of the specific type of computer-readable media actually used to implement the distribution.
[0133] At least some of the disclosed aspects can be implemented, at least partially, in software. That is, the technology can be executed in a computing device or another system in response to its processing device (e.g., a microprocessor) executing a sequence of instructions contained in memory (e.g., ROM, volatile RAM, non-volatile memory, cache memory, or remote storage device).
[0134] The routines used to implement the embodiments described may be implemented as part of an operating system, middleware, service delivery platform, software development kit (SDK) component, network service, or other specific application, component, program, object, module, or sequence of instructions (sometimes referred to as a computer program). The calling interface to these routines may be exposed to the software development community as an application programming interface (API). A computer program typically contains one or more sets of instructions at various times in various memories and storage devices within a computer, and these sets of instructions, when read and executed by one or more processors in the computer, cause the computer to perform necessary operations to execute elements involving various aspects.
[0135] Computer-readable media can be used to store software and data that, when executed by a computing device, cause the device to perform various methods. Executable software and data can be stored in various locations, including, for example, ROM, volatile RAM, non-volatile memory, and / or cache memory. A portion of this software and / or data can be stored in any of these storage devices. Furthermore, data and instructions can be obtained from a centralized server or a peer-to-peer network. Different portions of the data and instructions can be obtained at different times and in different communication sessions or in the same communication session from different centralized servers and / or peer-to-peer networks. All data and instructions can be obtained before the application is executed. Alternatively, portions of the data and instructions can be obtained dynamically and in a timely manner as needed for execution. Therefore, it is not necessary for all data and instructions to be on the computer-readable media at any given time.
[0136] Examples of computer-readable media include, but are not limited to, recordable and non-recordable media, such as volatile and non-volatile memory devices, read-only memory (ROM), random access memory (RAM), flash memory devices, solid-state drive storage media, removable disks, disk storage media, optical storage media (e.g., optical disc read-only memory (CD-ROM), digital versatile disk (DVD), etc.), and other media. Computer-readable media can store instructions. Other examples of computer-readable media include, but are not limited to, non-volatile embedded devices using NOR flash or NAND flash architectures. Media used in these architectures may include unmanaged NAND devices and / or managed NAND devices, including, for example, eMMC, SD, CF, UFS, and SSD.
[0137] Generally, non-transitory computer-readable media includes any means that provides (e.g., stores) information in a form accessible by computing devices (e.g., computers, mobile devices, network devices, personal digital assistants, manufacturing tools with controllers, any device having a collection of one or more processors, etc.). As used herein, “computer-readable media” may include a single medium or multiple media (e.g., storing one or more instruction sets).
[0138] In various embodiments, hardwired circuitry systems can be used in combination with software and firmware instructions to implement the technology. Therefore, the technology is neither limited to any particular combination of hardware circuitry systems and software, nor to any particular source of instructions executed by a computing device.
[0139] The various embodiments described herein can be implemented using a wide variety of different types of computing devices. As used herein, examples of "computing device" include, but are not limited to, servers, centralized computing platforms, systems with multiple computing processors and / or components, mobile devices, user terminals, vehicles, personal communication devices, wearable digital devices, electronic self-service terminals, general-purpose computers, electronic document readers, tablet computers, laptop computers, smartphones, digital cameras, home appliances, televisions, or digital music players. Additional examples of computing devices include devices that are part of what is known as the "Internet of Things" (IoT). Such "things" may interact incidentally with their owners or administrators who may monitor or modify settings on them. In some cases, such owners or administrators act as users relative to the "thing" devices. In some instances, a user's primary mobile device (e.g., an Apple iPhone) may be an administrator server relative to a pair of "thing" devices worn by the user (e.g., an Apple Watch).
[0140] In some embodiments, the computing device may be a computer or a host system, such as a desktop computer, laptop computer, web server, mobile device, or another computing device including memory and processing means. The host system may include or be coupled to a memory subsystem, such that the host system can read data from or write data to the memory subsystem. The host system may be coupled to the memory subsystem via a physical host interface. Generally, the host system may access multiple memory subsystems via the same communication connection, multiple separate communication connections, and / or a combination of communication connections.
[0141] In some embodiments, a computing device is a system that includes one or more processing devices. Examples of processing devices may include a microcontroller, a central processing unit (CPU), a dedicated logic circuit system (e.g., a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), etc.), a system-on-a-chip (SoC), or another suitable processor.
[0142] In one example, the computing device is the controller of the memory system. The controller includes a processing device and a memory containing instructions executed by the processing device to control various operations of the memory system.
[0143] While some diagrams illustrate operations in a specific order, non-orderly dependent operations can be reordered and other operations can be combined or decomposed. Although some reorderings or other groupings are specifically mentioned, other reorderings or groupings are obvious to those skilled in the art, and therefore no exhaustive list of alternatives is provided. Furthermore, it should be recognized that stages can be implemented in hardware, firmware, software, or any combination thereof.
[0144] In the foregoing description, this disclosure has been described with reference to specific exemplary embodiments. It will be apparent that various modifications may be made thereto without departing from the broader spirit and scope set forth in the appended claims. Therefore, the description and drawings should be viewed in an illustrative rather than restrictive sense.
Claims
1. A system comprising: At least one processing device; as well as At least one memory containing instructions configured to instruct the at least one processing device: The first vehicle is operated in a speed control first mode, wherein data from at least one sensor is available to maintain at least a minimum distance from the second vehicle; It is determined that the data from the sensor is unusable for measuring the distance from the first vehicle to the second vehicle; as well as In response to determining that the data from the sensor is not available for measuring the distance, the first vehicle is operated in a second mode to maintain a constant speed.
2. The system of claim 1, wherein maintaining the constant speed is performed independently of the distance between the first vehicle and the second vehicle.
3. The system of claim 1, wherein maintaining the constant speed includes using a setpoint for the cruise control system.
4. The system of claim 1, wherein maintaining at least the minimum distance includes performing object detection using the data from the sensor, and the object detection includes detecting the second vehicle.
5. The system of claim 1, wherein the at least one sensor comprises at least one of a scanning sensor, a camera, a GPS sensor, a lidar sensor, a microphone, a radar sensor, a wheel speed sensor, or an infrared sensor.
6. The system of claim 1, further comprising a memory module installed in the first vehicle, wherein the memory module includes the processing device and at least one memory device configured to store the data from the sensor, and wherein the memory device includes at least one of the following: a DRAM device, a NAND flash memory device, a NOR flash memory device, a multi-chip package (MCP), or an embedded multimedia controller (eMMC) package including flash memory and a flash memory controller integrated on the same silicon die or in the same package.
7. The system of claim 1, further comprising a communication interface of the first vehicle, wherein the communication interface is configured to communicate wirelessly with at least one other object.
8. The system of claim 7, wherein the at least one other object comprises a mobile device in the first vehicle, a mobile device outside the first vehicle, the second vehicle, a vehicle traveling on the same road as the first vehicle, or a mobile vehicle within 500 meters of the first vehicle.
9. The system of claim 7, wherein the communication interface is configured for vehicle-to-everything (V2X) communication comprising at least one of the following: V2I (vehicle-to-infrastructure) communication, V2N (vehicle-to-network) communication, V2V (vehicle-to-vehicle) communication, V2P (vehicle-to-pedestrian) communication, V2D (vehicle-to-device) communication, or V2G (vehicle-to-grid) communication.
10. The system of claim 7, wherein determining that the data from the sensor is unusable for measuring distance includes determining that the sensor data is unusable for meeting accuracy criteria for distance measurement.
11. The system according to claim 7, wherein: The at least one other object includes the second means of transport; and The instructions are further configured to instruct the at least one processing device to receive data regarding at least one of the speed or position of the second vehicle; Determining that the data from the sensor cannot be used to measure distance includes evaluating the received data regarding the speed or position of the second vehicle.
12. The system of claim 1, further comprising a user interface, wherein the instructions are further configured to instruct the at least one processing device prior to changing operation to the second mode: Provide warnings to the operator of the first vehicle; and In response to the warning, the operator receives confirmation to change the operation to the second mode.
13. A method comprising: In a first mode, the speed of the first vehicle is controlled using data from at least one sensor, wherein controlling the speed in the first mode includes controlling the speed to maintain at least a minimum distance from the second vehicle; Evaluate the data from the sensor; as well as Based on the evaluation of the data from the sensors, the system changes from the first mode to the second mode to control the speed of the first vehicle by obtaining additional data from a new source different from the first vehicle and using the additional data to at least maintain the minimum distance from the second vehicle.
14. The method of claim 13, wherein: Evaluating the data from the sensor includes determining that the data from the sensor is unusable for controlling the first vehicle due to distortion; Switching to the second mode includes obtaining the additional data from the camera of the new source in response to determining that the sensor data is unavailable; as well as The new source is at least one of a vehicle, mobile device, or fixed camera other than the first vehicle.
15. The method according to claim 13, wherein: The speed is controlled in the first mode by the adaptive cruise control (ACC) system; Obtaining additional data from the new source includes obtaining data from at least one object outside the first vehicle; as well as Using the additional data to maintain the minimum distance includes measuring the distance to the second vehicle based on the additional data.
16. The method of claim 13, wherein: Evaluating the data from the sensor includes determining whether light sources outside the first vehicle impede adequate processing of the data from the sensor; Obtaining additional data from the new source includes at least one of obtaining data from a proximity sensor or image data from a camera of a moving device inside the first vehicle; as well as Using the additional data to maintain the minimum distance includes measuring the distance to the second vehicle based on at least one of the image data or the data from the proximity sensor.
17. The method of claim 13, further comprising providing an indication to the operator of the first vehicle that the first vehicle will change to the second mode or is currently controlling its speed in the second mode.
18. The method of claim 13, further comprising: When the speed is controlled in the first mode, a first user interface regarding the operating state of the first vehicle is provided to the operator of the first vehicle. as well as Before switching to the second mode, the operator receives confirmation of switching to the second mode via input in the second user interface.
19. A non-transitory computer-readable medium storing instructions, which, when executed on at least one computing device, cause the at least one computing device to: In a first mode, the speed of the first vehicle is controlled, wherein controlling the speed in the first mode includes controlling the speed to maintain at least a minimum distance from the second vehicle; It was determined that the data provided by at least one sensor of the first vehicle did not meet the criteria; as well as In response to determining that the data from the sensor does not meet the criteria, the system changes from the first mode to a second mode for controlling the first vehicle, wherein controlling the first vehicle in the second mode includes controlling the speed at a constant speed.
20. The non-transitory computer-readable medium of claim 19, wherein: The criteria include an accuracy threshold for distance measurement; and The constant speed is one of the following: a set point for controlling the speed in the first mode, the speed of the first vehicle in the first mode when it is determined that the data from the sensor does not meet the criteria, or the speed selected by the driver when the cruise control system of the first vehicle is activated.