Overcoming Kinematic Singularities for Motion Control in a Caster Wheeled Omnidirectional Robot

: Omnidirectional planar robots are common these days due to their high mobility, for example in human–robot interactions. The motion of such mechanisms is based on specially designed wheels, which may vary when different terrains are considered. The usage of actuated caster wheels (ACW) may enable the usage of regular wheels. Yet, it is known that an ACW robot with three actuated wheels needs to overcome kinematic singularities. This paper introduces the kinematic model for an ACW omni robot. We present a novel method to overcome the kinematic singularities of the mechanism’s Jacobian matrix by performing the time propagation in the mechanism’s conﬁguration space. We show how the implementation of this method enables the estimation of caster wheels’ swivel angles by tracking the plate’s velocity. We present the mechanism’s kinematics and trajectory tracking in real-world experimentation using a novel robot design.


Introduction
Omnidirectional mobile robots are capable of traversing in three dimensions from any given configuration without steering ( [1,2]), which enables driving through winding paths with small tracking errors. This nature of omni robots makes them very popular for industrial [3], as well as for academic applications [4]. Such robotic platforms commonly use omni-wheels (e.g., [5,6]). However, researchers have presented other mechanisms for omnidirectional robots. Jung and Kim [7] developed an omnidirectional wheeled robot equipped with three conventional wheels actuated by only three motors resulting in no actuation redundancy. Motors rotational motion is transmitted by a special gear train to the wheels and to a revolute joint. Karavaev et al. [8] introduced a spherical omnidirectional robot driven by an internal omni wheeled platform.
The use of omni-wheels involves some undesired side effects. For example, Hamaguchi [9] presented a mechanism and control scheme to reduce the vibrations of omniwheeled robots.
The use of caster wheels (CW) is widely used for mobile robots in many applications. This use is divided into two kinds of operations. In the common one, the CW is not actuated. For example, it serves as a third contact point with the ground for a differential-steering mobile-robot, etc. (see for example [10,11]). Hooks et al. [12] presented a quadrupedal robot having CW in its contact point with the ground. The CW enables the robot to enter a wheeled mode by lowering itself onto its passive CW, which is far more efficient in terms of power consumption. In such cases, the CW is not actuated and its velocity or orientation is not considered. Furthermore, in many cases, as a result of the assumption of no skidding and slipping, the caster wheels seemingly have no impact on the vehicle kinematics. However, cases where this assumption does not hold have been investigated.
In [13], a kinematic model is presented for prediction of the impact of caster wheels on the maneuvers of a mobile robot involved with differential-steering.
The second operation mode for mobile robots is by activation of the caster-wheels, which is referred to as active caster wheel (ACW). The activation is carried out by some combination of two actuations, one for the wheel steering and the other for its angular velocity.
As maintained by Campion [14], an omnidirectional robot that has three caster wheels must actuate four of the six wheels' rotation axes to avoid singularity. Authors present ACW-based platforms with different actuation modes. In [15], a robotic platform with 2 ACWs, each has a dual motor for steering and velocity. Such actuation is endowed, as expected (see [14]), with high mobility and has no singularity involved, which provides reliable trajectory tracking. Planar mobile robots have 3 degrees of freedom (DOF) and the actuation is carried out for >3 DOFs, the redundancy commonly involved with skidding. Skidding generates inadvisable uncertainties of wheel rotation, which leads to odometry errors. Some researchers cope with the problems associated with such skidding by development of a model based motion planner. For example, in [16] the authors use odometry to calculate robot maneuvering, then a comparison with external sensors estimates the accuracy of the odometry. Since the wheel drive shafts should rotate 360 • in its perpendicular axis, ACW operation requires the driving moment to pass over the wheel steering axis. Advanced mechanisms to enable such an operation with the two motors fixed to the main platform have been proposed. In [17], the dual wheel active caster is presented. The mechanism is structured by two motors for the driving and steering, in which two magnetic clutches transmit the moments to the shafts via the transmission. In [18], the authors present an ACW with a ball-roller traction system, with such an operation proposed to be simple to control and fabricate. However, it probably is involved with high levels of skidding at high speeds or high external moments on the wheel's driving or steering axis.
Researchers have investigated the mobility of ACW based platforms. Naturally, omnidirectional platforms for off-road and rough-terrains are not feasible since the omni-wheels cannot carry forces in their rotation direction axis. That is the reason why omnidirectional platforms are commonly used on flat and smooth surfaces [19]. However, efficient control, together with smart mechanics, enables them to extend their use to other environments. In [20], a new development of an omnidirectional robot for off-road is presented. The robot is driven by four crawler-roller mechanisms and controlled automatically by a designed controller based on its dynamics model. In [21], the authors present a control scheme for an omnidirectional robot that considers its kinematics, and improved odometry reduces the position drift due to slipping wheels. A conventional omni wheel fails to overcome a stair because of the small diameter of the sub-wheels. In [22], the authors demonstrate a spherical wheel referred to as an "omni-ball". The omni-ball has one active rotation axis and two passive rotational hemispherical wheels.
Path tracking is also of great interest in robotics [23]. The researchers in [24] presented a learning scheme for omni mobile robot path tracking. As the researchers claimed, mobile robots are widely used in hospitals for drug delivery, public area disinfection, and medical examinations. This paper presents an omni robot that uses regular caster wheels with passive swivel joints that may give an advantage in case of unexpected side collision from the side as we will discuss.

