1. Introduction
Time-optimal operation is an important research area because it can increase productivity and minimize mission time. Car-like mobile robots (CLMRs) are useful for carrying goods, and therefore, they are suitable for time-optimal operation. Compared to a differential wheeled mobile robot (DWMR), CLMRs have powerful driving wheels and an Ackermann steering system which allows the CLMRs can turn fast. Time-optimal motion planning that includes not only the path but also the trajectory is necessary to obtain a more feasible and optimal operation. Modeling is essential before obtaining the motion. The feasibility of the obtained motion depends on how CLMRs are modeled with constraints.
Dynamic modeling is a prerequisite to obtain an optimal trajectory. However, if we use an overly complex model, the computational efficiency will drop dramatically relative to the performance improvement gained; this implies that a compromise between the modeling complexity and performance is required. The CLMRs are similar to vehicles because both use Ackermann steering. For vehicles, several studies focused on the tire slip. Huang [Reference Huang and Wang1] proposed a 6-DOF model that considers payload variations. Cairano [Reference Di Cairano, Tseng, Bernardini and Bemporad2] considered the steering braking effect with respect to different tire slip angles and created a type of control architecture that improved yaw stability. Rucco [Reference Rucco, Hauser and Notarstefano3] considered steering braking using a linear tire model for time-optimal control. In this case, the vehicle dynamics included a tire model with increased complexity assigned to the slip angle of the wheels. In general, MRs (including CLMRs) use a nonslip condition [Reference Siegwart and Nourbakh4, Reference Choset, Lynch, Hutchinson, Kantor, Burgard and Kavraki5] because their movements and structure, compared with those of vehicles, are sufficiently slow and light for the slip to be considered negligible, with the tire having a low distortive effect on the ground. This is also valid from the perspective of vehicle dynamics [Reference Gillespie6]. The cornering coefficient of the tire tends to be inversely proportional to the normal force exerted by it on the ground. In addition, at low velocities (such as those corresponding to parking maneuvers), the tire does not develop lateral forces, due to which it rolls with nonslip. The maximum speed is set to
$\sim$
1–2 m/s (
$3.6$
–
$7.2$
km/h), which is similar to the speed of vehicles in a parking lot [Reference Edquist, Rudin-Brown and Lenné7], and most MRs (include CLMRs) have similar maximum speed. Lee [Reference Lee8] suggested a Lagrangian dynamics model for four-wheel independent driving/steering CLMRs and designed a trajectory tracking controller. Yeh [Reference Yeh, Li and Chen9] formulated a half-car CLMR model without a tire model. Zhou [Reference Zhou, Liu, Suo, Wang, Zhao and Liu11] proposed a half-car CLMR model that includes a simple linear tire model with slip; this one is more complex than Yeh [Reference Yeh, Li and Chen9]. For better performance, motor actuator dynamics should be included. Hwang [Reference Hwang10] compared the path-tracking performances of two CLMR dynamic models: one with motor actuator dynamics and the other without; Hwang [Reference Hwang10] found that the performance of the former is better.
In the case of mobile robot (MR) motion planning, various studies of robot motion are divided into three categories: path planning (PP), trajectory generation (TG), and trajectory planning (TP) [Reference Choi and Kim12].
Research on PP is related to finding the shortest path without considering velocity, acceleration, or time. Studies aiming to determine the shortest path for MRs utilize a bounded linear velocity [Reference Dubins13, Reference Reeds and Sheep14]. Laumond [Reference Laumond, Jacobs, Taix and Murray15] studied how to find the shortest collision-free path for MRs considering a nonholonomic constraint. Path smoothing algorithms that modify vehicle paths when they move have been suggested [Reference Ravankar, Ravankar, Kobayashi and Emaru16, Reference Valero, Rubio and Llopis-Albert17]. Hu [Reference Hu, Li, He and Han18] suggested an obstacle avoidance path considering safety and smoothness. Bakdi [Reference Bakdi, Hentout, Boutami, Maoudj, Hachour and Bouzouia19] used a genetic algorithm (GA) to obtain a collision-free optimal path. Sung [Reference Sung, Choi and Nielsen20] used a neural network for online PP. Song used a parallel technique [Reference Song, Pan and Chu21] with the cuckoo search algorithm for optimal PP. In addition, Wang [Reference Wang and Meng22] used rapidly exploring random tree (RRT) and a multiple potential function to obtain collision-free paths. These methodologies are simple because they do not include time information such as velocity or acceleration; however, their result path cannot guarantee feasibility.
For better performance, TG finds the trajectory by including time information for the given path. Verscheure [Reference Verscheure, Demeulenaere, Swevers, Schutter and Diehl23] converted this to a convex problem and obtained the time-optimal trajectory for MRs; Lipp [Reference Lipp and Boyd24] undertook the same type of study for vehicles. Luo [Reference Luo, Li, Liu and Liu25] used a GA for a more feasible trajectory including line, arc, and transition sections. Walambe [Reference Walambe, Agarwal, Kale and Joshi26] used the spline for obtaining a smooth and optimized trajectory for CLMRs. Kim [Reference Kim27] generated the optimal trajectory, which is the combination of a line and a Bezler curve. Using TG and PP, the time-optimal TP problem for the free path is divided into two stages. The first stage involves searching for a time-optimal path and second stage involves obtaining the time-optimal trajectory for the given path. However, this two stage approach cannot guarantee the overall time optimality even if it finds the time-optimal solution in each stage.
Compared to the two-stage approach, TP can guarantee time optimality because it determines both the path and these time information in one stage. Several studies considered only kinematic constraints such as the limitations of velocities and accelerations, or they considered not only acceleration but also torques. Based on the random approach, a random-profile approach [Reference Haddad, Khalil and Lehtihet28] was developed, and an RRT [Reference LaValle29, Reference Ghosh, Nandakumar, Narayanan, Honkote and Sharma30] was used. Balkcom [Reference Balkcom and Mason31] suggested the idea of an extreme trajectory using Pontryagin’s maximum principle. Red [Reference Red32] considered not only the velocity and acceleration but also the jerk for an optimal trajectory. Sathiya [Reference Sathiya and Chinnadurai33] applied a GA to obtain the cubic spline parameter of the time-optimal trajectory; Penin [Reference Penin, Giordano and Chaumette34] used the bidirectional A* method for time-optimal TP. Xue [Reference Xue, Li, Zhang and Yan35] used deep reinforcement learning method for TP. Zhang [Reference Zhang, Xia and Chen36] suggested a line changing algorithm for trucks based on the Bezier curve and Dijkstra’s algorithm. Shen [Reference Shen, Zhang, Fang and Yuan37] found the optimal trajectory to track the reference trajectory based on the combination of cruise and optimal motion. As mentioned in Hwang [Reference Hwang10], motor actuator dynamics is essential for better performance. Choi [Reference Choi and Kim12], Kim [Reference Kim and Kim39], Kim [Reference Kim and Kim40], and Okyuama [Reference Okuyama, Maximo and Afonso38] considered motor actuator dynamics and actuator constraints for DWMRs. Further, Kim [Reference Kim and Kim40] suggested time-optimal cornering trajectory to avoid side slip, and Okyuama [Reference Okuyama, Maximo and Afonso38] used a friction model for nonslip condition. When planning a trajectory using direct control with a pulse width modulation (PWM) signal of a DC motor actuator, additional servo controllers are unnecessary, and the maximum actuator power can be used. This leads to an improvement in time optimality.
We establish a nonslip dynamic model for CLMRs and propose a time-optimal cornering TP algorithm for CLMRs (TOCTP-CLMR). To this end, we first formulate an efficient dynamic model for CLMRs. In the dynamic model, we include DC motor actuator dynamics for considering steering braking, PWM signal, and torque bounds. Hence, our TP algorithm can utilize the full power for time optimality. Because CLMRs are slow, because they assume the nonslip condition, we can reduce the complexity by ignoring tire model and slip. Based on this model, we suggest the TOCTP-CLMR algorithm for a single cornering environment. We divide the cornering trajectory into five sections and use the quickest steering rotation (QSR) for the time-optimal trajectory. Each section is divided into several intervals that satisfy the steering angle, torque, and PWM constraints. The TOCTP-CLMR satisfies the bang-bang principle for time optimality by using the maximum performance of CLMRs. We perform a simulation and experiments to demonstrate the validity.
The remainder of this paper is organized as follows: in Section 2, we describe the cornering environment and the problem. In Section 3, we derive a nonslip Lagrangian dynamic model. We propose the TOCTP-CLMR algorithm in Section 4. We perform a simulation and conduct experiments to validate the proposed model and algorithm; the details are presented in Section 5. Finally, we conclude with further works in Section 6.
2. Problem formulation
2.1. CLMR state and cornering environment
We simplify the CLMR as a half-car model with one rear driving wheel and one front steering wheel to reduce complexity; this CLMR is shown in Fig. 1. The front steering wheel is located at
$\mathbf{p}_{s}$
and the rear driving wheel is at
$\mathbf{p}_{d}$
with distance l; both have a wheel radius of r.
$\mathbf{p}_{cm}$
denotes the center of the mass point with distance d from
$\mathbf{p}_{d}$
. CLMR has a rectangular form with
${R}_{l}$
and
${R}_{w}$
, and we define the CLMR region at time t as R(t). We define the state vector of the CLMR as
$\mathbf{z}=[x \: y \: \theta \: \delta \: v \: \omega]^{T}$
, where (x,y) are the coordinates of
$\mathbf{p}_{d}$
,
$\theta$
denotes the orientation angle,
$\delta$
is the steering angle, v represents the translational velocity, and
$\omega$
denotes the angular velocity.
Structure of a half-car model.

