Oleg Kalachev 52819e403b Major rework of rc subsystem
Implement channels mapping calibration.
Store mapping in parameters.
Get rid of `controls` array and store control inputs in `controlRoll`, `controlPitch`, ... variables.
Move `channels` variable to rc.ino, channels are not involved when controled using mavlink.
'Neutral' values are renamed to 'zero' - more precise naming.
`controlsTime` is renamed to `controlTime`.
Use unsigned values for channels.
Make channel values in simulation more alike to real world: unsigned values in range [1000, 2000].
Send RC_CHANNELS_RAW instead of RC_CHANNELS_SCALED via mavlink
Don't send channels data via mavlink if rc is not used
2025-07-14 12:01:29 +03:00
..
2025-04-13 01:42:47 +03:00
2025-01-24 14:35:44 +03:00
2025-07-12 09:29:47 +03:00
2025-07-14 12:01:29 +03:00
2024-01-31 12:07:37 +03:00
2025-07-14 12:01:29 +03:00
2025-07-14 12:01:29 +03:00
2024-12-23 13:00:02 +03:00

Gazebo Simulation

Flix simulator

Building and running

See building and running instructions.

Code structure

Flix simulator is based on Gazebo Classic and consists of the following components:

  • Physical model of the drone: models/flix/flix.sdf.
  • Plugin for Gazebo: simulator.cpp. The plugin is attached to the physical model. It receives stick positions from the controller, gets the data from the virtual sensors, and then passes this data to the Arduino code.
  • Arduino imitation: Arduino.h. This file contains partial implementation of the Arduino API, that is working within Gazebo plugin environment.