## 3 Utilized Tools and Their Integration
### Setup for Real-Flight Based Performance Test  
Following SITL simulation-based performance validation, the 3D path planner was uploaded onto NVIDIA Xavier companion computer. The computer was integrated with Pixhawk 4 autopilot on-board Tarot 650 quadcopter platform. The platform components and their specifications are given in Table 2.  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Type** & **Specification** \\ \hline Operating System & Ubuntu 16.04 \\ Memory & 2 GB \\ Processor & intel i7 CPU [EMAIL_ADDRESS] GHz x 8 \\ Graphics & NV92 \\ Gazebo & version 7 with its dependencies \\ ROS & Kinetic with dependencies \\ PX4 firmware & version 1.9.2 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Desktop Computer specification and software used for simulation.  
Figure 1: SITL: quadcopter equipped with on-board components.  
Hardware components used for real autonomous navigation are shown in Figure 1(a).  
The Tarot quadcopter was equipped with a forward-looking ZED mini stereo camera, downward-looking LiDAR sensor, and upward-, right-, and left-looking ultrasonic sensors. The tasks of these hardware are as mentioned in the SITL simulation counterpart. The integration of the quadcopter, mounted sensors, and companion computer is shown in Figure 3.  
The autopilot board is Pixhawk 4, which is mounted on the quadcopter underneath the companion computer: NVIDIA Xavier. The companion computer and LiDAR are connected to the Telem 2 and I2C ports, respectively, of autopilot board. ZED mini stereo camera and three ultrasonic sensors are connected to the companion computer.  
\begin{table}
\begin{tabular}{l l} \hline \hline
**Parameter/Item** & **Specification** \\ \hline Frame weight & 750 g \\ Motor to motor length & 600 mm \\ Payload weight & 1665.5 g \\
4 motors & MN4006-23 KV: 380 T-motor \\
4 propellers & 13 \(\times\) 5.5 Carbon Prop \\ Battery & Poly-Tronics 14.8 V, 10,000 mAh \\ Electronic Speed Controller & [PERSON] 30 A \\ \hline \hline \end{tabular}
\end{table}
Table 2: Tarot quadcopter components specifications.  
Figure 2: Architectures of hardware and software.  
System Calibration and Configuration  
PX4 firmware version 1.9.2 was installed on Pixhawk 4, and x-configuration type quadcopter airframe was selected. All the necessary sensors calibrations were done and parameters were set in such a away that the autopilot could communicate with external hardware. Quadcopter localization was enabled by GPS, LiDAR, and ZED mini stereo camera fusion. Pixhawk autopilot supports a Micro Aerial Vehicle Link (MAVLink) protocol that serializes messages. Telem 2 serial port of Pixhawk 4 was set to convey messages to-and-from Pixhawk through MAVLink protocol.  
Robot Operating Software (ROS) Kinetic version was installed on the companion computer. ROS provides software tools that enable communication among hardware. Communication between the autopilot and companion computer was enabled by MAVROS: a ROS package that bridges ROS topics (message buses) with MAVLink messages. To extract information from the ZED mini stereo camera and publish in the form of specific message types through ROS topics, an open source, named ZED_ROS wrapper node, was installed on the companion computer. YOLO version 3 (YOLOv3) object detection algorithm and its framework Darknet_ROS were installed on the companion computer for obstacle detection and localization. The 3D path planner module runs on companion computer and communicates with autopilot through MAVROS. The configuration of software components is shown in Figure 2b.