Recognizing radar returns using velocity and position information.

By employing radar return recognition techniques using velocity and position information, autonomous vehicles can differentiate between direct and reflected echoes, improving navigation accuracy and safety by filtering out phantom objects.

JP7752718B2Active Publication Date: 2025-10-10ZOOX INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024053519
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-02-28
Filing Date
2024-03-28
Publication Date
2025-10-10
Estimated Expiration
2040-02-25

AI Technical Summary

Technical Problem

Autonomous vehicles face challenges in navigating environments due to inaccurate or erroneous sensor data from radar reflections caused by vehicles, buildings, and other objects, leading to unsafe and uncomfortable traversal.

Method used

Techniques for identifying radar returns using velocity and position information to distinguish between direct object echoes and reflected echoes, employing pairwise comparisons and additional sensor data to confirm the presence of actual objects, thereby filtering out reflected clutter.

Benefits of technology

Improves the accuracy and safety of autonomous vehicle navigation by reducing processing load and preventing unnecessary actions based on phantom objects, enhancing trajectory generation and user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007752718000001
    Figure 0007752718000001
  • Figure 0007752718000002
    Figure 0007752718000002
  • Figure 0007752718000003
    Figure 0007752718000003
Patent Text Reader

Abstract

To relate to recognition of radar reflection using speed and position information.SOLUTION: Provided is a method for receiving radar data of environment from a radar sensor on a vehicle, determining an assumed reflection point when second radar reflection waves are related to first radar reflection waves, receiving sensor data related to the assumed reflection point from another sensor on a vehicle, determining that an object is disposed in a position within environment corresponding to the assumed reflection point from the sensor data, determining that the assumed reflection point is an actual reflection point, determining that the second radar reflection waves are reflected waves on the basis that the assumed reflection point is an actual reflection point, and generating updated radar data excluding the second radar reflection waves on the basis that the second radar reflection waves are reflected waves.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Various exemplary embodiments of the present invention relate to recognizing radar returns using velocity and position information. [Background technology]

[0002] This PCT International Patent Application claims the benefit of and priority to the filing date of U.S. Patent Application No. 16 / 288,990, filed February 28, 2019, and U.S. Patent Application No. 16 / 289,068, filed February 28, 2019, the disclosures of each of which are incorporated herein by reference.

[0003] Autonomous vehicles utilize various methods, devices, and systems to navigate environments that include obstacles. For example, autonomous vehicles may utilize route planning methods, devices, and systems to travel through areas that may include other vehicles, structures, pedestrians, etc. These planning systems may rely on sensor data, including radar data, LiDAR data, image data, etc. However, in certain examples, the presence of vehicles, structures, and / or objects in the environment can create reflections that result in inaccurate or erroneous sensor data, including, for example, false positives. The inaccurate and / or erroneous sensor data can pose challenges to safely and comfortably navigating an environment. [Brief explanation of the drawings]

[0004] The detailed description will be set forth with reference to the accompanying drawings, in which the leftmost digit(s) of a reference number identifies the figure in which the reference number first appears. Use of the same reference number in different figures indicates similar or identical components or features.

[0005] [Figure 1] 1 is a schematic diagram illustrating an exemplary vehicle including a radar sensor for sensing objects in an environment, and the environment in which the vehicle operates, according to an embodiment of the present disclosure. [Figure 2] 2 is a schematic diagram of the environment of FIG. 1 illustrating an exemplary technique for using velocity information to distinguish radar returns associated with objects in the environment from reflected returns reflected from intervening objects, according to an embodiment of the present disclosure. [Figure 3] FIG. 2 is another schematic diagram of the environment of FIG. 1 illustrating an exemplary technique for using position information to distinguish radar returns associated with objects in the environment from reflected returns reflected from intervening objects, according to an embodiment of the present disclosure. [Figure 4] FIG. 1 is a schematic block diagram illustrating an example system including a vehicle and a computing device that can be used to implement the radar reflection recognition techniques described herein, in accordance with embodiments of the present disclosure. [Figure 5] 1 is a flowchart illustrating an exemplary process for implementing a radar return recognition technique using velocity information, according to an embodiment of the present disclosure. [Figure 6] 1 is a flowchart illustrating an exemplary process for implementing a radar return recognition technique using location information, according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION

[0006] As explained above, some types of sensor data, e.g., radar data, may be susceptible to reflections from, for example, vehicles, buildings, and other objects in the environment. Such reflected clutter can pose challenges to an autonomous vehicle's safe and / or comfortable traversal of the environment. Planning in response to these nonexistent or phantom "objects" can cause the vehicle to take unnecessary actions, e.g., braking, steering, etc.

[0007] This application describes techniques for identifying reflected echoes in radar sensor data captured by a radar system. Generally, a radar sensor may emit radio energy that reflects (or bounces off) objects in the environment before returning to the sensor. When the emitted energy returns directly from the object to the radar sensor, the radar sensor can capture object echoes that contain accurate data about the object (e.g., distance, position, velocity, etc.). However, in some instances, the radio energy can reflect off a variety of objects in the environment before returning to the radar sensor. In these instances, the radar sensor can capture reflected echoes that do not accurately represent objects in the environment. In at least some instances, without knowing whether these echoes are from actual objects or reflections, safety-critical path planning for autonomous vehicles can be affected.

[0008] In one example, the techniques described herein may determine that a radar return is a reflected return using a pairwise comparison of the return, e.g., the return being considered, to determine the object return. More specifically, a radar return not associated with a known object may be compared with an object return (e.g., a return associated with a known object) to determine whether the radar return generally corresponds to a theoretical reflection of the object return from some hypothetical object. In one example, the object return can be determined from among all radar returns based on information relating the return to a track or other previously acquired information. As a non-limiting example, the theoretical return can be determined by projecting the object velocity (magnitude and direction from the object return that may be caused by the radar return) onto a radial direction extending from the vehicle to the return being considered. For example, the radial component of the projected velocity extending along the radial direction represents the expected velocity of the reflection of the object return along this radial direction. Thus, when the magnitude of the radial component of the projected velocity corresponds to the velocity associated with the return in question, the return may be identified as a reflected return.

[0009] In some examples, the techniques described herein can determine that a return is reflected using a pairwise comparison of radar returns where no prior knowledge is available. For example, any two returns may be compared to determine whether it is theoretically possible for one of the returns, e.g., the more distant one, to be a reflection of the other. In some examples, such a comparison may be based on projecting the velocity of the closer return onto the location of the more distant one. In other examples, the locations of the returns can be used to determine a theoretical reflection point on a line between the sensor and the more distant one.

[0010] In certain examples, the techniques described herein may also function to confirm that an identified reflected echo is actually a reflection. For example, the techniques described herein may determine a hypothetical reflection point, e.g., a point along the radial direction of the considered echo, from which wireless energy would be reflected if the considered echo were a reflected echo. In aspects of the present disclosure, additional sensor information about the environment, e.g., LiDAR data, additional radar data, time-of-flight data, SONAR data, image data, etc., may be used to confirm the presence of an object proximate to the reflection point. In other words, the presence of an object at the hypothetical or calculated reflection point may further suggest (and / or confirm) that the echo is a reflected echo of another echo.

[0011] Also, in some implementations, the techniques described herein can determine a subset of all radar returns for search as potential reflected returns. For example, the radar returns may be filtered to include only radar returns that are likely to be reflected returns and / or that may have a non-negligible impact on the vehicle's operation. In some examples, returns associated with tracks or other previously acquired information may be designated as object returns and therefore not potential reflected returns. Furthermore, returns that are relatively closer to the vehicle, e.g., closer radially, than object returns may not be likely to be reflected returns and therefore may be excluded from consideration using the techniques described herein. Furthermore, radar returns with speeds below a threshold speed may be ignored, e.g., because they are not considered by the vehicle's planning system. In some examples, the threshold speed may vary with distance from the vehicle. In at least some instances, filtering such radar returns may reduce the amount of time, processing, and / or memory required to determine whether a return is a reflection of an actual object.

[0012] In some examples, information about reflected radar returns may be output to be used by a vehicle computing device of the autonomous vehicle to control the autonomous vehicle to safely traverse the environment. For example, the vehicle computing device may exclude the reflected returns from route planning and / or trajectory planning. In this manner, the autonomous vehicle does not brake, steer, or otherwise take action in response to the phantom “object.” Furthermore, the vehicle computing device may not track or otherwise follow returns determined to be reflected returns, which may, for example, reduce processing load.

[0013] The techniques described herein can improve the functionality of a computing device in several ways. For example, in the context of determining control for a vehicle, the amount of data to be considered can be reduced, for example, by filtering out reflected clutter, thereby reducing excessive resources devoted to unnecessary decisions about the environment. Improved trajectory generation can improve safety outcomes and improve the rider experience (e.g., by reducing the occurrence of unnecessary braking in response to phantom objects, sudden turns to avoid phantom objects, and the like). These and other improvements in computer functionality and / or user experience are described herein.

[0014] The techniques described herein can be implemented in multiple ways. Exemplary implementations are provided below with reference to the accompanying figures. Although described in the context of an autonomous vehicle, the methods, apparatus, and systems described herein can be applied to a variety of systems (e.g., robotic platforms) and are not limited to autonomous vehicles. In another example, the techniques can be utilized in an aviation or nautical context, or in any system that uses machine vision.

[0015] 1 is a schematic diagram of an environment 100 in which a vehicle 102 operates. In the illustrated example, the vehicle 102 is moving in the environment, although in other examples, the vehicle 102 may be stationary and / or parked in the environment 100. The vehicle 102 includes one or more radar sensor systems 104 that capture data representative of the environment 100. By way of example, and not limitation, the vehicle 102 may be an autonomous vehicle configured to operate under a Level 5 classification issued by the U.S. Department of Transportation's National Highway Traffic Safety Administration, which describes a vehicle that can perform all safety-critical functions throughout its entire journey without a driver (or passenger) being expected to control the vehicle at any time. In such an example, the vehicle 102 may be passengerless, as it may be configured to control all functions from start to stop, including all parking functions. This is by way of example only, and the systems and methods described herein may be incorporated into any land, air, or water vehicle, including vehicles ranging from those that must be manually controlled by a driver at all times to those that are partially or fully autonomously controlled. Further details associated with vehicle 102 are described below.

[0016] Vehicle 102 may move through environment 100, for example, generally in the direction indicated by arrow 106 relative to one or more other objects. For example, environment 100 may include dynamic objects, such as additional vehicle 108 (moving generally in the direction indicated by arrow 110), and stationary objects, such as a first parked vehicle 112(1), a second parked vehicle 112(2), a third parked vehicle 112(3) (collectively, “parked vehicles 112”), a first structure 114(1), a second vehicle 114(2), and a third vehicle 114(3) (collectively, “structures 114”). The additional vehicle 106, the parked vehicle 112, and the structure 114 are merely examples of objects that may be present in the environment 100; additional and / or different objects may also or alternatively be present in the environment 100, including, but not limited to, vehicles, pedestrians, bicyclists, trees, road signs, fixtures, etc.

[0017] In at least one example, as described above, the vehicle 102 may be associated with, and the radar sensor 104 may be disposed on, the vehicle 102. The radar sensor 104 may be configured to measure the range to an object and / or the velocity of the object. In an example system, the radar sensor 104 may include a Doppler sensor, a pulsed sensor, a continuous wave frequency modulation (CFWM) sensor, or the like. The radar sensor 104 may emit pulses of radio energy at predetermined intervals. In some implementations, the intervals may be configurable to facilitate enhanced detection of objects at relatively long or relatively close distances, for example. Generally, the pulses of radio energy emitted by the radar sensor 104 may reflect off objects in the environment 100 and be received by the radar sensor 104, for example, as radar data or radar returns.

