# A Graph Optimization-Based Acoustic SLAM Edge Computing System Offering Centimeter-Level Mapping Services with Reflector Recognition Capability

Authors: Zou Zhou; Guoli Zhang; Fei Zheng; Tuyang Wang; Longjie Chen; Nan Duan
Journal: Security and Communication Networks
 (2021)

---

## Abstract

Robots can use echo signals for simultaneous localization and mapping (SLAM) services in unknown environments where its own camera is not available. In current acoustic SLAM solutions, the time of arrival (TOA) in the room impulse response (RIR) needs to be associated with the corresponding reflected wall, which leads to an echo labelling problem (ELP). The position of the wall can be derived from the TOA associated with the wall, but most of the current solutions ignore the effect of the cumulative error in the robot’s moving state measurement on the wall position estimation. In addition, the estimated room map contains only the shape information of the room and lacks position information such as the positions of doors and windows. To address the above problems, this paper proposes a graph optimization-based acoustic SLAM edge computing system offering centimeter-level mapping services with reflector recognition capability. In this paper, a robot equipped with a sound source and a four-channel microphone array travels around the room, and it can collect the room impulse response at different positions of the room and extract the RIR cepstrum feature from the room impulse response. The ELP is solved by using the RIR cepstrum to identify reflectors with different absorption coefficients. Then, the similarity of the RIR cepstrum vectors is used for closed-loop detection. Finally, this paper proposes a method to eliminate the cumulative error of robot movement by fusing IMU data and acoustic echo data using graph-optimized edge computation. The experiments show that the acoustic SLAM system in this paper can accurately estimate the trajectory of the robot and the position of doors, windows, and so on in the room map. The average self-localization error of the robot is 2.84 cm, and the mapping error is 4.86 cm, which meet the requirement of centimeter-level map service.


---

## Body

## 1. Introduction

With the arrival of intelligent society, mobile robots have been widely used in people’s life and work, which greatly facilitates people’s life and work. In the unknown indoor space, robots realize positioning and navigation services need to know the surrounding environment map and their own position in the map. However, the robot does not know the indoor map information. Simultaneous Localization and Mapping (SLAM) is the service of detecting and sensing the map (contour) of the surrounding environment for a moving subject in an unknown environment, relying only on the mounted sensors, while determining its own position in the map [1]. After decades of continuous development, SLAM technology services have been widely used in mobile robotics [2], virtual/augmented reality [3], autonomous driving [4], and so on. The current mainstream SLAM techniques are classified based on the differences in the sensors used and can be divided into LIDAR SLAM techniques and visual SLAM techniques. Sensors such as LIDAR and cameras have the advantage of accuracy and high resolution but they also have disadvantages: LIDAR is a very expensive sensor and poses health and safety issues in operation [5]. Cameras, although cost getting lower, require high processing power in low-light environments as well as low signal-to-noise ratios [6]. In addition, the above systems are computationally complex and usually use cloud-based processing, which is costly and involves privacy and security. In contrast, acoustic sensors as the standard for mobile robots can be used in low-light and dark environments [7]. Map reconstruction work can be achieved using the robot’s own arithmetic power, which not only has significant cost advantages but also offloads privacy-aware services to MEC (mobile edge computing), avoiding the leakage of private information such as indoor images. Therefore, researchers have begun to explore the implementation of acoustic SLAM.In indoor environments, the propagation of acoustic signals is obscured and reflected by buildings resulting in multipath effects, which to some extent reflect information about the room arrangement and geometry and can be used to estimate environmental maps. Researchers have started to estimate room shapes from the room impulse response (RIR) of acoustics. Labelling the first-order echoes in the RIR to the walls that generate them is the key for room shape estimation. Since the RIR itself does not specify which reflections come from which walls, there is an echo labelling problem (ELP) [8]. Literatures [9, 10] solved the ELP using the properties of the Euclidean distance matrix (EDM), but the algorithm must traverse the TOA combinations of all echoes, which has a high computational complexity. References [8, 11, 12] improved the computational complexity of their work based on EDM using graph theory, subspace filtering, and greedy iteration, respectively, but the overall computational complexity is still large. There is also a method of solving ELP using elliptic constraints. Literatures [13, 14] solved the series of reflective points of walls based on an elliptic constraint model and finally used the Hough transform for the estimation of each reflective wall. This method needs to arrange many anchor nodes to obtain enough data, which is complex to implement and extremely computationally intensive. Literature [15] proposed an algorithm to reduce the computational complexity based on elliptic constraints for iterative echo marking. The above method uses a stationary distributed microphone array, which requires the sound source and microphone array to be arranged in the room in advance and is not applicable to the practical application scenario of SLAM.In addition to the static deployment of sources and microphones scheme in the above work, there is another scheme that embeds acoustic sensors on a mobile robot, which is more in line with the practical needs of SLAM and is more relevant for research. Whether the robot is equipped with an acoustic source can be classified as active acoustic SLAM and passive acoustic SLAM. References [16, 17] used robots equipped with multichannel microphones for their own localization as well as localization of acoustic sources by sensing the ambient sound sources around them. However, suitable sound sources that can be detected are not always available in the actual environment. Another option is to use a robot equipped with both sound sources and microphones for simultaneous localization and mapping. In literatures [18–20], a mobile robot with a juxtaposition of an acoustic source and a single-channel microphone was used to collect first-order echoes. Due to the weak spatial perception of the single-channel microphone, the robot moved at least three times for a reflective wall estimation, and the movement error may affect the accuracy of the reflective wall estimation. Multichannel microphones have better spatial perception capability than single microphones and can obtain more information about the interior geometry for the same number of measurements. Literature [21] achieved room shape estimation using a robot equipped with an acoustic source and a four-channel microphone by estimating the location of the first-order image source by clustering, but the robot needs to collect a large amount of RIR data at each movement. All the above acoustic SLAM schemes can achieve the estimation of room shape but ignore the effect of cumulative errors in the measurement of the robot’s moving state, that is, on the reconstruction of the room contour. The room map has only room shape information and lacks the location information of doors and windows because it cannot distinguish between different reflective materials.In this paper, a robot active sounding scheme equipped with both sound sources and microphone arrays is used for simultaneous localization and mapping. To address the ELP problem mentioned above and the cumulative error of robot movement measurement affecting the accuracy of map building, this paper proposes a graph-optimized acoustic SLAM edge computing system based on graph optimization that can identify room detail information. The main contributions of this paper are as follows:(1)
A robot system prototype is designed and implemented that can be used for acoustic SLAM(2)
A first-order echo labelling algorithm based on RIR cepstrum is proposed, which solves ELP by distinguishing different reflective materials(3)
A graph optimization-based method is proposed for correcting the pose estimated by the trapezoidal constraintThe sections of this paper are organized as follows. Section1 introduces the background and current research status of acoustic SLAM, and Section 2 describes the problem setup and the architecture of the graph optimization-based acoustic SLAM system. In Section 3, a prototype of our designed robotic system for acoustic SLAM is presented. Section 4 introduces the related acoustic SLAM methods. Section 5 shows the simulations and experiments, and Section 5 concludes.


## 2. Problem Description and System Structure

In an indoor environment, the sound signal received by a microphone consists of the direct sound from the source and the reflected sound that is reflected by the walls. In the image source model [22, 23], the reflected sound from the actual sound source was replaced by the direct sound from the image source, as shown in Figure 1(a). For a first-order echo described by the unit normal nk and an arbitrary wall point pk and the kth reflected wall, the first-order image source s˜1,k of the real sound source s with microphone rj is calculated according to s˜1,k=rj+2pk−rj,nknk. The sound propagation process was described in terms of the room impulse response (RIR), which consists of a series of Dirac pulses δ:(1)hjt=∑iαiδt−τi+εt,where εt is the noise, αi is the amplitude of the received pulse, and its magnitude depends on the absorption coefficient of the wall and the distance from the image source to the microphone [18]. τi is the arrival time of the corresponding pulse, which is proportional to the distance from the image source to the microphone rj. The room impulse response can be represented as a dataset dataj=αi,τi,i=1,2,…,n. ELP finds the data αi,τi associated with the first-order image source s˜1,k from the dataset dataj. The labeli was defined as the label corresponding to data αi,τi. The data association process for a first-order image source s˜1,k can be represented by the function Lαi,τi:(2)Lαi,τi=1,labeli=k,0,else.Figure 1
Schematic diagram of the first-order image sound source: (a) single source with a single microphone and (b) single source with a multichannel microphone.
(a)(b)The distance from the first-order image sources˜1,k to the microphone rj can be known from the marked first-order echo data. For a single-channel microphone, as shown in Figure 1(a), the position of the image source s˜1,k is on a circle C1,k with the position of microphone r1 as the center and dj,k as the radius, and the exact position of the image source s˜1,k on the circle cannot be determined due to the lack of spatial information. For multichannel microphones, as shown in Figure 1(b), the position of the image source s˜1,k is at the intersection point between circles Cj,k. In 2D space, it is known from the TOA localization algorithm [24] that the uniqueness of the image source s location can be guaranteed when the number of microphones is greater than 3. The midpoint of the line connecting the real source s and the image source s˜1,k is the location of the reflecting wall.In this paper, an omnidirectional sound source was defined, and an omnidirectional 4-channel microphone array are installed on the robot, and the location of the microphone array in relation to the sound source is shown in Figure2(a). The robot travels around the room in a circle, and for each step the robot takes, the sound source generates a pulse while the microphone array records an echo. The room was defined as a 2D polygon for the sake of descriptive simplicity, and the approach in this paper can be easily extended to 3D.Figure 2
(a) Layout of the sound source and microphone on the robot. (b) Schematic diagram of the robot moving in the room.
(a)(b)The robot can estimate the position of each wall relative to itself in the room using echo information, as shown in Figure2(b). Based on the above description, the difficulty of first-order image source position estimation is solving the echo labelling problem (ELP) [8]. In this paper, taking advantage of the strong spatial perception of multichannel microphones, an RIR cepstrum feature that can distinguish reflective walls with different absorption coefficients was proposed, and based on this feature, this paper proposes a solution for first-order echo labelling based on the RIR cepstrum.The robot travels around the room in a circle and uses the echo information from different locations to estimate the distance from the wall to itself for the shape estimation of the indoor room, as shown in Figure2(b). Since there is a cumulative error in the robot position estimated by IMU data, this can lead to inaccurate estimation of the wall position. To solve this problem, a graph optimization-based acoustic SLAM method was proposed, which uses graph optimization to fuse the robot pose estimated by the sound echo signal with the pose estimated by IMU to eliminate the cumulative error, and the system block diagram of this method is shown in Figure 3. Referring to other graph optimization structures [25–27], the graph optimization system in this paper is also mainly divided into two parts: front end and back end. The front end establishes the graph vertices and the positional constraint relations between graph vertices based on the IMU sensor and acoustic sensor data, and the back end optimizes the positional graph based on the closed-loop constraints added by the closed-loop detection and the constraint relations between graph vertices to finally obtain globally consistent robot trajectories and indoor room maps.Figure 3
Framework of an acoustic SLAM system based on graph optimization.


