## 3 Definitions and Assumptions
### Robot Motion and Obstacle Avoidance  
Let \(L(\mathbf{A},\mathbf{B})\) define the line segment whose two end points are \(\mathbf{A}\) and \(\mathbf{B}\), respectively. Considering an arbitrary angle \(\psi\), let the rotation matrix be defined as  
\[R(\psi)=\left( \begin{array}{cc}\cos(\psi)&-\sin(\psi)\\ \sin(\psi)&\cos(\psi)\end{array} \right). \tag{1}\]  
Let \(\mathbf{q}\in\mathcal{R}^{2}\) define the 2D coordinate of the robot. Let \(\mathbf{v}=\hat{\mathbf{q}}\in\mathcal{R}^{2}\) indicate the robot's velocity vector. This article handles discrete-time systems. Considering a variable \(\mathbf{C}\), \(\mathbf{C}(k)\) indicates \(\mathbf{C}\) at sample-step \(k\). For instance, the robot at sample-step \(k\) is located at \(\mathbf{q}(k)\in\mathcal{R}^{2}\). This manuscript considers a differential drive robot with two wheels (left wheel and right wheel). The robot's motion model is  
\[\mathbf{q}(k+1)=\mathbf{q}(k)+\mathbf{v}(k)*dt, \tag{2}\]  
where \(dt\) indicates the sample duration in discrete-time systems. By controlling the rotation speed of each wheel, one can set \(\mathbf{v}(k)\in\mathcal{R}^{2}\). The average speed of two wheels determines the forward speed \(\|\mathbf{v}(k)\|\). Furthermore, the difference between the right wheel speed and the left wheel speed makes the robot change its heading angle. Detailed dynamic models of a differential drive robot appeared in [51]. Once a target speed and a target heading angle are set, two wheels rotate to converge to the target speed and the target heading. It is assumed that one can control the speed of each wheel, so that a target speed and a target heading can be reached within \(dt\) seconds. The robot's maximum speed is \(s_{max}\), i.e., \(\|\mathbf{v}(k)\|\leq s_{max}\) for all \(k\). This implies that the wheel speed cannot exceed \(s_{max}\) due to the hardware limit of the robot. This manuscript considers the case where the robot moves in a known map. Hence, the robot can locate itself using Monte--Carlo localization [10] or RFID tags [11; 12]. How to localize the robot is not within the scope of this article. Since the robot can locate itself, it can access \(\mathbf{q}(k)\) and \(\mathbf{v}(k)\) in (2) at each sample-step \(k\). The robot detects and identifies an object utilizing on-board sensors. The robot identifies a nearby object utilizing its camera [21; 22; 23; 24] and Lidar [25; 26; 53; 25]. How to identify objects using on-board sensors is not within the scope of our paper. Suppose that an object, such as a human, is detected by the robot. The robot measures 2D points on the object's boundary utilizing on-board sensors. For instance, Lidar sensors can be used for this boundary measurement. We consider an object with arbitrary shapes. As sensor rays detect an object's boundary, multiple points on the object are detected by the rays. Every detected point is termed the _objectBoundaryPoint_\(\mathbf{O}\in\mathcal{R}^{2}\). The robot can measure an objectBoundaryPoint \(\mathbf{O}\in\mathcal{R}^{2}\) and its velocity using its on-board sensors, such as Lidar [52; 53]. Since the robot can locate itself, it can access \(\mathbf{q}(k)\in\mathcal{R}^{2}\) and \(\mathbf{v}(k)\in\mathcal{R}^{2}\) in (2) at each sample-step \(k\). Therefore, the robot can access the position and velocity of an objectBoundaryPoint in real time. Let \(\mathbf{v}_{o}(k)\in\mathcal{R}^{2}\) denote the velocity of the objectBoundaryPoint at sample-step \(k\). Note that each objectBoundaryPoint \(\mathbf{O}\) has its associated velocity \(\mathbf{v}_{o}(k)\). At sample-step \(k\), the robot is in _near-collision_ with an objectBoundaryPoint, in the case where the relative distance between the robot and the objectBoundaryPoint is less than a certain variable, say \(r(k)>0\). Here, \(r(k)\) represents the safety margin for the robot at sample-step \(k\). Note that \(r(k)\) depends on sample-step \(k\) and is set considering the object's speed \(\|\mathbf{v}_{o}(k)\|\).