[0018] In the example of FIG. 1 , wireless energy emitted by radar sensor 104 generally along the direction of arrow 116 may contact additional vehicle 108 and be reflected back toward radar sensor 104, e.g., generally along the direction of arrow 118. In this example, the wireless energy is emitted and returned along generally the same path, which may be object return path 120. Object return path 120 is substantially straight in the illustrated example. Wireless energy reflected along object return path 120 is captured by radar sensor 104, e.g., as object return 122. Object return 122 is illustrated as a block at a location determined based on the captured data. For example, information associated with object return 122 may include information indicating a location in the environment, e.g., the location of additional vehicle 108. The location information may include range and azimuth relative to vehicle 102, or a location in a local coordinate system or a global coordinate system. Also, in implementations, object return 122 may include signal strength information. For example, signal strength information can indicate the type of object. More specifically, radio waves may be reflected more strongly by objects with certain shapes and / or components. For example, large, flat surfaces and / or sharp edges are more reflective than rounded surfaces, and metal is more reflective than people. In some examples, signal strength may include a radar cross section (RCS) measurement. Object reflections 122 may also include speed information. For example, the speed of the further vehicle 108 may be based on the frequency of the radio energy reflected by the further vehicle 108 and / or the time the reflected radio energy was detected.

[0019] Object return 122 may be an example of accurate data captured by radar sensor 104, for example, corresponding to additional vehicle 108. However, radar sensor 104 may also capture return waves that may be less reliable. For example, FIG. 1 also illustrates that wireless energy emitted by radar sensor 104 generally along the direction of arrow 124 may reflect off first structure 114(1) traveling generally along the direction of arrow 126. In the illustrated example, the wireless energy reflected from first structure 114(1) may then be reflected by additional vehicle 108 generally along the direction of arrow 128, i.e., opposite the direction of arrow 126, back toward first structure 114(1). Finally, the wireless energy may then reflect again from first structure 114(1) and return to radar sensor 104 generally along the direction of arrow 130. Thus, wireless energy reflected from the additional vehicle 108 may return to the radar sensor 104 along a first reflected wave path 132 that includes a first leg 134 between the additional vehicle 108 and the first structure 114(1) and a second leg 136 between the first structure 114(1) and the vehicle 102 (e.g., radar sensor 104). Such reflected energy may be captured by the radar sensor 104 as a first reflected wave path 138. As illustrated in FIG. 1 , the first reflected wave path 138 is received along the direction of the second leg 136, e.g., along arrows 124, 130, but has a range equal to the distance of the first reflected wave path 132, e.g., a distance that is the sum of the distances of the first leg 134 and the second leg 136. 1 and the foregoing description, the first reflected wave 138 suggests the presence of an object at a location corresponding to the first reflected wave 138, i.e., along the direction of the second section 136. However, as described herein, such an "object" is a non-existent, phantom "object."

[0020] 1 illustrates that radar sensor 104 can also capture a second reflected echo 140 corresponding to wireless energy reflected from first parked vehicle 112(1) and additional vehicle 108. More specifically, wireless energy emitted by radar sensor 104 generally along the direction of arrow 142 may reflect off first parked vehicle 112(1) traveling generally along the direction of arrow 144. The wireless energy may then contact the additional vehicle 108 and reflect back toward first parked vehicle 112(1) generally along the direction of arrow 146, i.e., opposite the direction of arrow 144. Finally, the wireless energy may then reflect again from first parked vehicle 116(1) generally along the direction of arrow 148. Thus, wireless energy corresponding to the second reflected wave 140 may travel along a second reflected wave path 154 that includes a first section 156 between the additional vehicle 108 and the first parked vehicle 112(1) and a second section 158 between the first parked vehicle 112(1) and the vehicle 102 (e.g., radar sensor 104). As illustrated in FIG. 1 , the second reflected wave includes information about wireless energy received along the second section 158, e.g., along the direction of arrows 142, 148, but has a range equal to the distance of the second reflected wave path 154, e.g., a distance that is the sum of the distance of the first section 156 and the second distance of the second section 158. As can be understood from FIG. 1 and the foregoing description, the second reflected wave 140 indicates the presence of an object at a location corresponding to the second reflected wave 140, i.e., along the direction of the second section 158. However, as explained herein, such "objects" are non-existent, phantom "objects."

[0021] 1 , the object reflected wave 122, the first reflected wave 138, and the second reflected wave 140 (herein the first reflected wave 138 and the second reflected wave 140 may be referred to as "reflected waves 138, 140") may also include velocity information. More specifically, the object reflected wave 122 may include information about the object velocity 160, which corresponds to, for example, the velocity (of the further vehicle 108) along the direction of the arrow 118. Similarly, the first reflected wave 138 may include information about a first reflected wave velocity 162, e.g., velocity along the direction of the second section 136 of the first reflected wave path 132, and the second reflected wave 140 may include information about a second reflected wave velocity 164, e.g., velocity along the direction of the second section 158 of the second reflected wave path 154. Thus, while the object wave 122 provides information (e.g., position, velocity) about the additional vehicle 108, the first reflected wave 138 suggests that an object (phantom object) is approaching from a location associated with that reflection at the first reflected wave velocity 162, and the second reflected wave 140 suggests that an object (phantom object) is approaching from a location associated with that reflection at the second reflected wave velocity 164. As described herein, the vehicle 102 may include, among other functions, a planning system that determines a route, trajectory, and / or control relative to objects in the environment 100 based on received sensor data. However, a planning system that uses reflected echoes 138, 140 may plan to react to objects that are not actually present.

[0022] The techniques described herein may improve planning system accuracy and planning system performance by recognizing reflected waves, such as reflected waves 138, 140, as reflected reflected waves. For example, as further illustrated in FIG. 1 , radar sensor 104 may be one of multiple sensor systems 164 associated with vehicle 102. In an example, sensor system 164 may further include one or more additional sensors 166, which may include additional radar sensors, light detection and ranging (LiDAR) sensors, ultrasonic transducers, acoustic navigation and ranging (sonar) sensors, position sensors (e.g., global positioning system (GPS), COMPASS, etc.), inertial sensors (e.g., inertial measurement units, accelerometers, magnetometers, gyroscopes, etc.), cameras (e.g., RGB, IR, intensity, depth, time-of-flight, etc.), wheel encoders, microphones, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), etc.

[0023] 1 , the radar sensor 104 can generate radar data 168, and the additional sensor 166 can generate sensor data 170. The radar data 168 can include information about the object return 122, the first reflected return 138, and the second reflected return 140, including, but not limited to, position, velocity, and / or other information associated with these returns. In some examples, the radar data 168 can also include signal strength information, which may include RCS measurements. The radar data can also include specific information about the sensor, including, but not limited to, the sensor's orientation, e.g., the sensor's position relative to the vehicle, the pulse repetition frequency (PRF) or pulse repetition interval (PRI) for the sensor, the field of view or detection arc, etc. In some implementations, some aspects of the radar data 168, e.g., the field of view, orientation, PRF, or PRI, etc., can be pre-configured, in which case the data can be available, e.g., in storage, and need not be transferred along with the radar return. Sensor data 170 may include any information about environment 100 and / or additional sensor 166. As a non-limiting example, when additional sensor 166 includes a LiDAR sensor, sensor data 170 may include point cloud data, and when additional sensor 166 includes a camera, sensor data 170 may include image data. Radar sensor 104 and additional sensor 166 may generate radar data 168 and sensor data 170, respectively, at predetermined intervals that may be the same or different for different sensor systems 164. For example, radar sensor 104 may have a scanning frequency at which reflected waves are captured and radar data 168 is generated.

[0024] Radar data 168 and sensor data 170 may be received at one or more vehicle computing devices 172 and utilized by vehicle computing devices 172, for example, to perform planning using a planning system (not shown). In the illustrated example, sensor system 164 and vehicle computing devices 172 are located on and are part of vehicle 102, for example. However, in other examples, some or all of sensor system 164 and / or vehicle computing devices 172 may be separate from and / or located remotely from vehicle 102. In such configurations, data capture, processing, command, and / or control may be communicated to / from vehicle 102 by one or more remote computing devices via wired and / or wireless networks.

[0025] In at least one example, vehicle computing device 172 can utilize radar data 168 and sensor data 170 captured by sensor system 164 in a reflectance recognition component 174. For example, reflectance recognition component 174 can receive radar data 168 including object return 122, first reflected return 138, and second reflected return 140, and determine that reflected return 138, 140 are reflected returns rather than returns associated with actual objects in the environment. By making this distinction, reflectance recognition component 174 can send only object return 122 to the planning system (without sending reflected return 138, 140) and / or use additional returns to further refine the estimated position and / or estimated velocity of the object. Thus, control planning can be performed excluding reflected return 138, 140. As described in more detail below with reference to FIG. 2 , the reflection recognition component 174 can determine whether a reflection (e.g., a candidate reflection or an unidentified reflection) is a reflected reflection by comparing two reflections, such as the object reflection 122 and an additional reflection, such as reflection 138 and / or reflection 140. For example, the reflection recognition component 174 can “project” a known object reflection, such as the object reflection 122, onto a line extending along a direction associated with the unidentified reflection, e.g., a direction extending radially from the radar sensor 104 and passing through the unidentified reflection. Techniques for projecting the object reflection 122 are described in more detail below with reference to FIG. 2 , but the projection of the reflection has a velocity component having the same direction as the direction of velocity associated with the unidentified reflection (e.g., radially relative to the radar sensor 104). The reflection recognition component 174 can also determine the magnitude of the velocity associated with the projection of the object reflection 122.In some implementations, if this magnitude matches the magnitude of the velocity of the unidentified return, the reflection recognition component 174 can determine that the unidentified return is (or is likely to be) a reflected return. Magnitude as used herein may match if they are substantially equal, for example, within some threshold or error range.

[0026] The reflection recognition component 174 may utilize some a priori knowledge of objects in the environment and / or the environment itself. For example, the reflection recognition component 174 may project only reflections that are known object reflections. In some examples, this knowledge may be through tracking and / or prior identification of an object, such as the additional vehicle 108. For example, such tracking and / or identification may be based on previously captured radar data 168 sensing the object and / or previously captured sensor data 170. For example, an object, such as the additional vehicle 108, may be tracked over several seconds and / or at an extended distance. On the other hand, reflected reflections may be more ephemeral because they require alignment of the vehicle 102, the additional vehicle 108, and intervening reflective objects / surfaces (e.g., the first parked vehicle 112(1) and the first structure 114(1)). If one or more of those objects move, the conditions (e.g., relative alignment and / or orientation) that enabled the reflected clutter may disappear, causing the reflected clutter to disappear from subsequent scans of the radar sensor 104. Additionally or alternatively, map data available to the vehicle 102 (which may be downloaded from time to time based on the location of the vehicle 102 or otherwise accessible to the vehicle) may comprise a three-dimensional representation of the environment, such as, for example, a mesh of the local three-dimensional environment. In such an example, the reflection recognition component 174 may determine that the first reflected clutter 138 is a non-material clutter based on knowledge of the corresponding structure 114(1).

[0027] The reflection recognition component 174 can also include functionality to confirm the component 174's determination that a candidate return is a reflected return. In one example, the reflection recognition component 174 can attempt to track the return, for example, over subsequent scans received as radar data 168. As discussed above, relative motion of the vehicle 102 with respect to the additional vehicle 108 can result in weaker reflective conditions and therefore a failure to receive subsequent returns corresponding to the “object” associated with the reflected return. However, ignoring a potential (approaching) object until its track can be verified over successively collected radar scans can slow reaction time, which may be unsafe. Thus, in other implementations, the reflection recognition component 174 can determine, for example, using the sensor data 170 and / or the radar data 168, whether a reflective object is located along a direction toward the reflected return. Referring to FIG. 1 , in one example, LiDAR data, image data, or the like may confirm the presence of the first parked vehicle 112(1) and / or the first structure 114(1). Thus, the reflection recognition component 174 can identify the first parked vehicle 112(1) and / or the first structure 114(1) and confirm a previous determination that the reflection is the reflected reflection 138 based on the location of those objects, e.g., at the junction between the segments of the respective reflected reflection paths 132, 154. Map data may be useful for identifying static, fixed objects, such as the structure 114, terrain, road signs, utility equipment, etc. However, real-time or near-real-time sensor data may be required to identify moving objects, whether static or dynamic. For example, parked vehicles 112, pedestrians, bicyclists, other moving vehicles, etc., may not be available via map data.

