1. 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 omni-wheeled 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.
2. 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
is the connection point of the
i-th wheel with the ground,
is the robot’s center position, and
is its orientation.
and
are the rotation matrices. A caster swivel angle
is measured between a wheel’s arm
and its caster axis position
. When we take a time derivative of Equation (
1), we obtain the following:
Note that since the
i-th wheel rotation results in
to move only in the direction of
we may set:
where
is simply the wheel’s rotational velocity and
is wheel radius. This results with:
Finally, Equation (
4) may be organized in the form:
where
are the wheel rotational velocities and
are the plate’s planar linear velocity, plate’s orientation change and caster swivel angle change, respectively. The Jacobians
are
where
and
are the
n order identity matrix and
n by
m zero matrix, respectively,
,
, and
. Note that the shape of
enables an easy construction of the Jacobians for any number of wheels. For further explanation on the parallel mechanism’s kinematic model see [
25].
3. 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
which we desire to move in its direction. For simplicity, given the direction, it is possible to rotate the
plane’s coordinate system around the
z axis in an angle
measured from the positive
X axis. In this paper, we use
function to avoid the periodic nature of
function. Such rotation directs the desired motion in the
x-axis alone. Our base approach is to use gradient descent in order to reach
. The three wheeled COR at any given configuration
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
. 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
or
at the current configuration. The null space
is a orthonormal subspace at
c such that motion in
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
on
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
are approaching to become parallel. In the wheel velocity coordinate system, the meaning of such configurations is that the motion gradient
, 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
, such that each vector
is defined as:
obviously,
. We calculate the
x-axis motion gradient by:
where all
are unit length. Note that in this new vector base, one may calculate the motion direction gradient for any wheel orientation.
4. 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
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
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
. Our calculations are suitable for any wheel number, yet for simplicity we shall present our solution for the case where
. A COR configuration is defined as the position of all
segments (see
Figure 1); i.e., the caster rotation axis positions (marked as
) and the wheel-ground points:
So,
is a
dimensional space. A motion in
is calculated in small steps in some desired direction. For example, the vector
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
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
as a result of the wheel rotations. We shall first define the mechanical constraints in
. The functions
and
define the
segment’s length and the polygonal frame segments’ length:
In order to maintain the mechanical constraints the values of
must be kept. We assume rolling motion of the wheels without slipping. We define by
the
i-th wheel motion direction in
:
As described in the motion planning section, the motion of the COR is the result of actuating the wheels with the desired velocities
(see Equation (
6)). In that case, the desired direction in
is of the form:
Note that using Equation (
12) one may construct the orthogonal base
as defined in Equation (
7). We move in
and maintain the mechanical constraints by first calculating the null space
of all
. Since projecting the desired motion direction on
will not necessarily maintain the desired wheel velocity relations, we define a subspace
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 on
Finally, by using the method described in
Section 3, we may proceed moving in
by:
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.
Algorithm 1 Constraint-Crawling Pseudo-code |
Data Inputs: Output: wheels velocities While predefined threshold: construct the current configuration using see Equation ( 9) calculate: (see Equation ( 8)), , . calculate: (see Equation ( 13)) calculate: as the projection of on . calculate: . For : calculate: (Equation ( 15)) |
4.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
particles as the COR swivel angles
. 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
was computed using the method presented in
Section 4. We define
and
(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
and
the regular average provides
where the real average is
. 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.
5. 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 time-propagation and the state-estimation. We compared the mathematical model with the COR that was fabricated in the robotic research laboratory. The
angles were measured by using YUMO E6B2-CWZ3E optical encoders (1024 PPR) each having a resolution of
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
and
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
of a rigid body.
5.1. 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.
5.2. 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 time-steps is the result of the 90
turn, which is inevitable since measurements of the swivel velocities are not available.