### Install Development Tools (Linux) Source: https://github.com/iamaisim/projectairsim/blob/main/README.md Run the setup script to install necessary development tools on Linux systems. This script handles the installation of required dependencies. ```bash ./setup_linux_dev_tools.sh ``` -------------------------------- ### PX4 SITL Startup Output Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_multi_vehicle.md This is an example of the console output when a PX4 SITL instance starts successfully and waits for a simulator connection. ```none ______ __ __ ___ | ___ \ \ \ / / / | | |_/ / \ V / / /| | | __/ / \ / /_| | | | / /^\ \ \___ | \_| \/ \/ |_/ px4 starting. INFO [px4] Calling startup script: /bin/sh /cygdrive/c/PX4/home/PX4/Firmware/etc/init.d-posix/rcS 0 INFO [dataman] Unknown restart, data manager file './dataman' size is 11798680 bytes INFO [simulator] Waiting for simulator to connect on TCP port 4560 ``` -------------------------------- ### Basic CMake Project Setup Source: https://github.com/iamaisim/projectairsim/blob/main/mavlinkcom/test/CMakeLists.txt Sets the minimum required CMake version and defines the project name. This is a standard starting point for most CMake projects. ```cmake cmake_minimum_required(VERSION 3.2.2) project(MavLinkTest) ``` -------------------------------- ### Install Basic Python Tools Source: https://github.com/iamaisim/projectairsim/blob/main/docs/client_setup.md Upgrade pip and install setuptools and wheel for managing Python packages. Developers should also install cmake. ```bash python -m pip install --upgrade pip python -m pip install setuptools wheel python -m pip install cmake ``` -------------------------------- ### Get PX4 Source Code and Setup Environment (Linux) Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_sitl.md This sequence of commands clones the PX4-Autopilot repository, sets up the necessary build environment for Ubuntu, and navigates into the repository directory. ```bash mkdir -p PX4 cd PX4 git clone https://github.com/PX4/PX4-Autopilot.git --recursive bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-nuttx --no-sim-tools cd PX4-Autopilot ``` -------------------------------- ### Robot Actor Configuration Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/config_scene.md Defines a robot actor with its name, origin, robot configuration file, and starting state. ```json "actors": [ { "type": "robot", "name": "Drone1", "origin": { "xyz": "109.05 -7.5 -19.42", // or "geo-point": "33.047329 -97.292618 4.5" "rpy-deg": "0 0 0" }, "robot-config": "robot_quadrotor_fastphysics.jsonc", "start-landed": true }, ... ] ``` -------------------------------- ### Start PX4 SITL for VTOL Tailsitter Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_sitl.md Example command to start PX4 SITL specifically for the VTOL fixed-wing tailsitter airframe. ```none make px4_sitl none_tailsitter ``` -------------------------------- ### Launch Signalling Server on Linux Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/camera_streaming.md Execute this shell script to start the signalling web server on Linux. It will prompt for sudo access to install prerequisites. Ensure you are in the correct directory. ```bash > cd {Packaged binary folder}/Samples/PixelStreaming/WebServers/SignallingWebServer/platform_scripts/bash > ./Start_SignallingServer.sh --streamerPort 8888 ``` -------------------------------- ### Run Example Drone Client Script Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Execute the hello_drone.py script from an activated Python environment to run the example client for the synthetic environment. ```shell python hello_drone.py ``` -------------------------------- ### Install Sphinx Dependencies Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/readme.txt Install the necessary Python packages for building documentation by running this command. ```bash pip install -r requirements.txt ``` -------------------------------- ### Install PyTorch with CUDA Support (Windows/Mac) Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/autonomy/setup.md Install PyTorch with specific CUDA version support for Windows or Mac OS. This example uses PyTorch 1.10.1 with CUDA 11.3. ```bash python -m pip install torch==1.10.1+cu113 torchvision==0.11.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html ``` -------------------------------- ### Run Example Geospecific Client Script Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Execute the hello_gis_dfw.py script from an activated Python environment to run the example client for the geospecific environment. ```shell python hello_gis_dfw.py ``` -------------------------------- ### Launch Signalling Server on Windows Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/camera_streaming.md Run this PowerShell script to start the signalling web server on Windows. It installs prerequisites if run for the first time. Ensure you use an Administrator-elevated PowerShell. ```powershell > cd {Packaged binary folder}\Samples\PixelStreaming\WebServers\SignallingWebServer\platform_scripts\cmd > .\Start_SignallingServer.ps1 --streamerPort 8888 ``` -------------------------------- ### Clone PX4 Source and Setup Ubuntu Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_build.md Use this snippet to clone the PX4 Autopilot repository and set up the necessary build tools on Ubuntu. Ensure git is installed first. ```bash sudo apt-get install git git clone https://github.com/PX4/PX4-Autopilot.git --recursive bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-sim-tools cd PX4-Autopilot ``` -------------------------------- ### Install ProjectAirSimPP in-place Source: https://github.com/iamaisim/projectairsim/blob/main/tools/projectairsimpp/projectairsimpp.md Install ProjectAirSimPP in-place for development, allowing direct execution from the project directory. ```bash pip install -e projectairsimpp ``` -------------------------------- ### Verify Autonomy Module Setup Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/autonomy/setup.md Run this command to check if the perception module can be imported, confirming successful setup of the autonomy module. ```python from projectairsim.autonomy.perception import PosePredictor ``` -------------------------------- ### Install Project AirSim Python client Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Install the Project AirSim Python client library in editable mode from the local repository. ```bash cd path\to\repo python -m pip install -e client\python\projectairsim ``` -------------------------------- ### Install Development Packages Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/requirements.txt Installs essential packages for a development environment, including wheel and pytest for testing. ```bash wheel pytest pytest-cov ``` -------------------------------- ### Include Directories Configuration Source: https://github.com/iamaisim/projectairsim/blob/main/core_sim/src/CMakeLists.txt Sets up include directories for the target, differentiating between install and build interfaces, and private includes. ```cmake target_include_directories( ${TARGET_NAME} PUBLIC $ $ PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${JSON_INCLUDE_DIR} ${NNG_INCLUDE_DIR} ${MSGPACK_INCLUDE_DIR} ${EIGEN_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ) ``` -------------------------------- ### Install Project AirSim Python client with LIDAR extras Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Install the Project AirSim Python client with optional LIDAR visualization utilities, including Open3D. ```bash python -m pip install -e client\python\projectairsim[lidar] ``` -------------------------------- ### Launch Simulation in Unreal Engine Source: https://github.com/iamaisim/projectairsim/blob/main/Architecture.md The `LaunchSimulation` function in `AUnrealSimLoader` orchestrates the setup and initiation of a simulation within Unreal Engine. It configures engine settings, loads the simulator and scene, spawns actors, and starts the network server. ```cpp void LaunchSimulation(UWorld* World) { // 1. Configure Unreal Engine settings SetUnrealEngineSettings(); // 2. Load simulator with network ports SimServer->LoadSimulator(topicsPort, servicesPort, authKey); // 3. Load scene configuration SimServer->LoadScene(); // 4. Create Unreal scene actors LoadUnrealScene(); // 5. Start network server SimServer->StartSimulator(); // 6. Begin simulation StartUnrealScene(); SimServer->StartScene(); } ``` -------------------------------- ### Install ProjectAirSimPP with pip Source: https://github.com/iamaisim/projectairsim/blob/main/tools/projectairsimpp/projectairsimpp.md Use this command to install the ProjectAirSimPP package from PyPI. ```bash pip install projectairsimpp ``` -------------------------------- ### Upgrade pip and install build tools Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Upgrade the pip package installer and install essential build tools like setuptools and wheel within the activated environment. ```bash python -m pip install --upgrade pip python -m pip install setuptools wheel ``` -------------------------------- ### Install Vulkan Libraries on Ubuntu Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/system_specs.md Installs the Vulkan run-time libraries and tools on Ubuntu systems. A reboot is recommended after installation. ```bash sudo apt update sudo apt install libvulkan1 vulkan-tools sudo reboot ``` -------------------------------- ### Install Project AirSim ROS Python Library Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/ros/ros.md Install the Project AirSim ROS Python library from the provided wheel file. Replace 'version' with the actual version ID. ```bash python -m pip install path\to\projectairsim_ros-{version}-py3-none-any.whl ``` -------------------------------- ### Install cmake for developers Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Developers should install the cmake package for building certain components. ```bash python -m pip install cmake ``` -------------------------------- ### Install Project AirSim with LIDAR from Local Checkout Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Install the Project AirSim client with optional LIDAR dependencies from a local checkout. This is useful for development or when using a local copy of the client library. ```bash pip install -e client/python/projectairsim[lidar] ``` -------------------------------- ### Install Project AirSim Client with LIDAR Support Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Installs the Project AirSim Python client with optional LIDAR visualization extras, including Open3D. Ensure a compatible 64-bit Python version. ```none python -m pip install -e client/python/projectairsim[lidar] ``` -------------------------------- ### Install Project AirSim Python Client Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Install the Project AirSim Python client package using pip. Replace '{version}' with the actual client version. ```bash pip install projectairsim-{version}-py3-none-any.whl ``` -------------------------------- ### Install Project AirSim Autonomy Module Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/autonomy/setup.md Install the Project AirSim client and the autonomy module dependencies. Replace {VERSION} with your Project AirSim version. ```bash python -m pip install projectairsim-{VERSION}-py3-none-any.whl[autonomy] ``` -------------------------------- ### Install Python Development Tools on Ubuntu Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Installs necessary Python development headers and virtual environment tools on Ubuntu systems. Ensure Python 3.7 or newer is available. ```none sudo apt install python3-dev python3-venv ``` -------------------------------- ### Run Project AirSim Sim Server Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/autonomy/autonomy.md Starts the Project AirSim simulator. Ensure this is running before launching applications. ```bash Blocks.sh ``` ```bash Blocks.exe ``` -------------------------------- ### Build and Start PX4 SITL Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_sitl.md Build and start the PX4 firmware in SITL mode. Replace 'airframe' with a specific airframe string like 'iris' or 'tailsitter'. ```none make px4_sitl none_airframe ``` -------------------------------- ### WSL 2 Host IP Address Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_sitl_wsl2.md This is an example output from the Windows 'ipconfig' command, showing the Ethernet adapter for WSL 2 and its IPv4 address. This address is crucial for establishing communication between PX4 in WSL 2 and Project AirSim on the Windows host. ```plain Ethernet adapter vEthernet (WSL): Connection-specific DNS Suffix . : Link-local IPv6 Address . . . . . : aaaa::bbbb:cccc:cccc:eeee%ff IPv4 Address. . . . . . . . . . . : www.xxx.yyy.zzz Subnet Mask . . . . . . . . . . . : mmm.nnn.ooo.ppp Default Gateway . . . . . . . . . : ``` -------------------------------- ### Install Project AirSim with LIDAR Dependencies Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Install the Project AirSim client with optional LIDAR visualization dependencies using pip. This is required for LIDAR visualizations and example scripts. ```bash pip install projectairsim[lidar] ``` -------------------------------- ### Build Documentation Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/readme.txt Generate the single HTML version of the documentation by executing this make command. ```bash make singlehtml ``` -------------------------------- ### Serve Documentation Locally Source: https://github.com/iamaisim/projectairsim/blob/main/docs_external/eap_quickstart.md Start a local web server to view the Project AirSim documentation. Navigate to the extracted docs folder and run this command. ```python python -m http.server ``` -------------------------------- ### Install VS Code Extensions via Command Line Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/development/dev_setup_linux.md Install recommended VS Code extensions for Project AirSim development using the 'code --install-extension' command. This automates the setup of tools for C++, debugging, C#, and Python. ```default code --install-extension ms-vscode.cmake-tools code --install-extension ms-vscode.cpptools code --install-extension vadimcn.vscode-lldb code --install-extension ms-dotnettools.csharp code --install-extension ms-vscode.mono-debug code --install-extension matepek.vscode-catch2-test-adapter code --install-extension ms-python.python code --install-extension ms-python.vscode-pylance ``` -------------------------------- ### Launch Sim Binary with Pixel Streaming on Windows Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/camera_streaming.md Execute the simulator binary with the specified command-line arguments to enable Pixel Streaming and connect to the signalling server. ```bash > {Packaged binary exe} -PixelStreamingURL=ws://127.0.0.1:8888 -RenderOffScreen -Log ``` -------------------------------- ### Livox Mid-70 Lidar Configuration Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/lidar.md A standard configuration for the livox_mid70 lidar type. This setup utilizes default values specific to the Livox Mid-70 sensor, simplifying configuration. ```json { "sensors": [ { "id": "lidar1", "type": "lidar", "enabled": true, "parent-link": "LidarMountPoint", "lidar-type": "livox_mid70", "draw-debug-points": false, "origin": { "xyz": "0.6 0 0", "rpy-deg": "0 0 0" } } } ``` -------------------------------- ### Input-map Configuration Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/config_robot.md This JSON snippet shows the default configuration for input-map settings, which provides a 1:1 mapping with output clamping. ```json "input-map": { "clamp-input": true, "clamp-output": true, "input-min": -1.0, "input-max": 1.0, "output-min": -1.0, "output-max": 1.0, "scale": 1.0, } ``` -------------------------------- ### Depth Lidar Configuration Example Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/lidar.md A typical configuration for the depth_lidar sensor type. This setup defines parameters such as channels, FOV, and rotation frequency for a lidar simulating a depth camera. ```json { "sensors": [ { "id": "lidar1", "type": "lidar", "enabled": true, "parent-link": "LidarMountPoint", "lidar-type": "depth_lidar", "number-of-channels": 32, "range": 100, "points-per-second": 180000, "report-frequency": 0, "horizontal-rotation-frequency": 10.0, "horizontal-fov-start-deg": -45.0, "horizontal-fov-end-deg": 45.0, "vertical-fov-lower-deg": -10.0, "vertical-fov-upper-deg": 10.0, "disable-self-hits": true, "draw-debug-points": false, "origin": { "xyz": "0 0 1.0", "rpy-deg": "0 0 0" } } ] } ``` -------------------------------- ### Include File Directive Examples Source: https://github.com/iamaisim/projectairsim/blob/main/tools/projectairsimpp/projectairsimpp.md Demonstrates various ways to include a file using the `include` directive, including direct filename, variable substitution, and function calls. ```airsim {# include client_version.txt #} ``` ```airsim {# include "client_version.txt" #} ``` ```airsim {# set CLIENT_VERSION_FILE = "client_version.txt" #} {# include CLIENT_VERSION_FILE #} ``` ```airsim {# include concat("client_version", ".txt") #} ``` -------------------------------- ### Runtime DLL Loading for UE5 Integration Source: https://github.com/iamaisim/projectairsim/blob/main/Architecture.md Demonstrates how the SimServer is initialized and callbacks are bound for integrating Unreal Engine with simulation libraries. This snippet shows the creation of a SimServer instance and the binding of a scene loading callback. ```cpp // In UnrealSimLoader.cpp SimServer = std::make_shared(); // Bind UE callbacks to C++ simulation SimServer->SetCallbackLoadExternalScene( [this]() { LoadUnrealScene(); }); ``` -------------------------------- ### Configure NNG and ONNX Libraries Source: https://github.com/iamaisim/projectairsim/blob/main/simserver/src/CMakeLists.txt Sets up library directories and compile definitions for NNG and ONNX. ```cmake # Set up nng for linking target_link_directories(${TARGET_NAME} PRIVATE ${NNG_LIB_DIR}) target_compile_definitions(${TARGET_NAME} PRIVATE NNG_STATIC_LIB=ON) target_link_directories(${TARGET_NAME} PRIVATE ${ONNX_LIB_DIR}) ``` -------------------------------- ### Post-Install Steps for Assimp Source: https://github.com/iamaisim/projectairsim/blob/main/CMakeLists.txt Defines a post-installation step for the Assimp external project to copy installed libraries and headers to a specified directory and clean up unnecessary subdirectories. ```cmake set(ASSIMP_LIB_DIR ${CMAKE_BINARY_DIR}/_deps/assimp-install/lib) set(ASSIMP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/_deps/assimp-install/include) message("ASSIMP_LIB_DIR set to ${ASSIMP_LIB_DIR}") message("ASSIMP_INCLUDE_DIR set to ${ASSIMP_INCLUDE_DIR}") ExternalProject_Add_Step(assimp-external post-install COMMAND ${CMAKE_COMMAND} -E echo "Packaging [assimp] installed outputs to ${UE_PLUGIN_SIMLIBS_DIR}/assimp/$,Release,Debug>" COMMAND ${CMAKE_COMMAND} -E copy_directory "${ASSIMP_LIB_DIR}" "${UE_PLUGIN_SIMLIBS_DIR}/assimp/$,Release,Debug>" COMMAND ${CMAKE_COMMAND} -E copy_directory "${ASSIMP_INCLUDE_DIR}" "${UE_PLUGIN_SIMLIBS_DIR}/assimp/include" COMMAND ${CMAKE_COMMAND} -E remove_directory "${UE_PLUGIN_SIMLIBS_DIR}/assimp/$,Release,Debug>/cmake" COMMAND ${CMAKE_COMMAND} -E remove_directory "${UE_PLUGIN_SIMLIBS_DIR}/assimp/$,Release,Debug>/pkgconfig" DEPENDEES install ) ``` -------------------------------- ### Initialize Project AirSim Client and World Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/development/use_prebuilt.md Initializes the Project AirSim client and loads a world from a JSONC configuration file. Ensure the client library is set up before use. ```python from projectairsim import ProjectAirSimClient, World ... client = ProjectAirSimClient() world = World(client, "scene_basic_drone.jsonc") ``` -------------------------------- ### Install Matlab Engine API for Python Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/physics/matlab_physics.md Install the Matlab Engine API for Python to enable communication between Python clients and Matlab. Ensure you run the command prompt as Administrator and activate your Python virtual environment before installation. ```bash cd "C:\\Program Files\\MATLAB\\R2022a\\extern\\engines\\python" python setup.py install ``` -------------------------------- ### Uninstall Project AirSim ROS Package Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/ros/ros.md If the projectairsim_ros package was previously installed from a wheel, uninstall it before proceeding with an in-place installation. ```bash pip uninstall projectairsim_ros ``` -------------------------------- ### Launch Sim Binary with Pixel Streaming on Linux Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/sensors/camera_streaming.md Run the simulator's shell script with these arguments to enable Pixel Streaming and connect to the signalling server. ```bash {Packaged binary .sh launcher script} -PixelStreamingURL=ws://127.0.0.1:8888 -RenderOffScreen -Log ``` -------------------------------- ### Install virtualenv and create a new environment Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/client_setup.md Use this command to install the virtualenv package and create a new Python virtual environment for Project AirSim. ```bash python -m pip install virtualenv python -m venv C:\path\to\airsim-venv ``` -------------------------------- ### Project AirSim CMakeLists.txt Source: https://github.com/iamaisim/projectairsim/blob/main/ros/examples/navigate_map/CMakeLists.txt Sets the minimum CMake version, finds required catkin components, and adds a subdirectory for launch files. Ensure catkin is installed and available in your environment. ```cmake cmake_minimum_required(VERSION 2.8.12) find_package(catkin REQUIRED COMPONENTS roslaunch) add_subdirectory(launch) ``` -------------------------------- ### Install Project AirSim in Editable Mode Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/requirements.txt Installs the projectairsim package in editable development mode, allowing for direct code changes to be reflected without reinstallation. ```bash -e . ``` -------------------------------- ### Build Process Workflow Source: https://github.com/iamaisim/projectairsim/blob/main/Architecture.md Outlines the steps involved in the build process for Project AirSim, starting from source code changes to launching the UE Editor in play mode. This includes building simulation libraries and the UE plugin. ```text Source Code Changes ↓ Build Sim Libs (CMake) ↓ build.sh simlibs_debug ↓ Build UE Plugin ↓ BlocksEditor Win64 DebugGame ↓ Launch UE Editor ↓ Test in Play Mode ``` -------------------------------- ### Install Project-AirSim-ROS in Editable Mode Source: https://github.com/iamaisim/projectairsim/blob/main/ros/node/projectairsim-ros1/requirements.txt Installs the project-airsim-ros package in editable mode, allowing for direct code changes to be reflected without reinstallation. This is typically used during development. ```bash -e . ``` -------------------------------- ### Run HelloDrone Application Source: https://github.com/iamaisim/projectairsim/blob/main/client/cpp/example_user_apps/HelloDrone/README.md Execute the HelloDrone application with simulation host and configuration paths. Use `/?` for command-line parameters. ```bash hello_drone --simhost --simconfig ``` -------------------------------- ### Verify ARM Embedded GCC Installation Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/controllers/px4/px4_build.md Confirm that the ARM GCC cross-compiler is correctly installed by checking its version. This toolchain is required for building firmware for Pixhawk hardware. ```bash arm-none-eabi-gcc --version ``` -------------------------------- ### Install Mesa Vulkan Driver on Ubuntu Source: https://github.com/iamaisim/projectairsim/blob/main/client/python/projectairsim/docs/system_specs.md Installs the Mesa Vulkan driver package on Ubuntu. This is necessary if you are not using official/proprietary GPU drivers or if you are using an integrated GPU. ```bash sudo apt install mesa-vulkan-drivers ```