WO2020029728A1 - 运动轨迹的重构方法和装置、存储介质、电子装置 - Google Patents

运动轨迹的重构方法和装置、存储介质、电子装置 Download PDF

Info

Publication number
WO2020029728A1
WO2020029728A1 PCT/CN2019/094813 CN2019094813W WO2020029728A1 WO 2020029728 A1 WO2020029728 A1 WO 2020029728A1 CN 2019094813 W CN2019094813 W CN 2019094813W WO 2020029728 A1 WO2020029728 A1 WO 2020029728A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
curve
parameter
target
fitting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2019/094813
Other languages
English (en)
French (fr)
Inventor
刘春�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to EP19848288.7A priority Critical patent/EP3805703B1/en
Publication of WO2020029728A1 publication Critical patent/WO2020029728A1/zh
Priority to US17/036,665 priority patent/US11460318B2/en
Anticipated expiration legal-status Critical
Priority to US17/899,737 priority patent/US11846524B2/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3833Creation or updating of map data characterised by the source of data
    • G01C21/3848Data obtained from both position sensors and additional sensors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • G01C21/32Structuring or formatting of map data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3415Dynamic re-routing, e.g. recalculating the route when the user deviates from calculated route or after detecting real-time traffic data or accidents
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2520/00Input parameters relating to overall vehicle dynamics
    • B60W2520/10Longitudinal speed
    • B60W2520/105Longitudinal acceleration