## 3. Acoustic SLAM Method

According to the system framework of acoustic SLAM, the acoustic SLAM method can be divided into two parts: echo labelling and pose correction. Echo labelling extracts the first-order echo signal from the echo signal and then estimates the position of the first-order image sound source based on the first-order echo signal. The pose correction is to eliminate the accumulated errors during the robot movement globally using graph optimization methods.


### 3.1. Echo Labelling Based on the RIR Cepstrum Feature

The ELP problem is often solved using the Euclidean distance matrix approach, which requires traversing all possible combinations of echoes with high complexity. In this section, an echo labelling method based on RIR cepstrum is proposed, which can achieve fast and accurate echo labelling.


#### 3.1.1. RIR Cepstrum

Multichannel microphones are more spatially aware than single-channel microphones, and a spatial cepstrum feature is proposed in literature [28], which can represent the relative position of the sound source in the room. Inspired by this, the room impulse response cepstrum feature was proposed, which can be used for first-order echo labelling and loopback detection.Suppose the robot is equipped withM omnidirectional microphones and an omnidirectional sound source s. As shown in Figure 4, the robot moves N steps from x1 to xN, and each time it moves, the robot’s sound source generates a pulse, while the microphone acquires the room impulse response at the current position. The robot can acquire M room impulse responses hi,jn,j=1,2,…,M at xi. According to equation (1), hi,jn consists of a series of pulses, and the average energy feature ri,j,k of the kth pulse is extracted:(3)ri,j,k=12L+1∑n=τi,j,k−Lτi,j,k+Lhi,jn2,where τi,j,k is the TOA value of the kth pulse in hi,jn and 2L + 1 is the width of the rectangular window.Figure 4
Schematic diagram of robot movement.The time delay feature of the kth pulse inhi,jn is(4)ti,j,k=τi,j,k⋅c,where c is the speed of sound propagation in the air.Log operations are performed on the above two features separately to obtain the log energy vectorpi,k and the log time delay vector qi,k:(5)pi,k=logri,1,klogri,2,k⋯logri,M,kT,qi,k=logti,1,klogti,2,k⋯logti,M,kT.The robot is obtained fromx1⟶xN,N>M; the matrix of the average amplitude logarithm of the impulse response about the room Ak and the matrix of the logarithm of the arrival distance Bk can be obtained as follows:(6)Ak=p1,kp2,k⋯pn,kT,Bk=q1,kq2,k⋯qn,kT.As in the method for extracting the spatial cepstrum [29], we also use PCA instead of DFT or DCT. RAk can be obtained from Ak.(7)RAk=AkAkT.SinceRAk is a symmetric matrix, RAk the eigenvalue decomposition can be expressed as follows:(8)RAk=EAkDAkEAkT,where EAk is the eigenvector matrix, DAk is the diagonal matrix, and the diagonal elements are the eigenvalues, in descending order.After PCA dimensionality reduction, the datadAk can be expressed as(9)dAk=EAkAk−Ak¯.Similarly, for the matrixBk, PCA dimensionality reduction is performed.(10)dBk=EBkBk−Bk¯.The principal component components are selected fromdAk and dBk, and they are the components with the largest eigenvalues dak and dbk, which form the room impulse response cepstrum dhk.(11)dhk=dakdbk,where dhk is the matrix, dhk is defined as the room impulse response cepstrum, dak is the amplitude cepstrum, and dbk is the distance cepstrum.The amplitude cepstrum corresponds to the average amplitude of the pulses observed by the microphone array. When the pulses observed by the microphone array are consistent, i.e., the first-order echoes come from the same reflecting wall, the magnitude of the amplitude cepstrum is inversely proportional to the distance of the robot from the reflecting wall. Similarly, when the pulses observed by the microphone array are consistent, the magnitude of the distance cepstrum is proportional to the distance of the robot from the reflecting wall. As shown in Figure5(a), in a 6 m ∗ 6 m rectangular room, the robot moves from x1 to x20, and to ensure the consistent observation of the microphone matrix, the reflection coefficients of walls w1–w4 to 0.8, 0, 0, and 0 were defined. At this time, the robot can only receive the echo from wall w1. We select the second pulse in the room impulse response and extract the RIR cepstrum dh2 according to the above method and represent the RIR cepstrum in a two-dimensional Cartesian coordinate system, as shown in Figure 5(b). We can observe that when the pulses observed by the microphone matrix are consistent, the cepstrum of the room impulse response dhk of dak and dbk approximates a linear relationship. When the value of the RIR cepstrum of the microphone array pulse combination is in the vicinity of the straight line corresponding to the reflective wall and then combined with the size of the microphone array, it can be determined whether the microphone array is observed consistently.Figure 5
(a) Schematic diagram of the robot’s trajectory in a 6 m ∗ 6 m room; (b) the RIR cepstrumdh2 mapping schematic in the two-dimensional coordinate system.
(a)(b)


#### 3.1.2. Echo Labelling Based on the RIR Cepstrum Feature

Based on the feature that the one-dimensional component of the RIR cepstrum approximately satisfies a linear relationship with the two-dimensional component when the RIR cepstrum is observed consistently, a method for first-order echo labelling was proposed. According to the image source model, it is known that the 2nd and 3rd pulses received by the microphone must be the first-order echoes reflected from the wall. The robot follows the trajectory in Figure 4 from x1 moving to xN. Since the robot moves against the wall and the spacing between the microphones is small, it can be guaranteed that the 2nd and 3rd pulses observed by the microphones are mostly from the same virtual source, i.e., the observations are consistent. Assuming that the acoustic reflection coefficients of each of the four walls of the room in Figure 4 are different, the robot takes the 2nd and 3rd pulses from x1⟶xN. The second and third pulses received by the microphone are taken to find the cepstrum of the room impulse response; the matrix of the logarithm of the room impulse response amplitude at this time A2,3 and the matrix of the logarithm of the arrival distance B2,3 are as follows:(12)A2,3=A2A3,B2,3=B2B3.Following the method in the previous section, PCA operations are performed onA2,3 and B2,3, to obtain the feature matrices EA2,3 and EB2,3, respectively. The RIR cepstrum after PCA dimensionality reduction is(13)dh2,3=da2,3db2,3.According to the characteristics of the RIR cepstrum feature,dh2,3 can be fitted as a straight line li corresponding to the reflecting wall i with different reflection coefficients.(14)aix+biy+ci=0.When thekth pulse observed by the microphone matrix is greater than 3, it is not possible to determine whether the kth pulse observed at this time is a first-order echo. The first-order echo candidates from wall i can be obtained from the TOA values of the first and second echoes and the relationship between the microphone positions. These candidates can be combined to obtain a new combination of room pulses, which corresponds to the RIR cepstrum dτ as follows:(15)dτ=da,τdb,τ.If the new combination is a first-order echo from walli, the corresponding room impulse response cepstrum dτ should be near the straight line li, and the distance from dτ to the straight line li satisfies the following equation:(16)Di,τ=aida,τ+bidb,τ+ciai2+bi22<Δε,where Δε is the Euclidean distance threshold. Following the above method, the first-order echoes of different walls can be distinguished, and thus, the location of the image source can be estimated.


### 3.2. Pose Correction Based on Graph Optimization

The pose correction method consists of three parts: closed-loop detection, pose estimation, and pose correction. In this paper, the pose at different locations of the robot is used as nodes of the graph. The constraint relationship between graph nodes is established using closed-loop detection and pose estimation. Finally, the graph optimization method is used to correct the robot’s pose.


#### 3.2.1. Closed-Loop Detection

Closed-loop detection determines whether the robot has reached the previous position, and it is extremely important for back-end optimization. After the above echo labelling method, the robot at thexi location can obtain the RIR cepstrum consistent with the k-sided wall observation, and these cepstrums can be combined into a 2k-dimensional RIR cepstrum vector Xi as follows:(17)Xi=xi1yi1xi2yi2…xikyik,where xi,kyi,k is the RIR cepstrum from wall k.Similarly, the robot can obtain RIR cepstrum vectorXj at xj as follows:(18)Xj=xj1yj1xj2yj2…xjkyjk.The vectorsXi and Xj can be used to express the Euclidean distance between them to express the similarity of their spaces. When xi and xj are in the same position or close to each other, the Euclidean distance between the two vectors should satisfy the following formula:(19)distanceij=Xj−Xi<δ,where δ is the Euclidean distance threshold.


