1 Introduction

Automated guided vehicles (AGVs) are an essential component of flexible and adaptable production of the future. To enable flexible and modular production systems, AGVs offer great advantages due to their maneuverability: In contrast to conveyor technologies, they are able to serve different stations adaptably, which results in a flexible, versatile and freely configurable production [7, 11, 21]. To increase the operating time of AGVs a novel inductive floor enables AGVs to be dynamically supplied with energy during their travel. This paper addresses the research question: Can the contactless induced energy supply from a novel inductive floor be used to navigate omnidirectional AGVs? With such a navigation no extra tracking sensors are needed.

The motion characteristics of AGVs can be distinguished in vehicles with two degrees of freedom (DOF) and omnidirectional vehicles with three degrees of freedom. Due to their steering kinematics, AGVs with two DOF can travel along any target trajectory with a restriction regarding their chassis orientation. In contrast, vehicles with three DOF are able to move in every direction, independent of the chassis orientation [19]. Using three degrees of freedom enables for example smaller radii, which optimizes use of space [19]. Therefore maneuvering time is shorter, because omnidirectional AGVs can travel in the desired direction without first changing their orientation. This facilitates faster cycle times in production. Due to the high cost of warehouse facilities, optimizing space saves money [6, 12].

To utilize the maneuverability of the omnidirectional AGV a navigation which leads the AGV through production is needed. In general, navigation of an AGV solves three important challenges [5]:

  • Tracking the position of the AGV;

  • predicting where the current path will lead it without corrective measures;

  • deciding on necessary adjustments to safely reach a target, possibly along a specified path.

While localization describes the process of determining an object in space, tracking has the goal to identify the position of an object over time [9]. To navigate the AGV through a production layout, tracking can be realized using different kinds of markers in the environment.

A grid of discrete optical or inductive floor marks can be formed (distance between \(1\,\text{m}\) and \(10\,\text{m}\)), providing absolute positions along a free-form track [20]. Simultaneous localization and mapping (SLAM) algorithms and Monte Carlo localization as introduced in [8], are additionally used for the navigation of the AGV between the marks, including position and orientation. Laser, ultrasonic, radar or camera systems are used, to detect the position and direction of the vehicle. These systems use off-the-floor fixing marks as reflectors on walls or pillars to deduce the position. Instead of these fixing marks, contours are also used as natural marks [18]. The marks have to be unambiguous and sufficiently numerous, which limits the flexibility of the production using these systems [20]. A millimeter-scale accuracy is possible [22]. Active transmitting marks include radio transmitters as well as optical transmitters. This method includes global positioning system (GPS) outside buildings and stationary miniature transmitters inside buildings. Navigation using active transmitting marks allows extended ranges [20]. The system is accurate in the order of few centimetres [13] and facilitates as the other introduced systems omnidirectional movement.

Physical guidance systems often use optical, inductive or mechanical lanes. In these systems a primary circuit consists of one coil along the track of the AGV [18]. One or more coils are attached to the underside of the vehicle to detect this track. A deviation from this track is detected by the voltage difference of the coils in the vehicle [4]. Thereby the path is corrected accordingly in the vehicle’s control system. This physical lane, which is installed in the floor, restricts the path of the AGV. Consequently it is only able to move along a fixed line. Hence transport routes must be defined before the tracks are installed in the floor. Subsequent changes to the routes need structural changes to the track in the floor, which makes a production layout inflexible.

In order to fulfill a successful navigation along a desired path, it is also important to decide on necessary adjustments. Odometry is one of the most important techniques to cope with such problems. Encoder data is used to track the motion progress from a certain starting position. Due to wheel slip, ground roughness, etc., errors occur [10]. Therefore, to use odometry for localization, a fusion is made with, for example, the sensor data of the navigation techniques mentioned above.

All of these introduced navigation systems separate the navigation and energy supply: The AGV additionally has to be equipped with a battery. Such a battery can be charged wirelessly, however, the wireless charging module is fixed in place and must be reached by the AGV before energy can be supplied.

A novel inductive raised floor system supplies AGVs with energy at any given point, independent of fixed charging spots. It is intended to make production equipment positioning and supply efficient [14] and thus enables flexible, adaptable production. For this purpose, a concept is described in [15], which enables the supply of energy by an inductive system for mobile production and transport systems. The individual modules, each installed in a raised floor panel, are able to provide their energy selectively. The floor consists of individual tiles with up to five modules in each tile. By moving the energy supply point, in which individual modules provide the energy selectively, the continuous transfer of energy to an AGV is ensured. Thus, the AGV is guided omnidirectional through the production and logistics areas. Simultaneously it is supplied with energy by individual modules under the AGV.

The prototype of such an omnidirectional AGV on the inductive floor is shown in Fig. 1. The intelligent floor was conceptualized and individual tiles were manufactured. A whole floor full of inductive tiles will be manufactured in the near future.

Fig. 1
figure 1

Study case: Scooty Inductive. Scooty is an omnidirectional AGV equipped with four wheels controllable in steering and velocity. It is guided with the help of an inductive floor. With the floor tiles, which include inductive modules, the AGV is able to reach every arbitrary position independent of its orientation. During its travel it is supplied with energy

In this paper the induced voltages from this inductive floor are used to navigate omnidirectional automated guided vehicles (AGVs). More specifically, the main contributions are:

  • The proposal of the Omni-Curve-Parameters (OCP) for the control of an omnidirectional AGV. This is the first work, to the knowledge of the authors, that uses this Transformation to control an AGV to avoid singularities.

  • Depending on the induced voltages of the inductive floor tiles a finite element method (FEM) is used to simulate the movement of the AGV. A novel algorithm, which processes the measure data, combined with an odometry model in a Kalman filter, that uses these simulated voltages is presented to estimate the position on the floor tiles.

  • A novel motion model depending on the input OCP is proposed. This is compared to the estimation of the position to verify the accuracy and the reproducibility of the algorithm.

2 Structure of Localization and Motion Control of the AGV with the Inductive Floor

AGVs usually travel with their fronts centered along the track. Omnidirectional vehicles offer more opportunities to move through production. The omnidirectional AGV in Fig. 2 is capable of reaching every goal independent of its orientation. An arbitrary path is represented by the dashed red line. The vehicle is supposed to follow this illustrated path. For this purpose it starts, equivalent to the already existing inductive lanes, with the front side perpendicularly aligned to the track. In the second position, the vehicle continues to follow the path, but it has turned by a desired angle during its travel. It follows the track with its front right corner (\(\tilde{\beta}=35{}^{\circ}\)). As shown in this example, omnidirectional vehicles are able to smoothly position themselves in every desired orientation to the lane during their travel.

Fig. 2
figure 2

Exemplary movement of an omnidirectional AGV with an inductive floor. The given path of the AGV is marked dashed in red. During its travel along the path the omnidirectional AGV is able to rotate. In the first position it starts with the front centered along the track (rotation and slip angle \(\tilde{\beta}={0}{{}^{\circ}}\)). In the second position the AGV rotated along the way and drives with about \(\tilde{\beta}={35}{{}^{\circ}}\). In the third position it is following the path with \(\tilde{\beta}={90}{{}^{\circ}}\) rotation

The AGV used in the study case and shown in Fig. 1 consists of four traction and four steering drives. With these four wheels, controllable in speed \(\mathbf{u}=(u_{1},u_{2},u_{3},u_{4})^{T}\) and orientation \(\boldsymbol{\alpha}\)\( = (\alpha_{1},\alpha_{2},\alpha_{3},\alpha_{4})^{T}\) it is positioned on the inductive tiles in an omnidirectional manner. Four additional sensor coils are mounted in the vehicle, which Fig. 4 shows schematically, marked S1 to S4. These sensors are symmetrically arranged around the center of the vehicle and determine the induced voltages of the floor’s magnetic field. The coordinate system on an inductive module used in the following is also mapped in Fig. 4.

Fig. 3
figure 3

Structure of the novel navigation method for the omnidirectional AGV with the inductive floor. A desired position of the vehicle is specified in OCP (\(\beta,\,\kappa_{n},\,v_{n}\)). The angle \(\beta_{0}\) is introduced as angular offset to the global coordinate system. With the evaluated speed \(\mathbf{u}_{\text{target}}\) and orientation of the wheels \(\mathbf{\alpha}_{\text{target}}\), the specification of the vehicle model is simulated. The vehicle reference movement evaluates the movement of the AGV on the inductive floor. To determine the measurements \(x_{m}\) and \(y_{m}\) for the Kalman filter the voltages induced by the inductive floor and measured in the AGV (\(\mathbf{u}_{s}\)) are used as inputs for the in Sect. 5 introduced algorithm. The Kalman filter estimates \(x_{\mathrm{pos}}\), \(y_{\mathrm{pos}}\) and rotation (rot) of the vehicle. The introduced concept can be integrated into the control loop outlined. In this case \(v_{n}\) is not controlled for stability reasons

Fig. 4
figure 4

Schematic representation of the vehicle on an inductive floor tile. The sensors for detecting the induced voltages integrated in the AGV are named S1–S4. The indicated coordinate system applies throughout all following calculations

Various components are needed to track the vehicle with the inductive floor. An overview of the most important quantities are shown in Fig. 3. A desired position of the vehicle is specified in OCP and described in Sect. 3. With the evaluated speed and orientation of the wheels, the specification of the vehicle model is simulated. To determine the measurements \(x_{m}\) and \(y_{m}\) for the Kalman filter a novel algorithm is introduced in Sect. 5.

3 Omni-Curve-Parameters as Universal Transformation for Omnidirectional AGVs

Omni-Curve-Parameters presented in [2] are used to specify the omnidirectional movement of the AGV.

The OCP describe the coordinated motion of a vehicle with an arbitrary number and types of wheels, using three physically independent parameters: nominal velocity \(v_{n}\), nominal curvature \(\kappa_{n}\) and slip angle \(\beta\). With these OCP, a vehicle with arbitrary variably arranged wheels can be controlled intuitively in an omnidirectional manner. Two of these parameters (\(\kappa_{n}\) and \(\beta\)) describe the motion modes and only influence the steering configuration of the vehicle wheels [2].

Therefore, the desired path and the orientation of the vehicle towards the path is described with the configuration parameters \(\beta\) and \(\kappa_{n}\).

To rotate the AGV during travel, as described in Fig. 2, the angle \(\beta_{0}\) is introduced. \(\beta_{0}\) rotates the fixed vehicle coordinate system \(x_{\text{AGV}}\), \(y_{\text{AGV}}\) counterclockwise, as shown in Fig. 5. The result is coordinate system \(x^{\prime}_{\text{AGV}}\), \(y^{\prime}_{\text{AGV}}\). The slip angle \(\beta\) is specified according to the vehicle orientation in \(x^{\prime}_{\text{AGV}}\), \(y^{\prime}_{\text{AGV}}\) plane towards the desired path. If \(\beta_{0}\) is zero, the slip angle \(\beta\) is specified according to the vehicle orientation in \(x_{\text{AGV}}\), \(y_{\text{AGV}}\) plane towards the desired path. \(\beta_{0}\) and \(\beta\) adds up to \(\tilde{\beta}\), as shown in Fig. 2.

Fig. 5
figure 5

Specification of the OCP for the omnidirectional AGV. Nominal curvature \(\kappa_{n}\) is used to describe the curvature of the path. Slip angle \(\beta\) describes the orientation of the vehicle towards the path. A change of the rotation of the velocity \(v_{n}\) is realized with a rotation of the \(x_{\text{AGV}}\)\(y_{\text{AGV}}\) plane through an angle \(\beta_{0}\). The OCP are then applied in the rotated coordinate system \(x^{\prime}_{\text{AGV}}\)\(y^{\prime}_{\text{AGV}}\)

In general, a path in a topological space (W) is a curve \(f:[a,b]\rightarrow W\) with domain [a,b] (with \(a> b\) and a,b as real numbers). This path can be parameterized by a curve. E.g. a curve can be defined as image of the path [1]. Therefore the nominal curvature is used, to describe the path of the AGV without singularities. For example, in Fig. 5, the nominal curvature is chosen according to the curvature of the desired path marked in red. The last parameter, the nominal velocity is the desired velocity adapted to the AGV. Nominal velocity, is scaled by a maximum fixed, vehicle-specific velocity [2].