Definitions

  • the present application relates to the field of electronic maps, and in particular, to a method and a device for reconstructing a motion trajectory, a storage medium, and an electronic device.
  • the vehicle positioning system in the related technology generally depends on a Global Positioning System (GPS) signal or a network signal, and a positioning module of the vehicle positioning system can obtain a positioning result only through a GPS signal or a network signal.
  • GPS Global Positioning System
  • a positioning module of the vehicle positioning system can obtain a positioning result only through a GPS signal or a network signal.
  • a vehicle travels to a location without a GPS signal or network signal, such as a tunnel or underground garage, the vehicle cannot achieve accurate positioning through positioning data collected by GPS or the network, and can only estimate the position trajectory based on the speed.
  • the vehicle monitoring system has two technical defects.
  • the driving vehicle is in a state of "temporary loss", and the accurate positioning of the driving vehicle cannot be achieved because the accurate vehicle positioning signal cannot be obtained; the other
  • the vehicle monitoring center inevitably receives drifting positioning data (that is, the vehicle position data indicating that the current position of the vehicle is offset from the actual position of the vehicle).
  • drifting positioning data that is, the vehicle position data indicating that the current position of the vehicle is offset from the actual position of the vehicle.
  • the vehicle driving curve on the monitoring interface of the vehicle driving trajectory monitoring system deviates from the actual driving trajectory of the vehicle, thereby causing misleading to the driver of the vehicle and reducing the user's navigation experience.
  • the embodiments of the present application provide a method and a device for reconstructing a motion trajectory, a storage medium, and an electronic device, so as to at least solve the technical problem of low accuracy in reconstructing the motion trajectory of a vehicle in related technologies.
  • a method for reconstructing a motion trajectory including: acquiring a data set, where the data set stores a position obtained by locating the target object during the movement of the target object. Positioning data; by fitting a part of the positioning data in the data set to obtain multiple first curves, where the first curve is obtained by fitting multiple positioning data adjacent to each other at the acquisition time, another part of the data set The proportion of the noise data in the positioning data is higher than the proportion of the noise data in a part of the positioning data of the data set; the motion trajectory of the target object is determined based on the first curve of the multiple segments.
  • a motion trajectory reconstruction device including: an acquisition unit configured to acquire a data set, wherein the data set stores a target object during the movement of the target object. Positioning data obtained by performing positioning at a location where the data is located; a fitting unit is configured to obtain a plurality of first curves by performing data fitting on a part of the positioning data in the data set, where the first curve is a plurality of adjacent adjacent acquisition times. It is obtained by fitting the positioning data. The proportion of noise data in the positioning data of another part of the data set is higher than the proportion of noise data in a part of the positioning data of the data set.
  • a determining unit is used to determine the target based on the first curve of the multiple segments. The trajectory of the object.
  • a storage medium is also provided.
  • the storage medium includes a stored program, and the method is executed when the program is run.
  • an electronic device including a memory, a processor, and a computer program stored on the memory and executable on the processor, and the processor executes the foregoing method through the computer program.
  • positioning data of a target object during movement is filtered to obtain positioning data that does not include noise or includes only a small amount of noise, and then based on the filtered data, a plurality of adjacent acquisition times are collected.
  • the positioning data is subjected to data fitting to obtain a plurality of first curves, and the motion trajectory of the target object can be determined based on the first curves. Because the filtered data is used in the trajectory reconstruction process, it is less affected by noise, so that the reconstructed motion trajectory is closer to the original motion trajectory, and it can solve the motion trajectory of the vehicle in the related technology.
  • the technical problem of low accuracy of reconstruction is achieved, and the technical effect of accurately reconstructing the motion trajectory of the vehicle is achieved.
  • FIG. 1 is a schematic diagram of a hardware environment of a method for reconstructing a motion trajectory according to an embodiment of the present application
  • FIG. 2 is a flowchart of an optional method for reconstructing a motion trajectory according to an embodiment of the present application
  • FIG. 3 is a flowchart of an optional method for reconstructing a motion trajectory according to an embodiment of the present application
  • FIG. 4 is a schematic diagram of an optional filtering result according to an embodiment of the present application.
  • FIG. 5 is a schematic diagram of an optional optimal trajectory curve according to an embodiment of the present application.
  • FIG. 6 is a schematic diagram of an optional Euler curve according to an embodiment of the present application.
  • FIG. 7 is a schematic diagram of an optional optimal trajectory curve according to an embodiment of the present application.
  • FIG. 8 is a schematic diagram of an optional map reconstruction trajectory curve according to an embodiment of the present application.
  • FIG. 9 is a schematic diagram of an optional automatic driving trajectory adjustment according to an embodiment of the present application.
  • FIG. 10 is a schematic diagram of an optional motion trajectory reconstruction device according to an embodiment of the present application.
  • FIG. 11 is a structural block diagram of a terminal according to an embodiment of the present application.
  • Autonomous vehicles Also known as driverless cars, computer-driven cars, or wheeled mobile robots, it is a smart car that realizes driverlessness through a computer system.
  • Kalman filtering An algorithm that uses linear system state equations to optimally estimate the state of a system through input and output observations of the system. Since the observation data includes the influence of noise and interference in the system, the optimal estimation can also be regarded as a filtering process.
  • a method embodiment of a method for reconstructing a motion trajectory is provided.
  • the foregoing method for reconstructing a motion trajectory may be applied to a hardware environment composed of a server 101 and / or a terminal 103 as shown in FIG. 1.
  • the server 101 is connected to the terminal 103 through the network, and can be used to provide services (such as game services, application services, map services, autonomous driving, etc.) to the terminal or the client installed on the terminal.
  • a database 105 is provided independently of the server, and is used to provide data storage services for the server 101.
  • the above network includes, but is not limited to, a wide area network, a metropolitan area network, or a local area network.
  • the terminal 103 is not limited to a PC, a mobile phone, a tablet computer, and the like.
  • FIG. 2 is a flowchart of an optional method for reconstructing a motion trajectory according to the embodiment of the present application. As shown in FIG. 2, the method It can include the following steps:
  • Step S202 The terminal acquires a data set, and the data set stores positioning data obtained by positioning the position of the target object during the movement of the target object.
  • the foregoing terminal is an intelligent terminal that follows a target object.
  • the target object may be a movable object such as a vehicle, a person, or an airplane.
  • the following description uses the target object as a vehicle and the intelligent terminal as a vehicle terminal as an example.
  • the elements stored in the data collection are positioning data, such as global positioning system GPS (Global Positioning System) positioning data and inertial guidance data, etc., for example, the vehicle can use timing (such as every 1 second) to locate the location of the vehicle, that is, you can collect positioning data of multiple points on the vehicle's motion trajectory without continuously positioning it in order to save the energy efficiency of the positioning equipment and reduce the positioning process on the vehicle equipment Hardware consumption.
  • positioning data such as global positioning system GPS (Global Positioning System) positioning data and inertial guidance data, etc.
  • timing such as every 1 second
  • step S204 the terminal obtains a plurality of first curves by performing data fitting on a part of the positioning data in the data set.
  • the first curve is obtained by fitting a plurality of positioning data adjacent to each other at the acquisition time, and the other part of the data set is positioned.
  • the proportion of noise data in the data is higher than the proportion of noise data in a part of the positioning data of the data set.
  • the positioning data that is used without noise data or that includes relatively less noise data is also referred to as target data.
  • the target data is the positioning data obtained by noise-only filtering of the data set, which is equivalent to filtering the positioning data in the data set before performing trajectory reconstruction.
  • the purpose is to filter out the positioning data that belongs to the noisy data (that is, another part of the data). Try to keep more accurate positioning data (that is, part of the positioning data).
  • Another part of the data mainly includes noise data, and some of the positioning data basically does not include noise data, or it is understood as the proportion of noise data (100% or (Close to 100%) is much larger than the proportion of noise data (0% or close to 0%) in a part of the positioning data, that is, the technical solution of the present application is equivalent to performing segmental reconstruction on the motion trajectory of the target object based on filtering , Can greatly reduce the impact on GPS noise and data loss, the restored trajectory Real driving data error of industrial quality, adaptive segmentation data, effectively reducing the amount of data.
  • the terminal can judge whether the positioning data in the data set belongs to noise data. It can be understood that there are differences in some attributes of noise data and non-noise data such as frequency spectrum. Based on this, the positioning data can be identified by The frequency spectrum and other attributes determine whether it belongs to noise data. For any positioning data in the data set, when it is determined that the positioning data is noise data, the noise data is filtered from the data set, and the data set The remaining positioning data can be used as the target data.
  • the above-mentioned curve fitting refers to the functional relationship between the coordinates (that is, the points indicated by the positioning data) represented by a set of discrete points on the plane, which is approximately described by a continuous curve or compared.
  • curve curve The method of approximating discrete data by equations is popularly called “curve curve”, that is, the method of substituting existing data into a mathematical equation through mathematical methods. For example, several discrete positioning data are obtained through methods such as sampling and experiments. According to these positioning data, a continuous function (that is, a curve) or a more dense discrete equation is found, so that the positioning data and the curve of the equation can be approximated to the greatest extent. Fit.
  • step S206 the terminal determines the motion trajectory of the target object based on the first segment of the multiple curves.
  • the method of reconstructing the motion trajectory in the embodiment of the present application is described by taking the terminal 103 as an example.
  • the method of reconstructing the motion trajectory in the embodiment of the present application may also be performed by the server 101, which is the same as the above.
  • the difference between the embodiments is that the execution subject is replaced by the terminal 103 by the server 101, and the method of reconstructing the motion trajectory in the embodiment of the present application may also be performed by the server 101 and the terminal 103 together, and the terminal performs one or two steps ( (Eg, step S202), and the server performs the remaining steps (eg, step S204 and step S206).
  • the method for reconstructing the motion trajectory performed by the terminal 103 in the embodiment of the present application may also be performed by a client installed on the terminal 103 (such as a client of a map application or a client of a built-in map service application).
  • noise filtering is performed on the positioning data in the data set.
  • data fitting is performed on multiple positioning data adjacent to each other at the acquisition time to obtain multiple segments.
  • a first curve based on which the motion trajectory of the target object can be determined. Because the filtered data is used in the trajectory reconstruction process, it is less affected by noise, so that the reconstructed motion trajectory is closer to the original motion trajectory, and it can solve the motion trajectory of the vehicle in the related technology. The technical problem of low accuracy of reconstruction is achieved, and the technical effect of accurately reconstructing the motion trajectory of the vehicle is achieved.
  • a filtering scheme such as Kalman filtering can be used to obtain a piecewise Euler relaxation curve (that is, the first curve) to adaptively recover the driving trajectory line (that is, the motion trajectory) and effectively reconstruct the urban road
  • the solution of this application can greatly reduce the impact of GPS noise and data loss on trajectory reconstruction.
  • GPS noise at the location is mainly GPS positioning information obtained when the GPS signal is poor (such as garages, densely populated areas in urban areas, underground passages, etc.), and the lack of data refers to intermittently where GPS positioning devices are lacking.
  • Trajectory reconstruction and because the amount of positioning data used in the segmented reconstruction of the present application is small, it is possible to use a small amount of GPS positioning data and inertial guidance data in the absence of a GPS signal (inertial guidance data can use GPS before entering the hole).
  • inertial guidance data can use GPS before entering the hole
  • the positioning data and the acceleration measured by the vehicle's inertial guidance unit are used to derive the position of the vehicle after entering the cave.
  • the trajectory reconstruction is implemented to solve the problem of trajectory reconstruction when GPS or other positioning signals are weak or missing.
  • the error between the constructed trajectory and the real driving data is of industrial quality, and the data is adaptively segmented, which effectively reduces the amount of data processing.
  • the technical solution of the present application is further described in detail below with reference to the steps shown in FIG. 2.
  • the terminal obtains a data set, and the data set stores positioning data obtained by positioning the position of the target object during the movement of the target object.
  • the elements in the above data set may be GPS positioning data, Inertial Navigation IMU (Inertial Measurement Unit) data (such as three-axis acceleration, three-axis angular velocity, etc.), and wheel encoder information (such as One or more of the measured wheel speeds) may also be driving track point data calculated according to at least one of the information of GPS, inertial navigation IMU, and wheel encoder.
  • Inertial Navigation IMU Inertial Measurement Unit
  • wheel encoder information such as One or more of the measured wheel speeds
  • the terminal obtains a plurality of first curves by performing data fitting on a part of the positioning data in the data set.
  • the first curve is obtained by fitting multiple positioning data adjacent to each other at the acquisition time.
  • the proportion of noise data in the positioning data of another part of the data set is higher than the proportion of noise data in the positioning data of another part of the data set.
  • obtaining a plurality of segments of the first curve mainly includes the following steps 1 to 2:
  • step 1 data fitting is performed on a part of the positioning data in the data set according to the number of segments indicated by the first parameter to obtain a plurality of second curve segments, and the first parameter is used to indicate the number of segments of the second curve segment.
  • the above-mentioned second curve and the first curve can be Euler curves.
  • the Euler curve is a parameter curve whose curvature varies linearly with the length of the curve and is defined as follows, where b is the curvature at the starting point (x0, y0), and a is the linear change in curvature.
  • Slope, (vx, vy) is the unit direction vector at the starting point:
  • x (s) x0 + ⁇ cos (a * s * s + b * s + vx) ds,
  • y (s) y0 + ⁇ cos (a * s * s + b * s + vy) ds,
  • the fitting scheme uses a random geometric model, that is, a piecewise Euler curve, the number of piecewise curves, the starting point (x0, y0), parameters a and b, and the unit vector (vx, vy) can be random variables. Optimize these random variables so that the total fitting error is the smallest, S represents the position of the curve or trajectory to be determined, and ds represents the integral of the curve or trajectory.
  • performing data fitting on a part of the positioning data in the data set according to the first parameter to obtain a plurality of second curves may include: filtering the positioning data in the data set that belongs to noise data (that is, the aforementioned another part of the positioning data) to obtain The target data (that is, a part of the aforementioned positioning data), the distance between the positioning point indicated by the positioning data belonging to the noise data and the motion trajectory is greater than the distance between the positioning point indicated by the positioning data not belonging to the noise data and the motion trajectory, In other words, the noise data is some data that is far away; according to the number of segments indicated by the first parameter, the target data is fitted to obtain a multi-segment second curve, that is, the number of segments of the multi-second second curve is the number of segments indicated by the first parameter.
  • the optimal estimate X (k-1) at time (k-1) (such as the positioning data at time k-1) shall prevail, and the state variable at time k is predicted.
  • the optimal state estimate X k at time k (that is, the ideal positioning data at time k) can be determined according to the optimal estimate at time (k-1) and the state variable, and the state can be observed to obtain the observed variable Z k (That is, the actual positioning data at time k), and then analyze between prediction and observation, such as comparing whether the difference between the two has reached a certain threshold to determine whether the observed variable is noise, such as reaching a certain This threshold is considered noise, otherwise it is not.
  • a variance between a certain positioning data and neighboring positioning data may be calculated, and a sum of variances with all neighboring positioning data may be calculated.
  • the positioning data may be considered as noise data (that is, another part of the positioning data), otherwise it is not noise data (that is, a part of the positioning data).
  • the multi-segment second curve meets the target condition as follows: determining whether the multi-segment second curve meets the target condition according to the data fitting parameters, the second parameter, the third parameter, and the fourth parameter of the multi-segment second curve,
  • the second parameter is the angle between two adjacent second curves whose angle exceeds the first threshold.
  • the third parameter is the number of curvatures between the adjacent second curves exceeding the second threshold.
  • the fourth parameter is The parameter is the number of segments of the second curve whose length exceeds a third threshold.
  • the first threshold value, the second threshold value, and the third threshold value are preset values, and can be specifically set according to actual conditions. For example, the first threshold value is 90 degrees, the second threshold value is 3, and the third threshold value is 5.
  • the above-mentioned fitting parameters can also be called goodness of fit, which is the degree of fitting of the regression line (that is, the curve obtained by fitting) to the observed value (that is, the positioning data), and measures the statistics of the goodness of fit.
  • the quantity is the determinable coefficient (also known as the determination coefficient) R 2.
  • the maximum value of R 2 is 1. The closer the value of R 2 is to 1, the better the regression line fits the observed value; otherwise, the smaller the value of R 2 is. , Indicating that the regression line fits the observations worse. Judgment coefficient and regression standard deviation can be used to test how well the model fits the sample observations.
  • determining whether the multi-stage second curve meets the target condition according to the data fitting parameters, the second parameter, the third parameter, and the fourth parameter of the multi-stage second curve may include steps 11 to 13:
  • Step 11 Obtain a first product between the data fitting parameters (or data_fitting) of the second curve of the multiple segments and the first weight ⁇ , and a second product between the second parameter #angle_diff and the second weight ⁇ The third product between the third parameter #curvagture_diff and the third weight ⁇ , and the fourth product between the fourth parameter (or the number of curves exceeding the maximum allowed length #length) and the fourth weight ⁇ , where the first The sum of the first weight, the second weight, the third weight, and the fourth weight is 1.
  • step 12 when the fifth parameter is larger than the fourth threshold, it is determined that the second curve of the multiple segments does not satisfy the target condition, and the fifth parameter is the sum of the first product, the second product, the third product, and the fourth product.
  • the fourth threshold may be an empirical value or experimental data, and may be set according to actual conditions, such as a value of 10.
  • step 13 when the fifth parameter is not greater than the fourth threshold, it is determined that the second curve of the multiple segments meets the target condition.
  • step 14-step 15 In another optional embodiment, in determining whether the multi-stage second curve meets a target condition according to the data fitting parameters, the second parameter, the third parameter, and the fourth parameter of the multi-stage second curve, the following steps may be performed:
  • the solution shown in step 14-step 15 is optimized:
  • Step 14 When the fifth parameter is not greater than the fourth threshold, perform an adjustment operation on the second segment of the second curve.
  • the adjustment operation includes at least one of the following: adjusting the unit direction vector of the starting position of the second curve within the first range. (Which is equivalent to adjusting the included angle of the adjacent curve), adjusting the fitting parameters between the second curve and the positioning data covered by the second curve within the second range, and adjusting the adjacent second within the third range
  • the first range is the value range set for the unit direction vector
  • the second range is the value range set for the fitting parameters
  • the third range is the value range set for the target curvature.
  • one of the above adjustments may be performed randomly, and multiple or even all of them may be performed.
  • adjusting the target curvature between adjacent second curves within the third range may include: adjusting the values of the first variable a and the second variable b according to the third range; and combining the fifth product with the second variable The sum is taken as the value K of the target curvature, and the fifth product is the product between the first variable a and the sixth parameter s (used to indicate the position of the curvature to be determined in the curve).
  • Step 15 Obtain a fifth parameter of the multi-segment second curve after performing the adjustment operation, and use the fifth parameter to determine whether the multi-segment second curve meets a target condition. For details, refer to the foregoing steps 11 to 13.
  • step 14 if the continuous adjustment will result in exceeding the corresponding value range, adjust the value of the first parameter, and then enter step 11 to step 15 again, Until you find the best way to segment.
  • step 2 when the second segment of the second curve meets the target condition, the second segment of the second curve is used as the first segment of the second curve.
  • Step 3 In the case that the second segment of the multi-segment curve does not meet the target condition, adjust the value of the first parameter, and perform data fitting on a part of the positioning data in the data set according to the adjusted first parameter to obtain the multi-segment first Two curves.
  • the terminal determines the motion trajectory of the target object based on the plurality of first segments of the curve.
  • determining the motion trajectory of the target object based on the multi-segment first curve may include: according to the target angle and the target curvature between adjacent second curves when the multi-segment second curve meets the target condition; The target angle and the target curvature between the second curves connect adjacent second curves to obtain a motion trajectory, in other words, the aforementioned optimal combination of line segments is used as the motion trajectory.
  • the technical solution of the present application may be applied to the field of autonomous driving.
  • the target object is equivalent to an autonomous driving vehicle.
  • the technical solution of the present application may be adopted.
  • Adjust the driving attitude of the vehicle Adjust the driving attitude of the self-driving vehicle according to the motion trajectory and the target trajectory, so that the adjusted automatic driving vehicle runs on the target trajectory, where the target trajectory is the driving set for the automatic driving vehicle Track.
  • adjusting the driving attitude of the autonomous driving vehicle according to the motion trajectory and the target trajectory includes steps 1 to 3 as shown below:
  • Step 1 Obtain the driving speed v and the adjustment time t of the autonomous vehicle when traveling on the motion trajectory L1, such as the driving speed at A, the adjustment time may be set by the user, defaulted by the system, set by the server, etc .;
  • Step 2 Determine the first position C and the second position D according to the travel speed and the adjustment time, where the first position is a position on the motion track where the autonomous vehicle travels according to the travel speed and the adjustment time (that is, according to the travel speed v The position C) reached by the continuous travel time t), the second position is the position on the target track with the same coordinates in the first direction Y as the first position, which is equivalent to crossing C to make a line parallel to X, and this line is in line with the target track
  • the intersection of L2 is the second position D;
  • Step 3 Determine the acceleration of the self-driving vehicle in the second direction according to the ratio 2 (x D -x C ) / t 2 between t 2 between the coordinate difference twice (x D -x C ) and the square of the adjustment time.
  • a coordinate difference as the difference between the coordinates x C second position in the second direction
  • the driving attitude includes acceleration.
  • a may be 2 (x D -x C ) / t 2 , and the vehicle may travel to point D according to the acceleration a, and then the speed in the second direction X caused by the acceleration a Zeroing.
  • a can be 4 (x D -x C ) / t 2 , first control the vehicle to drive at the acceleration a t / 2, and then control the vehicle to follow -a to t / 2, so that when the vehicle reaches D, the speed in the second direction will not be caused by a, which is equivalent to the vehicle from point A (point B has the same Y-axis coordinates) began to change from the original driving trajectory AC to AD, and finally intersected the planned driving trajectory at point D.
  • the technical solution of the present application will be described in detail below with the technical solution of the present application being applied to the reconstruction of the driving trajectory (ie, the motion trajectory) of the vehicle as an example.
  • Mapping vehicles for general navigation applications are equipped with on-board differential GPS receivers, inertial navigation modules, and wheel encoders to record vehicle position and attitude information during vehicle mapping operations.
  • High-precision surveying and mapping vehicles often set up GPS base stations near the surveying and mapping roads, and also use some auxiliary positioning services to improve positioning accuracy. According to the vehicle position and attitude information, and these auxiliary positioning information, the position of the vehicle during the mapping process can be initially restored to some discrete vehicle trajectory points.
  • the curve used to fit can be a combination of straight lines and circles, or a third-order Bezier segmented curve, and a third-order B-spline curve.
  • a fitting method or iterative trial and error method that is, fitting data with different parameter fitting elements one by one to investigate the fitting error in the sense of least squares. When a certain fitting error or iterative step is reached, After counting, the fitting result is obtained.
  • Another fitting method is to consider all data points as observation points as a whole, calculate the least square error between corresponding points on the fitted curve and these observation points, and adjust the parameters of the fitted curve to obtain the least square error. Fit the curve as the result of the fit.
  • the driving track points are calculated based on the information of GPS, inertial navigation IMU, and wheel encoder.
  • the Kalman filter is used to reduce the GPS observation error first, and then the least square method is used to fit and reconstruct the driving track.
  • the fitted curve can be a segmented curve of a combination of circles and straight lines, a cubic Bezier segmented curve, or a cubic B-spline curve. Due to the complex urban road conditions, short and variable road geometry, sudden turnarounds due to space constraints are very common, and there are higher requirements for the flexibility of the fitted curve, resulting in a larger number of fitted curve segments, or this There are more control points in the curve, which makes the data volume larger. In addition, urban roads have more occlusions, weaker GPS signal strength, and more noise and missing points on vehicle trajectory points, which makes it difficult for least square fitting algorithms to ensure reliability and accuracy.
  • the fitting algorithm treats all the data as fitting data, which leads to the introduction of noise, and does not consider the problem of missing data due to poor urban environment and poor GPS signal quality.
  • the reliability and accuracy of the fitting results are low; on the other hand, the urban road environment is complicated, affected by surrounding buildings, vegetation, terrain and special human factors, the road geometry is poor in consistency, and sudden turning and changes are very drastic.
  • This solution uses the segmented Euler's transition curve assisted by Kalman filter to adaptively recover the driving trajectory, which effectively solves these three problems:
  • the fitting algorithm adaptively selects points in the data to participate in the fitting, Adopt the principle similar to RANSAC (Random Sampling Consistency), adaptively remove the influence of the point with larger error on the fitting;
  • the fitting element is the Euler relaxation curve, which has a high degree of flexibility, and straight lines and circles are both Under special conditions, you can fit complex road geometry instead of fitting with more segmented curve combinations, so that the amount of data after fitting is small;
  • the fitting error uses the fitting data to fit the curve
  • the definition of Euclidean distance for direct projection directly corresponds to the final fitting error, and the fitting optimization process directly reduces the fitting error, thereby improving the fitting accuracy.
  • This solution is suitable for vehicle trajectory reconstruction in high-precision map collection in urban environments, and vehicle trajectory modeling in autonomous driving in urban environments.
  • Using this solution to reconstruct vehicle trajectories can effectively improve the accuracy and reliability of trajectory reconstruction, so that The quality of high-precision map collection data in urban environments is higher, further improving the quality of high-precision maps.
  • a vehicle driving behavior model can be more effectively constructed, making automatic driving softer, more in line with real conditions, and more comfortable.
  • step S302 a Kalman filter is performed on the vehicle trajectory points (that is, in the data set) after the GPS / IMU solution.
  • the filtering result is shown in FIG. 4, and the red points (shown by black circles in FIG. 4) are the points after settlement.
  • Blue polyline black polyline in Figure 4) is the Kalman filtering result.
  • step S304 the adaptive Euler segmental curve fitting is performed according to the number of optimized segmented segments and the curve parameters of each segment to obtain the optimal trajectory curve. See FIG. 5.
  • the blue line (shown by curve 501 in FIG. 5) is Carr.
  • the Mann filter result the red line (shown by curve 503 in FIG. 5) is the curve fitting result.
  • the Euler curve is a parameter curve whose curvature varies linearly with the length of the curve, and can be described using the formula shown below, where b is the curvature at the starting point (x0, y0) and a is the slope of the linear change in curvature. (vx, vy) is the unit direction vector at the starting point:
  • x (s) x0 + ⁇ cos (a * s * s + b * s + vx) ds
  • y (s) y0 + ⁇ cos (a * s * s + b * s + vy) ds
  • the fitting scheme uses a random geometric model, that is, a piecewise Euler curve, the number of piecewise curves, the starting points (x0, y0), a and b, and the unit vector (vx, vy) are random variables. These random variables minimize the total fitting error.
  • the fitting error cost function is defined as the degree of fitting of each piecewise curve to the data sample points within its coverage, and the magnitude of the tangent vector jump between each two sets of adjacent fitted curves, and the magnitude of the curvature jump Whether the length of the curve is longer is taken into consideration.
  • ⁇ , ⁇ , ⁇ , and ⁇ are weight coefficients
  • data_fitting is the degree of data fit
  • #angle_diff is the number of tangent angle jumps at the connection of adjacent segmented curves that exceed the maximum allowable angle jumps
  • #curvagture_diff is the number of curvature jumps at the junction of adjacent segmented curves that exceeds the maximum allowable curvature jump
  • #length is the number of curves that exceed the maximum allowable length:
  • E 1 ⁇ * data_fitting + ⁇ * # angle_diff + ⁇ * # curvagture_diff + ⁇ * # length
  • the optimization process first sets a fixed number of segments and the default curve parameters, and optimizes the combination of continuously changing segmented curves.
  • the method of changing the combination of segmented curves is to randomly select the steps, merge and interrupt the segmented curves, change the position of the connection point of adjacent segmented curves, change the direction vector of the starting point of each segmented curve, and change the curvature parameter a and b.
  • Each iteration randomly selects a step to calculate whether the changed fitting error cost function is reduced, and if it is reduced, it is accepted; otherwise, it is accepted or rejected with a certain probability, so that after a certain number of iterations, the convergence state is reached.
  • the segmented curve combination is the optimal fitting curve (as shown in Figure 7), that is, the accuracy and the number of segments are optimal.
  • the method according to the above embodiments can be implemented by means of software plus a necessary universal hardware platform, and of course, also by hardware, but in many cases the former is Better implementation.
  • the technical solution of this application that is essentially or contributes to the existing technology can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, The optical disc) includes several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in the embodiments of the present application.
  • a terminal device which may be a mobile phone, a computer, a server, or a network device, etc.
  • FIG. 10 is a schematic diagram of an optional motion trajectory reconstruction device according to an embodiment of the present application. As shown in FIG. 10, the device may include:
  • the obtaining unit 901 is configured to obtain a data set, where the data set stores positioning data obtained by locating the position of the target object during the movement of the target object.
  • the above terminal is an intelligent terminal that follows the target object.
  • the target object may be a movable object such as a vehicle, a person, or an aircraft.
  • the following description uses the target object as a vehicle and the intelligent terminal as a vehicle terminal as an example.
  • the elements stored in the data collection are positioning data, such as GPS positioning data obtained by positioning the vehicle, inertial guidance data, etc.
  • the vehicle can use timing (such as every 1 second) during the driving process. Positioning the vehicle's location, that is, collecting positioning data of multiple points on the vehicle's motion trajectory without continuously positioning it, which can save the energy efficiency of positioning equipment and reduce the hardware consumption of on-board equipment during the positioning process. .
  • a fitting unit 903 is configured to obtain a plurality of first curves by performing data fitting on a part of the positioning data in the data set, where the first curve is obtained by fitting a plurality of positioning data adjacent to each other at the acquisition time.
  • the proportion of noise data in the positioning data of another part of the set is higher than the proportion of noise data in the positioning data of another part of the data set.
  • a determining unit 905 is configured to determine a motion trajectory of a target object based on a plurality of segments of the first curve.
  • the obtaining unit 901 in this embodiment may be used to execute step S202 in the embodiment of the present application
  • the fitting unit 903 in this embodiment may be used to execute step S204 in the embodiment of the present application
  • the determining unit 905 in the example may be configured to execute step S206 in the embodiment of the present application.
  • the above-mentioned fitting unit may include: a fitting module, configured to perform data fitting on a part of the positioning data in the data set according to the first parameter to obtain a multi-segment second curve, wherein the first parameter is used to indicate the multi-segment The number of segments of the second curve; a first determination module for using the second curve of multiple segments as the first curve of the second segment if the second curve of the second segment meets the target condition; a first adjusting module for not satisfying the second curve of the second segment In the case of a target condition, adjust the value of the first parameter, and perform data fitting on a part of the positioning data in the data set according to the adjusted first parameter to obtain a plurality of second curves.
  • a fitting module configured to perform data fitting on a part of the positioning data in the data set according to the first parameter to obtain a multi-segment second curve, wherein the first parameter is used to indicate the multi-segment The number of segments of the second curve
  • a first determination module for using the second
  • the above-mentioned fitting unit is further configured to confirm whether the multi-segment second curve meets the target condition as follows: determine whether the multi-segment second curve satisfies the data fitting parameters, the second parameter, the third parameter, and the fourth parameter of the multi-segment second curve.
  • Target condition wherein the second parameter is the angle between two adjacent second curves whose angle exceeds the first threshold, and the third parameter is the number of curvatures between the adjacent second curves that exceeds the second threshold
  • the fourth parameter is the number of segments of the second curve whose length exceeds the third threshold.
  • the fitting unit may include: a first obtaining module, configured to obtain a first product between data fitting parameters of the second plurality of curves and the first weight, and a second product between the second parameter and the second weight Product, the third product between the third parameter and the third weight, and the fourth product between the fourth parameter and the fourth weight, where the sum of the first weight, the second weight, the third weight, and the fourth weight is 1; a second determination module, configured to determine that the second curve of the multiple segments does not meet the target condition when the fifth parameter is greater than the fourth threshold, wherein the fifth parameter is the first product, the second product, the third product, and the first The sum of four products; a third determining module, configured to determine that the second curve of a plurality of segments meets the target condition when the fifth parameter is not greater than the fourth threshold.
  • a first obtaining module configured to obtain a first product between data fitting parameters of the second plurality of curves and the first weight, and a second product between the second parameter and the second weight Product, the third product between the third parameter and the
  • the above-mentioned fitting unit may include: a second adjustment module, configured to perform an adjustment operation on a plurality of segments of the second curve when the fifth parameter is not greater than the fourth threshold, wherein the adjustment operation includes at least one of the following: Adjust the unit direction vector of the starting position of the second curve within the range, adjust the fitting parameters between the second curve and the positioning data covered by the second curve within the second range, and adjust the adjacent first Curvature between two curves, the first range is the range of values set for the unit direction vector, the second range is the range of values set for the fitting parameters, and the third range is the range of values set for the curvature; the second adjustment The module is configured to obtain a fifth parameter of the multi-segment second curve after performing the adjustment operation, and use the fifth parameter to determine whether the multi-segment second curve meets a target condition.
  • the adjustment operation includes at least one of the following: Adjust the unit direction vector of the starting position of the second curve within the range, adjust the fitting parameters between the second curve and the positioning data covered by the
  • the values of the first variable and the second variable may be adjusted according to the third range;
  • the sum of the two variables is taken as the value of the target curvature, and the fifth product is the product between the first variable and the sixth parameter.
  • the above fitting module When the above fitting module performs data fitting on a part of the positioning data in the data set according to the first parameter, and obtains a plurality of second curves, it can filter the positioning data belonging to the noise data in the data set to obtain the target data, among which the noise data
  • the distance between the positioning point represented by the positioning data and the motion trajectory is greater than the distance between the positioning point represented by the positioning data not belonging to the noise data and the motion trajectory; and a plurality of second curves are obtained by fitting the target data.
  • the above-mentioned determining unit may be further configured to: obtain a target angle and a target curvature between adjacent second curves when the second segment of the second curve meets the target condition; and according to the target angle and the target curvature between the adjacent second curves The adjacent second curves are connected to obtain a motion trajectory.
  • the above modules can be run in a hardware environment as shown in FIG. 1, and can be implemented by software or hardware, wherein the hardware environment includes a network environment.
  • a server or a terminal for implementing the above-mentioned reconstruction method of a motion track is also provided.
  • FIG. 11 is a structural block diagram of a terminal according to an embodiment of the present application.
  • the terminal may include one or more (only one shown in FIG. 11) a processor 1001, a memory 1003, and a transmission device. 1005.
  • the terminal may further include an input / output device 1007.
  • the memory 1003 may be used to store software programs and modules, such as program instructions / modules corresponding to the reconstruction method and device of a motion trajectory in the embodiments of the present application.
  • the processor 1001 runs the software programs and modules stored in the memory 1003. Therefore, various functional applications and data processing are performed, that is, the above-mentioned reconstruction method of the motion trajectory is implemented.
  • the memory 1003 may include a high-speed random access memory, and may further include a non-volatile memory, such as one or more magnetic storage devices, a flash memory, or other non-volatile solid-state memory.
  • the memory 1003 may further include a memory remotely set with respect to the processor 1001, and these remote memories may be connected to the terminal through a network. Examples of the above network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
  • the transmission device 1005 is used to receive or send data through a network, and may also be used for data transmission between a processor and a memory. Specific examples of the foregoing network may include a wired network and a wireless network.
  • the transmission device 1005 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers through a network cable so as to communicate with the Internet or a local area network.
  • the transmission device 1005 is a radio frequency (RF) module, which is used to communicate with the Internet in a wireless manner.
  • RF radio frequency
  • the memory 1003 is used to store an application program.
  • the processor 1001 may call the application program stored in the memory 1003 through the transmission device 1005 to perform the following steps:
  • the data set stores positioning data obtained by locating the position of the target object during the movement of the target object;
  • the first curve is obtained by fitting multiple positioning data adjacent to each other at the acquisition time.
  • the proportion of noise data is higher than the proportion of noise data in a part of the positioning data of the data set;
  • the motion trajectory of the target object is determined based on the first curve of the multiple segments.
  • the processor 1001 is further configured to perform the following steps:
  • an adjustment operation is performed on the second segment of the second curve, where the adjustment operation includes at least one of the following: adjusting the unit direction vector of the starting position of the second curve within the first range, Adjust the fitting parameters between the second curve and the positioning data covered by the second curve within the second range, and adjust the curvature between adjacent second curves within the third range.
  • the first range is the unit direction vector
  • the second range is the value range set for the fitting parameters
  • the third range is the value range set for the curvature
  • a fifth parameter of the multi-segment second curve after performing the adjustment operation is acquired, and the fifth parameter is used to determine whether the multi-segment second curve meets a target condition.
  • a data set is obtained, and the data set stores positioning data obtained by positioning the target object's location during the movement of the target object; data fitting is performed on a part of the positioning data in the data set to obtain Multiple first curves.
  • the first curve is obtained by fitting multiple positioning data adjacent to each other at the acquisition time.
  • the proportion of noise data in the positioning data of another part of the data set is higher than that of the positioning data in a part of the data set. Percentage occupied; determine the motion trajectory of the target object based on the multi-section first curve.
  • the positioning data used does not include noise data or only includes a small amount of noise data, so It can make the reconstructed motion trajectory closer to the original motion trajectory, and can solve the technical problem of low accuracy of reconstructing the vehicle's motion trajectory in the related technology, thereby achieving the technical effect of accurately reconstructing the vehicle's motion trajectory. .
  • the structure shown in FIG. 11 is only a schematic, and the terminal may be a smart phone (such as an Android phone, an iOS phone, etc.), a tablet computer, a handheld computer, and a mobile Internet device (Mobile Internet Devices, MID), PAD and other terminal equipment.
  • FIG. 11 does not limit the structure of the electronic device.
  • the terminal may further include more or less components (such as a network interface, a display device, etc.) than those shown in FIG. 11, or may have a configuration different from that shown in FIG. 11.
  • the program may be stored in a computer-readable storage medium, and the storage medium may be Including: flash disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc.
  • An embodiment of the present application further provides a storage medium.
  • the foregoing storage medium may be used to execute program code of a reconstruction method of a motion track.
  • the storage medium may be located on at least one network device among multiple network devices in the network shown in the foregoing embodiment.
  • the storage medium is configured to store program code for performing the following steps:
  • the storage medium is further configured to store program code for performing the following steps:
  • the adjustment operation includes at least one of the following: adjusting the unit direction of the starting position of the second curve within the first range Vector, adjusting the fitting parameters between the second curve and the positioning data covered by the second curve within the second range, and adjusting the curvature between adjacent second curves within the third range, the first range is the unit The value range set by the direction vector, the second range is the value range set for the fitting parameters, and the third range is the value range set for the curvature;
  • the foregoing storage medium may include, but is not limited to, a U disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a mobile hard disk, and a magnetic disk.
  • Various media such as discs or optical discs that can store program codes.
  • the integrated unit in the foregoing embodiment When the integrated unit in the foregoing embodiment is implemented in the form of a software functional unit and sold or used as an independent product, it may be stored in the computer-readable storage medium.
  • the technical solution of the present application is essentially a part that contributes to the existing technology or all or part of the technical solution may be embodied in the form of a software product, which is stored in a storage medium.
  • Several instructions are included to enable one or more computer devices (which may be personal computers, servers, or network devices, etc.) to perform all or part of the steps of the method described in the embodiments of the present application.
  • the disclosed client can be implemented in other ways.
  • the device embodiments described above are only schematic.
  • the division of the unit is only a logical function division.
  • multiple units or components may be combined or may be combined. Integration into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, units or modules, and may be electrical or other forms.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objective of the solution of this embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each of the units may exist separately physically, or two or more units may be integrated into one unit.
  • the above integrated unit may be implemented in the form of hardware or in the form of software functional unit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Navigation (AREA)