Contribution and Paper Organization
This paper introduces a novel, caster wheeled based omni directional planar robot (COR). By using a regular set of wheels, the COR, unlike traditional omni wheels, is able to traverse in rough terrains, since it is not limited to mount objects that are smaller than its sub-wheels. The platform we shall present in this paper is actuated by only three motors for the advancement of the wheel rather than its orientation. Although this mechanism is involved with singularity, which shall be discussed later on, it has an advantage in the sense of slipping avoidance-its passive swivel axes. When traversing the plane in a straight line, a perpendicular force will cause the mechanism to change the swivel axes' angle causing a change in the motion's direction rather than slipping on the plane and losing odometry. Such a quality is mostly desirable when traversing in crowded human environments. Yet, the passive DOF requires the kinematic analysis that will be presented below.
This paper is organized as follows: Section 2 presents the LS's mathematical model. In Section 3 we describe two methods for the motion planning scheme. Section 4 discusses the problem of COR's singularity and introduces a novel calculation scheme in the mechanism's configuration space. We give our simulation results in Section 5 and discuss them and future work in Section 6.

Kinematics
Similar to traditional omnidirectional robots, in general, the COR is a holonomic-drive mechanism and able to generate motion in its three DOFs regardless of its configuration. In this section, we shall present the kinematics of the COR that enable the omni characteristics.
The vectors presented in Figure 1 enable us to generate the following equation for controlling the motion in a global coordinate system: where x i is the connection point of the i-th wheel with the ground, P is the robot's center position, and φ is its orientation. R and R i are the rotation matrices. A caster swivel angle θ is measured between a wheel's arm d and its caster axis position r. When we take a time derivative of Equation (1), we obtain the following: Note that since the i-th wheel rotation results in x i to move only in the direction of d i we may set:ẋ where ω i is simply the wheel's rotational velocity and r w is wheel radius. This results with: Finally, Equation (4) may be organized in the form: where ω = [ω 1 , ω 2 , ω 3 ] T are the wheel rotational velocities and q = [ṗ x ,ṗ y ,φ,θ 1 ,θ 2 ,θ 3 ] T are the plate's planar linear velocity, plate's orientation change and caster swivel angle change, respectively. The Jacobians J 1 , J 2 are where I n×n and 0 n×m are the n order identity matrix and n by m zero matrix, respectively, Note that the shape of J 1 , J 2 enables an easy construction of the Jacobians for any number of wheels. For further explanation on the parallel mechanism's kinematic model see [25].