#### 3.2.2. Trapezoidal Constraint-Based Pose Estimation

In indoor space, the actual position of the robot and the position movement of the image source satisfy the isosceles trapezoidal constraint [18, 29], as shown in Figure 6. Based on this constraint, a robot positional estimation method was proposed.Figure 6
Isosceles trapezoidal constraint diagram.In world coordinates, let the robot’s pose atxi−1 be Xi−1=xi−1,yi−1,θi−1 and the robot’s pose at xi be Xi=xi,yi,θi. The change in pose dXi of the robot moving from xi−1 to xi is(20)dXi=Xi−Xi−1=xi−xi−1,yi−yi−1,θi−θi−1,where dXi is expressed in polar coordinates as(21)dXi=rcosα,rsinα,θ.In equation (21), r is the displacement variable, α is the angle of the displacement direction to the X-axis of the world coordinate system, and θ is the rotation angle of the robot coordinate system.The coordinates of the image source atxi−1 and xi are expressed in polar coordinates in the robot coordinate system, respectively, as follows:(22)x˜i−1,1=ri−1,1,θi−1,1,x˜i−1,2=ri−1,2,θi−1,2,x˜i−1,3=ri−1,3,θi−1,3,x˜i−1,4=ri−1,4,θi−1,4,⟶x˜i,1=ri,1,θi,1,x˜i,2=ri,2,θi,2,x˜i,3=ri,3,θi,3,x˜i,4=ri,4,θi,4.The robot rotation angleθ is related only to the angle of the polar coordinates of the image source.(23)θ=θi,1−θi−1,1=θi,2−θi−1,2=θi,3−θi−1,3=θi,4−θi−1,4.The estimated value of the robot rotation angle is(24)θ^=14∑w=1w=4θi,w−θi−1,w.Robots fromxi−1 move to xi, and the length of the image acoustic source polar coordinates changes as follows:(25)ri,1=ri−1,1+2rsinα+αi−1,1,ri,2=ri−1,2+2rsinα+αi−1,2,ri,3=ri−1,3+2rsinα+αi−1,3,ri,4=ri−1,4+2rsinα+αi−1,4,where αi−1,n=θi−1,1−θi−1,n,n=1,2,3,4.Lets=r,α, the following vector function can be obtained:(26)ds=ri,1−ri−1,1,ri,2−ri−1,2,ri,3−ri−1,3,ri,4−ri−1,4,=2rsinα+αi−1,1,2rsinα+αi−1,2,2rsinα+αi−1,3,2rsinα+αi−1,4.The estimated value of the acoustic sensord^ has a random error ζ, and the variance of the error is σ2.(27)d^=ds+ς.Weighted error function (s) is as follows:(28)εs=d^−dsTΦn−1d^−ds,where Φn=σ2I and I is the unit matrix.The objective optimization function is obtained by minimizing the weighted error functionεs.(29)s^=argminsεs.The Levenberg–Marquardt algorithm is used to solve equation (29).Linearize the error functionε(s) by linearly expanding d(s) through a first-order Taylor series:(30)ds+Δs=ds+JsΔs,where Js is the Jacobi matrix, which is expressed as follows:(31)Js=2rsinα+αi−1,12rsinα+αi−1,22rsinα+αi−1,32rsinα+αi−1,42rcosα+αi−1,12rcosα+αi−1,22rcosα+αi−1,32rcosα+αi−1,4.Equation (30) is brought into equation (28) to solve for the extreme value of the weighted error function ε(s). According to the Levenberg–Marquardt method:(32)H+λIΔs=g,where H=JsTJsandg=Jsd^−ds.The above equation allows to find the step sizeΔsk for each iteration. The value s0=r0,α0 estimated by the IMU is used as the initial value for the iterative calculation.(33)s^=s0+∑k=1nΔsk,where n is the number of iterations.According to the above method, it is possible to use the acoustic signal to accurately estimate the pose change between different positions of the robot.


#### 3.2.3. Pose Correction Based on Graph Optimization

According to the above method, we can construct the graph. Every time the robot moves a certain distance or rotates a certain arc, a vertex is added to the graph, and the constraint relationship between the vertices is established according to the pose estimation algorithm. The structure of the graph is shown in Figure7.Figure 7
Schematic diagram of the connection between nodes.Letx=x1,x2,…,xT be a vector of parameters, where xi describes the pose of node i. The robot moves from the pose node xi to the pose node xj, z^ij is the pose transformation estimated by the IMU and zij is the pose transformation observed by the acoustic sensor. Let exi,xj be the error function from xi to xj, which is the difference between the robot’s predicted observation z^ij and the actual observation zij.(34)eijxi,xj=zijxi,xj−z^ijxi,xj.The dashed box in Figure7 shows the constraint relationship between node x2 to node xp.LetC be the set of constraint pairs of nodes in the graph and the set of nodes in the graph of trajectory points x of the robot. The goal of the maximum likelihood method is to find the configuration of nodes x∗ that minimizes the negative log likelihood F (x) of all observations.(35)Fx=∑i,j∈ceijTΩijeij,where Ωij is the measurement information matrix of the error function eij.The objective optimization function is(36)x∗=argminxFx.Using the first-order Taylor expansion error functioneijxi,xj.(37)exi+△xi,xj+△xj=eijxi,xj+JijΔx.The error functioneijxi,xj is only related to xi and xj. Its Jacobi matrix Jij is(38)Jij=∂eijxi,xj∂x=0…0,∂eijxi,xj∂xi,0…0,∂eijxi,xj∂xj,0…0.The nonlinear optimization algorithm is used to iteratively solve for the minimum value ofF (x). The step size of each iteration can be solved using equation (32).(39)Δx=−H+λI−1b,where H=∑i,j∈cJijTΩijJijandb=∑i,j∈cJijTΩijeij.The optimal robot trajectory pointx∗ is obtained by iterative calculation.(40)x∗=x0+∑k=1nΔxk,where x0 is the initial trajectory point of the robot estimated by the IMU and n is the number of iterations.The robot travels around the room once, constructs the vertices and edges of the graph according to the method in this paper, and solves equation (36) using a nonlinear optimization algorithm. The optimal robot movement trajectory is obtained by optimizing the length of the edges of the graph to minimize F (x).


## 3.1. Echo Labelling Based on the RIR Cepstrum Feature

The ELP problem is often solved using the Euclidean distance matrix approach, which requires traversing all possible combinations of echoes with high complexity. In this section, an echo labelling method based on RIR cepstrum is proposed, which can achieve fast and accurate echo labelling.


### 3.1.1. RIR Cepstrum

Multichannel microphones are more spatially aware than single-channel microphones, and a spatial cepstrum feature is proposed in literature [28], which can represent the relative position of the sound source in the room. Inspired by this, the room impulse response cepstrum feature was proposed, which can be used for first-order echo labelling and loopback detection.Suppose the robot is equipped withM omnidirectional microphones and an omnidirectional sound source s. As shown in Figure 4, the robot moves N steps from x1 to xN, and each time it moves, the robot’s sound source generates a pulse, while the microphone acquires the room impulse response at the current position. The robot can acquire M room impulse responses hi,jn,j=1,2,…,M at xi. According to equation (1), hi,jn consists of a series of pulses, and the average energy feature ri,j,k of the kth pulse is extracted:(3)ri,j,k=12L+1∑n=τi,j,k−Lτi,j,k+Lhi,jn2,where τi,j,k is the TOA value of the kth pulse in hi,jn and 2L + 1 is the width of the rectangular window.Figure 4
Schematic diagram of robot movement.The time delay feature of the kth pulse inhi,jn is(4)ti,j,k=τi,j,k⋅c,where c is the speed of sound propagation in the air.Log operations are performed on the above two features separately to obtain the log energy vectorpi,k and the log time delay vector qi,k:(5)pi,k=logri,1,klogri,2,k⋯logri,M,kT,qi,k=logti,1,klogti,2,k⋯logti,M,kT.The robot is obtained fromx1⟶xN,N>M; the matrix of the average amplitude logarithm of the impulse response about the room Ak and the matrix of the logarithm of the arrival distance Bk can be obtained as follows:(6)Ak=p1,kp2,k⋯pn,kT,Bk=q1,kq2,k⋯qn,kT.As in the method for extracting the spatial cepstrum [29], we also use PCA instead of DFT or DCT. RAk can be obtained from Ak.(7)RAk=AkAkT.SinceRAk is a symmetric matrix, RAk the eigenvalue decomposition can be expressed as follows:(8)RAk=EAkDAkEAkT,where EAk is the eigenvector matrix, DAk is the diagonal matrix, and the diagonal elements are the eigenvalues, in descending order.After PCA dimensionality reduction, the datadAk can be expressed as(9)dAk=EAkAk−Ak¯.Similarly, for the matrixBk, PCA dimensionality reduction is performed.(10)dBk=EBkBk−Bk¯.The principal component components are selected fromdAk and dBk, and they are the components with the largest eigenvalues dak and dbk, which form the room impulse response cepstrum dhk.(11)dhk=dakdbk,where dhk is the matrix, dhk is defined as the room impulse response cepstrum, dak is the amplitude cepstrum, and dbk is the distance cepstrum.The amplitude cepstrum corresponds to the average amplitude of the pulses observed by the microphone array. When the pulses observed by the microphone array are consistent, i.e., the first-order echoes come from the same reflecting wall, the magnitude of the amplitude cepstrum is inversely proportional to the distance of the robot from the reflecting wall. Similarly, when the pulses observed by the microphone array are consistent, the magnitude of the distance cepstrum is proportional to the distance of the robot from the reflecting wall. As shown in Figure5(a), in a 6 m ∗ 6 m rectangular room, the robot moves from x1 to x20, and to ensure the consistent observation of the microphone matrix, the reflection coefficients of walls w1–w4 to 0.8, 0, 0, and 0 were defined. At this time, the robot can only receive the echo from wall w1. We select the second pulse in the room impulse response and extract the RIR cepstrum dh2 according to the above method and represent the RIR cepstrum in a two-dimensional Cartesian coordinate system, as shown in Figure 5(b). We can observe that when the pulses observed by the microphone matrix are consistent, the cepstrum of the room impulse response dhk of dak and dbk approximates a linear relationship. When the value of the RIR cepstrum of the microphone array pulse combination is in the vicinity of the straight line corresponding to the reflective wall and then combined with the size of the microphone array, it can be determined whether the microphone array is observed consistently.Figure 5
(a) Schematic diagram of the robot’s trajectory in a 6 m ∗ 6 m room; (b) the RIR cepstrumdh2 mapping schematic in the two-dimensional coordinate system.
(a)(b)