Abstract

提供了一种运动轨迹的重构方法和装置、存储介质、电子装置。其中,该方法包括:获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据(S202);通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的(S204);基于多段第一曲线确定目标对象的运动轨迹(S206)。由此提高了对车辆的运动轨迹进行重构的准确率。

Description

运动轨迹的重构方法和装置、存储介质、电子装置
本申请要求于2018年08月06日提交中国专利局、申请号为201810886856.1、申请名称为“运动轨迹的重构方法和装置、存储介质、电子装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及电子地图领域,具体而言,涉及一种运动轨迹的重构方法和装置、存储介质、电子装置。
背景技术
随着车辆的增多和出行需求的增加,人们对车载导航的依赖越来越强。导航定位是否准确已成为人们选择车载导航装置的最重要因素。
相关技术中的车辆定位系统一般依赖于全球定位系统(Global Positioning System,GPS)信号或网络信号,车辆定位系统的定位模块只有通过GPS信号或网络信号才能获取定位结果。然而,当车辆行驶到隧道或者地下车库等没有GPS信号或者网络信号的位置,车辆无法通过GPS或网络采集到的定位数据实现精准的定位,只能根据速度来做位置轨迹的估算。
从上述可知,车辆监控系统存在两个技术缺陷。一方面,当行驶车辆进入车辆定位信号微弱或无车辆定位信号的区域时,行驶车辆处于“暂时丢失”的状态,由于无法获取到准确的车辆定位信号导致无法对行驶车辆进行准确定位;另一方面,由于民用车载导航终端采用的定位芯片的定位精度较差,车辆监控中心不可避免地接收到漂移的定位数据(即表示的车辆当前位置相比车辆实际位置发生偏移的车辆位置数据),最终导致车辆行驶轨迹监控系统监控界面上的车辆行驶曲线相比车辆实际行驶轨迹出现偏离,由此造成了对车辆驾驶人员的误导,降低了用户的导航体验。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种运动轨迹的重构方法和装置、存储介质、电子装置,以至少解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题。
根据本申请实施例的一个方面,提供了一种运动轨迹的重构方法,包括:获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹。
根据本申请实施例的另一方面,还提供了一种运动轨迹的重构装置,包括:获取单元,用于获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;拟合单元,用于通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;确定单元,用于基于多段第一曲线确定目标对象的运动轨迹。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。
根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。
在本申请实施例中,通过对目标对象在运动过程中的定位数据进行过滤,得到不包括噪声或仅包括少量噪声的定位数据,然后基于该过滤后的数据,对 采集时间相邻的多个定位数据进行数据拟合,得到多段第一曲线,基于该第一曲线可以确定目标对象的运动轨迹。由于在轨迹重构的过程中使用的是过滤后的数据,其受到噪声的干扰较小,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的运动轨迹的重构方法的硬件环境的示意图;
图2是根据本申请实施例的一种可选的运动轨迹的重构方法的流程图;
图3是根据本申请实施例的一种可选的运动轨迹的重构方法的流程图;
图4是根据本申请实施例的一种可选的滤波结果的示意图;
图5是根据本申请实施例的一种可选的最优轨迹曲线的示意图;
图6是根据本申请实施例的一种可选的欧拉曲线的示意图;
图7是根据本申请实施例的一种可选的最优轨迹曲线的示意图;
图8是根据本申请实施例的一种可选的地图重构轨迹曲线的示意图;
图9是根据本申请实施例的一种可选的自动驾驶轨迹调整的示意图;
图10是根据本申请实施例的一种可选的运动轨迹的重构装置的示意图;以及,
图11是根据本申请实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
自动驾驶汽车(Autonomous vehicles):又称无人驾驶汽车、电脑驾驶汽车、或轮式移动机器人,是一种通过电脑系统实现无人驾驶的智能汽车。
卡尔曼滤波(Kalman filtering):一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
根据本申请实施例的一方面,提供了一种运动轨迹的重构方法的方法实施例。
可选地,在本实施例中,上述运动轨迹的重构方法可以应用于如图1所示的由服务器101和/或终端103所构成的硬件环境中。如图1所示,服务器101通过网络与终端103进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务、地图服务、自动驾驶等),可在服务上或独立于服 务器设置数据库105,用于为服务器101提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端103并不限定于PC、手机、平板电脑等。
本申请实施例的运动轨迹的重构方法可以由终端103来执行,图2是根据本申请实施例的一种可选的运动轨迹的重构方法的流程图,如图2所示,该方法可以包括以下步骤:
步骤S202,终端获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。
上述的终端为随动于目标对象的智能终端,目标对象可以为车辆、人、飞机等可移动的对象,为了描述方便,后续以目标对象为车辆、智能终端为车载终端为例进行说明。
数据集合中保存的元素为定位数据,如车辆进行定位得到的全球定位系统GPS(Global Positioning System)的定位数据、惯性制导数据等,例如,车辆在行驶的过程中,可以采用定时(如每隔1秒)的方式对车辆所在位置进行定位,即可以采集车辆在运动轨迹上的多个点的定位数据,而不用持续一直对其进行定位,以便节约定位设备的能效、降低定位过程对车载设备的硬件消耗量。
步骤S204,终端通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。
在通过对数据集合中的一部分定位数据进行数据拟合得到多段第一曲线时,所使用的为不包括噪声数据或者包括相对更少噪声数据的定位数据,该数据也可以称为目标数据,该目标数据是对数据集合仅噪声过滤得到的定位数据,相当于在进行轨迹重构前对数据集合中的定位数据进行过滤,其目的是过滤掉属于噪声数据的定位数据(即另一部分数据),而尽量保留定位较准确的数据(即一部分定位数据),另一部分数据主要包括噪声数据,而一部分定位数据 基本不包括噪声数据,或者理解为另一部分数据中噪声数据所占的比例(100%或者接近于100%)远大于一部分定位数据中噪声数据所占的比例(0%或者接近于0%),即本申请的技术方案相当于是在滤波的基础上对目标对象的运动轨迹进行了分段重构,可以大幅降低对GPS噪声和数据缺失的影响,恢复后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据量。
在具体实现时,终端可以针对数据集合中的定位数据分别判断其是否属于噪声数据,可以理解,噪声数据和非噪声数据的一些属性如频谱等是存在差异的,基于此,可以通过识别定位数据的频谱等属性确定其是否属于噪声数据,针对数据集合中的任一定位数据,当确定所述定位数据为噪声数据时,则从所述数据集合中过滤掉所述噪声数据,所述数据集合中剩余的定位数据可以作为所述目标数据。上述的曲线拟合(Curve Fitting)是指用连续曲线近似地刻画或比拟平面上一组离散点所表示的坐标(即定位数据所指示的点)之间的函数关系,是一种用解析表达式逼近离散数据的方法,曲线拟合通俗的说法就是“拉曲线”,也就是将已有数据透过数学方法来代入一条数学方程式的表示方法。如通过诸如采样、实验等方法获得若干离散的定位数据,根据这些定位数据,找到一个连续的函数(也就是曲线)或者更加密集的离散方程,使得定位数据与方程的曲线能够在最大程度上近似吻合。
步骤S206,终端基于多段第一曲线确定目标对象的运动轨迹。
在上述实施例中,以本申请实施例的运动轨迹的重构方法由终端103来执行为例进行说明,本申请实施例的运动轨迹的重构方法也可以由服务器101来执行,其与上述实施例的区别在于,执行主体由终端103替换为了服务器101,本申请实施例的运动轨迹的重构方法还可以是由服务器101和终端103共同执行,由终端执行其中的一个或两个步骤(如步骤S202),而服务器执行剩余步骤(如步骤S204和步骤S206)。其中,终端103执行本申请实施例的运动轨迹的重构方法也可以是由安装在其上的客户端(如地图应用的客户端或者内置地图服务的应用的客户端)来执行。
通过上述步骤S202至步骤S206,在进行轨迹重构前对数据集合中的定位数据进行噪声过滤,基于噪声过滤后的定位数据,对采集时间相邻的多个定位数据进行数据拟合,得到多段第一曲线,基于该第一曲线可以确定目标对象的运动轨迹。由于在轨迹重构的过程中使用的是过滤后的数据,其受到噪声的干扰较小,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动轨迹的技术效果。
在本申请的技术方案中,可采用卡尔曼滤波等滤波方案来获取分段欧拉缓和曲线(即第一曲线),以自适应恢复行车轨迹线(即运动轨迹),有效地重构城市道路路况下车辆行驶的复杂的直线行驶几何轨迹、曲线拐弯掉头几何轨迹,和两种状态之间衔接的行驶几何轨迹,本申请的方案可以大幅降低GPS噪声和数据缺失对轨迹重构的影响,此处的GPS噪声主要是处于GPS信号不好的位置(如车库、城市建筑密集区域、地下通道等)时定位得到的GPS定位信息,而数据缺失主要是指在缺少GPS定位装置的地方间歇性地无法获取GPS定位信息(如顺序穿过多个山洞时,处于洞中时无法采集到GPS定位信息,仅仅在山洞之间的位置能够采集少量GPS定位信息),相关技术中在存在GPS噪声数据的情况下所重构的轨迹会存在较大误差,而在缺少GPS信息的情况由于定位数据量较少会导致无法恢复行驶轨迹,而本申请的技术方案可在GPS等定位信号较弱或缺失的情况下实现,如在噪声数据较多时过滤掉属于噪声数据的定位数据,仅仅采用其中定位较准确的定位数据进行轨迹重构,而由于采用本申请的分段重构所使用的定位数据量较少,可以实现在无GPS信号的情况下利用少量GPS定位数据和惯性制导数据(惯性制导数据可利用进洞前的GPS定位数据和车辆的惯性制导单元测得的加速度等推导出车辆进入山洞中后所处的位置)实现轨迹重构,解决在GPS等定位信号较弱或缺失的情况下的轨迹重构问题,重构后的轨迹线与真实行驶数据误差达到工业级质量,数据是自适应分段,有效降低了数据处理量。下面结合图2所示的步骤进一步详述本申请的技术方案。
在步骤S202提供的技术方案中,终端获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。
在一个可选地实施例中,上述数据集合中的元素可以为GPS定位数据、惯性导航IMU(Inertial measurement unit)的数据(如三轴加速度、三轴角速度等)以及车轮编码器的信息(如实测的车轮速度)中的一种或多种,还可以为根据GPS、惯性导航IMU以及车轮编码器的信息中的至少一种解算后的行车轨迹点数据。
在步骤S204提供的技术方案中,终端通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。
在上述实施例中,通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线主要包括如下步骤1-步骤2:
步骤1,按照第一参数所指示的段数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线,第一参数用于指示多段第二曲线的段数。
上述的第二曲线和第一曲线可以欧拉曲线,欧拉曲线是曲率随曲线长度线性变化的参数曲线,定义如下,其中b为起始点(x0,y0)处的曲率,a为曲率线性变化的斜率,(vx,vy)为起始点处的单位方向向量:
x(s)=x0+∫cos(a*s*s+b*s+vx)ds,
y(s)=y0+∫cos(a*s*s+b*s+vy)ds,
曲率变化K=a*S+b,
拟合的方案采用随机几何模型,即采用分段欧拉曲线,分段曲线的个数,起始点(x0,y0)、参数a和b、单位向量(vx,vy)可以为随机变量,通过优化这些随机变量,使得总的拟合误差最小,S表示曲线或者轨迹中待确定曲率的位置,ds表示对曲线或者轨迹的积分。
可选地,按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线可包括:过滤数据集合中属于噪声数据(即前述的另一部分定位数据)的定位数据,得到目标数据(即前述的一部分定位数据),属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离大于不属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离,换言之,噪声数据是一些偏离较远的数据;按照第一参数所指示的段数,对目标数据进行拟合得到多段第二曲线,即多段第二曲线的段数即第一参数所指示的段数。
如采用卡尔曼滤波来实现过滤,以(k-1)时刻的最优估计X (k-1)(如k-1时刻的定位数据)为准,预测k时刻的状态变量
Figure PCTCN2019094813-appb-000001
进而可以根据(k-1)时刻的最优估计和状态变量确定k时刻的最优状态估计X k(即理想的k时刻的定位数据),同时又对该状态进行观测,得到观测变量Z k(即实际的k时刻的定位数据),再在预测与观测之间进行分析,如比较二者之间的差值是否达到某个阈值,以此来确定观测变量是否为噪声,如达到了某个阈值则认为是噪声,反之则不是。
在一个可选地实施例中,可以计算某个定位数据与相邻定位数据之间的方差,并计算与所有相邻定位数据之间的方差之和,当该和值与所有相邻定位数据之间的比值大于某个阈值时,可认为该定位数据为噪声数据(即另一部分定位数据),否则不为噪声数据(即一部分定位数据)。
可选地,可按照如下方式确认多段第二曲线是否满足目标条件:根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件,其中,第二参数为角度超过第一阈值的两个相邻的第二曲线之间的夹角,第三参数为相邻的第二曲线之间的曲率超过第二阈值的个数,第四参数为长度超过第三阈值的第二曲线的段数。第一阈值、第二阈值以及第三阈值为预先设定的数值,具体是可以根据实际情况来设定,例如,第一阈值为90度,第二阈值为3,第三阈值为5。
上述的拟合参数也可称为拟合优度(Goodness of Fit),是回归直线(即拟合得到的曲线)对观测值(即定位数据)的拟合程度,度量拟合优度的统计量 是可决系数(亦称确定系数)R 2,R 2最大值为1,R 2的值越接近1,说明回归直线对观测值的拟合程度越好;反之,R 2的值越小,说明回归直线对观测值的拟合程度越差。可运用判定系数和回归标准差,检验模型对样本观测值的拟合程度。
在一种可选的实施方式中,根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件可包括步骤11-步骤13:
步骤11,获取多段第二曲线的数据拟合参数(或称数据拟合程度data_fitting)与第一权重α之间的第一乘积、第二参数#angle_diff与第二权重β之间的第二乘积、第三参数#curvagture_diff与第三权重γ之间的第三乘积以及第四参数(或称超过允许最大长度的曲线个数#length)与第四权重ε之间的第四乘积,其中,第一权重、第二权重、第三权重以及第四权重之和为1。
步骤12,在第五参数大于第四阈值的情况下,确定多段第二曲线不满足目标条件,第五参数为第一乘积、第二乘积、第三乘积以及第四乘积之和。第四阈值可以为经验值,或者试验出来的数据,可以根据实际情况进行取值,如取值为10。
步骤13,在第五参数不大于第四阈值的情况下,确定多段第二曲线满足目标条件。
在又一个可选的实施例中,在根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件的过程中,可以按照如下步骤14-步骤15所示的方案进行优化:
步骤14,在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量(其相当于调整了相邻曲线的夹角)、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围 是为拟合参数设置的取值范围,第三范围是为目标曲率设置的取值范围。可选地,在执行调整操作时,可以随机执行上述调整中的一种,也可执行其中的多种,甚至全部。
可选地,在第三范围内调整相邻的第二曲线之间的目标曲率可包括:根据第三范围调整第一变量a和第二变量b的取值;将第五乘积与第二变量之和作为目标曲率的取值K,第五乘积为第一变量a与第六参数s(用于表示曲线中待确定曲率的位置)之间的乘积。
步骤15,获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件,具体参照前述步骤11-步骤13。
需要说明的是,在经过步骤14的多次调整的情况下,若继续调整会导致超出相应的取值范围的情况下,则调整第一参数的取值,然后再次进入步骤11至步骤15,直至找到最优的分段方式。
步骤2,在多段第二曲线满足目标条件的情况下,将多段第二曲线作为多段第一曲线。
步骤3,在多段第二曲线不满足目标条件的情况下,调整第一参数的取值,并按照调整取值后的第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线。
在步骤S206提供的技术方案中,终端基于多段第一曲线确定目标对象的运动轨迹。
在上述实施例中,基于多段第一曲线确定目标对象的运动轨迹可包括:按照多段第二曲线满足目标条件时的相邻的第二曲线之间的目标夹角和目标曲率;按照相邻的第二曲线之间的目标夹角和目标曲率对相邻的第二曲线进行连接,得到运动轨迹,换言之,即将前述的最优线段组合作为运动轨迹。
可选地,可以将本申请的技术方案应用于自动驾驶领域,此时的目标对象相当于自动驾驶车辆,在基于多段第一曲线确定目标对象的运动轨迹之后,可 以采用本申请的技术方案对车辆的行驶姿态进行调整:根据运动轨迹和目标轨迹对自动驾驶车辆的行驶姿态进行调整,以使调整后的自动驾驶车辆在目标轨迹上行驶,其中,目标轨迹是为自动驾驶车辆设定的行驶轨迹。
可选地,参见图9,根据运动轨迹和目标轨迹对自动驾驶车辆的行驶姿态进行调整包括如下所示的步骤1-步骤3:
步骤1,获取自动驾驶车辆在运动轨迹L1上行驶时的行驶速度v和调整时间t,如位于A时的行驶速度,调整时间可以是用户设定的、系统默认的、服务器设定的等;
步骤2,按照行驶速度和调整时间确定第一位置C和第二位置D,其中,第一位置为自动驾驶车辆在运动轨迹上按照行驶速度和调整时间行驶至的位置(即根据上述行驶速度v继续行驶时间t所到达的位置C),第二位置为目标轨迹上的与第一位置在第一方向Y上坐标相同的位置,相当于穿越C做与X平行的线,该线与目标轨迹L2的交点即第二位置D;
步骤3,根据坐标差的二倍2(x D-x C)与调整时间的平方之间t 2的比值2(x D-x C)/t 2确定自动驾驶车辆在第二方向上的加速度a,坐标差为第二位置在第二方向X上的坐标x D和第一位置在第二方向上的坐标x C之间的差值,第二方向与第一方向不同,自动驾驶车辆的行驶姿态包括加速度。
在一个可选地的实施例中,a可以为2(x D-x C)/t 2,车辆可以按照加速度a行驶至D点,然后将该加速度a导致的在第二方向X上的速度归零。
考虑到将该加速度a导致的在第二方向X上的速度归零需要时间,可以采用如下方式进行优化,a可以为4(x D-x C)/t 2,先控制车辆按照加速度a行驶t/2,然后再控制车辆按照-a行驶t/2,从而使得车辆到达D时不会因为a产生在第二方向上的速度,相当于车辆会从A点(B点与之具有相同的Y轴坐标)开始由原来的行驶轨迹AC转变为AD,最终在D点与规划的行驶轨迹相交。
作为一种可选的实施例,下面以将本申请的技术方案应用于车辆的行驶轨迹(即运动轨迹)的重构为例详述本申请的技术方案。
普通导航应用的测绘车辆,配备有车载的差分GPS接收机,惯性导航模块以及车轮编码器来记录车辆测绘作业中的车辆位置和姿态信息。高精度测绘车辆,往往还会在测绘道路附近架设GPS基站,还会使用一些辅助定位服务用以提高定位精度。根据车辆位置和姿态信息,和这些辅助定位信息,车辆在测绘过程中的位置可以初步恢复成为一些离散的车辆轨迹点。
根据这些车辆轨迹点,往往受到GPS观测噪声的污染,使用卡尔曼滤波对车辆运行的轨迹进行状态空间方程建模,通过运动方程约束来降低噪声影响,然后,使用最小二乘原则下的曲线拟合,通过曲线几何的约束,如连续性和光滑性等约束,来进一步降低观测噪声,重构车辆的轨迹线。
用来拟合的曲线,可以是直线和圆的组合曲线,或者是三阶贝塞尔分段曲线,以及三阶B样条曲线。一种拟合的方法或者是迭代性凑试法,即逐个数据点用不同参数的拟合元素去拟合,考察最小二乘意义下的拟合误差,当达到一定拟合误差或者迭代步骤个数之后,得到拟合结果。另一种拟合方法,是整体考虑所有数据点作为观测点,计算拟合曲线上对应点与这些观测点的最小二乘误差,通过调整拟合曲线参数,求得在最小二乘误差下的拟合曲线,作为拟合结果。
可见,相关技术中是根据GPS、惯性导航IMU以及车轮编码器的信息解算后的行车轨迹点,通过卡尔曼滤波先降低GPS观测误差,再采用最小二乘法来拟合重构行车线轨迹。拟合的曲线可以是圆和直线的组合的分段曲线,三次贝塞尔分段曲线或者三次B样条曲线。由于城市环境路况复杂、道路几何短促而多变,受空间限制的突然的转向非常普遍,对拟合的曲线灵活度有较高要求,导致拟合的分段曲线分段数较大,或这样条曲线控制点较多,从而使数据量较大。此外,城市道路由于遮挡较多、GPS信号强度较弱、车辆轨迹点噪声和缺失较多,使得最小二乘拟合算法往往难以保证可靠性和精度。
相关技术中存在三方面的问题:一方面,拟合算法将全部的数据都作为拟合数据,导致引入了噪声,而且也没有考虑由于城市环境、GPS信号质量不好导致数据缺失的问题,从而使得拟合的结果的可靠性和精度较低;另一方面,城市道路环境复杂,受周边建筑、植被、地形和人为特殊因素影响,道路几何一致性较差,突然的转向和变化非常剧烈,这样导致常用的拟合曲线分段数较多,数据量大,并且拟合的质量不固定,较平缓的部分较好,而急剧突变的地方较差,拟合的误差性能也不固定;且,最小二乘拟合算法只能保证拟合误差的数学期望较低,而拟合误差的方差较大,即为了保证拟合的稳定性而牺牲了拟合精度。
本方案采用了采用卡尔曼滤波辅助下的分段欧拉缓和曲线自适应恢复行车轨迹线,有效解决了这三方面的问题:第一,拟合算法自适应选取数据中的点参与拟合,采用类似RANSAC(随机抽样一致性)的原则,自适应去除了误差较大的点对于拟合影响;第二,拟合的元素是欧拉缓和曲线,灵活度较高,直线、圆都是它的特殊条件下情况,可以拟合复杂道路几何,而不用较多的分段曲线组合来拟合,这样拟合后的数据量较小;第三,拟合误差采用拟合数据向拟合曲线做直接投影的欧式距离定义,直接对应最终拟合误差,拟合优化的过程直接降低拟合误差,从而提高了拟合精度。
本方案适用于城市环境下高精度地图采集中的车辆轨迹重建,以及城市环境自动驾驶中的车辆轨迹建模,采用本方案重构车辆轨迹,可以有效提升轨迹重建的精度和可靠性,从而使城市环境下的高精度地图采集数据品质更高,进一步提升高精度地图的品质。对于车辆轨迹建模,可以更有效的构建车辆行驶行为模型,使自动驾驶更柔和,更符合真实情况,舒适度更高。
本方案主要分为两个主要步骤,具体参见图3:
步骤S302,对GPS/IMU解算后车辆轨迹点(即数据集合中)进行卡尔曼滤波,滤波的结果参见图4,红色点(图4中以黑色圆点示出)为结算后的点,蓝色折线(图4中以黑色折线)为卡尔曼滤波结果。
步骤S304,按照优化分段段数和每段的曲线参数进行自适应欧拉分段曲线拟合,得到最优轨迹曲线,参见图5,蓝色线(图5中以曲线501示出)为卡尔曼滤波结果,红色线(图5中以曲线503示出)为曲线拟合结果。
参见图6,欧拉曲线是曲率随曲线长度线性变化的参数曲线,可以使用如下所示的公式进行描述,其中b为起始点(x0,y0)处的曲率,a为曲率线性变化的斜率,(vx,vy)为起始点处的单位方向向量:
x(s)=x0+∫cos(a*s*s+b*s+vx)ds
y(s)=y0+∫cos(a*s*s+b*s+vy)ds
拟合的方案采用随机几何模型,即采用分段欧拉曲线,分段曲线的个数,起始点(x0,y0),a和b,单位向量(vx,vy)均是随机变量,通过优化这些随机变量,使得总的拟合误差最小。
拟合误差代价函数定义为,每条分段曲线与其覆盖范围内的数据样品点的拟合程度,以及每两组相邻的拟合曲线之间的切向量的跳变大小,曲率跳变大小,曲线长度是否较长,均作为考虑的因素。具体定义如下公式:α、β、γ、ε均为权重系数,data_fitting为数据拟合程度,#angle_diff为相邻分段曲线在连接处的切线角度跳变超过最大允许角度跳变的个数,#curvagture_diff为相邻分段曲线在连接处的曲率跳变超过最大允许曲率跳变的个数,#length为超过允许最大长度的曲线个数:
E 1=α*data_fitting+β*#angle_diff+γ*#curvagture_diff+ε*#length,
由于需要优化的参数较多,曲线的个数不固定,参数范围大,所以总体的优化参数维度非常巨大,为了克服这个问题,本申请采用可跳转维度的蒙特卡洛仿真RJMCMC(Reversible Jump MCMC)的方法,配合模拟退火,来实现最优解。
优化过程首先设定一个固定分段数,和默认的曲线参数,通过不断变化分段曲线的组合,来进行优化。变化分段曲线组合的方法为,随机选定一下步骤, 合并和打断分段曲线,改变相邻分段曲线连接点位置,改变每个分段曲线的起始点的方向向量,以及改变曲率参数a和b。每次迭代随机选取一个步骤,计算变化后的拟合误差代价函数是否降低,如果降低,则接受;否则,则按照一定概率接受或拒绝,这样迭代一定次数之后,就达到收敛状态,这时的分段曲线组合就是最优的拟合曲线(如图7所示),即精度和分段个数都是最优。
本方案可满足工业级精度的车辆轨迹线重构,满足高精度地图采集和车辆行驶轨迹的建模,参见图8,有效提升自动驾驶产品质量。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
根据本申请实施例的另一个方面,还提供了一种用于实施上述运动轨迹的重构方法的运动轨迹的重构装置。图10是根据本申请实施例的一种可选的运动轨迹的重构装置的示意图,如图10所示,该装置可以包括:
获取单元901,用于获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据。
上述的终端为随动于目标对象的智能终端,目标对象可以为车辆、人、飞 机等可移动的对象,为了描述方便,后续以目标对象为车辆、智能终端为车载终端为例进行说明。
数据集合中保存的元素为定位数据,如对车辆进行定位得到的全球定位系统GPS的定位数据、惯性制导数据等,例如,车辆在行驶的过程中,可以采用定时(如每隔1秒)的方式对车辆所在位置进行定位,即可以采集车辆在运动轨迹上的多个点的定位数据,而不用持续一直对其进行定位,可以节约定位设备的能效、降低定位过程对车载设备的硬件消耗量。
拟合单元903,用于通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例。
确定单元905,用于基于多段第一曲线确定目标对象的运动轨迹。
需要说明的是,该实施例中的获取单元901可以用于执行本申请实施例中的步骤S202,该实施例中的拟合单元903可以用于执行本申请实施例中的步骤S204,该实施例中的确定单元905可以用于执行本申请实施例中的步骤S206。
可选地,上述的拟合单元可包括:拟合模块,用于按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线,其中,第一参数用于指示多段第二曲线的段数;第一确定模块,用于在多段第二曲线满足目标条件的情况下,将多段第二曲线作为多段第一曲线;第一调整模块,用于在多段第二曲线不满足目标条件的情况下,调整第一参数的取值,并按照调整取值后的第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线。
上述的拟合单元还用于按照如下方式确认多段第二曲线是否满足目标条件:根据多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定多段第二曲线是否满足目标条件,其中,第二参数为角度超过第一阈值的两个相邻的第二曲线之间的夹角,第三参数为相邻的第二曲线之间的曲率超过第二阈值的个数,第四参数为长度超过第三阈值的第二曲线的段数。
可选地,拟合单元可包括:第一获取模块,用于获取多段第二曲线的数据拟合参数与第一权重之间的第一乘积、第二参数与第二权重之间的第二乘积、第三参数与第三权重之间的第三乘积以及第四参数与第四权重之间的第四乘积,其中,第一权重、第二权重、第三权重以及第四权重之和为1;第二确定模块,用于在第五参数大于第四阈值的情况下,确定多段第二曲线不满足目标条件,其中,第五参数为第一乘积、第二乘积、第三乘积以及第四乘积之和;第三确定模块,用于在第五参数不大于第四阈值的情况下,确定多段第二曲线满足目标条件。
上述的拟合单元可包括:第二调整模块,用于在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;第二调整模块,用于获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。
可选第,第二调整模块在第三范围内调整相邻的第二曲线之间的目标曲率时,可根据第三范围调整第一变量和第二变量的取值;将第五乘积与第二变量之和作为目标曲率的取值,第五乘积为第一变量与第六参数之间的乘积。
上述拟合模块在按照第一参数对数据集合中的一部分定位数据进行数据拟合,得到多段第二曲线时,可过滤数据集合中属于噪声数据的定位数据,得到目标数据,其中,属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离大于不属于噪声数据的定位数据所表示的定位点与运动轨迹之间的距离;并通过对目标数据进行拟合得到多段第二曲线。
上述的确定单元还可用于:获取多段第二曲线满足目标条件时的相邻的第二曲线之间的目标夹角和目标曲率;按照相邻的第二曲线之间的目标夹角和目标曲率对相邻的第二曲线进行连接,得到运动轨迹。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
根据本申请实施例的另一个方面,还提供了一种用于实施上述运动轨迹的重构方法的服务器或终端。
图11是根据本申请实施例的一种终端的结构框图,如图11所示,该终端可以包括:一个或多个(图11中仅示出一个)处理器1001、存储器1003、以及传输装置1005,如图11所示,该终端还可以包括输入输出设备1007。
其中,存储器1003可用于存储软件程序以及模块,如本申请实施例中的运动轨迹的重构方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的运动轨迹的重构方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1003用于存储应用程序。
处理器1001可以通过传输装置1005调用存储器1003存储的应用程序, 以执行下述步骤:
获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;
通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;
基于多段第一曲线确定目标对象的运动轨迹。
处理器1001还用于执行下述步骤:
在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;
获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。
采用本申请实施例,获取数据集合,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定位数据中噪声数据所占的比例;基于多段第一曲线确定目标对象的运动轨迹,由于在轨迹重构的过程中使用的是过滤后的数据,所使用的定位数据不包括噪声数据或只包括少量噪声数据,从而可以使得重构的运动轨迹与原始运动轨迹更为接近,可以解决相关技术中对车辆的运动轨迹进行重构的准确率较低的技术问题,进而达到了准确重构车辆的运动 轨迹的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图11所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行运动轨迹的重构方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S12,获取数据集合,其中,数据集合中保存有在目标对象的运动过程中对目标对象的所在位置进行定位得到的定位数据;
S14,通过对数据集合中的一部分定位数据进行数据拟合,得到多段第一曲线,其中,第一曲线是对采集时间相邻的多个定位数据进行拟合得到的,数据集合的另一部分定位数据中噪声数据所占的比例高于数据集合的一部分定 位数据中噪声数据所占的比例;
S16,基于多段第一曲线确定目标对象的运动轨迹。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S22,在第五参数不大于第四阈值的情况下,对多段第二曲线执行调整操作,其中,调整操作包括以下至少之一:在第一范围内调整第二曲线的起始位置的单位方向向量、在第二范围内调整第二曲线与第二曲线覆盖内的定位数据之间的拟合参数、在第三范围内调整相邻的第二曲线之间的曲率,第一范围是为单位方向向量设置的取值范围,第二范围是为拟合参数设置的取值范围,第三范围是为曲率设置的取值范围;
S24,获取执行调整操作后的多段第二曲线的第五参数,并利用第五参数确定多段第二曲线是否满足目标条件。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例 中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (15)

  1. 一种运动轨迹的重构方法,应用于终端,包括:
    获取数据集合,其中,所述数据集合中保存有在目标对象的运动过程中对所述目标对象的所在位置进行定位得到的定位数据;
    通过对所述数据集合中的目标数据进行数据拟合,得到多段第一曲线,所述目标数据是对所述数据集合进行噪声过滤得到的定位数据;
    基于所述多段第一曲线确定所述目标对象的运动轨迹。
  2. 根据权利要求1所述的方法,通过对所述数据集合中的目标数据进行数据拟合,得到多段第一曲线包括:
    按照第一参数对所述数据集合中目标数据进行数据拟合,得到多段第二曲线,其中,所述第一参数用于指示所述多段第二曲线的段数;
    在所述多段第二曲线满足目标条件的情况下,将所述多段第二曲线作为所述多段第一曲线;
    在所述多段第二曲线不满足所述目标条件的情况下,调整所述第一参数的取值,并按照调整取值后的所述第一参数对所述数据集合中的目标数据进行数据拟合,得到所述多段第二曲线。
  3. 根据权利要求2所述的方法,所述方法还包括按照如下方式确认所述多段第二曲线是否满足所述目标条件:
    根据所述多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定所述多段第二曲线是否满足所述目标条件,其中,所述第二参数为两个相邻的所述第二曲线之间的夹角的角度超过第一阈值的个数,所述第三参数为相邻的所述第二曲线之间的曲率超过第二阈值的个数,所述第四参数为长度超过第三阈值的所述第二曲线的段数。
  4. 根据权利要求3所述的方法,根据所述多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定所述多段第二曲线是否满足所述目标条件包括:
    获取所述多段第二曲线的数据拟合参数与第一权重之间的第一乘积、所述第二参数与第二权重之间的第二乘积、所述第三参数与第三权重之间的第三乘积以及所述第四参数与第四权重之间的第四乘积,其中,所述第一权重、所述 第二权重、所述第三权重以及所述第四权重之和为1;
    在第五参数大于第四阈值的情况下,确定所述多段第二曲线不满足所述目标条件,其中,所述第五参数为所述第一乘积、所述第二乘积、所述第三乘积以及所述第四乘积之和;
    在所述第五参数不大于所述第四阈值的情况下,确定所述多段第二曲线满足所述目标条件。
  5. 根据权利要求3所述的方法,根据所述多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定所述多段第二曲线是否满足所述目标条件还包括:
    在第五参数不大于第四阈值的情况下,对所述多段第二曲线执行调整操作,其中,所述调整操作包括以下至少之一:在第一范围内调整所述第二曲线的起始位置的单位方向向量、在第二范围内调整所述第二曲线与所述第二曲线覆盖内的所述定位数据之间的所述拟合参数、在第三范围内调整相邻的所述第二曲线之间的曲率,所述第一范围是为所述单位方向向量设置的取值范围,所述第二范围是为所述拟合参数设置的取值范围,所述第三范围是为曲率设置的取值范围;
    获取执行所述调整操作后的所述多段第二曲线的所述第五参数,并利用所述第五参数确定所述多段第二曲线是否满足所述目标条件。
  6. 根据权利要求5所述的方法,在第三范围内调整相邻的所述第二曲线之间的曲率包括:
    根据所述第三范围调整第一变量和第二变量的取值;
    将第五乘积与所述第二变量之和作为目标曲率的取值,所述第五乘积为所述第一变量与第六参数之间的乘积,其中,所述第六参数用于指示所述目标对象的待确定曲率的位置。
  7. 根据权利要求1至6中任意一项所述的方法,通过以下方式确定所述数据集合中的目标数据:
    针对所述数据集合中的任一定位数据,当确定所述定位数据为噪声数据时从所述数据集合中过滤掉所述噪声数据;
    将所述数据集合中剩余的定位数据作为所述目标数据。
  8. 根据权利要求1至7中任意一项所述的方法,基于所述多段第一曲线确定所述目标对象的运动轨迹包括:
    获取多段第二曲线满足目标条件时的相邻的所述第二曲线之间的目标夹角和目标曲率;
    按照相邻的所述第二曲线之间的所述目标夹角和所述目标曲率对相邻的所述第二曲线进行连接,得到所述运动轨迹。
  9. 根据权利要求1至7中任意一项所述的方法,所述目标对象包括自动驾驶车辆,其中,在基于所述多段第一曲线确定所述目标对象的运动轨迹之后,所述方法还包括:
    根据所述运动轨迹和目标轨迹对所述自动驾驶车辆的行驶姿态进行调整,以使调整后的所述自动驾驶车辆在所述目标轨迹上行驶,其中,所述目标轨迹是为所述自动驾驶车辆设定的行驶轨迹。
  10. 根据权利要求9所述的方法,根据所述运动轨迹和目标轨迹对所述自动驾驶车辆的行驶姿态进行调整包括:
    获取所述自动驾驶车辆在所述运动轨迹上行驶时的行驶速度和调整时间;
    按照所述行驶速度和所述调整时间确定第一位置和第二位置,其中,所述第一位置为所述自动驾驶车辆在所述运动轨迹上按照所述行驶速度和所述调整时间行驶至的位置,所述第二位置为所述目标轨迹上的与所述第一位置在第一方向上坐标相同的位置;
    根据坐标差的二倍与所述调整时间的平方之间的比值确定所述自动驾驶车辆在第二方向上的加速度,其中,所述坐标差为所述第二位置和所述第一位置在第二方向上的坐标差,所述第二方向与所述第一方向不同,所述自动驾驶车辆的行驶姿态包括所述加速度。
  11. 一种运动轨迹的重构装置,包括:
    获取单元,用于获取数据集合,其中,所述数据集合中保存有在目标对象的运动过程中对所述目标对象的所在位置进行定位得到的定位数据;
    拟合单元,用于通过对所述数据集合中的目标数据进行数据拟合,得到多段第一曲线,所述目标数据是对所述数据集合进行噪声过滤得到的定位数据;
    确定单元,用于基于所述多段第一曲线确定所述目标对象的运动轨迹。
  12. 根据权利要求11所述的装置,所述拟合单元包括:
    拟合模块,用于按照第一参数对所述数据集合中的目标数据进行数据拟合,得到多段第二曲线,其中,所述第一参数用于指示所述多段第二曲线的段数;
    第一确定模块,用于在所述多段第二曲线满足目标条件的情况下,将所述多段第二曲线作为所述多段第一曲线;
    第一调整模块,用于在所述多段第二曲线不满足所述目标条件的情况下,调整所述第一参数的取值,并按照调整取值后的所述第一参数对所述数据集合中的目标数据进行数据拟合,得到所述多段第二曲线。
  13. 根据权利要求12所述的装置,所述拟合单元还用于按照如下方式确认所述多段第二曲线是否满足所述目标条件:
    根据所述多段第二曲线的数据拟合参数、第二参数、第三参数以及第四参数确定所述多段第二曲线是否满足所述目标条件,其中,所述第二参数为两个相邻的所述第二曲线之间的夹角的角度超过第一阈值的个数,所述第三参数为相邻的所述第二曲线之间的曲率超过第二阈值的个数,所述第四参数为长度超过第三阈值的所述第二曲线的段数。
  14. 一种存储介质,所述存储介质包括存储的计算机程序,其中,所述计算机程序运行时执行上述权利要求1至10任一项中所述的方法。
  15. 一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器通过所述计算机程序执行上述权利要求1至10任一项中所述的方法。