Motion in a Desired Direction Using the Kinematic Model
In this section, we describe, given a COR configuration, how to calculate the wheel velocities in order to generate motion in the desired direction.
We begin by defining a point on the plane p d = [x d , y d ] which we desire to move in its direction. For simplicity, given the direction, it is possible to rotate the xy plane's coordinate system around the z axis in an angle α = − tan −1 ( y d x d ) measured from the positive X axis. In this paper, we use atan2(y, x) function to avoid the periodic nature of tan(·) function. Such rotation directs the desired motion in the x-axis alone. Our base approach is to use gradient descent in order to reach p d . The three wheeled COR at any given configuration c = [x, y, φ] may be thought of as a 4-bar mechanism as depicted in Figure 2. In order to move in a desired direction, that is, the x direction (as mentioned above) one may calculate the gradient in the COR current configuration and give the wheels the velocities according to ∇x. This will indeed result in motion in the x direction. Yet, since we pursue an omnidirectional robot this will not suffice-we desire to restrict motion in the y or φ direction. We shall achieve this by calculating ∇y or ∇φ at the current configuration. The null spaceK = null(∇y) is a orthonormal subspace at c such that motion inK maintains the value of y as depicted in Figure 3 (this can be performed in the same way for φ). In general, for a COR having N wheels we calculate the wheel velocities by: Obviously, we may use Equation (6) in order to project ∇φ onK = null(∇y) for achieving rotation of the COR while maintaining its y position (See [26,27] for high dimensional constraint crawling).

New Velocity Space Coordinates
Moving in some desired direction will eventually result in all wheels traveling in the same direction; that is, all d i are approaching to become parallel. In the wheel velocity coordinate system, the meaning of such configurations is that the motion gradient ∂x ∂ω i = 0 ∀i ∈ [1, N], so a different approach must be taken (this is the result since we move one wheel and the others are assumed to be revolute joints of the 4-bar). This can be overcome by changing the set of coordinates. The wheel velocity space Ω is an N-dimensional orthogonal space. We define a new orthogonal base [e 1 , . . . , e N ], such that each vector e j is defined as: obviously, e j (j) = 0. We calculate the x-axis motion gradient by: where allê j are unit length. Note that in this new vector base, one may calculate the motion direction gradient for any wheel orientation.

Overcoming Kinematic Singular Configurations
The singularity of the caster wheel omni mechanism is widely discussed in the literature [28]. In general, singular configurations accrue when one of the Jacobian matrices is singular or ill-conditioned (i.e., close to singularity). Here we focus on singular configurations where the mechanism loses a degree of freedom, resulting in the J 2 Jacobian becoming singular due to the no-slipping-wheels assumption. The main problem with such configurations is that although there is a possible actuation for the wheels (e.g., when all d i are parallel, an equal speed for all wheels results in motion in a straight line) this cannot be calculated accurately due to the Jacobian singularity. We shall now present a scheme for calculating the mechanism's motion without kinematic singularities.
We calculate the COR's motion in its mechanism's configuration space C. Our calculations are suitable for any wheel number, yet for simplicity we shall present our solution for the case where N = 3. A COR configuration is defined as the position of all d i segments (see Figure 1); i.e., the caster rotation axis positions (marked as x 1 , y 1 , x 2 , y 2 , x 3 , y 3 ) and the wheel-ground points: So, C is a 4N dimensional space. A motion in C is calculated in small steps in some desired direction. For example, the vector V ∈ C which is defined as: points in the direction resulting in the COR polygonal frame traversing the plane in the x direction. Obviously, moving in V direction defined in Equation (10) will not suffice for two reasons: First, the motion in C must maintain the mechanical constraints. Second, Since the COR is an under actuated mechanism, the polygonal frame may move without the rotation of the wheels. Thus, we are interested in calculating the motion in C as a result of the wheel rotations. We shall first define the mechanical constraints in C. The functions f i and g i define the d i segment's length and the polygonal frame segments' length: In order to maintain the mechanical constraints the values of g i , f i , i = [1, 2, 3] must be kept. We assume rolling motion of the wheels without slipping. We define by s i the i-th wheel motion direction in C: As described in the motion planning section, the motion of the COR is the result of actuating the wheels with the desired velocities [ω d,1 , ω d,2 , ω d,3 ] (see Equation (6)). In that case, the desired direction in C is of the form: Note that using Equation (12) one may construct the orthogonal baseê i as defined in Equation (7). We move in C and maintain the mechanical constraints by first calculating the null spaceM of all ∇ f i , ∇g i . Since projecting the desired motion direction onM will not necessarily maintain the desired wheel velocity relations, we define a subspace S ∈ C such that its vector base is spanned by the columns of the following matrix: the normalized columns in S are denoted byŜ. We defineṼ as the direction of the projection of V onM ∩Ŝ Finally, by using the method described in Section 3, we may proceed moving in C by: c(k + 1) = c(k) + εṼ (14) which maintains the wheels' desired velocities (see Equation (12)). The desired wheel velocities may be calculated from the configuration change This scheme is summarized in Algorithm 1.

