Nonlinear Model Predictive Control-based Collision Avoidance for Mobile Robot

— This work proposes an efficient and safe single-layer Nonlinear Model Predictive Control (NMPC) system based on LiDAR to solve the problem of autonomous navigation in cluttered environments with previously unidentified static and dynamic obstacles of any shape. Initially, LiDAR sensor data is collected. Then, the Density-Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm, is used to cluster the (Lidar) points that belong to each obstacle together. Moreover, a Minimum Euclidean Distance (MED) between the robot and each obstacle with the aid of a safety margin is utilized to implement safety-critical obstacle avoidance rather than existing methods in the literature that depend on enclosing the obstacles with a circle or minimum bounding ellipse. After that, to impose avoidance constraints with feasibility guarantees and without compromising stability, an NMPC for set-point stabilization is taken into consideration with a design strategy based on terminal inequality and equality constraints. Consequently, numerous obstacles can be avoided at the same time efficiently and rapidly through unstructured environments with narrow corridors. Finally, a case study with an omnidirectional wheeled mobile robot (OWMR) is presented to assess the proposed NMPC formulation for set-point stabilization. Furthermore, the efficacy of the proposed system is tested by experiments in simulated scenarios using a robot simulator named CoppeliaSim in combination with MATLAB which utilizes the CasADi Toolbox, and Statistics and Machine Learning Toolbox. Two simulation scenarios are considered to show the performance of the proposed framework. The first scenario considers only static obstacles while the second scenario is more challenging and contains static and dynamic obstacles. In both scenarios, the OWMR successfully reached the target pose (1.5m, 1.5m, 0°) with a small deviation. Four performance indices are utilized to evaluate the set-point stabilization performance of the proposed control framework including the steady-state error in the posture vector which is less than 0.02 meters for position and 0.012 for orientation, and the integral of norm squared actual control inputs which is 19.96 and 21.74 for the first and second scenarios respectively. The proposed control framework shows a positive performance in a narrow-cluttered environment with unknown obstacles.


