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
if [ "x$PRT_GPS1_" = "x" ]; then
^-----------^ SC2268 (style): Avoid x-prefix in comparisons as it no longer serves a purpose.
Signed-off-by: Ramon Roche <mrpollo@gmail.com>
Note: Some files are autogenerated and I did not yet
go through each source of generation to fix it there.
Instead I adjusted the filter to only exclude those
such that we can fix things in steps.
* gz_plugins: add MovingPlatformController
This plugin moves the entity to which it is attached to simulate moving
platforms (boats, trucks, ...) to takeoff and land on. Updates
Tools/simulation/gz submodule with corresponding dependency. Use with:
PX4_GZ_MODEL_POSE=0,0,2.2,0,0,0 PX4_GZ_WORLD=moving_platform make px4_sitl gz_standard_vtol
more in README.md
* MovingPlatformController: Wrench implementation
Now it works by applying appropriate forces & torques to make the
platform move as desired. Compared to the previous velocity-based
version it introduces no kinematic constraints, keeping it realistic.
Other updates:
- Also make heading configurable by env var in addition to velocity
- Cleaner error handling (runtime error, gzerr, gzwarn)
- Read parameters (gravity, platform mass & height) from model rather than hardcoding
- Update README with new env vars, usage in sdf, etc.
* MovingPlatformController: fix warning message
* MovingPlatformController: fix build
https://github.com/PX4/PX4-Autopilot/pull/24518 changed some variable
names in CMakeLists. This adapts ours to use the new ones.
* MovingPlatformController: format
* MovingPlatformController: address code review
From feedback on PR
- Parameterise low pass filters with cutoff frequency (rather than
filter coefficient directly).
- Add comment with units of feedback gains.
- Scale attitude gains with platform inertia (rather than mass).
Additionally
- Wait 5 seconds before moving the platform so the model has time to
spawn (was quicker before rebasing...)
- Refactor: separate noise generation and force/torque calculation into
two separate functions
- rename updatePlatformState -> getPlatformState to emphasise
difference from other update* functions that update internal state only
- remove unused gz transport node
- README grammar
* MovingPlatformController: format
* MovingPlatformController: remove redundant call
* MovingPlatformController: clarify explanation
* MovingPlatformController: clarify & comment units
* MovingPlatformController: wait for model to spawn
Rather than waiting a fixed 5s, we now only move the platform once the
model is spawned.
For that we construct the model name from the relevant environment
variables, in the same way as done in px4-rc.gzsim.
If attaching to an existing model, do not wait.
* MovingPlatformController: correct substring extraction
---------
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Added the board configs for encryption, I had to disable smbus and px4 io in the arkv6x
* Added the key generator script
* Added the decryptor, logs are needed for it though
* Added the log download and modified the decryptor
* Quick fixes & README
* Additional modifications & cleanup
* Tested upd connection
Adjusted the log downloader to handle multiple entry responses from the FC
Edited README
* Reverted IP address change
* Added pycryptodome to the requirements.txt
* fixes for log download and decryption
* Removed old log decryptors and updated README
* Pointed the ark borads to the dummy key updated the README accordingly
* Adjusted the folders in README, removed new lines
* Extended command line arguments for all possibilities for description
* Added MAV_CMD_REQUEST_AUTOPILOT_CAPABILITIES after heartbeat received to make sure log request is answered in all cases
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Update Tools/log_encryption/README.md
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
* Edited README, changed the serial connection logic and updated logdownload, made decryption a bit easier to understand
* Update Tools/log_encryption/README.md
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
* Removed new lines
* arkv6x: add individual mags to default.px4board
---------
Co-authored-by: Jacob Dahl <dahl.jakejacob@gmail.com>
Co-authored-by: Alex Klimaj <alex@arkelectron.com>
Co-authored-by: Jacob Dahl <37091262+dakejahl@users.noreply.github.com>
Co-authored-by: Hamish Willee <hamishwillee@gmail.com>
* gz: use server config file for loading world plugins
* submodule
* use server.config in tree
* newlines
* format
* gzbridge: rename function
* format
* gzbridge: add magnetometer callback
* change gz_find_package to find_package
* fix up directory structure and cmake to allow multiple plugins
* newlines
* add comment block explaining gz_env.sh
* remove dupe readme
* remove SENS_EN_MAGSIM from all gz airframe files except spacecraft
* update gz submodule
* added optical flow to gz bridge
* log high rate sensor data
* it builds
* it builds and publishes, need to figure out build system now
* single library
* rename files
* add gz_msg for proto, fix build, test basic flow impl
* update rate, no blur
* PX4-OpticalFlow impl
* rename OpticalFlowSensor
* rename plugins
* disable gps, add plugin path
* cleanup
* fix plugin path export
* properly add OpticalFlowSystem dependency to gz
* move everything under gz_bridge
* cleanup
* add GZ_VEBOSE
* cleanup model/world build target cmake
* added GZ_DISTRO env, harmonic or ionic
* fix gz transport, unstage ark fpv bootloader
* unstage logged_topics.cpp
* cleanup
* make format
* ci fixes
* fix cmake
* remove required for gz-transport
* use model/world namespace for multi vehicle sim. Make format
* make format
* license
* remove needless member var
* made separate Kconfig for gz_msgs, gz_plugins, and gz_bridge
* move OpticalFlow build to it's own cmake
* fix clang
* cleanup comments
* fix rebase
* disable SENS_EN_GPSSIM for all gz airframes
* add GPS + noise to GZBridge
* remove mutex from gz callbacks. Callbacks run synchronously after sim update step and run() loop does not share resources.
* remove hrt check in callbacks
* format
* remove param set-default for already default params
* update submodule
* remove unnecessary comments
* overhaul of the GZBridge and px4-rc.simulator script
* remove arg
* shellcheck disable
* add bus/address
* start gz_bridge before adjusting sim speed or camera follow