Estimating the velocity of an object

DE102019115683B4Active Publication Date: 2026-07-30GM GLOBAL TECHNOLOGY OPERATIONS LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
GM GLOBAL TECHNOLOGY OPERATIONS LLC
Filing Date
2019-06-10
Publication Date
2026-07-30

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Methods (1200, 1400) for estimating the velocity of an object, comprising: generating a first set of detection points (114) at a defined time (tn) corresponding to a frame (n), using a sensor system (120) by processing signals representing electromagnetic radiation incident on a motor vehicle (105); generating a second set of detection points (118) in a further frame (n+1) following the frame (n), using the sensor system (120) by processing signals representing electromagnetic radiation incident on the motor vehicle (105); receiving (1210), using a velocity estimation system (140), first data indicating first locations relative to the object at a first time during the motion of the object, wherein the first data are representative of the first set of detection points (114);Receiving (1220), using the velocity estimation system (140), second data indicating second locations relative to the object at a second time point during the object's motion, wherein the second data are representative of a second group of detection points (118); transforming (1230) the first data into third data corresponding to the second time point, using at least one velocity vector hypothesis (1551, 1552, 1553) for a velocity of the object; solving (1240) an optimization problem with respect to a geometric volume of a convex hull from a union of the second data and the third data; and generating (1250) an estimate of a velocity of the object using a solution to the optimization problem; implementing a control process for controlling the operation of the motor vehicle (105), using a control system (260) coupled to the velocity estimation system (120).
Need to check novelty before this filing date? Find Prior Art

Description

