US 11,953,903 B2
Neural network-based method for calibration and localization of indoor inspection robot
Yongduan Song, Chongqing (CN); Jie Zhang, Chongqing (CN); Junfeng Lai, Chongqing (CN); Huan Liu, Chongqing (CN); Ziqiang Jiang, Chongqing (CN); and Li Huang, Chongqing (CN)
Assigned to Chongqing University, Chongqing (CN); Star Institute of Intelligent Systems, Chongqing (CN); and DB (Chongqing) Intelligent Technology Research Institute Co., LTD, Chongqing (CN)
Filed by CHONGQING UNIVERSITY, Chongqing (CN); STAR INSTITUTE OF INTELLIGENT SYSTEMS, Chongqing (CN); and DB (CHONGQING) INTELLIGENT TECHNOLOGY RESEARCH INSTITUTE CO., LTD., Chongqing (CN)
Filed on Jan. 31, 2022, as Appl. No. 17/589,179.
Claims priority of application No. 202110448691.1 (CN), filed on Apr. 25, 2021.
Prior Publication US 2022/0350329 A1, Nov. 3, 2022
Int. Cl. G05D 1/00 (2006.01); G06N 3/084 (2023.01); H04B 17/318 (2015.01)
CPC G05D 1/0088 (2013.01) [G05D 1/0272 (2013.01); G05D 1/028 (2013.01); G06N 3/084 (2013.01); H04B 17/318 (2015.01); G05D 2201/0207 (2013.01)] 4 Claims
OG exemplary drawing
 
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(d0)−10α log(d/d0)−Xσ  (2-1)
wherein, P(d) represents a signal strength from labels received by a reader, P(d0) represents a signal strength from labels received by the reader at a reference point d0, α represents a scale factor between a path length and a path loss, Xσ represents a Gaussian random variable having an average of 0, d0 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[P(d0)-P(d)]/10α  (2-2)
wherein, P(d0) represents a signal strength at 1 m, and α represents a signal propagation constant;
S230: randomly selecting I moments within a time interval T, and assuming that a number of label signals received by the reader-writer at a tth moment is n, then computing an actual coordinate of the robot at the tth moment as:

OG Complex Work Unit Math
wherein,
Ex1=x1−xn,Ex2=x2−xn, . . . ,Exn-1=xn-1−xn;
Ey1=y1−yn,Ey2=y2−yn, . . . ,Eyn-1=yn-1−yn;
K=(x1−xn)(y1−yn)+(x2−xn)(y2−yn)+ . . . +(xn-1−xn)(yn-1−yn);
K1=x12−x42+y12−y42+d42−d12;
K2=x22−x42+y22−y42+d42−d22;
Kn=xn-12−xn2+yn-12−yn2+dn2−dn-12;
M=(x1−x4)2+(x2−x4)2+. . . +(xn-1−xn)2;
N=(y1−y4)2+(y2−y4)2+. . . +(yn-1−yn)2;
S240: establishing a model with coordinates of the robot in the I moments to obtain an actual path of the robot:
RSSI={RSSIx,RSSIy}={x1′,x2′, . . . ,xn′,y1′,y2′, . . . ,yn′}  (2-4)
wherein, RSSI={RSSIx,RSSIy} represents the actual path of the robot, and RSSIx and RSSIy 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 tth moment:

OG Complex Work Unit Math
wherein, ut=(ΔDt,Δθt)T represents a pose increment, St=(xt,ytt) represents a state of the robot at the tth moment, (x,y) represents a coordinate of the robot at the tth moment, θ represents a direction angle at the tth moment, ΔDt is an arc length moved by the robot within time Δt, and Δθt is a change of a direction angle in a pose of the robot within the time Δt;
S400: processing the positional information of the robot at the tth moment in step S300 with a generalized linear model (GLM) to obtain a predicted path of the robot at the tth moment:
GLM={x1,x2, . . . ,xn,y1,y2, . . . ,yn}  (4-1)
wherein, x1 . . . n is an x coordinate of the predicted path estimated by the GLM, and y1 . . . 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=Σn|O−RSSI|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−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 a traveling path of the robot R′.