The major advantage of using OCP in the case of omnidirectional inductive guidance is the unambiguous specification of the steering target angles and target velocities. Consequently the AGV is controlled consistently and smoothly. Otherwise, in vehicles with many steered wheels, singularities occur due to the over-determinism, which leads to a high control effort. An example is given in [3], where chassis, which provide non-holonomic and omnidirectional motion capabilities, are kinematically modelled and controlled.

Using OCP, each independently steered and independently driven motor is specified. The calculated target velocities and target steering angles are chosen to satisfy the condition that the pole rays of all wheels intersect in a particular point. This allows controlled cornering without singularities. Consequently, the overdetermined system is controllable in an omnidirectional manner without any computationally expensive conditions.

The presented approach of steering the vehicle with OCP is already implemented, manually tested and verified on the presented vehicle.

4 Reference Vehicle Movement

Generated reference values of the OCP are the input values for the vehicle model (see Fig. 3). The AGV model is required for the simulation of the navigation of the AGV. In the simulation, it is assumed that the motors directly approach the specified reference values. Therefore, the OCP are used for the vehicle reference model.

Using the OCP as generalized model, it is applicable for any omnidirectional AGV. The transformation of the motor steering angles and the motor velocities back into the OCP is not unique. The following vehicle reference is used as test case with constant input \(\kappa_{n}\). The relationship of the presented parameters is shown in Fig. 6.

Fig. 6
figure 6

Important Parameters to mathematically describe the motion of the AGV. \(R\) describes the radius of the path, the AGV is driving. This path describing a circle section is characterized with the angle \(\Psi\). The side-slip angle rotates the instantaneous center of rotation (ICR) counterclockwise. The velocity of the vehicle is named \(\mathbf{v}_{\text{AGV}}\)

Driving a curve with curvature-radius R and angle \(\Psi\) and slip angle \(\beta=0\), as shown in Fig. 6 the velocity \(\mathbf{v}_{\text{AGV}}\) in the \(x_{\mathrm{pos}}\), \(y_{\mathrm{pos}}\) plane (as shown in Fig. 4) on the given tile-coordinates can be determined:

$$\mathbf{v}_{{\text{AGV},\beta=0}}=\left(\begin{array}[]{c}v_{\mathrm{xpos,\beta=0}}\\ v_{\mathrm{ypos},\beta=0}\\ 1\end{array}\right)=\left(\begin{array}[]{c}\cos(\Psi)\,v_{n}\\ \sin(\Psi)\,v_{n}\\ 1\end{array}\right),$$
(1)

with time \(t_{1}\):

$$\Psi=\int_{0}^{t_{1}}\omega\,\mathrm{d}t.$$
(2)

For driving a curve with an arbitrary slip angle \(\beta\) the vehicles position is calculated as described in (1) with a rotation around the instantaneous center of rotation (ICR):

$$\mathbf{T}_{{\text{AGV}\rightarrow\text{ICR}}}=\left(\begin{array}[]{ccc}\cos(\beta)&-\sin(\beta)&0\\ \sin(\beta)&\cos(\beta)&0\\ 0&0&1\end{array}\right).$$
(3)

The movement depending on \(\beta\) is consequently expressed as:

$$\mathbf{v}_{{\text{AGV}}}=\mathbf{T}_{{\text{AGV}\rightarrow\text{ICR}}}\cdot\mathbf{v}_{{\text{AGV},\beta=0}}.$$
(4)

The path \(\mathbf{r}_{{\text{AGV}}}\) with:

$$\mathbf{r}_{{\text{AGV}}}=\left(\begin{array}[]{c}x_{\text{pos}}\\ y_{\text{pos}}\\ 1\end{array}\right)$$
(5)

is calculated:

$$\mathbf{r}_{{\text{AGV}}}=\int_{0}^{t_{1}}\,\mathbf{v}_{{\text{AGV}}}\,\mathrm{d}t.$$
(6)