INTRODUCTION
Yet, as autonomous mobile robots spread, new technological problems appear, shedding more light on the difficulties in developing secure and a dependable intelligent motion system that can cooperate with people and complicated environments that contain dynamic and static obstacles.It is difficult to maintain autonomy in such a dynamic, and unstructured environment.The following presents the most challenging areas: i) reliable obstacle detection and forecasting in an unstructured environment, ii) examination of obstacles' uncertainty and parametric representation, and iii) algorithm of motion planning for dynamic obstacle trajectories in real-time.
In addition to the unique tasks that each mobile robot is intended for [1]- [7], dynamic control problems and path planning are critical when autonomous navigation is being considered.Planning and control problems are frequently dealt separately in the literature using multi-layer schemes [8]- [13].If the connection between the layers is not handled properly in certain circumstances, the total output might show performance degradation.Control systems in particular frequently assume that the intended reference is attainable, though this hypothesis may not be accurate if the reference is specified despite the system's inherent dynamics limitations and operational constraints.Thus, it is crucial to research methods that take control and planning problems into account in a single, colligated scheme.
Among the studies that address these problems at singlelayer, those that focus on optimum control are particularly intriguing since they allow for the definition of path planning by utilizing the design of the optimization problem through its cost function and constraints [14] [15].From the standpoint of the control algorithm, Model Predictive Control (MPC) techniques in particular can provide convergence guarantees and online stability while solving the path planning problem.[16].MPC solves an optimization problem to determine the optimal action of control by using the Multi-Input Multi-Output (MIMO) model of the mobile robot to forecast its future behavior.It is frequently difficult to control a MIMO mobile robot system using conventional controllers like PID because of the interactions between the interdependent inputs and outputs.Nevertheless, MPC can account for input-output interactions and concurrently regulate all of the outputs.MPC offers feed-forward control-like preview capabilities.Advance knowledge of set point changes enables the MPC to adjust and perform better in response to those changes.However, the complexity of MPC's algorithm, which requires more time than other controllers, is a drawback.However, the advancement in processing power of recently invented microprocessors solves this problem.For the aforementioned benefits, MPC has become more popular in the control community.
Different versions of MPC, such as linear MPC and NMPC, have been employed to address the aforementioned objectives of control for mobile robots.In Ref. [17]- [19] provide research that employed linear MPC; in these investigations, MPC has only been utilized to accomplish the objective of path or trajectory tracking.The nonlinear model of motion is employed by NMPC, which has been utilized for stabilizing problems [20]- [27].NMPC has several advantages such as, it does not utilize iterative algorithms; it may acquire the control action using the same techniques as linear MPCs; it can be used for robot nonlinear models.Although stability of a finite horizon NMPC is not trivially guaranteed [28] [29], it has been demonstrated that stability may be ensured by employing a terminal state equality constraint [30]- [32].
Both linear MPC and NMPC can explicitly handle the constrained control problems.Constraints are crucial since going against them might have unfavorable effects.The majority of research in the literature suggests single-layer algorithms while taking into account that NMPC creates extra constraints for obstacle avoidance to solve the problem [33] [34].Over a predefined prediction horizon, NMPC determines a future control sequence while reducing an objective function where a set of system state and control action constraints are achieved.Analytical techniques can be utilized to include obstacle avoidance needs as constraints in the optimization problem, based on the concept of combining control and planning strategies.Several studies in the literature have examined stabilizing NMPC schemes as a cost for avoidance in the context of penalty functions [35], and artificial potential fields [36].However, these studies only consider static obstacles cases.
Mobile robots must be able to recognize surrounding obstacles quickly and effectively, and then include them as constraints inside the NMPC, to perform safety-critical navigation in dynamic obstacle situations.These can be achieved by the developments in sensor technology.Mobile robots, for instance, may look ahead a specific distance using LIDAR, Radar, and cameras, delivering information about the terrain and other traffic data [37].Based on visual data from cameras, several approaches for object detection and tracking are utilized [38]- [42].Nevertheless, in poor lighting, adverse weather, and cluttered environments this strategy might not work effectively.A different approach uses a LiDAR sensor for object detection.This approach performs well in poor weather, dim illumination, and crowded surroundings.
Many techniques utilize the LiDAR sensor for object detection in the literature.The most effective techniques use point cloud data.In Ref. [43] developed a system for dynamic environment perception-based point cloud data.In this method the dynamic obstacles are enclosed with minimum bounding ellipses, and a stable dynamic obstacle avoidance is achieved.However, in cluttered environments, when there is a short distance between two or more obstacles, the ellipsoids or other shapes can overlap with each other and then, prevent the robot from navigating between these obstacles especially, when the path is narrow.This may result in the loss of recursive feasibility, in the way of avoiding obstacles that demand a large detour from the initial path.
In this work, obstacles are clustered by the Density-Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm [44] after collecting the LiDAR sensor data.DBSCAN works effectively with clusters of any shape.DBSCAN is robust to outliers and has a concept of noise.It is not necessary to define the number of clusters in advance when using DBSCAN.On the other hand, choosing the DBSCAN algorithm parameters can be challenging.Nevertheless, this can be solved if the collected LiDAR sensor data is well understood.Another problem with using the DBSCAN algorithm is that a boundary point can belong to either cluster if it can be reached from more than one cluster.This problem is not important in the proposed work since it utilizes the minimum Euclidean distance between the robot and each obstacle is calculated.The proposed algorithm performs well in a narrow-cluttered environment with unknown static and dynamic obstacles.
Numerous techniques, including artificial potential fields [45], collision-free flight corridor [43] [46], DWA (Dynamic-Window Approach) [47], gradient maps [48], social forces [49], and pre-computed motion primitives library [50] [51], can be used to avoid collisions in static and dynamic environments.These techniques, however, are ineffective in contexts with more complicated or fast-moving obstacles.The proposed strategy is based on MPC, which has been increasingly popular recently [52-][54].In Ref. [43] presented a planning strategy in dynamic, unstructured environments based on Model Predictive Contouring Control (MPCC).Nevertheless, this algorithm only effectively avoids pedestrians, making it challenging to successfully avoid more complicated obstacles.To assure safety, [55] suggested a model predictive control architecture, and [56] examined its viability and safety by employing discrete time Dynamic Control Barrier Function (D-CBF) limitations in a receding horizon manner.This algorithm, however, struggles in a narrow-cluttered environment.
In this paper, dynamic obstacles in a narrow environment can be handled.This work proposes an NMPC algorithm with obstacle avoidance capabilities for a set-point stabilization motion system.The DBSCAN algorithm is adopted for clustering the dynamic and static obstacles after collecting the LiDAR sensor information.The environmental obstacles are induced as additional constraints, which are represented in this work as having minimum distance forms that are effective in situations with fast-moving or more sophisticated shape obstacles.Numerical findings are provided taking into account the set-point stabilization methodology used for an OWMR with holonomic constraints to support the suggested control strategy.A simulation is executed using the CoppeliaSim robot simulator in conjunction with MATLAB R2023a, which utilizes the CasADi Toolbox [57] with the Interior Point OPTimizer (IPOPT) solver [58] and Statistics and Machine Learning Toolbox, to evaluate the performance of the proposed method.This work's contributions may be summed up as follows: • New set-point stabilization control framework to establish collision-free trajectory in static and dynamic environments with previously unknown obstacles of any shapes, by inducing these obstacles as additional inequality constraints that can be easily included inside the NMPC.This combines the obstacles avoidance algorithm with the set-point stabilization NMPC, which saves time and effort.
• It proposes a safe method for representing obstacles as a single point based on minimum Euclidean distance rather than existing methods in the literature that depend on enclosing the obstacles with a circle or minimum bounding ellipse.This helps the proposed method to handle numerous obstacles at the same time rapidly and efficiently in unstructured environments with narrow corridors.
• The effectiveness and real-time performance of the obstacle avoidance algorithm are tested using the CoppeliaSim robot simulator in experiments similar to real-world scenarios that contain multi-static and dynamic obstacles of different shapes, and corridors.
The rest of this paper is structured as follows: The kinematic model of the OWMR is described in Sect. 2. The NMPC framework for obstacle avoidance is presented in Sect.3, numerical results are provided in Sect. 4 to support the suggested control strategy, and the study is concluded in Sect. 5.