### 3.1.2. Echo Labelling Based on the RIR Cepstrum Feature

Based on the feature that the one-dimensional component of the RIR cepstrum approximately satisfies a linear relationship with the two-dimensional component when the RIR cepstrum is observed consistently, a method for first-order echo labelling was proposed. According to the image source model, it is known that the 2nd and 3rd pulses received by the microphone must be the first-order echoes reflected from the wall. The robot follows the trajectory in Figure 4 from x1 moving to xN. Since the robot moves against the wall and the spacing between the microphones is small, it can be guaranteed that the 2nd and 3rd pulses observed by the microphones are mostly from the same virtual source, i.e., the observations are consistent. Assuming that the acoustic reflection coefficients of each of the four walls of the room in Figure 4 are different, the robot takes the 2nd and 3rd pulses from x1⟶xN. The second and third pulses received by the microphone are taken to find the cepstrum of the room impulse response; the matrix of the logarithm of the room impulse response amplitude at this time A2,3 and the matrix of the logarithm of the arrival distance B2,3 are as follows:(12)A2,3=A2A3,B2,3=B2B3.Following the method in the previous section, PCA operations are performed onA2,3 and B2,3, to obtain the feature matrices EA2,3 and EB2,3, respectively. The RIR cepstrum after PCA dimensionality reduction is(13)dh2,3=da2,3db2,3.According to the characteristics of the RIR cepstrum feature,dh2,3 can be fitted as a straight line li corresponding to the reflecting wall i with different reflection coefficients.(14)aix+biy+ci=0.When thekth pulse observed by the microphone matrix is greater than 3, it is not possible to determine whether the kth pulse observed at this time is a first-order echo. The first-order echo candidates from wall i can be obtained from the TOA values of the first and second echoes and the relationship between the microphone positions. These candidates can be combined to obtain a new combination of room pulses, which corresponds to the RIR cepstrum dτ as follows:(15)dτ=da,τdb,τ.If the new combination is a first-order echo from walli, the corresponding room impulse response cepstrum dτ should be near the straight line li, and the distance from dτ to the straight line li satisfies the following equation:(16)Di,τ=aida,τ+bidb,τ+ciai2+bi22<Δε,where Δε is the Euclidean distance threshold. Following the above method, the first-order echoes of different walls can be distinguished, and thus, the location of the image source can be estimated.


## 3.1.1. RIR Cepstrum

Multichannel microphones are more spatially aware than single-channel microphones, and a spatial cepstrum feature is proposed in literature [28], which can represent the relative position of the sound source in the room. Inspired by this, the room impulse response cepstrum feature was proposed, which can be used for first-order echo labelling and loopback detection.Suppose the robot is equipped withM omnidirectional microphones and an omnidirectional sound source s. As shown in Figure 4, the robot moves N steps from x1 to xN, and each time it moves, the robot’s sound source generates a pulse, while the microphone acquires the room impulse response at the current position. The robot can acquire M room impulse responses hi,jn,j=1,2,…,M at xi. According to equation (1), hi,jn consists of a series of pulses, and the average energy feature ri,j,k of the kth pulse is extracted:(3)ri,j,k=12L+1∑n=τi,j,k−Lτi,j,k+Lhi,jn2,where τi,j,k is the TOA value of the kth pulse in hi,jn and 2L + 1 is the width of the rectangular window.Figure 4
Schematic diagram of robot movement.The time delay feature of the kth pulse inhi,jn is(4)ti,j,k=τi,j,k⋅c,where c is the speed of sound propagation in the air.Log operations are performed on the above two features separately to obtain the log energy vectorpi,k and the log time delay vector qi,k:(5)pi,k=logri,1,klogri,2,k⋯logri,M,kT,qi,k=logti,1,klogti,2,k⋯logti,M,kT.The robot is obtained fromx1⟶xN,N>M; the matrix of the average amplitude logarithm of the impulse response about the room Ak and the matrix of the logarithm of the arrival distance Bk can be obtained as follows:(6)Ak=p1,kp2,k⋯pn,kT,Bk=q1,kq2,k⋯qn,kT.As in the method for extracting the spatial cepstrum [29], we also use PCA instead of DFT or DCT. RAk can be obtained from Ak.(7)RAk=AkAkT.SinceRAk is a symmetric matrix, RAk the eigenvalue decomposition can be expressed as follows:(8)RAk=EAkDAkEAkT,where EAk is the eigenvector matrix, DAk is the diagonal matrix, and the diagonal elements are the eigenvalues, in descending order.After PCA dimensionality reduction, the datadAk can be expressed as(9)dAk=EAkAk−Ak¯.Similarly, for the matrixBk, PCA dimensionality reduction is performed.(10)dBk=EBkBk−Bk¯.The principal component components are selected fromdAk and dBk, and they are the components with the largest eigenvalues dak and dbk, which form the room impulse response cepstrum dhk.(11)dhk=dakdbk,where dhk is the matrix, dhk is defined as the room impulse response cepstrum, dak is the amplitude cepstrum, and dbk is the distance cepstrum.The amplitude cepstrum corresponds to the average amplitude of the pulses observed by the microphone array. When the pulses observed by the microphone array are consistent, i.e., the first-order echoes come from the same reflecting wall, the magnitude of the amplitude cepstrum is inversely proportional to the distance of the robot from the reflecting wall. Similarly, when the pulses observed by the microphone array are consistent, the magnitude of the distance cepstrum is proportional to the distance of the robot from the reflecting wall. As shown in Figure5(a), in a 6 m ∗ 6 m rectangular room, the robot moves from x1 to x20, and to ensure the consistent observation of the microphone matrix, the reflection coefficients of walls w1–w4 to 0.8, 0, 0, and 0 were defined. At this time, the robot can only receive the echo from wall w1. We select the second pulse in the room impulse response and extract the RIR cepstrum dh2 according to the above method and represent the RIR cepstrum in a two-dimensional Cartesian coordinate system, as shown in Figure 5(b). We can observe that when the pulses observed by the microphone matrix are consistent, the cepstrum of the room impulse response dhk of dak and dbk approximates a linear relationship. When the value of the RIR cepstrum of the microphone array pulse combination is in the vicinity of the straight line corresponding to the reflective wall and then combined with the size of the microphone array, it can be determined whether the microphone array is observed consistently.Figure 5
(a) Schematic diagram of the robot’s trajectory in a 6 m ∗ 6 m room; (b) the RIR cepstrumdh2 mapping schematic in the two-dimensional coordinate system.
(a)(b)


## 3.1.2. Echo Labelling Based on the RIR Cepstrum Feature

Based on the feature that the one-dimensional component of the RIR cepstrum approximately satisfies a linear relationship with the two-dimensional component when the RIR cepstrum is observed consistently, a method for first-order echo labelling was proposed. According to the image source model, it is known that the 2nd and 3rd pulses received by the microphone must be the first-order echoes reflected from the wall. The robot follows the trajectory in Figure 4 from x1 moving to xN. Since the robot moves against the wall and the spacing between the microphones is small, it can be guaranteed that the 2nd and 3rd pulses observed by the microphones are mostly from the same virtual source, i.e., the observations are consistent. Assuming that the acoustic reflection coefficients of each of the four walls of the room in Figure 4 are different, the robot takes the 2nd and 3rd pulses from x1⟶xN. The second and third pulses received by the microphone are taken to find the cepstrum of the room impulse response; the matrix of the logarithm of the room impulse response amplitude at this time A2,3 and the matrix of the logarithm of the arrival distance B2,3 are as follows:(12)A2,3=A2A3,B2,3=B2B3.Following the method in the previous section, PCA operations are performed onA2,3 and B2,3, to obtain the feature matrices EA2,3 and EB2,3, respectively. The RIR cepstrum after PCA dimensionality reduction is(13)dh2,3=da2,3db2,3.According to the characteristics of the RIR cepstrum feature,dh2,3 can be fitted as a straight line li corresponding to the reflecting wall i with different reflection coefficients.(14)aix+biy+ci=0.When thekth pulse observed by the microphone matrix is greater than 3, it is not possible to determine whether the kth pulse observed at this time is a first-order echo. The first-order echo candidates from wall i can be obtained from the TOA values of the first and second echoes and the relationship between the microphone positions. These candidates can be combined to obtain a new combination of room pulses, which corresponds to the RIR cepstrum dτ as follows:(15)dτ=da,τdb,τ.If the new combination is a first-order echo from walli, the corresponding room impulse response cepstrum dτ should be near the straight line li, and the distance from dτ to the straight line li satisfies the following equation:(16)Di,τ=aida,τ+bidb,τ+ciai2+bi22<Δε,where Δε is the Euclidean distance threshold. Following the above method, the first-order echoes of different walls can be distinguished, and thus, the location of the image source can be estimated.


## 3.2. Pose Correction Based on Graph Optimization

