NEURAL NETWORK-BASED METHOD FOR CALIBRATION AND LOCALIZATION OF INDOOR INSPECTION ROBOT
20220350329 · 2022-11-03
Inventors
- Yongduan Song (Chongqing, CN)
- JIE ZHANG (Chongqing, CN)
- Junfeng Lai (Chongqing, CN)
- Huan Liu (Chongqing, CN)
- ZIQIANG JIANG (Chongqing, CN)
- Li Huang (Chongqing, CN)
Cpc classification
G05D1/0088
PHYSICS
International classification
G05D1/00
PHYSICS
Abstract
The present disclosure provides a neural network-based method for calibration and localization of an indoor inspection robot. The method includes the following steps: presetting positions for N label signal sources capable of transmitting radio frequency (RF) signals; computing an actual path of the robot according to numbers of signal labels received at different moments; computing positional information moved by the robot at a t.sup.th moment, and computing a predicted path at the t.sup.th moment according to the positional information; establishing an odometry error model with the neural network and training the odometry error model; and inputting the predicted path at the t.sup.th moment to a well-trained odometry error model to obtain an optimized predicted path. The present disclosure maximizes the localization accuracy for the indoor robot by minimizing the error of the odometer with the odometry calibration method.
Claims
1. A neural network-based method for calibration and localization of an indoor inspection robot, comprising the following steps: S100: presetting indoor positions for N label signal sources, the label signal sources being capable of transmitting radio frequency (RF) signals; S200: providing a reader-writer for receiving the signals of the label signal sources on an indoor robot, and computing, during an indoor traveling process of the robot, an actual path of the robot according to numbers of signal labels received by the reader-writer at different moments, specifically: S210: establishing a log-normal propagation loss model according to a signal strength of received labels:
P(d)=P(d.sub.0)−10α log(d/d.sub.0)−x.sub.σ (2-1) wherein, P(d) represents a signal strength from labels received by a reader, P(d.sub.0) represents a signal strength from labels received by the reader at a reference point d.sub.0 ,α represents a scale factor between a path length and a path loss, x.sub.σ represents a Gaussian random variable having an average of 0, d.sub.0 represents a distance from the reference point to each of the labels, and d represents a distance from a label to be computed to the reader; S220: obtaining a distance d from each of the label signal sources to the reader-writer by transforming eq. (2-1):
d=10.sup.[P(d.sup.
E.sub.x1=x.sub.1−x.sub.n,E.sub.x2=x.sub.2−x.sub.n,. . . ,E.sub.xn−1=x.sub.n−1−x.sub.n;
E.sub.y1=y.sub.1−y.sub.n,E.sub.y2=y.sub.2−y.sub.n,. . . ,E.sub.yn−1=y.sub.n−1−y.sub.n;
K=(x.sub.1−x.sub.n)(y.sub.1−y.sub.n)+(x.sub.2−x.sub.n)(y.sub.2−y.sub.n)+. . . +(x.sub.n−1−x.sub.n)(y.sub.n−1−y.sub.n);
K.sub.1=x.sub.1.sup.2−x.sub.4.sup.2+y.sub.1.sup.2−y.sub.4.sup.2+d.sub.4.sup.2−d.sub.1.sup.2;
K.sub.2=x.sub.2.sup.2−x.sub.4.sup.2+y.sub.2.sup.2−y.sub.4.sup.2+d.sub.4.sup.2−d.sub.2.sup.2;
K.sub.n=x.sub.n−1.sup.2−x.sub.n.sup.2+y.sub.n−1.sup.2−y.sub.n.sup.2+d.sub.n.sup.2−d.sub.n−1.sup.2;
M=(x.sub.1−x.sub.4).sup.2+(x.sub.2−x.sub.4).sup.2+ . . . +(x.sub.n−1−x.sub.n).sup.2;
N=(y.sub.1−y.sub.4).sup.2+(y.sub.2−y.sub.4).sup.2+ . . . +(y.sub.n−1−y.sub.n).sup.2; S240: establishing a model with coordinates of the robot in the I moments to obtain an actual path of the robot:
RSSI={RSSI.sub.x,RSSI.sub.y }={x.sub.1′,x.sub.2′, . . . ,x.sub.n′,y.sub.1′,y.sub.2′, . . . ,y.sub.n′} (2-4) wherein, RSSI={RSSI.sub.x,RSSI.sub.y} represents the actual path of the robot, and RSSI.sub.x and RSSI.sub.y represent an x coordinate and a y coordinate computed through RF identification (RFID)-based localization; and S250: obtaining an actual path of the robot in the I moments with the method in S210-S240; S300: computing positional information moved by the robot at the t.sup.th moment:
GLM={x.sub.1,x.sub.2, . . . ,x.sub.n,y.sub.1,y.sub.2, . . . ,y.sub.n} (4-1) wherein, x.sub.1 . . . nis an x coordinate of the predicted path estimated by the GLM, and y.sub.1 . . . n is a y coordinate of the predicted path estimated by the GLM, thereby obtaining a predicted path corresponding to each moment; S500: establishing an odometry error model E with the neural network:
E=Σ.sub.n|O−RSSI|.sup.2 (5-1) wherein, O represents an optimized predicted path; S600: presetting a maximum number of iterations, taking the actual path in the I moments and a corresponding predicted path as an input of a neural network model to train the error model E, updating parameters of the model through back propagation (BP) during training, and stopping training when E≤e.sup.−5 to obtain a well-trained odometry error model; and S700: repeating steps S300-S400 to obtain a predicted traveling path of a robot R′ to be predicted, and inputting the predicted traveling path to the well-trained odometry error model in step S600 to obtain an optimized predicted traveling path that is a predicted value for thea traveling path of the robot R′.
2. The neural network-based method for calibration and localization of an indoor inspection robot according to claim 1, wherein the computing an actual coordinate of the robot at the t.sup.th moment in step S230 specifically comprises: S231: assuming that an inspection robot R provided with the reader-writer has a coordinate of (x,y), and coordinates of the n label signal sources are (x.sub.1,y.sub.1),(x.sub.2,y.sub.2) (x.sub.3, y.sub.3) . . . (x.sub.n,y.sub.n):
AX=b (2-7) wherein:
J=[−A{circumflex over (X)} ].sup.T [b−A{circumflex over (X)} ]=[b.sup.T −{circumflex over (X)}.sup.T A.sup.T][b−A{circumflex over (X)}] (2-8) wherein, A is a non-singular matrix; M>2 , namely an overdetermined system in which a number of equations is greater than a number of unknowns; a reciprocal of {circumflex over (X)} is obtained with eq. (2-8); and x.sup.T A.sup.T b=b.sup.T A{circumflex over (X)} leads to:
{circumflex over (X)}=(A.sup.T A).sup.−1 A.sup.T b (2-10) S234: computing an actual coordinate when the inspection robot reads the nth label, the actual coordinate being specifically given by:
3. The neural network-based method for calibration and localization of an indoor inspection robot according to claim 2, wherein the computing positional information moved by the robot in step S300 specifically comprises: S310: computing a theoretical resolution of an odometer:
Δd.sub.L=.Math.N.sub.L (3-3) wherein, N.sub.L (N.sub.R) represent a pulse increment output by a photoelectric encoder on the left (right) drive wheel; S330: computing the pose increment of the robot with the displacement increment of the wheel:
4. The neural network-based method for calibration and localization of an indoor inspection robot according to claim 3, wherein the establishing an odometry error model E in step S500 specifically comprises: S510: assuming that the neural network structurally comprises an input layer having q neurons, a hidden layer having l neurons, and an output layer having m neurons, connections between the neurons of the input layer and the neurons of the hidden layer each have a weight value of w.sub.ij , connections between the neurons of the hidden layer and the neurons of the output layer each have a weight value of w.sub.jk , the hidden layer has a bias term of a , and the output layer has a bias term of b; S520: taking the GLM as an input of the neural network to obtain an output result of the hidden layer:
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0059]
[0060]
[0061]
[0062]
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0063] The present disclosure will be further described below in detail.
[0064] Due to complicated environmental factors, localization of the inspection robot is a research bottleneck to be solved urgently. On the basis of the widespread use of vision, the self-contained odometer can predict the trajectory of the robot according to the kinematic model, and achieve the desirable localization within a short distance and short time. The robot can be accurately localized by optimizing the error of the odometer. The RFID-based indoor localization can serve as an auxiliary localization device for odometry optimization of the indoor inspection robot because of its unnecessity for manual intervention, strong anti-interference performance, and capability of working in various harsh environments.
[0065] Referring to
[0066] S100: Indoor positions for N label signal sources are preset, the label signal sources being capable of transmitting RF signals.
[0067] S200: A reader-writer for receiving the signals of the label signal sources is provided on an indoor robot, and during an indoor traveling process of the robot, an actual path of the robot is computed according to numbers of signal labels received by the reader-writer at different moments, specifically:
[0068] S210: A log-normal propagation loss model is established according to a signal strength of received labels. The signal strength of each label is a constant value, unless the reader keeps a different distance from the label. The attenuation in the strength is called the propagation loss of the signal. With theoretical and empirical propagation loss models, the propagation loss can be transformed into the distance:
P(d)=P(d.sub.0)−10α log (d/d.sub.0)−x.sub.σ (2-1)
[0069] where, P(d) represents a signal strength from labels received by a reader, P(d.sub.0) represents a signal strength from labels received by the reader at a reference point d.sub.0 , all labels having a same initial signal strength, αrepresents a scale factor between a path length and a path loss and depends on a structure and a material of an obstacle, x.sub.94 represents a Gaussian random variable having an average of 0, namely attenuation that the signal passes through the obstacle, d.sub.0 represents a distance from the reference point to each of the labels, and represents a distance from a label to be computed to the reader.
[0070] S220: A distance d from each of the label signal sources to the reader-writer is obtained by transforming Eq. (2-1):
P(d)=P(d.sub.0)−10α log(d/d.sub.0)−x.sub.σ (2-1)
[0071] where, P(d.sub.0) represents a signal strength from labels at at 1m, and α represents a signal propagation constant. As can be seen from Eq. (2-2), P(d.sub.0)and α determine the relationship between an RSS and a signal transmission distance, and both can be a constant once the service environment is determined.
[0072] S230: I moments are randomly selected within a time interval T, and assuming that a number of label signals received by the reader-writer at a t.sup.th moment is n, an actual coordinate of the robot at the T.sup.thmoment is computed as:
[0073] where,
E.sub.x1=x.sub.1−x.sub.n,E.sub.x2=x.sub.2−x.sub.n,. . . ,E.sub.xn−1=x.sub.n−1−x.sub.n;
E.sub.y1=y.sub.1−y.sub.n,E.sub.y2=y.sub.2−y.sub.n,. . . ,E.sub.yn−1=y.sub.n−1−y.sub.n;
K=(x.sub.1−x.sub.n)(y.sub.1−y.sub.n)+(x.sub.2−x.sub.n)(y.sub.2−y.sub.n)+. . . +(x.sub.n−1−x.sub.n)(y.sub.n−1−y.sub.n);
K.sub.1=x.sub.1.sup.2−x.sub.4.sup.2+y.sub.1.sup.2−y.sub.4.sup.2+d.sub.4.sup.2−d.sub.1.sup.2;
K.sub.2=x.sub.2.sup.2−x.sub.4.sup.2+y.sub.2.sup.2−y.sub.4.sup.2+d.sub.4.sup.2−d.sub.2.sup.2;
K.sub.n=x.sub.n−1.sup.2−x.sub.n.sup.2+y.sub.n−1.sup.2−y.sub.n.sup.2+d.sub.n.sup.2−d.sub.n−1.sup.2;
M=(x.sub.1−x.sub.4).sup.2+(x.sub.2−x.sub.4).sup.2+ . . . +(x.sub.n−1−x.sub.n).sup.2;
N=(y.sub.1−y.sub.4).sup.2+(y.sub.2−y.sub.4).sup.2+ . . . +(y.sub.n−1−y.sub.n).sup.2;
[0074] where, E, K, M and N are all process parameters for computation, without the practical significance.
[0075] During specific implementation, the actual coordinate of the robot at the t.sup.th moment is specifically computed as follows:
[0076] S231: It is assumed that the inspection robot R provided with the reader-writer has a coordinate of (x,y), and coordinates of the n label signal sources are (x.sub.1,y.sub.1), (x.sub.2, y.sub.2), (x.sub.3,y.sub.3) . . . (x.sub.n ,y.sub.n):
[0077] where, d.sub.1 d.sub.2 d.sub.3 represent distances from the label signal sources to the inspection robot R , respectively;
[0078] S232: Eq. (2-4) is substituted into Eq. (2-5) to obtain:
[0079] Eq. (2-6) is represented with a linear equation as:
AX=b (2-7)
[0080] where:
[0081] S233: Eq. (2-7) is processed with a standard least squares estimation method to obtain:
J=[−A{circumflex over (X)} ].sup.T [b−A{circumflex over (X)} ]=[b.sup.T −{circumflex over (X)}.sup.T A.sup.T][b−A{circumflex over (X)}] (2-8)
[0082] where, A is a non-singular matrix; M>2 , namely an overdetermined system in which a number of equations is greater than a number of unknowns; a reciprocal of {circumflex over (X)} is obtained with Eq. (2-8); and x.sup.TA.sup.Tb=b.sup.TA{circumflex over (X)} leads to:
[0083] A predicted coordinate when the inspection robot reads an nth label is obtained:
{circumflex over (X)}=(A.sup.T A).sup.−1 A.sup.T b (2-10)
[0084] S234: An actual coordinate when the inspection robot reads the nth label is computed, the actual coordinate being specifically given by:
[0085] where, t represents the t.sup.th moment, and
[0086] During actual localization, the localization information acquired by the sensor changes to some extent in different environments. In order to reduce the error arising from fluctuations of the wireless signal, signal strengths acquired in unit time are averaged as follows to improve the accuracy:
[0087] where, j represents a number of coordinates computed within the unit time, and Ū represents a coordinate in unit average time.
[0088] The averaging method is used during the traveling process of the robot. Therefore, when the robot moves from the point P(t−1) to the point P(t) within the time Δt, the coordinate computed by the localization system is approximately estimated as the point P(
[0089] S235: Eq. (2-7) is substituted into Eq. (2-11) to obtain Eq. (2-3), Eq. (2-3) being the actual coordinate of the robot at the t.sup.th moment.
[0090] S240: A model is established with coordinates of the robot in the I moments to obtain an actual path of the robot:
RSSI={RSSI.sub.x,RSSI.sub.y }={x.sub.1′,x.sub.2′, . . . ,x.sub.n′,y.sub.1′,y.sub.2′, . . . ,y.sub.n′} (2-4)
[0091] where, RSSI={RSSI.sub.x,RSSI.sub.y} represents the actual path of the robot, which is achieved by modeling the coordinates from the RFID-based localization, and the target set of the neural network; and RSSI.sub.x and RSSI.sub.yrepresent an x coordinate and a y coordinate computed through the RFID-based localization.
[0092] S250: An actual path of the robot in the I moments is obtained with the method in S210-S240.
[0093] S300: Positional information moved by the robot at the t.sup.th moment is computed:
[0094] where, u.sub.t=(ΔD.sub.t,Δθ.sub.t).sup.Trepresents a pose increment, S.sub.t =(x.sub.t,y.sub.t,θ.sub.t) represents a state of the robot at the t.sup.th moment, (x,y) represents a coordinate of the robot at the t.sup.th moment, θ represents a direction angle at the t.sup.th moment, is an arc length moved by the robot within time Δt, and Δθ.sub.t is a change of a direction angle in a pose of the robot within the time Δt.
[0095] During specific implementation, the positional information moved by the robot is specifically computed as follows:
[0096] S310: A 360 PPR incremental photoelectric encoder capable of outputting a dual pulse spaced at 90° is provided, and thus a rotation direction of a wheel can be determined through a phase change of the dual pulse. The photoelectric encoder is provided on a shaft extension of a drive motor to directly measure the rotation of the motor. The motor drives the wheel through a 15-fold decelerator, which means that when the wheel rotates one revolution, the motor rotates 15 revolutions. While the wheel has a diameter of 250 mm, a theoretical resolution of an odometer is computed:
[0097] where, δ represents the resolution of the odometer, D represents the diameter (mm) of the wheel, η represents a reduction ratio of the drive motor, and P represents an accuracy of the encoder.
[0098] S320: Assuming that a sampling interval is Δt, a displacement increment Δd.sub.L(Δd.sub.R) of a left (right) wheel is computed:
Δd.sub.L=δ.Math.N.sub.L (3-3)
where, N.sub.L (N.sub.R) represent a pulse increment output by a photoelectric encoder on the left (right) drive wheel.
[0099] S330: The robot moves from the state S.sub.t−1 =(x.sub.t−1, y.sub.t−1 ,θ.sub.t−1) at the (t−1 ).sup.th moment to the state S.sub.t =(x.sub.t,y.sub.t,θ.sub.t) at the t.sup.th moment, and the pose increment of the robot is computed with the displacement increment of the wheel:
[0100] where, β represents a distance between the left drive wheel and the right drive wheel.
[0101] S340: In case of a difference |Δθ.sub.t>0between direction angles at an end pose and a start pose of the robot, the positional information of the robot is obtained.
[0102] S400: The positional information of the robot at the t.sup.th moment in Step S300 is processed with a GLM to obtain a predicted path of the robot at the t.sup.th moment:
GLM={x.sub.1,x.sub.2, . . . ,x.sub.n,y.sub.1,y.sub.2, . . . ,y.sub.n} (4-1)
[0103] where, x.sub.1 . . . n is an x coordinate of the predicted path estimated by the GLM, and y.sub.1 . . . nis a y coordinate of the predicted path estimated by the GLM, thereby obtaining a predicted path corresponding to each moment.
[0104] S500: An odometry error model is established with the neural network in the prior art:
E=Σ.sub.n|O−RSSI|.sup.2 (5-1)
[0105] where, O represents an optimized predicted path, namely an optimized output result after the predicted path is trained by the neural network.
[0106] Referring to
[0107] S510: It is assumed that the neural network structurally includes an input layer having q neurons, a hidden layer l having neurons, and an output layer having m neurons, connections between the neurons of the input layer and the neurons of the hidden layer each have a weight value of w.sub.ij , connections between the neurons of the hidden layer and the neurons of the output layer each have a weight value of w.sub.jk, the hidden layer has a bias term of a, and the output layer has a bias term of b.
[0108] S520: The GLM is taken as an input of the neural network to obtain an output result of the hidden layer:
[0109] where, p.sub.i represents a vector for coordinates (x.sub.n−1,y.sub.n−1) and (x.sub.n,y.sub.n) of the input GLM, f represents an activation function, and i={1, 2, . . . ,q}, j={1,2, . . . ,1}. In the embodiment, the activation function is the sigmoid function and is specifically expressed as:
[0110] Considering that the number of nodes on the hidden layer of the neural network has a certain impact on the final result, the number of nodes on the hidden layer is optimized:
l=√{square root over (q+m)}+ζζ∈[1, 10] (5-4)
[0111] where, l represents a number of neurons on the hidden layer. In the embodiment, the best performance can be obtained with l=13 .
[0112] A result from the output layer of the neural network is:
[0113] S530: The result from the output layer of the neural network at the t.sup.th moment and the actual path at the present moment are taken as an input of a loss function to establish the odometry error model E.
[0114] S600: A maximum number of iterations is preset, the actual path in the I moments and a corresponding predicted path are taken as an input of a neural network model to train the error model E, parameters of the model are updated through BP during training, and training is <stopped when E≤e.sup.−5 to obtain a well-trained odometry error model. The odometry error model of the robot is nonlinear. The neural network is widely recognized as a nonlinear modeling tool. The two-layer feed-forward neural network is used in the odometry error model of the robot, and sensory and perceptual training is performed on the two layers with a BP algorithm. The working principle of the BP is to apply the descent rule to the feed-forward network and optimize network parameters.
[0115] S700: Steps S300-S400 are repeated to obtain a predicted traveling path of a robot R′ to be predicted, and the predicted traveling path is input to the well-trained odometry error model in Step S600 to obtain an optimized predicted traveling path that is a predicted value for the traveling path of the robot R′.
[0116] As can be seen from the above embodiments, compared with the predicted path processed by the GLM, the final position of the robot estimated with the neural network is almost the same as the actual position of the robot computed with the RFID-based localization, as shown in
[0117] Finally, it should be noted that the above embodiment is only intended to explain, rather than to limit, the technical solution of the present disclosure. Although the present disclosure is described in detail with reference to the preferred embodiment, those ordinarily skilled in the art should understand that modifications or equivalent substitutions made to the technical solutions of the present disclosure without departing from the spirit and scope of the technical solution of the present disclosure should be included within the scope of the claims of the present disclosure.