The corner environment is shown in Fig. 2. Two connected roads meet at angle
$\theta_{c}$
. The width and length of the first and second roads are, respectively,
$D_{1}$
and
$L_{1}$
and
$D_{2}$
and
$L_{2}$
. The corner area is defined as
$C_{a}$
. The initial and final states are given as
$\mathbf{z}_{i}=[x_{i} \: y_{i} \: \theta_{i} \: \delta_{i} \: v_{i} \: \omega_{i}]^{T}$
and
$\mathbf{z}_{f}=[x_{f} \: y_{f} \: \theta_{f} \: \delta_{f} \: v_{f} \: \omega_{f}]^{T}$
. At the initial state, we assume that CLMR is stopped with a zero steering angle and that it is at the origin. We obtain
$\mathbf{z}_{i}$
as
$[0 \: 0 \: \theta_{i} \: 0 \: 0 \: 0]^{T}$
and
$\mathbf{z}_{f}$
as
$[L_{1}+L_{2}\cos(\theta_c)+D_{2}\sin(\theta_c) \: D_{1}+L_{2}\sin(\theta_c)-D_{2}\cos(\theta_c) \: \theta_{f} \: 0 \: 0 \: 0]^{T}$
.
Corner environment and a cornering path.

2.2. Constraints
The CLMRs use DC motors as actuators, and they are driven by an H-bridge power switching circuit with a duty ratio of the PWM; this is bounded according to
where
$u^{d}/u^{s}$
denote the driving/steering PWM signal and
$u^{d}_{\max}/u^{s}_{\max}$
represent the maximum driving/steering PWM signal bounds. The maximum PWM signal is bounded for safety, and it cannot exceed 1 because of the limited performance of the H-bridge power switching circuit.
In a DC motor, there is a limit to the current of the actuator. Further, the generated torque is bounded to consider safety and mechanical durability. This is expressed as:
where
$\tau^{d}_{g}/\tau^{s}_{g}$
and
$\tau^{d}_{\max}/\tau^{s}_{\max}$
denote the driving/steering generated torque and the maximum driving/steering torque bound, respectively.
In the Ackermann steering system,
$\delta$
is bounded because of the mechanical structure according to
where
$\delta_{\max}$
represents the maximum steering angle.
For collision-free, there is no overlap between R(t) and
$C_a$
at any time:
2.3. Problem formulation
TOCTP-CLMR Problem: The cornering environment is shown in Fig. 2, and we obtain the time-optimal collision-free cornering trajectory from
$\mathbf{z}_{i}$
to
$\mathbf{z}_{f}$
using a dynamics model considering the PWM, torque, and steering angle constraints.
3. CLMR dynamic model
3.1. Lagrangian dynamics
We can obtain the kinematics equation and velocity constraints assuming nonslip motion [Reference Choset, Lynch, Hutchinson, Kantor, Burgard and Kavraki5]. Since CLMR move slowly, this assumption is considerably reasonable. According to Okyuama [Reference Okuyama, Maximo and Afonso38] and Kim [Reference Kim and Kim40], to avoid side slip, the lateral force should be lower than the maximum static friction force. For example, HS-589, in Appendix A.5, has the theoretical maximum translation velocity of
$1.9\ \mathrm{m/s}$
(with zero steering angle), and the theoretical maximum orientation angular velocity of
$2.25 \mathrm{rad}/\mathrm{s}$
with
$\delta=0.25\pi \mathrm{rad}$
. In this case, the lateral force generated during rotation with the theoretical maximum translation velocity and theoretical maximum orientation angular velocity is
${\sim}430\ \mathrm{N}$
. The maximum static friction coefficient between the tire and the ground for the normal road condition is larger than 0.55 according to Wong [Reference Wong43]; therefore, the maximum static friction force is about 540 N. Hence, if HS-589 moves on the normal road except under snow or ice conditions, the nonslip assumption is acceptable. Using the Jacobian matrix
$\mathbf{J}$
, we obtain the kinematic equation as:
where
$\mathbf{q}$
represents the generalized coordinate vector and
$\mathbf{v}$
denotes the actuator velocity vector.
Based on Eq. (5), we obtain the velocity constraints as:
Note that
$\mathbf{J(q)}$
denotes the null space of
$\mathbf{A(q)}$
satisfying
$\mathbf{A(q)J(q)}=\mathbf{0}$
and
$\mathbf{J^{T}(q)A^{T}(q)}=\mathbf{0}$
. Appendix A.1 explains this is greater detail.
The dynamic equation with the torque input is given as:
where
$\mathbf{M(q)}$
,
$\mathbf{V(q},\dot{\mathbf{q}})$
,
$\mathbf{B}$
,
$\boldsymbol{\tau}$
, and
$\boldsymbol{\lambda}$
denote the inertia matrix, centripetal and Coriolis force matrix, input transformation matrix, torque input, and Lagrangian multiplier, respectively. For CLMRs, we can represent
$\mathbf{q}$
and
$\dot{\mathbf{q}}$
as a function of
$\mathbf{z}$
. Appendix 7.2 details this process.
3.2. DC motor actuator dynamics
Since the battery power of MR is limited, using the full resource of the actuator of MR is important to ensure time optimality. Therefore, including the DC motor actuator dynamics is more suitable than considering only the torque bounds for time optimality. Because the electrical time constant of the DC motor is considerably lower than the mechanical time constant, we can neglect the inductance and devise the electrical equation as:
where
$V_{s}$
,
$\mathbf{u}$
,
$\mathbf{R_{a}}$
,
$\mathbf{i}$
,
$\mathbf{K_{b}}$
,
$\mathbf{K_{t}}$
, and
$\boldsymbol{\tau_{g}}$
denote the supply voltage, PWM motor control signal vector, armature resistance matrix, armature current vector, back-emf constant matrix, torque constant matrix, and generated torque vector, respectively.
Using
$\mathbf{K_{t}}$
, we can rewrite Eq. (2) as the current constraints, as shown below:
Here,
$i^{d}/i^{s}$
denotes the driving/steering armature current and
$i^{d}_{\max}/i^{s}_{\max}$
is the maximum driving/steering current bound. More details are provided in Appendix A.3.
3.3. Dynamic model for CLMRs
We obtain the torque equation, including the friction torque and steering braking torque as:
where
$\boldsymbol{\tau_{f}}$
denotes the friction torque vector and
$\boldsymbol{\tau_{b}}$
denotes the steering braking torque vector. Among various types of friction [Reference Armstrong-Hélouvry, Dupont and de Wit41], we consider the two most dominant frictions forms Coulomb and viscous friction as:
where
$\mathbf{F_{v}}$
denotes the viscous friction matrix and
$\mathbf{F_{c}}$
denotes the Coulomb friction matrix. Appendix A.4 contains additional details. According to Eqs. (8)–(11), when we apply step PWM signal to the motor while the robot is stopped, the current has an instantaneous high value when the robot starts to move and it starts to decreases exponentially after that; finally, it reaches the steady state with a constant current value.
In CLMRs, the lateral force of the front steering wheel is not always orthogonal to the moving direction of the CLMR, and this causes steering braking. As the steering angle increases, the steering braking torque also increases, which interferes with the driving. Under nonslip motion, the steering braking torque caused by the lateral force of the front steering wheel is expressed as:
where
$C_{b}$
denotes the steering braking coefficient. Appendix A.4 presents this in more detail.
Finally, we can obtain the dynamic model for CLMRs. First, we eliminate the Lagrange multiplier in Eq. (7) as:
Using Eqs. (5)–(13), we obtain the relationship between
$\dot{\mathbf{v}}$
and
$\mathbf{u}$
as:
where
$\bar{\mathbf{M}}_{\mathbf{1}}\mathbf{(z)}=\mathbf{J^{T}(z)M(z)J(z)}$
,
$\bar{\mathbf{M}}_{\mathbf{2}}\mathbf{(z)}=\mathbf{J^{T}(z)M(z)}\dot{\mathbf{J}}\mathbf{(z)}$
,
$\bar{\mathbf{V}}\mathbf{(z)}=\mathbf{J^T(z)V(z)}$
, and
$\mathbf{J^T(z)B(z)}=\mathbf{I_{2}}$
.
Letting
$\mathbf{p}=[x \quad y \quad \theta \quad \delta]^{T}$
be the pose vector, we obtain
$\mathbf{p}$
from
$\mathbf{v}$
as:
\begin{equation} \dot{\mathbf{p}}=\bar{\mathbf{J}}\mathbf{(z)v}, \bar{\mathbf{J}}\mathbf{(z)}= \begin{bmatrix} r\cos\theta & \quad r\sin\theta & \quad r\tan\theta/l & \quad 0 & \quad 0 & \quad 0 \\[5pt] 1 & \quad 1 & \quad 1 & \quad 1 & \quad 0 & \quad 0 \end{bmatrix}^{T}.\end{equation}
The state vector
$\mathbf{z}$
can be expressed as
$\mathbf{z}=[\mathbf{p^{T}}$
$\mathbf{v^{T}}$
], and the block diagram of the CLMR dynamics is shown in Fig. 3.
The Block diagram of the CLMR dynamic model.

