* Add new INS driver sbgECom
Implement sbgECom messages handling to provide IMU sensors, GNSS and EKF data to the autopilot
Be able to parametrize the serial port, baudrate and the communicating mode
Clone sbgECom library only if sbgecom support is enabled and apply a patch
Be able to send SBG Systems INS settings in several ways when starting sbgecom driver
* Fix sensor airspeed simulator units
* Fix HIGHRES_IMU pressure unit
* Allow HIGHRES_IMU to support 4 IMUs
* sbgECom: Add documentation
* Use submodule instead of fetching sbgECom using CMake
* Remove patch strategy
* Fix dates
* Remove patch file
* Update SBG dev type ID
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
---------
Co-authored-by: Samuel Toledano <samuel.toledano@sbg-systems.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Add tflm to px4 with module
- Add TensorFlow Lite Micro(TFLM) as a library in px4
- Make a module that uses neural network inference for control, which uses TFLM for inference
- Make board config files for PX4 with neural module
* Added neural flight mode
* Add posibility to read of inference times
* Fix comments from review:
- Switch ssh link to https link in submodule
- Remove mc_nn_control from startup
* Add tflm to px4 with module
- Add TensorFlow Lite Micro(TFLM) as a library in px4
- Make a module that uses neural network inference for control, which uses TFLM for inference
- Make board config files for PX4 with neural module
* Added neural flight mode
* Add posibility to read of inference times
* Remove auto start
* Add logging from neural control module
* Fix automatic startup to only be when module is included
* Switch to flight mode registration
* Add docs
* Change min/max/coeff to actual parameters
* add figures to neural network docs
* Switch to e2e network
* Remove toolchain changes and replace with instructions in docs
* Get ready for merge after toolchain upgrade
* switch back to submodule
* Try to figure out cmake
* Get CI working with new toolchain
* Remove fork dependency
* Finalize PR
* fix toolchain inclusion
* Fix ctype_base.h include
* Cleanup includes for TFLM
* Remove redundant std
* Update FW module names in board files
* Fix docs
* Remove cstdlib copy
* Copy header from nuttx
* Prettier, markup, layout
* NeuralControl.msg - update uorb comments to current standard
* Add description to neural topic
* Fix typo
* Typo
* TFLM and Module utitlities
* Neural networks top level
* Update docs
* Add manual control
* Update docs
* Revert the manual control attempt
* Update docs/en/advanced/nn_module_utilities.md
* Add posibility to set trajectory setpoint with manual control
---------
Co-authored-by: Pedro Roque <padr@kth.se>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
Co-authored-by: Ramon Roche <mrpollo@gmail.com>
From https://github.com/google/fuzztest.
This will now also add gtest (via cmake FetchContent)
And requires newer cmake (container updates):
CMake 3.19 or higher is required. You are running version 3.16.3
- upstream libuavcan was broken and then marked deprecated, this fully absorbs the submodule (renamed libdronecan to deconflict) up to our last good working commit and all commit history is kept
- fixes https://github.com/PX4/PX4-Autopilot/issues/23727 (regression introduced in #23113)
- this puts us in a much better position to evolve the library as needed now that we have full control
* brought in the Vertiq Cpp API as a submodule. updated the serial rx handling so that we can parse out IQUART data packets
---------
Co-authored-by: Luca Scheuer <scheuer.luca@gmail.com>
* Update Zenoh-pico from 0.7.0 to 1.0.0
* Update the zenoh-pico version to use PX4/dev/1.0.0-px4
* Remove the rostopic and rt/ prefix
* Unlike zenoh-bridge-dds we were using, zenoh-bridge-ros2dds is now adding the rt/ prefix automagically.
- Added offset to Posix hrt time to account for synchronization with Qurt hrt time
- Added new Kconfig to configure synchronization of HRT timestamps on VOXL2
- Moved voxl2 libfc sensor library submodule from muorb module to boards directory
- Added check to make sure hrt_elapsed_time can never be negative
simulation gazebo: move the gazebo models to submodule, allow for operation with external gazebo instance, independent of startup order. Allows drag an drop of models from gazebo fuel.
* rolled back updates
Signed-off-by: frederik <frederik@auterion.com>
* fixing empy
Signed-off-by: frederik <frederik@auterion.com>
* Update GZBridge.cpp to lower drop position
Dropping from 1m leads to movement in the rc_cessna. Dropping from 0.5m leads to no movement.
* Update STANDALONE env variable.
* Update STANDALONE env_variable on GZBridge
* Update src/modules/simulation/gz_bridge/GZBridge.cpp
Co-authored-by: Daniel Agar <daniel@agar.ca>
* test removal of x500
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* removed all models and reworked logic
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* remove model path in set_sdf_filename
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* filter resource path for world sdf
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* updated structure to keep old make px4_sitl
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* remove gz tools
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* import gz as submodule and reverse rc simulator logic
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
* [gz-sim]: source GZ_SIM_RESOURCE_PATH only if PX4 starts gz server
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
* Typo fix
---------
Signed-off-by: frederik <frederik@auterion.com>
Signed-off-by: frederik <frederik.anilmarkus@gmail.com>
Signed-off-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
Co-authored-by: Daniel Agar <daniel@agar.ca>
Co-authored-by: Beniamino Pozzan <beniamino.pozzan@gmail.com>
Reduces flash usage by ~16KB.
- compress formats at build-time into a single string with all formats
- then at runtime iteratively decompress using
https://github.com/atomicobject/heatshrink
- use `gazebo-classic` everywhere consistently referring to the original Gazebo (eg version 9,10,11)
- additional `gazebo_*` helper targets added for compatibility, but warn about deprecation and tell you the new target naming
- use `gz` everywhere when referring to Gazebo (aka Ignition Gazebo or new Gazebo)
- update all msgs to be directly compatible with ROS2
- microdds_client improvements
- timesync
- reduced code size
- add to most default builds if we can afford it
- lots of other little changes
- purge fastrtps (I tried to save this multiple times, but kept hitting roadblocks)
- new modules/simulation directory to collect all simulators and related modules
- new Tools/simulation directory to collect and organize scattered simulation submodules, scripts, etc
- simulation module renamed to simulator_mavlink
- sih renamed to simulator_sih (not a great name, but I wanted to be clear it was a simulator)
- ignition_simulator renamed to simulator_ignition_bridge
- large sitl_target.cmake split by simulation option and in some cases pushed to appropriate modules
- sitl targets broken down to what's actually available (eg jmavsim only has 1 model and 1 world)
- new Gazebo consistently referred to as Ignition for now (probably the least confusing thing until we fully drop Gazebo classic support someday)
- much simpler direct interface using Ignition Transport
- in tree models and worlds
- control allocation output configuration, no more magic actuator mapping to mavlink and back
- currently requires no custom Gazebo plugins (keeping things as lightweight and simple as possible)
Co-authored-by: Jaeyoung-Lim <jalim@ethz.ch>
- mavlink/mavlink is now directly included as a submodule instead of the generated mavlink/c_library_v2
- this also switches to mavlink development.xml by default
This commit adds SITL support for ignition gazebo. Ignition gazebo is a replacement for the "classic" gazebo for future applications.
The simulation can be run as the following
```
make px4_sitl ignition
```
- sending protocol
- uorb event message & template methods for argument packing
- libevents submodule to send common events and handle json files
- cmake maintains a list of all (PX4) source files for the current build
(PX4 modules + libs), which is used to extract event metadata and
generate a json file