PCT/CN2019/094813 2018-08-06 2019-07-05 运动轨迹的重构方法和装置、存储介质、电子装置 Ceased WO2020029728A1 (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP19848288.7A EP3805703B1 (en) 2018-08-06 2019-07-05 Movement track reconstruction method and device, storage medium, and electronic device
US17/036,665 US11460318B2 (en) 2018-08-06 2020-09-29 Method and apparatus for reconstructing motion track, storage medium, and electronic device
US17/899,737 US11846524B2 (en) 2018-08-06 2022-08-31 Method and apparatus for reconstructing motion track, storage medium, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810886856.1A CN110160541B (zh) 2018-08-06 2018-08-06 运动轨迹的重构方法和装置、存储介质、电子装置
CN201810886856.1 2018-08-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/036,665 Continuation US11460318B2 (en) 2018-08-06 2020-09-29 Method and apparatus for reconstructing motion track, storage medium, and electronic device

Publications (1)

Publication Number Publication Date
WO2020029728A1 true WO2020029728A1 (zh) 2020-02-13

Family

ID=67645183

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/094813 Ceased WO2020029728A1 (zh) 2018-08-06 2019-07-05 运动轨迹的重构方法和装置、存储介质、电子装置

Country Status (4)

Country Link
US (2) US11460318B2 (zh)
EP (1) EP3805703B1 (zh)
CN (1) CN110160541B (zh)
WO (1) WO2020029728A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382701A (zh) * 2020-03-09 2020-07-07 北京字节跳动网络技术有限公司 动作捕捉方法、装置、电子设备及计算机可读存储介质
CN114323051A (zh) * 2022-01-07 2022-04-12 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备
TWI832564B (zh) * 2022-11-17 2024-02-11 艾訊股份有限公司 自走車的精度量測方法、運算裝置及自走車
CN118123594A (zh) * 2024-03-12 2024-06-04 秦皇岛中秦智能装备有限公司 一种基于3d视觉曲线技术的轮毂打磨机器人轨迹规划方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110160541B (zh) * 2018-08-06 2022-02-22 腾讯大地通途(北京)科技有限公司 运动轨迹的重构方法和装置、存储介质、电子装置
CN110560433B (zh) * 2019-09-12 2021-05-11 广东海亮铜业有限公司 一种铜管大散盘生产内吹扫方法和系统
CN111131383B (zh) * 2019-11-18 2021-10-19 腾讯科技(深圳)有限公司 汽车云服务信号传播路径的构建方法、装置及存储介质
US11263347B2 (en) * 2019-12-03 2022-03-01 Truata Limited System and method for improving security of personally identifiable information
CN111098894B (zh) * 2019-12-13 2021-10-15 中国铁道科学研究院集团有限公司电子计算技术研究所 一种基于轨道曲线特征的列车定位方法及系统
CN112991717B (zh) * 2019-12-16 2023-02-03 深圳云天励飞技术有限公司 车辆轨迹展示方法及相关产品
CN111248922B (zh) * 2020-02-11 2022-05-17 中国科学院半导体研究所 基于加速度计和陀螺仪的人体呼吸情况采集贴及制备方法
CN111680114B (zh) * 2020-04-14 2022-07-29 武汉光庭信息技术股份有限公司 一种参考轨迹平滑处理方法、装置、终端设备及存储介质
CN111540039A (zh) * 2020-04-20 2020-08-14 江苏医药职业学院 三维轨迹模拟方法及电子设备
WO2021258345A1 (zh) * 2020-06-24 2021-12-30 华为技术有限公司 一种导航方法、导航系统以及智能汽车
CN111982115B (zh) * 2020-08-12 2024-07-05 北京汽车研究总院有限公司 基于惯性导航系统的特征点地图构建方法、装置以及介质
CN112161628B (zh) * 2020-09-27 2022-10-14 广州小鹏自动驾驶科技有限公司 一种路径数据的处理方法、装置、车辆、可读介质
CN112698268B (zh) * 2020-12-10 2023-01-17 青岛海信网络科技股份有限公司 一种目标设备的定位方法和定位终端
CN113327264B (zh) * 2021-06-01 2023-01-13 星觅(上海)科技有限公司 轨迹拟合方法、装置、设备及存储介质
CN113566837A (zh) * 2021-06-29 2021-10-29 深圳一清创新科技有限公司 一种基于自主建图的路线修正方法、装置以及电子设备
CN113609446A (zh) * 2021-07-30 2021-11-05 北京果仁互动科技有限公司 一种运动参数确定方法和装置
CN113791578B (zh) * 2021-08-23 2023-05-02 五邑大学 基于数控加工系统的轨迹滤波方法、装置和电子设备
CN113703399B (zh) * 2021-08-26 2022-09-16 广东拓斯达科技股份有限公司 运动轨迹规划方法、装置、设备和存储介质
CN113810854B (zh) * 2021-09-16 2023-10-03 中国联合网络通信集团有限公司 终端运动轨迹的确定方法和服务器
CN113990052B (zh) * 2021-10-29 2023-08-15 南京慧尔视防务科技有限公司 一种来车预警方法、装置、存储介质及道路防护车辆
CN113879338B (zh) * 2021-11-24 2023-02-17 广州文远知行科技有限公司 一种行驶规划模块优化方法、装置、设备和介质
CN113970332B (zh) * 2021-11-30 2024-04-19 上海于万科技有限公司 基于无人扫地车融合导航输出结果平滑处理方法及系统
CN114880411B (zh) * 2022-03-09 2024-04-26 一汽解放汽车有限公司 车辆轨迹集合优化方法、装置、电子设备及存储介质
CN114509936B (zh) * 2022-04-19 2022-09-02 之江实验室 一种运动能力可在线学习的运动规划方法、装置和介质
CN115222753B (zh) * 2022-06-23 2026-02-24 华南理工大学 一种针对图像分割的曲线分段拟合方法、设备及存储介质
CN115206095B (zh) * 2022-06-28 2024-05-14 公安部交通管理科学研究所 一种卡口过车轨迹数据重构方法
CN115344650A (zh) * 2022-07-05 2022-11-15 中银金融科技有限公司 基于区间浮动的移动对象轨迹简化方法、装置及存储介质
CN115092212B (zh) * 2022-07-14 2024-03-22 北京世纪东方智汇科技股份有限公司 隧道内列车轨迹校准方法、装置、设备及介质
CN115503425B (zh) * 2022-09-02 2025-05-16 欣旺达动力科技股份有限公司 汽车降温方法、汽车降温装置、电子设备及存储介质
CN116678417A (zh) * 2023-06-02 2023-09-01 中国联合网络通信集团有限公司 目标同轨迹的识别方法、识别系统、电子设备及存储介质
CN116578891B (zh) * 2023-07-14 2023-10-03 天津所托瑞安汽车科技有限公司 道路信息重构方法、终端及存储介质
CN117573389B (zh) * 2023-11-16 2025-04-04 宁波宇宁软件技术有限公司 应用程序的调用方法、终端设备及介质
CN120068960B (zh) * 2025-04-29 2025-07-18 同济大学 一种基于模型和数据联合的车辆轨迹平滑重构系统
CN121594895A (zh) * 2026-01-29 2026-03-03 航天时代低空科技有限公司 面向复杂地形的无人机真高航线轨迹平滑处理方法、系统、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102998684A (zh) * 2012-11-21 2013-03-27 厦门雅迅网络股份有限公司 一种基于贝塞尔曲线的终端定位轨迹拟合方法
CN103809195A (zh) * 2014-02-13 2014-05-21 上海温光自动化技术有限公司 一种gps轨迹曲线的生成方法及装置
CN104215249A (zh) * 2014-08-26 2014-12-17 厦门市润铭电子科技有限公司 一种行车轨迹的平滑方法
EP3009990A1 (en) * 2014-10-18 2016-04-20 Tata Consultancy Services Limited Method and system for performing crash analysis of one or more vehicles
CN106558219A (zh) * 2016-10-20 2017-04-05 深圳市元征科技股份有限公司 车辆轨迹预测方法及装置
CN108268960A (zh) * 2016-12-30 2018-07-10 乐视汽车(北京)有限公司 驾驶轨迹优化系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4207726B2 (ja) * 2003-09-11 2009-01-14 株式会社エクォス・リサーチ 道路情報の修正装置
US20090138188A1 (en) * 2005-07-22 2009-05-28 Andrej Kores Method, device and system for modeling a road network graph
CN103162702B (zh) * 2013-03-05 2016-04-06 中山大学 稀疏采样下基于多重概率匹配的车辆行驶轨迹重构方法
TW201519161A (zh) * 2013-11-07 2015-05-16 Inst Information Industry 電子裝置及其影片物體移動軌跡修正方法
JP6215032B2 (ja) * 2013-12-17 2017-10-18 株式会社東芝 運行計画作成装置
JP2015120412A (ja) * 2013-12-24 2015-07-02 日産自動車株式会社 走行支援装置
GB2526806A (en) * 2014-06-03 2015-12-09 Here Global Bv Trail interpolation
CN105180945A (zh) * 2015-09-24 2015-12-23 北京工商大学 一种基于移动智能终端的室内运动轨迹重构的方法和系统
CN105890593A (zh) * 2016-04-06 2016-08-24 浙江大学 一种mems惯性导航系统及基于该系统的轨迹重构方法
JP2018007402A (ja) * 2016-06-30 2018-01-11 株式会社東芝 列車運転制御装置
EP3287338A1 (de) * 2016-08-23 2018-02-28 Omv Refining & Marketing Gmbh Verfahren zur erstellung eines digitalen gleisplans einer gleisanlage
EP4276645A3 (en) * 2016-12-15 2024-01-10 Positec Power Tools (Suzhou) Co., Ltd. State detection method for an automatic working system and mobile station
CN108242145B (zh) * 2016-12-26 2020-10-16 阿里巴巴(中国)有限公司 异常轨迹点检测方法和装置
CN107544080A (zh) 2017-08-31 2018-01-05 江西博瑞彤芸科技有限公司 运动轨迹生成方法
JP6988450B2 (ja) * 2017-12-22 2022-01-05 株式会社デンソー 交差点内の走行軌道データ生成装置、交差点内の走行軌道データ生成プログラム及び記憶媒体
CN110160541B (zh) * 2018-08-06 2022-02-22 腾讯大地通途(北京)科技有限公司 运动轨迹的重构方法和装置、存储介质、电子装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102998684A (zh) * 2012-11-21 2013-03-27 厦门雅迅网络股份有限公司 一种基于贝塞尔曲线的终端定位轨迹拟合方法
CN103809195A (zh) * 2014-02-13 2014-05-21 上海温光自动化技术有限公司 一种gps轨迹曲线的生成方法及装置
CN104215249A (zh) * 2014-08-26 2014-12-17 厦门市润铭电子科技有限公司 一种行车轨迹的平滑方法
EP3009990A1 (en) * 2014-10-18 2016-04-20 Tata Consultancy Services Limited Method and system for performing crash analysis of one or more vehicles
CN106558219A (zh) * 2016-10-20 2017-04-05 深圳市元征科技股份有限公司 车辆轨迹预测方法及装置
CN108268960A (zh) * 2016-12-30 2018-07-10 乐视汽车(北京)有限公司 驾驶轨迹优化系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP3805703A4 *
WANG, NAN, ET. AL.: "Real time extraction and description for vehicle trace curves", JOURNAL OF NORTHEASTERN UNIVERSITY (NATURAL SCIENCE), vol. 20, no. 4, 30 April 1999 (1999-04-30), pages 111 - 113, XP055684617, ISSN: 1005-3026 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111382701A (zh) * 2020-03-09 2020-07-07 北京字节跳动网络技术有限公司 动作捕捉方法、装置、电子设备及计算机可读存储介质
CN111382701B (zh) * 2020-03-09 2023-09-22 抖音视界有限公司 动作捕捉方法、装置、电子设备及计算机可读存储介质
CN114323051A (zh) * 2022-01-07 2022-04-12 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备
CN114323051B (zh) * 2022-01-07 2024-02-02 苏州挚途科技有限公司 路口行驶轨迹的规划方法、装置和电子设备
TWI832564B (zh) * 2022-11-17 2024-02-11 艾訊股份有限公司 自走車的精度量測方法、運算裝置及自走車
CN118123594A (zh) * 2024-03-12 2024-06-04 秦皇岛中秦智能装备有限公司 一种基于3d视觉曲线技术的轮毂打磨机器人轨迹规划方法

Also Published As

Publication number Publication date
US20230003547A1 (en) 2023-01-05
US11460318B2 (en) 2022-10-04
EP3805703A1 (en) 2021-04-14
CN110160541B (zh) 2022-02-22
EP3805703A4 (en) 2021-09-08
US11846524B2 (en) 2023-12-19
CN110160541A (zh) 2019-08-23
US20210156713A1 (en) 2021-05-27
EP3805703B1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
WO2020029728A1 (zh) 运动轨迹的重构方法和装置、存储介质、电子装置
CN113155139B (zh) 车辆轨迹纠偏方法、装置及电子设备
CN108089572B (zh) 用于车辆定位的方法和装置
CN106912018B (zh) 基于信令轨迹的地图匹配方法及系统
Davies et al. Scalable, distributed, real-time map generation
CN102998684B (zh) 一种基于贝塞尔曲线的终端定位轨迹拟合方法
EP3136128B1 (en) Trajectory matching using peripheral signal
CN111324848A (zh) 移动激光雷达测量系统车载轨迹数据优化方法
CN106643783B (zh) 基于最短路径泰森多边形的电动汽车充电站搜索方法
CN105138779A (zh) 车载gps时空轨迹大数据优选方法及系统
CN105260988A (zh) 一种高精地图数据的处理方法和装置
WO2023024539A1 (zh) 路径导航规划方法、装置、存储介质及电子设备
CN113674351B (zh) 一种机器人的建图方法及机器人
CN106541945A (zh) 一种基于icp算法的无人车自动泊车方法
CN112180947B (zh) 一种移动机器人初始行进方向选择方法及其设备
CN107036594A (zh) 智能电站巡检智能体的定位与多粒度环境感知技术
CN109870713A (zh) 一种gps轨迹曲线生成方法及装置
CN117405126A (zh) 定位精度估计的方法、装置、电子设备及存储介质
CN113962849A (zh) 一种基于投影变换的高精地图精度检测方法
CN113739810A (zh) 基于Flutter框架无网络条件下绘制行走路径的方法及智能设备
CN114705180B (zh) 高精地图的数据修正方法、装置、设备及存储介质
CN114705200B (zh) 一种基于路径增量的高采样率轨迹地图匹配方法
CN120351943A (zh) 一种导航信号丢失时的车辆导航定位方法及系统
CN115824230A (zh) 一种基于多传感器主动融合的井下无人驾驶车辆定位方法
CN105701222A (zh) 一种基于圆弧缓冲带算法提取道路曲率半径的计算方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19848288

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE