CN107346025A - A kind of double reflecting pole laser positionings and air navigation aid based on filtering - Google Patents

A kind of double reflecting pole laser positionings and air navigation aid based on filtering Download PDF

Info

Publication number
CN107346025A
CN107346025A CN201710572154.1A CN201710572154A CN107346025A CN 107346025 A CN107346025 A CN 107346025A CN 201710572154 A CN201710572154 A CN 201710572154A CN 107346025 A CN107346025 A CN 107346025A
Authority
CN
China
Prior art keywords
mrow
msub
mtd
mtr
centerdot
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.)
Granted
Application number
CN201710572154.1A
Other languages
Chinese (zh)
Other versions
CN107346025B (en
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.)
Zhejiang Titanium Robot Ltd By Share Ltd
Original Assignee
Zhejiang Titanium Robot Ltd By Share 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 Zhejiang Titanium Robot Ltd By Share Ltd filed Critical Zhejiang Titanium Robot Ltd By Share Ltd
Priority to CN201710572154.1A priority Critical patent/CN107346025B/en
Publication of CN107346025A publication Critical patent/CN107346025A/en
Application granted granted Critical
Publication of CN107346025B publication Critical patent/CN107346025B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications

Abstract

The invention discloses a kind of double reflecting pole laser positionings based on filtering and air navigation aid, it is different from the geometric triangulation positioning in conventional art, the present invention deeply excavates and takes full advantage of the plural domain information of reflected light, the technical bottleneck of three reflecting poles in traditional sense is broken, its service condition is to be detected simultaneously by the data of two reflecting poles, substantially increases the applicability of laser navigation technology;Calculation error caused by measurement error is filtered out by filtering algorithm, is greatly enhanced positioning and navigation accuracy;Finally, multiple reflecting poles may be detected simultaneously by although minimum requirements of the present invention is detects two reflecting poles, during practical application, by design data fusion treatment, the information of reflecting pole can be maximally utilized, so as to further improve precision.

Description