In addition to the vehicle reference model, the vehicle sensor signals of the sensors detecting the voltages, are required (see Fig. 3). For this purpose data is gathered by an electromagnetic simulation. Based on the \(x_{\text{pos}}\)- and \(y_{\text{pos}}\) of the vehicle calculated in the vehicle movement, the sensor coil values are evaluated at the corresponding position and output from the vehicle model. Accordingly, the measured induced voltage values of the four sensors and the individual motor speeds and motor angles are the output parameters of the vehicle model.

The mathematical approach of the OCP has already been manually tested and verified on the presented vehicle.

5 Estimation of the Vehicle Position with the Inductive Floor

In Fig. 7 an overview of the FEM-model is illustrated. The inductive floor consists of a cross-shaped arrangement of square coils. That way, the concept of the inductive floor can be modularly extended in \(x\)- and \(y\)-direction. The square-shaped secondary coil is located underneath the vehicle, which itself is modeled with an aluminum panel of the vehicle’s bottom extents. Ferrite cores on primary and secondary side improve the flux guidance of the system. The four sense coils are symmetrically arranged in the corners of the secondary coil system.

Fig. 7
figure 7

FEM-model of the inductive floor and the vehicle model. The secondary coil is included in the vehicle, the primary coil in the floor. The sense coils on the bottom side of the vehicle are used to calculate the position-dependent induced voltages. [16]

In principle, the excitation of primary and secondary power coils leads to a geometry- and thus position-dependent spatial magnetic field distribution. The sense coils are arranged in such way that they form a weak magnetic coupling with the secondary power coil. This is due to the fact that the secondary coil, is square shaped in a first approximation. Following Ampere’s Law, the magnetic field caused by the coil’s current mainly occurs around its sides’ lengths. The sense coils are only slightly affeced by this particular magnetic field contribution. Consequently, the position of the vehicle in relation to the primary power coils dominates the effect on the sense coils.

With the parametrized FEM-model, the coupling factors (or mutual inductances \(M\)) of each sense coil with each power coil can be simulated for any arbitrary position of the vehicle on the inductive floor. The knowledge of the coupling factors (or mutual inductances \(M\)) can be used to extract the position-dependent induced voltage in each sense coil using Faraday’s law:

$$u_{\mathrm{sn}}=-M\,\frac{\mathrm{d}i}{\mathrm{d}t}.$$
(7)

As shown in Fig. 7 each tile module of the inductive floor has a symmetrical structure, as there is a square core in the centre. The voltage maps of the four sensors mounted in the vehicle, depending on the \(x\)- and \(y\)-position (as defined in Fig. 7) are shown in Fig. 8. The 3D plots indicate that the largest offset voltage is measured in the center of the inductive module. Toward the edge of the module the voltages are decreasing. The coordinate origin of the vehicle, as shown in Fig. 4, is on the bottom module in the simulation, shown in Fig. 8. Accordingly, the following applies: If the vehicle center is exactly above the inductive modules center, the sensor signals of S1 and S3, as well as the measured voltages of S2 and S4 cancel each other out. On the other hand, if the AGV drives with a positive y-offset, the detection of a higher voltage at sensor coils S3 and S4 occurs. With a y-offset in the negative direction of the vehicle, a correspondingly higher voltage value occurs at sensor coils S1 and S2. For an AGV positioned as shown in Fig. 4 rotated with \(\beta\) in positive direction, as in the first position shown in Fig. 2, the rotation can also be evaluated. In this case the sensor signal S4 is high because it is near the center of the module and the voltage of S2 is low, because it is far away from the center of the module. The sensors installed in the back show the opposite behavior as the front: S1 detects a high voltage and S3 a low voltage. Based on this symmetrical behaviour of the coils mounted in the vehicle, it is consequently possible to determine the position of the vehicle on the inductive floor modules.

Fig. 8
figure 8

Simulation of the signals of the four sensors (S1–S4) installed in the AGV. The \(x\) and and \(y\)-position relates to the center of the AGV. Since the sensors are not centered in the origin of the AGV coordinate system, the voltages are not zero at this point. But in the origin the sense-signals cancel each other out. Mesh resolution depends on the resolution of the electromagnetic simulation