[0028] In some implementations, the reflection recognition component 174 can process radar returns to determine whether the radar returns are reflected returns in real time or near real time. For example, the reflection recognition component 174 can compare multiple returns to known object returns, such as object returns 122, for example, in parallel. In one example, all returns that are unknown object returns in a radar scan may be compared to known object returns to determine whether such returns are reflections. In other implementations, the reflection recognition component 174 can filter returns to, for example, filter out points that are unlikely to be reflections or that are physically impossible to be reflections. As a non-limiting example, returns that are relatively closer than known object returns are unlikely to be object returns. In another example, the reflection recognition component 174 may filter out returns that exhibit a velocity below a threshold or a velocity of zero. Other filtering techniques may also be used.

[0029] While the examples described herein may compare points or reflections to known object reflections 122, in other examples, the reflection recognition component 174 can additionally or alternatively compare pairs of reflections, for example, without knowledge that one of the reflections is a known object reflection. More specifically, the techniques described herein can determine that two reflections are likely to be reflections of each other, regardless of whether one of the reflections is an object reflection. For example, when a pair of reflections is considered, the more distant reflection can be tagged as or otherwise designated as a potential reflection. Further processing can be used as a basis for determining whether the closer reflection is associated with an object in the environment (or whether the more distant reflection is otherwise associated with a reflection). The reflection recognition component 174 can perform high-level filtering as described herein to identify a subset of points for pairwise comparison. By way of non-limiting example, returns below a threshold velocity may be omitted, pairs with too large a difference in position and / or velocity (e.g., greater than or equal to a threshold difference) may not be compared, etc. In at least some examples, various techniques may be combined to improve the level of certainty as to whether a return is a reflection.

[0030] Figure 2 is another schematic diagram of environment 100 illustrating further aspects of the present disclosure. To avoid confusion, elements from Figure 1 that are specifically described with reference to Figure 2, such as environment 100, include the same reference numerals in Figures 1 and 2. Additionally, for clarity, certain elements of environment 100 are grayed out in Figure 2.

[0031] More specifically, Figure 2 shows vehicle 102, additional vehicle 108, first parked vehicle 112(1), and first structure 114(1). Figure 2 also shows object return 122, first reflected return 138, and second reflected return 140. As discussed above in connection with Figure 1, object return 122 and reflected return 138, 140 may include position and velocity information based on attributes of the wireless energy received at radar sensor 104. For example, object return 122 spaced a distance from vehicle 102 along line 202 passing through both vehicle 102 and additional vehicle 108 may indicate both the position of the object return (and therefore the position of additional vehicle 108) and object return velocity 160. As will be stated, because the object return 122 is a known direct reflection (e.g., from previously acquired data about the environment 100 and / or the further vehicle 108, such as a truck) from the further vehicle 108, e.g., along the line 202, the object return may be considered an accurate representation of a portion of the further vehicle 108. As stated previously, the presence of an object, e.g., the further vehicle 108, or knowledge that the return is an object return, e.g., the object return 122, may not be required in all instances. Techniques described herein may be applied to pairwise comparisons of the returns to determine the likelihood that the returns are reflections of each other.

[0032] The reflected echoes 138, 140 also include at least location and velocity information associated with the wireless energy received at the radar sensor 104. As described above, the first reflected echo 138 includes information about the first reflected echo velocity at an illustrated location along the line 204. The distance of the first reflected echo 138 along the line 204 is a distance or range determined by the radar sensor 104 and corresponds to a distance traveled by the received wireless energy, e.g., a distance corresponding to the first reflected echo path 132 shown in FIG. 1 . Similarly, the second reflected echo 140 includes information about the second reflected echo velocity at an illustrated location along the line 206. The distance of the second reflected echo 140 along the line 206 is a distance or range determined by the radar sensor 104 and corresponds to a distance traveled by the received wireless energy, e.g., a distance corresponding to the second reflected echo path 154 shown in FIG. 1 .

[0033] The techniques described herein may utilize geometry in the environment 100 to determine whether a radar return is a reflected return. For example, at the time of capture at the radar sensor 104, the object return 122 and the reflected returns 138, 140 are merely returns. Only through some previously acquired knowledge about the environment 100 and / or the objects in the environment 100 can the object return 122 be reliably assigned to an additional vehicle 108. In one example, a tracker or other component associated with the vehicle 102 may be tracking the additional vehicle 108, and the return is identified as the object return 122 if it matches an expectation associated with the track. In other examples, as described herein, the object return 122 can be considered, for example, as one return in a return pair, regardless of whether the object return 122 is assigned to an additional vehicle 108. While the object return 122 is illustrated as a single point at a centrally located location in front of the further vehicle 108, the object return 122 may correspond to one or more other returns and / or one or more other locations on the further vehicle 108. As a non-limiting example, attributes of the object return, such as the object return velocity 160, may be determined based on multiple returns associated with the further vehicle 108. For example, the object return 122 may be an average of multiple returns from the further vehicle 108.

[0034] As mentioned above, unlike object reflections 122, reflected reflections may be transient, occurring only when certain conditions, such as geometric conditions, exist (which may cause the reflected reflections to move erratically or to come in and out of existence). Therefore, there is no track or other a priori knowledge of the reflected reflections. However, the techniques described herein determine whether a reflection is a reflection or may directly correspond to an actual object in environment 100.

[0035] As described above, the first reflected wave reflection 138 corresponds to a reflection located along the line 204. To characterize the first reflected wave reflection 138 as a reflected wave reflection, techniques herein may pair the reflection with the object wave reflection 122. For example, because the direction of the line 204 is known and the position of the first reflected wave reflection 138 relative to a radar sensor on the line 204 is known, the object wave reflection 122 can be projected onto the position of the first reflected wave reflection. Conceptually, projecting the object wave reflection 122 can include determining a line 208 that connects a position associated with the object wave reflection 122 (e.g., along the radial line 202) to a position associated with the first reflected wave reflection 138 (e.g., along the radial line 204). As also illustrated, a line 210, which is perpendicular to and bisects line 208, intersects line 204 at reflection point 212, such that the distance of line segment 214 between reflection point 212 and object reflected wave 122 is equal to the distance of line segment 216 between reflection point 212 and first reflected wave 138. Furthermore, object reflected wave velocity 160 can be reflected about line 210 as first reflected velocity 218. Once determined, first reflected velocity 218 can be resolved into two velocity components: a radial velocity component 220 generally along line 204 and a tangential velocity component 222 that is perpendicular to radial velocity component 220. Radial velocity component 220 is the projected velocity of object reflected wave 122 along first direction 204. In other words, the first projected velocity is the radial velocity component 220 of the first reflected velocity 218, which is the mirror image of the vector representing the object reflected wave velocity 160 about the line 210.

[0036] 2, the radial velocity component 220 (projected velocity) is the velocity (i.e., magnitude and direction) that would be sensed by the radar sensor 104 if the wireless energy bouncing off the additional vehicle 108 were also reflected at the reflecting point 212. As can be seen, the radial velocity component 220 of the first reflected velocity 218 is along the same direction (i.e., along the line 204) as the first reflected echo velocity 162 (shown in FIG. 1, not shown in FIG. 2). Thus, if the magnitude of the radial velocity component 220 (first projected velocity) and the magnitude of the first reflected echo velocity 162 are substantially similar, e.g., within a predetermined threshold or range of each other, the first reflected echo 138 can be flagged, tagged, or otherwise identified as likely to be a reflection.

[0037] 2 shows a similar conceptualization of determining whether second reflected wave 140 is a reflected wave. For example, second reflected velocity 224 at the location of second reflected wave 140 may be a mirror image of object reflected wave velocity 160 about line 226. Line 226 is perpendicular to and bisects line 228, which extends between the location of object reflected wave 122 and the location of second reflected wave 140. Second reflected velocity 224 includes a radial velocity component 230, i.e., a component along radial line 206, and a tangential velocity component 232, i.e., a component perpendicular to radial line 206.

[0038] 2 , line 226 meets radial line 206 at reflection point 234. As discussed above, radial velocity component 230 of second projected velocity 224 is the projected, e.g., expected, velocity (i.e., direction and magnitude) of the reflected wave associated with the wireless energy bouncing off the additional vehicle 108 and reflecting back to radar sensor 104 at reflection point 234. In other words, radial velocity component 230 is the projected velocity and corresponds to the expected reflected wave associated with the reflection at reflection point 234. As with the first projected reflected wave, the direction of radial velocity component 230 is substantially the same as the direction of second reflected reflected wave velocity 164. Therefore, both directions are along line 206. Thus, if the magnitude of the radial velocity component 230 (second projected reflected wave) and the magnitude of the second reflected reflected wave velocity 164 are substantially identical, the second reflected reflected wave 140 can be tagged, flagged, or otherwise identified as having a high likelihood of being a reflection.

[0039] In implementations of the present disclosure, as described further herein, after determining that the reflected reflections 138, 140 are reflected reflections, for example, because the respective radial velocity components 220, 230 are substantially identical to the first reflected reflection wave velocity 162 and the second reflected reflection wave velocity 164, the vehicle 102 can ignore, e.g., exclude, the reflected reflections 138, 140 from planning. The vehicle 102 may also confirm the reflections, for example, by determining that an object is present at each of the reflection points 212, 234. For example, the vehicle 102 can confirm the presence of the object using sensor data, map data, etc., as described herein. In at least some examples, the reflections may be flagged so that other entities may be aware that there may not be any corresponding objects associated with those reflections.

[0040] 2 also shows another example implementation in which a pedestrian 236 exits a structure 238 and enters the environment 100. As illustrated, the pedestrian 236 may enter the environment at a location close to the location associated with the second reflected echo 140. The radar sensor 104 may generate radar data including information about the newly present pedestrian. Because the pedestrian 236 has not been previously tracked, i.e., because the pedestrian 236 has just appeared, the implementation described herein may use techniques described herein to compare the echo associated with the pedestrian 236 to known object echoes, such as the object echo 122. For example, the object echo velocity 160 may be projected onto the location associated with the pedestrian 236. Because the pedestrian 236 is farther away from the radar sensor 104 than the further vehicle 108, a reflection point can also be identified. In the illustrated example, the reflection point is close to the reflection point 234. The radial component of the projected object return velocity at the location of the pedestrian return can also be determined as in the other examples. However, because the pedestrian return is not a reflected return, the magnitude of the radial velocity component of the projected object return velocity is likely to be dissimilar. For example, the pedestrian return will not be (correctly) identified as a return unless the pedestrian is walking in a manner such that the component of the pedestrian's velocity toward the radar sensor 104 matches the velocity of the reflected return. If it is determined that the pedestrian return is not a return, the pedestrian's movement may be tracked and / or information about the pedestrian 236 may be used to generate control for the vehicle.

[0041] Aspects of the present disclosure are not limited to the example implementation shown in FIG. 2 . For example, the techniques described herein can be used to identify reflections of other objects in the environment, including reflections from the vehicle 102. In one example, wireless energy reflected by the additional vehicle 108 can reflect (or bounce) off the vehicle 102, travel back to the additional vehicle 108 (or other object), and reflect again from the additional vehicle before being captured by the radar sensor 104. In other words, the detected wireless energy can traverse a path along the line 202 four times (twice in each direction) before being captured at the radar sensor. This “double bounce” can result in a reflected wave along the direction 202 but at twice the distance from the vehicle 102. In one example, the magnitude of the velocity is different from the magnitude of the object reflected wave velocity (e.g., half the speed), which can result in identification of the reflected reflected wave.

[0042] 2 illustrates the intervening, reflecting objects as stationary objects, in other implementations, the techniques described herein can also determine whether a return is reflected from a moving object. For example, the velocity of the intervening object can be known (e.g., from other radar returns) and used to vary the radial component of the projected velocity. Other variations are also contemplated.

[0043] 3 shows another schematic diagram of the environment 100 and is used to illustrate an alternative method for determining whether a reflected wave is (or is likely to be) a reflection of another reflected wave. More specifically, FIG. 3 may illustrate a technique that uses geometry to determine a reflection point, which may then be compared to environmental information to determine, for example, whether the reflection point corresponds to an object in the environment.

[0044] 3 illustrates object return 122 (from additional vehicle 108) and first reflected return 138. For clarity, second reflected return 140 is not illustrated, but techniques described with reference to a return pair including first reflected return 138 and object return 122 can be applied to any pair of radar returns, including, for example, object return 122 and second reflected return 138, first reflected return 138 and second reflected return 140, and / or any other pair of returns. As described herein, although a priori knowledge of environment 100 may enable association of object return 122 with additional vehicle 108, implementations of the present disclosure may similarly apply to any pair of radar returns regardless of known object association and / or availability of a priori knowledge of environment 100. Thus, while returns may be labeled as "object" returns and "reflected" returns, one or both of those labels may not be known until after further processing. In at least some examples, such labels may be used to help guide an autonomous vehicle. For example, a "reflected" return may still be considered for navigation, although its importance may be downweighted or otherwise taken into account during planning.

[0045] As described herein, the radar sensor 104 may receive only range, position, and / or speed information about the reflected waves. Thus, for example, the radar sensor 104 may generate sensor data indicating the position of the object reflected wave 122 and the position of the first reflected reflected wave 138. For example, in FIG. 3, line 302 in FIG. 3 is the line between the position of the object reflected wave 122 and the position of the radar sensor 104, and line 304 is the line between the position of the first reflected reflected wave 138 and the position of the radar sensor 104. Based on the reflected waves 122, 138, i.e., the positions of the reflected waves 122, 138, the lengths of the lines 302, 304 and the angle 314 between the lines 302, 304 are known (or can be easily determined). The techniques described herein can use the lines 302, 304 and the angle 314 to determine a potential, or theoretical, reflection point 308 along the line 304 from which wireless energy initially reflected off an object (e.g., an additional vehicle 108) associated with the object return wave 122 will reflect prior to being received at the radar sensor 104. Once the location of the theoretical reflection point 308 is determined, the techniques described herein can determine whether an object is present at the theoretical reflection point 308, thereby confirming (or at least suggesting) that the first reflected return wave 138 is a reflection of an object return wave.

[0046] More specifically, the distance between the first reflected wave 138 and the object reflected wave 122, e.g., the distance of line 310 shown in FIG. 3, can be determined using the distances of lines 302, 304 and angle 306. For example, although not required, the cosine law can be used to determine the length of line 310. A theoretical reflection point 308 may then be determined as the intersection of line 304 and line 312 that bisects and is perpendicular to line 310, extending between the reflected wave 122 and the reflected wave 138. For example, simple geometry can be used to determine the angle 314 between line 304, extending between the sensor 304 and the first reflected wave 138, and line 310, extending between the first reflected wave 138 and the object reflected wave 122. The length of the line segment 316 between the first reflected wave 138 and the reflection angle 316, bisected by the line 312, can then be easily determined to yield the position of the reflected wave 308 along the line 304. Furthermore, if the first reflected wave 138 is a true reflection, the distance of the line segment 316 is equal to the distance from the object reflected wave 122 to the reflection point 308. This further information can be used (in addition, or alternatively) to calculate the position of the reflection point 308.

[0047] In the implementation just described, potential reflection point 308 can be determined using geometry alone. For example, velocity information for the reflected wave is not necessary. However, potential reflection points can be determined for any pair of reflected waves at different distances. Thus, the techniques described herein can also determine whether an object is present at a potential reflection point to determine whether one of the reflected waves, e.g., the more distant reflected wave, is a reflection. For example, sensor data including, but not limited to, LiDAR data, image data, additional radar data, etc., can be used to determine whether an object is present near the location of theoretical reflection point 308. In the illustrated example, structure 114(1) may be identified using image data, LiDAR data, and / or other sensor data captured by vehicle 102. In other embodiments, map data may confirm the presence of an object at reflection point 308. In one example, velocity information can be used to determine potential reflections based at least in part on projecting the velocity from the reflected wave onto a unit vector associated with the other reflected wave. Such projected velocity may then be directly compared to the velocity of the other reflected wave.

[0048] The aspects of Figures 2 and 3 (and Figures 5 and 6 below) are described with reference to the components illustrated in Figure 1, in environment 100 of Figure 1, by way of example. However, the examples illustrated and described with reference to Figures 2, 3, 5, and 6 are not limited to being performed in environment 100 or using the components of Figure 1. For example, some or all of the examples described with reference to Figures 2, 3, 5, and 6 can be performed by one or more components of Figure 4 or by one or more other systems or components described herein.

[0049] 4 shows a block diagram of an example system 400 for implementing the techniques described herein. In at least one example, the system 400 may include a vehicle 402, which may be the same as or different from the vehicle 102 shown in FIG.

[0050] The vehicle 402 may include a vehicle computing device 404, one or more sensor systems 406, one or more emitters 408, one or more communication connections 410, one or more drive modules 412, and at least one direct connection 414.

[0051] The vehicle computing device 404 may include one or more processors 416 and a memory 418 communicatively coupled to the one or more processors 416. In the illustrated example, the vehicle 402 is an autonomous vehicle. However, the vehicle 402 may be any other type of vehicle or any other system having at least one sensor (e.g., a camera-enabled smartphone). In the illustrated example, the memory 418 of the vehicle computing device 404 stores a localization component 420, a perception component 422, a prediction component 424, a planning component 426, a reflex recognition component 428, one or more system controllers 430, one or more maps 432, and a tracker component 434. 4 as residing in memory 418 for illustrative purposes, it is contemplated that localization component 420, perception component 422, prediction component 424, planning component 426, reflex recognition component 428, system controller 430, map 432, and / or tracker component 434 may additionally or alternatively be accessible to vehicle 402 (e.g., stored on memory remote from vehicle 402 or otherwise accessible by such memory). In an example, vehicle computing device 404 may correspond to or be an example of vehicle computing device 172 of FIG. 1.

[0052] In at least one example, the localization component 420 can include functionality for receiving data from the sensor system 406 to determine the position and / or orientation of the vehicle 402 (e.g., one or more of x, y, z position, roll, pitch, or yaw). For example, the localization component 420 can include and / or request / receive a map of the environment and can continuously determine the position and / or orientation of the autonomous vehicle within the map. In one example, the localization component 420 can utilize SLAM (simultaneous localization and mapping), CLAMS (simultaneous calibration, localization, and mapping), relative SLAM, bundle adjustment, nonlinear least-squares optimization, etc. to receive image data, LiDAR data, radar data, IMU data, GPS data, wheel encoder data, and the like to accurately determine the position of the autonomous vehicle. In one example, the localization component 420 can provide data to various components of the vehicle 402 to determine an initial position of the autonomous vehicle 402 for generating a trajectory.

[0053] In one example, the perception component 422 may include functionality to perform object detection, segmentation, and / or classification. In one example, the perception component 422 may provide processed sensor data indicating the presence of an object in proximity to the vehicle 402 and / or the classification of the object as an object type (e.g., automobile, pedestrian, cyclist, animal, building, tree, road surface, curb, sidewalk, unknown, etc.). In further and / or alternative examples, the perception component 422 may provide processed sensor data indicating one or more characteristics associated with a detected object (e.g., a tracked object) and / or the environment in which the object is located. In one example, the characteristics associated with the object may include, but are not limited to, x-position (global and / or local position), y-position (global and / or local position), z-position (global and / or local position), orientation (e.g., roll, pitch, yaw), object type (e.g., classification), object velocity, object acceleration, object extent (size), etc. Characteristics associated with the environment can include, but are not limited to, the presence of another object in the environment, the state of another object in the environment, the time of day, the day of the week, the season, weather conditions, darkness / light indicators, etc. In one example, the perception component 422 can use radar data to determine the object, and may receive information about reflected echoes to include / exclude sensor data, for example, as described herein.

[0054] In one example, the prediction component 424 may include functionality for generating predicted trajectories of objects in the environment. For example, the prediction component 424 may generate one or more predicted trajectories for vehicles, pedestrians, animals, and the like within a threshold distance from the vehicle 402. In one example, the prediction component 424 may measure the trace of an object and generate a trajectory for the object. In one example, the prediction component 424 may cooperate with the tracker 434 to track an object as it moves through the environment. In one example, information from the prediction component 424 may be used in determining whether a radar return is from a known object.

[0055] In general, the planning component 426 can determine a path for the vehicle 402 to follow to navigate through an environment. For example, the planning component 426 can determine various routes and trajectories, as well as various levels of detail. For example, the planning component 426 can determine a route to travel from a first location (e.g., a current location) to a second location (e.g., a target location). For purposes of this description, the route can be a sequence of waypoints for traveling between the two locations. By way of non-limiting examples, the waypoints include streets, intersections, Global Positioning System (GPS) coordinates, etc. Furthermore, the planning component 426 can generate instructions for guiding the autonomous vehicle along at least a portion of the route from the first location to the second location. In at least one example, the planning component 426 can determine how to guide the autonomous vehicle from a first waypoint in the sequence of waypoints to a second waypoint in the sequence of waypoints. In one example, the instructions can be a trajectory, or a portion of a trajectory. Further, in some implementations, multiple trajectories can be generated substantially simultaneously (e.g., within engineering tolerances) using a receding horizon technique, with one of the multiple trajectories being selected for the vehicle 402 to navigate. In some examples, the planning component 426 can generate one or more trajectories for the vehicle 402 based at least in part on sensor data, e.g., radar returns. For example, the planning component 426 can filter out returns that are determined to be reflected returns.

[0056] In general, the reflection recognition component 428 may include functionality to identify whether sensor data, e.g., radar returns, correspond to an actual object or are a reflection of the object from some intervening object. In one example, the reflection recognition component 428 may correspond to the reflection recognition component 174 of FIG. 1. As described herein, the reflection recognition component 428 may receive radar data, LiDAR data, image data, map data, and the like to determine whether a sensed object is an actual object or merely a reflection of an actual object. In one example, the reflection recognition component 428 may provide sensor information determined not to correspond to a reflection to the planning component 426 to determine when to control the vehicle 402 through an environment. In one example, the reflection recognition component 428 may filter out sensor data determined to correspond to a reflection to the planning component 426, for example, to make a control decision by filtering out sensor data, e.g., radar data, that the planning component 426 determined to be associated with a reflection from an intervening object. The reflex recognition component 428 can also provide sensor information to the tracker 434, for example, so that the tracker tracks dynamic objects in the environment.

[0057] System controller 430 may be configured to control, for example, steering, propulsion, braking, safety, emitter, communication, and other systems of vehicle 402 based on controls generated by and / or information from planning component 426. System controller 430 may communicate with and / or control corresponding systems of drive module 414 and / or other components of vehicle 402.

[0058] The map 432 can be used by the vehicle 402 to navigate within the environment. For purposes of this description, a map can be any number of data structures modeled in two, three, or N dimensions that can provide information about the environment, such as, but not limited to, topology (such as intersections), streets, mountains, roads, terrain, and the environment in general. In an example, the map can include, but is not limited to, texture information (e.g., color information (e.g., RGB color information, Lab color information, HSV / HSL color information), and the like), intensity information (e.g., LiDAR information, radar information, and the like), spatial information (e.g., image data projected onto a mesh, individual “surfels” (e.g., polygons associated with individual colors and / or intensities), reflectivity information (e.g., specularity information, retroreflectivity information, BRDF information, BSSRDF information, and the like). In one example, the map can include a three-dimensional mesh of the environment. In one example, the map can be stored in a tiled format, with each tile of the map representing a distinct portion of the environment, and can be loaded into working memory as needed. In one example, the map 432 can include at least one map (e.g., an image and / or a mesh). The vehicle 402 can be controlled based at least in part on the map 432. That is, the map 432 can be used in conjunction with the localization component 420, the perception component 422, the prediction component 424, the planning component 426, and / or the reflection recognition component 432 to determine the position of the vehicle 402, identify objects in the environment, and / or generate a route and / or trajectory for navigating within the environment. Additionally, as described herein, the map 432 can be used to verify the presence of objects, for example, intervening objects from which wireless energy may reflect before being received at a radar sensor.

[0059] In one example, map 432 may be stored on one or more remote computing devices (such as one or more computing devices 438) accessible via one or more networks 436. In one example, map 432 may include a variety of similar maps stored, for example, based on characteristics (e.g., type of entity, time of day, day of the week, or season of the year, etc.). Storing a variety of maps 432 in this manner may have similar memory requirements but increases the speed at which data in the maps may be accessed.

[0060] The tracker 434 may include functionality to track, e.g., follow, the movement of an object. For example, the tracker 434 may receive sensor data from one or more of the sensor systems 406 representing dynamic objects in the vehicle's environment. For example, an image sensor on the vehicle 402 may capture image sensor data, a LiDAR sensor may capture point cloud data, and a radar sensor may acquire echoes indicative of the object's position, orientation, etc. in the environment at various times. Based on this data, the tracker 434 may determine track information for the object. For example, the track information may provide historical position, velocity, acceleration, and the like for the associated object. Additionally, in certain examples, the tracker 434 may track objects within occluded regions of the environment. U.S. Patent Application No. 16 / 147,177, filed September 28, 2018, for "Radar Spatial Estimation," the disclosure of which is incorporated herein by reference in its entirety, describes techniques for tracking objects within occluded regions. As described herein, information from tracker 434 may be used to verify that a radar return corresponds to a tracked object. In at least some examples, tracker 434 may be associated with perception component 422 such that perception component 422 performs data association to determine whether a newly identified object should be associated with a previously identified object.

[0061] As will be appreciated, the components described herein (e.g., localization component 420, perception component 422, prediction component 424, planning component 426, reflex recognition component 428, system controller 430, map 432, and tracker component 434) are described as separated for illustrative purposes. However, the operations performed by the various components can be combined or performed in any other component. As an example, reflex recognition functions may be performed by perception component 422 and / or planning system 426 (e.g., rather than by reflex recognition component 428) to reduce the amount of data transferred by the system.

[0062] In some examples, aspects of some or all of the components described herein may include modules, algorithms, and / or machine learning algorithms. For example, in some examples, the components in memory 418 (and / or memory 442, described below) may be implemented as neural networks.

[0063] As described herein, an exemplary neural network is a biologically inspired algorithm that passes input data through a series of connected layers to produce an output. Each layer of a neural network may comprise another neural network, or may comprise any number of layers (whether convolutional or not). As can be understood in the context of this disclosure, a neural network may utilize machine learning, which may refer to such a broad class of algorithms in which outputs are generated based on learned parameters.

[0064] Although described in the context of neural networks, any type of machine learning may be used consistent with this disclosure. For example, machine learning algorithms include regression algorithms (e.g., ordinary least squares regression (OLSR), linear regression, logistic regression, stepwise regression, multivariate adaptive regression splines (MARS), locally estimated scatterplot smoothing (LOESS)), example-based algorithms (e.g., ridge regression, least absolute shrinkage and selection operator (LASSO), elastic net, least angle regression (LARS)), decision tree algorithms (e.g., classification and regression trees (CART), iterative dichotomizer 4 (ID3), chi-squared automated interaction detection (CHAID), decision stump, conditional decision tree), Bayesian algorithms (e.g., naive Bayes, Gaussian naive Bayes, multinomial naive Bayes, average-one dependent estimator (AODE), Bayesian belief networks (BNN), Bayesian networks), clustering algorithms (e.g., k-means, k-medians, expectation maximization (EM), hierarchical clustering), association rule learning algorithms (e.g., perceptron, backpropagation, etc.). The learning algorithms may include, but are not limited to, neural networks (NNNs), ensemble algorithms (e.g., neural network propagation, Hopfield networks, radial basis function networks (RBFNs)), deep learning algorithms (e.g., deep Boltzmann machines (DBMs), deep belief networks (DBNs), convolutional neural networks (CNNs), stacked autoencoders), dimensionality reduction algorithms (e.g., principal component analysis (PCA), principal component regression (PCR), partial least squares regression (PLSR), Sammon mapping, multidimensional scaling (MDS), projection pursuit, linear discriminant analysis (LDA), mixed discriminant analysis (MDA), quadratic discriminant analysis (QDA), flexible discriminant analysis (FDA)), ensemble algorithms (e.g., boosting, bootstrap aggregation (bagging), Adaboost), stacked generalization (blending), gradient boosting machines (GBMs), gradient boosted regression trees (GBRTs), random forests), support vector machines (SVMs), supervised learning, unsupervised learning, semi-supervised learning, and others.

[0065] Further example architectures include neural networks such as ResNet70, ResNet101, VGG, DenseNet, PointNet, and the like.

[0066] In at least one example, the sensor system 406 may include LiDAR sensors, radar sensors, ultrasonic transducers, sonar sensors, position sensors (e.g., GPS, COMPASS, etc.), inertial sensors (e.g., inertial measurement units (IMUs), accelerometers, magnetometers, gyroscopes, etc.), cameras (e.g., RGB, IR, intensity, depth, time-of-flight, etc.), microphones, wheel encoders, environmental sensors (e.g., temperature sensors, humidity sensors, light sensors, pressure sensors, etc.), etc. The sensor system 406 may include various instances of each of these or other types of sensors. For example, the LiDAR sensors may include individual LiDAR sensors positioned at the corners, front, rear, sides, and / or top of the vehicle 402. As another example, the camera sensors may include various cameras positioned at various locations around the exterior and / or interior of the vehicle 402. As another example, the radar system may include various instances of the same or different radar sensors positioned at various locations around the vehicle 402. The sensor system 406 can provide input to the vehicle computing device 404. Additionally or alternatively, the sensor system 406 can send sensor data to the computing device 438 via one or more networks 436 at a particular frequency, such as after a predetermined period of time, in near real time, etc. In one example, the sensor system 406 can correspond to the sensor system 164 of FIG. 1 , including the radar sensor 104 and / or additional sensors 166.

[0067] Emitters 408 can be configured to emit light and / or sound. Emitters 408 in this example can include internal audio emitters and internal visual emitters to communicate with occupants of vehicle 402. By way of example, and not limitation, internal emitters can include speakers, lights, signs, display screens, touchscreens, tactile emitters (e.g., vibration feedback and / or force feedback), mechanical actuators (e.g., seat belt tensioners, seat positioners, headrest positioners, etc.), and the like. Emitters 408 in this example can also include external emitters. By way of example, and not limitation, the external emitters in this example include lights that signal direction of travel or other indicators of the vehicle's actions (e.g., indicator lights, signs, light arrays, etc.), as well as one or more audio emitters (e.g., speakers, speaker arrays, horns, etc.) that acoustically communicate with pedestrians or other nearby vehicles, one or more of which may include acoustic beam steering technology.

[0068] The communication connection 410 may enable communication between the vehicle 402 and one or more other local or remote computing devices. For example, the communication connection 410 may facilitate communication with other local computing devices on the vehicle 402 and / or with the drive module 414. The communication connection 410 may also enable the vehicle to communicate with other nearby computing devices (e.g., other nearby vehicles, traffic signals, etc.). The communication connection 410 may also enable the vehicle 402 to communicate with remote teleoperation computing devices or other remote services.

[0069] The communication connection 410 may include a physical and / or logical interface for connecting the vehicle computing device 404 to another computing device or network, such as the network 436. For example, the communication connection 410 may enable Wi-Fi-based communication, such as via frequencies defined by the IEEE 802.11 standard, short-range radio frequencies such as Bluetooth, cellular communications (e.g., 2G, 3G, 4G, 4G LTE, 5G, etc.), or any suitable wired or wireless communication protocol that enables each computing device to interface with other computing devices.

[0070] In at least one example, the vehicle 402 may include a drive module 412. In some examples, the vehicle 402 may include a single drive module 412. In at least one example, the vehicle 402 may have multiple drive modules 412, with each drive module 412 located on opposite ends of the vehicle 402 (e.g., the front and rear, etc.). In at least one example, the drive module 412 may include one or more sensor systems to detect conditions surrounding the drive module 412 and / or the vehicle 402. By way of example, and not limitation, the sensor systems associated with the drive module 412 may include one or more wheel encoders (e.g., rotational encoders) that sense the rotation of the wheels of the drive module, inertial sensors (e.g., inertial measurement units, accelerometers, gyroscopes, magnetometers, etc.) that measure the orientation and acceleration of the drive module, cameras or other imaging sensors, ultrasonic sensors that acoustically detect objects in the vicinity of the drive module, LiDAR sensors, radar sensors, etc. Some sensors of such wheel encoders may be specific to the drive module 412. In some cases, the sensor system on the drive module 412 may overlap or complement a corresponding system of the vehicle 402 (e.g., sensor system 406).

[0071] The drive module 412 may include many of the vehicle systems, including a high-voltage battery, a motor to propel the vehicle, an inverter to convert direct current from the battery to alternating current for use by other vehicle systems, a steering system including a steering motor and a steering rack (which may be electric), a braking system including hydraulic or electric actuators, a suspension system including hydraulic and / or pneumatic components, a stability control system to distribute braking force to mitigate loss of friction and maintain control, an HVAC system, lighting (e.g., lighting such as headlights / taillights that illuminate the exterior surroundings of the vehicle), and one or more other systems (e.g., a cooling system, safety systems, an on-board charging system, other electrical components such as DC / DC converters, high-voltage junctions, high-voltage cables, a charging system, a charge port, etc.). Additionally, the drive module 412 may include a drive module controller that may receive and preprocess data from sensor systems and control the operation of various vehicle systems. In one example, the drive module controller may include one or more processors and memory communicatively coupled to the one or more processors. The memory may store one or more modules that perform various functions of the drive module 412. Additionally, the drive modules 412 may include one or more communication connections that enable each drive module to communicate with one or more other local or remote computing devices.

[0072] In at least one example, the direct connection 414 can provide a physical interface coupling the drive module 412 to the body of the vehicle 402. For example, the directional connection 414 can enable the transfer of energy, fluid, air, data, etc. between the drive module 412 and the vehicle. In certain examples, the direct connection 414 can further releasably secure the drive module 412 to the body of the vehicle 402.

[0073] In at least one example, the localization component 420, the perception component 422, the prediction component 424, the planning component 426, the reflex recognition component 428, the system controller 430, the map 432, and / or the tracker 434 can process the sensor data as described above and send their respective outputs to one or more computing devices 438 via one or more networks 436. In at least one example, the localization component 420, the perception component 422, the prediction component 424, the planning component 426, the reflex recognition component 428, the system controller 430, the map 432, and / or the tracker 434 can send their respective outputs to one or more computing devices 438 at a particular frequency, such as after a predetermined period of time, in near real time, or the like.

[0074] In one example, the vehicle 402 can send sensor data to the computing device 438, for example, via the network 436. In one example, the vehicle 402 can send raw sensor data to the computing device 438. In other examples, the vehicle 402 can send processed sensor data and / or a representation of the sensor data (e.g., spatial grid data) to the computing device 438. In one example, the vehicle 402 can send sensor data to the computing device 438 at a particular frequency, such as after a predetermined period of time, in near real time, etc. In some instances, the vehicle 402 can send sensor data (raw or processed) to the computing device 438 as one or more log files.

[0075] The computing device 438 may include a processor 440 and a memory 442 that stores one or more maps 444 and / or reflex recognition components 446 .

[0076] In some examples, map 444 can be similar to map 432. Reflex recognition component 448 may perform substantially the same functions as those described with respect to reflex recognition component 428, in addition to or instead of performing functions in vehicle computing device 404.

[0077] The processor 416 of the vehicle 402 and the processor 440 of the computing device 438 may be any suitable processor capable of processing data and executing instructions to perform the operations described herein. By way of example, and not limitation, the processors 416 and 440 may comprise one or more central processing units (CPUs), graphics processing units (GPUs), or any other device or portion of a device that processes electronic data and converts it to other electronic data that may be stored in registers and / or memory. In certain examples, integrated circuits (e.g., ASICs, etc.), gate arrays (e.g., FPGAs, etc.), and other hardware devices may also be considered processors so long as they are configured to implement encoded instructions.

[0078] Memories 418 and 442 are examples of non-transitory computer-readable media. Memories 418 and 442 can store an operating system and one or more software applications, instructions, programs, and / or data that implement the methods described herein and the functions allocated to the various systems. In various implementations, memory can be implemented using any suitable memory technology, such as static random access memory (SRAM), synchronous dynamic RAM (SDRAM), non-volatile / flash-type memory, or any other type of memory capable of storing information. The architectures, systems, and individual elements described herein can include many other logical, programmatic, and physical components, of which the components shown in the accompanying figures are merely examples relevant to the description herein.