II. KINEMATIC MODEL OF OWMR
The body frame ( b ,  b ) and the global frame ( g ,  g ) are the coordinate frames utilized in the modeling of the OWMR as illustrated in Fig. 1.The body frame is attached to the origin of the moving robot while the global frame is assigned to the fixed ground. is the angle that indicates the robot's orientation in the world frame.This work assumes that the robot travels on a flat surface and is able to travel wherever in the environment outside of the region where obstacles are present.Furthermore, is assumes that the robot moves with no slipping.The wheel slipping can be avoided when the rollers come into contact with most materials, they have a high sliding friction coefficient.This is can be ensured by making the rollers from rubberlike material, and having a large robot's size.In addition, the proposed NMPC in section 3 reduces robot speed in order to prevent slippages.All of the robot's dynamic parameters and geometric are known all the time.

Fig. 1. OWMR frames and variables definition
The position and orientation (pose) of the OWMR in the global coordinates can be described by the following state vector (1).
where  and  are the robot position,  is the angle between the -axes of the robot and global frames.In terms of robot body velocities which is characterized by  = [      ]  ∈ ℝ 3 ;  is the control input vector, whereas   ,   and  symbolize robot translational and rotational velocities respectively, and can be expressed in the global coordinates as follows OWMR kinematic model [59][60]: where () denotes the orthonormal rotation matrix that transforms between the robot's coordinate system and the global coordinate system and can be written as: By substituting ( 2) in (1): The system ( 3) is controllable as it has its accessibility rank condition globally satisfied, and is in the control-affine form (4).
The three Omni-wheels are placed relative to the robot frame at angles  = [  1  2  3]  ∈ ℝ 3 .All wheels are non-steerable and perpendicular to the robot circumference.Taking the wheel velocities into consideration and with respect to the robot body coordinates, the lower level kinematic model can be defined as: By placing the Omni-wheels at  1 = π/3,  2 = π, and  3 = -π/3, the lower-level kinematic model can be written as : where the  ̇= [ ̇1  ̇2  ̇3]  ∈ ℝ 3 represents the vector of wheels angular velocities, and  denotes the radius of each wheel of the robot.Every wheel is in the OWMR is identical and connected to an electrical motor, and spaced equally by ( g ) to the center of mass of the OWMR ().The maximum wheel velocity depends on the specifications of this electrical motor.It is constrained by  ̇ , namely ∀ ∶  ̇ ≤  ̇ , where the subscript ( = 1, 2, 3) represents the  ℎ wheel velocity since the motor's voltage and current are magnitudes restricted by the resistance of the coils, and the counter electromotive force.
As shown in Fig. 1, a reference robot is defined to demonstrate the objective of the control algorithm which is the stabilization of an OWMR to a permissible equilibrium.This reference robot is subjected to the same constraints as system (1), and possesses a reference state vector   = [      ]  ∈ ℝ 3 and a reference control vector   = [      ]  ∈ ℝ 3 .Therefore, the kinematic motion model can be represented as follow: The reference control vector   has zero values for both angular and linear velocities, and the reference state vector   has a constant value corresponding to the desired target pose for the set-point stabilization problem.
The primary goal of the control algorithm at this point can be specified as simultaneous robot stabilization while providing safe navigation.The controller ought to also take into consideration the map boundaries, previously unknown obstacles, and the robot geometry.Furthermore, to design a practical controller, the robots' inputs saturation margins must be considered.The designed NMPC architecture shown in the following section, addresses the aforementioned difficulties and problems.

III. NONLINEAR MODEL PREDICTIVE CONTROL
NMPC is considered to be one of the most reliable optimal control techniques and it is utilized in this work due to its ability to easily deal with the system constraints and take future prediction into the controller design in regard to nonlinear system defined through the following differential equation: where  ∶ ℝ 3 × ℝ 3 → ℝ 3 is the nonlinear mapping created by the robot model (7).
The objective of the controller is to determine an admissible control input  * () that will lead system (7) to drive toward the equilibrium point described by: The aim of the control technique is to produce a minimum weighted cost function () over a prediction horizon () as described in (9) [61]: (,   () ,   () ) = (  ( + ) ) + ∫ ℓ( +  ,   (),   () )  (9) Here, ℓ(,   (),   () ) is the running cost function that is integrated over  that is obtained from (10).ℓ(,   (),   () ) =    ()  () +    ()  () The terminal state penalty (  ( + ) ), assessed at the last step of the optimization horizon is presented as: The  ,  and  represent the positive definite symmetric weight matrices while and   and   define the robot's state and control vector errors respectively.At time () to avoid obstacles in the environment, NMPC optimization problem can be formed as following: At which the set  ∈ ℝ 3 and the set  ∈ ℝ 3 identify the allowable state and control sets as determined by the upcoming sets of constraints.Firstly, the box constraints for the map boundaries and the OWMR input saturation limits that are provided by: The map margins are indicated by the sets (  ,   ) in the -axis and (  ,   ) in the -axis, and the robot input saturation limit described by (   ,    ), (   ,    ) for translational velocities, and (  ,   ) for rotational velocities.
Secondly, in execution time, the obstacles are described as points rather than shapes by using LiDAR sensor and DBSCAN algorithm which make it suitable for narrow paths.Based on the system's global location and the environment map, a detection algorithm is developed to detect obstacles within a range of  meters, since the obstacles are presumed to have been unknown to the controller previously.As a result, one can only avoid obstacles while they are within the sensor's range.In order to support the robot to have a safe navigation in the map while avoiding obstacles, it is required to consider several environmental factors such as the robot radius, the distance between the robot and the obstacles, …. etc.The following environmental constraint is taken into account to avoid dynamic and static obstacles: where  = 1, 2, … ,  is a predetermined number of previously undefined obstacles that are clustered by the DBSCAN algorithm after collecting the LiDAR sensor information.  ,   are the coordinates of the nearest point in the obstacle surface to the robot,   is the radius of the robot that indicate its influence on the map, and  is the safety margin that can be added to enhance the safe navigation of the motion system when inside the nonobstructed space (i.e.bigger  means a safer navigation due to overcome the distance reading error).
The proposed framework assumes that certain online information about obstacles is anticipated using measurement or estimation for control reasons.This raises questions about whether it is feasible to get reliable information in real-time, particularly in highly dynamic or quickly changing environments, which might result in delayed or erroneous robot response.However, slowing down the robot velocity, choosing the appropriate , and utilizing omni-LiDAR sensor can make the proposed method more reliable.In the other hand, it is important to note that no prior information of the number, size, or geographic distribution of obstacles is necessary.
Finding the most suitable terminal penalty and constraints is made possible by the stability theory provided in [22] [62] as following: • A continuous cost function is assumed with ℓ(0,0) = 0 and ℓ(  ,   ) > 0.
• A terminal-state controller   L exists such that the following condition is satisfied: where  represents the terminal-state region.Then, the closed-loop system is guaranteed to be asymptotically stable using the NMPC approach previously stated [22][62].
The computation time of the constrained nonlinear optimization remains an issue for real-time implementation, even if the stability of the NMPC is ensured by Ω constraint and .Even if there is an optimization solution, it might not be feasible to locate it in the restricted control time.As in [22], the optimal control profile is not necessary for the aforementioned stability analysis.Stability can be obtained from any feasible profile of control.It implies that by locating feasible solutions in the optimization problem, a stable closed control can be attained.Thus, optimization is accomplished if the optimal solution can be discovered within the restricted number of optimization steps.If not, a feasible solution is discovered and the optimization algorithm halts at the restricted optimization steps to ensure real-time control.At last, one attains a suboptimal controller.
The calculation is a major problem to employing NMPC in real-time systems, in addition to the stability issue.To solve this problem, in this work, the NMPC creates a control profile for every optimization step.The robot receives just the first control signal from the control profile; all other control signals are ignored.The controller needs to solve the constrained nonlinear optimization problem once again in the next step.But for the present optimal solution, the preceding control profile serves as positive "hot start" or initial solution.
Using "hot start" in the optimization computation reduce the computation time.In addition, for real-time applications, the computation can be reduced when the predictive control horizon is chosen to be as short as possible.Finally, variations in cost function weight parameters may lead to variations in control performance.

