# Motion Planning for Mobile Robot with Modified BIT+
## 4 Simulation
### Whole Framework  
In this section, we use the model of Turtlebot robot in ROS to verify the effectiveness of our proposed framework. Firstly modified BIT* planner explores a reference path according to the preset starting point and goal point. Then the MPC method proposed in Section 3.2 calculates the optimal control inputs (linear velocity and angular velocity) and send them to the robot. Some necessary parameter settings are in Table 2.  
* Few obstacles with narrow channel: Figure 12a shows the map and the reference path generated by modified BIT* planner. The reference path and actual path of mobile robot are illustrated in Figure 12b. The coordinates of the start point and the goal point are (1 m, 1 m) and (0 m, 5.5 m) respectively. Actually, the actual path does not track the reference path perfectly. Because the repulsive function is added into the objective function of MPC method, the actual path deviates from the reference path in the place close to the obstacle, so that the robot will not be too close to the obstacle to avoid possible collision. Moreover, the ratio of parameters \(a_{1}\), \(a_{2}\) and \(a_{4}\) is also an important factor, and the robot may tend to stay away from the obstacles rather than track the reference trajectory in this situation. So we can adjust the ratio of \(a_{1}\), \(a_{2}\) and \(a_{4}\) to make the robot behave differently. Figure 12c,d show the variation of linear velocity and angular velocity with time respectively. During 6s to 8s, the robot approaches the obstacle, and according to the design of the objective function, the robot will decelerate appropriately. At the same time, the angular velocity will be adjusted according to the position of the obstacle, resulting in fluctuation. Most of the time, the robot will move at the desired speed (0.3 m/s). * Multiple obstacles: Figure 13a shows an environment with many obstacles and the reference path. Mobile robot need to react to these obstacles in time when it moves along the reference path. In Figure 13b, the blue solid line represents the reference path, and the red dotted line represents the actual path of the robot. The coordinates of the start point and the goal point are (0.7 m, 0.45 m) and (\(-\)3 m, \(-\)1.95 m) respectively. Similar to the previous case, the actual path does not exactly coincide with the reference path. There is slight deviation in the three sections near the obstacle to ensure safety. In Figure 13c, due to its proximity to the obstacle, the robot slows down during 1 s-2.5 s, 6 s-7.5 s and 13 s-15 s, which shows that the robot can decelerate in time when approaching multiple obstacles. As the robot approaches the obstacle and decelerates, the angular velocity of the robot will fluctuate, so as to adjust the direction of movement and keep away from the obstacle, which can be seen in Figure 13d. \begin{table} \begin{tabular}{l l l l l l} \hline \hline
**Prameters** & **Value** & **Parameters** & **Value** & **Parameters** & **Value** \\ \hline \(\Delta T\) & 0.1 (s) & \(A_{3}\) & diag[50; 20] & \(p\) & 10 \\ \(N_{p}\) & 20 & \(a_{4}\) & 40 & \(q\) & 0.05 \\ \(N_{e}\) & 2 & \(a_{5}\) & 30 & threshold & 0.8 (m) \\ \(a_{1}\) & 60 & \(a_{6}\) & 2 & \(v_{max}\) & 0.5 (m/s) \\ \(a_{2}\) & 50 & \(v_{d}\) & 0.3 (m/s) & \(\omega_{max}\) & 0.6 (rad/s) \\ \hline \hline \end{tabular}   
* Few obstacles with narrow channel: Figure 12a shows the map and the reference path generated by modified BIT* planner. The reference path and actual path of mobile robot are illustrated in Figure 12b. The coordinates of the start point and the goal point are (1 m, 1 m) and (0 m, 5.5 m) respectively. Actually, the actual path does not track the reference path perfectly. Because the repulsive function is added into the objective function of MPC method, the actual path deviates from the reference path in the place close to the obstacle, so that the robot will not be too close to the obstacle to avoid possible collision.