The pose correction method consists of three parts: closed-loop detection, pose estimation, and pose correction. In this paper, the pose at different locations of the robot is used as nodes of the graph. The constraint relationship between graph nodes is established using closed-loop detection and pose estimation. Finally, the graph optimization method is used to correct the robot’s pose.


### 3.2.1. Closed-Loop Detection

Closed-loop detection determines whether the robot has reached the previous position, and it is extremely important for back-end optimization. After the above echo labelling method, the robot at thexi location can obtain the RIR cepstrum consistent with the k-sided wall observation, and these cepstrums can be combined into a 2k-dimensional RIR cepstrum vector Xi as follows:(17)Xi=xi1yi1xi2yi2…xikyik,where xi,kyi,k is the RIR cepstrum from wall k.Similarly, the robot can obtain RIR cepstrum vectorXj at xj as follows:(18)Xj=xj1yj1xj2yj2…xjkyjk.The vectorsXi and Xj can be used to express the Euclidean distance between them to express the similarity of their spaces. When xi and xj are in the same position or close to each other, the Euclidean distance between the two vectors should satisfy the following formula:(19)distanceij=Xj−Xi<δ,where δ is the Euclidean distance threshold.


### 3.2.2. Trapezoidal Constraint-Based Pose Estimation

In indoor space, the actual position of the robot and the position movement of the image source satisfy the isosceles trapezoidal constraint [18, 29], as shown in Figure 6. Based on this constraint, a robot positional estimation method was proposed.Figure 6
Isosceles trapezoidal constraint diagram.In world coordinates, let the robot’s pose atxi−1 be Xi−1=xi−1,yi−1,θi−1 and the robot’s pose at xi be Xi=xi,yi,θi. The change in pose dXi of the robot moving from xi−1 to xi is(20)dXi=Xi−Xi−1=xi−xi−1,yi−yi−1,θi−θi−1,where dXi is expressed in polar coordinates as(21)dXi=rcosα,rsinα,θ.In equation (21), r is the displacement variable, α is the angle of the displacement direction to the X-axis of the world coordinate system, and θ is the rotation angle of the robot coordinate system.The coordinates of the image source atxi−1 and xi are expressed in polar coordinates in the robot coordinate system, respectively, as follows:(22)x˜i−1,1=ri−1,1,θi−1,1,x˜i−1,2=ri−1,2,θi−1,2,x˜i−1,3=ri−1,3,θi−1,3,x˜i−1,4=ri−1,4,θi−1,4,⟶x˜i,1=ri,1,θi,1,x˜i,2=ri,2,θi,2,x˜i,3=ri,3,θi,3,x˜i,4=ri,4,θi,4.The robot rotation angleθ is related only to the angle of the polar coordinates of the image source.(23)θ=θi,1−θi−1,1=θi,2−θi−1,2=θi,3−θi−1,3=θi,4−θi−1,4.The estimated value of the robot rotation angle is(24)θ^=14∑w=1w=4θi,w−θi−1,w.Robots fromxi−1 move to xi, and the length of the image acoustic source polar coordinates changes as follows:(25)ri,1=ri−1,1+2rsinα+αi−1,1,ri,2=ri−1,2+2rsinα+αi−1,2,ri,3=ri−1,3+2rsinα+αi−1,3,ri,4=ri−1,4+2rsinα+αi−1,4,where αi−1,n=θi−1,1−θi−1,n,n=1,2,3,4.Lets=r,α, the following vector function can be obtained:(26)ds=ri,1−ri−1,1,ri,2−ri−1,2,ri,3−ri−1,3,ri,4−ri−1,4,=2rsinα+αi−1,1,2rsinα+αi−1,2,2rsinα+αi−1,3,2rsinα+αi−1,4.The estimated value of the acoustic sensord^ has a random error ζ, and the variance of the error is σ2.(27)d^=ds+ς.Weighted error function (s) is as follows:(28)εs=d^−dsTΦn−1d^−ds,where Φn=σ2I and I is the unit matrix.The objective optimization function is obtained by minimizing the weighted error functionεs.(29)s^=argminsεs.The Levenberg–Marquardt algorithm is used to solve equation (29).Linearize the error functionε(s) by linearly expanding d(s) through a first-order Taylor series:(30)ds+Δs=ds+JsΔs,where Js is the Jacobi matrix, which is expressed as follows:(31)Js=2rsinα+αi−1,12rsinα+αi−1,22rsinα+αi−1,32rsinα+αi−1,42rcosα+αi−1,12rcosα+αi−1,22rcosα+αi−1,32rcosα+αi−1,4.Equation (30) is brought into equation (28) to solve for the extreme value of the weighted error function ε(s). According to the Levenberg–Marquardt method:(32)H+λIΔs=g,where H=JsTJsandg=Jsd^−ds.The above equation allows to find the step sizeΔsk for each iteration. The value s0=r0,α0 estimated by the IMU is used as the initial value for the iterative calculation.(33)s^=s0+∑k=1nΔsk,where n is the number of iterations.According to the above method, it is possible to use the acoustic signal to accurately estimate the pose change between different positions of the robot.


### 3.2.3. Pose Correction Based on Graph Optimization

According to the above method, we can construct the graph. Every time the robot moves a certain distance or rotates a certain arc, a vertex is added to the graph, and the constraint relationship between the vertices is established according to the pose estimation algorithm. The structure of the graph is shown in Figure7.Figure 7
Schematic diagram of the connection between nodes.Letx=x1,x2,…,xT be a vector of parameters, where xi describes the pose of node i. The robot moves from the pose node xi to the pose node xj, z^ij is the pose transformation estimated by the IMU and zij is the pose transformation observed by the acoustic sensor. Let exi,xj be the error function from xi to xj, which is the difference between the robot’s predicted observation z^ij and the actual observation zij.(34)eijxi,xj=zijxi,xj−z^ijxi,xj.The dashed box in Figure7 shows the constraint relationship between node x2 to node xp.LetC be the set of constraint pairs of nodes in the graph and the set of nodes in the graph of trajectory points x of the robot. The goal of the maximum likelihood method is to find the configuration of nodes x∗ that minimizes the negative log likelihood F (x) of all observations.(35)Fx=∑i,j∈ceijTΩijeij,where Ωij is the measurement information matrix of the error function eij.The objective optimization function is(36)x∗=argminxFx.Using the first-order Taylor expansion error functioneijxi,xj.(37)exi+△xi,xj+△xj=eijxi,xj+JijΔx.The error functioneijxi,xj is only related to xi and xj. Its Jacobi matrix Jij is(38)Jij=∂eijxi,xj∂x=0…0,∂eijxi,xj∂xi,0…0,∂eijxi,xj∂xj,0…0.The nonlinear optimization algorithm is used to iteratively solve for the minimum value ofF (x). The step size of each iteration can be solved using equation (32).(39)Δx=−H+λI−1b,where H=∑i,j∈cJijTΩijJijandb=∑i,j∈cJijTΩijeij.The optimal robot trajectory pointx∗ is obtained by iterative calculation.(40)x∗=x0+∑k=1nΔxk,where x0 is the initial trajectory point of the robot estimated by the IMU and n is the number of iterations.The robot travels around the room once, constructs the vertices and edges of the graph according to the method in this paper, and solves equation (36) using a nonlinear optimization algorithm. The optimal robot movement trajectory is obtained by optimizing the length of the edges of the graph to minimize F (x).


## 3.2.1. Closed-Loop Detection

Closed-loop detection determines whether the robot has reached the previous position, and it is extremely important for back-end optimization. After the above echo labelling method, the robot at thexi location can obtain the RIR cepstrum consistent with the k-sided wall observation, and these cepstrums can be combined into a 2k-dimensional RIR cepstrum vector Xi as follows:(17)Xi=xi1yi1xi2yi2…xikyik,where xi,kyi,k is the RIR cepstrum from wall k.Similarly, the robot can obtain RIR cepstrum vectorXj at xj as follows:(18)Xj=xj1yj1xj2yj2…xjkyjk.The vectorsXi and Xj can be used to express the Euclidean distance between them to express the similarity of their spaces. When xi and xj are in the same position or close to each other, the Euclidean distance between the two vectors should satisfy the following formula:(19)distanceij=Xj−Xi<δ,where δ is the Euclidean distance threshold.


## 3.2.2. Trapezoidal Constraint-Based Pose Estimation

