Adaptive dimensional positioning
Adaptive dimensional positioning in autonomous vehicles dynamically switches between 2D and 3D processing based on elevation conditions, improving efficiency and reducing computational complexity by leveraging sensor data to optimize location determination.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-12
- Publication Date
- 2026-03-19
AI Technical Summary
Existing autonomous vehicle systems face challenges in efficiently determining precise vehicle location and pose, particularly in areas with significant elevation differences, leading to increased computational complexity and resource consumption.
Adaptive dimensional positioning techniques that dynamically switch between two-dimensional and three-dimensional processing based on the vehicle's location and elevation conditions, utilizing sensors and IMU data to determine the appropriate processing mode, reducing computational complexity and resource usage.
This approach enhances computational efficiency and reduces processing time by selectively using 2D processing in areas where elevation information is unnecessary, maintaining accuracy while conserving energy and resources.
Smart Images

Figure CN2024118422_19032026_PF_FP_ABST
Abstract
Description
ADAPTIVE DIMENSIONAL POSITIONINGBACKGROUND
[0001] Vehicles are becoming more intelligent as the industry moves towards deploying increasingly sophisticated self-driving technologies that are capable of operating a vehicle with little or no human input, and thus being semi-autonomous or autonomous. Autonomous and semi-autonomous vehicles may be able to detect information about their location and surroundings (e.g., using ultrasound, radar, lidar, an SPS (Satellite Positioning System) , and / or an odometer, and / or one or more sensors such as accelerometers, cameras, etc. ) . Autonomous and semi-autonomous vehicles typically include a control system to interpret information regarding an environment in which the vehicle is disposed to identify hazards and determine a navigation path to follow.
[0002] A driver assistance system may mitigate driving risk for a driver of an ego vehicle (i.e., a vehicle configured to perceive the environment of the vehicle) and / or for other road users. Driver assistance systems may include one or more active devices and / or one or more passive devices that can be used to determine the environment of the ego vehicle and, for semi-autonomous vehicles, possibly to notify a driver of a situation that the driver may be able to address. The driver assistance system may be configured to control various aspects of driving safety and / or driver monitoring. For example, a driver assistance system may control a speed of the ego vehicle to maintain at least a desired separation (in distance or time) between the ego vehicle and another vehicle (e.g., as part of an active cruise control system) . The driver assistance system may monitor the surroundings of the ego vehicle, e.g., to maintain situational awareness for the ego vehicle. The situational awareness may be used to notify the driver of issues, e.g., another vehicle being in a blind spot of the driver, another vehicle being on a collision path with the ego vehicle, etc. The situational awareness may include information about the ego vehicle (e.g., speed, location, heading) and / or information about other vehicles or objects (e.g., location, speed, heading, size, object type, etc. ) .
[0003] A state of an ego vehicle may be used as an input to a number of driver assistance functionalities, such as an Advanced Driver Assistance System (ADAS) . Downstream driving aids such as an ADAS may be safety critical, and / or may give the driver of the vehicle information and / or control the vehicle in some way.SUMMARY
[0004] An example method of determining ego vehicle state for autonomous driving includes: determining whether the ego vehicle is disposed in an area of significant elevation difference; determining a two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference; and determining a three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside the area of significant elevation difference.
[0005] An example ego vehicle includes: at least one memory; at least one sensor; and at least one processor, communicatively coupled to the at least one memory and the at least one sensor, configured to: determine whether the ego vehicle is disposed in an area of significant elevation difference; determine a two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference; and determine a three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside the area of significant elevation difference.
[0006] Another example ego vehicle includes: means for determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle; means for determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and means for determining a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.
[0007] An example non-transitory, processor-readable storage medium includes processor-readable instructions to cause at least one processor of an ego vehicle to: determine, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle; determine a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and determine a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.BRIEF DESCRIPTION OF THE DRAWINGS
[0008] FIG. 1 is a top view of an example ego vehicle.
[0009] FIG. 2 is a block diagram of components of an example ego vehicle, such as the ego vehicle shown in FIG. 1.
[0010] FIG. 3 is a block diagram of an example ego vehicle, of which the ego vehicle shown in FIG. 1 may be an example and / or of which the ego vehicle shown in FIG. 2 may be an example.
[0011] FIG. 4 is a top view of an example driving environment.
[0012] FIG. 5 is a perspective view of another example driving environment.
[0013] FIG. 6 is a block diagram of an example method of determining a state estimation of an ego vehicle.
[0014] FIG. 7 is a block diagram of model conversion from three-dimensional model information to two-dimensional model information.
[0015] FIG. 8 is a perspective view of lanes in a region of significant elevation differential.
[0016] FIG. 9 is a perspective view of lanes in a region of insignificant elevation differential.
[0017] FIG. 10 is a block flow diagram of an example method of determining ego vehicle state for autonomous driving.DETAILED DESCRIPTION
[0018] Techniques are discussed herein for selectively determining two-dimensional or three-dimensional location estimates of a mobile device, such as a vehicle. For example, different dimensional positioning may be selected based on safety, based on inertial measurement (s) , or based on the mobile device being in a scenario of significant elevation differential or a scenario of insignificant elevation differential. For example, a determination can be made as to whether an ego vehicle is in a region of significant elevation differential (e.g., in a region with multiple levels of roads, a region containing a tunnel, a region containing a bridge, a region containing an overpass, a region containing an on ramp, a region containing an off ramp, a region containing a road on a hill or mountain (e.g., a road with a grade above a threshold grade) , etc. ) . If the ego vehicle is in a region of significant elevation differential, then three-dimensional processing may be performed to determine an ego vehicle pose (position and rotation, e.g., x, y, z position and yaw, roll, pitch rotation) . If the ego vehicle is not in a region of significant elevation differential, then two-dimensional processing may be performed to determine an ego vehicle pose (position and rotation, e.g., x, y position and yaw rotation) . Other techniques, however, may be used.
[0019] Items and / or techniques described herein may provide one or more of the following capabilities, as well as other capabilities not mentioned. Processing for determining a pose (position and rotation) of an ego vehicle may be switched from three-dimensional processing to two-dimensional processing in conditions where three-dimensional processing may be avoided, conserving processing time and energy, and / or improving computational efficiency and speed, e.g., due to reduced complexity of data processing and the localization problem. Using two-dimensional processing instead of three-dimensional processing in scenarios where an assumption of planar motion is valid may reduce computational complexity and increase computational efficiency. This may streamline a localization process (to determine location and possibly rotation of a mobile device) , making the localization process faster and more resource efficient while meeting accuracy requirements. Computational efficiency may be improved based on adaptive and dynamic switching between 3D and 2D models in localization algorithms. Other capabilities may be provided and not every implementation according to the disclosure must provide any, let alone all, of the capabilities discussed.
[0020] Referring to FIG. 1, an ego vehicle 100 includes an ego vehicle driver assistance system 110. The driver assistance system 110 may include a number of different types of sensors mounted at appropriate positions on the ego vehicle 100. For example, the system 110 may include: a pair of divergent and outwardly directed radar sensors 121 mounted at respective front corners of the vehicle 100, a similar pair of divergent and outwardly directed radar sensors 122 mounted at respective rear corners of the vehicle 100, a forwardly directed LRR sensor 123 (Long-Range Radar) mounted centrally at the front of the vehicle 100, and a pair of generally forwardly directed optical sensors 124 (cameras) forming part of an SVS 126 (Stereo Vision System) which may be mounted, for example, in the region of an upper edge of a windshield 128 of the vehicle 100. Each of the sensors 121, 122 may include an LRR and / or an SRR (Short-Range Radar) . The various sensors 121-124 may be operatively connected to a central electronic control system which is typically provided in the form of an ECU 140 (Electronic Control Unit) mounted at a convenient location within the vehicle 100. In the particular arrangement illustrated, the front and rear sensors 121, 122 are connected to the ECU 140 via one or more conventional Controller Area Network (CAN) buses 150, and the LRR sensor 123 and the sensors of the SVS 126 are connected to the ECU 140 via a serial bus 160 (e.g., a faster FlexRay serial bus) .
[0021] Collectively, and under the control of the ECU 140, the various sensors 121-124 may be used to provide a variety of different types of driver assistance functionalities. For example, the sensors 121-124 and the ECU 140 may provide blind spot monitoring, adaptive cruise control, collision prevention assistance, lane departure protection, and / or rear collision mitigation.
[0022] The CAN bus 150 may be treated by the ECU 140 as a sensor that provides ego vehicle parameters to the ECU 140. For example, a GPS module may also be connected to the ECU 140 as a sensor, providing geolocation parameters to the ECU 140.
[0023] Referring also to FIG. 2, a device 200 (which may be a mobile device such as a user equipment (UE) such as a vehicle (VUE) ) comprises a computing platform including a processor 210, memory 211 including software (SW) 212, one or more sensors 213, a transceiver interface 214 for a transceiver 215 (that includes a wireless transceiver 240 and a wired transceiver 250) , a user interface 216, a Satellite Positioning System (SPS) receiver 217, a camera 218, a position device (PD) 219, and an ADAS 220 (Advanced Driver Assistance System) . The terms “user equipment” or “UE” (or variations thereof) are not specific to or otherwise limited to any particular Radio Access Technology (RAT) , unless otherwise noted. The processor 210, the memory 211, the sensor (s) 213, the transceiver interface 214, the user interface 216, the SPS receiver 217, the camera 218, and the position device 219 may be communicatively coupled to each other by a bus 221 (which may be configured, e.g., for optical and / or electrical communication) . One or more of the shown apparatus (e.g., the camera 218, the position device 219, and / or one or more of the sensor (s) 213, etc. ) may be omitted from the device 200. The processor 210 may include one or more hardware devices, e.g., a central processing unit (CPU) , a microcontroller, an application specific integrated circuit (ASIC) , etc. The processor 210 may comprise multiple processors including a general-purpose / application processor 230, a Digital Signal Processor (DSP) 231, a modem processor 232, a video processor 233, and / or a sensor processor 234. One or more of the processors 230-234 may comprise multiple devices (e.g., multiple processors) . For example, the sensor processor 234 may comprise, e.g., processors for RF (radio frequency) sensing (with one or more (cellular) wireless signals transmitted and reflection (s) used to identify, map, and / or track an object) , and / or ultrasound, etc. The modem processor 232 may support dual SIM / dual connectivity (or even more SIMs) . For example, a SIM (Subscriber Identity Module or Subscriber Identification Module) may be used by an Original Equipment Manufacturer (OEM) , and another SIM may be used by an end user of the device 200 for connectivity. The memory 211 may be a non-transitory, processor-readable storage medium that may include random access memory (RAM) , flash memory, disc memory, and / or read-only memory (ROM) , etc. The memory 211 may store the software 212 which may be processor-readable, processor-executable software code containing instructions that may be configured to, when executed, cause the processor 210 to perform various functions described herein. Alternatively, the software 212 may not be directly executable by the processor 210 but may be configured to cause the processor 210, e.g., when compiled and executed, to perform the functions. The description herein may refer to the processor 210 performing a function, but this includes other implementations such as where the processor 210 executes instructions of software and / or firmware. The description herein may refer to the processor 210 performing a function as shorthand for one or more of the processors 230-234 performing the function. The description herein may refer to the device 200 performing a function as shorthand for one or more appropriate components of the device 200 performing the function. The processor 210 may include a memory with stored instructions in addition to and / or instead of the memory 211. Functionality of the processor 210 is discussed more fully below.
[0024] The configuration of the device 200 shown in FIG. 2 is an example and not limiting of the disclosure, including the claims, and other configurations may be used. For example, an example configuration of the UE may include one or more of the processors 230-234 of the processor 210, the memory 211, and the wireless transceiver 240. Other example configurations may include one or more of the processors 230-234 of the processor 210, the memory 211, a wireless transceiver, and one or more of the sensor (s) 213, the user interface 216, the SPS receiver 217, the camera 218, the PD 219, and / or a wired transceiver.
[0025] The device 200 may comprise the modem processor 232 that may be capable of performing baseband processing of signals received and down-converted by the transceiver 215 and / or the SPS receiver 217. The modem processor 232 may perform baseband processing of signals to be upconverted for transmission by the transceiver 215. Also or alternatively, baseband processing may be performed by the general-purpose / application processor 230 and / or the DSP 231. Other configurations, however, may be used to perform baseband processing.
[0026] The device 200 may include the sensor (s) 213 that may include, for example, one or more of various types of sensors such as one or more inertial sensors, one or more magnetometers, one or more environment sensors, one or more optical sensors, one or more weight sensors, and / or one or more radio frequency (RF) sensors, etc. An inertial measurement unit (IMU) may comprise, for example, one or more accelerometers (e.g., collectively responding to acceleration of the device 200 in three dimensions) and / or one or more gyroscopes (e.g., three-dimensional gyroscope (s)) . The sensor (s) 213 may include one or more magnetometers (e.g., three-dimensional magnetometer (s) ) to determine orientation (e.g., relative to magnetic north and / or true north) that may be used for any of a variety of purposes, e.g., to support one or more compass applications. The environment sensor (s) may comprise, for example, one or more temperature sensors, one or more barometric pressure sensors, one or more ambient light sensors, one or more camera imagers, and / or one or more microphones, etc. The sensor (s) 213 may generate analog and / or digital signals indications of which may be stored in the memory 211 and processed by the DSP 231 and / or the general-purpose / application processor 230 in support of one or more applications such as, for example, applications directed to positioning and / or navigation operations.
[0027] The sensor (s) 213 may be used in relative location measurements, relative location determination, motion determination, etc. Information detected by the sensor (s) 213 may be used for motion detection, relative displacement, dead reckoning, sensor-based location determination, and / or sensor-assisted location determination. The sensor (s) 213 may be useful to determine whether the device 200 is fixed (stationary) or mobile and / or whether to report certain useful information, e.g., to an LMF (Location Management Function) regarding the mobility of the device 200. For example, based on the information obtained / measured by the sensor (s) 213, the device 200 may notify / report to the LMF that the device 200 has detected movements or that the device 200 has moved, and may report the relative displacement / distance (e.g., via dead reckoning, or sensor-based location determination, or sensor-assisted location determination enabled by the sensor (s) 213) . In another example, for relative positioning information, the sensors / IMU may be used to determine the angle and / or orientation of another object (e.g., another device) with respect to the device 200, etc.
[0028] The IMU may be configured to provide measurements about a direction of motion and / or a speed of motion of the device 200, which may be used in relative location determination. For example, one or more accelerometers and / or one or more gyroscopes of the IMU may detect, respectively, a linear acceleration and a speed of rotation of the device 200. The linear acceleration and speed of rotation measurements of the device 200 may be integrated over time to determine an instantaneous direction of motion as well as a displacement of the device 200. The instantaneous direction of motion and the displacement may be integrated to track a location of the device 200. For example, a reference location of the device 200 may be determined, e.g., using the SPS receiver 217 (and / or by some other means) for a moment in time and measurements from the accelerometer (s) and gyroscope (s) taken after this moment in time may be used in dead reckoning to determine present location of the device 200 based on movement (direction and distance) of the device 200 relative to the reference location.
[0029] The magnetometer (s) may determine magnetic field strengths in different directions which may be used to determine orientation of the device 200. For example, the orientation may be used to provide a digital compass for the device 200. The magnetometer (s) may include a two-dimensional magnetometer configured to detect and provide indications of magnetic field strength in two orthogonal dimensions. The magnetometer (s) may include a three-dimensional magnetometer configured to detect and provide indications of magnetic field strength in three orthogonal dimensions. The magnetometer (s) may provide means for sensing a magnetic field and providing indications of the magnetic field, e.g., to the processor 210.
[0030] The transceiver 215 may include a wireless transceiver 240 and a wired transceiver 250 configured to communicate with other devices through wireless connections and wired connections, respectively. For example, the wireless transceiver 240 may include a wireless transmitter 242 and a wireless receiver 244 coupled to an antenna 246 for transmitting (e.g., on one or more uplink channels and / or one or more sidelink channels) and / or receiving (e.g., on one or more downlink channels and / or one or more sidelink channels) wireless signals 248 and transducing signals from the wireless signals 248 to guided (e.g., wired electrical and / or optical) signals and from guided (e.g., wired electrical and / or optical) signals to the wireless signals 248. The wireless transmitter 242 includes appropriate components (e.g., a power amplifier and a digital-to-analog converter) . The wireless receiver 244 includes appropriate components (e.g., one or more amplifiers, one or more frequency filters, and an analog-to-digital converter) . The wireless transmitter 242 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wireless receiver 244 may include multiple receivers that may be discrete components or combined / integrated components. The wireless transceiver 240 may be configured to communicate signals (e.g., with TRPs and / or one or more other devices) according to a variety of radio access technologies (RATs) such as 5G New Radio (NR) , GSM (Global System for Mobiles) , UMTS (Universal Mobile Telecommunications System) , AMPS (Advanced Mobile Phone System) , CDMA (Code Division Multiple Access) , WCDMA (Wideband CDMA) , LTE (Long Term Evolution) , LTE Direct (LTE-D) , 3GPP LTE-V2X (PC5) , IEEE 802.11 (including IEEE 802.11p) , short-range wireless communication technology, Direct (WiFi-D) , short-range wireless communication technology, short-range wireless communication technology, etc. New Radio may use mm-wave frequencies and / or sub-6GHz frequencies. The wired transceiver 250 may include a wired transmitter 252 and a wired receiver 254 configured for wired communication, e.g., a network interface that may be utilized to communicate with an NG-RAN (Next Generation –Radio Access Network) to send communications to, and receive communications from, the NG-RAN. The wired transmitter 252 may include multiple transmitters that may be discrete components or combined / integrated components, and / or the wired receiver 254 may include multiple receivers that may be discrete components or combined / integrated components. The wired transceiver 250 may be configured, e.g., for optical communication and / or electrical communication. The transceiver 215 may be communicatively coupled to the transceiver interface 214, e.g., by optical and / or electrical connection. The transceiver interface 214 may be at least partially integrated with the transceiver 215. The wireless transmitter 242, the wireless receiver 244, and / or the antenna 246 may include multiple transmitters, multiple receivers, and / or multiple antennas, respectively, for sending and / or receiving, respectively, appropriate signals.
[0031] The user interface 216 may comprise one or more of several devices such as, for example, a speaker, microphone, display device, vibration device, keyboard, touch screen, etc. The user interface 216 may include more than one of any of these devices. The user interface 216 may be configured to enable a user to interact with one or more applications hosted by the device 200. For example, the user interface 216 may store indications of analog and / or digital signals in the memory 211 to be processed by DSP 231 and / or the general-purpose / application processor 230 in response to action from a user. Similarly, applications hosted on the device 200 may store indications of analog and / or digital signals in the memory 211 to present an output signal to a user. The user interface 216 may include an audio input / output (I / O) device comprising, for example, a speaker, a microphone, digital-to-analog circuitry, analog-to-digital circuitry, an amplifier and / or gain control circuitry (including more than one of any of these devices) . Other configurations of an audio I / O device may be used. Also or alternatively, the user interface 216 may comprise one or more touch sensors responsive to touching and / or pressure, e.g., on a keyboard and / or touch screen of the user interface 216.
[0032] The SPS receiver 217 (e.g., a Global Positioning System (GPS) receiver) may be capable of receiving and acquiring SPS signals 260 via an SPS antenna 262. The SPS signals 260 may be for a Satellite Positioning System (SPS) (e.g., a Global Navigation Satellite System (GNSS) ) like the Global Positioning System (GPS) , the Global Navigation Satellite System (GLONASS) , Galileo, or Beidou or some other local or regional SPS such as the Indian Regional Navigational Satellite System (IRNSS) , the European Geostationary Navigation Overlay Service (EGNOS) , or the Wide Area Augmentation System (WAAS) . The SPS antenna 262 is configured to transduce the SPS signals 260 from wireless signals to guided signals, e.g., wired electrical or optical signals, and may be integrated with the antenna 246. The SPS receiver 217 may be configured to process, in whole or in part, the acquired SPS signals 260 for estimating a location of the device 200. For example, the SPS receiver 217 may be configured to determine location of the device 200 by trilateration using the SPS signals 260. The general-purpose / application processor 230, the memory 211, the DSP 231 and / or one or more specialized processors (not shown) may be utilized to process acquired SPS signals, in whole or in part, and / or to calculate an estimated location of the device 200, in conjunction with the SPS receiver 217. The memory 211 may store indications (e.g., measurements) of the SPS signals 260 and / or other signals (e.g., signals acquired from the wireless transceiver 240) for use in performing positioning operations. The general-purpose / application processor 230, the DSP 231, and / or one or more specialized processors, and / or the memory 211 may provide or support a location engine for use in processing measurements to estimate a location of the device 200.
[0033] The device 200 may include the camera 218 for capturing still or moving imagery. The camera 218 may comprise, for example, an imaging sensor (e.g., a charge coupled device or a CMOS (Complementary Metal-Oxide Semiconductor) imager) , a lens, analog-to-digital circuitry, frame buffers, etc. Additional processing, conditioning, encoding, and / or compression of signals representing captured images may be performed by the general-purpose / application processor 230 and / or the DSP 231. Also or alternatively, the video processor 233 may perform conditioning, encoding, compression, and / or manipulation of signals representing captured images. The video processor 233 may decode / decompress stored image data for presentation on a display device (not shown) , e.g., of the user interface 216.
[0034] The position device (PD) 219 may be configured to determine a position of the device 200, motion of the device 200, and / or relative position of the device 200, and / or time. For example, the PD 219 may communicate with, and / or include some or all of, the SPS receiver 217. The PD 219 may work in conjunction with the processor 210 and the memory 211 as appropriate to perform at least a portion of one or more positioning methods, although the description herein may refer to the PD 219 being configured to perform, or performing, in accordance with the positioning method (s) . The PD 219 may also or alternatively be configured to determine location of the device 200 using terrestrial-based signals (e.g., at least some of the wireless signals 248) for trilateration, for assistance with obtaining and using the SPS signals 260, or both. The PD 219 may be configured to determine location of the device 200 based on a coverage area of a serving base station and / or another technique such as E-CID (Enhanced Cell ID) . The PD 219 may be configured to use one or more images from the camera 218 and image recognition combined with known locations of landmarks (e.g., natural landmarks such as mountains and / or artificial landmarks such as buildings, bridges, streets, etc. ) to determine location of the device 200. The PD 219 may be configured to use one or more other techniques (e.g., relying on the UE’s self-reported location (e.g., part of the UE’s position beacon) ) for determining the location of the device 200, and may use a combination of techniques (e.g., SPS and terrestrial positioning signals) to determine the location of the device 200. The PD 219 may include one or more of the sensors 213 (e.g., gyroscope (s) , accelerometer (s) , magnetometer (s) , etc. ) that may sense orientation and / or motion of the device 200 and provide indications thereof that the processor 210 (e.g., the general-purpose / application processor 230 and / or the DSP 231) may be configured to use to determine motion (e.g., a velocity vector and / or an acceleration vector) of the device 200. The PD 219 may be configured to provide indications of uncertainty and / or error in the determined position and / or motion. Functionality of the PD 219 may be provided in a variety of manners and / or configurations, e.g., by the general-purpose / application processor 230, the transceiver 215, the SPS receiver 217, and / or another component of the device 200, and may be provided by hardware, software, firmware, or various combinations thereof.
[0035] The ADAS 220 is configured to assist a user with driving the ego vehicle 200, or even to autonomously drive the ego vehicle 200. The ADAS 220 is configured to communicate with the sensor (s) 213, the SPS receiver 217, the camera 218, and / or the PD 219 to determine driving obstacles and options. The ADAS 220 is configured to use information regarding driving obstacles and / or options to make driving decisions and to actuate one or more driving apparatus (e.g., an accelerator, brakes, a steering wheel, etc. ) to implement driving decisions. For example, the ADAS 220 may perform one or more driving operations per one or more commands. The ADAS 220 may include components to control a throttle, brakes, and a steering mechanism of the ego vehicle 200, and may respond to one or more commands, e.g., from the processor 210, to control the throttle, brakes, and / or steering mechanism, e.g., to move the ego vehicle 200 along a trajectory into a driving gap and to sync the ego vehicle 200 in the driving gap (e.g., maintain the vehicle in a moving driving gap) .
[0036] Referring to FIG. 3, an ego vehicle 300 includes a processor 310, a transceiver 320, a memory 330, and positioning sensors 340, communicatively coupled to each other by a bus 350. Even if referred to in the singular, the processor 310 may include one or more processors, the transceiver 320 may include one or more transceivers (e.g., one or more transmitters and / or one or more receivers) , and the memory 330 may include one or more memories. The ego vehicle 300 may take any of a variety of forms and may be called a vehicle UE (VUE) . The ego vehicle 300 may include the components shown in FIG. 3, and may include one or more other components such as any of those shown in FIG. 2 such that the device 200 may be an example of the ego vehicle 300. For example, the processor 310 may include one or more of the components of the processor 210. The transceiver 320 may include one or more of the components of the transceiver 215, e.g., the wireless transmitter 242 and the antenna 246, or the wireless receiver 244 and the antenna 246, or the wireless transmitter 242, the wireless receiver 244, and the antenna 246. Also or alternatively, the transceiver 320 may include the wired transmitter 252 and / or the wired receiver 254. The memory 330 may be configured similarly to the memory 211, e.g., including software with processor-readable instructions configured to cause the processor 310 to perform functions. The positioning sensors 340 include, for example, one or more SPS receivers, one or more IMUs, one or more terrestrial-network receivers and / or transmitters (e.g., of the transceiver 320) , one or more NTN (Non-Terrestrial Network) receivers, one or more radars, and / or one or more cameras and / or one or more other sensors for use in obtaining measurements for determining a position estimate of the ego vehicle 300.
[0037] The description herein may refer to the processor 310 performing a function, but this includes other implementations such as where the processor 310 executes software (stored in the memory 330) and / or firmware. The description herein may refer to the ego vehicle 300 performing a function as shorthand for one or more appropriate components (e.g., the processor 310 and the memory 330) of the ego vehicle 300 performing the function. The processor 310 (possibly in conjunction with the memory 330 and, as appropriate, the transceiver 320) may include positioning unit 360 (which may include an ADAS) . The positioning unit 360 is discussed further herein, and the description herein may refer to the positioning unit 360 performing one or more functions, and / or may refer to the processor 310 generally, or the ego vehicle 300 generally, as performing any of the functions of the positioning unit 360, with the ego vehicle 300 being configured to perform the functions.
[0038] Referring also to FIG. 4 and FIG. 5, example driving environments 400, 500 include various road configurations. The driving environments 400, 500 are examples, and other driving environments are possible. The driving environment 400 includes two roads 410, 420, with the road 410 overlapping the road 410 in a region 430 and including an overpass 440. An elevation of the road 420 at the overpass 440 is much different (higher) than an elevation of the road 410 under the overpass 440. The driving environment 400 further includes an on-ramp 450 connecting the road 410 to the road 420 in a region 460. An elevation of the on-ramp 450 varies from the elevation of the road 410 to the elevation of the road 420. Each of the regions 430, 460 includes a significant road elevation differential. The road 410, in this example, is flat and thus has a consistent (or nearly consistent) elevation. The driving environment includes a road 510 that is flat (or nearly flat) in a region 520 and has a significant elevation difference over a region 530 in which the road 510 overlies a portion of a mountain 540.
[0039] The positioning unit 360 (which may be called a localization module) is configured to determine a precise position (also called a position estimate, a location, or a location estimate) of the ego vehicle 300 relative to the environment of the ego vehicle 300, e.g., the environment 400 or the environment 500. The precise functioning of the positioning unit 360 depends on inputs (e.g., high-definition (HD) map data, GNSS data, camera data, IMU data, etc. ) to the positioning unit 360. The positioning unit 360 may perform one or more multi-sensor fusion algorithms to calculate a precise position of the ego vehicle 300, e.g., within a road lane, including how centered the ego vehicle 300 is within the lane and an orientation of the ego vehicle 300 relative to a direction of the lane.
[0040] Typically, an ADAS uses a six (6) degrees of freedom (DoF) input pose along with a HD map information to make driving decisions. The six degrees of freedom input pose includes an x, y, z location (e.g., latitude, longitude, and elevation (altitude)) and yaw, roll, and pitch orientations. The HD map data typically includes three-dimensional coordinates (latitude, longitude, and altitude) of environmental features. The use of a 6-DoF input pose and 3D HD map data may provide enhanced detail and may provide a challenge in computing complexity in data processing to achieve the enhanced detail. For example, Kalman filter or particle filter algorithms may process all the inputs from different sensors and match a sensor-fused pose within a specific lane of a 3D HD map, which is computationally intensive.
[0041] The positioning unit 360 is configured to leverage situations where elevation information is unnecessary in an ego vehicle pose to reduce computational complexity, which may reduce cost (e.g., energy, processing time) to determine a useful ego vehicle pose for driving decisions. In many scenarios, elevation information is unnecessary, e.g., where lane level position is desired and the ego vehicle 300 is disposed, e.g., in a flat region, or a region of a simple road network without overpasses, or on a road without a significant elevation change. An ego vehicle is often (e.g., 90%of the time or more) in an area where elevation information is unnecessary. In scenarios where elevation is not needed in an ego vehicle pose (or motion (e.g., velocity)) , the positioning unit 360 may use 2D processing to determine a 2D pose (or motion) . For example, the positioning unit 360 may convert a 3D model to a 2D model, or ignore elevation information of a 3D model, to determine ego vehicle information (e.g., pose and / or motion) . This may result in much less computing complexity than using all the 3D model information to determine ego vehicle pose and / or motion. For example, covariance matrix sizes may be reduced from 6x6 (x, y, a, yaw, roll, pitch) to 2x3 (x, y, yaw) as shown below.
[0042] Using a 2D model, the state to be estimated is a three-degree-of-freedom (3DOF) pose (position and rotation) with a 3x3 covariance matrix. Using a 3D model, the state to be estimated is a six-degree-of-freedom (6DOF) pose with a 6x6 covariance matrix.
[0043] Referring also to FIG. 6, a method 600 of determining a state estimation of an ego vehicle with selective 2D and 3D processing includes the stages shown. The method 600 is, however, an example and not limiting. The method 600 may be altered, e.g., by having one or more stages added, removed, rearranged, combined, performed concurrently, and / or having one or more stages each split into multiple stages. The method 600 may improve (and possibly optimize) position determination efficiency by intelligently selecting between 2D processing (e.g., a 2D processing model) and 3D processing (e.g., a 3D processing model) as appropriate. While the method 600 is discussed with actions being performed at the ego vehicle 300, one or more portions of the method 600, or the method 600 as a whole, may be performed at one or more entities other than the ego vehicle. For example, stage 650 may be omitted if elevation (and roll and pitch) data are ignored at stage 660.
[0044] At stage 610, the ego vehicle 300 obtains sensor data for use in determining a position estimate of the ego vehicle 300. For example, one or more of the positioning sensor (s) 340 (e.g., one or more of the sensor (s) 213, the SPS receiver 217, and / or the camera 218) may make one or more appropriate measurements (e.g., GNSS measurement (s) , camera measurement (s) , IMU measurement (s) , terrestrial-network-based positioning signal measurement (s) (e.g., Positioning Reference Signal (PRS) measurement (s) ) , etc. ) . The positioning unit 360 may thus, for example, obtain positioning signal measurements, IMU measurements (e.g., indications of acceleration, turning, etc. ) , etc.
[0045] At stage 620, the positioning unit 360 obtains map data, e.g., HD map data, 2D map data, 3D map data, etc. For example, the positioning unit 360 may retrieve map data from the memory 530. As another example, the positioning unit 360 may update and / or determine updated map data corresponding to an environment containing the ego vehicle 300 (e.g., based on a coarse position estimate (e.g., E-CID, low-accuracy SPS position estimation, etc. ) for the ego vehicle 300) . The positioning unit 360 may, for example, receive map data via the transceiver 320 and / or determine map data, e.g., by obtaining sensor information (e.g., one or more images) and updating map data that conflicts with the obtained sensor information.
[0046] At stage 630, an inquiry is made as to whether to perform 2D processing or 3D processing to determine ego vehicle position (e.g., for ego vehicle pose and / or motion determination) . For example, an inquiry may be made as to whether safety concerns favor use of a three-dimensional position estimate, or whether one or more IMU measurements favor two-dimensional or three-dimensional position estimate, or whether only 3D processing can yield a desired position estimate accuracy, and / or whether the ego vehicle 300 is in a region of significant elevation differential.
[0047] For example, the positioning unit 360 may divide 3D map information into 3D map areas (with significant elevation differentials) and 2D map areas (without significant elevation differentials) to determine whether to perform 2D processing or 3D processing for location determination. The 3D map information may be divided well before ego vehicle location is to be determined, and the 3D map information updated as appropriate over time and the updated map information analyzed to divide the updated map data into 3D regions and 2D regions (e.g., to determine whether a change in prior divisions is warranted and, if so, to change the divisions) .
[0048] The 3D map regions may contain multi-level roads (e.g., an overpass, an underpass, a cloverleaf, a tunnel, a bridge, etc. ) , steep road (portions) (e.g., ramps, mountain roads, etc. ) with an elevation differential exceeding a threshold (e.g., a threshold elevation, a threshold angle from one point in a region to another point in the region relative to the ground, a threshold grade (percent) , etc. ) . In multi-level road 3D map regions, elevation information may be important for the ego vehicle to distinguish between roads at different heights (altitudes) . In steep-road 3D map regions, elevation information may be important because altitude and slope information may affect positioning accuracy, so a 6-DoF pose may be preferred or even needed.
[0049] The 2D map regions may correspond to flat areas and / or simple road network areas without any multi-level road. In such areas, road elevation changes may be insignificant such that elevation information is unnecessary when determining ego vehicle position. For example, during travel on a flat highway, lateral positioning is more important than vertical positioning, and thus elevation information may be able to be ignored without any (significant) impact on positioning accuracy and driving safety. For a 2D map area, the 3D map data may be changed by removing the elevation (and roll and pitch) information or by indicating that such information may be ignored during processing to determine an ego vehicle location estimate.
[0050] The positioning unit 360 may determine whether a differential between a maximum elevation of a region (e.g., the region 450) and a minimum elevation of a region, or an elevation differential between two points in the region, e.g., opposite positions in the region such as a point 451 in the region 450 and a point 452 at an opposite corner of the region 450. If an elevation differential for an area exceeds a threshold, then the area may be designated as a 3D map area and if no elevation differential for the area exceeds a respective threshold, then the area may be designated as a 2D map area. Areas evaluated by the positioning unit 360 may be limited to roadways.
[0051] To determine whether the ego vehicle 300 is in a region of significant elevation differential, and thus whether to perform 3D processing or 2D processing, the positioning unit 360 may determine whether the ego vehicle 300 is in a 2D map region or a 3D map region. For example, the positioning unit 360 may compare a coarse location estimate for the ego vehicle 300 with HD map data, i.e., divisions of 3D map regions and 2D map regions. Also or alternatively, the positioning unit 360 may determine whether sensor data (e.g., accelerometer data and / or gyroscope data) indicates that the ego vehicle 300 is undergoing significant elevation change.
[0052] The positioning unit 360 may determine whether one or more safety concerns favor 2D or 3D position determination. For example, if the ego vehicle 300 is on a road without a roadside barrier (e.g., guardrail) , then the positioning unit 360 may determine that 3D position determination, and thus 3D processing, is preferred. As another example, if the roll angle and / or pitch angle of the ego vehicle 300 is beyond one or more respective thresholds, then the positioning unit 360 may determine that the ego vehicle 300 is on a steep (e.g., mountain) road and that 3D position determination, and thus 3D processing, is preferred.
[0053] The positioning unit 360 may determine whether one or more IMU measurements favor two-dimensional or three-dimensional position estimate. For example, the positioning unit 360 may determine whether a yaw of the ego vehicle 300 exceeds a threshold yaw, whether a roll of the ego vehicle 300 exceeds a threshold roll, and / or whether a pitch of the ego vehicle 300 exceeds a threshold pitch. The thresholds may vary depending on one or more of the values, e.g., the threshold pitch may decrease as the value of the roll increases. If a threshold (or a combination of thresholds) is exceeded, then the positioning unit 360 may determine to perform 3D processing.
[0054] The positioning unit 360 may determine whether 2D or 3D processing can yield a desired level of positioning accuracy (e.g., location error below a desired threshold error value) . For example, the positioning unit 360 may determine to perform 3D positioning if the positioning unit 360 may determines that 3D positioning will yield a desired level of positioning accuracy and that 2D positioning will not yield the desired level of positioning accuracy.
[0055] If the positioning unit 360 determines at stage 630 to perform 3D processing (e.g., that 3D processing is preferred) for determining ego vehicle state (e.g., location) , then the method 600 proceeds to stage 640. If the positioning unit 360 determines at stage 630 that 2D processing is preferred (or at least acceptable) for determining ego vehicle state (e.g., location) , then the method 600 proceeds to stage 650.
[0056] At stage 640, the positioning unit 360 performs 3D-based state estimation. For example, the positioning unit 360 may process 3D map and sensor information in a Kalman Filter (KF) , an Enhanced Kalman Filter (EKF) , and / or a Particle Filter (PF) , and / or one or more other algorithms based on positioning data (e.g., sensor data obtained at stage 610) to update a predicted position to determine an estimation output 670 (e.g., a position estimate and ego vehicle rotation information) . If multiple processes (e.g., a KF and a PF) are performed, position estimate results of the multiple processes may be combined (e.g., averaged) to determine the estimation output 670.
[0057] Referring also to FIG. 7, at stage 650, the positioning unit 360 may convert 3D model data to 2D model data. For example, 2D map data 710 (including latitude, longitude, and altitude information sets) may be converted by a map data converter 720, implemented by the positioning unit 360, into 2D map data 730 (including latitude and longitude sets) . As another example, 3D sensor data 740 (including: x, y, z tuples; x-component of velocity, y-component of velocity, z-component of velocity tuples corresponding to respective position tuples; and yaw, roll, pitch tuples corresponding to respective position tuples) may be converted by a sensor data converter 750, implemented by the positioning unit 360, into 2D sensor data 760 (including: x, y pairs; x-component of velocity, y-component of velocity pairs corresponding to respective position pairs; and yaw values corresponding to respective position pairs) .
[0058] At stage 660, the positioning unit 360 performs 2D-based state estimation. For example, the positioning unit 360 may process 2D map and sensor information in a Kalman Filter (KF) , an Enhanced Kalman Filter (EKF) , and / or a Particle Filter (PF) , and / or one or more other algorithms based on positioning data (e.g., sensor data obtained at stage 610) to update a predicted position to determine the estimation output 670 (e.g., a position estimate and rotation information) . If multiple processes (e.g., a KF and a PF) are performed, position estimate results of the multiple processes may be combined (e.g., averaged) to determine the estimation output 670. The positioning unit 360 may process 2D map and sensor information by processing the 2D map data 730 and the 2D sensor data 760 determined at stage 650, or by ignoring elevation, roll, and pitch information from the 3D map data (instead of converting the 3D model data into 2D model data at stage 650 and processing the converted 2D model data) .
[0059] Referring also to FIG. 8 and FIG. 9, the estimation output 670 determined at stage 640 includes a 3D position estimate and the estimation output 670 determined at stage 660 includes a 2D position estimate. For example, the estimation output 670 may include a 3D position estimate 810 indicating a three-dimensional position (e.g., x, y, z) in a three-dimensional map, e.g., with three-dimensional indications of lanes 821, 822, 823 (e.g., three-dimensional points along lane dividers 831, 832, 833, 834) . As another example, the estimation output 670 may include a 2D position estimate 910 indicating a two-dimensional position (e.g., x, y) in a two-dimensional map, e.g., with two-dimensional indications of lanes 921, 922, (e.g., two-dimensional points along lane dividers 931, 932, 933) .
[0060] The method 600 may be performed in real time (e.g., with the map data obtained by retrieval from memory at stage 630) to obtain ego vehicle state quickly and often enough to facilitate accurate driving decisions. For example, the estimation output 670 may be updated at a sufficiently high frequency (e.g., 12 Hz or every 80 ms) to enable driving decisions to be made within safety standards.
[0061] Referring to FIG. 10, with further reference to FIGS. 1-9, a method 1000 of determining ego vehicle state for autonomous driving includes the stages shown. The method 1000 is, however, an example and not limiting. The method 1000 may be altered, e.g., by having one or more stages added, removed, rearranged, combined, performed concurrently, and / or having one or more stages each split into multiple stages.
[0062] At stage 1010, the method 1000 includes determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle. For example, at stage 630, the positioning unit 360 may determine whether 2D processing or 3D processing should be performed (e.g., is desired, or even required) . The processor 310, possibly in combination with the memory 330, possibly in combination with the transceiver 320 (e.g., the wireless receiver 244 and the antenna 246) and / or possibly in combination with one or more of the positioning sensor (s) 340 may comprise means for determining whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle.
[0063] At stage 1020, the method 1000 includes determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination. For example, at stage 660, the positioning unit 360 may determine a 2D location of the ego vehicle 300, based on processing two-dimensional information, based on the ego vehicle 300 being in a relatively flat region, 2D processing being able to satisfy one or more safety concerns, at least one IMU measurement favoring 2D location determination, and / or 2D processing being able to meet one or more desired location accuracy criteria. The processor 310, possibly in combination with the memory 330, may comprise means for determining a two-dimensional precise location of the ego vehicle.
[0064] At stage 1030, the method 1000 includes determining a three-dimensional precise location of the dynamic location of the ego vehicle corresponding to three- dimensional location determination. For example, at stage 640, the positioning unit 360 may determine a 3D location of the ego vehicle 300, based on processing three-dimensional information, based on the ego vehicle 300 being in a region of significant elevation differential (e.g., at least two points within the region exceeding one or more elevation difference thresholds (e.g., height, elevation angle, etc. ) , 3D processing being able (and possibly 2D processing not being able) to satisfy one or more safety concerns, at least one IMU measurement favoring 3D location determination, and / or 3D processing being able (and possibly 2D processing not being able) to meet one or more desired location accuracy criteria. The processor 310, possibly in combination with the memory 330, may comprise means for determining a three-dimensional precise location of the ego vehicle.
[0065] Implementations of the method 1000 may include one or more of the following features. In an example implementation, determining the dynamic condition of the ego vehicle comprises determining whether the ego vehicle is disposed in an area of significant elevation difference, wherein determining the two-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed in the area of significant elevation difference, and wherein determining the three-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed outside of the area of significant elevation difference. For example, at stage 630, the positioning unit 360 may determine whether the ego vehicle 300 is in a region of significant elevation differential (e.g., in a region with multiple levels of roads, a region containing a tunnel, a region containing a bridge, a region containing an overpass, a region containing an on ramp, a region containing an off ramp, a region containing a road on a hill or mountain (e.g., a road with a grade above a threshold grade) , etc., or in a relatively flat region, e.g., in a region with an elevation differential below a threshold such as a region of a simple road network without an overpass, tunnel, bridge, ramp, or hill) . In a further example implementation, determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold. For example, the positioning unit 360 may use a coarse location of the ego vehicle 300 to determine that a portion of a map that includes the coarse location is a 2D division of the map or a 3D division of the map with the 2D and 3D divisions of the map based on elevation difference within each division. In another further example implementation, the positioning unit 360 may use a coarse location of the ego vehicle 300 to obtain 3D map information of a region of the 3D map that includes the coarse location, and analyze the map region to determine whether points within the region differ in elevation (altitude) by more than a threshold value. In another further example implementation, the positioning unit 360 may use one or more measurements of one or more of the positioning sensor (s) 340 (e.g., camera image (s) ) to determine one or more elevation differences between points proximate to the ego vehicle 300 to determine whether points proximate to the ego vehicle 300 differ in elevation by more than a threshold value. The processor 310, possibly in combination with the memory 330, possibly in combination with the transceiver 320 (e.g., the wireless receiver 244 and the antenna 246) and / or possibly in combination with one or more of the positioning sensor (s) 340 may comprise means for determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0066] Also or alternatively, implementations of the method 1000 may include one or more of the following features. In an example implementation, determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold. For example, the positioning unit 360 may analyze map information corresponding to a coarse location of the ego vehicle 300 and / or analyze one or more measurements of one or more of the positioning sensor (s) 340 to determine whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold. The processor 310, possibly in combination with the memory 330, possibly in combination with the transceiver 320 (e.g., the wireless receiver 244 and the antenna 246) and / or possibly in combination with one or more of the positioning sensor (s) 340 may comprise means for determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold. In another example implementation, determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels. For example, the positioning unit 360 may analyze map information corresponding to a coarse location of the ego vehicle 300 and / or analyze one or more measurements of one or more of the positioning sensor (s) 340 to determine whether points proximate to the ego vehicle 300 are of different road layer levels. The processor 310, possibly in combination with the memory 330, possibly in combination with the transceiver 320 (e.g., the wireless receiver 244 and the antenna 246) and / or possibly in combination with one or more of the positioning sensor (s) 340 may comprise means for determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.
[0067] Also or alternatively, implementations of the method 1000 may include one or more of the following features. In an example implementation, determining the two-dimensional precise location of the ego vehicle comprises processing driving-plane information while ignoring non-driving-plane information. For example, at stage 660, the positioning unit 360 may process two-dimensional data (e.g., x, y position information and yaw) while ignoring other data included in three-dimensional data (e.g., z position, roll, and pitch) , e.g., either due to non-driving plane information not being available for a region including the ego vehicle (e.g., data having been converted from 3D data to 2D data) , or by not processing available non-driving-plane information. The processor 310, possibly in combination with the memory 330, may comprise means for processing driving-plane information while ignoring non-driving-plane information. In a further example implementation, the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.
[0068] Also or alternatively, implementations of the method 1000 may include one or more of the following features. In an example implementation, determining the two-dimensional precise location of the ego vehicle comprises: converting three-dimensional map data to two-dimensional map data; converting three-dimensional sensor data to two-dimensional sensor data; and processing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle. For example, at stage 650 and as shown in FIG. 7, the positioning unit 360 converts the 3D map data 710 to the 2D map data 730 and converts the 3D sensor data 740 to the 2D sensor data 760 and processes the data 730, 760 to determine a 2D position estimate for the ego vehicle 300. The processor 310, possibly in combination with the memory 330, may comprise means for converting three-dimensional map data to two-dimensional map data, means for converting three-dimensional sensor data to two-dimensional sensor data, and means for processing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle. In another example implementation, determining the three-dimensional precise location of the ego vehicle is based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
[0069] Implementation examples
[0070] Implementation examples are provided in the following numbered clauses.
[0071] Clause 1. A method of determining ego vehicle state for autonomous driving, the method comprising:
[0072] determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;
[0073] determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and
[0074] determining a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.
[0075] Clause 2. The method of clause 1, wherein determining the dynamic condition of the ego vehicle comprises determining whether the ego vehicle is disposed in an area of significant elevation difference, wherein determining the two-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed in the area of significant elevation difference, and wherein determining the three-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed outside of the area of significant elevation difference.
[0076] Clause 3. The method of clause 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0077] Clause 4. The method of clause 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0078] Clause 5. The method of clause 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.
[0079] Clause 6. The method of clause 1, wherein determining the two-dimensional precise location of the ego vehicle comprises processing driving-plane information while ignoring non-driving-plane information.
[0080] Clause 7. The method of clause 6, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.
[0081] Clause 8. The method of clause 1, wherein determining the two-dimensional precise location of the ego vehicle comprises:
[0082] converting three-dimensional map data to two-dimensional map data;
[0083] converting three-dimensional sensor data to two-dimensional sensor data; and
[0084] processing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.
[0085] Clause 9. The method of clause 1, wherein determining the three-dimensional precise location of the ego vehicle is based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
[0086] Clause 10. An ego vehicle comprising:
[0087] at least one memory;
[0088] at least one sensor; and
[0089] at least one processor, communicatively coupled to the at least one memory and the at least one sensor, configured to:
[0090] determine, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;
[0091] determine a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and
[0092] determine a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.
[0093] Clause 11. The ego vehicle of clause 10, wherein the at least one processor is configured to determine the dynamic condition of the ego vehicle by determining whether the ego vehicle is disposed in an area of significant elevation difference, determine the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and determine the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.
[0094] Clause 12. The ego vehicle of clause 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0095] Clause 13. The ego vehicle of clause 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0096] Clause 14. The ego vehicle of clause 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.
[0097] Clause 15. The ego vehicle of clause 10, wherein to determine the two-dimensional precise location of the ego vehicle the at least one processor is configured to process driving-plane information and ignore non-driving-plane information.
[0098] Clause 16. The ego vehicle of clause 15, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.
[0099] Clause 17. The ego vehicle of clause 10, wherein to determine the two-dimensional precise location of the ego vehicle the at least one processor is configured to:
[0100] convert three-dimensional map data to two-dimensional map data;
[0101] convert three-dimensional sensor data to two-dimensional sensor data; and
[0102] process the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.
[0103] Clause 18. The ego vehicle of clause 10, wherein the at least one processor is configured to determine the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
[0104] Clause 19. An ego vehicle comprising:
[0105] means for determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;
[0106] means for determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and
[0107] means for determining a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.
[0108] Clause 20. The ego vehicle of clause 19, wherein the means for determining the dynamic condition of the ego vehicle comprise means for determining whether the ego vehicle is disposed in an area of significant elevation difference, wherein the means for determining the two-dimensional precise location of the ego vehicle are for determining the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and wherein the means for determining the three-dimensional precise location of the ego vehicle are for determining the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.
[0109] Clause 21. The ego vehicle of clause 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0110] Clause 22. The ego vehicle of clause 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0111] Clause 23. The ego vehicle of clause 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.
[0112] Clause 24. The ego vehicle of clause 19, wherein the means for determining the two-dimensional precise location of the ego vehicle comprise means for processing driving-plane information while ignoring non-driving-plane information.
[0113] Clause 25. The ego vehicle of clause 24, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.
[0114] Clause 26. The ego vehicle of clause 19, wherein the means for determining the two-dimensional precise location of the ego vehicle comprise:
[0115] means for converting three-dimensional map data to two-dimensional map data;
[0116] means for converting three-dimensional sensor data to two-dimensional sensor data; and
[0117] means for processing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.
[0118] Clause 27. The ego vehicle of clause 19, wherein the means for determining the three-dimensional precise location of the ego vehicle are for determining the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
[0119] Clause 28. A non-transitory, processor-readable storage medium comprising processor-readable instructions to cause at least one processor of an ego vehicle to:
[0120] determine, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;
[0121] determine a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; and
[0122] determine a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.
[0123] Clause 29. The non-transitory, processor-readable storage medium of clause 28, wherein the processor-readable instructions to cause the least one processor to determine the dynamic condition of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in an area of significant elevation difference, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and wherein the processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.
[0124] Clause 30. The non-transitory, processor-readable storage medium of clause 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0125] Clause 31. The non-transitory, processor-readable storage medium of clause 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.
[0126] Clause 32. The non-transitory, processor-readable storage medium of clause 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.
[0127] Clause 33. The non-transitory, processor-readable storage medium of clause 28, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to process driving-plane information while ignoring non-driving-plane information.
[0128] Clause 34. The non-transitory, processor-readable storage medium of clause 33, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.
[0129] Clause 35. The non-transitory, processor-readable storage medium of clause 28, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to:
[0130] convert three-dimensional map data to two-dimensional map data;
[0131] convert three-dimensional sensor data to two-dimensional sensor data; and
[0132] process the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.
[0133] Clause 36. The non-transitory, processor-readable storage medium of clause 28, wherein the processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
[0134] Other considerations
[0135] Other examples and implementations are within the scope of the disclosure and appended claims. For example, due to the nature of software and computers, functions described above can be implemented using software executed by a processor, hardware, firmware, hardwiring, or a combination of any of these. Features implementing functions may also be physically located at various positions, including being distributed such that portions of functions are implemented at different physical locations.
[0136] As used herein, the singular forms “a, ” “an, ” and “the” include the plural forms as well, unless the context clearly indicates otherwise. Thus, reference to a device in the singular (e.g., “adevice, ” “the device” ) , including in the claims, includes at least one, i.e., one or more, of such devices (e.g., “aprocessor” includes at least one processor (e.g., one processor, two processors, etc. ) , “the processor” includes at least one processor, “amemory” includes at least one memory, “the memory” includes at least one memory, etc. ) . The phrases “at least one” and “one or more” are used interchangeably and such that “at least one” referred-to object and “one or more” referred-to objects include implementations that have one referred-to object and implementations that have multiple referred-to objects. For example, “at least one processor” and “one or more processors” each includes implementations that have one processor and implementations that have multiple processors. Also, a “set” as used herein includes one or more members, and a “subset” contains fewer than all members of the set to which the subset refers.
[0137] The terms “comprises, ” “comprising, ” “includes, ” and / or “including, ” as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0138] Also, as used herein, a list of items prefaced by “at least one of” or prefaced by “one or more of” indicates a disjunctive list such that, for example, a list of “at least one of A, B, or C, ” or a list of “at least one of A, B, and C, ” or a list of “one or more of A, B, or C” , or a list of “one or more of A, B, and C, ” or a list of “Aor B or C” means A, or B, or C, or AB (Aand B) , or AC (Aand C) , or BC (B and C) , or ABC (i.e., A and B and C) , or combinations with more than one feature (e.g., AA, AAB, ABBC, etc. ) . Thus, a recitation that an item, e.g., a processor, is configured to perform a function regarding at least one of A or B, or a recitation that an item is configured to perform a function A or a function B, means that the item may be configured to perform the function regarding A, or may be configured to perform the function regarding B, or may be configured to perform the function regarding A and B. For example, a phrase of “aprocessor configured to measure at least one of A or B” or “aprocessor configured to measure A or measure B” means that the processor may be configured to measure A (and may or may not be configured to measure B) , or may be configured to measure B (and may or may not be configured to measure A) , or may be configured to measure A and measure B (and may be configured to select which, or both, of A and B to measure) . Similarly, a recitation of a means for measuring at least one of A or B includes means for measuring A (which may or may not be able to measure B) , or means for measuring B (and may or may not be configured to measure A) , or means for measuring A and B (which may be able to select which, or both, of A and B to measure) . As another example, a recitation that an item, e.g., a processor, is configured to at least one of perform function X or perform function Y means that the item may be configured to perform the function X, or may be configured to perform the function Y, or may be configured to perform the function X and to perform the function Y. For example, a phrase of “aprocessor configured to at least one of measure X or measure Y” means that the processor may be configured to measure X (and may or may not be configured to measure Y) , or may be configured to measure Y (and may or may not be configured to measure X) , or may be configured to measure X and to measure Y (and may be configured to select which, or both, of X and Y to measure) .
[0139] As used herein, unless otherwise stated, a statement that a function or operation is “based on” an item or condition means that the function or operation is based on the stated item or condition and may be based on one or more items and / or conditions in addition to the stated item or condition.
[0140] Substantial variations may be made in accordance with specific requirements. For example, customized hardware might also be used, and / or particular elements might be implemented in hardware, software (including portable software, such as applets, etc. ) executed by a processor, or both. Further, connection to other computing devices such as network input / output devices may be employed. Components, functional or otherwise, shown in the figures and / or discussed herein as being connected or communicating with each other are communicatively coupled unless otherwise noted. That is, they may be directly or indirectly connected to enable communication between them.
[0141] The systems and devices discussed above are examples. Various configurations may omit, substitute, or add various procedures or components as appropriate. For instance, features described with respect to certain configurations may be combined in various other configurations. Different aspects and elements of the configurations may be combined in a similar manner. Also, technology evolves and, thus, many of the elements are examples and do not limit the scope of the disclosure or claims.
[0142] Specific details are given in the description herein to provide a thorough understanding of example configurations (including implementations) . However, configurations may be practiced without these specific details. For example, well-known circuits, processes, algorithms, structures, and techniques have been shown without unnecessary detail in order to avoid obscuring the configurations. The description herein provides example configurations, and does not limit the scope, applicability, or configurations of the claims. Rather, the preceding description of the configurations provides a description for implementing described techniques. Various changes may be made in the function and arrangement of elements.
[0143] The terms “processor-readable medium, ” “machine-readable medium, ” and “computer-readable medium, ” as used herein, refer to any medium that participates in providing data that causes a machine to operate in a specific fashion. Using a computing platform, various processor-readable media might be involved in providing instructions / code to processor (s) for execution and / or might be used to store and / or carry such instructions / code (e.g., as signals) . In many implementations, a processor-readable medium is a physical and / or tangible storage medium. Such a medium may take many forms, including but not limited to, non-volatile media and volatile media. Non-volatile media include, for example, optical and / or magnetic disks. Volatile media include, without limitation, dynamic memory.
[0144] Having described several example configurations, various modifications, alternative constructions, and equivalents may be used. For example, the above elements may be components of a larger system, wherein other rules may take precedence over or otherwise modify the application of the disclosure. Also, a number of operations may be undertaken before, during, or after the above elements are considered. Accordingly, the above description does not bound the scope of the claims.
[0145] Unless otherwise indicated, “about” and / or “approximately” as used herein when referring to a measurable value such as an amount, a temporal duration, and the like, encompasses variations of ±20%or ±10%, ±5%, or ±0.1%from the specified value, as appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein. Unless otherwise indicated, “substantially” as used herein when referring to a measurable value such as an amount, a temporal duration, a physical attribute (such as frequency) , and the like, also encompasses variations of ±20%or ±10%, ±5%, or ±0.1%from the specified value, as appropriate in the context of the systems, devices, circuits, methods, and other implementations described herein.
[0146] A statement that a value exceeds (or is more than or above) a first threshold value is equivalent to a statement that the value meets or exceeds a second threshold value that is slightly greater than the first threshold value, e.g., the second threshold value being one value higher than the first threshold value in the resolution of a computing system. A statement that a value is less than (or is within or below) a first threshold value is equivalent to a statement that the value is less than or equal to a second threshold value that is slightly lower than the first threshold value, e.g., the second threshold value being one value lower than the first threshold value in the resolution of a computing system.
Claims
1.A method of determining ego vehicle state for autonomous driving, the method comprising:determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; anddetermining a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.2.The method of claim 1, wherein determining the dynamic condition of the ego vehicle comprises determining whether the ego vehicle is disposed in an area of significant elevation difference, wherein determining the two-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed in the area of significant elevation difference, and wherein determining the three-dimensional precise location of the ego vehicle is based on the ego vehicle being disposed outside of the area of significant elevation difference.3.The method of claim 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.4.The method of claim 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.5.The method of claim 2, wherein determining whether the ego vehicle is disposed in the area of significant elevation difference comprises determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.6.The method of claim 1, wherein determining the two-dimensional precise location of the ego vehicle comprises processing driving-plane information while ignoring non-driving-plane information.7.The method of claim 6, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.8.The method of claim 1, wherein determining the two-dimensional precise location of the ego vehicle comprises:converting three-dimensional map data to two-dimensional map data;converting three-dimensional sensor data to two-dimensional sensor data; andprocessing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.9.The method of claim 1, wherein determining the three-dimensional precise location of the ego vehicle is based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.10.An ego vehicle comprising:at least one memory;at least one sensor; andat least one processor, communicatively coupled to the at least one memory and the at least one sensor, configured to:determine, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;determine a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; anddetermine a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.11.The ego vehicle of claim 10, wherein the at least one processor is configured to determine the dynamic condition of the ego vehicle by determining whether the ego vehicle is disposed in an area of significant elevation difference, determine the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and determine the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.12.The ego vehicle of claim 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.13.The ego vehicle of claim 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.14.The ego vehicle of claim 11, wherein to determine whether the ego vehicle is disposed in the area of significant elevation difference the at least one processor is configured to determine whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.15.The ego vehicle of claim 10, wherein to determine the two-dimensional precise location of the ego vehicle the at least one processor is configured to process driving-plane information and ignore non-driving-plane information.16.The ego vehicle of claim 15, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.17.The ego vehicle of claim 10, wherein to determine the two-dimensional precise location of the ego vehicle the at least one processor is configured to:convert three-dimensional map data to two-dimensional map data;convert three-dimensional sensor data to two-dimensional sensor data; andprocess the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.18.The ego vehicle of claim 10, wherein the at least one processor is configured to determine the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.19.An ego vehicle comprising:means for determining, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;means for determining a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; andmeans for determining a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.20.The ego vehicle of claim 19, wherein the means for determining the dynamic condition of the ego vehicle comprise means for determining whether the ego vehicle is disposed in an area of significant elevation difference, wherein the means for determining the two-dimensional precise location of the ego vehicle are for determining the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and wherein the means for determining the three-dimensional precise location of the ego vehicle are for determining the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.21.The ego vehicle of claim 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.22.The ego vehicle of claim 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.23.The ego vehicle of claim 20, wherein the means for determining whether the ego vehicle is disposed in the area of significant elevation difference comprise means for determining whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.24.The ego vehicle of claim 19, wherein the means for determining the two-dimensional precise location of the ego vehicle comprise means for processing driving-plane information while ignoring non-driving-plane information.25.The ego vehicle of claim 24, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.26.The ego vehicle of claim 19, wherein the means for determining the two-dimensional precise location of the ego vehicle comprise:means for converting three-dimensional map data to two-dimensional map data;means for converting three-dimensional sensor data to two-dimensional sensor data; andmeans for processing the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.27.The ego vehicle of claim 19, wherein the means for determining the three-dimensional precise location of the ego vehicle are for determining the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.28.A non-transitory, processor-readable storage medium comprising processor-readable instructions to cause at least one processor of an ego vehicle to:determine, based on a dynamic condition of the ego vehicle, whether to determine a two-dimensional precise location of the ego vehicle or a three-dimensional precise location of the ego vehicle;determine a two-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to two-dimensional location determination; anddetermine a three-dimensional precise location of the ego vehicle based on the dynamic condition of the ego vehicle corresponding to three-dimensional location determination.29.The non-transitory, processor-readable storage medium of claim 28, wherein the processor-readable instructions to cause the least one processor to determine the dynamic condition of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in an area of significant elevation difference, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle based on the ego vehicle being disposed in the area of significant elevation difference, and wherein the processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle based on the ego vehicle being disposed outside of the area of significant elevation difference.30.The non-transitory, processor-readable storage medium of claim 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether an elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.31.The non-transitory, processor-readable storage medium of claim 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether a road elevation difference of a region of a map corresponding to a present location of the ego vehicle exceeds a threshold.32.The non-transitory, processor-readable storage medium of claim 29, wherein the processor-readable instructions to cause the least one processor to determine whether the ego vehicle is disposed in the area of significant elevation difference comprise processor-readable instructions to cause the least one processor to determine whether a region of a map corresponding to a present location of the ego vehicle includes multiple road layer levels.33.The non-transitory, processor-readable storage medium of claim 28, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to process driving-plane information while ignoring non-driving-plane information.34.The non-transitory, processor-readable storage medium of claim 33, wherein the driving-plane information comprises at least one of map latitude, map longitude, ego vehicle position latitude, ego vehicle position longitude, ego vehicle latitudinal speed, ego vehicle longitudinal speed, and ego vehicle yaw, and wherein the non-driving-plane information comprises at least one of map altitude, ego vehicle position elevation, ego vehicle roll, and ego vehicle pitch.35.The non-transitory, processor-readable storage medium of claim 28, wherein the processor-readable instructions to cause the least one processor to determine the two-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to:convert three-dimensional map data to two-dimensional map data;convert three-dimensional sensor data to two-dimensional sensor data; andprocess the two-dimensional map data and the two-dimensional sensor data to determine the two-dimensional precise location of the ego vehicle.36.The non-transitory, processor-readable storage medium of claim 28, wherein the processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle comprise processor-readable instructions to cause the least one processor to determine the three-dimensional precise location of the ego vehicle based on at least one of (1) at least one safety concern favoring three-dimensional location determination of the ego vehicle, (2) at least one inertial measurement unit measurement favoring three-dimensional location determination of the ego vehicle, and (3) three-dimensional processing being able to meet a desired position accuracy and two-dimensional processing being unable to meet the desired position accuracy.
Citation Information
Patent Citations
Appratus and method for judgment 3 dimension
CN103323013A
Map navigation method and apparatus
CN105865482A
Three-dimensional lane map construction method and device, equipment and storage medium
CN114018239A
Internet of vehicles relay node switching mechanism applied to two-dimensional and three-dimensional scenes
CN115623449A
Vehicle mounted navigation three-dimensional path display system
CN1804552A