# Remote-Controlled Method with Force and Visual Assists Based on Time to Collision for Mobile Robot
## 3 Proposed Method
### Force Assist  
Force assist is used for collision avoidance and attaining safe performance. This subsection explains the remote-controlled method with force assist based on TTC [27]. This force assist is divided into two patterns. _Pattern1_ refers to the situation in which the mobile robot can avoid the obstacle by only assisting the angular velocity. _Pattern2_ refers to a situation in which the mobile robot cannot avoid the collision by only changing the angular velocity. Hence, it can be inferred using these situations that the mobile robot can avoid collisions by modifying not only the angular velocity but also the translational velocity. Figure 6 shows the flowchart of the force assist method from _Step1_ to _Step5_. _Step1:_ The mobile robot motion is assumed to be a uniform motion using the translational and angular velocity commands. The predicted trajectory is defined from the trajectory determined by this uniform motion. The closest distance \(l^{s}\) from the mobile robot to the obstacle in the predicted trajectory is calculated using the turning radius \(r^{cmd}\) as follows:  
\[r^{cmd} = \frac{\
u^{cmd}}{\omega^{cmd}} \tag{14}\] \[l^{s} = r^{cmd}\cdot\theta_{min}^{s} \tag{15}\]  
where \(\theta_{min}^{s}\) is the angle of the closest point against the environment from the center of the turning of the mobile robot. The TTC of the predicted trajectory is calculated as follows:  
\[t_{ttc}^{cmd}=\frac{l^{s}}{v^{cmd}} \tag{16}\]  
where \(t_{ttc}^{cmd}\) is the TTC of the predicted trajectory. Figure 6: Flowchart of force assist method. _Step2_: If the TTC of the predicted trajectory is larger than the time threshold for a safe operation \(T_{th}\), the force assist is not generated as it is safe. In this case, the force commands are calculated as follows:  
\[f_{v}^{cmd} = 0.0 \tag{17}\] \[f_{\omega}^{cmd} = 0.0 \tag{18}\]  
In contrast, if TTC \(<T_{th}\), force assist is generated to avoid collisions. _Step2_ goes to _Step3_ to generate force commands. _Step3_: The avoidance trajectories are calculated by assuming the uniform motion of the mobile robot. All the TTC values for each avoidance trajectories are calculated. The avoidance turning radius \(r_{i}^{avo}\) (\(i=0,1,2,\cdot\cdot\cdot,P-1\)) for the angular velocity is derived from the angle \(\theta_{i}\), as shown in Figure 7. The \(i\)th angle \(\theta_{i}\) (\(i=0,1,2,\cdot\cdot\cdot,P-1\)) of each avoidance trajectory is generated as follows:  
\[\theta_{i}=\frac{\pi}{P-1}\cdot i-\frac{\pi}{2} \tag{19}\]  
where \(P\) denotes the number of avoidance trajectories and \(i\) denotes the coefficient. Furthermore, the avoidance turning radius \(r_{i}^{avo}\) (\(i=0,1,2,\cdot\cdot\cdot,P-1\)) for the angular velocity and each avoidance angular velocity \(\omega_{i}^{avo}\) (\(i=0,1,2,\cdot\cdot\cdot,P-1\)) are calculated as follows:  
\[r_{i}^{avo} = \frac{R_{th}}{2\text{sin}(\theta_{i})} \tag{20}\] \[\omega_{i}^{avo} = \frac{vcmd}{r_{i}^{avo}} \tag{21}\]  
where \(R_{th}\) indicates the turning radius for the operating range, as shown in Figure 7a. Using Equation (20), the avoidance trajectories are generated by assuming uniform motion of the mobile robot. Figure 7b shows the avoidance trajectories and \(r_{i}^{avo}\) at \(i=2\) and \(i=6\). The shaded area in the avoidance trajectories in Figure 7b indicates a high collision probability. \[l^{s} = r^{cmd}\cdot\theta_{min}^{s} \tag{15}\]0 Relationship with angle \(\theta_{i}\) and avoidance trajectory. **(a)** Turning radius \(R_{th}\) and angle \(\theta_{i}\). **(b)** Avoidance trajectory and \(r_{i}^{avo}\). _Step4:_ The TTC \(t_{ttc,i}^{aro}\) for each avoidance trajectory is calculated using Equation (21) and \(v^{cmd}\). \(t_{ttc,i}^{aro}\) is compared with \(T_{th}\). Hence, if \(t_{ttc,i}^{aro}\) is larger than or equal to \(T_{th}\), the mobile robot achieves collision avoidance by amending only the angular velocity as _Pattern1_. In contrast, if \(t_{ttc,i}^{aro}\) is less than \(T_{th}\), the mobile robot avoids the collision by amending \(v^{cmd}\) and \(\omega^{cmd}\) as _Pattern2_.