Target selection
By using a general target selection system in vehicle computers and using filter parameters to select target object sets of driver assistance features, the problem of high resource consumption in the existing technology is solved, and efficient selection and system of multiple driver assistance features is realized. flexibility.
Patent Information
- Application Number
- CN202410821246.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2024-06-24
- Publication Date
- 2024-12-31
AI Technical Summary
In the selection process of target objects around the vehicle, the existing driver assistance system consumes a lot of resources, making it difficult to efficiently execute multiple driver assistance features, and lacks a unified public framework to modify or add new features.
By achieving a common goal selection system in vehicle computers, using parameters such as spatial filters, status filters and sorting filters, identifying and selecting target object sets of driver assistance features, reducing computing resource consumption, and providing a common framework to support Operation of multiple driver-assisted features.
It realizes efficient selection of multiple driver assistance features, saves processing resources, simplifies the process of adding or modifying new features, and improves the flexibility and efficiency of the system.
Smart Images

Figure CN119218232A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a driver assistance system in a vehicle. Background Art
[0002] The vehicle may include driver assistance features, such as advanced driver assistance systems (ADAS) or driver assistance technologies (DAT). Examples of driver assistance features are back-up assist, parking assist, blind spot assist, emergency front brake assist, rear cross traffic assist, lane change assist, lane keeping assist, intersection assist, cruise control, virtual bumpers, etc. These features may monitor or track the positions of various objects (which may be referred to as "targets") around the vehicle, and may narrow the selection among multiple targets under consideration to the targets to be tracked for the driver assistance system. This narrowing of the selection among detected targets is referred to as "downselection." Summary of the invention
[0003] The vehicle may include numerous devices for performing the operation of various driver assistance systems or features. Driver assistance features typically rely on sensing and tracking objects around the vehicle. Therefore, programming and computing resources may be dedicated to performing the selection process of the corresponding driver assistance features according to specific criteria for target selection of the corresponding driver assistance features. As described herein, the selection of the corresponding multiple driver assistance features may be performed jointly, for example, via a single process and / or module, thereby saving the processing and / or other computing resources of the vehicle and providing a common framework for efficiently modifying or adding new driver assistance features. In an example, a computer in a vehicle may receive input data, the input data including data from a sensor (e.g., camera, radar, lidar, ultrasonic, etc.) and / or from another computer that has processed such data. Then, when identifying the active driver assistance features and obtaining the target selection parameters of the corresponding active features, the vehicle computer may perform target selection for each of the target features. Target selection (i.e., selecting a target data set for the corresponding driver assistance feature) may include spatial filtering, state filtering, and sorting of the targets to select a target set for each of the corresponding driver assistance features.
[0004] In one or more implementations, a system may include a computer, the computer including a processor and a memory. The memory may store instructions executable by the processor such that the computer is programmed to: identify a corresponding driver assistance feature currently active in a vehicle; obtain parameters for determining a corresponding set of target objects for the driver assistance feature; apply the parameters of a first one of the driver assistance features to output a first target set of one or more targets selected from a candidate object set for the first one of the driver assistance features; and then apply the parameters of a second one of the driver assistance features to output a second target set of one or more targets selected from the candidate object set for the second one of the driver assistance features.
[0005] Another implementation may include instructions for applying parameters of a third one of the driver assistance features to output a third target set of one or more targets selected from the candidate object set for the first one of the driver assistance features.
[0006] In an implementation, the parameters may include one or more of a spatial filter, a state filter, or an ordering filter.
[0007] In further implementations, the parameters may include a spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.
[0008] In another implementation, the parameters may include a state filter, wherein the state filter defines the object type and motion state for any of the driver assistance features.
[0009] In yet another implementation, the parameters may include a ranking filter, wherein the ranking filter defines at least an intersection time or distance for any of the driver assistance features.
[0010] In another implementation, the parameters may include one or more of: (a) a first spatial filter for a first one of the driver assistance features and a second spatial filter for a second one of the driver assistance features, (b) a first state filter for the first one of the driver assistance features and a second state filter for the second one of the driver assistance features, or (c) a first ranking filter for the first one of the driver assistance features and a second ranking filter for the second one of the driver assistance features.
[0011] Implementations may also include instructions for operating a first one of the driver assistance features based at least in part on the first set of objectives.
[0012] Another implementation may also include a second computer having a second processor and a second memory storing instructions executable by the second processor such that the second computer is programmed to receive the first set of goals and operate a first one of the driver assistance features based at least in part on the first set of goals.
[0013] In further implementations, the driver assistance features may include controlling at least one of vehicle speed, steering, or a human-machine interface.
[0014] One or more implementations of the method may include: identifying a corresponding driver assistance feature currently active in a vehicle; obtaining parameters for determining a corresponding set of target objects for the driver assistance feature; applying the parameters of a first one of the driver assistance features to output a first target set of one or more targets selected from a candidate object set for the first one of the driver assistance features; and then applying the parameters of a second one of the driver assistance features to output a second target set of one or more targets selected from the candidate object set for the second one of the driver assistance features.
[0015] Another implementation may also include applying parameters of a third one of the driver assistance features to output a third target set of one or more targets selected from the candidate object set for the first one of the driver assistance features.
[0016] In an implementation of the method, the parameters may include one or more of a spatial filter, a state filter, or an ordering filter.
[0017] In further implementations of the method, the parameters may include a spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.
[0018] In another implementation of the method, the parameters may include a state filter, wherein the state filter defines the object type and motion state for any of the driver assistance features.
[0019] In yet another implementation of the method, the parameters may include a ranking filter, wherein the ranking filter defines at least an intersection time or a distance for any of the driver assistance features.
[0020] In another implementation of the method, the parameters may include one or more of: (a) a first spatial filter for a first one of the driver assistance features and a second spatial filter for a second one of the driver assistance features, (b) a first state filter for the first one of the driver assistance features and a second state filter for the second one of the driver assistance features, or (c) a first ranking filter for the first one of the driver assistance features and a second ranking filter for the second one of the driver assistance features.
[0021] Implementations may also include operating a first one of the driver assistance features based at least in part on the first set of objectives.
[0022] Another implementation may also include transmitting the first set of goals from the first computer to the second computer via the vehicle network, the second computer operating a first of the driver assistance features based at least in part on the first set of goals.
[0023] In an implementation of the method, the driver assistance feature may include controlling at least one of vehicle speed, steering, or a human-machine interface. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 is an illustration of an example system for providing general purpose target selection for a vehicle.
[0025] Figure 2 is a block diagram of a general selection module for a vehicle.
[0026] Figure 3 is an example flow chart for target selection from the Selection module.
[0027] Figure 4A is an example diagram of the arc area space specification.
[0028] Figure 4B is an example diagram of the circular region space specification.
[0029] Figure 5A is an example diagram of the spatial specification of a rectangular region.
[0030] Figure 5B is another example diagram of a rectangular area space specification.
[0031] Specific implementation method
[0032] refer to Figure 1 , vehicle system 100 may include a vehicle 102 having various components operating in an environment.
[0033] The vehicle 102 is a component or set of parts used to perform a function or set of operations in the vehicle 102, including hardware components and typically also software and / or programming. The vehicle subsystems 106 typically include braking systems, propulsion systems, and steering systems, as well as other subsystems, including but not limited to body control systems, climate control systems, lighting systems, and human-machine interface (HMI) systems that may include head-mounted displays (HUDs), instrument panels, and infotainment systems. The propulsion subsystem converts energy into rotation of the wheels of the vehicle 102 to propel the vehicle 102 forward and / or backward. The braking subsystem can slow down and / or stop the movement of the vehicle 102. The steering subsystem can control the yaw of the vehicle 102 as it moves, such as turning left and right, and maintaining a straight path.
[0034] The computer including one or more vehicle computers 104 discussed herein (e.g., one or more electronic control units (ECUs)) and the central computer 120 includes a corresponding processor and memory. The computer memory may include one or more forms of computer-readable media and store instructions that can be executed by the processor for performing various operations (including operations as disclosed herein). For example, the computer may be a general-purpose computer with a processor and memory as described above, and / or an ECU, controller, etc. for a specific function or set of functions, and / or a dedicated electronic circuit including an ASIC manufactured for a specific operation, such as an ASIC for processing sensor data and / or transmitting sensor data. In another example, the computer may include an FPGA (field programmable gate array), which is an integrated circuit manufactured to be configurable by a user. Typically, hardware description languages such as VHDL (very high speed integrated circuit hardware description language) are used in electronic design automation to describe digital and mixed signal systems such as FPGAs and ASICs. For example, an ASIC is manufactured based on VHDL programming provided before manufacturing, and the logic components inside the FPGA can be configured based on, for example, VHDL programming stored in a memory electrically connected to the FPGA circuit. In some examples, a combination of a processor, an ASIC, and / or an FPGA circuit may be included in the computer.
[0035] The computer memory may be of any suitable type, for example, EEPROM, EPROM, ROM, Flash, hard drive, solid state drive, server, or any volatile or non-volatile medium. The memory may store data, such as the memory of an ECU. The memory may be a device separate from the computer, and the computer may retrieve information stored in the memory, for example, one or more computers 104 may obtain the data to be stored via a vehicle network 112 in the vehicle 102 (e.g., via an Ethernet bus, a CAN bus, a wireless network, etc.). Alternatively or in addition, the memory may be part of the computer 104, i.e., as a memory of the computer 104 or firmware of a programmable chip.
[0036] One or more vehicle computers 104 (e.g., one or more ECUs) may be included in a vehicle 102, which may be any suitable type of ground vehicle 102, such as a passenger car or commercial vehicle, such as a sedan, coupe, truck, sport utility vehicle, crossover, van, minivan, etc. As part of a driver assistance system or advanced driver assistance system (e.g., an ADAS system), the vehicle computer 104 may include programming to operate one or more of braking, propulsion (e.g., by controlling one or more of an internal combustion engine (ICE), electric motor, hybrid ICE / electric propulsion, etc. to control the acceleration of the vehicle 102 and control the transmission of power therefrom), steering, climate control, interior and / or exterior lights, etc. of the vehicle 102 and determine whether and when the computer controls such operations as compared to a human operator, such as by sending vehicle data over a vehicle network 112. Additionally, the vehicle computer 104 may be programmed to determine whether and when a human operator controls such operations.
[0037] The vehicle computer 104 may include or be communicatively coupled to (e.g., via a vehicle network 112, such as a communication bus as further described below) more than one processor, for example, included in sensors 108, electronic controller units (ECUs), etc. included in the vehicle 102 for monitoring and / or controlling various vehicle components, such as a powertrain controller, a brake controller, a steering controller, etc. The computer is typically arranged to communicate on the vehicle 102 communication network, which may include a bus in the vehicle 102, such as a controller area network (CAN), etc., and / or other wired and / or wireless mechanisms. Alternatively or additionally, in the case where the computer actually includes multiple devices, the vehicle network 112 can be used for communication between devices represented as computers in this disclosure.
[0038] The vehicle network 112 is a network via which messages can be exchanged between various devices in the vehicle 102. The vehicle computer 104 can generally be programmed to send messages to and / or receive messages from other devices in the vehicle 102 (e.g., any or all of ECUs, sensors, cameras, actuators, components, communication modules, human-machine interfaces HMIs, etc.) via the vehicle network 112. Additionally or alternatively, messages can be exchanged between various such other devices in the vehicle 102 via the vehicle network 112. In the case where the vehicle computer 104 includes multiple devices, the vehicle network 112 can be used for communication between devices represented as computers in the present disclosure. In some implementations, the vehicle network 112 can be a network in which messages are communicated via a vehicle 102 communication bus. For example, the vehicle network 112 may include a CAN in which messages are communicated via a controller area network (CAN) bus, or a LIN in which messages are communicated via a local interconnect network (LIN) bus. In some implementations, the vehicle network 112 may include a network in which messages are communicated using other wired communication technologies and / or wireless communication technologies (e.g., Ethernet, Wi-Fi, Bluetooth, ultra-wideband (UWB), etc.). In some implementations, other examples of protocols that may be used to communicate over the vehicle network 112 include, but are not limited to, Media Oriented Systems Transport (MOST), Time Triggered Protocol TTP, and FlexRay. In some implementations, the vehicle network 112 may represent a combination of multiple networks that may be of different types that support communication between devices in the vehicle 102. For example, the vehicle network 112 may include: a CAN, in which some devices in the vehicle 102 communicate via a CAN bus; and a wired or wireless local area network, in which some devices in the vehicle 102 communicate according to an Ethernet or WI-FI communication protocol.
[0039] The vehicle computer 104 may communicate via a wide area network (not shown), such as with servers, other vehicles, infrastructure elements, and the like. In addition, the various computing devices discussed herein may communicate directly with each other, such as via direct radio frequency communication according to protocols such as Bluetooth. For example, the vehicle 102 may include a communication module 110 for providing communication with devices and / or networks not included as part of the vehicle 102 (e.g., such as global positioning satellites (GPS, not shown) and wide area networks). The communication module 110 may provide various communications, such as vehicle-to-vehicle (V2V), vehicle-to-infrastructure or the outside world (V2X), or vehicle-to-the outside world (including cellular communication (C-V2X) wireless communication cellular, dedicated short-range communication (DSRC), etc.), typically providing communication to another vehicle or infrastructure via direct radio frequency communication, and / or typically receiving sensor data or enhanced data from other sources via a wide area network. The communication module 110 may include one or more mechanisms by which the vehicle computer 104 may communicate, including any desired combination of wireless (e.g., cellular, wireless, satellite, microwave, and radio frequency) communication mechanisms and any desired network topology (or multiple topologies when multiple communication mechanisms are utilized). Exemplary communications provided via the module may include cellular, Bluetooth, IEEE 802.11, DSRC, Cellular V2X (CV2X), and the like.
[0040] The vehicle 102 according to the present disclosure includes a plurality of sensors 108 that may support driver assistance (e.g., ADAS) features 107. For example, the sensors 108 may include, but are not limited to, one or more wheel speed sensors, steering angle sensors, GPS sensors, forward cameras, side cameras, rear cameras, ultrasonic parking assist sensors, short-range radars, mid-range radars, lidars, accelerometers, inertial sensors, yaw rate sensors, and the like.
[0041] The vehicle 102 includes a driver assistance feature 107. In the context of the present disclosure, a driver assistance feature 107 means a vehicle system or subsystem that supports and / or controls the operation or function of the vehicle (e.g., speed control, steering control, output via a vehicle human-machine interface, etc.). The feature 107 may be implemented in and / or may include a vehicle computer 104 (such as an ECU, etc.). Example driver assistance features 107 include a parking assist system, a lane keeping system, a lane centering system, a lane changing system, a brake assist system, a rear cross traffic assist system, a valet parking system, a cruise control system, a virtual bumper system, a back-up assist system, etc. In addition, as used herein, a driver assistance feature 107 includes systems that assist a driver as well as autonomous driving systems based at least in part on sensed target objects. As will be appreciated, the driver assistance features 107 may be implemented with one or more ECUs in the vehicle 102 and include ECUs programmed to receive sensor and / or target data, process sensor and / or target data, and output messages and / or data to vehicle subsystems 106 via the vehicle network 112 to control actuation of the subsystems 106 (e.g., control steering, haptics, displays, braking, propulsion, etc.).
[0042] The vehicle 102 according to the present disclosure also includes a selection module 105, which can be used to perform target selection for the operation of multiple driver assistance features 107 (i.e., "subscribers") in a general manner. The selection module 105 is typically implemented in an ECU or the like, and therefore can include hardware components (i.e., an ECU or processor and memory) as well as software and / or programming to perform the operations discussed herein. The selection module 105 is connected to the vehicle network 112 to receive data from sensors 108 and / or driver assistance features 107, etc., and provides or "publishes" target data (such as a target set 260) to the driver assistance features 107 via the vehicle network 112. The target set 260 includes or identifies one or more target objects 240 to be tracked or monitored for a given driver assistance feature 107.
[0043] refer to Figure 2 , an example schematic diagram of an example target selection system 200 for a vehicle 102 is shown.
[0044] An example target selection system 200 according to the present disclosure (i.e., it provides selection for a plurality of driver assistance features 107) includes a selection module 105 that receives a target 240 and a selection parameter 220 based on input data (or input) 210. By applying the selection parameter 220 to the input data 210, the selection module 105 outputs a target set 260, which can then be provided to a vehicle computer 104, such as an ECU or the like, which implements a corresponding driver assistance feature 107, i.e., the selection module 105 can output a corresponding target set 260, each target set including or identifying one or more targets 240 for a driver assistance feature 107 and a vehicle 102, the driver assistance feature 107 being one of a plurality of driver assistance features 107 that are currently active.
[0045] The selection parameters 220 of the driver assistance feature 107 may specify one or more filters, such as a spatial filter 270, a state filter 280, a sorting filter 290, and / or another one or more suitable filters. The selection parameters 220 may be specified or determined based on design considerations and / or empirical testing. For example, the selection parameters 220 that specify a range or distance from another vehicle for a given driver assistance feature 107 may be determined based on empirical testing of the driver assistance feature 107. For example, if the driver assistance feature 107 is a cruise control feature, the range or distance may be specified based on testing to determine the appropriate range or distance of the target 240 (e.g., another vehicle) at various speeds of any one of the vehicles 102. The determined ranges or distances at various speeds may then be stored as the selection parameters 220.
[0046] In the context of the present disclosure, a "target" is an object identified in the environment surrounding the vehicle, and may also be referred to as a "target object". The object may be detected via data from one or more vehicle sensors 108 and / or may be identified from map data indicating the presence of an object at a certain location (e.g., a road sign, a building, etc.). For example, currently existing object detection or object tracking systems that may be included in the vehicle 102 may use vehicle sensor data to output a so-called object "track", i.e., a data set about identified objects, sometimes referred to as "state" data, typically including the type or category of the object (e.g., moving or not moving, a car, a bicycle, a road sign, etc.), the location of the object at a specified time, the speed of the object (i.e., a vector of speed in a specified direction of travel), the confidence of the object detection or tracking system in the object data, etc. In addition, the likelihood of the object or target 240 interacting with the host vehicle 102 may also be evaluated, and this may also be included in the state data of the object. As will be appreciated, data from the respective sensors 108 may be transmitted or broadcast over the vehicle network 112 at respective specified intervals or time steps (e.g., at the time steps used on the CAN bus) and may be used as input 210 by the vehicle computer 104 (e.g., the selection module 105) to update the published selected targets 240 over time based on the latest input data. Thus, the targets 240 may include a variety of objects, such as another vehicle, a road sign, a traffic obstacle, etc., and may be included in a list or collection of data maintained in, for example, the vehicle computer 104, based on object location, object type, etc.
[0047] Table 1 below provides a non-limiting example of data that may be provided for an object identified as target 240, such as by a suitable tracking or object detection system as is currently known that may be implemented in vehicle 102 to output object data and data for tracking the object over time.
[0048] Table 1
[0049]
[0050]
[0051] The selection parameters 220 may be stored, for example, in a memory of the module 105, and may specify, for each of the plurality of driver assistance features 107 that may require data about the target 240, criteria for target selection of the respective driver assistance feature 107. That is, respective parameters 220 may be defined for each of the plurality of driver assistance features 107 to provide the target data set 260 for the respective driver assistance feature 107.
[0052] The selection parameters 220 of the specified driver assistance feature 107 are sets of data values, i.e., criteria or thresholds, or values for evaluating the inputs 210. For example, the adaptive cruise control driver assistance feature 107 may include selection parameters 220 for selecting targets 240 for the target set 260 based on the location of the targets 240 being within an arcuate area and / or along the longitudinal axis of the host vehicle 102 or within a certain distance (e.g., location) of the longitudinal axis of the host vehicle 102 and within the range of the host vehicle 102. The lane change assist feature 107 may also include selection parameters 220 to identify targets in a rectangular area or adjacent lanes of the host vehicle 102 in addition to the leading and trailing vehicles, as well as speed, heading, etc.
[0053] The selection parameters 220 may be stored, for example, in non-volatile memory of the selection module 105 and accessed when the driver assistance feature 107 receives target data transmitted from the selection module 105. Figure 3 An example process for applying selection parameters 220 to input data (input) 210 to select a set of targets 260 from possible targets 240 is shown.
[0054] Below about Figure 3 Table 2, discussed further, shows an example of selection parameters 220 for corresponding driver assistance features 107 that may be stored or maintained in the selection module 105 (e.g., in a memory of the computer 104). Generally, a set of selection parameters 220 for a driver assistance feature 107 is a record or set of data fields that includes data for:
[0055] An identifier of a driver assistance feature 107 (eg, lane keeping, lane centering, adaptive control, etc.);
[0056] An identifier for identifying the target 240 for inclusion in one or more corresponding filters (such as filters 270, 280, 290) in the target set 260 for the feature 107;
[0057] = criteria or thresholds for applying each of the identified filters, i.e., criteria or thresholds specifying values of the various input data 210 according to which a target 240 will pass or fail the filter, i.e., be included or not included in the target set 260; and
[0058] • The desired or required number of targets for the identified features 107 to be used through filters for use, for example, by the ranking filter 290 described further below.
[0059] It should be noted that the selection parameter 220 may be dependent on another parameter in the set of parameters 220 of the feature 107. For example, the distance or range parameter 220 may be dependent on one or more inputs 210 in addition to the input 210 that is compared to the range parameter 220. In one such example, the range parameter of the forward target 240 in the adaptive cruise control feature 107 may be dependent on the speed input 210 of the target 240, e.g., for a lower target 240 speed, the range parameter may be less or smaller, and at a greater or higher target 240 speed, the range parameter may be higher or larger. Thus, the input 210 providing the range of the target 240 will be compared to the range parameter 220 determined at least in part based on the target 240 speed.
[0060] In some implementations, for an identified feature 107, different sets of filters may be identified for different subsets of targets 240 to be selected for the feature 107. As just one example, an adaptive cruise control feature may need to identify a first number of targets in front of the self-aware vehicle 102 and a second number of targets behind the self-aware vehicle 102. Thus, the selection parameters for the feature 107 may include both a first number and a second number of corresponding subsets of targets 240 to include the set of targets 260 to be selected for the feature 107, and corresponding first and second sets of filters for identifying targets 240 in the first and second subsets of targets 240, respectively, to include the set of targets 260 for the feature 107.
[0061] A spatial filter 270 may be defined for a region of interest for a given driver assistance feature 107. Thus, the spatial filter 270 may identify targets of interest 240 of the driver assistance feature 107, i.e., targets within a region of interest (i.e., a region or space of interest), and may exclude targets 240 that do not fall within the defined region. That is, only targets 240 within the defined region will be included in the target set 260 for the driver assistance feature 107. For example, the spatial filtering criteria data may include data for defining an area (such as a defined rectangular area, a circular area, an arc area, a polygon, and / or a combination thereof) where targets of interest near the vehicle 102 are located. The area may be defined in a coordinate system defined in reference to or relative to the host vehicle. The coordinate system may be two-dimensional (2D) because both 2D and three-dimensional (3D) target data may be filtered based on a 2D region or position specification.
[0062] The state filter 280 removes targets based on the state of the targets 240. In this context, the "state" of an object means one or more current physical properties of the object. For example, the state of an object may specify whether the object is moving or not moving (or static or dynamic), its size (length and width), its range (distance) from the subject, range change (oncoming, receding), and / or may classify the object according to object type (i.e., object categories such as passenger cars, motorcycles, bicycles, road signs, etc.). The selection module 105 may use the state filter to select target objects for tracking based on the current driver assistance feature 107 using target tracking. For example, a cruise control operation may track dynamic vehicles, an emergency brake operation may track all objects (static and dynamic), a virtual bumper operation may track static objects, a lane keeping operation may track lane lines, and so on.
[0063] Typically after applying the spatial filter 270 and the state filter 280, a ranking filter 290 may be applied to identify the targets 240 that are considered most relevant to the driver assistance feature 107 based on one or more specified criteria. In an example, the ranking filter 290 may rank the targets 240 based on range, heading, speed, etc. from the host vehicle 102, wherein the filter 290 selects a specified top few (e.g., three or four) targets 240 that are closest to a specified selection parameter 220, such as a range parameter 220, a speed parameter 220, etc.
[0064] When selecting targets 240 from input data 210 at a time step, the selection module 105 may provide or publish the selected target data, ie, a target set 260 including various data as described above, to one or more features 107 based on selection parameters 220 .
[0065] Figure 3 An example flow chart of a process 300 is shown in which the selection module 105 provides target selection for multiple targets for multiple driver assistance features 107. The process 300 is further described with respect to Example A and Example B, which provide example illustrations of performing the process 300. Example A shows the target 240 selection for the adaptive cruise control feature 107. Example B shows the target 240 selection for the parking assist feature 107.
[0066] Process 300 may begin when one or more conditions are met, such as vehicle 102 being powered on, one or more driver assistance features 107 being activated, etc.
[0067] In a first block 305, the selection module 105 obtains the selection parameters 220. For example, the selection module 105 may determine the set of active driver assistance features 107, for example, based on data available on the vehicle network 112. The selection module 105 may then retrieve the corresponding selection parameters 220 for the active driver assistance features 107, for example, from a non-volatile memory. For example A and example B, respectively, the parameters 220 may be as follows:
[0068] Table 2
[0069]
[0070] Next, in block 310, the selection module 105 determines the identified targets 240 from the inputs 210 available on the vehicle network 112 that may describe the targets 240 (e.g., data from the vehicle sensors 108 and / or a suitable object tracking system such as described above), which may be referred to as candidate targets 240. In the present example, assume that 264 targets 240 are initially identified.
[0071] Next, in box 315, the selection module 105 applies the selection parameters obtained in box 305 to the goals 240 identified in box 310, i.e., by evaluating (e.g., comparing) the input 210 of the goals 240 with the selection parameters 220, as described above. Thus, as explained above, a goal set 260 may be identified, i.e., a goal set 260 that includes a set of goals 240 that satisfy the selection parameters 220 for the active driver assistance features 107 and that may be provided to more than one of the driver assistance features 107.
[0072] In this example A, based on the arc area in front of the host vehicle 102 (such as Figure 4A 4. The spatial filtering of the target dataset 260 (shown generally by the arc region 410 in FIG. 1 ) reduces the 264 initial targets 240 to a set of 22 targets 240, for example, with a radius of 80 m (meters) and an angle of 45° with an origin at the front center of the host vehicle 102. Then, applying the state filter of Example A to restrict the selected targets 240 to objects of the dynamic (moving) "vehicle" type with a detection probability greater than 70% reduces the set of 22 targets output from the spatial filter to a set of 9 targets 240. In addition, applying the sorting filter 290 to select the four targets 240 with the lowest intersection time with the host vehicle 102 results in four targets 240 for the selected target dataset 260.
[0073] In example B, a rectangular area defined by the length of the wheelbase of the vehicle 102 and having a width of 30 m to the side of the host vehicle 102 (such as defined by Figure 5B530 in the figure) reduces the 264 initial targets 240 to a set of 27 targets 240. Then, applying the state filter 280 in Example B for static (non-moving) targets with any object type classification with an accurate detection probability of 70% or higher reduces the set of 27 targets output from the spatial filter 270 to 9 targets 240. In addition, applying the sorting filter 290 that selects the two targets 240 with the shortest (or closest) distance to the host vehicle 102 results in two targets 240 for the selected target data set 260.
[0074] Next, in decision block 320, computer 104 determines whether there are still additional features 107 to be processed. In this example, example A may represent processing the first feature 107, and then in block 320, after processing example A, computer 104 may determine that the second feature 107 remains to be processed, and processing will proceed as described above for example B. If there are still additional features to be processed, process 300 returns to block 315. Otherwise, process 300 proceeds to block 325.
[0075] In block 325, for the corresponding features 107 identified in block 305, target data sets 260 are output via the vehicle network 112 and / or by the computer 104 for use with the features 107 implemented in the computer 104. For example, as in example A, a first target data set 260 identifying the targets 240 of the first feature 107 may be output, and as in example B, a second target data set 260 identifying the targets 240 of the second feature 107 may be output. It should be appreciated that in many instances of the process 300, more than two features 107 may be processed.
[0076] Next, in block 330 , the active driver assist feature 107 is operated according to the corresponding goal 240 in the goal set 260 determined in block 315 , such as according to programming implemented in one or more vehicle computers 104 .
[0077] After block 330, in decision block 335, the selection module 105 determines whether the process 300 is to continue. For example, the vehicle 102 may be powered off, placed in "park" mode, or in some other state to trigger an interruption of the process 300. If the process 300 is to continue, the process 300 returns to block 305 to retrieve or update the parameters 220. Otherwise, the process 300 ends after block 335.
[0078] Figure 4AAn example diagram of an arc region 410 for spatial filtering relative to a vehicle 102 is shown. An arc region means a portion of a circular region defined by a radius fixed at a proximal end moving through an arc at a distal end. In this example, the arc region 410 may be defined by an origin at the front center of the vehicle 102, a radius R, and a sweep angle α. Other origins, radii, directions, and angles may be used, and multiple arcs or other shaped regions may be combined to define a base region for spatial filtering to select targets without departing from the scope of the present disclosure.
[0079] Figure 4B An example diagram of a circular region 420 for spatial filtering relative to the vehicle 102 is shown. The circular region 420 may be defined by an origin at the center of the vehicle 102 and a radius R. For example, Figure 3 In the implementation of the parking assist feature 107 of Example B in FIG. 4 , the spatial filter may select objects 240 on all sides of the vehicle instead of just on the right side using the circular area 420. Other origins and radii may be used, and multiple circular or other shaped areas may be combined to define a base area for spatial filtering to select objects without departing from the scope of the present disclosure.
[0080] Figure 5A An example diagram of rectangular regions 510 and 520 for spatial filtering relative to vehicle 102 is shown. The first rectangular region 510 may be defined by an origin at the center of vehicle 102, a width -W, and a depth D. The second rectangular region 520 may be defined by an origin at the center of vehicle 102, a width +W, and a depth D. For example, in Figure 3 In the implementation of the cruise control feature 107 of Example A in FIG. 1 , the spatial filter may use rectangular areas 510 and 520 to select the 2WxD area in front of the vehicle rather than just the target 240 in the arc area. Other origins, widths, depths, etc. may be used without departing from the scope of the present disclosure, and multiple rectangular or other shaped areas may be combined to define a base area for spatial filtering to select targets.
[0081] Figure 5B An example diagram of a rectangular region 530 for spatial filtering relative to the vehicle 102 is shown. The rectangular region 530 may be defined by an origin, a width + W, and a depth + D, which are disposed on a line parallel to the right side of the vehicle 102 and located -0.5*D behind the longitudinal center of the vehicle 102. Other origins, depths, widths, etc. may be used without departing from the scope of the present disclosure, and multiple rectangular or other shaped regions may be combined to define a base region for spatial filtering to select targets.
[0082] The base area shapes for spatial filtering are not limited to these examples, and any other suitable shapes (triangles, trapezoids, ellipses, lanes, etc.) or combinations thereof that may be desired and described in the selection parameters 220 may be used for use in the selection process.
[0083] Although the above is disclosed with respect to certain implementations, various other implementations are possible without departing from this disclosure.
[0084] The use of "in response to," "based on," and "upon determining..." herein indicates a causal relationship, not just a temporal relationship. Furthermore, unless otherwise expressly indicated herein, all terms used in the claims are intended to be given their ordinary and customary meanings as understood by those skilled in the art. Unless a claim recites an express limitation to the contrary, use of singular articles such as "a," "the," or descriptions or statements of "an" element should be interpreted as reciting one or more of the indicated elements.
[0085] In the accompanying drawings, the same or similar reference numerals indicate the same or similar elements. In addition, some or all of these elements may be changed. With respect to the media, processes, systems, methods, etc. described herein, it should be understood that although the steps of such processes, etc. have been described as occurring in a particular order, unless otherwise specified or as can be seen from the context, such processes may be practiced in the case where the steps are performed in an order other than the order described herein. Similarly, it should also be understood that certain steps may be performed simultaneously, other steps may be added, or certain steps described herein may be omitted. In other words, the description of the process herein is provided for the purpose of illustrating certain implementations and should never be construed as limiting the present disclosure.
[0086] The present disclosure has been described in an illustrative manner, and it is to be understood that the terminology which has been used is intended to be in the nature of words of description rather than limitation. Many modifications and variations of the present disclosure are possible in light of the above teachings, and the present disclosure may be practiced in other ways than specifically described.
[0087] According to the present invention, a system having a computer is provided, the computer including a processor and a memory, the memory storing instructions executable by the processor, so that the computer is programmed to: identify a corresponding driver assistance feature currently active in a vehicle; obtain parameters of a corresponding set of target objects for determining the driver assistance feature; apply the parameters of a first one of the driver assistance features to output a first target set of one or more targets selected from a candidate object set for the first one of the driver assistance features; and then apply the parameters of a second one of the driver assistance features to output a second target set of one or more targets selected from the candidate object set for the second one of the driver assistance features.
[0088] According to an embodiment, the invention also features instructions for applying parameters of a third one of the driver assist features to output a third target set of one or more targets selected from the candidate set for the first one of the driver assist features.
[0089] According to an embodiment, the parameters include one or more of a spatial filter, a state filter or an ordering filter.
[0090] According to an embodiment, the parameters include a spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.
[0091] According to an embodiment, the parameters include a state filter, wherein the state filter defines the object type and motion state for any of the driver assistance features.
[0092] According to an embodiment, the parameters include a ranking filter, wherein the ranking filter defines at least an intersection time or a distance for any of the driver assistance features.
[0093] According to an embodiment, the parameters include one or more of: (a) a first spatial filter for a first one of the driver assistance features and a second spatial filter for a second one of the driver assistance features, (b) a first state filter for the first one of the driver assistance features and a second state filter for the second one of the driver assistance features, or (c) a first ranking filter for the first one of the driver assistance features and a second ranking filter for the second one of the driver assistance features.
[0094] According to an embodiment, the invention also features instructions for operating a first one of the driver assistance features based at least in part on the first set of objectives.
[0095] According to an embodiment, the present invention is also characterized by a second computer, which includes a second processor and a second memory, and the second memory stores instructions executable by the second processor so as to receive a first set of goals and operate a first one of the driver assistance features at least partially based on the first set of goals.
[0096] According to an embodiment, the driver assistance feature includes controlling at least one of vehicle speed, steering, or a human-machine interface.
[0097] According to the present invention, a method includes: identifying a corresponding driver assistance feature currently active in a vehicle; obtaining parameters for determining a corresponding set of target objects for the driver assistance feature; applying the parameters of a first one of the driver assistance features to output a first target set of one or more targets selected from a candidate object set for the first one of the driver assistance features; and then applying the parameters of a second one of the driver assistance features to output a second target set of one or more targets selected from the candidate object set for the second one of the driver assistance features.
[0098] In one aspect of the invention, the method includes applying parameters of a third one of the driver assistance features to output a third target set of one or more targets selected from the candidate object set for the first one of the driver assistance features.
[0099] In one aspect of the invention, the parameters include one or more of a spatial filter, a state filter, or an ordering filter.
[0100] In one aspect of the invention, the parameters include a spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.
[0101] In one aspect of the invention, the parameters include a state filter, wherein the state filter defines the object type and motion state for any of the driver assistance features.
[0102] In one aspect of the invention, the parameters include a ranking filter, wherein the ranking filter defines at least an intersection time or distance for any of the driver assistance features.
[0103] In one aspect of the invention, the parameters include one or more of: (a) a first spatial filter for a first one of the driver assistance features and a second spatial filter for a second one of the driver assistance features, (b) a first state filter for a first one of the driver assistance features and a second state filter for a second one of the driver assistance features, or (c) a first ranking filter for a first one of the driver assistance features and a second ranking filter for a second one of the driver assistance features.
[0104] In one aspect of the invention, the method includes operating a first one of the driver assistance features based at least in part on a first set of objectives.
[0105] In one aspect of the invention, the method includes transmitting a first set of objectives from a first computer to a second computer via a vehicle network, the second computer operating a first one of the driver assistance features based at least in part on the first set of objectives.
[0106] In one aspect of the invention, the driver assistance feature includes controlling at least one of vehicle speed, steering, or a human machine interface.
Claims
1. A method comprising: identifying corresponding driver assistance features currently active in the vehicle; obtaining parameters for determining a corresponding set of target objects for the driver assistance feature; applying the parameters of a first one of the driver assistance features to output a first target set of one or more targets selected from a candidate set of objects for the first one of the driver assistance features; as well as The parameters of a second one of the driver assistance features are then applied to output a second target set of one or more targets selected from the set of candidate objects for the second one of the driver assistance features. 2 . The method of claim 1 , further comprising applying the parameters of a third one of the driver assistance features to output a third target set of one or more targets selected from the candidate object set for the first one of the driver assistance features.
3. The method of claim 1, wherein the parameters include one or more of a spatial filter, a state filter, or an ordering filter. 4 . The method of claim 3 , wherein the parameters include the spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features. 5 . The method of claim 3 , wherein the parameters include the state filter, wherein the state filter defines an object type and a motion state for any of the driver assistance features. 6 . The method of claim 3 , wherein the parameters include the ranking filter, wherein the ranking filter defines at least an intersection time or distance for any of the driver assistance features.
7. A method as claimed in claim 3, wherein the parameters include one or more of the following: (a) a first spatial filter for the first one of the driver assistance features and a second spatial filter for the second one of the driver assistance features, (b) a first state filter for the first one of the driver assistance features and a second state filter for the second one of the driver assistance features, or (c) a first ranking filter for the first one of the driver assistance features and a second ranking filter for the second one of the driver assistance features. 8 . The method of claim 1 , further comprising operating the first of the driver assistance features based at least in part on the first set of objectives.
9. The method of claim 1 further comprising transmitting the first set of goals from a first computer to a second computer via a vehicle network, the second computer operating the first of the driver assistance features based at least in part on the first set of goals.
10. The method of claim 1, wherein the driver assistance feature includes controlling at least one of vehicle speed, steering, or a human-machine interface.
11. A computer, comprising a processor and a memory, wherein the memory stores instructions, and the instructions are executable by the processor, so that the computer is programmed to perform the method of any one of claims 1 to 8 or 10.
12. A vehicle comprising the computer according to claim 11.