The present disclosure relates to the estimation of the velocity of an object. The velocity of a rigid object can be determined from changes in the position of one or more reference points on or within the object over time. In some scenarios, such a determination can be difficult in practice. For example, a high-resolution sensor system can be mounted in an object and identify specific positions on the object. These positions can be referred to as detection points. Each of the detection points corresponds to signals detected by the high-resolution sensor system, with the signals being localized around an identified specific position on the object.Although the localized nature of the data points might make it attractive to use them as reference points when estimating the object's velocity, the number of data points and their arrangement on the object can change over time. Therefore, relying on such data points to determine the object's velocity can lead to inaccurate results or could simply make such an estimation impossible. DARAEI, M. Hossein; VU, Anh; MANDUCHI, Roberto: Velocity and shape from tightly coupled LiDAR and camera. In: 2017 IEEE Intelligent Vehicles Symposium (IV). IEEE, 2017. pp. 60-67 discloses a method for continuous vehicle speed measurement by fusing camera and LiDAR data. Geometrically corresponding features from image and point clouds are used, with an online calibration procedure (Direct Linear Transformation) supporting the integration. Frustum-based spatial filtering eliminates irrelevant points, while a 2D top-down perspective is used for cluster fitting. Speed ​​estimation is performed using Kalman filtering and observation equations, with noise covariances calculated from the point cloud resolution. MADASU, Vamsi Krishna; HANMANDLU, Madasu: Estimation of vehicle speed by motion tracking on image sequences. In: 2010 IEEE Intelligent Vehicles Symposium. IEEE, 2010. pp. 185-190, discloses a method for estimating vehicle speed based on the analysis of image sequences. The method relies on tracking motion in successive images using a Kanade-Lucas-Tomasi tracker or similar algorithms. The information obtained from the image motion is transformed into a dynamic state-space model that considers the relationship between image motion and real vehicle motion. A Kalman or extended Kalman filter is used to estimate speed and predict future positions. The calculations are performed on uncalibrated camera data from real-world traffic scenarios. Accordingly, it is desirable to provide technologies for estimating a linear velocity vector of an object when rich positional information for the object is available. In one embodiment, the disclosure provides a method. The method includes generating a first group of detection points at a defined time tn, corresponding to a frame n, by means of a sensor system by processing signals representing electromagnetic radiation incident on a motor vehicle 105, and generating a second group of detection points in a further frame n+1 following frame n, by means of the sensor system by processing signals representing electromagnetic radiation incident on the motor vehicle. The method further comprises receiving, by means of a velocity estimation system, first data indicating locations relative to an object at a first time point during the object's motion, wherein the first data are representative of the first set of acquisition points, and receiving, by means of the velocity estimation system, second data indicating locations relative to the object at a second time point during the object's motion, wherein the second data are representative of the second set of acquisition points. The method also includes transforming the first data into third data corresponding to the second time point using at least one velocity vector hypothesis for the object's velocity. The method further includes solving an optimization problem with respect to a geometric volume of a convex hull from a union of the second and third data.The procedure also includes generating an estimate of the object's velocity using a solution to the optimization problem. Furthermore, the procedure encompasses implementing a control process to regulate the operation of a motor vehicle, using a control system coupled to the velocity estimation system. In addition to one or more of the elements disclosed herein, the at least one velocity vector hypothesis includes several defined velocity vectors, and the third data includes first datasets defined by at least one corresponding velocity vector. Therefore, the method also includes generating second datasets corresponding to unions of the second data and corresponding first datasets; the method further includes generating convex hulls for corresponding second datasets; determining geometric volumes for corresponding convex hulls; and determining a first convex hull of the convex hulls having a minimal geometric volume relative to corresponding second convex hulls. In addition to one or more elements disclosed herein, generating the estimate of the object's velocity includes configuring a first velocity vector associated with the first convex hull as an estimate of a linear velocity vector of the object. In addition to one or more elements disclosed herein, the transformation includes transferring, for a time interval corresponding to the difference between the first defined time and the second defined time, a position vector along a linear path based on a second velocity vector from the group of defined velocity vectors. The position vector represents a location from the first locations. The transformation also includes generating a data set indicating a second location corresponding to the transferred position vector. Furthermore, the transformation includes adding the data set to a data set from the first data sets, with the data set being associated with the second velocity vector. In addition to one or more elements disclosed herein, the transformation includes truncating the initial data by removing at least one outlier record indicating a location outside the object. In addition to one or more elements disclosed herein, the at least one velocity vector hypothesis for the velocity of the object comprises an actual velocity vector hypothesis, and wherein the solving comprises determining a minimum geometric volume of the convex hull of the union of the second data and the third data by iteratively updating the actual velocity vector hypothesis to progressively decrease an actual geometric volume of an actual convex hull until a convergence criterion is satisfied. In addition to one or more elements disclosed herein, the object is a vehicle that includes a control system, the method further comprising the implementation by the control system of a process for controlling an operation of the vehicle using at least the estimated value of the object's speed. In another embodiment, the disclosure provides a system. The system includes at least one processor and at least one storage device coupled to the at least one processor. The at least one storage device has instructions encoded on it which, in response to execution, cause the at least one processor to perform or facilitate operations, including receiving first data indicating first locations relative to an object at a first time point during the object's motion. The operations also include receiving second data indicating second locations relative to the object at a second time point during the object's motion. The operations also include transforming the first data into third data corresponding to the second time point using at least one velocity vector hypothesis for the object's velocity.The work processes further include solving an optimization problem with respect to the geometric volume of a convex hull derived from the union of the second and third data sets. The work processes also include generating an estimate of the object's velocity using a solution to the optimization problem. In addition to one or more elements disclosed herein, the at least one velocity vector hypothesis includes several defined velocity vectors, and the third data comprise first datasets defined by at least one corresponding velocity vector. As such, the operations also include generating second datasets corresponding to unions of the second data and corresponding first datasets; generating convex hulls for corresponding second datasets; and determining the geometric volumes for corresponding convex hulls. Furthermore, the operations also include determining a first convex hull of the convex hulls that has a minimal geometric volume with respect to corresponding geometric volumes of the second convex hulls. In addition to one or more elements disclosed herein, the operation to generate the estimate of the object's velocity includes configuring a first velocity vector associated with the first convex hull as an estimate of a linear velocity vector of the object. In addition to one or more elements disclosed herein, the transform operation includes transferring, for a time interval corresponding to the difference between the first defined time and the second defined time, a position vector along a linear path based on a second velocity vector from the group of defined velocity vectors, wherein the position vector represents a location from the first locations. The transform operation also includes generating a data set indicating a second location corresponding to the transferred position vector. The transform operation also includes adding the data set to a data set from the first data sets, the data set being associated with the second velocity vector. In addition to one or more elements disclosed herein, the transforming operation includes truncating the initial data by removing at least one outlier record indicating a location external to the object. In addition to one or more elements disclosed herein, the at least one velocity vector hypothesis for the velocity of the object includes an actual velocity vector hypothesis, and the solution includes determining a minimum geometric volume of the convex hull of the union of the second data and the third data by iteratively updating the actual velocity vector hypothesis to progressively decrease an actual geometric volume of an actual convex hull until a convergence criterion is satisfied. In yet another embodiment, the disclosure provides a vehicle. The vehicle includes a sensor system that generates data representing locations relative to the vehicle. The vehicle also includes a computing system that is functionally coupled to the sensor system, the computing system including at least one processor configured to receive first data indicating first locations relative to an object at a first time during the object's motion. The at least one processor is further configured to receive second data indicating second locations relative to the object at a second time during the object's motion. The at least one processor is further configured to transform the first data into third data corresponding to the second time using at least one velocity vector hypothesis for the object's velocity.The at least one processor is further configured to solve an optimization problem with respect to a geometric volume of a convex hull from a union of the second data and the third data. The at least one processor is further configured to generate an estimate of the vehicle's speed using a solution to the optimization problem. In addition to one or more elements disclosed herein, the at least one speed vector hypothesis includes several defined speed vectors, and the third data includes first datasets defined by at least one corresponding speed vector. The at least one processor is further configured to generate second datasets corresponding to unions of the second data and corresponding unions of the first datasets.The at least one processor is further configured to generate convex hulls for corresponding second datasets and to determine geometric volumes for corresponding convex hulls. Additionally, the at least one processor is further configured to determine a first convex hull of the convex hulls that has a minimum geometric volume relative to corresponding geometric volumes of the second convex hulls. In addition to one or more elements disclosed herein, in order to generate the estimate of the vehicle's speed, at least one processor is further configured to configure a first velocity vector associated with the first convex hull as an estimate of a linear velocity vector of the vehicle. In addition to the elements disclosed herein, to transform the first data into third data, the at least one processor is further configured to transmit, for a time interval corresponding to a difference between the first defined time and the second defined time, a position vector along a linear path based on a second velocity vector from the group of defined velocity vectors. The position vector represents a location from the first locations. The at least one processor is further configured to generate a data set indicating a second location corresponding to the transmitted position vector. The at least one processor is further configured to add the data set to a data set from the first data sets, the data set being associated with the second velocity vector. In addition to the elements disclosed herein, in order to transform the first data into third data, at least one processor is further configured to truncate the first data by removing at least one outlier record indicating a location outside the object. In addition to the elements disclosed herein, the vehicle also includes a control system configured to implement a process for controlling the operation of the vehicle using at least the estimated value of the speed. In addition to the elements disclosed herein, the sensor system includes at least one second processor configured to generate part of the first data and part of the second data. The sensor system comprises one or more radar systems or lidar systems. The above features and advantages, as well as other features and advantages of the disclosure, are readily apparent from the following detailed description in conjunction with the accompanying drawings. Other features, advantages, and details appear only by way of example in the following detailed description, the detailed description referring to the drawings in which: Fig. 1 shows an example of an operating environment for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure; Fig. 2A shows an example of a system for estimating the speed of a vehicle according to one or more embodiments of the disclosure; Fig. 2B shows another example of a system for estimating the speed of a vehicle according to one or more embodiments of the disclosure; Fig. 3A shows a perspective view of an example of detection points for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure; Fig. 3B shows a top view of the example of detection points shown in Fig. 3A; Fig.Figure 4A shows a perspective view of an example of a union dataset of detection points for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure; Figure 4B shows a top view of the example of detection points shown in Figure 4A; Figure 5A shows a perspective view of a convex hull of the union dataset of detection points illustrated in Figure 4A according to one or more embodiments of the disclosure; Figure 5B shows a top view of the convex hull shown in Figure 5A; Figure 6 shows a two-dimensional projection of the volumes of convex hulls as a function of two-dimensional velocity vector hypotheses according to one or more embodiments of the disclosure; FigureFigure 7 shows a perspective view of an example of a convex hull corresponding to a defined velocity vector hypothesis according to one or more embodiments of the disclosure; Figure 8 shows a perspective view of an example of a convex hull corresponding to another defined velocity vector hypothesis according to one or more embodiments of the disclosure; Figure 9 shows a top view of the convex hull illustrated in Figure 7; Figure 10 shows a top view of the convex hull illustrated in Figure 8; Figure 11A shows a top view of examples of detection points in a motor vehicle according to one or more embodiments of the disclosure; Figure 11B shows a top view of other examples of detection points in a motor vehicle according to one or more embodiments of the disclosure; FigureFigure 11C shows a top view of other examples of detection points in a motor vehicle according to one or more embodiments of the disclosure; Figure 12 shows an example of a method for generating an estimate of the speed of an object according to one or more embodiments of the disclosure; Figure 13 shows another example of a method for generating an estimate of the speed of an object according to one or more embodiments of the disclosure; Figure 14 shows yet another example of a method for generating an estimate of the speed of an object according to one or more embodiments of the disclosure; and Figure 15 shows a summary block diagram of a computing system that can be used to implement one or more embodiments. The disclosure identifies and addresses, in at least some embodiments, the problem of estimating the velocity of an object that has multiple reference points for estimation, where the points change over time as the object moves. Embodiments of this disclosure include systems, vehicles, and techniques that, individually or in combination, enable or otherwise facilitate the generation of an estimated value of a velocity vector of a vehicle or other type of moving object. While some embodiments of the disclosure are illustrated with reference to a motor vehicle, the disclosure is not limited thereto. Indeed, the principles and practical elements disclosed herein can be applied to other types of vehicles (aircraft (unmanned or otherwise), agricultural equipment, etc.) and moving objects. Embodiments of the disclosure provide several technical advantages. For example, the techniques and systems or vehicles implementing the techniques can be robust with respect to temporal variations in the detected reflection points around a vehicle or other type of object. More precisely, an estimate of the vehicle's velocity vector can be performed, for instance, independently of changes in the number and / or arrangement of the detected reflection points during the vehicle's movement. The accuracy of the vehicle's velocity vector estimate is superior to that provided by typical approaches. With reference to the drawings, Fig. 1 shows an example of an operating environment 100 for estimating the speed of a motor vehicle 105 according to one or more embodiments of the disclosure. The exemplary operating environment 100 is described with reference to a motor vehicle simply for the sake of illustration. In fact, the disclosure is not limited in this respect, and the principles and practical elements of this disclosure can be applied to other types of vehicles and moving objects. The vehicle 105 includes a scanning platform 110, which can determine several detection points at a defined time during the vehicle 105's trajectory. These detection points represent defined locations around the vehicle 105. Each detection point can be determined from signals detected by the scanning platform 110. The detected signals can include one or more types of electromagnetic (EM) signals (e.g., radio waves or infrared light). In one aspect, the scanning platform 110 can detect EM signals with a defined frequency f (a real number in units of frequency). Thus, data (analog or digital) generated in response to detected signals can be organized into frames. A frame is, or includes, a data structure containing one or more datasets generated in response to signals detected at a defined time or during a defined period.As such, a frame corresponds to a defined point in time during a recording interval. As illustrated in Fig. 1, the scanning platform 110 can include a sensor system 120 that can generate multiple detection points for the motor vehicle 105 within a defined frame. For this purpose, in one embodiment, the sensor system 120 can be embodied in or include a radar system. Additionally, or in other embodiments, the sensor system 120 can be embodied in or include a light detection and ranging (LIDAR) system. In such embodiments, the detection points can also be referred to as reflection points. As an illustration, the sensor system 120 can, at a defined time tn (a real number in units of time), corresponding to a frame n (a natural number), generate or otherwise determine a first group of acquisition points, including acquisition point 1141, acquisition point 1142, acquisition point 1143, acquisition point 1144, acquisition point 1145, acquisition point 1146, acquisition point 1147, and acquisition point 1148. The group of acquisition points is arranged around the motor vehicle 105, with acquisition points 1141 to 1144 and acquisition points 1146 to 1148 located on the motor vehicle 105. Acquisition point 1145 is located outside the perimeter of the motor vehicle 105 and is referred to as the outlier acquisition point. The sensor system 120 can generate the first group of detection points, for example, by processing signals representing electromagnetic radiation that strikes the motor vehicle 105.In one embodiment, the sensor system 120 can apply beam shaping to received EM radiation received by an antenna array (not shown in Fig. 1) enclosed within the sensor system 120. The beam shaping can lead to the first group of detection points. In a further frame, such as frame n+1 following frame n corresponding to a defined time tn+1 (a real number in units of time), the sensor system 120 can generate or otherwise determine a second group of detection points, including detection point 1181, detection point 1182, detection point 1183, detection point 1184, detection point 1185, detection point 1186, detection point 1187, detection point 1188, detection point 1189, and detection point 11810. The sensor system 120 can also generate the second group of detection points, for example, by processing signals representing electromagnetic radiation incident on the motor vehicle 105. In one embodiment, as mentioned, the sensor system 120 can apply beam shaping to EM radiation received at the antenna array (not shown in Fig. 1) enclosed in the sensor system 120.Beam shaping can lead to the second group of detection points. While the second group of measurement points is also arranged around the vehicle 105, the number of measurement points in the second group is greater than the number of measurement points in the first group. Additionally, the arrangement of the measurement points in the second group differs from the arrangement of the measurement points in the first group. Therefore, conventional approaches would not consider this type of measurement point when estimating a linear velocity of the vehicle 105. In fact, conventional approaches to estimating the velocity of an object typically rely on a single reference position vector for the object and the changes in this position vector as a function of time.In stark contrast, embodiments of the disclosure use multiple detection points around the motor vehicle 105, these points being generated by the sensor system 120 to generate an estimate of a linear velocity vector of the motor vehicle 105. For at least this purpose, the sensor system 120 can provide (e.g., transmit and / or make available) data 130, representing capture points in one or more frames, to a speed estimation system 140 enclosed within the scanning system 110. The speed estimation system 140 can receive or otherwise access at least some of the data 130. The speed estimation system 140 can generate a speed estimate 145 based on at least the received or otherwise accessed data. The speed estimate 145 approximates the instantaneous speed vector of the vehicle 105 at a defined time. Thus, the speed estimate 145 approximates the magnitude and orientation of the instantaneous speed vector of the vehicle 105. In particular, the speed estimation system 140 can receive first data indicating or otherwise representing the first group of acquisition points belonging to frame n at time tn. Each acquisition point of the first group of acquisition points can be defined relative to the origin of a reference frame on the vehicle 105. Additionally, the speed estimation system 140 can receive second data indicating or otherwise representing the second group of acquisition points belonging to frame n+1 at time tn+1. Each acquisition point of the second group of acquisition points can also be defined relative to the origin of the reference frames on the vehicle 105. Thus, for the sake of nomenclature, in Fig. 1 the first group of acquisition points can be referred to as arrangement 150 and the second group of acquisition points can be referred to as arrangement 160. Furthermore, the speed estimation system 140 can generate one or more defined speed vectors for the motor vehicle 105. Each of the defined speed vector(s) is a hypothesis for the speed of the motor vehicle 105. As such, a defined speed vector among the generated defined speed vector(s) is referred to as a speed vector hypothesis. The velocity estimation system 140 can transform the initial data representing the group of capture points in frame n into third-party data corresponding to a subsequent frame, such as frame n+1, using at least one of the one or more velocity vector hypotheses. The velocity estimation system 140 can transfer a position vector corresponding to a capture point in frame n along a straight path for a time interval Δt according to a velocity vector hypothesis. Here, Δt is a difference between time ts, which is associated with the subsequent frame, and tn. In one embodiment, to generate a velocity estimate 145 that approximates an instantaneous velocity at time tn, the subsequent frame can be frame n+1, resulting in a minimum Δt = 4n+1 - tn = 1 / f.Additionally, the velocity estimation system 140 can generate a data set that indicates a second location corresponding to the transmitted position vector and add the data set to third data. In an embodiment in which a group of N velocity vector hypotheses {v1, v2, ... vN} are generated, such transformations are illustrated in Fig. 1 as empty circles for three velocity vector hypotheses v11551, v21552 and vN155N in the respective arrangements 1701, 1702 and 170N. These arrangements also include detection points 1181 to 11810. At or after generating the third data, which includes transformed capture points from frame n, the velocity estimation system 140 can solve an optimization problem with respect to the volume of a convex hull formed by the union of the third data and the second data, which represent the group of capture points in frame n+1. Such a volume can represent a cost function (or objective function) optimized to determine the velocity estimate 145. Solving the optimization problem can involve minimizing such a volume over a range of velocity vector hypotheses. In other words, solving the optimization problem can involve determining a velocity vector hypothesis that yields a convex hull formed by the union of the third data and the second data that has a minimal volume relative to other such convex hulls.The velocity estimation system 140 can configure such a velocity vector hypothesis as the velocity estimate 145. Accordingly, by determining a suitable velocity vector hypothesis (the one that minimizes the geometric volume of a convex hull according to this disclosure, within a defined minimization criterion), the velocity estimation system 140 provides an approximate magnitude and orientation for the instantaneous velocity vector of the motor vehicle 105. Each of the group of N velocity vector hypotheses {v1, v2, ... vN} yields corresponding datasets that enclose each transformed capture point from frame n to frame n+1 according to a corresponding velocity vector hypothesis vk(k = 1, 2, ... N). Each convex hull resulting from a corresponding union of such a dataset and the second data representing capture points in frame n+1 has a geometric volume VCH. The velocity estimation system 140 can determine the geometric volume of a convex hull by identifying a point O inside the convex hull and adding the geometric volumes of corresponding tetrahedra located between point O and each facet of the convex hull. Therefore, by configuring point O at the origin of a reference frame inside the convex hull, the geometric volume VCH of the convex hull can be determined as follows: Here, {F} is the set of all facets of the convex hull, SF is the area of ​​facet F, nF is the normal vector of facet F, and pF represents a defined point on facet F (T indicates the transpose of pF, or that the vector is in column format). It is noted that nF is a unit vector pointing towards the outside of the convex hull at facet F. It is also noted that the product is equal to the height of a vector from O to facet F. Accordingly, the velocity estimation system 140 generates a volume of the convex hull for each velocity vector hypothesis vk. Based on at least the volumes of convex hulls (k = 1, 2, ... N), the velocity estimation system 140 can solve the above optimization problem and therefore generate the velocity estimate 145. In some embodiments, the group of N velocity vector hypotheses can be represented as a grid of candidate velocity vector components. The grid can be two-dimensional (2D) or three-dimensional (3D), depending on the type of estimate being generated.In particular, a 3D lattice can be formed by a collection of points (in velocity space) that have first velocity components along a first versor of a reference system, second velocity components along a second versor of the reference system, and third components along a third versor of the reference system. A 2D lattice can be formed similarly. An example of a 2D lattice is shown in Diagram 180 in Fig. 1 for N = 25. While the 2D lattice is represented as a square grid having a uniform density of points, other types of grids can be considered. The same applies to 3D lattices for three-dimensional velocity vector hypotheses. Diagram 180 depicts the geometric volumes of corresponding convex hulls, representing the respective velocity vector hypotheses, using the area of ​​corresponding circles in the 2D grid. Circles with a larger area represent convex hulls with a larger volume. Therefore, in the illustrated scenario, the velocity estimation system 140 can determine that the velocity vector hypothesis corresponding to the center of the 2D grid yields a minimum volume. Accordingly, the velocity estimation system 140 can configure such a velocity vector hypothesis as the velocity estimate 145 in such a 2D example scenario. Other approaches besides a grid (or, more generally, a range) of candidate velocity vectors can be used to solve the optimization problem that yields velocity estimate 145. For example, velocity estimation system 140 can implement a gradient-based approach, where iteratively updates a current velocity vector hypothesis to traverse a velocity space in a direction that progressively reduces the volume of a convex hull generated using the current velocity vector hypothesis. Velocity estimation system 140 can stop updating a current velocity vector hypothesis in response to satisfying a termination (or convergence) criterion.Such a current velocity vector hypothesis can satisfactorily solve the optimization problem, and thus the velocity estimation system can configure the current velocity vector hypothesis as the velocity estimate 145. Fig. 2A shows a block diagram 200 of an example of a velocity estimation system 140 for estimating the velocity of an object according to one or more embodiments of the disclosure. The illustrated velocity estimation system 140 includes a conditioning component 210 that receives data (digital or analog) from the sensor system 120, Fig. 1, or other sensor systems enclosed in a motor vehicle or other types of vehicles. The illustrated velocity estimation system 140 also includes a convex hull generator component 220 that can generate union datasets according to the aspects described herein.Additionally, the illustrated velocity estimation system 140 can include an optimization component 230 that can use or otherwise employ convex hulls according to this disclosure to generate an estimate of a velocity vector for a motor vehicle or other types of vehicles. The speed estimation system 140 also includes one or more storage devices 240 (generally referred to as acquisition point data 240) that contain data received from the sensor system 120 or a similar sensor system. The speed estimation system 140 also includes one or more secondary storage devices 250 (generally referred to as speed estimation data 250) that may contain information (e.g., data, metadata, and / or logic) for generating an estimate of the speed vector of a motor vehicle or other type of vehicle. The speed estimation system 140 can be functionally coupled (e.g., communicatively coupled) with a control system 260, which can implement a control process for adjusting or otherwise controlling the operation of a motor vehicle or other types of vehicles that include the control system 260. Fig. 2B shows a block diagram of another example of a computing system 265 for generating an estimate of the velocity vector of a motor vehicle or other types of vehicles according to aspects of this disclosure. As illustrated in Fig. 2B, the computing system 265 may include one or more processors 270 and one or more storage devices 280 (generally referred to as memory 280) containing machine-accessible instructions (e.g., computer-readable and / or computer-executable instructions) that can be accessed and executed by at least the processor 270 or one of the processor(s) 270.In one example, the processor 270 or the processors 270 can be embodied in or form a graphics processing unit (GPU), a plurality of GPUs, a central processing unit (CPU), a plurality of CPUs, an application-specific integrated circuit (ASIC), a microcontroller, a programmable logic controller (PLC), a field-programmable gate array (FPGA), a combination thereof, or the like. In some embodiments, the processor 270 or the processors 270 can be arranged in a single computing unit (e.g., an electronic control unit (ECU) and an in-car infotainment system (ICI system), or the like). In other embodiments, the processor 270 or the processors 270 can be distributed across two or more computing units (e.g.,multiple ECUs; a combination of an ICI system and one or more ECUs; or the like) distributed. The single processor 270 or multiple processors 270 are functionally coupled to the memory 280 by means of a communication structure 275. The communication structure 275 is suitable for the specific arrangement (localized or distributed) of the processor 270 or processors 270. In some embodiments, the communication structure 275 can include one or more bus architectures, such as an Ethernet-based industrial bus, a CAN bus (Controller Area Network bus), a Modbus, other types of fieldbus architectures, or the like. As illustrated in Fig. 2B, the memory 280 includes the speed estimation system 140. As such, machine-accessible instructions (e.g., computer-readable and / or computer-executable instructions) embody the speed estimation system 140 or otherwise constitute it. The machine-accessible instructions are encoded in the memory 280 and may be arranged in components that can be assembled (e.g., linked and compiled) and held in computer-executable form in the memory 280 (as shown) or in one or more other machine-accessible, non-transitory storage media. At least one of the processor(s) 270 can execute the speed estimation system 140 to cause the computing system 265 to generate an estimate of a speed vector of a motor vehicle or other type of vehicle. Similarly, the memory 280 can also hold or otherwise store the control system 260. As such, machine-accessible instructions (e.g., computer-readable and / or computer-executable instructions) embody or otherwise constitute the control system 260. Again, the machine-accessible instructions are encoded in the memory 280 and can be arranged in components that can be assembled (e.g., linked and compiled) and held in computer-executable form in the memory 280 (as shown) or in one or more other machine-accessible, non-transitory storage media. At least one of the one or more processors 270 can execute the control system 260 to cause the computing system 265 to implement a control process for setting or otherwise controlling the operation of the motor vehicle or other types of vehicles.For this purpose, one aspect of the control process can use or otherwise access a velocity vector estimate generated by the velocity estimation system 140. The vehicle's operation can be controlled based on at least one parameter of the velocity vector estimate and / or its orientation. It should be noted that, although not illustrated in Fig. 2B, the computing system 265 may also include other types of computing resources (e.g., interface(s) (such as I / O interfaces, control device(s), power supplies, and the like)) that enable or otherwise facilitate the execution of the software components. For this purpose, for example, the memory 280 may also include programming interface(s) (such as application programming interfaces, APIs), an operating system, firmware, and the like.Fig. 3A shows a perspective view of an example of detection points for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure. Fig. 3B shows a top view of the example of detection points shown in Fig. 3A. The illustrated detection points are observed reflection points for a motor vehicle (not shown in these figures). The illustrated detection points can be determined by a high-resolution radar system, which embodies or forms the sensor system 120 in Fig. 1. The illustrated detection points include a first set of detection points 300 corresponding to a first frame and a second set of detection points 350 corresponding to a second frame following the first frame.The arrangement and number of data collection points in the first group of data collection points 300 differs from the arrangement and number of data collection points in the second group of data collection points 350. Fig. 4A shows a perspective view of an example of a union dataset of acquisition points for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure. Fig. 4B shows a top view of the example of acquisition points shown in Fig. 4A. The union dataset in Fig. 4A (and also in Fig. 4B) results from transforming the first group of acquisition points 300 in Fig. 3A using a defined velocity vector hypothesis and generating a union from the transformed group of acquisition points and the second group of acquisition points 350 shown in Fig. 3A. The defined velocity vector hypothesis is essentially equal to v = (0.0 m / s, -11.1 m / s). Fig. 5A shows a perspective view of a convex hull of the union dataset of acquisition points illustrated in Fig. 4A, according to one or more embodiments of the disclosure. Fig. 5B shows a top view of the convex hull shown in Fig. 5A. Fig. 6 shows a two-dimensional projection of examples of geometric volumes of convex hulls according to aspects of this disclosure as a function of two-dimensional velocity vector hypotheses. The convex hulls are determined using at least one 2D lattice of velocity vector hypotheses. As disclosed herein, a minimum for the geometric volumes exists for a defined velocity vector hypothesis (symbolized by a cross) having a first component vx ≅ 0 m / s along a first direction in space and a second component vy ≅ -11.1 m / s along a second direction. Fig. 7 illustrates the convex hull corresponding to the defined velocity vector hypothesis, and Fig. 8 illustrates a convex hull corresponding to a velocity vector hypothesis that yields a non-minimal geometric volume, as indicated by leading lines in Fig. 6. Fig. 9 and Fig. 10 illustrate the convex hull corresponding to a velocity vector hypothesis that yields a non-minimal geometric volume.Figures 10 show a top view of the convex hull illustrated in Fig. 7 and a top view of the convex hull illustrated in Fig. 8. As mentioned, the embodiments of the disclosure for estimating the velocity vector of a moving object produce velocity estimates that are more accurate than estimates generated using typical approaches. In particular, Fig. 11A shows a top view of examples of detection points in a motor vehicle for a first frame and a second frame following the first frame, according to one or more embodiments of the disclosure. The illustrated detection points include a first group of detection points 1100 corresponding to a first frame and a second group of detection points 1150 corresponding to a second frame. As can be seen from Fig. 11A, the arrangement of the detection points in the first group of detection points 1100 differs significantly from the arrangement of the detection points in the second group of detection points 1150.In the latter, a larger number of detection points are present on lateral sections (e.g., sections along the y-direction in Fig. 11A) of the vehicle. Furthermore, in one of the lateral sections, some of the detection points in the second group 1150 cover a larger span of the vehicle (not shown) than the first group of detection points 1100. Fig. 11B shows a perspective view of an example of a union dataset 1160 of capture points for estimating the speed of a motor vehicle using a common approach. In such a common approach, the centroid of the first group of capture points 1100 is translated from the first frame to the second frame. For this purpose, the centroid of the first group of capture points 1100 is transferred according to a velocity vector estimated using the positional offset of the centroid of the second group of capture points relative to the centroid of the first group of capture points and the time interval Δt = 1 / f (the time interval between successive frames). A speed estimate for the motor vehicle using such a centroid-based approach yields an estimation error of approximately 3.1 m / s. However, without being bound to any theory and / or modeling, it is to be expected that the differences in the number of detection points and the arrangement of detection points between the first and second groups may introduce uncertainty into a velocity estimation based on centroids. In fact, the velocity estimation system 140 can generate an estimate of the speed of the motor vehicle for which the first and second groups of detection points are recorded that is almost three times more accurate than the velocity estimate generated by the common centroid-based approach. The approach of this disclosure yields a velocity estimate with an estimation error of approximately 0.9 m / s. Fig. 11C shows a perspective view of an example of a union dataset 1170 of acquisition points for estimating the speed of a motor vehicle according to one or more embodiments of the disclosure. The union dataset 1170 results from transforming the first group of acquisition points 1100 in Fig. 11A using a velocity vector hypothesis that solves an optimization problem with respect to a volume of a convex hull from a union of data representing the first group of acquisition points and data representing the second group of acquisition points 1150. In view of various aspects described herein, examples of the procedures that can be implemented according to this disclosure may be better understood with reference to Figures 12, 13 to 14. For the sake of simplicity, the exemplary procedures (and other techniques disclosed herein) are presented and described as a series of operations. However, it should be noted that the exemplary procedures and all other techniques of this disclosure are not limited by the sequence of operations. Some operations may occur in a different order than that illustrated and described herein. In addition, or alternatively, some operations may be performed essentially simultaneously with other operations (illustrated or otherwise).Furthermore, it may be that not all illustrated operations are necessary to implement an exemplary method or technique according to the present disclosure. Moreover, in some embodiments, two or more of the exemplary methods and / or other techniques disclosed herein may be implemented in combination to achieve one or more elements and / or technical improvements disclosed herein. In some embodiments, one or more of the exemplary methods and / or other techniques disclosed herein can be represented as a series of interrelated states or events, such as in a state machine diagram. Other representations are also possible. For example, interaction diagram(s) can represent an exemplary method and / or technique according to this disclosure in scenarios where different entities execute different parts of the disclosed methodologies. It is pointed out that at least some of the techniques disclosed herein may be contained or otherwise stored in a manufactured article (such as a computer program product) to enable or otherwise facilitate the transport and transfer of such exemplary methods to a computing device for execution and thus implementation by processor(s) or for storage in a memory. The techniques disclosed throughout this patent specification and the accompanying drawings are capable of being stored on a manufactured article in order to facilitate the transport and transfer of such methodologies to computers or other types of information processing machines or processing logic for execution and thus implementation by a processor or for storage in a storage device or other type of computer-readable storage device.In one example, one or more processors performing a method or a combination of methods disclosed herein can be used to execute program code instructions held in a storage device or any computer-readable or machine-readable storage device or in non-transitory storage media to implement one or more of the exemplary methods and / or other techniques disclosed herein. When executed by the one or more processors, the program code instructions can implement or execute the various operations in the exemplary methods and / or other techniques disclosed herein. The program code instructions therefore provide a computer-executable or machine-executable framework for implementing the exemplary procedures and / or other techniques disclosed herein. In particular, but not exclusively, any block of the illustrations in the flowcharts and / or combinations of blocks in the illustrations in the flowcharts can be implemented by the program code instructions. Fig. 12 shows a flowchart of an exemplary method 1200 for generating an estimate of the velocity of an object according to one or more embodiments of the disclosure. As mentioned, the object may be embodied in a vehicle, such as a motor vehicle, an aircraft (manned or unmanned), agricultural machinery, or the like. The exemplary method 1200 may be implemented wholly or partially by a computing system comprising one or more processors, one or more memory devices, other types of computing resources, a combination thereof, or the like. In some embodiments, the computing system may be embodied in or include the velocity estimation system 140 disclosed herein. In block 1210, the computing system can receive initial data representing the first locations relative to an object at a first time point (e.g., tn in Fig. 1) during the object's movement. For example, the first time point can correspond to tn as described herein. The first locations are defined relative to the origin of a reference frame on the object. In block 1220, the computing system can receive second data representing the second locations relative to the object at a second time point during the object's movement. The second time point can correspond, for example, to tn+1 as described herein. The second locations are also defined relative to the origin of the reference frame. In Block 1230, the computing system can transform the first set of data into third sets of data corresponding to the second time, using at least one velocity vector hypothesis for the object's velocity. In Block 1240, the computing system can solve an optimization problem concerning the volume of a convex hull formed by a union of the second and third sets of data. As mentioned, such a volume can represent a cost function (or objective function) optimized to determine an estimate of the object's velocity. As further mentioned, solving the optimization problem can involve minimizing the volume of a convex hull formed by a union of the second and third sets of data. Regardless of the method used to solve the optimization problem, the computing system at block 1250 can generate the estimated velocity of the object using at least one solution to the optimization problem. Figures 13 and 14 show flowcharts of exemplary methods 1300 and 1400, respectively, for generating an estimated velocity of an object according to one or more embodiments of the disclosure. Fig. 13 shows a flowchart of an exemplary method 1300 for generating an estimate of the velocity of an object according to one or more embodiments of the disclosure. Again, the object may be embodied in a vehicle, such as a motor vehicle, an aircraft (manned or unmanned), agricultural machinery, or the like. The exemplary method 1300 may be implemented wholly or partially by a computing system comprising one or more processors, one or more memory devices, other types of computing resources, a combination thereof, or the like. In some embodiments, the computing system may be embodied in or include the velocity estimation system 140 disclosed herein. Blocks 1310 and 1320 are equivalent to blocks 1210 and 1220 in the exemplary procedure 1200. Thus, at block 1310, the computing system can receive initial data representing the first locations relative to an object at a first time point (e.g., tn) during the object's movement. These first locations are defined relative to the origin of a reference frame on the object. Additionally, at block 1320, the computing system can receive second data representing the second locations relative to the object at a second time point (e.g., tn+1) during the object's movement. These second locations are also defined relative to the origin of the reference frame. In Block 1330, the computing system can generate multiple velocity vector hypotheses for the object's velocity. In one embodiment, as mentioned, the velocity vector hypotheses can be represented as a grid of candidate velocity vector components. The grid can be two-dimensional (2D) or three-dimensional (3D), depending on the type of estimate being generated. In Block 1340, the computing system can transform the first set of data into third sets of data corresponding to the second time point, using the velocity vector hypotheses. The third set of data includes data sets that are partially defined by a corresponding velocity vector hypothesis. At block 1350, the computing system can generate union datasets, each corresponding to a union of the second data set and a corresponding first dataset. At block 1360, the computing system can generate convex hulls for the corresponding union datasets. Each convex hull is based on at least one corresponding velocity vector from the group of defined velocity vectors. At block 1370, the computational system can determine geometric volumes for corresponding convex hulls. At block 1380, the computational system can identify a first convex hull that has a minimum geometric volume relative to corresponding geometric volumes of second convex hulls. At block 1390, the computational system can configure a first velocity vector associated with the first convex hull as an estimate of the object's velocity. Fig. 14 shows a flowchart of an exemplary method 1400 for generating an estimate of the velocity of an object according to one or more embodiments of the disclosure. The object may be embodied in a motorized vehicle, an aircraft (manned or unmanned), agricultural machinery, or the like. The exemplary method 1300 may be implemented wholly or partially by a computing system comprising one or more processors, one or more memory devices, other types of computing resources, a combination thereof, or the like. In some embodiments, the computing system may be embodied in or include the velocity estimation system 140 disclosed herein. Blocks 1410 and 1420 are equivalent to blocks 1210 and 1220 in the exemplary procedure 1200. Thus, in block 1410, the computing system can receive initial data representing the first locations relative to an object at a first time point (e.g., tn) during the object's movement. These first locations are defined relative to the origin of a reference frame on the object. Additionally, in block 1420, the computing system can receive second data representing the second locations relative to the object at a second time point (e.g., tn+1) during the object's movement. These second locations are also defined relative to the origin of the reference frame. At block 1430, the computing system can generate a velocity vector hypothesis for the object's velocity. As mentioned, the velocity vector hypothesis is a candidate to represent the object's velocity vector. At block 1440, the computing system can transform the first data points into third data points corresponding to the second time using the velocity vector hypothesis. At block 1450, the computing system can generate a convex hull for the union of the first and second data points. At block 1460, the computing system can assess whether a geometric volume of the convex hull is smaller than another geometric volume of a previous convex hull. The previous convex hull can be determined, for example, by implementing blocks 1440 and 1450 from a previously generated velocity vector hypothesis. In response to a negative determination (the "no" branch), the flow of exemplary procedure 1400 can be directed to block 1430. Alternatively, in response to a positive determination (the "yes" branch), the flow can be directed to block 1470, where the computing system can configure the velocity vector hypothesis as an estimate of the object's velocity. Such an estimate can be called a current estimate. At block 1480, the computing system can determine whether a next estimate is necessary. For example, while the geometric volume has decreased relative to the geometric volume of the previous convex hull, the decrease may be greater than a threshold. Therefore, a search for an updated estimate is justified to generate a further estimate that can yield a next convex hull with a smaller geometric volume. As such, the flow in exemplary procedure 1400 can be directed to block 1430. Alternatively, the exemplary procedure 1400 can terminate in response to the finding at block 1480 that the configured velocity estimate is satisfactory - e.g., the geometric volume relative to the geometric volume of the previous convex hull has decreased by an amount smaller than the threshold amount. Fig. 15 shows an overview block diagram of a computing system 1500, which can be used to implement one or more embodiments. The computing system 1500 can correspond to at least one system configured, for example, to test different systems. The computing system 1500 can correspond to an interface device, a conversion device, and / or a network simulation device. The computing system 1500 can be used to implement hardware components of systems configured to perform the numerous procedures described herein (e.g., procedures 1200, 1300, 1400). Although an exemplary computing system 1500 is shown, the computing system 1500 includes a communication path 1526 that connects the computing system 1500 to one or more additional systems (not shown in Fig. 15) via a communication interface 1524.The computer system 1500 and the additional system(s) can communicate via the communication path 1526 and the communication interface 1524, for example to exchange data between them. The computing system 1500 includes one or more processors, such as processor 1502. Processor 1502 is connected to a communication infrastructure 1504 (e.g., a communication bus, crossover, or network). The computing system 1500 may include a display interface 1506, which forwards graphics, text content, and other data from the communication infrastructure 1504 (or from a frame buffer not shown) for display on a display unit 1508. The computing system 1500 also includes main memory 1510, preferably random access memory (RAM), and may also include secondary memory 1512. One or more disk drives 1514 may also be included within the secondary memory 1512. The removable storage drive 1516 reads from and / or writes to a removable storage unit 1518.As can be seen, the removable storage unit 1518 inserts a computer-readable medium in which computer software and / or data are stored. In alternative embodiments, the secondary memory 1512 may include other similar means that enable computer programs or other instructions to be loaded into the computing system. Such means may, for example, include a removable storage unit 1520 and an interface 1522.