IV. SIMULATION AND RESULTS
The simulation for the OWMR dynamics and the environment is implemented inside the CoppeliaSim robotic simulator.CoppeliaSim is a very powerful robotic simulator that supports rigid and soft bodies dynamics simulation.Moreover, it contains numerus built-in robot models, tools, sensors, and actuators that can be utilized to build a virtual environment with ability for real-time interaction.
CoppeliaSim can be programmed with various programming languages such as Lua, MATLAB, C++, and Python which makes it ideal choice for robot simulations.Before implementing the proposed control framework on actual hardware, this work utilizes the CoppeliaSim to verify it in a virtual environment.CoppeliaSim speeds up the design and implementation process by making it easier to develop and test robotic systems.
In this simulation setup, it is assumed that OWMR knows its pose (, , ) at each simulation step.Additionally, it is equipped with a laser rangefinder with a range of 3m and 360° field of view to detect the obstacles around the OWMR.However, the assumption of the OWMR knowing its pose at each step might not take the error and uncertainty in robot pose practical implementation.A solution for this can be by utilizing a vision-based motion capture system to provide the robot with position and orientation input to guarantee precise localization [63].
MATLAB is used for laser rangefinder data processing and NMPC implementation.The connection between CoppeliaSim and MATLAB is done using ZeroMQ remote APIs.It provides cross-platform communication, permits communication between CoppeliaSim and an external MATLAB program (that is, an application operating on a separate system or in a different process), and allows the same API function calls as those made from within a CoppeliaSim script.The integration eliminates the requirement for any setup by making the CoppeliaSim API directly accessible to the remote client (in MATLAB).ZeroMQ's robust messaging library and great performance are the foundation of communication and messaging API.MATLAB receives raw data from the laser range finder and uses the DBSCAN algorithm inside the Statistics and Machine Learning Toolbox to cluster the data points that belong to each obstacle together.The output of the DBSCAN algorithm are set of points where each one represents an obstacle in the scene.The minimum distance between each set of points and the center of the OWMR is then calculated.Furthermore, the CasADi toolbox inside MATLAB is used to perform both the system states integration, and optimal control computation.The NMPC is implemented in the CasADi toolbox, where both the system model (7), and the optimal control problem are defined.By using the multiple shooting method and IPOPT solver for nonlinear programming problems, the optimum control problem is resolved, and states integration is accomplished.The convergence criterion of IPOPT is kept at 10 −8 and the maximum number of iterations was set to 2000.More information about CasADi toolbox for MATLAB is available in [52].Runge-Kutta 4th (RK4) order method is employed for states integration.On a core i7 personal computer with 16 GB RAM and a 2.59 GHz CPU, all simulations were run.
The DBSCAN algorithm needs two parameters MinPoints and Epsilon.MinPoints specifies the bare minimum of points required to create a dense region.Epsilon establishes the minimum distance between two points for them to be classified as a cluster.In this work, MinPoints is selected as 3, and Epsilon is chosen as 0.1.The controller saturation limitations have been chosen from [59] and the map margins have been adopted from [17], as follows: From [59][63], the radius of the robot in ( 14) is chosen as   = 0.1 (), and robot wheels radii in ( 5) is the are selected as  = 0.035 ().The safety margin is selected same as half of the robot radius as  = 0.05 ().
One parameter in the NMPC is the time step ∆.The rejection of the unknown disturbance often becomes better as ∆ drops.On the other hand, the computing effort rises sharply as ∆ gets smaller.Therefore, the best option strikes a compromise between computational effort and performance.Faster calculations are encouraged by small m since it requires fewer variables to be computed in the QP solution at each control interval.total number of horizon steps N, is another crucial factor in NMPC.The QP solution time and controller memory increase as the N increases.Nevertheless, using a shorter prediction horizon also increases the controller's aggressiveness.N must vary inversely with ∆ if one decides to retain the prediction horizon duration (the product N × ∆) constant.
It is advised to establish N early in the controller design and to maintain it at that value when adjusting other NMPC parameters, including the weights of the cost functions (, , ) to compensate for increments in   and   and drive them to zero with the desired performance.Rather, N should be set so that the controller is internally stable and can detect breaches of constraints in time to take remedial action.The prediction horizon parameters are determined as follows: the total number of horizon steps N = 5 (steps) and the time step ∆ = 0.2 (seconds), resulting in a prediction horizon length of T = 1 (second).It is decided to run the simulation for 10 (seconds) in total.The weight matrices appear in (10 & 11) are selected as: To show the performance of the proposed collision avoidance scheme, two simulation scenarios are considered.In both scenarios, the robot is required to go to the target pose of   = (1.5,1.5, 0°), and the map margins are highlighted with a black edged box.
The first scenario is shown in Fig. 2 where there are only static obstacles in the scene, the robot starts from the initial configuration specified by  0 = (−0.6,−2, 0°).As can be seen from Fig. 2, there is a narrow passage of 0.475m width.The OWMR successfully passes through the passage and then encounters a cuboid-shaped obstacle when exiting the passage which it bypasses and reaches the goal pose.Fig. 2. OWMR performed trajectory for the first scenario Fig. 3 illustrates the state vector  components of the OWMR for static obstacles avoidance scenario under the proposed controller.Along the simulation time, the proposed controller exhibits a smooth transition of the robot's states.Moreover, the states demonstrate a rapid convergence to their reference values.Fig. 4 shows the control actions (linear and angular) applied to the OWMR for not moving obstacles avoidance case.As can be deduced from this figure, the proposed controller shows a non-aggressive control action, and did not exceed their saturation limits.The second scenario is more challenging and includes moving obstacles in addition to the static ones as presented in Fig. 5.In this scenario, the robot starts from the initial configuration specified by  0 = (−0.6,−1.7, 0°), and there are three moving obstacles which are colored in cyan, red, and blue.There are two static obstacles colored in pink close to the target position, green disk.As shown in Fig. 5, the OWMR encounters the cyan obstacle at first and avoids it successfully.After that, it faces the red cuboid and bypasses it, and then avoids the blue obstacle.Finally, it passes between the static obstacles and reaches the target pose.To ensure dynamic obstacle avoidance, the following condition is imposed: the speed of the obstacle should be less than the speed of the robot.is the second performance index to evaluate the control energy, where  is the number of updating steps for the controller.The average computing capacity  is the third performance metric.As seen in Table I, the robot is demonstrated to have reached the target destination in both scenarios with error of less than 0.02 )meters( for position and less than 1 (degree) for orientation.The integral of norm squared actual control inputs is 19.96 and 21.74 for the first and second scenarios respectively.The dynamic obstacle avoidance scenario needs more control effort compared with the static one because the robot needs to change its orientation more to be able to handle the moving obstacles.It has been noted that the average computing capacity needed for the proposed controller is 0.5 (seconds) for the first scenario and 0.4 (seconds) for the second scenario for each time step.In fact, the computing capacity need would rise with the number of obstacles.

V. CONCLUSION
In this paper, an NMPC framework was used to stabilize OWMR to a specific target while avoiding obstacles in a cluttered environment.The DBSCAN algorithm was implemented for clustering the dynamic and static obstacles after collecting the information from the LiDAR sensor.The environmental obstacles were considered as further constraints, which are denoted in this work as having minimum distance forms.A simulation was performed using MATLAB that utilizes the CasADi Toolbox with IPOPT solver, and Statistics and Machine Learning Toolbox, in conjunction with the CoppeliaSim robot simulator.Two scenarios were considered based on whether the obstacle was stationary or moving.To evaluate the performance of the proposed control framework for the set-point stabilization, four performance metrics were applied counting the steady state error in the pose vector, and the integral of normsquared actual control inputs. of OWMR stabilization in environments with static and dynamic obstacles, the proposed controller algorithm has demonstrated acceptable performance in real-time according to the aforementioned metrics.The proposed controller's scalability was restricted to a large number of obstacles, even though it demonstrated higher performance and satisfied realtime requirements.Furthermore, regardless of whether the simulation results consistently demonstrate that the OWMR converges to its references, it was still necessary to look at the stability analysis of the chosen approach in this case.
The future work of this research includes the practical implementation of the proposed control framework on a real OWMR.The following recommendations can be taken into account for the future practical implantation: • The assumption of the OWMR knowing its pose at each step in simulation setup might not take the error and uncertainty in robot pose practical implementation.A solution for this can be by utilizing a vision-based motion capture system to provide the robot with position and orientation input to guarantee precise localization [64].
• To reduce the dynamic effects that are not taken into account by the kinematic model, the OWMR may need to operate at slower speeds than in the simulations.Observer-based controllers, as those described by [65]- [67], can be integrated with the proposed controller by estimating such environment characteristics to quantify model disturbances and uncertainties.

ISSN
Ismael, Nonlinear Model Predictive Control-based Collision Avoidance for Mobile Robot

Fig. 3 .
Fig. 3. OWMR state vector  components for the first scenario
Fig. 6 shows the OWMR state vector [  ]  components under the proposed controller for moving obstacles avoidance case.The proposed controller shows a smooth change in the robot's states throughout the simulation.Additionally, the states demonstrate a quick convergence to their reference values.Fig. 7 depicts the OWMR's control action for the dynamic obstacles avoidance scenario.As can be seen from the figure, the proposed controller did not exceed its saturation limitations and exhibited a smooth control action.

Fig. 6 .
Fig. 6.OWMR state vector  components for the second scenario The performance indices of the set-point stabilization results under the proposed controller are shown in Table I.The steady-state error in the posture vector for the OWMR (  =   − ,   =   − , and   =   − ) is the first performance metric.The integral of norm squared actual control inputs  = ∑ (∥ ∥  ∥ ∥ 2 ∆)  =1

Fig. 7 .
Fig. 7. OWMR controls vector  components for the second scenario During numerical simulations Journal of Robotics and Control (JRC) ISSN: 2715-5072 149 Omar Y. Ismael, Nonlinear Model Predictive Control-based Collision Avoidance for Mobile Robot Consider that the reference control signals are bounded, i.e., [       ]  < [      ]  , and at time  = 0, the open-loop optimization problem retains a definite solution.

TABLE I .
SET-POINT STABILIZATION PERFORMANCE INDECIS