Table 3 Improved AMCL algorithm.

From: Research on high-precision localization method for transport robots in industrial environments based on Improved AMCL and QR code assistance

1:

Algorithm_improved_AMCL \(\left({X}_{t-1},{u}_{t},{z}_{t},m,\widetilde{E}\right)\):

2:

\(\overline{X}_{t} = X_{t} = X_{tH} = X_{tL} = \phi\)

3:

for \(m=1 to {M}_{t-1} do\)

4:

for \(n=1 to B do\)

5:

\({x}_{t}^{[m, n]}=sample\_motion\_model({u}_{t}, {x}_{t-1}^{\left[m\right]})\)

6:

\(p({z}_{t}|{x}_{t}^{\left[m,n\right]})= measurement\_model({z}_{t}, {x}_{t}^{\left[m,n\right]},m)\)

7:

endfor

8:

\({x}_{t}^{[m]}={x}_{t}^{[m,j]} ;y\in \{1,\dots ,B\}\bigwedge argmax(p({z}_{t}|{x}_{t}^{\left[m,y\right]})) = \{ j \}\)

9:

\({w}_{t}^{[m]}=p({z}_{t}|{x}_{t}^{\left[m\right]})={\sum }_{n=1}^{n=B}p\left({z}_{t}|{x}_{t}^{\left[m,n\right]}\right)/B\)

10:

endfor

11:

for \(m=1 to {M}_{t-1} do\)

12:

if \({w}_{t}^{[m]}\ge {W}_{const}\) then

13:

\({X}_{tH}={X}_{tH}+\langle {x}_{t}^{[m]},{w}_{t}^{[m]}\rangle\)

14:

\(\overline{{X }_{t}}=\overline{{X }_{t}}+\langle {x}_{t}^{[m]},{w}_{t}^{[m]}\rangle\)

15:

else

16:

\({X}_{tL}={X}_{tL}+\langle {x}_{t}^{[m]}, {w}_{t}^{[m]}\rangle\)

17:

endfor

18:

for \(m=1 to {M}_{t}^{l}/3 do\)

19:

draw \({x}_{tH}^{[m]}\) from \({X}_{tH}\) with equal probility

20:

\({x}_{tS}^{[m]}=crossover\_model({x}_{tL}^{\left[m\right]},{x}_{tH}^{\left[m\right]})\)

21:

\({x}_{tM}^{[m]}=mutation\_model({x}_{tS}^{\left[m\right]},{x}_{tH}^{\left[m\right]})\)

22:

Recompute \({w}_{tM}^{[m]}\)

23:

\(\overline{{X }_{t}}=\overline{{X }_{t}}+\langle {x}_{tM}^{[m]},{w}_{tM}^{[m]}\rangle\)

24:

endfor

25:

compute \({w}_{slow}, {w}_{fast}\)

26:

\(SER=SER\_calculator(\widetilde{E},{z}_{t})\)

27:

for \(m=1 to {M}_{t} do\)

28:

With probability \(max(0.0, 1.0-{w}_{fast}/{w}_{slow})\) do

29:

draw \({x}_{t}^{[m]}\) from \(SER\) with equal probability

30:

else

31:

draw \({x}_{t}^{[m]}\) from \(\overline{{X }_{t}}\) with probability \(\propto {w}_{t}^{[m]}\)

32:

endwith

33:

add \({x}_{t}^{[m]}\) to \({X}_{t}\)

34:

if \({x}_{t}^{[m]}\) falls into an empty bin \(b\) then

35:

\(k:=k+1\)

36:

\(b:=non-empty\)

37:

\({M}_{t}=\frac{k-1}{2\epsilon }{\{1-\frac{2}{9\left(k-1\right)}+\sqrt{\frac{2}{9\left(k-1\right)}}{z}_{1-\delta }\}}^{3}\)

38:

endfor

39:

return \({X}_{t}\)