Claims

Methods (1200, 1400) for estimating the velocity of an object, comprising: generating a first set of detection points (114) at a defined time (tn) corresponding to a frame (n), using a sensor system (120) by processing signals representing electromagnetic radiation incident on a motor vehicle (105); generating a second set of detection points (118) in a further frame (n+1) following the frame (n), using the sensor system (120) by processing signals representing electromagnetic radiation incident on the motor vehicle (105); receiving (1210), using a velocity estimation system (140), first data indicating first locations relative to the object at a first time during the motion of the object, wherein the first data are representative of the first set of detection points (114);Receiving (1220), using the velocity estimation system (140), second data indicating second locations relative to the object at a second time point during the object's motion, wherein the second data are representative of a second group of detection points (118); transforming (1230) the first data into third data corresponding to the second time point, using at least one velocity vector hypothesis (1551, 1552, 1553) for a velocity of the object; solving (1240) an optimization problem with respect to a geometric volume of a convex hull from a union of the second data and the third data; and generating (1250) an estimate of a velocity of the object using a solution to the optimization problem; implementing a control process for controlling the operation of the motor vehicle (105), using a control system (260) coupled to the velocity estimation system (120). Method (1200, 1400) according to claim 1, wherein the at least one velocity vector hypothesis (1551, 1552, 1553) comprises several defined velocity vectors, and wherein the third data comprises first datasets defined by at least corresponding to the several defined velocity vectors, wherein the method (1200, 1400) further comprises: generating (1350) second datasets corresponding to the unions of the second data and corresponding to the first datasets; generating (1360) convex hulls for corresponding to the second datasets; determining (1370) geometric volumes for corresponding to the convex hulls; and determining (1380) a first convex hull of the convex hulls having a minimum geometric volume relative to corresponding geometric volumes of the second convex hulls. Method (1200, 1400) according to claim 2, wherein generating (1250) the estimate of the velocity of the object comprises configuring (1390) a first velocity vector associated with the first convex hull as an estimate of a linear velocity vector of the object. Method (1200, 1400) according to claim 2, wherein the transformation (1230) comprises: propagating, for a time interval corresponding to a difference between the first defined time and the second defined time, a position vector along a linear path based on a second velocity vector of the group of defined velocity vectors, and wherein the position vector represents a location of the first locations; generating a data set indicating a second location corresponding to the continued position vector; and upon adding the data set to a data set of the first data sets, the data set is assigned to the second velocity vector. Method (1200, 1400) according to claim 1, wherein the at least one velocity vector hypothesis (1551, 1552, 1553) for the velocity of the object comprises a current velocity vector hypothesis (1551, 1552, 1553), and wherein the solving (1240) comprises determining (1380) a minimum geometric volume of the convex hull of the union of the second data and the third data by iteratively updating the current velocity vector hypothesis (1551, 1552, 1553) to progressively decrease a current geometric volume of a current convex hull until a convergence criterion is satisfied. System (265), comprising: a sensor system (120) which, by processing signals representing electromagnetic radiation incident on a motor vehicle (105), generates a first set of detection points (114) at a defined time (tn) corresponding to a frame (n), and generates a second set of detection points (118) in a further frame (n+1) following the frame (n); a velocity estimation system (140) which receives first data representative of the first set of detection points (114) and second data representative of the second set of detection points (118); at least one processor (1502, 270);at least one storage device (280) coupled to the at least one processor (1502, 270), the at least one storage device (280) having instructions encoded on it which, in response to execution, cause the at least one processor (1502, 270) to perform or facilitate operations comprising: receiving (1210) the first data indicating first locations relative to an object at a first time point during the motion of the object; receiving (1220) the second data indicating second locations relative to the object at a second time point during the motion of the object; transforming (1230) the first data into third data corresponding to the second time point, using at least one velocity vector hypothesis (1551, 1552, 1553) for a velocity of the object;Solving (1240) an optimization problem with respect to a geometric volume of a convex hull from a union of the second data and the third data; and generating (1250) an estimate of a velocity of the object using a solution of the optimization problem; wherein the velocity estimation system (140) is functionally coupled to a control system (260) implementing a control process for controlling the operation of the motor vehicle (105), the control process using the velocity vector hypothesis (1551, 1552, 1553) generated by the velocity estimation system (140). System (265) according to claim 6, wherein the at least one velocity vector hypothesis (1551, 1552, 1553) comprises several defined velocity vectors, and wherein the third data comprises first datasets defined by at least corresponding to the several defined velocity vectors, wherein the operations further comprise: generating (1350) second datasets corresponding to the unions of the second data and corresponding to the first datasets; generating (1360) convex hulls for corresponding to the second datasets; determining (1370) geometric volumes for corresponding to the convex hulls; and determining (1380) a first convex hull of the convex hulls having a minimum geometric volume relative to corresponding geometric volumes of the second convex hulls. System according to claim 7, wherein generating (1250) the estimate of the velocity of the object comprises configuring (1390) a first velocity vector associated with the first convex hull as an estimate of a linear velocity vector of the object. System (265) according to claim 7, wherein the transformation (1230) comprises: propagating, for a time interval corresponding to a difference between the first defined time and the second defined time, a position vector along a linear path based on a second velocity vector of the group of defined velocity vectors, and wherein the position vector represents a location of the first locations; generating a data set indicating a second location corresponding to the continued position vector; and upon adding the data set to a data set of the first data sets, the data set is assigned to the second velocity vector. System (265) according to claim 6, wherein the at least one velocity vector hypothesis (1551, 1552, 1553) for the velocity of the object comprises a current velocity vector hypothesis (1551, 1552, 1553), and wherein the solving (1240) comprises determining (1380) a minimum geometric volume of the convex hull of the union of the second data and the third data by iteratively updating the current velocity vector hypothesis (1551, 1552, 1553) to progressively decrease a current geometric volume of a current convex hull until a convergence criterion is satisfied.