Swivel Angles Estimation
Since the models presented above are based on the COR swivel angles, a model-based controller should measure or estimate them. The angle measurements require encoders which enable continuous rotations. In many applications, it may be preferable to withdraw these encoders to reduce the robot's cost or design complexity and estimate the swivel angles based on the control inputs and odometry measurements of the robot's chassis, such as optical-flow sensors. A particle filter (PF) was chosen to this end. Due to the same considerations, the swivel angular velocity and angular acceleration have not been measured, so the estimator lacks the ability to apply the time-propagation of particles (samples). We now briefly present the model-based estimator we use below.
We define the set of N i particles as the COR swivel angles ζ i = θ i 1 ,θ i 2 ,θ i 3 T . Since the time-propagation of the samples is not available, in each time step we apply a perturbation to the set of the particles to avoid particle-kidnap [29]. For the measurement update, for each particle theṗ i , i ∈ [1, N i ] was computed using the method presented in Section 4. We define v i =˙p i ṗ i and u =ṗ ṗ (see Equation (4)). Finally, the particle importance-weight was computed as: Note that an average of a sequential signal may involve a summing error. Averaging two angles of 350 • and 10 • the regular average provides 180 • where the real average is 0 • . Since the estimator's output is a weighted average of all particles, we average using: which is the estimation for the j-th swivel angle.

Results
We tested our kinematic model in simulations. Our results show that the usage of the configuration-space-kinematic model eliminated the COR singularities' ill features and the time propagation became accurate. Solving this enabled us to continue to the real-world experiments.
We conducted several real-world experiments with the COR in order to test the timepropagation and the state-estimation. We compared the mathematical model with the COR that was fabricated in the robotic research laboratory. The θ i angles were measured by using YUMO E6B2-CWZ3E optical encoders (1024 PPR) each having a resolution of 0.172 degrees. The COR's wheels were actuated using a JGB37-3530B DC motor with integrated Hall-effect encoder. These encoders enabled the angular velocity measurement for activating the wheels in the desired velocity. The DC motor's six wires were passed through the swivel joint using an SNM022A-06 slip ring. The segments r i and d i were 310 mm and 112.5 mm, respectively (see Figure 1), and the wheels diameter was 120 mm. Reading the six encoders and actuating the three DC motors was carried out using two two ESP WROOM 32 modules that communicated with a PC using UDP communication. The robot received the desired wheel velocity and sent back its swivel angles and wheel encoders. The COR platform was actuated using an 11.1 V 18650 battery pack.
We used a set of 18 Optitrack Flex-13 cameras for detecting the COR position and orientation in order to evaluate the mechanism's performance. The cameras were located in a room of 5 × 8 [m] (see Figure 4), wherein such a configuration applied an accuracy of less than one mm in the position and rotational error less than 0.05 • of a rigid body.