4. TOCTP-CLMR algorithm
4.1. TOCTP-CLMR problem with dynamic model
Considering model and constraints, we can rewrite the TOCTP-CLMR problem as:
\begin{gather*} \textbf{minimize} \:\: t_{f} \\[3pt] \textbf{Subject to} \\[3pt] \dot{\mathbf{v}}= \bar{\mathbf{M}}^{\mathbf{-1}}_{\mathbf{1}}\mathbf{(z)} ( (-\bar{\mathbf{M}}_{\mathbf{2}}\mathbf{(z)} - \mathbf{R^{-1}_{a}}\mathbf{K_{t}}\mathbf{K_{b}} - \mathbf{F_{v}})\mathbf{v} \\[3pt] -\bar{\mathbf{V}}\mathbf{(z)} - \mathbf{F_{c}}\mathbf{v}_{sign}-\boldsymbol{\tau_{b}}\mathbf{(z)} + V_{s}\mathbf{R^{-1}_{a}}\mathbf{K_{t}}\mathbf{u}), \\[3pt] \dot{\mathbf{p}} = \bar{\mathbf{J}}\mathbf{(z)v}, \: \mathbf{z}=[\mathbf{p^{T}} \mathbf{v^{T}}], \\[3pt] \mathbf{z}(\text{0})=\mathbf{z}_{i}, \: \mathbf{z} (\text{$t_{f}$})=\mathbf{z}_{f}, \\[3pt] |u^{d}(\text{t})| \leq u^{d}_{\max}, \: |u^{s}(\text{t})| \leq u^{s}_{\max},\: \text{t} \in \text{[0 $t_{f}$]}, \\ \end{gather*}
\begin{gather*} |i^{d}(\text{t})| \leq i^{d}_{\max}, \: |i^{s}(\text{t})| \leq i^{s}_{\max},\: \text{t} \in \text{[0 $t_{f}$]}, \\[3pt] |\delta(t)| \leq \delta_{\max}, \: t \in \text{[0 $t_{f}$]}, \\[3pt] C_{a} \cap R(t) = \emptyset, \: t \in \text{[0 $t_{f}$]},\end{gather*}
where
$t_{f}$
denotes the total time required to pass the corner.
4.2. Approach
For realizing time optimality, we divide the cornering trajectory into five sections as shown in Fig. 2. The corresponding inputs, torques (or currents), and velocities are depicted in Fig. 4. Three rotational sections are considered:
$S_{1}$
denotes the initial rotational section,
$S_{3}$
represents the middle rotational section, and
$S_{5}$
represents the final rotational section. Two translational sections,
$S_{2}$
and
$S_{4}$
, connect to the rotational sections. In addition, the time duration of each section
$S_{n}$
is given as
$T_{n}$
(
$n=1,2,3,4,5$
). This is similar to the human driving behavior and the concept of Dubins path [Reference Dubins13]. The use of fewer sections leads to increased traveled distance; then, adding more section is useless for the traveled distance and time optimality.
Example profiles of the optimal trajectory. (a) PWM signal profiles with PWM bounds. (b) Generated torque profiles with the torque bounds. (c) Translational and steering angular velocity profiles. (d) Steering angle with maximum steering angle.

