**Stefano Seriani 1,\*, Lorenzo Scalera 2,3, Matteo Caruso 1, Alessandro Gasparetto <sup>2</sup> and Paolo Gallina <sup>1</sup>**


Received: 30 March 2019; Accepted: 29 May 2019; Published: 31 May 2019

**Abstract:** In this paper, we present the modeling and validation of a new family of climbing robots that are capable of adhering to vertical surfaces through permanent magnetic elements. The robotic system is composed of two modules, the master and the follower carts, which are arranged in a sandwich configuration, with the surface to climb interposed between them. Thanks to this configuration, the mobile robot can climb even nonferromagnetic and curved surfaces; moreover, the master cart is capable of freely moving on the floor by detaching from the follower. In this paper, we propose the mathematical modeling, simulation, and experimental validation of this kind of robots, with particular focus on the transitions between floor and climbing motion.

**Keywords:** mobile robot; climbing robot; wheeled robot; magnetic adhesion

#### **1. Introduction**

In recent years, mobile robots have become increasingly common and have found applications in several different fields. For example, they are employed in the industrial and commercial field for material handling and stocking [1], in agriculture for inspection and monitoring [2,3], in civil contexts for cleaning operations [4], surveillance [5], proximal sensing [6], and service tasks [7], as well in space exploration and hazardous environments [8–10].

In this context, a special family of mobile robots is that of robots capable of climbing on wall surfaces. Climbing robots are often adopted for inspection and safety in process industries, maintenance, and diagnosis in civil constructions, as well as in places where the presence of a human can be very expensive or dangerous due to a hostile environment. Climbing robots have to be lightweight, carry sensors and instrumentation, and have to be provided with a proper locomotion and adhesion system with respect to the surface they have to climb. Several different adhesion methods were investigated and tested in the literature: vacuum or suction cups, gripping to the surface, bioinspired adhesion methods, and magnetic adherence [11].

The use of suction force, generated through the Venturi Principle or by means of vacuum pumps, is the most common approach to provide adhesion to a climbing robot. Vacuum technology is usually light, easy to control, and allows to climb over arbitrary surfaces. The main drawbacks are the required time to generate the vacuum, the problem of carrying suction pumps on board, and the limits given by possible surface irregularities. Examples can be found in References [12–14].

Another approach for climbing robots is gripping to the surface by means of claws, limb extremities, or gripping systems. This method allows to climb more irregular surfaces, such as in References [15,16].

Bioinspired adhesive methods are another solution to guarantee adhesion to wall-climbing robots. These technologies are based on the use of patches of microscopic hairs that ensure dry adhesion thanks to Van der Waals forces, as on the legs of several insects, geckos, or spiders [17]. Examples of bioinspired adhesive-climbing robots can be found in References [18–20].

Magnetic force is another principle for creating adhesion in wall-climbing robots. Permanent magnets have several advantages with respect to other adhesion systems: they are inherently reliable, and low cost and no energy are required for adhesion [21]. Magnetic-adhesion climbing systems work very well when the surfaces to climb are composed of ferromagnetic materials. Robotic systems can either be equipped with permanent magnets to adhere onto the surface combined with wheels to move along it [22,23], or can adopt magnetic wheels that combine locomotion and adhesion [24,25]. In the first case, the presence of an air gap has to be taken into account; thus, the force of adhesion is reduced. On the other hand, magnetic wheels provide higher adhesion forces since they are in direct contact with the ferromagnetic surface. Another approach of wall climbing with the principle of magnetic adhesion is given by crawler-based robots [26–28]. Magnetic adhesion wall-climbing robots were adopted in several applications, such as in nondestructive tests [22,23], or for the inspection of ship hulls [27–29].