In indoor space, the actual position of the robot and the position movement of the image source satisfy the isosceles trapezoidal constraint [18, 29], as shown in Figure 6. Based on this constraint, a robot positional estimation method was proposed.Figure 6
Isosceles trapezoidal constraint diagram.In world coordinates, let the robot’s pose atxi−1 be Xi−1=xi−1,yi−1,θi−1 and the robot’s pose at xi be Xi=xi,yi,θi. The change in pose dXi of the robot moving from xi−1 to xi is(20)dXi=Xi−Xi−1=xi−xi−1,yi−yi−1,θi−θi−1,where dXi is expressed in polar coordinates as(21)dXi=rcosα,rsinα,θ.In equation (21), r is the displacement variable, α is the angle of the displacement direction to the X-axis of the world coordinate system, and θ is the rotation angle of the robot coordinate system.The coordinates of the image source atxi−1 and xi are expressed in polar coordinates in the robot coordinate system, respectively, as follows:(22)x˜i−1,1=ri−1,1,θi−1,1,x˜i−1,2=ri−1,2,θi−1,2,x˜i−1,3=ri−1,3,θi−1,3,x˜i−1,4=ri−1,4,θi−1,4,⟶x˜i,1=ri,1,θi,1,x˜i,2=ri,2,θi,2,x˜i,3=ri,3,θi,3,x˜i,4=ri,4,θi,4.The robot rotation angleθ is related only to the angle of the polar coordinates of the image source.(23)θ=θi,1−θi−1,1=θi,2−θi−1,2=θi,3−θi−1,3=θi,4−θi−1,4.The estimated value of the robot rotation angle is(24)θ^=14∑w=1w=4θi,w−θi−1,w.Robots fromxi−1 move to xi, and the length of the image acoustic source polar coordinates changes as follows:(25)ri,1=ri−1,1+2rsinα+αi−1,1,ri,2=ri−1,2+2rsinα+αi−1,2,ri,3=ri−1,3+2rsinα+αi−1,3,ri,4=ri−1,4+2rsinα+αi−1,4,where αi−1,n=θi−1,1−θi−1,n,n=1,2,3,4.Lets=r,α, the following vector function can be obtained:(26)ds=ri,1−ri−1,1,ri,2−ri−1,2,ri,3−ri−1,3,ri,4−ri−1,4,=2rsinα+αi−1,1,2rsinα+αi−1,2,2rsinα+αi−1,3,2rsinα+αi−1,4.The estimated value of the acoustic sensord^ has a random error ζ, and the variance of the error is σ2.(27)d^=ds+ς.Weighted error function (s) is as follows:(28)εs=d^−dsTΦn−1d^−ds,where Φn=σ2I and I is the unit matrix.The objective optimization function is obtained by minimizing the weighted error functionεs.(29)s^=argminsεs.The Levenberg–Marquardt algorithm is used to solve equation (29).Linearize the error functionε(s) by linearly expanding d(s) through a first-order Taylor series:(30)ds+Δs=ds+JsΔs,where Js is the Jacobi matrix, which is expressed as follows:(31)Js=2rsinα+αi−1,12rsinα+αi−1,22rsinα+αi−1,32rsinα+αi−1,42rcosα+αi−1,12rcosα+αi−1,22rcosα+αi−1,32rcosα+αi−1,4.Equation (30) is brought into equation (28) to solve for the extreme value of the weighted error function ε(s). According to the Levenberg–Marquardt method:(32)H+λIΔs=g,where H=JsTJsandg=Jsd^−ds.The above equation allows to find the step sizeΔsk for each iteration. The value s0=r0,α0 estimated by the IMU is used as the initial value for the iterative calculation.(33)s^=s0+∑k=1nΔsk,where n is the number of iterations.According to the above method, it is possible to use the acoustic signal to accurately estimate the pose change between different positions of the robot.


## 3.2.3. Pose Correction Based on Graph Optimization

According to the above method, we can construct the graph. Every time the robot moves a certain distance or rotates a certain arc, a vertex is added to the graph, and the constraint relationship between the vertices is established according to the pose estimation algorithm. The structure of the graph is shown in Figure7.Figure 7
Schematic diagram of the connection between nodes.Letx=x1,x2,…,xT be a vector of parameters, where xi describes the pose of node i. The robot moves from the pose node xi to the pose node xj, z^ij is the pose transformation estimated by the IMU and zij is the pose transformation observed by the acoustic sensor. Let exi,xj be the error function from xi to xj, which is the difference between the robot’s predicted observation z^ij and the actual observation zij.(34)eijxi,xj=zijxi,xj−z^ijxi,xj.The dashed box in Figure7 shows the constraint relationship between node x2 to node xp.LetC be the set of constraint pairs of nodes in the graph and the set of nodes in the graph of trajectory points x of the robot. The goal of the maximum likelihood method is to find the configuration of nodes x∗ that minimizes the negative log likelihood F (x) of all observations.(35)Fx=∑i,j∈ceijTΩijeij,where Ωij is the measurement information matrix of the error function eij.The objective optimization function is(36)x∗=argminxFx.Using the first-order Taylor expansion error functioneijxi,xj.(37)exi+△xi,xj+△xj=eijxi,xj+JijΔx.The error functioneijxi,xj is only related to xi and xj. Its Jacobi matrix Jij is(38)Jij=∂eijxi,xj∂x=0…0,∂eijxi,xj∂xi,0…0,∂eijxi,xj∂xj,0…0.The nonlinear optimization algorithm is used to iteratively solve for the minimum value ofF (x). The step size of each iteration can be solved using equation (32).(39)Δx=−H+λI−1b,where H=∑i,j∈cJijTΩijJijandb=∑i,j∈cJijTΩijeij.The optimal robot trajectory pointx∗ is obtained by iterative calculation.(40)x∗=x0+∑k=1nΔxk,where x0 is the initial trajectory point of the robot estimated by the IMU and n is the number of iterations.The robot travels around the room once, constructs the vertices and edges of the graph according to the method in this paper, and solves equation (36) using a nonlinear optimization algorithm. The optimal robot movement trajectory is obtained by optimizing the length of the edges of the graph to minimize F (x).


## 4. System Implementation and Experimental Verification

This section introduces our self-designed robot prototype and then experimentally verifies the performance of the acoustic SLAM method in this paper.


### 4.1. System Implementation

Our robot is based on the Turtlebot3 Waffle Pi robot, a small, low-cost, fully programmable, ROS-based mobile robot, as shown in Figure8(b). Turtlebot3 consists mainly of Raspberry Pi3 and OpenCR control board (with IMU sensor inside). In this system, OpenCR is responsible for collecting the built-in IMU sensor data and sound data as well as driving the robot to move, Raspberry Pi 3 is responsible for processing and calculating the data, and Raspberry Pi 3 is connected to OpenCR via USB 2.0. The system architecture connection diagram of the robot is shown in Figure 8(a). Since the sound source is close to the microphone array, which may result in larger direct waves and affect the reception of other reflected waves, a sound insulation panel was designed between the microphone array and the sound source to isolate the direct sound. In addition, the sound insulation panel can also isolate the reflected waves from the upper and lower walls. The physical diagram of the robot is shown in Figure 8(c).Figure 8
(a) Connection diagram of each module of the robot: (b) physical diagram of Turtlebot3 Waffle Pi; (c) physical diagram of the robot.
(a)(b)(c)The robot uses an active acoustic scheme for self-localization and room contour estimation, and to prevent the sound signals emitted during the robot’s work from affecting people’s life and work, this paper uses sound pulse signals in the pseudoultrasonic band (16k–24k), which has a wavelength between 1.4 cm and 2.1 cm and can be guaranteed to be received by a small microphone array, and the sound signals in this band are insensitive to the human ear but can be picked up by the robot’s acoustic sensors. Sound source emits a sound signal of 16 kHz–20 kHz chirp pulse signal, which can avoid the leakage of sensitive information such as indoor human voice and ensure the security of privacy, but most speakers do not support the sound signal of the band, the need for speaker selection. Sound generation equipment was used, that is, Huawei Sound is used as the sound source. Huawei Sound is a 360-degree omnidirectional speaker with a frequency response range of 55 Hz–40 kHz and supports 3.5 mm wired audio input.The process of acquiring the sound pulse signal from the robot itself is the process of converting the sound signal from a mechanical wave to a digital signal. The sound signal is first converted into a voltage signal through a microphone, and since this voltage signal is usually small, it needs to be amplified by an amplifier; then, the amplified signal is passed through a 15k–24k bandpass filter to filter out the noise signal outside the pseudoultrasonic band. Finally, the filtered signal is converted to a digital signal by an ADC.Based on the acquisition process of the sound signal, the microphone array signal acquisition board for the robot was designed. The microphone in the acquisition board is a 130F22 omnidirectional microphone from PCB, which has a frequency response range of 10 Hz–20 kHz, and the microphone is an SMB interface that can be plugged into the acquisition board standing up. The acquisition board is a four-channel microphone array, and the microphones are distributed at equal intervals on a circle with a radius of 0.14 m. The physical diagram of the acquisition board is shown in Figure9.Figure 9
Physical diagram of the acoustic signal acquisition board.


### 4.2. Experimental Verification

The experimental part is divided into echo labelling experiments, pose correction and room shape estimation experiments, and real room experiments.


#### 4.2.1. Echo Labelling Algorithm Performance Simulation

For the echo labelling experiments, echo labelling simulations were conducted in three different shapes of rooms: square, rectangular, and pipeline. The shape of the room is schematically shown in Figure10, and w1, w2, w3, and w4 were used to denote the four walls of the room, and their corresponding reflection coefficients are α1,α2,α3,α4. The radius of the microphone array of the robot is 0.2 m, and a location in the room is randomly selected, the RIR of each microphone under that location is simulated using the image source method, and the echoes are labelled using the method in Section 3. To verify the robustness of the algorithm to noise, the Gaussian white noise was added to the propagation distance of the signal as follows:(41)d^=d+ε,where d is the true propagation distance and ɛ is the additive noise, and its standard deviation σ varies from 0.01 to 0.05 in steps of 0.005. Similar to [15], the F1-score was used to evaluate the goodness of the echo markers.Figure 10
(a) Square room (8 ∗ 8). (b) Rectangle room (8 ∗ 6). (c) Pipeline room (10 ∗ 4).
(a)(b)(c)Literature [15] solved ELP by means of elliptical iterations, and for comparison, experiments in a square room with reflection coefficients for each wall of 0.8,0.8,0.8,0.8 were performed. Randomly 300 points were chosen to conduct echo labelling experiments with the method of this paper and compare with the method of literature [15]. The experimental results are shown in Figure 11(b), where method 1 is the above method and method 2 is the method of this paper.Figure 11
(a) Schematic diagram of the RIR cepstrum echo markers. The red circle is the RIR cepstrum, and the green dashed line is the upper and lower boundaries of the RIR cepstrum. (b) Comparison of the F1-scores of method 1 and method 2.
(a)(b)Then, the F1-score of different numbers was simulated of microphone array robotic echo markers in each of the three rooms in Figure10, where the reflection coefficient of the room is 0.5,0.6,0.7,0.8. The experimental results are shown in Figure 12. The experiments show that the F1-score can be maintained above 95% in all three rooms under low noise conditions (σ ≤ 0.03 m).Figure 12
F1-score results for differentσ values: (a) square room, (b) rectangle room, and (c) pipeline room.
(a)(b)(c)