[0079] 4 is illustrated as a distributed system, it should be noted that in alternative examples, components of vehicle 402 may be associated with computing device 438 and / or components of computing device 438 may be associated with vehicle 402. That is, vehicle 402 may perform one or more of the functions associated with computing device 438, and computing device 438 may perform one or more of the functions associated with vehicle 402. Additionally, aspects of reflex recognition components 428, 446 and / or tracker 434 may also be executed on any of the devices described herein.

[0080] 5 is a flow diagram of an example process 500 for determining whether a radar return is a reflected return, according to an embodiment of the present disclosure. Although described in the context of radar data, the example process 500 may be used in the context of and / or in combination with LiDAR data, sonar data, time-of-flight image data, and / or other types of data.

[0081] At operation 502, process 500 may include receiving radar data about the environment. For example, the radar data may include radar returns including position information, velocity information, and / or intensity information. In one example, the radar system may include one or more radar sensors and may be a sensor system of an autonomous vehicle, such as vehicle 102 described above. The radar data may include a variety of returns, including static returns corresponding to objects having a position and a zero velocity, and dynamic returns or radar tracks corresponding to moving objects having a position and a non-zero velocity.

[0082] At operation 504, process 500 may include determining a first velocity at a first location along a first radial direction based on a first radar return in the radar data. The first radar return may include a velocity along a first direction between the object and the vehicle, e.g., along a radial direction extending from the vehicle (radar sensor thereon) through the object. In some examples, the first radar return may be an object return, e.g., corresponding to a known object in the environment. In some examples, the first radar return may be determined to correspond to an object return based on tracking information generated prior to receiving the radar data. However, in other examples, the techniques described herein may work without any a priori knowledge of the return. In other words, the first return (and further returns, including a second return described below) may not be associated with an object in the environment, and such association may be unnecessary in some examples. The location of the first radar return may be a distance along the first radar direction.

[0083] At operation 506, process 500 may include determining a second velocity at a second location along the second radial direction based on a second radar return in the radar data. For example, like the first radar return, the second radar return (and other radar returns) may not be associated with a known object in the environment. The second radar return may be a return from another object in the environment, e.g., a newly detectable object, and / or a return from some intervening object in the environment. In the latter case, the second radar return may identify a phantom “object” at the location along the second radial direction.

[0084] In operation 508, process 500 may determine a projected velocity as a projection of the first velocity onto the second radial direction. For example, operation 508 may project one of the reflected waves in the pair of reflected waves, e.g., the first reflected wave, onto a direction associated with the other reflected wave in the pair, e.g., the unit vector associated with the second reflected wave. As will be appreciated, because the reflected reflected wave cannot be closer to the object than the (e.g., direct) reflected wave, operation 508 may project the velocity associated with the closer of the first and second reflected waves onto a direction associated with the farther away of the reflected waves. For example, with reference to the example of FIG. 2, the first reflected wave may be object reflected wave 122, and the second reflected wave may be first reflected reflected wave 138. The projected velocity determined by operation 508 may be the radial component of the object reflected wave velocity 160 reflected on a line 210 that bisects the line 208 connecting the object reflected wave 122 and the first reflected reflected wave 138 and is perpendicular to the line 208. Thus, the projected velocity may be the velocity resulting from the reflection of wireless energy first from the object and then from an intervening object positioned along a second direction.

[0085] At operation 510, process 500 can determine whether the projected velocity corresponds to a second velocity. For example, at operation 510, the magnitude of a radial component of the projected velocity, e.g., the component along the second radial direction, can be compared to the magnitude of the second velocity (measured along the second radial direction by a radar sensor). For example, the comparison can determine whether the magnitude of the radial component is substantially equal to the magnitude of the second velocity. As used herein, the term substantially equal, and similar terms, can refer to two values ​​being equal or within some threshold difference of each other. For example, the difference can be an absolute value (e.g., 0.1 meters per second, 0.5 meters per second, 2 meters per second, or the like), a percentage (e.g., 0.5%, 1%, 10%), or some other measure. In some examples, the difference can be based on the fidelity of the radar sensor, the distance of the object, the distance associated with the return, the velocity of the object, the velocity associated with the return, and / or other features and / or factors.

[0086] If, at operation 510, it is determined that the projected velocity corresponds to a second velocity, then process 500 may identify the second radar return as (or as likely to be) a reflected radar return at operation 512. For example, the vehicle computing device may determine that the return is (or is likely to be) a reflected return because the return closely corresponds to the (theoretical) reflection of the first return.

[0087] At operation 514, process 500 may optionally receive additional sensor data, and at operation 516, process 500 may optionally confirm the presence of an intervening object based on the additional sensor data. For example, operations 514, 516 may confirm that the second radar return is a reflected return by confirming the presence of an intervening object (having reflected radio energy) that caused the reflection. As described herein, the additional sensor data may be any type of sensor data from one or more sensor modalities disposed on or otherwise associated with the vehicle. In one example, the presence of the intervening object may be confirmed from map data (e.g., when the intervening object is equipment, a topographical feature, or the like). In other implementations, the additional sensor data received at operation 514 may be subsequently received data, including, but not limited to, subsequent radar data. As a non-limiting example, the subsequently received data can be used to track the second return over time. As described herein, the reflected echo may be transient, and attempts to track a second echo using prior and / or subsequent additional sensor data may be futile.

[0088] At operation 518, process 500 may filter out the radar returns and control the vehicle. For example, control of the vehicle may not rely on the radar returns because it has been determined that the radar returns are reflected returns and do not represent actual objects in the environment. As described herein, conventional planning systems have controlled vehicles to react (e.g., by braking, steering, or the like) to phantom “objects” represented by radar returns. However, by identifying and filtering out reflected returns, the techniques described herein can provide improved control, e.g., respond only to actual objects in the environment.

[0089] In contrast, if it is determined in operation 512 that the projected velocity does not correspond to the second velocity, then in operation 520, process 500 can identify the radar return as a potential additional object in the environment. For example, when the magnitude of the second velocity does not correspond to the radial component of the projected velocity, the second radar return is likely not a reflected return. Instead, the second return may correspond to an actual object in the environment. For example, the second return may be from a newly detected object, such as a pedestrian emerging from a building in the example of FIG. 2.

[0090] At operation 522, process 500 may optionally confirm the presence of an additional object. For example, operation 522 may include receiving additional sensor information and determining the presence of an object at a location associated with the second radar return based at least in part on the additional sensor information. The additional sensor information may include one or more of LiDAR data, image data, additional radar data, time-of-flight data, or the like. In one example, operation 522 may be substantially identical to operation 516, but confirming the presence of an object at the second location instead of at some intervening point.

[0091] At operation 524, process 500 may include controlling the vehicle based at least in part on the second radar return. For example, the second radar return may be associated with an actual dynamic object, so that the techniques described herein may control the vehicle in relation to the object. In an example, a trajectory of the vehicle may be determined based at least in part on the second radar return. As a non-limiting example, a prediction system, similar to prediction component 324, may determine a predicted trajectory of the additional object, and a planning system, e.g., planning component 326, may generate a trajectory for the vehicle in relation to the predicted trajectory of the additional object. In some implementations, operation 524 may also or alternatively include tracking the additional object, e.g., such that subsequent returns from the additional object may be treated as object returns. Such object returns may be used to determine reflected returns caused by the additional object.

[0092] 6 is a flow diagram of another example process 600 for determining whether a radar return is a reflected return, according to an embodiment of the present disclosure. Process 600 may be used in place of or in addition to process 500, described above. Process 600 is not limited to the environment shown in FIG. 3, although aspects of process 600 may correspond to the techniques described above with reference to FIG. 3. Furthermore, although described in the context of radar data, example process 600 may be used in the context of and / or in combination with LiDAR data, sonar data, time-of-flight image data, and / or other types of data.

[0093] At operation 602, process 600 may include receiving radar data about the environment. For example, the radar data may include radar returns including position information, velocity information, and / or intensity information. In one example, the radar system may include one or more radar sensors and may be a sensor system of an autonomous vehicle, such as the vehicle 102, 402 described above. The radar data may include a variety of returns, including static returns corresponding to objects having a position and a zero velocity, and dynamic returns or radar tracks corresponding to moving objects having a position and a non-zero velocity.

[0094] At operation 604, process 600 may include identifying a first location of a first return of the radar data. The first radar return may identify the depth or range of the return, the location, e.g., the angular position of the return relative to the sensor, and / or the velocity. In some examples, the first radar return may be an object return, e.g., corresponding to a known object in the environment. In some examples, the first radar return may be determined to correspond to an object return based on tracking information generated prior to receiving the radar data. However, in other examples, the techniques described herein can work without any a priori knowledge of the return. In other words, the first return (and further returns, including a second return described below) may not be associated with an object in the environment, and such association may be unnecessary in some examples. The location of the first radar return may be a position along a first radial direction, an x-y coordinate in a coordinate system, or some other location information.

[0095] At operation 606, process 600 may include identifying a second location of a second return of the radar data. The second radar return may identify the depth or range of the return, the location, e.g., the angular position of the return relative to the sensor, and / or the velocity. In other implementations, the location of the second radar return may be an x-y coordinate in a coordinate system or some other location information. The second radar return may be a return from another object in the environment, e.g., a newly detectable object, and / or a reflection from some intervening object in the environment. In the latter case, the radar return may identify a phantom “object” at a location along a radial direction. Techniques described herein may be used to determine whether the return is a reflected return.

[0096] At operation 608, process 600 can determine the location of the reflection point based on the first location and the second location. For example, techniques described herein can determine the reflection point as a point in space along the second radial direction where wireless energy reflected from an object associated with the first reflected wave that was reflected by the sensor to generate the second reflected wave. In one example, operation 610 can determine the reflection point using geometry associated with the locations of the first reflected wave and the second reflected wave. FIG. 3 shows that the reflection point can be determined as the intersection of a first line extending between the sensor and the second reflected wave and a second line that is perpendicular to and bisects the line extending between the first reflected wave and the second reflected wave. Additionally or alternatively, an assumption that the line segments from the reflection point to the two points are equal can be used to determine where the reflection point is located along the line. As will be appreciated, for any given pair of points, the reflection point will necessarily lie on a line between the sensor and the reflected wave that is radially farther away from the sensor, and therefore in the example of Figure 6 the second reflected wave is farther away than the first reflected wave.

[0097] At operation 610, process 600 may receive data about objects in the environment. For example, operation 610 may include receiving additional sensor data about the environment. Such additional sensor data may be any type of sensor data from one or more sensor modalities located on or otherwise associated with the vehicle. In one example, operation 610 may include receiving map data of the environment. In the examples described herein, the data about the objects may be from any source capable of providing information about the objects, whether static or dynamic, in the environment.

[0098] In operation 612, process 600 determines whether an object is located at the reflection point. As explained above, the geometry of the reflected waves makes it possible to determine a theoretical reflection point, i.e., a point where wireless energy initially reflected from an object associated with a first reflected wave subsequently reflects to provide a reflected wave at the location of a second reflected wave. Such reflections are ghost or phantom reflections, as opposed to (direct) reflections from objects in the environment. Therefore, while such a theoretical point can be determined for any pair of reflected waves, the data about the object received in 610 can be used to determine whether an object is actually present at the theoretical reflection point.

[0099] If an object is determined to be present at the reflection point in operation 612, then process 600 may identify the second radar return as a reflected radar return in operation 614. For example, because the location of the second return closely corresponds to the location of the (theoretical) reflection of the first return at the reflection point, and an object is present at the theoretical reflection point, the vehicle computing device may determine that the return is a reflected return. For example, the vehicle computing device may flag the second return as a potential reflected return and / or send information to other components of the vehicle.

[0100] At operation 616, process 600 may control the vehicle to exclude or otherwise take the second radar return into account. For example, because the second radar return has been determined to be a reflected return and not a representative of an actual object in the environment, control of the vehicle may not rely on the second radar return. As described herein, conventional planning systems have controlled vehicles to react (e.g., by braking, steering, or the like) to phantom “objects” represented by the second radar return. However, by identifying and excluding reflected returns, the techniques described herein can provide improved control, e.g., respond only to actual objects in the environment. In some implementations, the techniques described herein can also track the second return to confirm it is a reflection point. As noted above, the geometry of the environment creates conditions that allow for reflected returns, but that geometry is constantly changing. Therefore, while a reflected clutter may be present in one radar scan, it is unlikely to be present in a subsequent (or preceding) scan, and therefore attempting to track a transient clutter may not be possible.

[0101] In contrast, if it is determined in operation 612 that no object is present at the reflection point, then in operation 518, process 600 can identify the second radar return as a further potential object in the environment. For example, when no object is present at the reflection point, the radar return is likely not a reflected return. Instead, the second return may correspond to an actual object in the environment. For example, the return may be a newly detected object, such as a pedestrian emerging from the building in the example of FIG. 3.

[0102] At operation 620, process 600 may optionally confirm the presence of an additional object. For example, operation 624 may include receiving additional sensor information and determining, based at least in part on the additional sensor information, the presence of an object at a location associated with the second radar return. The additional sensor information may include one or more of LiDAR data, image data, additional radar data, time-of-flight data, or the like. In an implementation, operation 620 may be substantially identical to operations 610, 612, except that instead of determining the presence of an object at the reflection point, process 600 may determine the presence of an object at a second location, i.e., the second reflection.

[0103] At operation 622, process 600 may include controlling the vehicle based at least in part on the second reflected wave. For example, the second reflected wave may be associated with an actual dynamic object, so that the techniques described herein may control the vehicle in relation to the object. In an example, a trajectory of the vehicle may be determined based at least in part on the second reflected wave. As a non-limiting example, a prediction system, similar to prediction component 424, may determine a predicted trajectory of the additional object, and a planning system, e.g., planning component 426, may generate a trajectory of the vehicle in relation to the predicted trajectory of the additional object. In some implementations, operation 622 may also or alternatively include tracking the additional object, e.g., such that subsequent reflected waves from the additional object may be treated as object reflected waves. Such object reflected waves may be used to determine reflected reflected waves caused by the additional object.

[0104] The operations of processes 500, 600 may be performed sequentially and / or in parallel. As a non-limiting example, the radar data received in operations 502, 504, 602 may include multiple radar returns. In some implementations, operations 506, 508, 510, 512, 608, 610, 612, and others may be performed, for example, in parallel, for each of the radar returns. Thus, all reflected returns from the radar data may be relatively quickly identified and removed from consideration, as described herein. Furthermore, while only a single pair of returns is referenced in FIGS. 5 and 6 , multiple pairs of returns may be compared using the techniques described herein. As a non-limiting example, the same return may be compared to multiple other returns (which may or may not be known to be associated with objects in the environment). In one example, multiple radar returns for each known object may be received, and those returns may be compared to other returns not associated with the object, e.g., using process 400 or process 500. Furthermore, pairs of returns may be processed by both process 400 and process 500, e.g., to obtain further confidence that a return is a reflection. In yet another implementation, the multiple radar returns may be filtered, e.g., such that only some subset of the multiple radar returns is processed. For example, radar returns that are relatively closer to vehicle 102 than known objects may not be reflected returns and therefore may not be searched for by aspects of process 500. Furthermore, radar returns that have a speed below a minimum speed, e.g., non-zero, may be excluded from the search, e.g., because even if they are reflected returns, they may have minimal impact on the vehicle. Additionally, returns having a threshold angle, for example, an angle (relative to the radar sensor 104 / vehicle 102) of greater than or equal to 45 degrees, 60 degrees, 90 degrees, or the like, as well as other filtering techniques and criteria may be used.

[0105] 5 and 6 illustrate example processes according to embodiments of the present disclosure. The processes illustrated in FIGS. 5 and 6 may, but are not necessarily, performed as multiple subprocesses, e.g., by various components of the vehicle 102, 402. Processes 500, 600 are illustrated as logical flowcharts, each representing a sequence of operations that may be implemented in hardware, software, or a combination thereof. In a software context, the operations represent computer-executable instructions stored on one or more non-transitory computer-readable storage media that, when executed by one or more processors, cause a computer or autonomous vehicle to perform the described operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular abstract data types. The order in which operations are described is not intended to be construed as a limitation, and any number of the described operations can be combined in any order and / or in parallel to perform a process.

[0106] (Example clause) An example autonomous vehicle includes a radar sensor on the autonomous vehicle; one or more processors; and a memory storing processor-executable instructions that, when executed by the one or more processors, cause the autonomous vehicle to perform operations including receiving radar data of an environment from the radar sensor, the first radar return comprising a first velocity and a first range along a first radial direction from the radar sensor, and a second radar return comprising a second velocity and a second range along a second radial direction from the radar sensor; projecting the first velocity onto a point corresponding to the second radar return as a projected velocity; determining, based at least in part on the second velocity and the projected velocity, that the second radar return corresponds to a reflected radar return that reflected from an intervening surface; and controlling the autonomous vehicle within the environment to exclude the second radar return.

[0107] B. The autonomous vehicle of Example A, wherein projecting the first velocity comprises determining a reflection line based at least in part on a first range on a first radial direction and a second range on a second radial direction, reflecting the first velocity from the first location to the second location about the reflection line, and determining the projected velocity as a component of the reflected velocity along the second radial direction.

[0108] C. The autonomous vehicle of Example A or Example B, wherein determining that the second radar return corresponds to the reflected radar return comprises comparing a first magnitude of the projected velocity to a second magnitude of the second velocity, and determining that the first magnitude is substantially equal to the second magnitude.

[0109] D. The autonomous vehicle of any one of Examples A through C, wherein the operation further comprises, prior to receiving the radar data, receiving a previous radar return associated with the object, and identifying the first return as an object return associated with the object based at least in part on the previous radar return.

[0110] E. The autonomous vehicle of any one of Examples A through D, further comprising at least one additional sensor on the vehicle, wherein the operation further comprises receiving additional sensor data from the at least one additional sensor and verifying the presence of an intervening object based at least in part on the additional sensor data.

[0111] F. The autonomous vehicle of any one of Examples A through E, wherein the operation further comprises selecting the first and second returns from the plurality of candidate radar returns based at least in part on one or more of a distance associated with the first and second returns, a position associated with the first and second returns, or a velocity associated with the first and second returns.

[0112] An exemplary method includes capturing radar data of an environment with a radar sensor on a vehicle, the radar data including a plurality of radar returns; determining a first velocity along a first radial direction extending from the vehicle based at least in part on a first radar return of the plurality of radar returns; determining a second velocity along a second radial direction extending from the vehicle based at least in part on a second radar return of the plurality of radar returns; determining a projected velocity of the first velocity along the second direction; and determining, based at least in part on a comparison of the projected velocity and the second velocity, that the second radar return corresponds to a reflected radar return reflected from the object and an intervening object between the object and the radar sensor.

[0113] H. The method of Example G, further comprising receiving sensor data from at least one of the radar sensor or the additional sensor, and identifying, based at least in part on the sensor data, the first reflected wave as being associated with an object in the environment.

[0114] I. The method of Example G or Example H, further comprising tracking an object in the environment based at least in part on the sensor data and prior to capturing the first radar return and the second radar return, wherein determining that the second return is a reflected return is further based at least in part on the tracking.

[0115] J. The method of any one of Examples G through I, wherein the projected velocity comprises a velocity projected along the second direction onto a position corresponding to the second reflected wave.

[0116] K. The method of any one of Examples G through J, wherein determining the projected velocity comprises determining a reflected line based at least in part on a first range associated with the first reflected wave and a second range associated with the second reflected wave, reflecting the first velocity about an axis of the reflected line to determine a reflected velocity, and determining the projected velocity as a component of the reflected velocity along a second radial direction.

[0117] L. The method of any one of Examples G through K, further comprising determining a reflection point as an intersection of the reflection line and a line extending between the radar sensor and a second location, the reflection point being a location associated with an intervening object.

[0118] M. The method of any one of Examples G through L, further comprising receiving at least one of additional sensor data or map data, and identifying an intervening object at the reflection point based at least in part on the additional sensor data or map data.

[0119] N. The method of any one of Examples G through M, wherein the first reflected wave and the second reflected wave are selected based at least in part on at least one of a distance associated with the first reflected wave and the second reflected wave, a position associated with the first reflected wave and the second reflected wave, or a velocity associated with the first reflected wave and the second reflected wave.

[0120] O. The method of any one of Examples G through N, wherein the first return is associated with an object in the environment and the second return is determined based at least in part on at least one of the second radar return having a second range that is greater than the first range associated with the first radar return, or a second velocity that is greater than or equal to a threshold velocity.

[0121] One or more exemplary non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations including capturing, with a radar sensor, radar data of an environment including a first radar return having a first velocity, a first direction, and a first range, and a second radar return having a second velocity, a second direction, and a second range; determining a projected velocity of the first velocity with respect to the second direction; and determining, based at least in part on a comparison of the projected velocity and the second velocity, that the second radar return corresponds to a reflected radar return.

[0122] Q The one or more non-transitory computer-readable media of Example P, wherein determining the projected velocity comprises determining a reflection line based at least in part on the first reflected wave and the second reflected wave, reflecting the first velocity from the first location to the second location about the reflection line to determine a reflected velocity, and determining the projected velocity as a component of the reflected velocity along the second direction.

[0123] R. The method of Example P or Example Q, further comprising: determining the reflection point as a point along the second direction such that a line from the reflection point bisects the connecting line from the first point to the second point; receiving additional sensor data; determining the presence of a surface at the reflection point based at least in part on the additional sensor data; and verifying that the second radar return corresponds to the reflected radar return.

[0124] S. The one or more non-transitory computer-readable media of any one of Examples P through R, wherein the operations further comprise receiving sensor data from at least one of the radar sensor or the additional sensor, and determining, based at least in part on the sensor data, that the first reflected echo is associated with an object in the environment.

[0125] The one or more non-transitory computer-readable media of any one of Examples P through S, wherein the T operations further comprise identifying one or more candidate return waves from the plurality of return waves, the one or more candidate return waves including a second radar return wave, and the identifying is based at least in part on at least one of a range associated with each of the one or more candidate return waves or a velocity associated with each of the one or more candidate return waves.

[0126] An exemplary autonomous vehicle includes one or more sensors on the autonomous vehicle including at least a radar sensor; one or more processors; and a memory storing processor-executable instructions that, when executed by the one or more processors, cause the autonomous vehicle to perform operations including receiving radar data of an environment from the radar sensor, the instructions including a first radar return having an associated first position comprising a first range along a first radial direction from the radar sensor and a second radar return having an associated second position comprising a second range along a second radial direction from the radar sensor; determining a reflection point along the second radial direction based at least in part on the first position and the second position; receiving further sensor data from the one or more sensors; identifying an object in the environment based at least in part on the further sensor data; determining that the second radar return is a reflected return based at least in part on the object located at the reflection point; and controlling the autonomous vehicle within the environment to exclude the second radar return.

[0127] V. The autonomous vehicle of example U, wherein determining the reflection point comprises determining a reflection line based at least in part on the first position and the second position, and determining the reflection point as an intersection of the reflection line and a line extending along the second direction.

[0128] W. The autonomous vehicle of Example U or Example V, wherein the operations further comprise receiving previous sensor data associated with the second object from the radar sensor and prior to receiving the radar data, and identifying the first reflected wave as an object reflected wave associated with the second object based at least in part on the previous sensor data.

[0129] X. The autonomous vehicle of any one of Examples U through W, wherein the operation further comprises selecting a second reflected wave from the plurality of reflected waves based at least in part on the second range being greater as compared to the first range.

[0130] Y. The autonomous vehicle of any one of Examples U through X, wherein the operations further comprise receiving, from the radar sensor and after receiving the radar data, a further radar return associated with the environment, and identifying the second radar return as a reflected return based at least in part on the further radar return.

[0131] Z. An exemplary method comprising receiving radar data of an environment from a radar sensor on a vehicle, the radar data including a plurality of radar returns; determining a first location on a first radial direction extending from the radar sensor based at least in part on a first radar return of the plurality of radar returns; determining a second location on a second radial direction extending from the radar sensor based at least in part on a second radar return of the plurality of radar returns; determining a reflection point along the second radial direction and between the radar sensor and the second location; and determining, based at least in part on further data about the environment, that the second radar return is a reflected return.