If the surface onto which wall-climbing robots have to adhere is nonferromagnetic, a possible solution to using magnetic-adhesion systems is to adopt a robot composed of two modules: a master and a follower cart. They are arranged in a sandwich configuration, with the surface to climb interposed between them. Thanks to this approach, the robotic system can climb even nonferromagnetic and curved surfaces; moreover, the master cart is capable of freely moving on the floor by detaching itself from the follower. The added advantage is that this system does not require power, allowing for more compact, lighter, and cheaper robots; indeed, contrary to some proposed concept that does not rely magnets (e.g., References [12,13,17,30]), this method is passive and does not continuously require power. No examples of wall-climbing robots based on magnetic adhesion and composed of two coupled subsystems can be found in the present literature. There exist some industrial examples of these sandwich robots, e.g., the Windowmate robot produced by RF Co. (http://www.mywindowmate.com), and Windoro produced by Iishim Global Co., Ltd. (http://www.mywindoro.com). These systems require an operator to manually detach the two modules.

The main contributions of this work can be summarized as follows:


Indeed, to the best of the authors' knowledge, the permanent-magnet sandwich-configuration robot presented in this paper is the first that is capable to passively climb on nonferromagnetic surfaces, while at the same time being able to autonomously detach itself from the follower cart when needed.

This paper is an extended version of a preliminary work presented at the Second International Conference of IFToMM Italy, IFIT 2018 [31]; it is organized as follows: in Section 2, the architecture of the robot is briefly described, in Section 3 the mathematical model is presented, and in Section 4 numerical implementation is described along with the main simulation results; experiment validation is presented in Section 5; finally, Section 6 highlights the conclusions and possible future developments of this work.

#### **2. Robot Architecture**

The system presented in this paper consists of a robot that is able to crawl and drive on nonmagnetic thin supports, arbitrarily oriented in space. The system, which is illustrated in Figure 1, is composed of two modules, the master and the slave or follower, which are kept magnetically coupled through permanent magnets at either side of the support sheet. This architecture allows for a high degree of mobility through the design of tracks and planes that let the robot climb vertically or even drive upside down. Furthermore, the robot can autonomously discard the slave cart in special slave park areas in order to be free to drive along the horizontal plane as a normal mobile robot would.

**Figure 1.** A conceptual illustration of the "upside-down robot" system in a real-world pick-and-place industrial application scenario.

Envisioned applications of this type of architecture include highly compact storage environments such as greenhouses [32] or pharmaceutical warehouses, where complex transfer operations need to be carried out [33]. In these environments, pick-and-place operations and subsequent transfer to remote locations in the industrial floor are usually needed. Normally, these tasks would require at least two manipulators (serial, Delta, or Scara), one at the origin and one at the destination, along with a mobile system, e.g., a mobile robot or rover. On the other hand, the approach here only presented calls for a single mobile robot with climbing capabilities, which can possibly translate into a decrease in cost and complexity of the entire installation.

The proposed system can be described as the interaction between three entities, a robot, a passive cart, and the environment, in the form of the support sheet. These actors exchange magnetic forces, contact forces, and friction, and are subject to gravity. We can break down this complex interaction by analyzing the limited number of possible situations that the robot can encounter:


Other phases exist that are either a composition or transitions between pairs of the above; furthermore, Phases C and F are considered trivial once the other phases are verified and, as such, need not be discussed in detail. In Figure 2, a diagram of the main phases and main constituents of the system is illustrated.

In the paper, the master robot is generally indicated using the letter "r", while the slave or follower is indicated with "f". The side on which the master drives is called master surface, whereas the opposite is referred to as slave surface. The model geometry is considered as 2D throughout the article, while the model itself can be considered 1D, only considering the misalignment between the master and slave. In order for the system to work correctly, the following conditions have to be satisfied:


In the following section, the model is presented, starting from the magnetic model, and continuing with the pseudostatic model of the robotic system in its main phases, namely, planar and curved-surface driving, and parking.

**Figure 2.** System description and illustration of different operation phases.

#### **3. Mathematical Model**

In this section we present the mathematical model of the robot. We describe the model of the magnetic field and of the robot in the case of a planar surface, a cylindrical surface, and during parking and engaging. Finally, we analyze traction and the contact forces. In this preliminary work, a quasistatic model of the robotic system was taken into account.

#### *3.1. Magnetic Model*

Two magnetic dipole moments, **mr** and **mf**, related to the master robot and follower, respectively, and separated by a vector **r**, interact by exchanging a magnetic force **Fm** and torque *τ***<sup>m</sup>** [34], as follows:

$$\begin{aligned} \mathbf{F\_m} &= \nabla \left( \mathbf{m\_f} \cdot \mathbf{B\_r} \right)\_{\ast} \\ \mathbf{\tau\_m} &= \mathbf{m\_f} \times \mathbf{B\_r} \end{aligned} \tag{1}$$

where magnetic flux density **Br** of the first dipole moment is defined as follows:

$$\mathbf{B\_{I}} = \frac{\mu}{4\pi t} \left( \frac{3\mathbf{r} \left( \mathbf{m}\_{r} \cdot \mathbf{r} \right)}{\left\| \mathbf{r} \right\|^{5}} - \frac{\mathbf{m}\_{r}}{\left\| \mathbf{r} \right\|^{3}} \right) \tag{2}$$

where *μ* is magnetic permeability. Let the unit vector of **r** be *r*ˆ = *r*/ *r*; using a truncated Taylor series, a more manageable form for the force was developed by Yung et al. [35]:

$$\begin{split} \mathbf{F}\_{m} &= \begin{array}{c} \frac{3\mu}{4\pi \|\mathbf{r}\|^{4}} \Big( (\mathbf{\hat{r}} \times \mathbf{m}\_{r}) \times \mathbf{m}\_{f} + \mathbf{\hat{r}} \times \mathbf{m}\_{f} \Big) \times \mathbf{m}\_{r} \\ -2\mathbf{\hat{r}}(\mathbf{m}\_{I} \cdot \mathbf{m}\_{f}) + 5\mathbf{\hat{r}}((\mathbf{\hat{r}} \times \mathbf{m}\_{I}) \cdot (\mathbf{\hat{r}} \times \mathbf{m}\_{f})) \end{array} . \end{split} \tag{3}$$

Despite this formulation being approximate, in that it neglects the higher-order Taylor terms, it is sufficiently adherent to the magnetic behavior found in the problem at hand. In Figure 3, the interaction between the two dipoles is shown.

**Figure 3.** Morphology of **F***<sup>m</sup>* field. In the chart, magnetic moments **m***<sup>r</sup>* and **mf** are vertically aligned. Moment **m***<sup>r</sup>* is placed at coordinates (0, 0). Direction of force acting on the second dipole, shown with arrow plot; magnitude of vertical component of the same force, shown in color-coded chart. White area, upward vertical components (i.e., repulsive).

#### *3.2. Planar-Surface Model*

In the following, we describe the quasistatic model of the robotic system in the case of planar surface. The most fundamental geometric configuration is that in which the master and slave surfaces are straight and parallel to one another (see Phases A and C); for the sake of generality, we model the surfaces as not necessarily parallel, thus defining the inclination angle *γ* of the slave surface with respect to the master plane orientation. This can be seen in Figure 4. Based on the same figure, we assume the frame of reference as centered in point **Q***<sup>r</sup>* and integral to the master robot. It is also assumed that the geometry of the master and slave actors is entirely known, and is defined by the following parameters: the contact point of the rear wheel **P***r*,0, of the front one **P***r*,1, the axis of the rear wheel **H***r*, center of mass **G***r*, and mass *mr*. It is useful to note that, in principle, the points of contact for cylindrical wheels depend on the shape of the surface; in case of a planar surface, their coordinates are trivial to calculate. The geometry and mechanical characteristics of the slave can be defined in the same way with respect to the slave frame of reference (*x* , *y* ) in **Q***<sup>f</sup>* by the following variables: **P** *f* ,0, **P** *<sup>f</sup>* ,1, **H** *<sup>f</sup>* , **G** *<sup>f</sup>* and *mf* . The pose of the slave with respect to the master can be defined by four variables: the two coordinates of point **Ξ**∗, angle *γ*, and position *s* along the slave surface.

We consider, referring to Figure 4, quantities *L*, *hr*, *t* and *hf* the travel of the robot from the beginning of the ramp, the height of the magnet of the robot, the thickness of the support sheet before the ramp, and the height of the magnet of the follower, respectively; from geometrical considerations,

$$\mathbf{E}^\* = \mathbf{Q}\_\mathbf{r} + \begin{bmatrix} -L \\ 0 \end{bmatrix} + \begin{bmatrix} 0 \\ -h\_r \end{bmatrix} + \begin{bmatrix} 0 \\ -t \end{bmatrix} + \begin{bmatrix} 0 \\ \frac{h\_f}{\cos \gamma} \end{bmatrix},\tag{4}$$

from which follows

$$\mathbf{Q}\_{\mathbf{f}} = \boldsymbol{\Xi}^\* + s \begin{bmatrix} \cos \gamma \\ \sin \gamma \end{bmatrix}. \tag{5}$$

**Figure 4.** Straight-surface master–slave interaction. (**a**) Physical implementation of the actors; (**b**) geometrical relation between forces and parameter *s*. Note that friction forces **F***μ*,0, *<sup>f</sup>* and **F***μ*,1, *<sup>f</sup>* are represented by a single vector **F***μ*, *<sup>f</sup>* for simplicity.

In order to determine the pose of the slave in the master frame of reference (*x*, *y*), the following transformation matrix can be defined:

$$\mathbf{T} = \begin{bmatrix} \cos(\pi + \gamma) & -\sin(\pi + \gamma) & Q\_{f,\mathbf{x}} \\ \sin(\pi + \gamma) & \cos(\pi + \gamma) & Q\_{f,\mathbf{y}} \\ 0 & 0 & 1 \end{bmatrix} \tag{6}$$

which allows the following:

$$\begin{cases} \mathbf{P}\_{f,0} = \mathbf{T} \mathbf{P}\_{f,0}^{'} \\ \mathbf{P}\_{f,1} = \mathbf{T} \mathbf{P}\_{f,1}^{'} \\ \mathbf{H}\_{f} = \mathbf{T} \mathbf{H}\_{f}^{'} \\ \mathbf{G}\_{f} = \mathbf{T} \mathbf{G}\_{f}^{'} . \end{cases} \tag{7}$$

At this point, from Equations (1)–(3), we can write *Fm*, *<sup>f</sup> f mr*, *mf* ,*r* and, similarly, *Fm*,*r*, *τm*, *<sup>f</sup>* and *<sup>τ</sup>m*,*r*. We introduce force of gravity *Fg*, *<sup>f</sup>* = *mf <sup>g</sup>*; if we call *<sup>F</sup>*⊥,0, *<sup>f</sup>* and *<sup>F</sup>*⊥,1, *<sup>f</sup>* the normal contact forces between the wheels of the slave and the slave surface, we can express the force equilibrium along direction *y*ˆ , and the moment equilibrium, as follows:

$$
\begin{aligned}
\begin{bmatrix}
1 & 1 \\
M\_{F\_{\perp 0f}} & M\_{F\_{\perp 1f}}
\end{bmatrix}
\begin{Bmatrix}
F\_{\perp,0,f} \\
F\_{\perp,1,f}
\end{Bmatrix} &= \\
\begin{Bmatrix}
\end{Bmatrix}
\end{aligned}
\tag{8}
$$

where, introducing **zˆ** = **xˆ** × **yˆ**, it occurs that *MF*⊥<sup>0</sup> *<sup>f</sup>* = **P**0, *<sup>f</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* × **yˆ** · **zˆ**, *MF*⊥<sup>1</sup> *<sup>f</sup>* = **P**1, *<sup>f</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* × **yˆ** · **zˆ** and *MFg* = **P**1, *<sup>f</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* × **F***g*, *<sup>f</sup>* · **zˆ** , which are the moments generated by forces **F**⊥,0, *<sup>f</sup>* , **F**⊥,1, *<sup>f</sup>* , and **F***g*, *<sup>f</sup>* . The solution of the linear system in Equation (7) yields contact forces **F**⊥,0, *<sup>f</sup>* and **F**⊥,1, *<sup>f</sup>* , which can be used to compute the forces caused by friction, according to Coulomb's law, in dynamic conditions:

$$\begin{cases} \mathbf{F}\_{\mu,0,f} = \mu\_{0,f} \left\| \mathbf{F}\_{\perp,0,f} \right\| \\ \mathbf{F}\_{\mu,1,f} = \mu\_{1,f} \left\| \mathbf{F}\_{\perp,1,f} \right\| \end{cases} \tag{9}$$

where *μ*0, *<sup>f</sup>* and *μ*1, *<sup>f</sup>* are the equivalent dynamic coefficients of friction between the ground and, respectively, the wheel and the front skid of the follower. Variable *s* determines the position of the slave along the slave surface, as shown in Figure 4b, since the follower is not rigidly connected to the master. In fact, location *seq*, where the slave is stable, is determined by the equilibrium of the external forces (magnetic, gravity, and friction) in direction **xˆ** of the support surface, as follows:

$$F\_{\varepsilon f} \left( \mathbf{s}\_{\varepsilon q} \right) = -\mathbf{\hat{x}}^{'} \cdot \left( \mathbf{F}\_{m,f} + \mathbf{F}\_{\mathbf{g},f} + \mathbf{F}\_{f,\mu,0} + \mathbf{F}\_{f,\mu,1} \right) = 0. \tag{10}$$

It is important to note that, while gravity force *Fg*, *<sup>f</sup>* is constant, magnetic force *Fm*, *<sup>f</sup>* as well as friction *Ff* ,*μ*,0 and *Ff* ,*μ*,1 depend on *s*, which renders Equation (8) implicit. In order to solve it, thus finding equilibrium point *seq*, numerical methods have to be used. In Figure 5, the behavior of *Fε*(*s*) is plotted.

Once the location of the slave is known, the **F***m*,*<sup>r</sup>* force vector can be calculated for the master robot, as well as **F***g*,*r*. Hence, the force equilibrium can be stated as **A***r***X***<sup>r</sup>* = **B***r*, as follows:

$$\mathbf{A}\_{\mathbf{I}} = \begin{bmatrix} \hat{\mathbf{F}}\_{\perp 0r} \cdot \hat{\mathbf{x}} & \hat{\mathbf{F}}\_{\perp 1r} \cdot \hat{\mathbf{x}} & \hat{\mathbf{F}}\_{\mu 1r} \cdot \hat{\mathbf{x}} & \hat{\mathbf{R}}\_{\mu 0r} \cdot \hat{\mathbf{x}} \\ \mathbf{F}\_{\perp 0r} \cdot \hat{\mathbf{y}} & F\_{\perp 1r} \cdot \hat{\mathbf{y}} & \hat{\mathbf{F}}\_{\mu 1r} \cdot \hat{\mathbf{y}} & \hat{\mathbf{R}}\_{\mu 0r} \cdot \hat{\mathbf{y}} \\ 0 & \mu\_{r1} & -1 & 0 \\ M\_{F\_{\perp 0r}} & M\_{F\_{\perp 1r}} & M\_{F\_{\mu 1r}} & M\_{R\_{\mu 0}} \end{bmatrix} \tag{11}$$

$$\mathbf{B\_{r}} = \begin{bmatrix} -\left(\mathbf{F\_{g}} + \mathbf{F\_{mr}}\right) \cdot \mathbf{\hat{x}} \\ -\left(\mathbf{F\_{g}} + \mathbf{F\_{mr}}\right) \cdot \mathbf{\hat{y}} \\ 0 \\ -\left(\left(\mathbf{G\_{r}} - \mathbf{Q\_{r}}\right) \times \mathbf{F\_{g}}\right) \cdot \mathbf{\hat{z}} - \mathbf{\tau\_{mr}} \cdot \mathbf{\hat{z}} \end{bmatrix} \tag{12}$$

$$\mathbf{X}\_{\Gamma} = \begin{bmatrix} F\_{\perp 0r} \\ F\_{\perp 1r} \\ F\_{\mu 1} \\ R\_{\mu 0} \end{bmatrix} \tag{13}$$

where *MF*⊥0*<sup>r</sup>* <sup>=</sup> (**P**0*<sup>r</sup>* <sup>−</sup> **<sup>Q</sup>***r*) <sup>×</sup> **Fˆ** <sup>⊥</sup>0*<sup>r</sup>* · **zˆ**, *MF*⊥1*<sup>r</sup>* <sup>=</sup> (**P**1*<sup>r</sup>* <sup>−</sup> **<sup>Q</sup>***r*) <sup>×</sup> **Fˆ** <sup>⊥</sup>1*<sup>r</sup>* · **zˆ**, *MF<sup>μ</sup>*1*<sup>r</sup>* = (**P**1*<sup>r</sup>* <sup>−</sup> **<sup>Q</sup>***r*) <sup>×</sup> **Fˆ** *<sup>μ</sup>*1*<sup>r</sup>* · **zˆ** and *MR<sup>μ</sup>*<sup>0</sup> = (**P**0*<sup>r</sup>* <sup>−</sup> **<sup>Q</sup>***r*) <sup>×</sup> **Rˆ** *<sup>μ</sup>*<sup>0</sup> · **zˆ**. One should note that unit vectors **Fˆ** <sup>⊥</sup>0*r*, **Fˆ** <sup>⊥</sup>1*r*, **Fˆ** *<sup>μ</sup>*1*<sup>r</sup>* and **Rˆ** *<sup>μ</sup>*<sup>0</sup> are known based on the geometry of the contact surface.

**Figure 5.** Behavior of *Fε<sup>f</sup>* in relation to master/slave misalignment distance s.

#### *3.3. Cylindrical Surfaces*

Similarly to the case of planar surfaces described in Section 3.2, by referring to Figure 6, we assume that frame of reference (*x*, *y*) is centered on **Q***<sup>r</sup>* and aligned with the master robot. Contrary to the planar case, when the support surfaces are cylindrical, determining the position of the contact points of the wheels is less trivial. However, based on Figure 6, if we consider the front wheel or skid to be pointlike and described by **P**1,*r*, then, through simple geometrical considerations, projection point Ω can be calculated of the axis of the support surfaces; this allows remaining contact point **P**0,*<sup>r</sup>* to be located. If the frame of reference is (*x* , *y* ), then the same considerations apply to the slave for points **P** 0, *<sup>f</sup>* and **P** 1, *<sup>f</sup>* , and allow the determination of **Ω** .

The pose of the slave with respect to the master frame of reference is given by the geometry of the surfaces (i.e., thickness *t* and radius *ρ*) and by angle *α* that constitutes the misalignment between the master and the slave, as shown in Figure 6c. In fact, in this case, variable *α* determines the position of the slave along the cylindrical surface in relation to the master. At this point, it is possible to write the transformation matrix from slave frame of reference (*x* , *y* ) to master (*x*, *y*):

$$\mathbf{T} = \begin{bmatrix} 1 & 0 & \Omega\_{r,x} \\ 0 & 1 & \Omega\_{r,y} \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} \cos\beta & -\sin\beta & 0 \\ \sin\beta & \cos\beta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 0 & -\Omega\_{f,x} \\ 0 & 1 & -\Omega\_{f,y} \\ 0 & 0 & 1 \end{bmatrix} \tag{14}$$

where *β* = *π* + *α<sup>r</sup>* − *α<sup>f</sup>* . Therefore, using Equation (7), we can determine **P***<sup>f</sup>* ,0, **P***<sup>f</sup>* ,1, **H***<sup>f</sup>* and **G***<sup>f</sup>* in the (*x*, *y*) frame. In order to determine the equilibrium location of the slave robot, we introduce virtual force **F***ε*, *<sup>f</sup>* , which is applied to point **Q***<sup>f</sup>* . The slave robot is in equilibrium when **F***ε*, *<sup>f</sup>*(*αeq*) = 0. The linear system is defined as follows:

$$\mathbf{A}\_f \mathbf{X}\_f = \mathbf{B}\_f \tag{15}$$

$$\mathbf{A}\_{f} = \begin{bmatrix} \mathbf{F}\_{\perp 0f} \cdot \mathbf{\hat{y}} & \mathbf{F}\_{\perp 1f} \cdot \mathbf{\hat{y}} & \mathbf{F}\_{\mu 0f} \cdot \mathbf{\hat{y}} & \mathbf{F}\_{\mu 1f} \cdot \mathbf{\hat{y}} & \mathbf{F}\_{\varepsilon f} \cdot \mathbf{\hat{y}} \\ \mathbf{F}\_{\perp 0f} \cdot \mathbf{\hat{x}} & \mathbf{F}\_{\perp 1f} \cdot \mathbf{\hat{x}} & \mathbf{F}\_{\mu 0f} \cdot \mathbf{\hat{x}} & \mathbf{F}\_{\mu 1f} \cdot \mathbf{\hat{x}} & \mathbf{F}\_{\varepsilon f} \cdot \mathbf{\hat{x}} \\ \mu\_{0f} & 0 & -1 & 0 & 0 \\ 0 & \mu\_{1f} & 0 & -1 & 0 \\ M\_{\mathbf{F}\_{\perp 0f}} & M\_{\mathbf{F}\_{\perp 1f}} & M\_{\mathbf{F}\_{\mu 0f}} & M\_{\mathbf{F}\_{\mu 1f}} & 0 \end{bmatrix} \tag{16}$$

$$\mathbf{B}\_{\mathbf{f}} = \begin{bmatrix} -\left(\mathbf{F}\_{\mathbf{m}f} + \mathbf{F}\_{\mathcal{S}}\right) \cdot \mathbf{\hat{y}} \\ -\left(\mathbf{F}\_{\mathbf{m}f} + \mathbf{F}\_{\mathcal{S}}\right) \cdot \mathbf{\hat{x}} \\ 0 \\ 0 \\ -\pi\_{\mathbf{m}f} - M\_{\mathbf{F}\_{\mathcal{S}}} \end{bmatrix} \tag{17}$$

$$\mathbf{X} = \begin{bmatrix} F\_{\perp 0f} \\ F\_{\perp 1f} \\ F\_{\mu 0f} \\ F\_{\mu 1f} \\ F\_{\varepsilon f} \end{bmatrix} \tag{18}$$

where the moments are *MF*<sup>ˆ</sup> <sup>⊥</sup><sup>0</sup> *<sup>f</sup>* <sup>=</sup> **P***<sup>f</sup>* <sup>0</sup> <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* <sup>×</sup> **Fˆ** <sup>⊥</sup><sup>0</sup> *<sup>f</sup>* · **zˆ**, *MF*<sup>ˆ</sup> <sup>⊥</sup><sup>1</sup> *<sup>f</sup>* <sup>=</sup> **P***<sup>f</sup>* <sup>1</sup> <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* <sup>×</sup> **Fˆ** <sup>⊥</sup><sup>1</sup> *<sup>f</sup>* · **zˆ**, *MF*<sup>ˆ</sup> *<sup>μ</sup>*<sup>0</sup> *<sup>f</sup>* = **P**<sup>0</sup> *<sup>f</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* <sup>×</sup> **Fˆ** *<sup>μ</sup>*<sup>0</sup> *<sup>f</sup>* · **zˆ**, *MF*<sup>ˆ</sup> *<sup>μ</sup>*<sup>1</sup> *<sup>f</sup>* = **P***<sup>f</sup>* <sup>1</sup> <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* <sup>×</sup> **Fˆ** *<sup>μ</sup>*<sup>1</sup> *<sup>f</sup>* · **zˆ** and *MFg* = **G***<sup>f</sup>* <sup>−</sup> **<sup>Q</sup>***<sup>f</sup>* × **F***<sup>g</sup>* · **zˆ**.

**Figure 6.** Master robot and slave on a cylindrical support sheet. (**a**) Master with respect to axis **Ω**; (**b**) slave in its local frame of reference; (**c**) whole system in the frame of reference of the master robot.

Solution **X** = **A**−1**B** of the system, defined in Equation (10), yields information on the forces acting on the slave robot. The behavior of *Fε<sup>f</sup>* (*α*) can be seen in Figure 7; hence, point *αeq*, where the *Fε<sup>f</sup>* (*α*) line intersects with the dashed line, corresponds to equilibrium. The proper solution can be achieved by numerical methods.

Similarly to the case of planar surface, once the slave robot pose is known, it is possible to calculate the forces acting on the master, that is, **F***m*,*r*. Contact forces can be calculated by balance, as for the planar case. Referring to Equations (11)–(13) related to the planar-surface case, the system for cylindrical surfaces is defined as **A***r***X***<sup>r</sup>* = **B***r*, with the only difference being the contact and friction force vectors.

**Figure 7.** Behavior of *Fε<sup>f</sup>* in relation to master/slave misalignment angle *α*.

#### *3.4. Slave Parking/Engaging*

The last phase that is worth mentioning is the coupling and decoupling of the master from the slave. Referring to Figure 2, the reader can note that, during this procedure, the slave enters a slot on the support structure and is prevented to move horizontally. In fact, in Figure 8, a bumper is highlighted that implements this constraint. In order for the procedure to work, two prerequisites have to be satisfied:


The geometry of this case is much the same as that described in Section 3.2. We assume that *L* = 0 and *γ* = 0; we can also say that *t* = *tpark*. Therefore, we can conclude that, in this case, parameter *s* describes the horizontal misalignment between master robot and slave. Furthermore, it happens that *Rhc* = *Fε<sup>f</sup>* . In Figure 9, a typical behavior of the main values that satisfies the prerequisites is plotted against coordinate *s*.

**Figure 8.** Engaging- or parking-phase configuration.

**Figure 9.** Development of forces as a function of *s* during the parking or coupling phase. Dashed line: inferior limit for the curves.

#### *3.5. Traction Margin and Contact Forces*

As seen in the previous sections, the master robot experiences a set of forces: magnetic, gravitational, and frictional, and their gross effect determines whether the robot is able to correctly perform. In fact, for the three general conditions expressed in Section 3 to be satisfied, the contact forces need to always be positive and, at the same time, the total tangential force on the master robot should be lower than the traction limit of the wheels. While contact forces *R*⊥,0,*<sup>r</sup>* and *R*⊥,1,*<sup>r</sup>* are already determined, it can be useful to define an index for the traction limit; we call this the traction margin and indicate it with *Tμ*:

$$T\_{\mu} = 1 - \frac{||\mathbf{R}\_{\mu,0,r}||}{F\_t} = 1 - \frac{||\mathbf{R}\_{\mu,0,r}||}{\mu\_{0,r} ||\mathbf{R}\_{\perp,0,r}||},\tag{19}$$

where **R***μ*,0,*<sup>r</sup>* represents the net tangential force acting on the wheel contact interface as a result of the external forces, and *Ft* = *μ*0,*rF*⊥,0,*<sup>r</sup>* is the maximum traction force that can be transmitted through friction, represented by friction coefficient *μ*0,*r*. Index *T<sup>μ</sup>* = 1, when there is no limit to traction, and *T<sup>μ</sup>* ≤ 0, when traction is completely restrained; in this case, slip happens when the wheel turns.

Therefore, in order for Conditions i–iii, described in Section 3 to be satisfied, the following must hold for every equilibrium configuration:

$$\begin{cases} \quad \begin{array}{c} T\_{\mu} > 0 \\ R\_{\perp,0,r} > 0 \end{array} \\\ R\_{\perp,1,r} > 0 \end{cases} \tag{20}$$

#### **4. Numerical Implementation and Discussion**

As was stated in Section 3, there are four main phases in the system operation. In order to show the behavior of the robot and to characterize the bounds of its geometrical design parameters, the model was implemented and the results are discussed. The fixed parameters are summarized in

Table 1; geometrical parameters are shown in Figure 10. The main condition for operation is expressed in Equation (20).


**Table 1.** Fixed design parameters.

**Figure 10.** Geometry and dimensions of the robots. (**a**) Master and (**b**) slave.

The sheet that constitutes the main support surface is characterized mainly by its thickness *t*, curvature radius *ρ*, and the friction coefficient that emerges when coupled with the wheels and the skid of the master robot and slave. In the following, the results of traction margin *Tμ* are presented in different combinations of parameters, namely, *t*, the mass of the master robot *mm*, the orientation of the gravity vector *ϑ*, and slope angle *γ* of the parking structure.

The first aspect that needs to be addressed is the one related to the curved portion of the support sheet. Indeed, as can be seen from Figure 2, the robot travels from an upright to an upside-down configuration by traveling along a cylindrical polycarbonate sheet. The chart in Figure 11 shows how the traction margin behaves for different sheet thicknesses *t* along the path around the cylinder, represented by gravity vector orientation *ϑ*. For design purposes, the selection of *t* can be done by making sure that Equation (20) is satisfied along the entire curved trajectory, i.e., when −*π*/2 ≤ *ϑ* ≤ *π*/2; this guarantees that the robot operates correctly on the curved sheet.

Curvature *ρ* of the cylindrical surface being the second main parameter, we can see the behavior of *Tμ* against it in Figure 12 along with the contact forces. It is clear from the response surface, that the higher radius *ρ* is, the more diminished its influence becomes on the traction margin. Assuming that the robot has a larger footprint compared to that of the follower, the effect is explained by noting that, as *ρ* decreases, the distance between the magnets increases; the obvious consequence is a reduction in magnetic force.

Ceiling operation, i.e., when the robot is overturned, depends on same Conditions (20); however, in this case, the support surface is planar and horizontal: *ϑ* = *π*/2. It is worth noting that the worst-case scenario is indeed when the surface is horizontal as opposed to otherwise oriented; in Figure 13, the traction margin is shown along with the contact forces: it can be seen that, for a fixed mass of *mr* = 0.200 kg, contact forces are lower than those existing at *ϑ* = 0 at the same thickness *t*, as seen in Figure 11. This observation is made assuming that the influence of curvature is negligible; in fact, as previously discussed, the curvature has a detrimental effect, which strengthens the thesis.

**Figure 11.** Traction margin *Tμ* and contact forces on a curved surface against thickness t and angular position *ϑgravity* along the curved path. (**a**) Traction margin; contact force for (**b**) the wheels in **P**0,*<sup>r</sup>* and (**c**) the skid in **P**1,*r*.

**Figure 12.** Traction margin *Tμ* and contact forces on a curved surface against curvature radius *ρ* and angular position *ϑgravity* along the curved path; (**a**) traction margin; contact force for (**b**) the wheels in **P**0,*<sup>r</sup>* and (**c**) the skid in **P**1,*r*.

The last fundamental operating scenario is that of parking (Phases D and E). These phases are reversible, i.e., the system can transition *F* −→ *E* −→ *D* −→ *C* (engaging with the follower cart) similarly to *C* −→ *D* −→ *E* −→ *F* (parking); note that a certain hysteresis exists that stems from the friction of the follower cart, although this can safely be neglected. Based on the considerations put forth in Section 3.4, in order for coupling/decoupling to work correctly, Conditions i–ii in the same section should be satisfied. As the plot in Figure 14a shows, for small values of sheet thickness *t* that are otherwise either welcome or even necessary for the correct operation in a climbing phase or in upside-down situations (Figures 11 and 13, respectively), traction margin is null or negative past a certain traveling distance (here shown by misalignment *s*, which happens because the follower cart is prevented from moving by the bumper in the park area). The direct consequence would be that wheel slip would occur and the robot would not be able to drive away. This effect justifies the ramp structure (Phase E); in Figure 14b, the relation between traction margin, travel length *L*, and ramp angle *γ* is shown. It can be seen that lower angles allow a larger traction margin, as expected. Furthermore, once a good candidate for *tpark* has been selected using Figure 14a, a ramp must be designed that reaches said thickness starting from sheet thickness *t*; to this intent, the dashed line in Plot b can be used. This provides the travel *L* = (*tpark* − *t*)/ sin *γ* required to reach parking thickness, and thus the value up to which the traction margin should be within limits to guarantee a successful operation.

**Figure 13.** Traction margin *Tμ* and contact forces during ceiling operation in upside-down condition against mass *mr* of the robot and thickness *t* of the support sheet. (**a**) Traction margin; contact force for (**b**) wheels in **P**0,*<sup>r</sup>* and (**c**) the skid in **P**1,*r*.

**Figure 14.** Traction margin during parking; (**a**) *Tμ* during proper parking phase (Phase E) against misalignment *s* and thickness *t*; (**b**) *Tμ* during ramp overcoming (Phase D) against travel *L* and ramp angle *γ*; dashed line: *L* = *L*(*tpark* = 0.020), i.e., the value that *L* should have to reach *tpark* = 0.020 mm.

#### **5. Prototype and Experiment Validation**

In order to provide an early validation on the model, a functional prototype was built based on the design parameters shown in Table 1. The system is visible in Figure 15. A small 5V DC motor with a 900:1 reduction gearbox was used to drive the wheels forward at varying speed. A 3000 mAh battery was used to provide power on board. Given the simple setup, the robot is capable of driving in the forward direction at speeds between 0 and approximately 0.05 m/s. The maximum torque output of 1.2 Nm (at the wheel) is capable of overcoming friction force *Ft* even at *t* = 0, i.e., when magnetic force is at its highest.

Two experiments were defined to provide a comprehensive validation of the model: Experiment 1 was performed to validate the parking phase (Phase E), and Experiment 2 represents motion on a curved surface (Phase B). A comparison with numerical data from the numerical model illustrated in Section 3 is provided. The friction coefficient was lowered artificially from the rubber-PMMA value of *μr*,0 ≈ 0.90 to a value of *μr*,0 = 0.67 with the addition of a thin layer of white adhesive tape, which can be seen in Figure 15a,b. The rationale for this is to reduce the forces required to induce slip, which has the added benefit of reducing stick-slip events.

**Figure 15.** Functional prototype with nonmagnetic transparent support sheet. (**a**) Top view highlighting position of the master and its main component; (**b**) bottom view portraying the slave. The controller (a switch-potentiometer setup) is off-screen. (**c**) Experiment 2 setup, with robot located at approximately *ϑ* = −*π*/4.