For the evaluation of the vehicle position on the basis of the coil signals on an inductive module, an algorithm is required to evaluate the \(x_{\text{pos}}\)-position and the \(y_{\text{pos}}\)-position of the AGV. Therefore every sensor coil \(k\) has its own evaluation matrix \(\mathbf{U}^{k}_{\mathrm{s}}\):

$$\mathbf{U}^{k}_{\mathrm{s}}=\left(u^{k}_{s(i,j)}\right)_{i=1,{\ldots},g;j=1,2,3}$$
(8)

with g as number of simulation data points. The first column includes the induced voltages, the second column the inherent measured \(x_{\mathrm{m}}\)-position and the third column the inherent \(y_{\mathrm{m}}\)-position. \(x_{\mathrm{m}}\) and \(y_{\mathrm{m}}\) correspond to \(x_{\text{pos}}\) and \(y_{\mathrm{m}}\) coordinate system, shown in Fig. 4. They serve as measurement variables for the Kalman filter, as illustrated in Fig. 3.

In practice the coil signals of the S1–S4 sensors can diverge due to production accuracies. Therefore the introduced matrix \(\mathbf{U}^{k}_{\mathrm{s}}\) of the particular sensors is replaced with experiment data. This ensures the practical feasibility of the introduced algorithm.

With the measured voltage \(u^{k}_{\mathrm{m}}\) at sensor \(k\) the four nearest neighbours with the smallest euclidean distance:

$$d\left(u^{k}_{s(i,1)},u^{k}_{\mathrm{m}}\right)=\sqrt{\sum_{i=1}^{g}\left(u^{k}_{\mathrm{s}(i,1)}-u^{k}_{\mathrm{m}}\right)^{2}}$$
(9)

are evaluated. In this presented implementation, the four nearest neighbours to the measured \(u_{\mathrm{m},k}\) value are searched for. However because of measurement inaccuracy and manufacturing tolerances in practice, the search for more neighbours may turn out to be useful and can be trivially extended.

Since the y-offset of the vehicle is equivalent at the front (S2 and S4), these two are used for evaluation. The same applies to the rear sensors (S1 and S3). Using the determined neighbours \(n_{k1{\ldots}k4}\) of the measured \(u^{k}_{\mathrm{m}}\) value, the error is evaluated. For this purpose, the error \(e_{\mathrm{front}}\) of the neighbours of S2 and S4 is calculated respectively. Based on the minimum of the error \(e_{\mathrm{front}}\) the position of the vehicle is determined. Subsequently, the rear position of the vehicle is calculated.

To evaluate the position, if the resolution of the \(\mathbf{U}_{\mathrm{s},k}\) matrix is high, more nearest neighbours can be searched and the expected value can be calculated.

If more measuring points are used than in this simulation, searching the matrix can be very computationally expensive. Therefore, the described evaluation is supplemented. A prediction of the next position value is possible with an adaption of the search space. Around the last estimated value \(u_{\mathrm{ev}}\) the evaluation matrix \(\mathbf{U}^{k}_{\mathrm{s}}\) is adapted:

$$\mathbf{U}^{k}_{\mathrm{s}}=(u^{k}_{s(i,j)})_{i=i(u_{\mathrm{ev}}),{\ldots},i(u_{\mathrm{ev}+Ra});j=1,2,3}$$
(10)

The radius \(Ra\) of this downsizing process increases proportionally to the driven speed and can be adjusted accordingly. Initially, however, an initialization on the floor tile is needed to find the appropriate starting point.

The evaluated \(x_{\mathrm{m}}\)- and \(y_{\mathrm{m}}\)-position is used as measurement combined with an odometry model of the AGV in a Kalman filter. The advantage of a Kalman filter is that noisy inaccurate measurement values and inaccuracies due to wheel slip and ground roughness etc. can be suppressed. In this case, a trivial AGV model, depending on the motor velocities \(\mathbf{u}\) and on the steering angles \(\boldsymbol{\alpha}\) is used for prediction.

Estimate the x-position \(x_{\mathrm{pos}}\) as:

