Drone Software Development
  • Introduction
  • Introduction
    • Drone Software Development
  • Software Development Environment
    • Software Development Environment
      • Docker
      • Manual
        • OpenCV
        • PX4
        • JMAVSim
        • MAVLink
        • Ardupilot
        • SITL Simulator
        • DroneKit
        • DroneCore
        • QGroundControl
        • APM Planner
        • GStreamer
  • Drone Solution Architect
    • Drone Solution Architect
    • Unmanned Aerial Vehicle
    • History
    • Flight Controller Hardware
    • Flight Code
    • Communication
    • Ground Control Station
    • Simulation
    • Developer API
    • Drone Software Developer
    • Unmanned Aerial Systems
    • Market Ecosystem
  • Dronecode Project
    • Dronecode Project
  • Virtual Drone Solution
    • Virtual Drone Solution
    • Flight Controller Operating System
      • NuttX
    • Flight Code
      • PX4
        • Architecture
        • DriverFramework
        • Shell
      • Ardupilot
      • Software In The Loop
        • DroneKit SITL
          • API
        • jMAVSim
        • Ardupilot SITL
          • X-Plane
      • Hardware In The Loop
    • Communication
      • MAVLink
        • PyMAVLink
    • Ground Control Station
      • QGroundControl
      • APM Planner 2
      • MAVProxy
    • Developer API
      • DroneKit
      • DroneCore
    • Features
      • Video Streaming
      • Joystick
      • Global Positioning System
    • Uses Cases
      • Xunán Kab
      • Maax
      • Tasks
      • Services
        • Telemetry
        • Image
      • Applications
  • Computer Vision
    • Computer Vision
    • OpenCV
      • Object Detection
      • Face Detection
  • Hybrid Drone Solution
    • Hybrid Drone Solution
    • Flight Controller Hardware
      • Pixhawk
    • Flight Code
      • Ardupilot
      • PX4
    • Companion Computer
      • Raspberry Pi
      • Intel Aero Platform
    • Ground Control Station
      • QGroundControl
    • Developer API
      • DroneKit
    • Computer Vision
  • Autonomous Drone Solution
    • Autonomous Drone Solution
    • FlyTbase
    • Paparazzi UAV
Powered by GitBook
On this page
  1. Virtual Drone Solution
  2. Flight Code

Software In The Loop

PreviousArdupilotNextDroneKit SITL

Last updated 7 years ago

In "software-in-loop" simulation (SITL or SIL) mode the firmware runs in your computer as opposed to separate board. This is generally fine except that now you are not touching any code paths that are specific to your device. Also, none of your code now runs with real time clock usually provided by specialized hardware board. For well designed flight controllers with software clock, these are usually not concerning issues.

Architecture

  • Platforms

    • Several

      • x86

  • Flight Dynamics Model (FDM)

Projects

  • Gazebo

  • jMAVSim

  • AirSim

  • XPlane

  • DroneKit SITL

Hardware In The Loop

Hardware-in-Loop (HITL or HIL) means flight controller runs in actual hardware such as Naze32 or Pixhawk chip. You than connect this hardware to PC using USB port. Simulator talks to the device to retrieve actuator signals and send it simulated sensor data. This is obviously as close as you can get to real thing. However it typically requires more steps to set up and usually hard to debug. One big issue is that simulator clock and device clock runs on their own speed and accuracy. Also, USB connection (which is usually only USB 2.0) may not be enough for real time communication.

https://github.com/tridge/jsbsim