Path Tracking
To demonstrate the efficiency of the kinematic model, we implemented a path tracking mission using a standard pure-pursuit scheme, where we closed the loop by the Optitrack system, which measured the COR's position and orientation. Given some predefined path that the COR aims to track, the tracking error was measured by the Optitrack system at every time step. According to this error, the motion direction was computed in such a way that the motion vector intersects the desired path within a predefined search radius. The tested trajectories were a 1.8 m radius circle and a square with 2 m sides. We recorded the COR's state at every time step during the experiment and used it to estimate the swivel angles. Based on the real-world path tracking performances, we can state that the COR was able to follow the desired trajectory with an average error of 1.2 cm with an STD of 3.4 cm. Figure 5 presents the desired circular and rectangular paths and the COR's actual trajectories. Note that the actual trajectory oscillated (bottom side of the rectangular and right-top side of the circular) due to the pure-pursuit scheme's nature and not as a result of model weakness. When implementing a pure-pursuit scheme, once a high error takes place, the direction of motion becomes perpendicular to the path, which makes the oscillations repeat itself (see Figure 6). Note that due to the high accuracy of the Optitrack system and the encoders used in the swivel angle measurements the path tracking may be further improved. Moreover, it is possible to combine the Optitrack accuracy with the configuration-space-kinematic model to estimate the swivel angles (see the following subsection). In addition, Since we use regular wheels, the COR position calculation using odometry may be calculated since the wheel slipping may be neglected.

Swivel Angle Estimation
As stated above, in some cases, measuring the swivel angles by encoders is mechanically complex. Since the proposed kinematic model eliminates the inaccurate time propagation close to singular configurations, it enables us to estimate the swivel angles with high accuracy. We conducted a set of real-world experiments to test this estimation process. To this end, we implemented a Particle-Filter (PF) with 1000 particles. The importance weights are computed relative to the angle between the unit vector of the actual maneuver and the one accepted by a simulated one, where the configuration-space-kinematic model generated the simulated vector, using the last estimated swivel angle set, as described in Section 4.1 Equation (16).
The PF performances are presented in Figure 7, which presents the statistics of a set of 100 experiments of traveling along two neighboring sides of the rectangle path shown in Figure 5. The results show that the estimation process converged in about 18-25 time-steps to an estimation error of less than 0.2 [rad]. The growth of the error around the 85-90 timesteps is the result of the 90 • turn, which is inevitable since measurements of the swivel velocities are not available.

Conclusions
This paper deals with motion planning of an actuated caster wheel robot. The actuated caster wheels platform enables the usage of regular wheels which may be an advantage since wheels for different terrain are available. In this paper, we calculated the time propagation in the mechanism's configuration space in order to overcome the singularities of the kinematic model. This is necessary since, in such a mechanism, traversing in a straight line results in a singular configuration. We then showed how it is possible to estimate the caster swivel angles using the mechanism's linear velocity as the estimator's input. Future work: A uniqueness of the COR mechanism is its passive DOF. When traversing the plane in a straight line, force in the perpendicular direction will cause the mechanism to change the motion's direction rather than slipping on the plane and losing odometry. Such a quality is mostly desirable when traversing in crowded human environments. We also plan to improve the odometry accuracy using the wheel encoders and without the encoders by using an optical flow sensor. Finally, the ability of infinite revolutions of the swivel joints requires an encoder and slip ring which increase the mechanical complexity. We intend to design a COR where each swivel joint angle is limited to the value of [−π, π]. Since in such a design the omni quality is impaired, we shall develop a motion planning algorithm for the new mechanical design. Note that our results show that the passivity of swivel joints may be handled when traversing the plane. Obviously, in a highly rough terrain the swivel angle will change during obstacle climb. The limitation of driving in rough terrains and on a slope plane where the slope is perpendicular to the motion direction will be tested.