$$\mathbf{\dot{x}}=\left(\begin{array}[]{ccc}0&1\\ 0&0\\ \end{array}\right)\mathbf{x}+\left(\begin{array}[]{ccc}0\\ b_{x}\\ \end{array},\right)$$
(11)

where:

$$\mathbf{\dot{x}}=\left(\begin{array}[]{c}x_{\text{pos}}\\ \dot{x}_{\text{pos}}\end{array}\right)$$
(12)

with:

$$b_{x}=\cos(\alpha_{1})\,\dot{u_{1}}+\cos(\alpha_{2})\,\dot{u_{2}}+\cos(\alpha_{3})\,\dot{u_{3}}+\cos(\alpha_{4})\,\dot{u_{4}}.$$
(13)

and

$$x_{\mathrm{pos}}=\left(\begin{array}[]{ccc}1&1\\ \end{array}\right)\mathbf{x}.$$
(14)

For the y-position \(y_{\mathrm{pos}}\) equivalently:

$$\mathbf{\dot{y}}=\left(\begin{array}[]{ccc}0&1\\ 0&0\\ \end{array}\right)\,\mathbf{y}+\left(\begin{array}[]{ccc}0\\ b_{y}\\ \end{array}\right)$$
(15)

where:

$$\mathbf{\dot{y}}=\left(\begin{array}[]{c}y_{\text{pos}}\\ \dot{y}_{\text{pos}}\end{array}\right)$$
(16)

with:

$$b_{y}=\sin(\alpha_{1})\,\dot{u_{1}}+\sin(\alpha_{2})\,\dot{u_{2}}+\sin(\alpha_{3})\,\dot{u_{3}}+\sin(\alpha_{4})\,\dot{u_{4}}$$
(17)

and

$$y_{\mathrm{pos}}=\left(\begin{array}[]{ccc}1&1\\ \end{array}\right)\,\mathbf{y}.$$
(18)

This \(x_{\mathrm{pos}}\) and \(y_{\mathrm{pos}}\) are also used to estimate the orientation \(o\) of the vehicle within the coordinate system of the inductive modules:

$$o=\arctan(y_{\mathrm{pos}},x_{\mathrm{pos}}).$$
(19)

Alternatively, this can also be determined using the y-offsets at the front and rear of the vehicle, respectively.

6 Simulative Evaluation of Inductive Omnidirectional Navigation

The presented algorithm is implemented in Matlab Simulink. For this purpose, two different vehicle movements of the introduced AGV with a vehicle specific curvature limit of \(\kappa_{g}=0.4845\,{\text{m}}^{-1}\) on the inductive floor are simulated and evaluated. The two paths of the AGV are shown in red and green in Fig. 9. The vehicle travels over two floor tiles. For the first evaluation (red path), a constant slip angle \(\beta={-3}{{}^{\circ}}\) is used as input for the OCP transformation and a constant nominal velocity \(v_{n}=0.0041\). \(v_{n}\) in this study case results in a velocity of \(0.01986\,\text{m}{\text{s}}^{-1}\). This velocity is chosen that low, because it shows the inaccuracies during the travel. For a higher velocity the algorithm is also working. The nominal curvature is set to zero, \(\kappa_{n}=0\), to evaluate the translatory movement of the vehicle. The result of the reconstruction of the position of the vehicle with the inductive floor is shown in Figs. 10, 11 and 12. Fig. 10 shows the evaluation of the x-position of the AGV. After the vehicle center leaves one inductive floor module the x-position is set to zero. The overtraveled modules of the vehicle, calculated in solid blue agree with the simulation results shown in dashed orange. Since the simulation of the inductive coils is performed with steps of 0.0255 m, small jumps occur in the estimated values. These can be reduced with more accurate electromagnetic simulation or measurement values. With the constant slip angle the constant y-deviation of the vehicle from the centre of the vehicle (shown in Fig. 11) is correctly estimated by the Kalman filter (solid blue) compared to the created vehicle model (dashed orange). Because of the simulation steps in y-direction of 0.00425 m there are inaccuracies in this order. The rotation of \(\beta={-3}{{}^{\circ}}\) of the AGV with respect to the floor coordinate system is also evaluated. This show case is presented in Fig. 12. The rotation is inaccurate on the first inductive module because of the initial conditions and the inaccuracies of the y-position. On the second module the rotation is evaluated successfully.

Fig. 9
figure 9

Simulative scenario on the inductive floor. The virtual target path for the AGV is marked in red. The vehicle drives with \(\kappa_{n}=0\), \(v_{n}=0.0041\) and \(\beta={-3}{{}^{\circ}}\). The second virtual path with \(\kappa_{n}=-0.2\), \(v_{n}=0.0041\) and \(\beta={-2}{{}^{\circ}}\) is marked in dotted green

Fig. 10
figure 10

Simulative evaluation of the x-position of the vehicle driving over two inductive modules. The calculation of the vehicle model is shown in dashed orange. The estimation of the position of the Kalman filter is shown in solid blue

Fig. 11
figure 11

Simulative evaluation of the y-position of the vehicle driving over two inductive modules. The calculation of the AGV model is shown in dashed orange, the estimation of the position after the Kalman filter is shown in solid blue

Fig. 12
figure 12

Simulative evaluation of the rotation of the vehicle on the inductive floor. The calculation of the vehicle model is shown in dashed orange, the estimation of the position after the Kalman filter is shown in solid blue

In the next simulation experiment (green path in Fig. 9) the AGV is simulated to drive a curvature with \(\kappa_{n}=-0.2\), a side-slip angle of \(\beta={-2}{{}^{\circ}}\) and nominal velocity \(v_{n}=0.0041\). The result of the simulation is shown in Fig. 13. \(x_{\text{pos}}\)-position and rotation are almost similar to the first experiment and therefore not shown. The evaluation of the travel with a curvature, shown in Fig. 13 is also successfully evaluated by the Kalman filter (solid blue) compared to the vehicle model. The inaccuracy is as in the translational drive 0.00425 m.

Fig. 13
figure 13

Simulative evaluation of the AGV travel on the inductive floor. In this scenario the AGV drives a curvature with \(\kappa_{n}=-0.2,v_{n}=0.0041\) and a slip angle \(\beta=-2^{\circ}\)

In practice the simulation values can be replaced with measurements on one inductive module to increase the practical functionality of the algorithm.

7 Conclusion

This paper answered the research question: Can the contactless induced energy supply from a novel inductive floor be used to navigate omnidirectional AGVs?

To ensure the AGV follows the requested path trough production a control algorithm is necessary. For controlling the omnidirectional AGV consistently without singularities, a transformation in Omni-Curve-Parameters (OCP) is proposed. To use the floor for tracking, sensors placed in the AGV measure induced voltages. Depending on these induced voltages of the inductive floor a finite element method is used to simulate the movement. Depending on the simulated voltages a novel algorithm is presented which evaluates the voltages to positions on the floor. These positions are combined with an odometry model and a Kalman filter is used to estimate the tracking on the floor. As case study a four wheeled steering- and velocity controlled AGV is introduced. For the evaluation a novel motion model depending on the input OCP is proposed. Simulation results of this vehicle with the inductive floor demonstrate, that the tracking of a vehicle on the inductive floor are accurate to 0.425 cm order and the results are reproducible.

In practice, the accuracy of the method needs to be investigated in the future. It will probably not work as accurately as in the simulation, due to manufacturing inaccuracies, for example. In addition, an investigation of the possible speed in practice must be carried out. If the plates are passed over too quickly, clear position detection can no longer be guaranteed. Since the presented simulated model is based on physical principles and parts of it could already be verified, the research question is answered theoretically. In the near future, the implementation into reality still has to take place.

The presented algorithm can also be used for wireless charging as extension e.g. introduced in [17].

Based on the introduced estimation method of the position with the inductive floor, path planning can be performed. With the position estimated in the Kalman filter this can be considered equivalent to the existing navigation methods. The presented floor is conceptually created and individual plates are already being tested as demonstrators. The introduced vehicle model and control algorithm depending on the OCP have already been tested on the vehicle prototype and the functionality could already be verified.

In further research work, a methodology will be developed, to implement a control algorithm for an omnidirectional vehicle in OCP for different guidance control types and a validation is expected in the near future.