A kind of double reflecting pole laser positionings and air navigation aid based on filtering
Technical field
The invention belongs to intelligent storage logistics field, and in particular to a kind of double reflecting pole laser positionings based on filtering are with leading Boat method.
Background technology
Positioning and airmanship based on laser sensor are the key techniques in the fields such as industrial AGV, intelligent robot, Compared to traditional rail navigation mode, the technology has the advantages that positioning precision is high, flexible and changeable, suitable for complicated, high dynamic In industrial scene.The domestic and international existing laser positioning technology based on reflecting pole, employs geometric triangulation positioning principle, every when per Necessarily require at quarter to be detected simultaneously by the just achievable positioning of three reflecting poles.This quantitative requirement is actually in complex industrial scene It is difficult to meet, the practicality of laser positioning and airmanship is greatly constrained.
The content of the invention
In order to solve the above problems, the present invention provides a kind of new pattern laser positioning and air navigation aid, by extracting and utilizing Plural domain information in laser ranging information, the minimum requirements of three reflecting poles is reduced to two, efficiently solves reflecting pole The technical bottleneck of minimum quantity, substantially increase the applicability of laser navigation technology.
The purpose of the present invention is achieved through the following technical solutions:A kind of double reflecting pole laser positionings based on filtering With air navigation aid, this method includes:
(1) reflecting pole is arranged in industrial environment, presets reflecting pole world coordinates, generates reflecting pole list of coordinates;
(2) laser sensor of installation on a mobile platform radially launches laser to surrounding, and receives reflection laser;
(3) efficient beam of the screening from reflecting pole:By detect reflection laser intensity I and with preset strength threshold value σ Compare, judge that laser irradiation thing is reflecting pole or conventional environment object;
(4) reflecting pole quantity that current time is irradiated to and its relative coordinate of relative laser sensor are determined:According to anti- The continuity of irradiating light beam angle, determine whether same reflecting pole, or, according to the continuous of the reflected beams angle and distance Property, determine whether same reflecting pole;According to the reflected light data for belonging to same reflecting pole, with reference to reflective column radius number According to amendment, relative coordinate of the reflecting pole relative to laser sensor is obtained, and be stored in reflecting pole list;
(5) reflecting pole list is initialized, obtains the world coordinates of at least two reflecting poles:It is artificial to determine that initial position is corresponding Reflecting pole list at least two reflecting poles world coordinates;Or laser sensor obtains at least three in initial position The angle and distance that reflecting pole returns, the distance between reflecting pole two-by-two is calculated, it is anti-with being generated according to reflecting pole list of coordinates Light beam range information matches, and obtains the world coordinates of at least two reflecting poles;
(6) calculated in dynamic process and it is expected reflecting pole list:According to last moment to current time laser sensor position The prediction with angle is put, estimates relative distance and angle between laser sensor and all reflecting poles, and it is reflective to be stored in expectation Colonnade table;
(7) in dynamic process reflecting pole list matching:Current time reflecting pole list is calculated with it is expected reflective colonnade The difference of the difference of distance and angle corresponding to same reflecting pole in table, when the difference apart from its difference and angle is satisfied by predetermined threshold value When, the match is successful;
(8) the laser sensor pose based on double reflecting pole data calculates:Utilize the multifrequency of laser sensor measurement data Domain information, optional two in the reflecting pole that the match is successful:L-th and k-th, and calculate:
zk=Xk+i*Yk
zl=Xl+i*Yl
Wherein, subscript l and k represent l and k-th of reflecting pole respectively;α and ρ represents relative certainly in laser sensor respectively Under the polar coordinate system of body, the angle and distance of reflecting pole;X and Y is respectively reflecting pole in X and the component of Y-axis;Z is that reflecting pole exists Complex coordinates under world coordinate system;zk,lFor the laser sensor world coordinates being calculated according to l and k-th of reflecting pole, θkIt is the angle according to the laser sensor that the data of k-th of reflecting pole are calculated under world coordinate system;
(9) laser sensor position filtering:Pose prediction is carried out according to mobile platform kinematics model first, then basis The pose of last moment prediction, and the laser sensor measurement data at current time is combined, the position at current time is filtered Ripple, so as to obtain the accurate position and posture of final mobile platform and laser sensor under world coordinate system.
Further, in the step (6), directly using the position and angle of last moment laser sensor as current The prediction at moment, or be predicted using filtering algorithm.
Further, before the step (9), in addition to the step of multiple optimizations:If laser sensor detects three Individual and the above reflecting pole data, data fusion can be carried out according to the pose that any two groups are calculated in multi-group data.
Further, in the step (9), pose prediction is carried out according to mobile platform kinematics model, formula is as follows:
θt|t-1t-1|t-1+Δθc
Wherein, input quantity is:Pose (the x of last momentt-1|t-1,yt-1|t-1t-1|t-1), the resolution ratio of motor encoder Resolution, speed reducing ratio speed_reduction_ratio, left and right turns encoder reading count_left this moment, Count_right, reading last_count_right, the last_count_right at a moment in left and right turns encoder, sampling week Phase Δ T, left and right wheels radius r, the angular velocity omega of left and right wheelL、ωR, linear velocity v of the mobile platform in last momentt-1, it is mobile flat Steering angular speed omega of the platform in last momentt-1, steering angle θ of the mobile platform under last moment world coordinate systemt-1, laser The distance d of two wheel subcenter points of sensor distance;Output quantity is:The increment of motion (Δ x, Δ y, Δ θ) at upper moment relatively, root According to the current time pose (x of last moment data predictiont|t-1,yt|t-1t|t-1);
The pose predicted according to last moment, with reference to the pose result of calculation at current time, enters to the pose at current time Row filtering, it is specific as follows:If current time only detects 2 reflecting poles, l and k are designated as, using the formula of linear Kalman filter It is as follows:
Wherein, input quantity is:The position of current time predictionThe covariance matrix of last moment Pt-1|t-1, the covariance matrix Q of process noise, the covariance matrix R of measurement noise;Output quantity is:Laser sensor is in the world Coordinate under coordinate systemThe covariance matrix P of current time renewalt|t
If current time detects the reflecting pole of 3 and the above, it is filtered using the thought of multiple data fusions;Adopt It is as follows with the formula for passing through sequence Kalman filtering:
For any combination of two in M reflecting pole detecting, calculate:
zk=Xk+i*Yk
zl=Xl+i*Yl
After traveling through all combinations, obtain:
Beneficial effects of the present invention are as follows:Different from the geometric triangulation positioning in conventional art, the present invention deeply excavates simultaneously The plural domain information of reflected light is taken full advantage of, has broken the technical bottleneck of three reflecting poles in traditional sense, its service condition To be detected simultaneously by the data of two reflecting poles, the applicability of laser navigation technology is substantially increased;Pass through filtering algorithm Calculation error caused by measurement error is filtered out, is greatly enhanced positioning and navigation accuracy;Finally, although minimum requirements of the present invention To detect two reflecting poles, but multiple reflecting poles may be detected simultaneously by during practical application, at design data fusion Reason, the information of reflecting pole can be maximally utilized, so as to further improve precision.The present invention specific performance be:Position error< 1cm, angular error<0.5 °, location frequency>35Hz.
Brief description of the drawings
Fig. 1 is the hardware architecture diagram of the present invention;
Fig. 2 is reflecting pole ranging and data correction schematic diagram;
Fig. 3 is mobile platform kinematics model schematic diagram;
Fig. 4 is the inventive method overall flow figure.
Embodiment
Below in conjunction with the accompanying drawings, the present invention is further described by embodiment.
A kind of double reflecting pole laser positionings and air navigation aid, this method based on filtering provided by the invention include:
(1) reflecting pole is arranged in industrial environment, presets reflecting pole world coordinates, generates reflecting pole list of coordinates;
(2) laser sensor of installation on a mobile platform radially launches laser to surrounding, and receives reflection laser (laser sensor is arranged on the mobile platforms such as AGV, industrial vehicle);
(3) efficient beam of the screening from reflecting pole:By detect reflection laser intensity I and with preset strength threshold value σ Compare, judge that laser irradiation thing is reflecting pole or conventional environment object;
(4) reflecting pole quantity that current time is irradiated to and its relative coordinate of relative laser sensor are determined:According to anti- The continuity of irradiating light beam angle, determine whether same reflecting pole, or, according to the continuous of the reflected beams angle and distance Property, determine whether same reflecting pole;According to the reflectance data for belonging to same reflecting pole, enter line number with reference to reflective column radius R According to amendment, as shown in Fig. 2 obtaining relative coordinate of the reflecting pole relative to laser sensor, and reflecting pole list is stored in;
According to the continuity of the reflected beams angle and distance, same reflecting pole, a kind of possible realization are determined whether Mode is as follows:
For reflective strong point all in data tables:
If the sequence number step (i) of i-th of reflective strong point is equal to the sequence number step (i-1)+1 of the i-th -1 reflective strong point, and And difference range (step (i))-range (step (i-1)) of distance for measuring of i-th and i-1 laser strong point be less than it is default away from From threshold value range_threshold, then what light beam step (i) and step (i-1) was irradiated to is same reflecting pole, then will (step (i), range) assignment into current k-th of landmark sublist, and in the sublist beam data group number Number=number+1;
Otherwise, what is be irradiated to is a new reflecting pole, then current k-th of landmark sublist terminates;
If number=1, will (k ,) write-in measure_landmark_list, wherein α=(step-1) Resolution+min_angle, ρ=range+R;Min_angle is the minimum value of laser sensor scanning angle;
If number>=2, then extract two groups of data of the reflective point of maximum intensity in current landmark sublist (step1,range1) and (step2,range2), calculate:
If range1<range2
Otherwise
Meanwhile newly-built+1 landmark sublist of kth, group number are initialized as number=0;Will (step (i), Range) assignment is into new landmark sublist, number=number+1;Continue to read data;
Finally give be irradiated to reflecting pole list measure_landmark_list;
Corresponding false code is as follows:
For i=1:number_data
If step (i)=step (i-1)+1&&range (step (i))-range (step (i-1))<range_ threshold
What then light beam step (i) and step (i-1) were irradiated to is same reflecting pole
By (step (i), range) assignment into current k-th of landmark sublist
Number=number+1;
else
If number=1,
Then generals (k ,) write-in measure_landmark_list,
Wherein α=(step-1) resolution+min_angle, ρ=range+R;
else
Extract two groups of data (step of the reflective point of maximum intensity in current landmark sublist1,range1) and (step2, range2), calculate:
Ifrange1<range2
else
endif
endif
Newly-built+1 landmark sublist of kth;
Number=0;
By (step (i), range) assignment into new landmark sublist,
Number=number+1
endif
endfor
Wherein number_data is the number of reflective strong point, and resolution is that the angle of adjacent twice laser beam (divides Resolution), range_threshold is the distance threshold for determining whether to be irradiated to same reflecting pole, and ρ represents in laser respectively For sensor with respect under the polar coordinate system of itself, the angle and distance of the reflecting pole, measure_landmark_list is to be irradiated to The list of reflecting pole.
Or:According only to the continuity of the reflected beams angle, same reflecting pole, a kind of possible realization are determined whether Mode is as follows:
For reflective strong point all in data tables:
If the sequence number step (i) of i-th of reflective strong point is equal to the sequence number step (i-1)+1 of the i-th -1 reflective strong point, that What light beam step (i) and step (i-1) was irradiated to is same reflecting pole, then by (step (i), range) assignment to currently In k-th of landmark sublist, and in the sublist beam data group number number=number+1;
Otherwise, what is be irradiated to is a new reflecting pole, then current k-th of landmark sublist terminates;
If number=1, (k, α, ρ) is write into measure_landmark_list, wherein α=(step-1) Resolution+min_angle, ρ=range+R;Min_angle is the minimum value of laser sensor scanning angle;
If number>=2, then extract two groups of data of the reflective point of maximum intensity in current landmark sublist (step1,range1) and (step2,range2), calculate:
If range1<range2
Otherwise
Meanwhile newly-built+1 landmark sublist of kth, group number are initialized as number=0;Will (step (i), Range) assignment is into new landmark sublist, number=number+1;Continue to read data;
Finally give be irradiated to reflecting pole list measure_landmark_list;
(5) reflecting pole list is initialized, obtains the world coordinates of at least two reflecting poles:It is artificial to determine that initial position is corresponding Reflecting pole list at least two reflecting poles world coordinates;Or laser sensor obtains at least three in initial position The angle and distance that reflecting pole returns, the distance between reflecting pole two-by-two is calculated, it is anti-with being generated according to reflecting pole list of coordinates Light beam range information matches, and obtains the world coordinates of at least two reflecting poles;A kind of possible implementation is as follows:
Calculate the distance between any two reflecting pole
Calculate the distance between reflective strong point of any two
For all combination of two (l, k) of M reflecting pole being irradiated in measure_landmark_list lists: Find i, j ∈ 1 ..., N } so that | Dk,l-Ri,j| < Ri,j·threshold;Then i is added to correspondence_list (k), j is added to correspondence_list (l);
Frequency of occurrence highest value in correspondence_list (k) is found, it is reflective corresponding to as reflective strong point k Post c (k), if can not find such point, remove point i from measure_landmark_list, and make M=M-1;
If the reflective strong point number M included in measure_landmark_list<=2, then warning is handled.
(6) calculated in dynamic process and it is expected reflecting pole list:According to last moment to current time laser sensor position The prediction with angle is put, estimates relative distance and angle between laser sensor and all reflecting poles, and it is reflective to be stored in expectation Colonnade table;(directly using prediction of the position and angle of last moment laser sensor as current time, or using filtering Algorithm is predicted) a kind of possible implementation is as follows:
For i-th of reflecting pole, i takes 1 to arrive N, calculates:
Wherein function arctan2 (x, y) returns to origin to the azimuth of point (x, y), value for (- π, π].
If ρt|t-1Less than maximal distance threshold max_distance, and αt|t-1More than laser sensor scanning angle Minimum value min_angle subtract angle threshold threshold_angle, αt|t-1Less than the maximum of laser sensor scanning angle Value max_angle adds angle threshold threshold_angle, then willIt is added to desired reflective list In estimated_landmark_list;
Corresponding false code is as follows:
For i=1:N
If ρt|t-1< max_distance&&min_angle-threshold_angle < αt|t-1< max_angle+ threshold_angle
Then willIt is added to desired reflective list estimated_landmarks_list
End
(7) in dynamic process reflecting pole list matching:Current time reflecting pole list is calculated with it is expected reflective colonnade The difference of the difference of distance and angle corresponding to same reflecting pole in table, when the difference apart from its difference and angle is satisfied by predetermined threshold value When, the match is successful;A kind of possible implementation is as follows:
For measure_landmark_list all reflecting poles, { i, X are foundi,Yit|t-1t|t-1So that:
Calculate measurement point (ρkk) and world coordinate systemError:
If dist<Threshold_distance, then c (k)=i
If can not find such point, remove point i from measure_landmark_list, and make M=M-1;If The reflective strong point number M included in measure_landmark_list<=2, then warning is handled.
(8) the laser sensor pose based on double reflecting pole data calculates:Utilize the multifrequency of laser sensor measurement data Domain information, optional two in the reflecting pole that the match is successful:L-th and k-th, and calculate:
zk=Xk+i*Yk
zl=Xl+i*Yl
Wherein, subscript l and k represent l and k-th of reflecting pole respectively;α and ρ represents relative certainly in laser sensor respectively Under the polar coordinate system of body, the angle and distance of reflecting pole;X and Y is respectively reflecting pole in X and the component of Y-axis;Z is that reflecting pole exists Complex coordinates under world coordinate system;zk,lFor the laser sensor world coordinates being calculated according to l and k-th of reflecting pole, θkIt is the angle according to the laser sensor that the data of k-th of reflecting pole are calculated under world coordinate system;
(9) multiple optimizations:, can be according to multigroup number if laser sensor detects the reflecting pole data of three and the above The pose that any two groups are calculated in carries out data fusion.Optional scheme has:Choose two groups of most strong numbers of reflective light intensity According to result of calculation as the current pose of laser sensor, or in multi-group data combination of two carry out pose calculating, Ran Houqiu Take their average value, or weighted average (such as weight is related to intensity of reflected light).
(10) laser sensor position filtering:Pose prediction is carried out according to mobile platform kinematics model first, formula is such as Under:
θt|t-1t-1|t-1+Δθc
Wherein, input quantity is:Pose (the x of last momentt-1|t-1,yt-1|t-1t-1|t-1), the resolution ratio of motor encoder Resolution, speed reducing ratio speed_reduction_ratio, left and right turns encoder reading count_left this moment, Count_right, reading last_count_right, the last_count_right at a moment in left and right turns encoder, sampling week Phase Δ T, left and right wheels radius r, the angular velocity omega of left and right wheelL、ωR, linear velocity v of the mobile platform in last momentt-1, it is mobile flat Steering angular speed omega of the platform in last momentt-1, steering angle θ of the mobile platform under last moment world coordinate systemt-1, laser The distance d of two wheel subcenter points of sensor distance;Output quantity is:The increment of motion (Δ x, Δ y, Δ θ) at upper moment relatively, root According to the current time pose (x of last moment data predictiont|t-1,yt|t-1t|t-1);
Then the pose predicted according to last moment, with reference to the pose result of calculation at current time, to the position at current time Put and be filtered;If current time only detects 2 reflecting poles, l and k, a kind of public affairs of possible linear Kalman filter are designated as Formula is as follows:
Wherein, input quantity is:The position of current time predictionThe covariance matrix of last moment Pt-1|t-1, the covariance matrix Q of process noise, the covariance matrix R of measurement noise;Output quantity is:Laser sensor is in the world Coordinate under coordinate systemThe covariance matrix P of current time renewalt|t
If current time detects the reflecting pole of 3 and the above, it is filtered using the thought of multiple data fusions;One The possible scheme of kind is to pass through sequence Kalman filtering, and false code is as follows:
For any combination of two in M reflecting pole detecting, calculate:
zk=Xk+i*Yk
zl=Xl+i*Yl
After traveling through all combinations, obtain:
Embodiment 1
As shown in figure 1, the hardware of the present invention, which is formed, mainly includes laser sensor, industrial computer, onboard control circuit and car Carry power supply;Described industrial computer, laser sensor are communicated with onboard control circuit by modes such as RS232/CAN/SPI; Vehicle power carries out direct current supply to laser sensor and onboard control circuit through DC/DC moulds, through DC/AC moulds to vehicle-mounted work Control machine carries out Alternating Current Power Supply.
Further, a number of reflecting pole is placed in suitable position in industrial environment (map), by taking AGV as an example, So that any positions of the AGV in map can successfully be detected the reflecting pole of 2 or more;Laser transmitter projects laser And detected reflectance signal.
Further, industrial computer calculates reflective intercolumniation, uses static matching during initialization, then uses Dynamic Matching To identify reflecting pole, and reflecting pole world coordinates information is obtained from reflecting pole list.
Further, the plural domain information in industrial computer extraction laser sensor ranging data, utilizes two reflecting poles Data carry out the calculating of AGV coordinate positions and posture;If the reflective column information of more than 3 is detected simultaneously by, by reflecting pole number According to combination of two is carried out, calculated respectively in the case where combining weekly, AGV position and appearance are then used as using the average value of result of calculation State.
Further, industrial computer establishes AGV motion models, and is accurately estimated using Kalman filtering on this basis AGV actual position and posture.The overall flow of the present invention is as shown in Figure 4.

Claims (4)

1. a kind of double reflecting pole laser positionings and air navigation aid based on filtering, it is characterised in that this method includes:
(1) reflecting pole is arranged in industrial environment, presets reflecting pole world coordinates, generates reflecting pole list of coordinates;
(2) laser sensor of installation on a mobile platform radially launches laser to surrounding, and receives reflection laser;
(3) efficient beam of the screening from reflecting pole:By detecting reflection laser intensity I and compared with preset strength threshold value σ Compared with it is reflecting pole or conventional environment object to judge that laser irradiates thing;
(4) reflecting pole quantity that current time is irradiated to and its relative coordinate of relative laser sensor are determined:According to reflected light The continuity of beam angle degree, determine whether same reflecting pole, or, according to the continuity of the reflected beams angle and distance, sentence Whether disconnected is same reflecting pole;According to the reflected light data for belonging to same reflecting pole, carry out data with reference to reflective column radius and repair Just, relative coordinate of the reflecting pole relative to laser sensor is obtained, and is stored in reflecting pole list;
(5) reflecting pole list is initialized, obtains the world coordinates of at least two reflecting poles:It is artificial to determine corresponding to initial position instead The world coordinates of at least two reflecting poles in light beam list;Or laser sensor is reflective in initial position acquisition at least three The angle and distance that post returns, the distance between reflecting pole two-by-two is calculated, with the reflecting pole generated according to reflecting pole list of coordinates Range information matches, and obtains the world coordinates of at least two reflecting poles;
(6) calculated in dynamic process and it is expected reflecting pole list:According to last moment to current time laser sensor position and The prediction of angle, estimate relative distance and angle between laser sensor and all reflecting poles, and be stored in and it is expected reflective colonnade Table;
(7) in dynamic process reflecting pole list matching:Current time reflecting pole list is calculated with it is expected in reflecting pole list The difference of the difference of distance and angle corresponding to same reflecting pole, when the difference apart from its difference and angle is satisfied by predetermined threshold value, With success;
(8) the laser sensor pose based on double reflecting pole data calculates:Believed using the complex frequency domain of laser sensor measurement data Breath, optional two in the reflecting pole that the match is successful:L-th and k-th, and calculate:
<mrow> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>&amp;rho;</mi> <mi>k</mi> </msub> </mfrac> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>i</mi> <mo>*</mo> <msub> <mi>&amp;alpha;</mi> <mi>k</mi> </msub> </mrow> </msup> </mrow>
<mrow> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>&amp;rho;</mi> <mi>l</mi> </msub> </mfrac> <msup> <mi>e</mi> <mrow> <mi>i</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>&amp;pi;</mi> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> </mrow>
zk=Xk+i*Yk
zl=Xl+i*Yl
<mrow> <msub> <mi>z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>k</mi> </msub> </mrow> <mrow> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>k</mi> </msub> <mo>+</mo> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>l</mi> </msub> </mrow> </mfrac> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <mfrac> <mrow> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>l</mi> </msub> </mrow> <mrow> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>k</mi> </msub> <mo>+</mo> <msub> <msup> <mi>w</mi> <mn>2</mn> </msup> <mi>l</mi> </msub> </mrow> </mfrac> <msub> <mi>z</mi> <mi>l</mi> </msub> </mrow>
<mrow> <msub> <mi>&amp;theta;</mi> <mi>k</mi> </msub> <mo>=</mo> <mi>arg</mi> <mrow> <mo>(</mo> <mfrac> <mrow> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> </mrow> <msub> <mi>&amp;rho;</mi> <mi>k</mi> </msub> </mfrac> <mo>&amp;CenterDot;</mo> <msup> <mi>e</mi> <mrow> <mi>i</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;alpha;</mi> <mi>k</mi> </msub> </mrow> </msup> <mo>)</mo> </mrow> </mrow>
Wherein, subscript l and k represent l and k-th of reflecting pole respectively;α and ρ represent respectively laser sensor with respect to itself Under polar coordinate system, the angle and distance of reflecting pole;X and Y is respectively reflecting pole in X and the component of Y-axis;Z is reflecting pole in the world Complex coordinates under coordinate system;zk,lFor the laser sensor world coordinates being calculated according to l and k-th of reflecting pole, θkIt is According to angle of the laser sensor that the data of k-th of reflecting pole are calculated under world coordinate system;
(9) laser sensor position filtering:Pose prediction is carried out according to mobile platform kinematics model first, then according to upper one The pose of moment prediction, and the laser sensor measurement data at current time is combined, the position at current time is filtered, from And obtain the accurate position and posture of final mobile platform and laser sensor under world coordinate system.
2. double reflecting pole laser positionings and air navigation aid according to claim 1 based on filtering, it is characterised in that described In step (6), directly using prediction of the position and angle of last moment laser sensor as current time, or using filter Ripple algorithm is predicted.
3. double reflecting pole laser positionings and air navigation aid according to claim 1 based on filtering, it is characterised in that described Before step (9), in addition to the step of multiple optimizations:If laser sensor detects the reflecting pole data of three and the above, Data fusion can be carried out according to the pose that any two groups are calculated in multi-group data.
4. double reflecting pole laser positionings and air navigation aid according to claim 1 based on filtering, it is characterised in that described In step (9), pose prediction is carried out according to mobile platform kinematics model, formula is as follows:
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;omega;</mi> <mi>L</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>=</mo> <mn>2</mn> <mi>&amp;pi;</mi> <mo>&amp;CenterDot;</mo> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>o</mi> <mi>l</mi> <mi>u</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>&amp;CenterDot;</mo> <mfrac> <mn>1</mn> <mrow> <mi>s</mi> <mi>p</mi> <mi>e</mi> <mi>e</mi> <mi>d</mi> <mo>_</mo> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>u</mi> <mi>c</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>_</mo> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>_</mo> <mi>l</mi> <mi>e</mi> <mi>f</mi> <mi>t</mi> <mo>-</mo> <mi>l</mi> <mi>a</mi> <mi>s</mi> <mi>t</mi> <mo>_</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>_</mo> <mi>l</mi> <mi>e</mi> <mi>f</mi> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;omega;</mi> <mi>R</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>=</mo> <mn>2</mn> <mi>&amp;pi;</mi> <mo>&amp;CenterDot;</mo> <mi>r</mi> <mi>e</mi> <mi>s</mi> <mi>o</mi> <mi>l</mi> <mi>u</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>&amp;CenterDot;</mo> <mfrac> <mn>1</mn> <mrow> <mi>s</mi> <mi>p</mi> <mi>e</mi> <mi>e</mi> <mi>d</mi> <mo>_</mo> <mi>r</mi> <mi>e</mi> <mi>d</mi> <mi>u</mi> <mi>c</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> <mi>n</mi> <mo>_</mo> <mi>r</mi> <mi>a</mi> <mi>t</mi> <mi>i</mi> <mi>o</mi> </mrow> </mfrac> <mrow> <mo>(</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>_</mo> <mi>r</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> <mo>-</mo> <mi>l</mi> <mi>a</mi> <mi>s</mi> <mi>t</mi> <mo>_</mo> <mi>c</mi> <mi>o</mi> <mi>u</mi> <mi>n</mi> <mi>t</mi> <mo>_</mo> <mi>r</mi> <mi>i</mi> <mi>g</mi> <mi>h</mi> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>=</mo> <mfrac> <mi>r</mi> <mn>2</mn> </mfrac> <mrow> <mo>(</mo> <msub> <mi>&amp;omega;</mi> <mi>R</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>+</mo> <msub> <mi>&amp;omega;</mi> <mi>L</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;omega;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>=</mo> <mfrac> <mi>r</mi> <mi>L</mi> </mfrac> <mrow> <mo>(</mo> <msub> <mi>&amp;omega;</mi> <mi>R</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>-</mo> <msub> <mi>&amp;omega;</mi> <mi>L</mi> </msub> <mo>&amp;CenterDot;</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;Delta;x</mi> <mi>c</mi> </msub> <mo>=</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>cos&amp;theta;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;Delta;y</mi> <mi>c</mi> </msub> <mo>=</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>v</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>sin&amp;theta;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;Delta;&amp;theta;</mi> <mi>c</mi> </msub> <mo>=</mo> <mi>&amp;Delta;</mi> <mi>T</mi> <mo>&amp;CenterDot;</mo> <msub> <mi>&amp;omega;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>
θt|t-1t-1|t-1+Δθc
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mn>2</mn> <mi>&amp;pi;</mi> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&gt;</mo> <mi>&amp;pi;</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <mo>-</mo> <mi>&amp;pi;</mi> <mo>&lt;</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&lt;</mo> <mi>&amp;pi;</mi> <mo>)</mo> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mn>2</mn> <mi>&amp;pi;</mi> </mrow> </mtd> <mtd> <mrow> <mo>(</mo> <msub> <mi>&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&lt;</mo> <mo>-</mo> <mi>&amp;pi;</mi> <mo>)</mo> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>&amp;Delta;</mi> <mi>x</mi> <mo>=</mo> <msub> <mi>&amp;Delta;x</mi> <mi>c</mi> </msub> <mo>+</mo> <mi>d</mi> <mo>*</mo> <msub> <mi>cos&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mi>d</mi> <mo>*</mo> <msub> <mi>cos&amp;theta;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>&amp;Delta;</mi> <mi>y</mi> <mo>=</mo> <msub> <mi>&amp;Delta;y</mi> <mi>c</mi> </msub> <mo>+</mo> <mi>d</mi> <mo>*</mo> <msub> <mi>sin&amp;theta;</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <mi>d</mi> <mo>*</mo> <msub> <mi>sin&amp;theta;</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced>
<mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <msub> <mi>x</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>x</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>&amp;Delta;</mi> <mi>x</mi> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>y</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>y</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>&amp;Delta;</mi> <mi>y</mi> </mrow> </mtd> </mtr> </mtable> </mfenced>
Wherein, input quantity is:Pose (the x of last momentt-1|t-1,yt-1|t-1t-1|t-1), the resolution ratio of motor encoder Resolution, speed reducing ratio speed_reduction_ratio, left and right turns encoder reading count_left this moment, Count_right, reading last_count_right, the last_count_right at a moment in left and right turns encoder, sampling week Phase Δ T, left and right wheels radius r, the angular velocity omega of left and right wheelL、ωR, linear velocity v of the mobile platform in last momentt-1, it is mobile flat Steering angular speed omega of the platform in last momentt-1, mobile platform under last moment world coordinate system towards angle, θt-1, laser The distance d of two wheel subcenter points of sensor distance;Output quantity is:The increment of motion (Δ x, Δ y, Δ θ) at upper moment relatively, root According to the current time pose (x of last moment data predictiont|t-1,yt|t-1t|t-1);
The pose predicted according to last moment, and the laser sensor measurement data at current time is combined, to the position at current time Appearance is filtered, specific as follows:If current time only detects 2 reflecting poles, l and k are designated as, using linear Kalman filter Formula is as follows:
<mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow> 2
<mrow> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>P</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>Q</mi> </mrow>
<mrow> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msubsup> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mi>T</mi> </msubsup> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msubsup> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mi>T</mi> </msubsup> <mo>+</mo> <mi>R</mi> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mrow>
<mrow> <msub> <mi>Z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <msub> <mi>Z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mi>P</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow>
Wherein, input quantity is:The position of current time predictionThe covariance matrix of last moment Pt-1|t-1, the covariance matrix Q of process noise, the covariance matrix R of measurement noise;Output quantity is:Laser sensor is in the world Coordinate under coordinate systemThe covariance matrix P of current time renewalt|t
If current time detects the reflecting pole of 3 and the above, it is filtered using the thought of multiple data fusions;Using passing through The formula of sequence Kalman filtering is as follows:
<mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mi>P</mi> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <mi>Q</mi> </mrow>
For any combination of two in M reflecting pole detecting, calculate:
<mrow> <msub> <mi>&amp;omega;</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>&amp;rho;</mi> <mi>k</mi> </msub> </mfrac> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>i</mi> <mo>*</mo> <msub> <mi>&amp;alpha;</mi> <mi>k</mi> </msub> </mrow> </msup> </mrow>
<mrow> <msub> <mi>&amp;omega;</mi> <mi>l</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <msub> <mi>&amp;rho;</mi> <mi>l</mi> </msub> </mfrac> <msup> <mi>e</mi> <mrow> <mi>i</mi> <mo>*</mo> <mrow> <mo>(</mo> <mi>&amp;pi;</mi> <mo>-</mo> <msub> <mi>&amp;alpha;</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> </mrow>
zk=Xk+i*Yk
zl=Xl+i*Yl
<mrow> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msubsup> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mi>T</mi> </msubsup> <mo>&amp;CenterDot;</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msubsup> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> <mi>T</mi> </msubsup> <mo>+</mo> <mi>R</mi> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> </mrow>
<mrow> <msub> <mi>Z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <mi>Re</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>Im</mi> <mrow> <mo>(</mo> <msub> <mi>w</mi> <mi>k</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>k</mi> </msub> <mo>+</mo> <msub> <mi>w</mi> <mi>l</mi> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>z</mi> <mi>l</mi> </msub> <mo>)</mo> </mrow> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>
<mrow> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <mrow> <mo>(</mo> <msub> <mi>Z</mi> <mrow> <mi>k</mi> <mo>,</mo> <mi>l</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> </mrow>
<mrow> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>K</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mi>H</mi> <mrow> <mi>t</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>,</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>&amp;CenterDot;</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow>
After traveling through all combinations, obtain:
<mrow> <msub> <mi>X</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>X</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> </mrow>
<mrow> <msub> <mi>P</mi> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>P</mi> <mo>~</mo> </mover> <mrow> <mi>t</mi> <mo>|</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>.</mo> </mrow> 4
CN201710572154.1A 2017-07-13 2017-07-13 A kind of double reflecting pole laser positionings and air navigation aid based on filtering Active CN107346025B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710572154.1A CN107346025B (en) 2017-07-13 2017-07-13 A kind of double reflecting pole laser positionings and air navigation aid based on filtering

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710572154.1A CN107346025B (en) 2017-07-13 2017-07-13 A kind of double reflecting pole laser positionings and air navigation aid based on filtering

Publications (2)

Publication Number Publication Date
CN107346025A true CN107346025A (en) 2017-11-14
CN107346025B CN107346025B (en) 2019-09-24

Family

ID=60257820

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710572154.1A Active CN107346025B (en) 2017-07-13 2017-07-13 A kind of double reflecting pole laser positionings and air navigation aid based on filtering

Country Status (1)

Country Link
CN (1) CN107346025B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471072A (en) * 2019-08-19 2019-11-19 华晟(青岛)智能装备科技有限公司 A kind of reflecting pole position identifying method and system
CN111352118A (en) * 2020-03-25 2020-06-30 三一机器人科技有限公司 Method and device for matching reflecting columns, laser radar positioning method and equipment terminal
CN113064410A (en) * 2019-12-30 2021-07-02 北京极智嘉科技股份有限公司 Robot, positioning method, electronic device, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001033207A (en) * 1999-07-19 2001-02-09 Tsubakimoto Chain Co Method and device specifying position of moving body
CN103186140A (en) * 2011-12-29 2013-07-03 财团法人工业技术研究院 Navigation method and system of mobile platform
CN104102222A (en) * 2014-07-31 2014-10-15 广州大学 Accurately positioning method for AGV (Automatic Guided Vehicle)
JP2016081068A (en) * 2014-10-09 2016-05-16 株式会社豊田自動織機 Reflector position inspection method of unmanned carrier system, and reflector position inspection system of unmanned carrier system
CN105867389A (en) * 2016-06-14 2016-08-17 深圳力子机器人有限公司 Blended laser navigation method of AGV (Automated Guided Vehicle)
CN106843222A (en) * 2017-03-13 2017-06-13 苏州艾吉威机器人有限公司 A kind of laser navigation AGV system of local paving reflecting plate

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001033207A (en) * 1999-07-19 2001-02-09 Tsubakimoto Chain Co Method and device specifying position of moving body
CN103186140A (en) * 2011-12-29 2013-07-03 财团法人工业技术研究院 Navigation method and system of mobile platform
CN104102222A (en) * 2014-07-31 2014-10-15 广州大学 Accurately positioning method for AGV (Automatic Guided Vehicle)
JP2016081068A (en) * 2014-10-09 2016-05-16 株式会社豊田自動織機 Reflector position inspection method of unmanned carrier system, and reflector position inspection system of unmanned carrier system
CN105867389A (en) * 2016-06-14 2016-08-17 深圳力子机器人有限公司 Blended laser navigation method of AGV (Automated Guided Vehicle)
CN106843222A (en) * 2017-03-13 2017-06-13 苏州艾吉威机器人有限公司 A kind of laser navigation AGV system of local paving reflecting plate

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H.S.HU ETAL: "Landmark-based navigation of industrial mobile robots", 《INDUSTRIAL ROBOT》 *
张浩: "基于激光需达的移动机器人定位方法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110471072A (en) * 2019-08-19 2019-11-19 华晟(青岛)智能装备科技有限公司 A kind of reflecting pole position identifying method and system
CN113064410A (en) * 2019-12-30 2021-07-02 北京极智嘉科技股份有限公司 Robot, positioning method, electronic device, and storage medium
CN111352118A (en) * 2020-03-25 2020-06-30 三一机器人科技有限公司 Method and device for matching reflecting columns, laser radar positioning method and equipment terminal

Also Published As

Publication number Publication date
CN107346025B (en) 2019-09-24

Similar Documents

Publication Publication Date Title
CN107289946A (en) A kind of high-precision laser positioning and air navigation aid based on double reflectors
CN107356931A (en) A kind of double reflector laser positionings and air navigation aid based on filtering
CN107144854A (en) A kind of laser positioning and air navigation aid based on double reflecting poles
CN107144853A (en) A kind of double reflecting pole laser positionings and air navigation aid based on data screening
CN107144855A (en) A kind of laser positioning and air navigation aid based on double reflectors
CN104950313B (en) Extract and identification of road grade method on a kind of road surface
CN107390227B (en) A kind of double reflector laser positionings and air navigation aid based on data screening
CN106123908B (en) Automobile navigation method and system
CN109166140B (en) Vehicle motion track estimation method and system based on multi-line laser radar
CN103323013B (en) Three-dimensional locating device and method
CN107422730A (en) The AGV transportation systems of view-based access control model guiding and its driving control method
CN104236566B (en) Map-matching method based on smart mobile phone
CN106541945A (en) A kind of unmanned vehicle automatic parking method based on ICP algorithm
CN106997688A (en) Parking position detecting method based on multi-sensor information fusion
CN112101128B (en) Unmanned formula racing car perception planning method based on multi-sensor information fusion
CN108919802A (en) Unmanned vehicle traveling and device
CN105404844A (en) Road boundary detection method based on multi-line laser radar
CN107346025A (en) A kind of double reflecting pole laser positionings and air navigation aid based on filtering
Pfaff et al. Towards mapping of cities
CN105955257A (en) Bus automatic driving system based on fixed route and driving method thereof
CN108844539A (en) A kind of pose detection system for wave Active Compensation system
CN108415413A (en) A kind of intelligent forklift part obstacle-avoiding route planning method based on round region of interest
CN106741890A (en) A kind of high-speed railway safety detecting system based on the dual-purpose unmanned plane of empty rail
CN204915670U (en) Vehicle course prediction unit that traveles based on vertical camber of bend
CN114779791A (en) Wave glider position keeping method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant