## 4 Testing  
The proposed scheduler can be used to integrate any ROS-built AIV with an MES. This scheduler testing is performed with a low-cost AIV and an MES system. During the scheduler development, the Turtlebot-3 burger model [14] is used to test LabVIEW-ROS communication. The Turtlebot-3 is a  
Figure 17: Send Product-Drop confirmation to MES.  
good research platform to explore about ROS. While final testing is performed on a low-cost Robotnik AIV '_RB-1_'. The Turtlebot-3 and RB-1 are shown in Figures 3 and 18 accordingly. The '_RB-1_' is a development robot and it is low-cost because it is purely a research-oriented platform and does not provide advanced features mentioned in Section 2. The scheduler-MES communication is tested using a SAP MES system. A remote system (Windows-based) is used to run the scheduler application. The remote system is connected to RB-1 on which ubuntu 16.04 and ROS (Kinetic) is installed. The network is configured in such a way that the remote system and RB-1 should be on the same network. Initially, LabVIEW-MES and LabVIEW-AIV communication was tested separately, and then the overall system communications was tested.  
As mentioned in Section 3.2.1, firstly a map of target testing area is generated using the '_RB-1_', and coordinates of the selected physical locations are noted. The ROS package is prepared and executed as mentioned in Section 3.2.1, and then ROS navigation is launched. With ROS navigation, the visualization tool RViz is also executed. The pose of the robot is estimated using RViz tool.  
After setting up the '_RB-1_', the scheduler is executed and it pops up a window at start-up, for the IP address of the ROS Master (running on RB-1). Using this IP address, the scheduler establishes a connection with RB-1 through a TCP connection. If there is any issue with the connection, the same window will pop up again. The scheduler provides options to enable/disable pickup and drop-off locations, timers function, and Holding_Bay locations support. Each event is indicated through flags; for example, selected location, RB-1 reached selected location or not, timeout and current status of scheduler, are all indicated in real-time using flag indicators. The target_time and maximum number of products at drop-off locations can also be set using the scheduler interface. The scheduler also shows the commands sends from the scheduler to the AIV and acknowledgments from the AIV to the scheduler.  
The timing details of the scheduler is taken from the log file. The log file records the execution time of each step given in Table 1. The maximum time for the pick operation is taken by step-2 and step-3, which involves preparing the robot for docking operation and to reach the pre-doc location at the pick point. Similarly, the maximum time for the drop operation is taken by step-6 and step-7 for docking preparation and to reach the pre-doc location at the drop point. The testing setup with pickup, drop-off, error zone, and holding bay locations is shown in Figure 19. The time period mentioned in the table is taken using the setup mentioned in Figure 19, and this operation does not involve holding_bay or error zone selection. There is literature published on the scheduler presented in Reference [38; 39; 40; 41], but, to the best of authors' knowledge, there is no published literature on the timing details of the same scheduler which provides an integration of a MES and AIV. So, a fair comparison of timing is not possible.  
Figure 18: Turtlebot-3.  
The scheduler interface is shown in Figure 20. This scheduler shows two pickup locations (although the develop scheduler can support maximum 03 pickup locations, as shown in Section 3.3, but the MES was configured to support only two pickup locations, so the third pickup location is not shown on front-panel) and three drop-off locations.