mirror of
https://github.com/okalachev/flix.git
synced 2025-07-27 09:39:33 +00:00
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
Gazebo Simulation

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.