#### 4.2.2. Simulation of Pose Correction and Room Shape Estimation

Simulation experiments were conducted on robot self-localization and room position estimation in a room with wooden door and glass windows of size 7 m ∗ 7 m. Among them, the sound reflection coefficient of wooden door is 0.7, the sound reflection coefficient of glass window is 0.8, and the sound reflection coefficient of wall is 0.9. The robot’s microphone array is a four-channel microphone array with a radius of 0.2 m. The robot travels around the room along the wall, and every 0.4 m, the robot actively emits sound and simulates the RIR of the current position (σ = 0.05 m).The blue diamond line in Figure13(b) shows the trajectory of the robot without pose correction, and the green line is the closed-loop result detected by the method in this paper. Figure 13(c) shows the trajectory after the pose correction based on the graph optimization, and the optimized path trajectory is basically consistent with the real trajectory. Figure 13(d) shows the location of the reflector estimated based on the optimized path, where the green “×” is the estimated location of the wall, the red “×” is the location of the glass, and the pink “×” is the location of the door.Figure 13
(a) Real room contour and real trajectory of the robot, (b) unoptimized robot trajectory, (c) optimized robot trajectory, and (d) estimated wall position based on the optimized trajectory.
(a)(b)(c)(d)The position errorErr=Xerr2+Yerr2 was used to measure the robot’s self-positioning error and mapping error, where Xerr is the X-axis coordinate error and Yerr is the Y-axis coordinate error. Figure 14(a) shows the average self-localization error and mapping error statistics of the robot traveling some of the position points according to the route in Figure 13(a). The self-positioning error of the robot is less than 3.18 cm with 60% probability, and the average mapping error is less than 4.86 cm with 58% probability.Figure 14
(a) Statistics of robot self-positioning error and reflected wall position estimation error. (b) Histogram of probability distribution of self-positioning error. (c) Histogram of probability distribution of mapping error.
(a)(b)(c)The comparison experiments between the method in this paper and the method based on KEF filtering was done, in which the robot drove around the room randomly once in the above room and simulated 100 Monte Carlo experiments, respectively. The average self-localization error and mapping error of the experiments are shown in Table1, where method 1 is the method without path optimization, method 2 is the method of path optimization by KEF filtering, and method 3 is the method of this paper.Table 1
Position error simulation results.
Self-positioning error (cm)Mapping error (cm)Method 124.525.8Method 23.014.53Method 32.784.38


#### 4.2.3. Real Room Experiments

To verify the stability of our own designed robot and the practical performance of the method in this paper, the experiments were conducted in a real room of 4.3 m × 5.5 m × 3 m (room dimensions were obtained using total station measurements). The total station was placed at the doorway and was used to measure the actual position of the robot as well as the actual position of the walls. The positions of the total station and the robot in the room are shown in Figure15(a). Due to the height limitation of the robot, the robot can only measure the reflected wall under the red line in the right figure in Figure 15(a). The robot travels around the room close to the wall, and every time it moves, the robot actively vocalizes once (moving distance is less than 0.5 m) and records the RIR of the current position. Every time the robot moves during the experiment, the real position of the robot is measured with the total station and recorded. The RIRs obtained by the four microphones are shown in Figure 15(b) (the ambient temperature of the experiment is 30 degrees, and the corresponding sound speed is 349.75 m/s). Red marker points are first-order echoes from the wall, and red marker points of the same shape are first-order echoes from the same wall.Figure 15
Experimental setup and results: (a) experimental room scene, (b) extracted first-order echo marker results in RIR, (c) experimental results graph.
(a)(b)(c)Since the sound insulation panels were added between the speaker and the microphone receiver board and the sound propagation direction of the speaker is 360 degrees in the horizontal direction, there is no first-order reflection echo from the upper and lower walls. The final experimental results are shown in 2D, as shown in Figure15(c). The overall average self-positioning error of the robot is 2.84 cm, and the average mapping error is 4.86 cm.


## 4.1. System Implementation

Our robot is based on the Turtlebot3 Waffle Pi robot, a small, low-cost, fully programmable, ROS-based mobile robot, as shown in Figure8(b). Turtlebot3 consists mainly of Raspberry Pi3 and OpenCR control board (with IMU sensor inside). In this system, OpenCR is responsible for collecting the built-in IMU sensor data and sound data as well as driving the robot to move, Raspberry Pi 3 is responsible for processing and calculating the data, and Raspberry Pi 3 is connected to OpenCR via USB 2.0. The system architecture connection diagram of the robot is shown in Figure 8(a). Since the sound source is close to the microphone array, which may result in larger direct waves and affect the reception of other reflected waves, a sound insulation panel was designed between the microphone array and the sound source to isolate the direct sound. In addition, the sound insulation panel can also isolate the reflected waves from the upper and lower walls. The physical diagram of the robot is shown in Figure 8(c).Figure 8
(a) Connection diagram of each module of the robot: (b) physical diagram of Turtlebot3 Waffle Pi; (c) physical diagram of the robot.
(a)(b)(c)The robot uses an active acoustic scheme for self-localization and room contour estimation, and to prevent the sound signals emitted during the robot’s work from affecting people’s life and work, this paper uses sound pulse signals in the pseudoultrasonic band (16k–24k), which has a wavelength between 1.4 cm and 2.1 cm and can be guaranteed to be received by a small microphone array, and the sound signals in this band are insensitive to the human ear but can be picked up by the robot’s acoustic sensors. Sound source emits a sound signal of 16 kHz–20 kHz chirp pulse signal, which can avoid the leakage of sensitive information such as indoor human voice and ensure the security of privacy, but most speakers do not support the sound signal of the band, the need for speaker selection. Sound generation equipment was used, that is, Huawei Sound is used as the sound source. Huawei Sound is a 360-degree omnidirectional speaker with a frequency response range of 55 Hz–40 kHz and supports 3.5 mm wired audio input.The process of acquiring the sound pulse signal from the robot itself is the process of converting the sound signal from a mechanical wave to a digital signal. The sound signal is first converted into a voltage signal through a microphone, and since this voltage signal is usually small, it needs to be amplified by an amplifier; then, the amplified signal is passed through a 15k–24k bandpass filter to filter out the noise signal outside the pseudoultrasonic band. Finally, the filtered signal is converted to a digital signal by an ADC.Based on the acquisition process of the sound signal, the microphone array signal acquisition board for the robot was designed. The microphone in the acquisition board is a 130F22 omnidirectional microphone from PCB, which has a frequency response range of 10 Hz–20 kHz, and the microphone is an SMB interface that can be plugged into the acquisition board standing up. The acquisition board is a four-channel microphone array, and the microphones are distributed at equal intervals on a circle with a radius of 0.14 m. The physical diagram of the acquisition board is shown in Figure9.Figure 9
Physical diagram of the acoustic signal acquisition board.


## 4.2. Experimental Verification

The experimental part is divided into echo labelling experiments, pose correction and room shape estimation experiments, and real room experiments.


### 4.2.1. Echo Labelling Algorithm Performance Simulation

For the echo labelling experiments, echo labelling simulations were conducted in three different shapes of rooms: square, rectangular, and pipeline. The shape of the room is schematically shown in Figure10, and w1, w2, w3, and w4 were used to denote the four walls of the room, and their corresponding reflection coefficients are α1,α2,α3,α4. The radius of the microphone array of the robot is 0.2 m, and a location in the room is randomly selected, the RIR of each microphone under that location is simulated using the image source method, and the echoes are labelled using the method in Section 3. To verify the robustness of the algorithm to noise, the Gaussian white noise was added to the propagation distance of the signal as follows:(41)d^=d+ε,where d is the true propagation distance and ɛ is the additive noise, and its standard deviation σ varies from 0.01 to 0.05 in steps of 0.005. Similar to [15], the F1-score was used to evaluate the goodness of the echo markers.Figure 10
(a) Square room (8 ∗ 8). (b) Rectangle room (8 ∗ 6). (c) Pipeline room (10 ∗ 4).
(a)(b)(c)Literature [15] solved ELP by means of elliptical iterations, and for comparison, experiments in a square room with reflection coefficients for each wall of 0.8,0.8,0.8,0.8 were performed. Randomly 300 points were chosen to conduct echo labelling experiments with the method of this paper and compare with the method of literature [15]. The experimental results are shown in Figure 11(b), where method 1 is the above method and method 2 is the method of this paper.Figure 11
(a) Schematic diagram of the RIR cepstrum echo markers. The red circle is the RIR cepstrum, and the green dashed line is the upper and lower boundaries of the RIR cepstrum. (b) Comparison of the F1-scores of method 1 and method 2.
(a)(b)Then, the F1-score of different numbers was simulated of microphone array robotic echo markers in each of the three rooms in Figure10, where the reflection coefficient of the room is 0.5,0.6,0.7,0.8. The experimental results are shown in Figure 12. The experiments show that the F1-score can be maintained above 95% in all three rooms under low noise conditions (σ ≤ 0.03 m).Figure 12
F1-score results for differentσ values: (a) square room, (b) rectangle room, and (c) pipeline room.
(a)(b)(c)


### 4.2.2. Simulation of Pose Correction and Room Shape Estimation