For time optimality, the translational velocity should be maximized so that the driving PWM signal and current (or torque) satisfy the bang-bang [Reference Bryson and Ho42] principle as shown in Fig. 4(a) and (b), respectively. Hence, there are two driving PWM intervals, and each PWM interval is divided into a pre-varying PWM signal duration and a post-constant PWM signal duration. In a pre-varying PWM signal duration, the PWM signal varies to satisfy the torque constraint while not exceeding the maximum PWM bound. After the pre-varying PWM signal duration, the PWM signal has constant maximum PWM value in the post-constant PWM signal duration. If the torque constraint is too large and unactivated, the pre-varying PWM signal duration may not achieved.
For time optimality in each rotational section, we select the minimum turning radius and refer to the QSR. Similar to the driving PWM signal, we satisfy the bang-bang principle for the PWM, current(=torque), and steering angle constraint in the steering PWM signal as shown Fig. 4(a), (b), and (d). In QSR,
$S_{n}$
contains three or five steering PWM signal intervals (
$P_{i,n}$
) according to the required rotation angle. In a small rotation (that required q small orientation angle variation) motion, there are three
$P_{i,n}$
(
$i=1,2,3$
) as depicted for
$S_{1}$
and
$S_{5}$
in Fig. 4, because the maximum steering angle constraint is not activated as shown in Fig. 4(d). In cases with large rotations (requiring large orientation angle variation), there are five
$P_{i,n}$
(
$i=1,2,3,4,5$
) as shown in the relation to
$S_{3}$
in Fig. 4. In such a case, it becomes necessary to consider the maximum steering angle constraint. Accordingly,
$\delta$
is increased from 0 to
$\delta_{\max}$
for
$P_{1,n}$
and
$P_{2,n}$
. Then it is kept constant at
$\delta_{\max}$
with the arc in
$P_{3,n}$
. Finally, the steering angle decreases to 0 for
$P_{4,n}$
and
$P_{5,n}$
in Fig. 4(d). For each
$P_{i,n}$
, the time duration is given as
$T_{i,n}$
and it is composed of the pre-varying PWM signal and the post-constant PWM signal duration to satisfy the current(or torque) and the PWM input constraints that are similar to the driving PWM signal.
By examining
$t_{f}$
according to
$u^{s}(t)$
and
$\tau_{g}^{s}(t)$
during the rotation transition and
$\delta(t)$
in the arc interval, we find that QSR leads to time optimality in Fig. 5(a).
$Input_{tra}$
refers to the ratio of the maximum steering PWM signal excluding the arc interval, and
$\delta_{arc}$
refers to the steering angle in the arc interval. In this figure, we obtain
$t_{f}$
varying
$Input_{tra}$
and
$\delta_{arc}$
, and we see that using the maximum
$Input_{tra}$
(
$Input_{tra}$
ratio = 1) and the maximum
$\delta_{arc}$
(
$\delta_{arc}$
ratio = 1) in the rotation leads time-optimal solution. In addition, we noted that QSR (
$Input_{tra}$
ratio=1 and
$\delta_{arc}$
ratio=1) has the minimum
$t_{f}$
, as shown in Fig. 5(a). Further, it has the minimum turning radius because of using the maximum steering angle in the arc interval with the maximum transition input. Further, it has the minimum travel distance, as shown in Fig. 5(b).
Simulation result with respect to
$\delta_{arc}$
and
$Input_{tra}$
: (a) corner passing time, (b) paths for three cases: red (QSR case), black (
$\delta_{arc}$
/0.7
$Input_{tra}$
, and blue (0.7
$\delta_{arc}/Input_{tra}$
).

There are two reasons why QSR is time-optimal: (1) travel distance and (2) maintaining high speed. By using the maximum input of the steering in the rotation motion, QSR maximizes the orientation angular velocity and thus reduces the turning radius and turning time. With the use of the minimum turning radius, as shown in Fig. 5(b), QSR has the shortest trajectory similar to in-course cornering during speed skating. For the time-optimal trajectory, it is necessary to increase speed and reduce the traveled distance. With QSR, we can use the smallest turning radius, and this leads to the shortest traveled distance. In addition, the shortest turning time of QSR reduces the steering braking effect that disturbs the speed and decreases ratio of rotation motion that leads to a high average speed. Hence, QSR simultaneously achieves the shortest traveled distance and high speed.

4.3. Algorithm
The overall TOCTP-CLMR algorithm is represented as Algorithm 1 and shown in Fig. 6. In the TOCTP-CLMR, we adjust
$\Delta\theta_{1}$
(the amount of orientation angle change in
$S_{1}$
) and
$\Delta\theta_{5}$
(the amount of orientation angle change in
$S_{2}$
) to obtain the time-optimal collision-free trajectory. For computational efficiency,
$S_{3}$
is planned by assuming the initial condition, and we vary this assumed initial condition for the continuous velocity. We can plan the rotational sections independently. Then, we plan the translational sections to connect the rotational sections easily. In each rotational section, we use the QSR section planning (QSRP) sub-algorithm, presented here as Algorithm 2.
Algorithm flow for the TOCTP-CLMR.


We used 2D optimization method to obtain the optimal value of
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
. We find that a trend of
$t_{f}$
against
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
has a convex form and it is bounded because of a collision, as shown in Fig. 7. If we increase
$\Delta\theta_{1}$
or
$\Delta\theta_{5}$
, the traveling distance increases, and the time optimality is lost. If we decrease these values, we can reduce the distance traveled; however, this can cause a collision because the path is too close to the corner. Accordingly, we attempt to find the time-optimal and collision-free
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
.
Trend of
$t_{f}$
with respect to
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
.

When
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
are given, we can obtain the continuous velocity and path trajectory using QSRP. In QSRP, the rotational section can be planned when the rotation angle and the initial state are given. For computational efficiency, we isolated each rotational section using the assumed initial state of
$S_{3}$
. First, we plan
$S_{1}$
with the initial state and
$\Delta\theta_{1}$
and then, we obtain the final state of
$S_{1}$
to obtain
$E_{1}$
(the extension line of the final state of
$S_{1}$
). For
$S_{5}$
, we plan
$S_{5}$
using QSRP in a reverse time order because the final state and
$\Delta\theta_{5}$
are given; then, we obtain the initial state of
$S_{5}$
and
$E_{5}$
(the extension line of the initial state of
$S_{5}$
). In section
$S^{\prime}_{3}$
, the orientation angle change is given as the remaining rotational angle and the initial state can be obtained through
$v_{3}^{i}$
and the zero initial pose. After planning
$S^{\prime}_{3}$
, we shift
$S^{\prime}_{3}$
to fit
$E_{1}$
and
$E_{5}$
as shown in Fig. 2 for the continuous path, and then, we obtain
$S_{3}$
. After planning the rotation sections, we plan the translational sections to connect the rotational sections. The path is continuous; however, the velocity cannot guarantee continuity. Therefore, we vary
$v_{3}^{i}$
to ensure that the final velocity of
$S_{2}$
is equal to
$v_{3}^{i}$
for the continuous velocity. Through the above series of processes, we obtain an overall trajectory that is a continuous path and velocity correspondingly by
$\Delta\theta_{1}$
and
$\Delta\theta_{5}$
.
In QSRP, we plan the rotational section
$S_{n}$
with the given initial state,
$\Delta\theta_{n}$
and the driving input as shown in Algorithm 2. We plan
$S_{n}$
so that the noninclusion of the arc interval that
$S_{n}$
is divided into the three intervals, as shown in
$S_{1}$
and
$S_{5}$
in Fig. 4. In this case, each steering torque input of the pre-varying PWM signal duration is determined via
We can convert to these constant torque inputs to vary the PWM input profile using the dynamic model, as shown in Fig. 4(a). After the pre-varying PWM signal duration, we plan the post-constant PWM signal duration given as:
Then, the time duration of each interval can be determined to satisfy the final condition which is given as:
using a 3D search method.
Next, QSRP checks whether the planned
$S_{n}$
meets the maximum steering constraint. If so we return
$S_{n}$
and finish; if not, an arc interval is required. Therefore, we re-plan
$S_{n}$
with the arc interval that
$S_{n}$
is divided into five intervals as
$S_{3}$
in Fig. 4. Each steering torque input of the pre-varying PWM signal duration is determined as:
Further, We can convert these torque inputs into varying PWM input signals by using the dynamic model. The post-constant PWM signal duration of each interval is given as:
In the arc interval, the zero PWM input signal exists to maintain the maximum steering angle. Then, QSRP finds the time duration of the first and second intervals for the initial state of the arc interval; the conditions are given as:
using a 2D search method. Next, QSRP finds the time duration of the third, fourth, and fifth interval for the final state. These are given as:
5. Simulation and experiment
5.1. Simulation
We conducted a simulation to demonstrate the validity of the TOCTP-CLMR algorithm. The target CLMR is the HS-589 model (see Appendix A). Further the corner environment is given as
$L_{1} = 5$
m,
$L_{2}=7$
m,
$D_{1}=0.4$
m,
$D_{2}=1$
m, and
$\theta_{c}=0.75\pi \mathrm{rad}$
, as shown in Fig. 2. The initial and final orientation angle are correspondingly
$\theta^{i}=0 \mathrm{rad}$
and
$\theta^{f}=\theta_{c}$
. We added the following margins to PWM bounds as
$u^{d}_{\max}=u^{s}_{\max}=0.75$
, and we set the torque bound for safety as
$\tau^{d}_{\max}=50$
N (include gear) and
$\tau^{s}_{\max}=70$
N (include gear). The steering angle constraint was given as
$\delta_{\max}=0.25\pi \mathrm{rad}$
. The optimal trajectory had values of
$\Delta\theta_{1}=-0.0545\ \mathrm{rad}$
,
$\Delta\theta_{5}=0.0498\ \mathrm{rad}$
, and
$t_{f}=8.5069$
s.
We plot the lateral force and maximum static friction force when the maximum static friction coefficient is 0.55 in Fig. 8(g). To verify the nonslip motion assumption, we check the lateral force is lower than the maximum static friction force [Reference Okuyama, Maximo and Afonso38, Reference Kim and Kim40]. If this condition is not satisfied, then the side slip is not negligible. Since the lateral force in this case was always lower than the maximum static friction force (540 N), the nonslip motion assumption was reasonable. Figure 8(a) indicates that the CLMR traverses the corner without a collision to the final pose. Because
$D_{1}$
is too narrow, we find that the CLMR turns right at
$S_{1}$
to avoid collision. Figure 8(b) shows that the velocity decreases at
$S_{3}$
because of steering braking. As shown in Fig. 8(c), the trajectory satisfies the final orientation and steering angle, and the steering angle does not exceed the maximum steering angle constraint. PWM input profiles are shown in Fig. 8(d), the generated torques are given in Fig. 8(f), and the current of motors are presented in Fig. 8(e). Besides the steering input in the arc interval, we find the pre-varying PWM signal duration. The generated torque (or motor current) profiles satisfy the torque (or current) constraints and the CLMR uses the maximum torque at the pre-varying PWM signal duration of every motion and satisfies the bang-bang principle. Further, in Fig. 8(d), the PWM input profiles satisfy the maximum PWM input constraints. In each post-constant PWM signal duration, the PWM input profile uses the maximum value for the bang-bang principle. By providing the bang-bang inputs (including the torque and PWM) to the actuator motors, the TOCTP-CLMR can obtain a time-optimal trajectory, which validates the algorithm.
Simulation result. There are simulation paths, steering angles, orientation angles, PWM input signals, currents, torques, and lateral force.

5.2. Experiment
We performed open-loop step response experiments to validate the proposed dynamic model. The first-order exponential responses with the step PWM signal are shown in Figs. 9 and 10. There are small jitters in each case; however, these experiment responses are similar to the simulation results. In the current experiments shown in Figs. 9(b) and 10(b), the current hits a peak and then decreases exponentially to reach the steady state. In the steady state, the current is maintained as a constant. The differences between the simulation result and the experiment result are that there is a ripple in the experiment caused by measurement noise that does not exist in the simulation result, and the slope of the current for this experiment is lower than that for the simulation because of the inductance of the motor that disturbs current distribution. However, the shape and tendency of the simulation and the experiment are similar.
Open-loop driving experiments with step input
$u^d=0.6$
after 1 s.

Open-loop steering experiments with step input
$u^s=0.3$
after 1 s.

When varying the steering angle, we conducted an experiment about the steering braking torque. In Fig. 11(a), we plot three cases of the steering angle:
$0 \mathrm{rad}$
(blue),
$0.66 \mathrm{rad}$
(red), and
$0.89 \mathrm{rad}$
(black). Although the three profiles have the same step driving PWM input, the steady-state velocities are different. In Fig. 11(b), we plot the steady-state velocities with respect to the steering angle, and the difference is as high as 5%; this is not negligible with regard to time optimality. We converted these steady-state velocities into the steering braking torque, in Fig. 11(c), and we plotted the experimental result of
$\tau_{b}$
(red) and those of the simulation using the proposed model (blue). Because the experimental and simulation results are similar, we successfully demonstrate the validity of the proposed dynamic model.
Steering braking torque experiments.

Based on the proposed dynamic model, we designed the trajectory tracking controller using the resolved motion acceleration control for a trajectory tracking experiment. Because the resolved motion acceleration controller uses not only the desired position but also the desired acceleration, it is an appropriate dynamic model that includes actuator dynamics. A block diagram of the controller is shown in Fig. 12, where
$\mathbf{p}_{d}$
,
$\mathbf{v}_{d}$
, and
$\mathbf{z}_{d}$
are the desired pose, actuator velocity, and state vector, respectively. We added feedback with
$\mathbf{K}_{p}$
(the position error feedback gain matrix) and
$\mathbf{K}_{v}$
(the velocity error feedback gain matrix) to compensate for any unexpected errors in the velocity and pose. In the inverse dynamic model, we use the pseudo-inverse matrix of
$\mathbf{J}^{\#}=(\mathbf{J}^{T}\mathbf{J})^{-1}\mathbf{J}^{T}$
instead of
$\mathbf{J}^{-1}$
, given that
$\mathbf{J}^{-1}$
does not exist,.
Resolved acceleration controller for CLMR.

We conducted a trajectory tracking experiment to validate the time-optimal trajectory of the TOCTP-CLMR. To ensure a trackable trajectory, we set conservative bounds on the PWM signals and
$\delta_{\max}$
in the desired trajectory. The desired trajectory is the time-optimal trajectory of the TOCTP-CLMR, as shown in Fig. 13.
In Fig. 13(g), we see that the lateral force is always lower than the maximum static friction force. In the experiment trajectory, the maximum lateral force is about 370 N and it is lower than the maximum static friction force (540 N) when the maximum static friction coefficient is 0.55. Therefore, no slip occurs in the experiment. In addition, we can analyze how slip occurs. In this case, the normal force exerted by each wheel was 245 N, with the maximum lateral force of each wheel being 92.5 N. The tire cornering stiffness is approximately 222.5 N/degree in the tire model of vehicle simulation [Reference Wade Allen, Rosenthal, Klyde and Chrstos44]. Hence, the maximum slip angle was given as 0.42 degree, which was negligible.
The desired and actual paths are shown in Fig. 13(a). The CLMR tracks quite well without colliding; at the final point, there is a position error of
$0.08$
m, while the CLMR moves approximately 12 m. The translational and steering angular velocity profiles of the desired and actual trajectory are similar, as shown in Fig. 13(b). The steering and orientation angle profiles are plotted in Fig. 13(c), and they show the corresponding final errors of only
$0.009\ \mathrm{rad}$
in
$\theta$
and 0 rad in
$\delta$
. In Fig. 13(d), we plot
$\mathbf{u}$
from the experiment and simulation, and we find that they are similar;
$\mathbf{u}$
in the experiment shows a ripple to compensate for errors; however, it is close to that in the simulation on average. For the generated current and torque, they are plotted in Figs. 13(e) and (f). Because we ignore the inductance of the actuator, experimental results change more slowly than the simulation results. Nevertheless, when viewed as a whole, there is a similar trend. Hence, the experimental result demonstrates the feasibility of the result time-optimal trajectory from the TOCTP-CLMR, thus also demonstrating the validity of the TOCTP-CLMR.
6. Conclusion and further works
In this paper, we presented a dynamic model with motor actuator dynamics for CLMRs and proposed an algorithm of time-optimal cornering TP considering the motor actuator bound. Further, we conducted simulations and experiments to demonstrate the validity of these concepts. The dynamic model includes motor actuator dynamics to consider motor actuator constraints, friction force, and steering braking torque caused by the lateral force of the front steering wheel. Based on this dynamic model, we established the TOCTP-CLMR algorithm considering the motor torque, PWM signal, and maximum steering angle constraints. In the TOCTP-CLMR algorithm, PWM signals vary in the pre-varying PWM signal duration to satisfy the motor torque constraint, and we use their maximum value in the post-constant PWM signal duration to satisfy the PWM bound. The bang-bang principles of torque, PWM, and steering angle constraint are satisfied through the using of QSRP. We undertook simulation and experiments involving open-loop and trajectory tracking to demonstrate the validity of the TOCTP-CLMR and the proposed dynamic model.
One limitation of the study is the underlying assumption of small slip angles that are neglected in the dynamic model. Hence, it is difficult to apply our approach in various conditions such as uneven terrain or ice roads. To better generalize our approach, we should consider the side slip.
Several previous studies have been conducted to estimate the side slip. Heidfeld [Reference Heidfeld, Schünemann and Kasper45] used an unscented Kalman filter (UKF) to estimate tire parameters, and Reina [Reference Reina, Ishigami, Nagatani and Yoshida46] used an additional visual image of the wheel trace to estimate lateral slip. Furthermore, Reina [Reference Reina, Leanza and Mantriota47] used only basic vehicle sensors and a novel cubature Kalman filter (CKF) to estimate the tire force for slip. Consequently, this method can be easily applied various environments because the dependency on the model parameter decreases. As part of further work, we can use this technology to design an estimator to estimate the slip and then compensate for it. This allow us to extend our algorithm to general environments such as uneven or sandy terrains. For this method, the dynamic model should include side slip, and pure rolling motion cannot be assumed.
Furthermore, in another type of approach, we could plan the trajectories that have no slip or negligibly small slip like in the studies conducted by Okuyama [Reference Okuyama, Maximo and Afonso38] and Kim [Reference Kim and Kim40]. We intend to apply this technique by determining how to avoid a lateral slip for safe driving and reduce uncertainty due to slip. This will require defining a lateral slip constraint that can avoid the slip as a function of the steering angle while considering the maximum static friction coefficient between the ground and the tire. For time optimality, it is necessary to identify the maximum driving PWM signal that satisfies the motor torques, motor PWM signal bounds, and avoiding lateral slip constraints. In this case, we can observe the pre-deceleration interval before the rotational section in an environment, such as icy roads with a small maximum static friction coefficient, to satisfy the avoiding lateral slip constraint.
Appendix
A. Dynamic model for CLMRs
A.1. Kinematics for CLMRs
Compared with vehicles [Reference Gillespie6], MRs (include CLMRs) use a pure rolling motion [Reference Siegwart and Nourbakh4, Reference Choset, Lynch, Hutchinson, Kantor, Burgard and Kavraki5]. Since MRs are relatively light and slow, the distortion of their wheels is negligible. In addition, the use of stiff wheels (such as urethane or plastic wheels) is preferred in the place of air tires of MRs. Assuming the wheels of CLMRs to be perfect rigid bodies in contact with the ground, we can consider their motion to be of a nonslip characteristic, since the relative velocity between the wheels and the ground would be zero at the point of contact. A nonholonomic constraint exists, where the robot cannot move the side of the wheels. Under nonslip motion, we can obtain the kinematics equation and velocity constraints. Here,
$\mathbf{q}=[x \: y \: \theta \: \delta \: \phi^{d} \: \phi^{s}]^{T}$
and
$\mathbf{v}$
=
$[\dot{\phi^{d}} \: \dot{\delta}]^{T}$
, where
$\phi^{d}/\phi^{s}$
are the rotation angles of the driving/steering wheels, respectively. Using these, the Jacobian matrix is given as:
\begin{equation} \mathbf{J(q)}= \begin{bmatrix} r\cos\theta & \quad r\sin\theta & \quad r\tan\theta/l & \quad 0 & \quad 1 & \quad \sec\delta \\[4pt] 0 & \quad 0 & \quad 0 & \quad 1 & \quad 0 & \quad 0 \end{bmatrix}^{T}.\end{equation}
and the velocity constraints matrix is given as:
\begin{equation} \mathbf{A(q)}= \begin{bmatrix} \sin\theta & \quad -\cos\theta & \quad 0 & \quad 0 & \quad 0 & \quad 0 \\[5pt] \sin(\theta+\delta) & \quad -\cos(\theta+\delta) & \quad -l\cos(\delta) & \quad 0 & \quad 0 & \quad 0 \\[5pt] \cos\theta & \quad \sin\theta & \quad 0 & \quad 0 & \quad -r & \quad 0 \\[5pt] \cos(\theta+\delta) & \quad \sin(\theta+\delta) & \quad l\sin(\delta) & \quad 0 & \quad 0 & \quad -r \end{bmatrix}.\end{equation}
Compared to the Jacobian matrix in DWMRs [Reference Kim and Kim39, Reference Kim and Kim40], we add the last term to consider steering braking.
A.2. Lagrangian dynamics for CLMRs
The dynamic equation with the torque input can be derived by Lagrangian dynamics [Reference Choset, Lynch, Hutchinson, Kantor, Burgard and Kavraki5] as:
\begin{equation} \cfrac{d}{dt}\left(\cfrac{\partial{L(\dot{\mathbf{q}},\mathbf{q})}}{\partial{\dot{\mathbf{q}}}}\right) - \cfrac{\partial{L(\dot{\mathbf{q}},\mathbf{q})}}{\partial{\mathbf{q}}}= \mathbf{M(q)}\ddot{\mathbf{q}} + \mathbf{V(q},\dot{\mathbf{q})} = \mathbf{B}\boldsymbol{\tau}-\mathbf{A^{T}(q)}\boldsymbol{\lambda},\end{equation}
where
$L(\dot{\mathbf{q}},\mathbf{q})$
is the Lagrangian of the mechanical system.
Since the potential energy of the CLMR is constant on the flat ground, we obtain the Lagrangian of the CLMR by considering only kinematics energy. We define the moment of the inertia terms as follows.
$I^{r}$
denotes the moment of inertia of the robot without wheels about the vertical axis through the center of mass, and
$I_{m}^{d}/I_{m}^{s}$
denotes the moments of inertia of the rear driving wheel/front steering wheel and front steering motor rotor about the vertical axis through
$\mathbf{p^{d}}/\mathbf{p^{s}}$
, respectively.
$I_{\omega}^{d}/I_{\omega}^{s}$
represents the moments of inertia of the rear driving wheel and the rear driving motor rotor/the front steering wheel about the axis of each wheel. Hence, the Lagrangian of the CLMR is given as:
\begin{align}L(\dot{\mathbf{q}},\mathbf{q}) & =K^{p} + K^{d} +K^{s}, \nonumber\\[3pt]K^{p}& =0.5m^{r}((\dot{x}^{cm})^{2}+(\dot{y}^{cm})^{2}) + 0.5I^{r}\dot{\theta}^{2}, \nonumber\\[3pt]K^{d}& =0.5m^{d}(\dot{x}^{2}+\dot{y}^{2}) + 0.5I^{d}_{m}\dot{\theta}^{2} + 0.5I^{d}_{\omega}(\dot{\phi}^d)^{2}, \nonumber\\[3pt]K^{s}& =0.5m^{s}(\dot{x^s}^{2}+\dot{y^s}^{2}) + 0.5I^{s}_{m}(\dot{\theta}^{2} +\dot{\delta}^{2}) + 0.5I^{s}_{\omega}(\dot{\phi}^d)^{2},\end{align}
where
$K^{p}$
denotes the kinematics energy of the robot platform without wheels,
$K^{d}$
denotes the kinematic energy of the driving wheel, and
$K^{s}$
denotes the kinematic energy of the steering wheel. Here, (
$x^{cm}$
,
$y^{cm}$
) is the coordinate of the center of mass satisfying
And the (
$x^{s}$
,
$y^{s}$
) is the coordinate of the front steering wheel are given as:
Then, we obtain the matrices of Eq. (7), which are given as:
\begin{align} \mathbf{M(z)} & = \begin{bmatrix} m_{total} & \quad 0 & \quad -m_{a}\sin\theta & \quad 0 & \quad 0 & \quad 0 \\[4pt] 0 & \quad m_{total} & \quad m_{a}\cos\theta & \quad 0 & \quad 0 & \quad 0 \\[4pt] -m_{a}\sin\theta & \quad m_{a}\cos\theta & \quad I_{total} & \quad I^{s}_{m} & \quad 0 & \quad 0 \\[4pt] 0 & \quad 0 & \quad I^{s}_{m} & \quad I^{s}_{m} & \quad 0 & \quad 0 \\[4pt] 0 & \quad 0 & \quad 0 & \quad 0 & \quad I^{d}_{\omega} & \quad 0 \\[4pt] 0 & \quad 0 & \quad 0 & \quad 0 & \quad 0 & \quad I^{s}_{\omega} \\[4pt] \end{bmatrix}, \nonumber\\[7pt] \mathbf{V(z)} & = \begin{bmatrix} -m_{a}\dot{\theta}^{2}\cos\theta\\[4pt] -m_{a}\dot{\theta}^{2}\sin\theta\\[4pt] 0\\[4pt] 0\\[4pt] 0\\[4pt] 0\\[4pt] \end{bmatrix}, \nonumber\\[7pt] \mathbf{B} & = \begin{bmatrix} 0 & \quad 0\\[4pt] 0 & \quad 0\\[4pt] 0 & \quad 0\\[4pt] 0 & \quad 1\\[4pt] 1 & \quad 0\\[4pt] 0 & \quad 0\\[4pt] \end{bmatrix}, \end{align}
where
$m_{total}=m^{p}+m^{d}+m^{s}$
,
$m_{a}=m^{p}d+m^{s}l$
, and
$I_{total}=I^{p}+m^{d}d^{2}+I_{m}^{s}+m^{s}l^{2}$
. Here,
$m^{p}$
denotes the mass of the robot platform excluding the wheels, and the
$m^{d}/m^{s}$
values denote the masses of the driving/steering wheel, respectively. In addition,
$\mathbf{J^{T}(z)B}$
is given as:
\begin{equation} \mathbf{J^{T}(z)B}= \begin{bmatrix} 1 & \quad 0 \\[4pt] 0 & \quad 1 \\ \end{bmatrix}.\end{equation}
Force vector diagram of the steering wheel.

A.3. DC motor actuator
For CLMRs, the driving motor and the steering motor are not identical. In Eq. (8), the parameter matrices are given as:
\begin{equation} \mathbf{R_{a}}= \begin{bmatrix} R_{a}^{d} & \quad 0 \\[4pt] 0 & \quad R_{s}^{d} \\[4pt] \end{bmatrix}, \: \mathbf{K_{b}}= \begin{bmatrix} K_{b}^{d}\rho^{d} & \quad 0 \\[4pt] 0 & \quad K_{b}^{s}\rho^{s} \\[4pt] \end{bmatrix}, \: \mathbf{K_{t}}= \begin{bmatrix} K_{t}^{d}\rho^{d} & \quad 0 \\[4pt] 0 & \quad K_{t}^{s}\rho^{s} \\[4pt] \end{bmatrix},\end{equation}
where
$R_{a}^{d}/R_{a}^{s}$
are values of the armature resistance of the driving/steering motors,
$K_{b}^{d}/K_{b}^{s}$
are the back-emf constant of the driving/steering motors,
$K_{t}^{d}/K_{t}^{s}$
are the torque constant of the driving/steering motors, and
$\rho^{d}/\rho^{s}$
value are the gear ratios of the driving/steering wheels. In addition,
$\mathbf{u}$
and
$\mathbf{i}$
are given as:
where
$i^{d}/i^{s}$
is the armature current of the driving and steering motors, respectively. In Eq. (9), the relationship between the maximum torque constraint and maximum current constraint is expressed as:
A.4. Dynamic model for CLMRs
In Eq. (11), we obtain the matrices as:
\begin{equation} \mathbf{F_{v}}= \begin{bmatrix} F_{v}^{d} & \quad 0 \\[4pt] 0 & \quad F_{s}^{s} \\[4pt] \end{bmatrix}, \: \mathbf{F_{c}}= \begin{bmatrix} F_{c}^{d} & \quad 0 \\[4pt] 0 & \quad F_{c}^{s} \\[4pt] \end{bmatrix}, \: \mathbf{v_{sign}}=[sign(\dot{\phi^{d}}) \: sign(\dot{\delta})]^T,\end{equation}
where the
$F_{v}^{d}/F_{v}^{s}$
values are the viscous friction coefficient of the driving/steering motors, and the
$F_{c}^{d}/F_{c}^{s}$
values are the Coulomb friction coefficient of driving/steering motors, and sign(x) is the sign function of x.
In CLMRs, the lateral force of the front steering wheel is not always orthogonal to the moving direction, and this cause a steering braking effect. This is a different point between CLMRs and DWMRs. In DWMRs, the lateral force of each wheel and the moving direction are always orthogonal, and there is no additional braking effect. As the steering angle increases, the steering braking torque rises, and this obstructs driving in CLMRs. For example, when the steering angle is orthogonal to the robot direction (the steering angle is
$\delta=1/4\pi \mathrm{rad}$
), the CLMR cannot move at all under a nonslip motion.
Steering braking is caused by the lateral force of the front steering wheel under the nonslip motion. In Fig. A.1, the force vector diagram of the steering wheel is shown.
$\mathbf{p^{s}}$
represents the contact point of the ground and the steering wheel, and it is also the point of the applied forces. Here,
$X^{s}$
and
$Y^{s}$
are the longitudinal and lateral axes of the steering wheel’s frame, and
$F_{x}$
and
$F_{y}$
are the forces in
$X^{s}$
and
$Y^{s}$
.
$F_{x}$
, which is the longitudinal force of the front wheel, causes the rolling motion of the steering wheel and the longitudinal motion, respectively. Further,
$F_{y}$
, which is the lateral force of the front wheel, causes the lateral motion of the steering wheel. This lateral force is proportional to the product of the velocity and orientation angular velocity; hence, we obtain
Since
$F_{b}$
denotes the component of
$F_{y}$
in the robot moving direction that equals the rear driving wheel’s longitudinal direction, we obtain
$F_{b}$
as:
With
$C_{b}$
as the steering braking coefficient value, the steering braking torque is obtained using Eq. (12).
HS-589 dynamic parameters

A.5. HS-589 parameter
The target CLMR is an HS-589, as shown in Fig. A.2, and this is an electric scooter used as a mobility aid for the elderly. There are two rear driving wheels with a 700 W motor and two steering wheels with a steering angle boundary as
$60^{\circ}$
.
Target CLMR is HS-589.

We customized the HS-589 scooter to support autonomous driving control, as shown in Fig. A.3. For automatic driving, we added a DC motor with an incremental encoder as a steering wheel actuator, and we added an incremental encoder to the driving system. Both the driving and the steering systems are controlled by Beaglebone (a credit-card-sized embedded computer with the Linux operating system). At every 5 ms, the Beaglebone reads the driving/steering encoder pulse and performs a controller program, and then, it applies the PWM signals to both the steering/driving motor drivers without any additional servo system. The dynamic parameters of HS-589 are shown in Table A.1.
Block diagram of the customized HS-589.

























