TARGET PRE-SELECTION
Patent Information
- Application Number
- DE102024117783
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-29
- Filing Date
- 2024-06-24
- Publication Date
- 2025-01-02
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD OF TECHNOLOGYThis disclosure relates to driver assistance systems in vehicles.GENERAL STATE OF THE ARTA vehicle may include driver assistance features such as advanced driver assistance systems (ADAS) or driver assist technology (DAT). Examples of driver assistance features include backup assist, parking assist, blind spot assist, front emergency brake assist, rear cross traffic assist, lane change assist, lane keeping assist, intersection assist, cruise control, virtual bumper, and the like. These features may monitor or track a position of various objects around the vehicle, which may be referred to as "targets", and may limit a selection field from a plurality of considered targets to those to be tracked for the driver assistance system. This limitation of the selection field from the detected targets is referred to as "preselection".SUMMARYA vehicle may include numerous devices for performing operations of various driver assistance systems or features. Driver assistance features are typically based on detecting and tracking objects around a vehicle. Programming and computing resources may thus be dedicated to performing preselection processes for respective driver assistance features according to specific criteria for the target selection for a respective driver assistance feature. As described herein, preselection for respective multiple driver assistance features may be performed jointly, e.g., via a single process and / or module, thereby saving processing and / or other computing resources of the vehicle and providing a common framework for efficiently modifying or adding new driver assistance features. In examples, a computer in a vehicle may receive input data including data from sensors (e.g., cameras, RADAR, LiDAR, ultrasound, etc.) and / or from another computer that processed such data. Then, after identifying active driver assistance features and obtaining target selection parameters for the respective active features, the vehicle computer may perform target preselection for each of the target features. Target preselection, i.e. selecting target datasets for respective driver assistance features, may include spatial filtering, state filtering and sorting of targets to select a target dataset for each of the respective driver assistance features.In one or more implementations, a system may include a computer having a processor and a memory. The memory may store instructions executable by the processor such that the computer is programmed to: identify respective driver assistance features currently active in a vehicle; obtain parameters for determining corresponding sets of target objects for the driver assistance features; 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 set of candidate objects 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 set of candidate objects for the second one of the driver assistance features.Another implementation may include instructions to apply 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 set of candidate objects for the first one of the driver assistance features.In one implementation, the parameters may include one or more of a spatial filter, a state filter, or a sorting filter.In another implementation, the parameters may include the spatial filter, where the spatial filter defines a region of interest for any of the driver assistance features.In another implementation, the parameters may include the state filter, where the state filter defines an object type and a motion state for any of the driver assistance features.In yet another implementation, the parameters may include the sort filter, wherein the sort filter defines at least one of a time to meet or a distance for any of the driver assistance features.In another implementation, the parameters may include one or more of (a) a first spatial filter for the first of the driver assistance features and a second spatial filter for the second of the driver assistance features, (b) a first state filter for the first of the driver assistance features and a second state filter for the second of the driver assistance features, or (c) a first sorting filter for the first of the driver assistance features and a second sorting filter for the second of the driver assistance features.An implementation may further include instructions to operate the first one of the driver assistance features based at least in part on the first target set.Another implementation may further include a second computer having a second processor and a second memory, the second memory storing instructions executable by the second processor such that the second computer is programmed to receive the first target set and operate the first one of the driver assistance features based at least in part on the first target set.In another implementation, the driver assistance features may include at least one of vehicle speed control, steering, or a human-machine interface.One or more implementations of a method may include: identifying respective driver assistance features currently active in a vehicle; obtaining parameters for determining corresponding sets of target objects for the driver assistance features; 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 set of candidate objects 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 set of candidate objects for the second one of the driver assistance features.Another implementation may further include 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 set of candidate objects for the first one of the driver assistance features.In an implementation of the method, the parameters may include one or more of a spatial filter, a state filter, or a sorting filter.In another implementation of the method, the parameters may include the spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.In another implementation of the method, the parameters may include the state filter, where the state filter defines an object type and a motion state for any of the driver assistance features.In yet another implementation of the method, the parameters may include the sort filter, wherein the sort filter defines at least one of a time to meet or a distance for any of the driver assistance features.In another implementation of the method, the parameters may include one or more of (a) a first spatial filter for the first of the driver assistance features and a second spatial filter for the second of the driver assistance features, (b) a first state filter for the first of the driver assistance features and a second state filter for the second of the driver assistance features, or (c) a first sorting filter for the first of the driver assistance features and a second sorting filter for the second of the driver assistance features.An implementation may further include operating the first one of the driver assistance features based at least in part on the first target set.Another implementation may further include transmitting the first target set from a first computer via a vehicle network to a second computer operating the first one of the driver assistance features based at least in part on the first target set.In an implementation of the method, the driver assistance features may include at least one of vehicle speed control, steering, or a human-machine interface.BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a diagram of an example system for providing a generalized target preselection for a vehicle. FIG. 2 is a block diagram of a generalized preselection module for a vehicle. FIG. 3 is an example flow diagram of a target preselection by a preselection module. FIG. 4A is an exemplary diagram of a space specification of an arc-shaped region. FIG. 4B is an exemplary diagram of a space specification of a circular region. FIG. 5A is an exemplary diagram of a space specification of a rectangular region. FIG. 5B is an exemplary diagram of a space specification of another rectangular region.DETAILED DESCRIPTIONReferring to FIG. 1, a vehicle system 100 may include a vehicle 102 having various components operating in an environment.The vehicle 102 is a set of components or parts that include hardware components and typically also software and / or programming for performing a function or set of operations in the vehicle 102. Vehicle subsystems 106 typically include a braking system, a propulsion system, and a steering system, as well as other subsystems including, but not limited to, a body control system, a climate control system, a lighting system, and a human machine interface (MMS) system, which may include a heads-up display (HUD), an instrument panel, and an infotainment system. The propulsion system converts energy into rotation of the wheels of the vehicle 102 to propel the vehicle 102 forward and / or rearward. The brake subsystem may slow and / or stop the movement of the vehicle 102. The steering subsystem may control a yaw angle, e.g., left and right steering and maintaining a straight path, of the vehicle 102 as it moves.Computers, including the one or more vehicle computers 104 (e.g., one or more electronic control units (ECUs) and a central computer 120 discussed herein, each include processors and memory. Computer memory may include one or more forms of computer readable media and stores instructions executable by a processor for performing various operations including those disclosed herein. For example, the computer may be a generic computer having a processor and a memory as described above, and / or an ECU, a controller or the like for a specified function or function set, and / or a dedicated electronic circuit including an ASIC manufactured for a specific operation, e.g., an ASIC for processing sensor data and / or communicating the sensor data. In another example, the computer may include a field-programmable gate array (FPGA), which is an integrated circuit manufactured to be configurable by a user. typically, a hardware description language such as very high-speed integrated circuit hardware description language (VHDL) is used in electronic design automation to describe digital systems and mixed signal systems such as FPGA and ASIC. For example, an ASIC is manufactured based on VHDL programming provided prior to manufacture, whereas logical components within an FPGA may be configured based on VHDL programming stored, e.g., in a memory electrically connected to the FPGA circuit. In some examples, a combination of processor(s), ASIC(s), and / or FPGA circuitry may be included in a computer.Computer memory may be of any suitable type, e.g., EEPROM, EPROM, ROM, flash, hard disk drives, solid state drives, servers, or any volatile or non-volatile media. The memory may store data, e.g., a memory of an ECU. The memory may be a separate device from the computer and the computer may retrieve information stored in the memory, e.g., one or more computers 104 may obtain 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 additionally, the memory may be part of the computer 104, i.e., as a memory of the computer 104 or as firmware of a programmable chip.The 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, e.g., a passenger or commercial vehicle such as a sedan, a coupé, a truck, an SUV, a crossover vehicle, a van, a minivan, etc. As part of a driver assistance system or an enhanced driver assistance system (e.g., ADAS system), a vehicle computer 104 may provide programming to operate one or more of brakes, propulsion (e.g., control of the acceleration of the vehicle 102 by controlling one or more of an internal combustion engine (ICE), an electric motor, The method may include hybrid ICE / electric propulsion, etc., and controlling the power output thereof), steering, climate control, interior and / or exterior lighting, etc., of the vehicle 102, as well as determining whether and when the computer is to control such operations, such as by transmitting vehicle data over the vehicle network 112 instead of a human operator. Additionally, a vehicle computer 104 may be programmed to determine whether and when a human operator should control such operations.For example, the vehicle computer 104 may include or be communicatively coupled to more than one processor, e.g., included in sensors 108, electronic control units (ECUs), or the like, included in the vehicle 102 for monitoring and / or controlling various vehicle components, e.g., a powertrain controller, a brake controller, a steering controller, etc. The computer is generally arranged for communication in a communication network of the vehicle 102, which may include a bus in the vehicle 102, such as a controller area network (CAN), or the like, and / or other wired and / or wireless mechanisms, via a vehicle network 112, such as a communication bus as described in more detail below. Alternatively or additionally, in cases where the computer actually includes a plurality of devices, the vehicle network 112 may be used for communication between devices represented as the computer in this disclosure.The vehicle network 112 is a network through which messages can be exchanged between various devices in the vehicle 102. The vehicle computer 104 may generally be programmed to send and / or receive messages from other devices in the vehicle 102, e.g., any or all of ECUs, sensors, cameras, actuators, components, communication module, human-machine interface MMS, etc., via the vehicle network 112. Additionally or alternatively, messages may be exchanged between various such other devices in the vehicle 102 via a vehicle network 112. In cases where the vehicle computer 104 includes a plurality of devices, the vehicle network 112 may be used for communication between devices represented as a computer in this disclosure. In some implementations, the vehicle network 112 may be a network in which messages are transmitted over a communication bus of the vehicle 102. For example, the vehicle network 112 may include a controller area network (CAN) in which messages are transmitted over a CAN bus, or a local interconnect network (LIN) in which messages are transmitted over a LIN bus. In some implementations, the vehicle network 112 may include a network in which messages are transmitted using other wired communication technologies and / or wireless communication technologies, e.g., Ethernet, Wi-Fi, Bluetooth, Ultra-Wide Band (UWB), etc. Additional examples of protocols that may be used in some implementations to communicate over the vehicle network 112 include, but are not limited to, Media Oriented System Transport (MOST), Time-Triggered Protocol TTP, and FlexRay. In some implementations, the vehicle network 112 may represent a combination of multiple networks, possibly 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 Ethernet or WI-FI communication protocols.The vehicle computer 104 may communicate over a wide area network (not shown), such as servers, other vehicles, infrastructure elements, etc. Further, various computing devices discussed herein may communicate directly with each other, e.g., via direct radio frequency communication according to protocols such as Bluetooth or the like. For example, the vehicle 102 may include a communication module 110 to provide communication with devices and / or networks not included as part of the vehicle 102, such as a global positioning satellite (GPS, not shown) and the wide area network. The communication module 110 may provide various types of communication, e.g., vehicle-to-vehicle (V2V), vehicle-to-infrastructure or everything (V2X) or vehicle-to-everything including cellular communication (C-V2X), cellular wireless communication, dedicated short range communications (DSRC), etc., to another vehicle or infrastructure, typically via direct radio frequency communication and / or typically via the wide area network, and receive sensor data or enhanced data from other sources. The communication module 110 could include one or more mechanisms by which a vehicle computer 104 can communicate, including any desired combination of wireless, e.g., cellular, wireless, satellite, microwave, and radio frequency communication mechanisms and any desired network topology or topologies when a plurality of communication mechanisms are utilized. Example communication provided via the module may include cellular, Bluetooth, IEEE 802.11, DSRC, cellular V2X, CV2X, and the like.A vehicle 102 according to the present disclosure includes a plurality of sensors 108 that may support the driver assistance features, e.g., ADAS features 107. For example, the sensors 108 may include, but are not limited to, one or more of wheel speed sensors, steering angle sensors, GPS sensors, forward facing cameras, side facing cameras, rear facing cameras, ultrasonic parking assist sensors, short range RADAR, medium range RADAR, LiDAR, accelerometers, inertial sensors, yaw rate sensors, etc.The vehicle 102 includes driver assistance features 107. In the context of this disclosure, a driver assistance feature 107 means a vehicle system or subsystem that supports and / or controls operation or function of the vehicle, e.g., speed control, steering control, output via a vehicle human-machine interface, etc. A feature 107 may be implemented in and / or include a vehicle computer 104, such as an ECU or the like. 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 parking service system, a cruise control system, a virtual bumper system, a backup assist system, etc. Moreover, as used herein, driver assistance features 107 include systems that assist a driver, as well as autonomous driving systems that are based at least in part on detected target objects. It should be appreciated that a driver assistance feature 107 may be implemented with one or more ECUs in the vehicle 102 and may include programming to receive sensor and / or target data, process the sensor and / or target data, and output a message and / or data to an ECU of a vehicle subsystem 106 via the vehicle network 112 to control actuation of the subsystem 106 (e.g., control steering, haptics, displays, brakes, propulsion, etc.).A vehicle 102 according to the present disclosure also includes a preselection module 105, which may be used to perform target preselection for operations of a plurality of driver assistance features 107 (i.e., "subscribers") in a generalized manner. The preselection module 105 is typically implemented in an ECU or the like and as such may include hardware components (i.e., an ECU or a processor and memory) and software and / or programming to perform the operations discussed herein. The preselection module 105 is connected to the vehicle network 112 in order to receive data from the sensors 108 and / or driver assistance features 107, etc., and to provide or "output" target data, such as a target set 260, to the driver assistance features 107 via the vehicle network 112. A target set 260 includes or identifies one or more target objects 240 to track or monitor for a given driver assistance feature 107.Referring to FIG. 2, an example schematic diagram of an example target preselection system 200 for a vehicle 102 is illustrated.An example target preselection system 200 according to the present disclosure, i.e., providing preselection for multiple driver assistance features 107, includes a preselection module 105 that receives targets 240 based on input data (or inputs) 210 and selection parameters 220. By applying the selection parameters 220 to the input data 210, the preselection module 105 outputs target sets 260, which may then be provided to a vehicle computer 104, e.g., an ECU or the like, that implements respective driver assistance features 107, i.e., the preselection module 105 may output respective target sets 260, each including or identifying one or more targets 240 for a driver assistance feature 107, which is one of a plurality of driver assistance features 107 that are currently active, and a vehicle 102.The selection parameters 220 for a driver assistance feature 107 may specify one or more filters, such as a spatial filter 270, a state filter 280, a sort filter 290, and / or another suitable filter or filters. The selection parameters 220 may be specified or determined based on design considerations and / or empirical testing. For example, a selection parameter 220 specifying a distance or distance from another vehicle for a given driver assistance feature 107 could be determined based on empirical testing of that driver assistance feature 107. For example, if the driver assistance feature 107 were a cruise control feature, a distance or distance could be specified based on tests to determine appropriate distances or distances of a target 240, e.g., another vehicle, at different speeds of any of the vehicle 102. The determined distances at the different speeds could then be stored as selection parameters 220.In the context of this disclosure, a "target" is an object identified in an environment around a vehicle, and may also be referred to as a "target object.". An object may be detected by data from one or more vehicle sensors 108 and / or could be identified from map data indicating a presence of an object (e.g., a road sign, building, etc.) at a location. For example, currently existing object detection or tracking systems that could be included in a vehicle 102 may use vehicle sensor data to output so-called "tracks" of objects, i.e., a dataset, sometimes referred to as "state data", to an identified object, which typically includes a type or class of the object (e.g., moving or non-moving, car, bicycle, road sign, etc.), a location of the object at a specified time, a tempo of the object (i.e., a vector that specifies a speed in a direction of travel), a confidence of an object detection or tracking system in the data for the object, etc. Further, an object or target 240 may be evaluated for a possibility of interacting with the host vehicle 102, and this may also be included in state data for an object. It should be appreciated that data from respective sensors 108 in a vehicle network 112 may be transmitted or broadcast at respective specified intervals or time steps (e.g., with time steps used on a CAN bus) and used as inputs 210 by a vehicle computer 104, e.g., the preselection module 105, to update the published preselected destinations 240 over time based on the most current input data. Accordingly, the targets 240 may include a variety of objects, such as another vehicle, a road sign, a traffic barrier, etc., and may be included in a list or dataset maintained, e.g., in a vehicle computer 104 according to object position, object type, etc.Table 1 below provides a non-limiting example of data that may be provided for an object identified as a target 240, e.g., by a suitable tracking or object detection system that, as is presently known, may be implemented in a vehicle 102 to output object data and data for tracking objects over time. TABLE 1 TABLE 1X positionX-coordinate for the object in a coordinate system defined with respect to the host vehicle.Y positionY-coordinate for the object in a coordinate system defined with respect to the host vehicle.X velocityObject Tempo in the x-direction.Velocity YObject Tempo in the y-direction.Acceleration XObject Acceleration in the X-Direction.Acceleration YObject acceleration in the y direction.speedSpeed with respect to a ground surface.headingCourse, typically specified with respect to global coordinates, e.g., as deviation from North.lengthObject lengthWIDTH OFIDTHObject width.RangeA distance of the object from the host vehicle, e.g., between a closest point on the object to a reference point on the vehicle, e.g., a geometric center of the vehicle or a surface of the vehicle.Probability OccurrenceA probability estimated by a tracking system that the described object exists, i.e. a confidence with respect to the reported data.The type of type is of a type of typeClassification of object type via a tracking and / or object detection system, e.g., car, bus, motorcycle, pedestrian, sign, etc.Selection parameters 220 may be stored, for example, in a memory, e.g., of a module 105, and may specify criteria for pre-selection of targets for the respective driver assistance feature 107 for each of a plurality of driver assistance features 107 that may require data about targets 240. That is, the respective parameters 220 may be defined for each of a plurality of driver assistance features 107 in order to provide target datasets 260 for the respective driver assistance features 107.The selection parameters 220 for a specified driver assistance feature 107 are a set of data values, i.e. criteria or thresholds, or evaluation values of inputs 210. For example, an adaptive cruise control driver assistance feature 107 could include selection parameters 220 for selecting a target 240 for a target set 260 according to a position of the target 240 that is within an arcuate region and / or along, or within a distance from, a longitudinal axis of the host vehicle 102 (e.g., a position) and within a distance of the host vehicle 102. A lane change assist feature 107 could further include selection parameters 220 to identify targets in a rectangular region or on an adjacent lane to the host vehicle 102 in addition to front and rear vehicles along with speeds, tracks, etc.The selection parameters 220 may be stored, for example, in a non-volatile memory of the preselection module 105 that is accessed when a driver assistance feature 107 receives target data transmitted from the preselection module 105. FIG. 3, discussed below, illustrates an example process for applying selection parameters 220 to input data (inputs) 210 to select a target set 260 from possible targets 240.Table 2, discussed further below with respect to FIG. 3, illustrates examples of selection parameters 220 for respective driver assistance features 107, which could be stored or maintained in a preselection module 105, e.g., in a memory of a computer 104. Typically, a set of selection parameters 220 for a driver assistance feature 107 is a dataset or set of data fields of data that includes / includes:• an identifier for the driver assistance feature 107 (e.g., lane keeping, lane centering, adaptive control, etc.);• an identifier for one or more corresponding filters, such as filters 270, 280, 290, for identifying targets 240 for inclusion for feature 107 in a target set 260;• criteria or thresholds for applying each of the identified filters, i.e. the criteria or thresholds that specify values for different input data 210 according to which a target 240 passes or fails, i.e. is included in a target set 260 or not; and• A number of desired or required targets to pass the filters for the identified feature 107 to be used, e.g. for use by a sorting filter 290 described further below.It should be noted that a selection parameter 220 may be dependent on another parameter in a set of parameters 220 for a feature 107. For example, a distance parameter 220 could be dependent on one or more inputs 210 in addition to an input 210 to which the distance parameter 220 is compared. In such an example, a range parameter for a forward target 240 in an adaptive cruise control feature 107 may be dependent on a speed input 210 of the target 240, e.g., a range parameter may be smaller or lower for lower speeds of the target 240 and higher or higher for higher or higher speeds of the target 240. Thus, an input 210 providing the distance of the target 240 would be compared to a distance parameter 220 determined based at least in part on the speed of the target 240.In some implementations, for an identified feature 107, different sets of filters could be identified for different subsets of targets 240 to be preselected for the feature 107. By way of example only, an adaptive cruise control feature could require identification of a first number of targets in front of an ego vehicle 102 and a second number of targets behind the ego vehicle 102. The selection parameters for this feature 107 could thus include both the first number and the second number of respective subsets of targets 240 to include a target set 260 preselected for the feature 107, as well as respective sets of first and second filters to identify the targets 240 in the first and second subsets of targets 240, respectively, that include the target set 260 for this feature 107.A spatial filter 270 may be defined for an area of interest for a given driver assistance feature 107. The spatial filter 270 may thus identify targets 240 of interest for the driver assistance feature 107, i.e., targets within the region, i.e., the area or space, of interest, and may exclude targets 240 that are not within the defined region. That is, only targets 240 within the defined region are included in the target set 260 for a driver assistance feature 107. For example, spatial filter criteria data may include data for defining a region proximate to the vehicle 102 in which targets of interest are located, such as defined rectangular regions, circular regions, arcuate regions, polygons, and / or combinations thereof. Regions may be defined in a coordinate system defined with respect to or relative to a host vehicle. The coordinate system may be two-dimensional (2D) because both 2D and three-dimensional (3D) target data may be filtered based on 2D region or location specifications.A state filter 280 removes targets based on a state of a target 240. A "state" of an object in the present context means one or more current physical attributes of the object. For example, a state of an object may specify whether the object is moving or not moving (or static or dynamic), its dimensions (length and width), its distance (distance) to the host, changes in distance (oncoming, removing), and / or may classify the object according to an object type, i.e., a category of the object, such as passenger car, motorcycle, bicycle, road sign, etc. A state filter may be used by the preselection module 105 to select target objects for tracking based on a current driver assistance feature 107 using target tracking. For example, a cruise control operation may track dynamic vehicles, an emergency braking operation may track all objects (static and dynamic), a virtual bumper operation may track static objects, a lane keeping operation may track lane lines, etc.A sorting filter 290 may be applied, typically after the spatial filter 270 and the state filter 280 have been applied, to identify targets 240 that are considered most relevant based on one or more specified criteria for a driver assistance feature 107. In examples, a sorting filter 290 may sort the targets 240 according to a distance to the host vehicle 102, a heading, a tempo, etc., wherein the filter 290 selects a specified highest number, e.g., three or four, of targets 240 closest to a specified selection parameter 220, e.g., a distance parameter 220, a tempo parameter 220, etc.Upon pre-selecting targets 240 from the input data 210 at a time step, the pre-selection module 105 may provide or publish pre-selected target data, i.e., a target set 260 including various data as described above, to one or more features 107 based on the selection parameters 220.FIG. 3 illustrates an example flowchart of a process 300 for a preselection module 105 to provide a target preselection of a plurality of targets for a plurality of driver assistance features 107. The process 300 is further described with reference to Examples A and B, which provide example illustrations of the execution of the process 300. Example A illustrates a preselection of the target 240 for an adaptive cruise control feature 107. Example B illustrates a preselection of a target 240 for a parking assist feature 107.The process 300 may begin when one or more conditions are met, such as a vehicle 102 being powered on, one or more driver assistance features 107 being powered on, etc.In a first block 305, the preselection module 105 acquires the selection parameters 220. For example, the preselection module 105 may determine a set of active driver assistance features 107, e.g. from data available in the vehicle network 112. The preselection module 105 can then retrieve respective selection parameters 220 for the active driver assistance features 107, e.g. from a non-volatile memory. For example A and B, respectively, the parameters 220 could be as follows: TABLE 2 TABLE 2•Active Feature 107: Cruise Control•Active feature 107: Parking assist•Target number: 2 objects•Target number: 4 objects•Spatial parameters: rectangle, right side•Spatial parameters: arcuate region, front•State parameters: static, arbitrary object, 0.7 truth.•State parameters: dynamic, vehicles, 0.7 truth.•Sorting Parameters - Distance (next)•Sorting Parameters - Time to Meet (Shortest)Next, in a block 310, the preselection module 105 determines identified targets 240, which may be referred to as candidate targets 240, from inputs 210, e.g., data from vehicle sensors 108 and / or a suitable object tracking system, as mentioned above, available in the vehicle network 112, which may describe targets 240. In the present examples, it is assumed that 264 targets 240 are initially identified.Next, in a block 315, the preselection module 105 applies the selection parameters obtained in the block 305 to the targets 240 identified in the block 310, i.e., by evaluating, e.g., comparing, inputs 210 for the targets 240 with respect to the selection parameters 220, as described above. A target set 260 may thus be identified as explained above, i.e. the target set 260 includes a set of targets 240 that satisfies 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.In the present example A, based on an arcuate region in front of the host vehicle 102, as generally illustrated by the arcuate region 410 in FIG. 4A, e.g., having a radius of 80 m (meters) and being 45° to an origin at a front center of the host vehicle 102, spatial filtering reduces the 264 initial targets 240 to a set of 22 targets 240. Then, applying a state filter in Example A that limits preselected targets 240 to objects of a dynamic (moving) "vehicle" type with a probability of detection of more than 70%, reduces the set of 22 targets output from the spatial filter to a set of 9 targets 240. Further, applying a sort filter 290 that selects the four targets 240 with the shortest times to meet the host vehicle 102 results in four targets 240 for the pre-selected target dataset 260.In Example B, spatial filtering for a rectangular region defined by a length of the wheel base of the vehicle 102 and having a width of 30 m to a side of the host vehicle 102, as generally illustrated by a rectangular region 530 in FIG. 5B, reduces the 264 initial targets 240 to a set of 27 targets 240. Then, applying a state filter 280 in Example B to static (non-moving) targets with an arbitrary object type classification with a probability of accurate detection of 70% or more reduces the set of 27 targets output from the spatial filter 270 to 9 targets 240. Further, applying a sort filter 290 that selects the two targets 240 with a shortest (or next) distance to the host vehicle 102 results in two targets 240 for the pre-selected target dataset 260.Next, in a decision block 320, the computer 104 determines whether to process further features 107. In the present example, Example A could represent processing a first feature 107, and then, in block 320, after processing Example A, the computer 104 could determine that a second feature 107 is still to be processed, whereupon processing would continue as described above for Example B. If additional features are still to be processed, the process 300 returns to the block 315. Otherwise, the process 300 proceeds to a block 325.In a block 325, the target datasets 260 are output via a vehicle network 112 and / or by the computer 104 for use by a feature 107 implemented in this computer 104 for the respective features 107 identified in the block 305. For example, a first target dataset 260 may be output that identifies targets 240 for a first feature 107 as in Example A and a second target dataset 260 may be output that identifies targets 240 for a second feature 107 as in Example B. It should be appreciated that in many cases of the process 300, more than two features 107 may be processed.Next, in a block 330, the active driver assistance features 107 are operated according to, e.g., programming implemented in one or more vehicle computers 104, according to the respective targets 240 in the set 260 of targets determined in block 315.Following the block 330, the preselection module 105 determines in a decision block 335 whether the process 300 is to be continued. For example, a vehicle 102 could be turned off, placed in a "park" mode, or placed in another state to trigger non-continuation of the process 300. If the process 300 is to continue, the process 300 returns to the block 305 to retrieve or update the parameters 220. Otherwise, the process 300 ends following the block 335.FIG. 4A illustrates an example diagram of an arcuate region 410 used for spatial filtering relative to the vehicle 102. An arcuate region represents a portion of a circular region defined by a radius fixed at a proximal end and moving through an arc at a distal end. The arcuate region 410 may be defined by an origin at a front center of the vehicle 102, a radius R, and a swivel angle α in this example. Other sources, radii, directions, and angles may be used without departing from the scope of the present disclosure, and multiple arcuate or other shaped regions may be combined to define a base region for spatial filters to preselect targets.FIG. 4B illustrates an example diagram of a circular region 420 used for spatial filtering relative to the vehicle 102. The circular region 420 may be defined by an origin at a center of the vehicle 102 and a radius R. For example, in one implementation of the parking assist feature 107 of example B in FIG. 3, the spatial filter may use a circular region 420 to preselect targets 240 on all sides of the vehicle rather than just on the right side. Other sources and radii may be used without departing from the scope of the present disclosure, and multiple circular or other shaped regions may be combined to define a base region for spatial filters to preselect targets.FIG. 5A illustrates an example diagram of rectangular regions 510 and 520 used for spatial filtering relative to the vehicle 102. The first rectangular region 510 may be defined by an origin at a center of the vehicle 102, a width of -W, and a depth of D. A second rectangular region 520 may be defined by an origin at a center of the vehicle 102, a width of +W, and a depth of D. For example, in one implementation of cruise control feature 107 of example A in FIG. 3, the spatial filter may use rectangular regions 510 and 520 instead of only the arcuate region to preselect targets 240 in a region of 2WxD in front of the vehicle. Other sources, widths, depths, 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 filters to preselect targets.FIG. 5B illustrates an example diagram of a rectangular region 530 used for spatial filtering relative to the vehicle 102. The rectangular region 530 may be defined by an origin disposed on a line parallel to a right side vehicle 102 and located -0.5*D behind a longitudinal center of the vehicle 102, a width of +W, and a depth of +D. Other sources, 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 filters to preselect targets.The shapes of the base regions used for spatial filtering are not limited to these examples and may use any other suitable shape (triangle, trapezoid, ellipse, lane, etc.) or combinations thereof that may be desired and described in the selection parameters 220 for use by a preselection process.While a disclosure has been made above with respect to certain implementations, various other implementations are possible without departing from the present disclosure.The use of "responsive to", "based on", and "when determined" herein indicates a causal relationship, and not just a purely temporal relationship. Furthermore, all terms used in the claims are intended to be accorded their plain and general meaning as known to those skilled in the art, unless expressly stated to the contrary in this specification. The use of the singular articles "a", "an", "the", "the", etc., or a specification or statement about "an" element is to be construed as indicating one or more of the indicated elements unless a claim indicates an explicit limitation to the contrary.In the drawings, the same or similar reference numerals indicate the same or similar elements. Further, some or all of these elements could 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 according to some ordered sequence, the described steps could be performed in an order other than the order described herein when executing such processes, unless otherwise indicated or otherwise understood from context. Likewise, it will be further 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 descriptions of processes herein are provided for the purpose of illustrating certain embodiments and should not be construed as limiting the present disclosure in any way.The 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 a descriptive and non-limiting nature. Many modifications and variations of the present disclosure are possible in light of the above teachings and the disclosure may be practiced other than as specifically described.According to the present invention, there is provided a system comprising a computer including a processor and a memory, the memory storing instructions executable by the processor such that the computer is programmed to: identify respective driver assistance features currently active in a vehicle; obtain parameters for determining corresponding sets of target objects for the driver assistance features; apply the parameters of a first of the driver assistance features to output a first target set of one or more targets selected from a set of candidate objects for the first of the driver assistance features; and then apply the parameters of a second of the driver assistance features to output a second target set of one or more targets selected from the set of candidate objects for the second of the driver assistance features.According to an embodiment, the invention is further characterized by instructions for: applying the parameters of a third of the driver assistance features to output a third target set of one or more targets selected from the set of candidate objects for the first of the driver assistance features.According to an embodiment, the parameters include one or more of a spatial filter, a state filter, or a sorting filter.According to an embodiment, the parameters include the spatial filter, wherein the spatial filter defines a region of interest for any of the driver assistance features.According to an embodiment, 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.According to an embodiment, the parameters include the sort filter, wherein the sort filter defines at least one time to meet or a distance for any of the driver assistance features.According to an embodiment, the parameters include one or more of (a) a first spatial filter for the first of the driver assistance features and a second spatial filter for the second of the driver assistance features, (b) a first state filter for the first of the driver assistance features and a second state filter for the second of the driver assistance features, or (c) a first sorting filter for the first of the driver assistance features and a second sorting filter for the second of the driver assistance features.According to an embodiment, the invention is further characterized by instructions for operating the first one of the driver assistance features based at least in part on the first target set.According to an embodiment, the invention is further characterized by a second computer including a second processor and a second memory, the second memory storing instructions executable by the second processor such that the second computer is programmed to receive the first target set and operate the first one of the driver assistance features based at least in part on the first target set.According to an embodiment, the driver assistance features include at least one of vehicle speed control, steering, or a human-machine interface.According to one embodiment, a method includes: identifying respective driver assistance features currently active in a vehicle; obtaining parameters for determining corresponding sets of target objects for the driver assistance features; 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 set of candidate objects 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 set of candidate objects for the second one of the driver assistance features.In one aspect of the invention, the method includes 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 set of candidate objects for the first one of the driver assistance features.In one aspect of the invention, the parameters include one or more of a spatial filter, a state filter, or a sorting filter.In one aspect of the invention, the parameters include the spatial filter, the spatial filter defining a region of interest for any of the driver assistance features.In one aspect of the invention, the parameters include the state filter, the state filter defining an object type and a motion state for any of the driver assistance features.In one aspect of the invention, the parameters include the sort filter, wherein the sort filter defines at least one of a time to meet or a distance for any of the driver assistance features.In one aspect of the invention, the parameters include one or more of (a) a first spatial filter for the first of the driver assistance features and a second spatial filter for the second of the driver assistance features, (b) a first state filter for the first of the driver assistance features and a second state filter for the second of the driver assistance features, or (c) a first sorting filter for the first of the driver assistance features and a second sorting filter for the second of the driver assistance features.In one aspect of the invention, the method includes operating the first one of the driver assistance features based at least in part on the first target set.In one aspect of the invention, the method includes transmitting the first target set from a first computer via a vehicle network to a second computer that operates the first one of the driver assistance features based at least in part on the first target set.In one aspect of the invention, the driver assistance features include at least one of vehicle speed control, steering, or a human-machine interface.
Claims
A method comprising: identifying respective driver assistance features currently active in a vehicle; obtaining parameters for determining corresponding sets of target objects for the driver assistance features; 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 set of candidate objects 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 set of candidate objects for the second one of the driver assistance features.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 set of candidate objects for the first one of the driver assistance features.The method of claim 1, wherein the parameters include one or more of a spatial filter, a state filter, or a sorting filter.The method of claim 3, wherein the parameters include the spatial filter, the spatial filter defining a region of interest for any of the driver assistance features.The method of claim 3, wherein the parameters include the state filter, the state filter defining an object type and a motion state for any of the driver assistance features.The method of claim 3, wherein the parameters include the sort filter, wherein the sort filter defines at least one of a time to meet or a distance for any of the driver assistance features.The method of claim 3, wherein the parameters include one or more of (a) a first spatial filter for the first of the driver assistance features and a second spatial filter for the second of the driver assistance features, (b) a first state filter for the first of the driver assistance features and a second state filter for the second of the driver assistance features, or (c) a first sorting filter for the first of the driver assistance features and a second sorting filter for the second of the driver assistance features.The method of claim 1, further comprising operating the first one of the driver assistance features based at least in part on the first target set.The method of claim 1, further comprising transmitting the first target set from a first computer over a vehicle network to a second computer that operates the first one of the driver assistance features based at least in part on the first target set.The method of claim 1, wherein the driver assistance features include at least one of vehicle speed control, steering, or a human-machine interface.A computer including a processor and a memory, the memory storing instructions executable by the processor such that the computer is programmed to perform the method of any one of claims 1-8 or 10.A vehicle comprising the computer of claim 11.