[0132] The method of Example Z further comprising controlling the vehicle within the environment to filter out the second radar return.

[0133] BB The method of Example Z or Example AA, wherein determining the reflection point comprises determining a reflection line based at least in part on the first location and the second location.

[0134] CC The method of any one of Examples Z to BB, wherein the further data comprises at least one of sensor data or map data, and the sensor data comprises one or more of LiDAR data, further radar data, or image data.

[0135] The method of any one of Examples Z through CC, further comprising receiving, from the radar sensor, a further radar return associated with the environment, and identifying the second radar return as a reflected return based at least on the further radar return.

[0136] The method of any one of Examples Z through DD, further comprising receiving, from the EE radar sensor and prior to receiving the radar data, a previous radar return associated with the tracked object in the environment, and identifying the first return as an object return associated with the tracked object based at least in part on the previous radar return.

[0137] FF The method of any one of Examples Z through EE, wherein the first reflected wave and the second reflected wave are selected based at least in part on at least one of a range associated with the first reflected wave and the second reflected wave, a first position and a second position associated with the first reflected wave and the second reflected wave, or a velocity.

[0138] GG The method of any one of Examples Z through FF, wherein the first radar return is associated with an object in the environment and the second radar return is determined based at least in part on at least one of the second radar return having a second range that is greater than the first range associated with the first radar return, or the second velocity of the second radar return being greater than or equal to a threshold velocity.

[0139] HH The method of any one of Examples Z through GG, further comprising receiving additional sensor data from an additional sensor on the vehicle and identifying an object associated with the first reflected wave based at least in part on the additional sensor data.

[0140] II. One or more exemplary non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to perform operations including receiving radar data of an environment from a radar sensor on a vehicle, the instructions including a plurality of radar returns; determining a first location on a first radial direction extending from the radar sensor based at least in part on a first radar return of the plurality of radar returns; determining a second location on a second radial direction extending from the radar sensor based at least in part on a second radar return of the plurality of radar returns; determining a reflection point along the second radial direction and between the radar sensor and the second location; determining the presence of an object at a location corresponding to the reflection point based at least in part on further data about the environment; and determining the second radar return to be a reflected return based at least in part on the presence of the object at the location.

[0141] JJ The one or more non-transitory computer-readable media of Example II, wherein determining the reflection point comprises determining a reflection line based at least in part on the first location and the second location.

[0142] KK The one or more non-transitory computer-readable media of Example II or Example JJ, wherein the further data comprises at least one of sensor data or map data, and the sensor data comprises one or more of LiDAR data or image data.

[0143] The one or more non-transitory computer-readable media of any one of Examples II through KK, wherein the operation further comprises receiving, from the radar sensor, an additional radar return associated with the environment, and verifying, based at least in part on the additional radar return, that the second radar return is a reflected return.

[0144] The one or more non-transitory computer-readable media of any one of Examples II through LL, wherein the MM operations further comprise receiving, from the radar sensor and prior to receiving the radar data, a previous radar return associated with the tracked object in the environment, and identifying a first return as an object return associated with the tracked object based at least in part on the previous radar return.

[0145] NN The one or more non-transitory computer-readable media of any one of Examples II through MM, wherein the first reflected wave and the second reflected wave are selected based at least in part on at least one of a range associated with the first reflected wave and the second reflected wave, a first position and a second position associated with the first reflected wave and the second reflected wave, or a velocity.

[0146] While the example clauses described above are described with respect to one particular implementation, it should be understood that in the context of this specification, the contents of the example clauses may also be implemented via methods, devices, systems, computer-readable media, and / or other implementations.

[0147] While the example clauses described above are described with respect to one particular implementation, it should be understood that in the context of this specification, the contents of the example clauses may also be implemented via methods, devices, systems, computer-readable media, and / or other implementations.

[0148] (Conclusion) While one or more examples of the techniques described herein have been described, various modifications, additions, permutations, and equivalents of those examples are included within the scope of the techniques described herein.

[0149] In describing examples, reference is made to the accompanying drawings, which form a part of the description, showing, by way of illustration, specific examples of the claimed subject matter. It is understood that other examples may be used and that modifications or variations, such as structural changes, may be made. Such examples, modifications, or variations do not necessarily depart from the intended scope of the claimed subject matter. While the steps described herein may be presented in a certain order, in some cases the order may be changed so that some inputs are provided at different times or in a different order without changing the functionality of the described systems and methods. The disclosed procedures may also be performed in a different order. Furthermore, the various calculations herein need not be performed in the order disclosed, and other examples using alternative orders of calculations may readily be implemented. In addition to being reordered, calculations may also be decomposed into sub-calculations with the same result.

Claims

1. 1. A method comprising: receiving radar data of an environment from a radar sensor on a vehicle, the radar data including a first radar return and a second radar return; determining, based at least in part on the first radar return and the second radar return, a hypothetical reflection point where an intervening object would be located if the second radar return were a reflected return associated with the first radar return; receiving sensor data associated with the hypothetical reflection point from another sensor on the vehicle; determining from the sensor data that an object is located in the environment at a location corresponding to the hypothetical reflection point; determining, based at least in part on determining that the object is located at the location in the environment corresponding to the hypothetical reflection point, that the hypothetical reflection point is a reflection point for a wave reflected by an actual object; determining that the second radar reflection wave is a reflected reflection wave based on the hypothetical reflection point being a reflection point of a reflection wave from an actual object; generating radar data excluding the second radar return based at least in part on the second radar return being the reflected return; and A method comprising:

2. Determining the hypothetical reflection point comprises: determining a first position in a first radial direction extending from the radar sensor based at least in part on the first radar return; determining a second position in a second radial direction extending from the radar sensor based at least in part on the second radar return; and determining the hypothetical reflection point as a point along the second radial direction and between the radar sensor and the second location.

3. Determining the hypothetical reflection point comprises: determining a reflected line based at least in part on the first location and the second location; The method of claim 2 , further comprising: determining the hypothetical reflection point as an intersection of the reflection line and a line extending along the second radial direction.

4. the first radar return includes a first velocity and a first range along a first radial direction from the radar sensor; The second radar return includes a second velocity and a second range along a second radial direction from the radar sensor, and the method further comprises: projecting the first velocity to a point corresponding to the second radar return as a projected velocity; 4. The method of claim 3, further comprising: determining, based at least in part on the second velocity and the projected velocity, that the second radar return corresponds to a radar return reflected from an intermediate surface at the hypothetical reflection point.

5. Determining that the object is located at the location within the environment includes: receiving at least one of LiDAR data, camera data, or time-of-flight data as the sensor data; and identifying the object at the location in the environment from the sensor data.

6. receiving map data; The method of claim 5 , further comprising: determining that the object is located at the location within the environment based at least in part on the map data.

7. tracking the object within the environment prior to capturing the first radar return and the second radar return based at least in part on the sensor data associated with the hypothetical reflection point; The method of claim 1 , wherein determining that the second radar return is a reflected return is further based at least in part on the tracking.

8. 1. An autonomous vehicle, comprising: a radar sensor on the autonomous vehicle; additional sensors on the autonomous vehicle; and one or more processors; a memory storing processor-executable instructions that, when executed by the one or more processors, cause the autonomous vehicle to: receiving radar data of an environment from a radar sensor on a vehicle, the radar data including a first radar return and a second radar return; determining, based at least in part on the first radar return and the second radar return, a hypothetical reflection point where an intervening object would be located if the second radar return were a reflected return associated with the first radar return; receiving sensor data associated with the hypothetical reflection point from another sensor on the vehicle; determining from the sensor data that an object is located in the environment at a location corresponding to the hypothetical reflection point; determining, based at least in part on determining that the object is located at the location in the environment corresponding to the hypothetical reflection point, that the hypothetical reflection point is a reflection point for a wave reflected by an actual object; determining that the second radar reflection wave is a reflected reflection wave based on the hypothetical reflection point being a reflection point of a reflection wave from an actual object; generating radar data excluding the second radar return based at least in part on the second radar return being the reflected return; and a memory for causing the device to perform operations including: An autonomous vehicle equipped with

9. Determining the hypothetical reflection point comprises: determining a first position in a first radial direction extending from the radar sensor based at least in part on the first radar return; determining a second position in a second radial direction extending from the radar sensor based at least in part on the second radar return; and determining the hypothetical reflection point as a point along the second radial direction and between the radar sensor and the second location.

10. Determining the hypothetical reflection point comprises: determining a reflected line based at least in part on the first location and the second location; 10. The autonomous vehicle of claim 9, further comprising: determining the hypothetical reflection point as an intersection of the reflection line and a line extending along the second radial direction.

11. the first radar return includes a first velocity and a first range along a first radial direction from the radar sensor; The second radar return includes a second velocity and a second range along a second radial direction from the radar sensor, and the operation includes: projecting the first velocity to a point corresponding to the second radar return as a projected velocity; 10. The autonomous vehicle of claim 8, further comprising: determining, based at least in part on the second velocity and the projected velocity, that the second radar return corresponds to a radar return reflected from an intermediate surface at the hypothetical reflection point.

12. The operation is receiving map data; The autonomous vehicle of claim 8 , further comprising: determining, based at least in part on the map data, that the object is located at the location within the environment.

13. The operation is receiving previous sensor data associated with a second object from the radar sensor prior to receiving the radar data; 10. The autonomous vehicle of claim 8, further comprising identifying the first radar return as an object return associated with the second object based at least in part on the previous sensor data.

14. The operation is 10. The autonomous vehicle of claim 8, further comprising: selecting the second radar return from the plurality of returns based at least in part on a range associated with the second radar return being greater than a range associated with the first radar return.

15. One or more non-transitory computer-readable media storing instructions that, when executed, cause one or more processors to: receiving radar data of an environment from a radar sensor on a vehicle, the radar data including a first radar return and a second radar return; determining, based at least in part on the first radar return and the second radar return, a hypothetical reflection point where an intervening object would be located if the second radar return were a reflected return associated with the first radar return; receiving sensor data associated with the hypothetical reflection point from another sensor on the vehicle; determining from the sensor data that an object is located in the environment at a location corresponding to the hypothetical reflection point; determining, based at least in part on determining that the object is located at the location in the environment corresponding to the hypothetical reflection point, that the hypothetical reflection point is a reflection point for a wave reflected by an actual object; determining that the second radar reflection wave is a reflected reflection wave based on the hypothetical reflection point being a reflection point of a reflection wave from an actual object; and generating radar data excluding the second radar return based at least in part on the second radar return being the reflected return.

16. Determining the hypothetical reflection point comprises: determining a first position in a first radial direction extending from the radar sensor based at least in part on the first radar return; determining a second position in a second radial direction extending from the radar sensor based at least in part on the second radar return; and determining the hypothetical reflection point as a point along the second radial direction and between the radar sensor and the second location.

17. Determining the hypothetical reflection point comprises: determining a reflected line based at least in part on the first location and the second location; 17. The one or more non-transitory computer-readable media of claim 16, further comprising: determining the hypothetical reflection point as an intersection of the reflection line and a line extending along the second radial direction.

18. the first radar return includes a first velocity and a first range along a first radial direction from the radar sensor; the second radar return includes a second velocity and a second range along a second radial direction from the radar sensor; The operation is projecting the first velocity to a point corresponding to the second radar return as a projected velocity; and determining, based at least in part on the second velocity and the projected velocity, that the second radar return corresponds to a reflected radar return reflected from an intermediate surface at the hypothetical reflection point.

19. Determining that the second radar return corresponds to a reflected radar return includes: comparing a first magnitude of the projected velocity with a second magnitude of the second velocity; and determining that the first magnitude is substantially equal to the second magnitude.

20. The operation is receiving map data; 20. The one or more non-transitory computer-readable media of claim 18, further comprising: determining that the object is located at the location within the environment based at least in part on the map data.

Citation Information

Patent Citations

  • Method and apparatus for analyzing reflection signals, driver assistance system, and vehicle

    EP3299841A1

  • Radar system

    JP2009133761A

  • Vehicular target detection apparatus

    JP2017096840A

  • Ghost removing method and radar device

    JP2018200173A