Simulation experiments were conducted on robot self-localization and room position estimation in a room with wooden door and glass windows of size 7 m ∗ 7 m. Among them, the sound reflection coefficient of wooden door is 0.7, the sound reflection coefficient of glass window is 0.8, and the sound reflection coefficient of wall is 0.9. The robot’s microphone array is a four-channel microphone array with a radius of 0.2 m. The robot travels around the room along the wall, and every 0.4 m, the robot actively emits sound and simulates the RIR of the current position (σ = 0.05 m).The blue diamond line in Figure13(b) shows the trajectory of the robot without pose correction, and the green line is the closed-loop result detected by the method in this paper. Figure 13(c) shows the trajectory after the pose correction based on the graph optimization, and the optimized path trajectory is basically consistent with the real trajectory. Figure 13(d) shows the location of the reflector estimated based on the optimized path, where the green “×” is the estimated location of the wall, the red “×” is the location of the glass, and the pink “×” is the location of the door.Figure 13
(a) Real room contour and real trajectory of the robot, (b) unoptimized robot trajectory, (c) optimized robot trajectory, and (d) estimated wall position based on the optimized trajectory.
(a)(b)(c)(d)The position errorErr=Xerr2+Yerr2 was used to measure the robot’s self-positioning error and mapping error, where Xerr is the X-axis coordinate error and Yerr is the Y-axis coordinate error. Figure 14(a) shows the average self-localization error and mapping error statistics of the robot traveling some of the position points according to the route in Figure 13(a). The self-positioning error of the robot is less than 3.18 cm with 60% probability, and the average mapping error is less than 4.86 cm with 58% probability.Figure 14
(a) Statistics of robot self-positioning error and reflected wall position estimation error. (b) Histogram of probability distribution of self-positioning error. (c) Histogram of probability distribution of mapping error.
(a)(b)(c)The comparison experiments between the method in this paper and the method based on KEF filtering was done, in which the robot drove around the room randomly once in the above room and simulated 100 Monte Carlo experiments, respectively. The average self-localization error and mapping error of the experiments are shown in Table1, where method 1 is the method without path optimization, method 2 is the method of path optimization by KEF filtering, and method 3 is the method of this paper.Table 1
Position error simulation results.
Self-positioning error (cm)Mapping error (cm)Method 124.525.8Method 23.014.53Method 32.784.38


### 4.2.3. Real Room Experiments

To verify the stability of our own designed robot and the practical performance of the method in this paper, the experiments were conducted in a real room of 4.3 m × 5.5 m × 3 m (room dimensions were obtained using total station measurements). The total station was placed at the doorway and was used to measure the actual position of the robot as well as the actual position of the walls. The positions of the total station and the robot in the room are shown in Figure15(a). Due to the height limitation of the robot, the robot can only measure the reflected wall under the red line in the right figure in Figure 15(a). The robot travels around the room close to the wall, and every time it moves, the robot actively vocalizes once (moving distance is less than 0.5 m) and records the RIR of the current position. Every time the robot moves during the experiment, the real position of the robot is measured with the total station and recorded. The RIRs obtained by the four microphones are shown in Figure 15(b) (the ambient temperature of the experiment is 30 degrees, and the corresponding sound speed is 349.75 m/s). Red marker points are first-order echoes from the wall, and red marker points of the same shape are first-order echoes from the same wall.Figure 15
Experimental setup and results: (a) experimental room scene, (b) extracted first-order echo marker results in RIR, (c) experimental results graph.
(a)(b)(c)Since the sound insulation panels were added between the speaker and the microphone receiver board and the sound propagation direction of the speaker is 360 degrees in the horizontal direction, there is no first-order reflection echo from the upper and lower walls. The final experimental results are shown in 2D, as shown in Figure15(c). The overall average self-positioning error of the robot is 2.84 cm, and the average mapping error is 4.86 cm.


## 4.2.1. Echo Labelling Algorithm Performance Simulation

For the echo labelling experiments, echo labelling simulations were conducted in three different shapes of rooms: square, rectangular, and pipeline. The shape of the room is schematically shown in Figure10, and w1, w2, w3, and w4 were used to denote the four walls of the room, and their corresponding reflection coefficients are α1,α2,α3,α4. The radius of the microphone array of the robot is 0.2 m, and a location in the room is randomly selected, the RIR of each microphone under that location is simulated using the image source method, and the echoes are labelled using the method in Section 3. To verify the robustness of the algorithm to noise, the Gaussian white noise was added to the propagation distance of the signal as follows:(41)d^=d+ε,where d is the true propagation distance and ɛ is the additive noise, and its standard deviation σ varies from 0.01 to 0.05 in steps of 0.005. Similar to [15], the F1-score was used to evaluate the goodness of the echo markers.Figure 10
(a) Square room (8 ∗ 8). (b) Rectangle room (8 ∗ 6). (c) Pipeline room (10 ∗ 4).
(a)(b)(c)Literature [15] solved ELP by means of elliptical iterations, and for comparison, experiments in a square room with reflection coefficients for each wall of 0.8,0.8,0.8,0.8 were performed. Randomly 300 points were chosen to conduct echo labelling experiments with the method of this paper and compare with the method of literature [15]. The experimental results are shown in Figure 11(b), where method 1 is the above method and method 2 is the method of this paper.Figure 11
(a) Schematic diagram of the RIR cepstrum echo markers. The red circle is the RIR cepstrum, and the green dashed line is the upper and lower boundaries of the RIR cepstrum. (b) Comparison of the F1-scores of method 1 and method 2.
(a)(b)Then, the F1-score of different numbers was simulated of microphone array robotic echo markers in each of the three rooms in Figure10, where the reflection coefficient of the room is 0.5,0.6,0.7,0.8. The experimental results are shown in Figure 12. The experiments show that the F1-score can be maintained above 95% in all three rooms under low noise conditions (σ ≤ 0.03 m).Figure 12
F1-score results for differentσ values: (a) square room, (b) rectangle room, and (c) pipeline room.
(a)(b)(c)


## 4.2.2. Simulation of Pose Correction and Room Shape Estimation

Simulation experiments were conducted on robot self-localization and room position estimation in a room with wooden door and glass windows of size 7 m ∗ 7 m. Among them, the sound reflection coefficient of wooden door is 0.7, the sound reflection coefficient of glass window is 0.8, and the sound reflection coefficient of wall is 0.9. The robot’s microphone array is a four-channel microphone array with a radius of 0.2 m. The robot travels around the room along the wall, and every 0.4 m, the robot actively emits sound and simulates the RIR of the current position (σ = 0.05 m).The blue diamond line in Figure13(b) shows the trajectory of the robot without pose correction, and the green line is the closed-loop result detected by the method in this paper. Figure 13(c) shows the trajectory after the pose correction based on the graph optimization, and the optimized path trajectory is basically consistent with the real trajectory. Figure 13(d) shows the location of the reflector estimated based on the optimized path, where the green “×” is the estimated location of the wall, the red “×” is the location of the glass, and the pink “×” is the location of the door.Figure 13
(a) Real room contour and real trajectory of the robot, (b) unoptimized robot trajectory, (c) optimized robot trajectory, and (d) estimated wall position based on the optimized trajectory.
(a)(b)(c)(d)The position errorErr=Xerr2+Yerr2 was used to measure the robot’s self-positioning error and mapping error, where Xerr is the X-axis coordinate error and Yerr is the Y-axis coordinate error. Figure 14(a) shows the average self-localization error and mapping error statistics of the robot traveling some of the position points according to the route in Figure 13(a). The self-positioning error of the robot is less than 3.18 cm with 60% probability, and the average mapping error is less than 4.86 cm with 58% probability.Figure 14
(a) Statistics of robot self-positioning error and reflected wall position estimation error. (b) Histogram of probability distribution of self-positioning error. (c) Histogram of probability distribution of mapping error.
(a)(b)(c)The comparison experiments between the method in this paper and the method based on KEF filtering was done, in which the robot drove around the room randomly once in the above room and simulated 100 Monte Carlo experiments, respectively. The average self-localization error and mapping error of the experiments are shown in Table1, where method 1 is the method without path optimization, method 2 is the method of path optimization by KEF filtering, and method 3 is the method of this paper.Table 1
Position error simulation results.
Self-positioning error (cm)Mapping error (cm)Method 124.525.8Method 23.014.53Method 32.784.38


## 4.2.3. Real Room Experiments

To verify the stability of our own designed robot and the practical performance of the method in this paper, the experiments were conducted in a real room of 4.3 m × 5.5 m × 3 m (room dimensions were obtained using total station measurements). The total station was placed at the doorway and was used to measure the actual position of the robot as well as the actual position of the walls. The positions of the total station and the robot in the room are shown in Figure15(a). Due to the height limitation of the robot, the robot can only measure the reflected wall under the red line in the right figure in Figure 15(a). The robot travels around the room close to the wall, and every time it moves, the robot actively vocalizes once (moving distance is less than 0.5 m) and records the RIR of the current position. Every time the robot moves during the experiment, the real position of the robot is measured with the total station and recorded. The RIRs obtained by the four microphones are shown in Figure 15(b) (the ambient temperature of the experiment is 30 degrees, and the corresponding sound speed is 349.75 m/s). Red marker points are first-order echoes from the wall, and red marker points of the same shape are first-order echoes from the same wall.Figure 15
Experimental setup and results: (a) experimental room scene, (b) extracted first-order echo marker results in RIR, (c) experimental results graph.
(a)(b)(c)Since the sound insulation panels were added between the speaker and the microphone receiver board and the sound propagation direction of the speaker is 360 degrees in the horizontal direction, there is no first-order reflection echo from the upper and lower walls. The final experimental results are shown in 2D, as shown in Figure15(c). The overall average self-positioning error of the robot is 2.84 cm, and the average mapping error is 4.86 cm.


## 5. Conclusion

This study introduces a graph optimization-based acoustic SLAM edge computing system and a method that provide new ideas for the solution of the acoustic SLAM problem. Based on the solution in this study, the robot can use acoustic signals to achieve self-localization and centimeter-level room map construction services containing door and window information. The current method in this paper has better performance in an empty room. In the future, acoustic SLAM research will be conducted in more complex indoor spaces.



---

*Source: 9126833-2021-12-03.xml*