hyperray 0.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- hyperdrone/__init__.py +53 -0
- hyperdrone/_cuda/__init__.py +76 -0
- hyperdrone/_dlpack.py +30 -0
- hyperdrone/_jit/__init__.py +131 -0
- hyperdrone/_jit/_build.py +113 -0
- hyperdrone/_jit/_lock.py +23 -0
- hyperdrone/_jit/_patches.py +99 -0
- hyperdrone/_jit/_toolchain.py +17 -0
- hyperdrone/_jit/_workspace.py +94 -0
- hyperdrone/_native/cmake/hyperdrone_jit.cmake +65 -0
- hyperdrone/_native/common/bindings.h +39 -0
- hyperdrone/_native/common/cuda_staging.h +80 -0
- hyperdrone/_native/common/jit_host.h +69 -0
- hyperdrone/_native/common/models.h +24 -0
- hyperdrone/_native/common/verbosity.h +52 -0
- hyperdrone/_native/dynamics/CMakeLists.txt +63 -0
- hyperdrone/_native/dynamics/host.cpp +188 -0
- hyperdrone/_native/dynamics/iface.h +71 -0
- hyperdrone/_native/dynamics/impl.cpp +638 -0
- hyperdrone/_native/env/CMakeLists.txt +98 -0
- hyperdrone/_native/env/environment.cpp +190 -0
- hyperdrone/_native/env/environment.h +282 -0
- hyperdrone/_native/env/impl.cpp +779 -0
- hyperdrone/_native/env/rotorcraft_bindings.cpp +53 -0
- hyperdrone/_native/render/CMakeLists.txt +96 -0
- hyperdrone/_native/render/renderer.cpp +973 -0
- hyperdrone/_native/render/rig_bindings.h +152 -0
- hyperdrone/_native/render/scene_bindings.cpp +515 -0
- hyperdrone/_outputs.py +32 -0
- hyperdrone/_parameters.py +36 -0
- hyperdrone/_vendor/rl-tools/CMakeLists.txt +207 -0
- hyperdrone/_vendor/rl-tools/LICENSE +21 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/all.cmake +34 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-diff.cmake +100 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/git-hash.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/summary.cmake +65 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier0-compiler.cmake +18 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier1-blas.cmake +51 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier2-json-hdf5-zlib.cmake +82 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier3-tensorboard.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier4-cuda.cmake +42 -0
- hyperdrone/_vendor/rl-tools/cmake/autodetect/tier5-cli11.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/dependencies/assimp.cmake +19 -0
- hyperdrone/_vendor/rl-tools/cmake/legacy_flags.cmake +33 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/assimp.cmake +30 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/googletest.cmake +20 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/metal.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/mujoco.cmake +89 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/optix.cmake +25 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/raytracing.cmake +105 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/raytracing_generic.cmake +2 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/vulkan.cmake +4 -0
- hyperdrone/_vendor/rl-tools/cmake/optional/webgpu.cmake +24 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/embed_text.cmake +7 -0
- hyperdrone/_vendor/rl-tools/cmake/scripts/generate-git-snapshot.cmake +138 -0
- hyperdrone/_vendor/rl-tools/include/conta/conta.h +1480 -0
- hyperdrone/_vendor/rl-tools/include/metra/metra.h +381 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/matrix.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_arm.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu.h +314 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_accelerate.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_blas.h +67 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_mkl.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cpu_openblas.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_cuda.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_dummy.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_esp32.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_generic.h +944 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/operations_wasm32.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/matrix/persist_code.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_arm.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu.h +94 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_accelerate.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_blas.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_mkl.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cpu_openblas.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_cuda.h +713 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/operations_generic.h +1356 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/persist_code.h +130 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/containers/tensor/tensor.h +490 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/arm.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu.h +210 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_accelerate.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_blas.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_emscripten.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_mkl.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_openblas.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cpu_tensorboard.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda.h +464 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/cuda_streams.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/devices.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/dummy.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/esp32.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/generic.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/devices/wasm32.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/model.h +218 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/operations_generic.h +769 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/persist.h +278 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter.h +100 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/policy_adapter_persist.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/dyn/tensor_operations_generic.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_backend.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/c_interface.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/l2f.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_dyn.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/applications/l2f/operations_generic.h +268 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_backend.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/debugging_pool/c_interface.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_backend.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/c_interface.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/executor.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/helper.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/inference/executor/operations_generic.h +219 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arduino.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_arm.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cpu_tensorboard.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_cuda.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_dummy.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/logging/operations_wasm32.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_arm.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cpu.h +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_cuda.h +380 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_dummy.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_esp32.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_generic.h +295 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/math/operations_wasm32.h +230 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/mode/mode.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/activation_functions.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/capability.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/capability/persist_code.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/group.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_cuda.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/operations_generic.h +186 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/avg_pool2d/persist.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/layer.h +300 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cpu_mkl.h +590 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_cuda.h +809 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/operations_generic.h +1219 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/conv2d/persist_code.h +170 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/layer.h +145 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/dsp.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_arm/opt.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_accelerate.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_blas.h +282 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_mkl.h +66 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cpu_openblas.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_cuda.h +519 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/dsp.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_esp32/opt.h +167 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/operations_generic.h +429 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_code.h +178 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dense/persist_common.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/layer.h +188 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_cuda.h +356 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/operations_generic.h +536 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/dynamic_conv2d/persist.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/layer.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/operations_generic.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/embedding/persist.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/layer.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/operations_generic.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/flatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_cuda.h +602 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/helper_operations_generic.h +251 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/layer.h +206 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/operations_generic.h +889 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/gru/persist_code.h +199 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/layers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/layer.h +143 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_cuda.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/operations_generic.h +216 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/max_pool2d/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_mkl.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_cuda.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/layer.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_cuda.h +138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/operations_generic.h +446 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/resnet_block/persist.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/layer.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_cuda.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/operations_generic.h +502 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/sample_and_squash/persist_code.h +173 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/layer.h +116 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_cuda.h +156 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/operations_generic.h +295 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist.h +83 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/standardize/persist_code.h +163 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/layer.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/operations_generic.h +272 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/td3_sampling/persist_code.h +164 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/layer.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_cuda.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/operations_generic.h +160 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/unflatten/persist_code.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/layer.h +132 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_cuda.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/layers/upsample2d/operations_generic.h +230 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/categorical_cross_entropy/operations_generic.h +102 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_cuda.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/mse/operations_generic.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/loss_functions/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/nn.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_blas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_mux.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cpu_openblas.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_cuda.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/operations_generic.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/adam.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_cuda.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/operations_generic.h +150 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/instance/persist_code.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_cuda.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/operations_generic.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/adam/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/instance/operations_generic.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/lamb.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/lamb/operations_generic.h +68 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/optimizers.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_cuda.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/operations_generic.h +140 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/instance/persist_code.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_cuda.h +49 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/operations_generic.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/sgd/sgd.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/optimizers/update.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_cuda.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/operations_generic.h +98 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/parameters.h +79 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist.h +34 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/parameters/persist_code.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn/persist_code.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/behaviors/skip_parameter_gradients.h +65 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/README.md +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/model.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/group/persist_code.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/network.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_cuda.h +10 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_dummy.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/operations_generic.h +407 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp/persist_code.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/network.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/operations_generic.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/mlp_unconditional_stddev/persist_code.h +142 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/models.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/model.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/operations_generic.h +288 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/multi_agent_wrapper/persist_code.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cpu.h +0 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_cuda.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_dummy.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/operations_generic.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/model.h +290 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_cuda.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/operations_generic.h +623 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/parallel/persist_code.h +200 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/persist_code.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/model.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/random_uniform/operations_generic.h +73 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/resnet/resnet.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/model.h +270 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/operations_generic.h +625 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist.h +99 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/nn_models/sequential/persist_code.h +115 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/bf16.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/categories.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/persist_code.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/numeric_types/policy.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_2.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm/group_3.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/arm.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_1.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_accelerate.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_1.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mkl.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_mux.h +158 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_openblas.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard/group_3.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cpu_tensorboard.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_1.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/cuda.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/dummy.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_1.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32/group_3.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/esp32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_1.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_2.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32/group_3.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/operations/wasm32.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/hdf5.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/hdf5/operations_cpu.h +419 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/io.h +55 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_cpu.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_generic.h +620 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/operations_posix.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/backends/tar/tar.h +74 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/persist/code.h +38 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_arm.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cpu.h +81 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_cuda.h +172 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_dummy.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_esp32.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic.h +133 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_generic_array.h +73 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/operations_wasm32.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/random/persist.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/camera.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/cache.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/free_space.h +60 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/annotations/operations_cpu.h +411 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/glb.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/glb/operations_cpu.h +1288 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/operations_cpu.h +136 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/catalog.h +232 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/conversion.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/operations_cpu.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/datasets/procthor/procthor.h +39 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_cpu.h +717 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/generic/operations_generic.h +1283 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/context.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/device_source.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/metal/operations_cpu.h +1123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device.h +207 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/device_impl.h +1043 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/operations_cuda.h +1747 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/optix/overlay_accel.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/specialization.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/context.h +251 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/device_source.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/vulkan/operations_cpu.h +2067 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/bvh_sah.h +182 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/context.h +280 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/device_source.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/backends/webgpu/operations_cpu.h +1405 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_common.h +948 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_mux.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/operations_cpu_post.h +96 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/renderer.h +484 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/save_cpu.h +314 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/scene.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/transforms_generic.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/raytracing/types.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_cpu.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/operations_generic.h +121 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/rig/rig.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/scene.h +132 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/segmentation_cpu.h +145 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/transforms.h +204 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rendering/types.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/algorithms.h +6 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/operations_generic.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/config.h +243 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_cuda.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/operations_generic.h +205 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/persist.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/loop/core/state.h +51 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/mixed_imitation.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_cuda.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic.h +332 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/operations_generic_mixed_imitation.h +81 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/persist.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/ppo/ppo.h +105 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_gru.h +84 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/approximators_mlp.h +61 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/config.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/operations_generic.h +193 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/loop/core/state.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_cuda.h +131 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/operations_generic.h +580 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/sac/sac.h +151 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_gru.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/approximators_mlp.h +54 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/config.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/operations_generic.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/loop/core/state.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_accelerate.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mkl.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cpu_mux.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_cuda.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/operations_generic.h +359 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/algorithms/td3/td3.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/components.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/off_policy_runner.h +225 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu.h +95 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_accelerate.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cpu_mkl.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_cuda.h +237 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic.h +498 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/off_policy_runner/operations_generic_per_env.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/collection.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/on_policy_runner.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_accelerate.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mkl.h +8 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cpu_mux.h +12 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_cuda.h +183 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic.h +366 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/operations_generic_common.h +74 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/on_policy_runner/persist.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_accelerate.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_cpu_mkl.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/operations_generic.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_cpu.h +9 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/operations_generic.h +123 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/persist.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/replay_buffer/replay_buffer.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/operations_generic.h +76 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/persist.h +31 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/components/running_normalizer/running_normalizer.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/operations_generic.h +58 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/operations_generic.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/scale_observations/wrapper.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environment_wrappers/wrappers.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/acrobot.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_cpu.h +152 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/acrobot/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/environment.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_cuda.h +204 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/operations_generic_common.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/batch/persist.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/car.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_cpu.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_generic.h +206 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/operations_json.h +59 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/track.h +23 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/car/ui.h +189 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/environments.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/environment.h +87 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_cpu.h +212 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/flag/operations_generic.h +215 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/observation.h +75 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cpu.h +1063 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/operations_cuda.h +564 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/pose.h +253 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/presets.h +154 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_cpu.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/operations_generic.h +91 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/raptor/raptor.h +71 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_cpu.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/operations_generic.h +32 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/rig/rig.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cpu.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_cuda.h +69 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/capture_optix.h +163 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu.h +223 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cpu_spectator.h +194 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/operations_cuda_spectator.h +109 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spectator.h +82 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/spy.h +107 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/spy/ui.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/moving_gate.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cpu.h +279 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/moving_gate/operations_cuda.h +242 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cpu.h +322 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_cuda.h +312 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/operations_generic_position_hold.h +128 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/position_hold.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/target_frame/target_frame.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/baseline.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/calibration.h +62 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/metrics.h +101 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/operations_cpu.h +374 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/tasks/visual_inertial_localization/visual_inertial_localization.h +126 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/hyperdrone/world.h +333 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/inertial_velocity.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/metrics.h +266 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/multirotor.h +1138 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_cpu.h +2252 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/05_state_is_nan.h +148 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/10_sample_initial_parameters.h +228 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/20_initial_state.h +208 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/30_sample_initial_state.h +300 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/35_get_desired_state.h +63 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/40_observe.h +637 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/50_state_algebra.h +57 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/60_dynamics.h +134 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/70_post_integration.h +368 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic/80_abs_diff.h +312 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic.h +367 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_generic_inertial_velocity.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_helper_generic.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic.h +70 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/operations_multitask_generic_forward.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/default.h +209 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/arpl.h +112 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie.h +127 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/crazyflie_openmv.h +119 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/flightmare.h +111 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/fs.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/mrs.h +110 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft.h +117 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/soft_rigid.h +118 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_real.h +88 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/dynamics/x500_sim.h +114 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/init/default.h +56 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/registry.h +96 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/default.h +64 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/reward_functions.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/operations_generic.h +202 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/reward_functions/squared/squared.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/termination/default.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/lissajous.h +72 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/parameters/trajectories/trajectory.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/persist_code.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/quaternion_helper.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/l2f/ui.h +180 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/environment.h +69 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_cpu.h +46 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/memory/operations_generic.h +78 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/README.MD +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ant.h +77 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/model.h +415 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/operations_cpu.h +162 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/persist.h +86 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/ant/ui.h +141 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/mujoco/mujoco.h +1 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/bottleneck.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_cpu.h +289 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/bottleneck/operations_generic.h +495 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/multi_agent/environments.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/observation.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_cpu.h +2 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/operations_generic.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_cpu.h +146 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/operations_generic.h +262 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/pendulum.h +197 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui.h +97 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/pendulum/ui_xeus.h +124 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_cpu.h +426 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/operations_generic.h +424 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/environments/reacher/reacher.h +137 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/loop.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/config.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/operations_cpu.h +233 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/checkpoint/state.h +21 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/config.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/operations_generic.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/curriculum/state.h +17 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/config.h +47 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/operations_generic.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/persist.h +40 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/evaluation/state.h +36 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/config.h +22 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/operations_cpu.h +44 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/extrack/state.h +26 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/config.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/operations_cpu.h +113 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/nn_analytics/state.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/config.h +43 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/operations_cpu.h +190 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/persist.h +30 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/save_trajectories/state.h +37 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/steps.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/config.h +27 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/operations_cpu.h +52 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/persist.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/loop/steps/timing/state.h +25 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/operations_generic.h +3 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/rl.h +5 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/evaluation.h +106 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_cpu.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/evaluation/operations_generic.h +275 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation.h +269 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl/utils/validation_analysis.h +85 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/rl_tools.h +80 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/client.h +50 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_boost.h +92 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_cpu.h +174 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/client/operations_websocket.h +208 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/ui_server/server.h +448 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/universe.h +4 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu.h +13 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/declarations_cpu_emscripten.h +15 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_arm.h +29 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu.h +24 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cpu_emscripten.h +28 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_cuda.h +33 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_dummy.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_esp32.h +20 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_generic.h +19 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/assert/operations_wasm32.h +18 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_cpu.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/env/operations_generic.h +14 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/extrack.h +129 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/extrack/operations_cpu.h +588 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/integrators.h +103 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/memcpy.h +16 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/operations_generic.h +48 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/tuple/tuple.h +147 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/typing.h +122 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/generic/vector_operations.h +172 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_cuda.h +53 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/polyak/operations_generic.h +93 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/string/operations_generic.h +201 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/utils/zlib/operations_cpu.h +45 -0
- hyperdrone/_vendor/rl-tools/include/rl_tools/version.h +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/CMakeLists.txt +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/README.md +214 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/CMakeLists.txt +11 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/CMakeLists.txt +17 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/generic/freestanding_check.cpp +134 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/CMakeLists.txt +31 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/device.metal +912 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/metal/metal_cpp_impl.cpp +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/CMakeLists.txt +51 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/device.cu +1 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/optix/overlay_accel.cu +308 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/CMakeLists.txt +37 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device.comp +970 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/vulkan/device_spirv.cpp +44 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/CMakeLists.txt +31 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/backends/webgpu/device.wgsl +1381 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/CMakeLists.txt +129 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/README.md +131 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark.cpp +180 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/benchmark_dynamic.cpp +491 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/download_paper_scene.py +74 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/CMakeLists.txt +104 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Info.plist +36 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/Sources/BenchmarkApp.swift +172 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.h +10 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/benchmark.mm +46 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/ios_app/build.sh +17 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/rig.cpp +119 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.cpp +1382 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix.h +5 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_config.h.in +25 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_identity.cmake +11 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_main.cpp +5 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.cu +125 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics.h +58 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_contract.h +179 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/benchmark/simulator_matrix_physics_cpu.cpp +77 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/camera_orbit.h +51 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/CMakeLists.txt +199 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/antialiasing.cpp +214 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone.cpp +320 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/drone_device.cu +359 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/environment.h +96 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/environment/operations_cpu.h +263 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/example.cpp +273 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/fixed_pose.cpp +221 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/flow.cpp +120 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/interactive.cpp +1015 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/make_drone_glb.py +172 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal.cpp +82 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/minimal_overlay.cpp +137 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/motion_blur.cpp +232 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace.cpp +1829 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/example/render_pose_trace_motion_blur.cpp +647 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/CMakeLists.txt +147 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/README.md +15 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/job.sbatch +28 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model.h +260 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_config.h +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_forward_cuda.h +397 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_operations.h +418 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_persist.h +45 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/model_student.h +70 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.cpp +222 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/scene.h +68 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/.gitignore +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/CMakeLists.txt +4 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info.plist +24 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Info_ios.plist +36 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/CameraManager.swift +120 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/ContentView.swift +703 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/DatasetRecorder.swift +285 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/Sources/YawPredictorApp.swift +25 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/YawPredictor.entitlements +8 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build.sh +66 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/build_ios.sh +133 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/generate.sh +6 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/h5_to_tar.cpp +82 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.cpp +166 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/inference.h +26 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/project.yml +30 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/swift_app/test_tar_vs_hdf5.cpp +173 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_cuda.cu +699 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_dataset_overlay.cpp +475 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_distill_cuda.cu +995 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_eval.cu +457 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_real_world_eval.cpp +660 -0
- hyperdrone/_vendor/rl-tools/src/rendering/raytracing/yaw_prediction/yaw_prediction_viewer.cu +443 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/CMakeLists.txt +63 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/example.cpp +101 -0
- hyperdrone/_vendor/rl-tools/src/rl/environments/hyperdrone/spy/ui.cpp +380 -0
- hyperdrone/dynamics/__init__.py +5 -0
- hyperdrone/dynamics/_component.py +31 -0
- hyperdrone/dynamics/_config.py +46 -0
- hyperdrone/dynamics/_sim.py +166 -0
- hyperdrone/env/__init__.py +23 -0
- hyperdrone/env/_multi_environment.py +566 -0
- hyperdrone/env/_rotorcraft.py +29 -0
- hyperdrone/env/_spy.py +39 -0
- hyperdrone/examples/.gitignore +3 -0
- hyperdrone/examples/Benchmark.ipynb +113 -0
- hyperdrone/examples/HyperDrone.ipynb +589 -0
- hyperdrone/examples/Orbiter.ipynb +496 -0
- hyperdrone/examples/Renderer.ipynb +218 -0
- hyperdrone/examples/__init__.py +16 -0
- hyperdrone/examples/articulation.py +55 -0
- hyperdrone/examples/benchmark.py +236 -0
- hyperdrone/examples/benchmark_minimal.py +65 -0
- hyperdrone/examples/data.py +71 -0
- hyperdrone/examples/drone_flythrough.py +169 -0
- hyperdrone/examples/hyperdrone_videos/my_world_preview.h +17 -0
- hyperdrone/examples/my_world.h +17 -0
- hyperdrone/examples/render_procthor.py +40 -0
- hyperdrone/examples/shots.py +108 -0
- hyperdrone/examples/spy.py +40 -0
- hyperdrone/examples/visual_inertial_localization.py +158 -0
- hyperdrone/gym/__init__.py +67 -0
- hyperdrone/render/__init__.py +57 -0
- hyperdrone/render/_component.py +51 -0
- hyperdrone/render/_config.py +76 -0
- hyperdrone/render/_renderer.py +498 -0
- hyperdrone/render/_rig.py +136 -0
- hyperdrone/render/_sampling.py +69 -0
- hyperdrone/render/_scene.py +38 -0
- hyperdrone/render/datasets.py +15 -0
- hyperray-0.0.1.dist-info/METADATA +519 -0
- hyperray-0.0.1.dist-info/RECORD +788 -0
- hyperray-0.0.1.dist-info/WHEEL +4 -0
|
@@ -0,0 +1,1138 @@
|
|
|
1
|
+
#include "../../../version.h"
|
|
2
|
+
#if (defined(RL_TOOLS_DISABLE_INCLUDE_GUARDS) || !defined(RL_TOOLS_RL_ENVIRONMENTS_L2F_MULTIROTOR_H)) && (RL_TOOLS_USE_THIS_VERSION == 1)
|
|
3
|
+
#pragma once
|
|
4
|
+
#define RL_TOOLS_RL_ENVIRONMENTS_L2F_MULTIROTOR_H
|
|
5
|
+
|
|
6
|
+
#include "../../../utils/generic/typing.h"
|
|
7
|
+
|
|
8
|
+
#include "../environments.h"
|
|
9
|
+
#include "../observation.h"
|
|
10
|
+
// #include "./parameters/reward_functions/default.h"
|
|
11
|
+
// #include "./parameters/registry.h"
|
|
12
|
+
#include "./parameters/trajectories/trajectory.h"
|
|
13
|
+
|
|
14
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
15
|
+
namespace rl_tools::rl::environments::l2f{
|
|
16
|
+
template <typename T_T, typename T_TI, T_TI T_N, T_TI T_EPISODE_STEP_LIMIT, typename T_REWARD_FUNCTION>
|
|
17
|
+
struct ParametersBaseSpecification{
|
|
18
|
+
using T = T_T;
|
|
19
|
+
using TI = T_TI;
|
|
20
|
+
static constexpr TI N = T_N;
|
|
21
|
+
static constexpr TI EPISODE_STEP_LIMIT = T_EPISODE_STEP_LIMIT;
|
|
22
|
+
using REWARD_FUNCTION = T_REWARD_FUNCTION;
|
|
23
|
+
// static constexpr REGISTRY MODEL = T_MODEL;
|
|
24
|
+
};
|
|
25
|
+
namespace parameters{
|
|
26
|
+
enum class ActionInterface{
|
|
27
|
+
DIRECT_MOTOR,
|
|
28
|
+
CTBR
|
|
29
|
+
};
|
|
30
|
+
template <typename T, typename TI, TI N>
|
|
31
|
+
struct Dynamics{
|
|
32
|
+
struct ActionLimit{
|
|
33
|
+
T min;
|
|
34
|
+
T max;
|
|
35
|
+
};
|
|
36
|
+
T rotor_positions[N][3];
|
|
37
|
+
T rotor_thrust_directions[N][3];
|
|
38
|
+
T rotor_torque_directions[N][3];
|
|
39
|
+
T rotor_thrust_coefficients[N][3];
|
|
40
|
+
T rotor_torque_constants[N];
|
|
41
|
+
T rotor_time_constants_rising[N];
|
|
42
|
+
T rotor_time_constants_falling[N];
|
|
43
|
+
T mass;
|
|
44
|
+
T gravity[3];
|
|
45
|
+
T J[3][3];
|
|
46
|
+
T J_inv[3][3];
|
|
47
|
+
T hovering_throttle_relative; // relative to the action limits [0, 1]
|
|
48
|
+
ActionLimit action_limit;
|
|
49
|
+
};
|
|
50
|
+
template <typename T>
|
|
51
|
+
struct IMU{
|
|
52
|
+
// per-sensor error model following the standard Allan-variance decomposition: a
|
|
53
|
+
// stateless white-noise term plus a stateful bias process. Both are members of the
|
|
54
|
+
// same AR(1) family: the GaussianNoise is the memoryless (alpha = 0) corner, the
|
|
55
|
+
// BiasProcess covers OU (finite tau) through pure random walk (tau <= 0 = infinite)
|
|
56
|
+
struct GaussianNoise{
|
|
57
|
+
T mean; // constant additive offset per axis
|
|
58
|
+
T std; // per-sample white noise
|
|
59
|
+
};
|
|
60
|
+
struct BiasProcess{
|
|
61
|
+
T init_max; // turn-on bias uniform half-range per axis
|
|
62
|
+
T tau; // correlation time [s]; <= 0 means infinite: pure random walk
|
|
63
|
+
T sigma; // increment density [unit/sqrt(s)]; steady-state std = sigma*sqrt(tau/2) for finite tau; 0 holds the turn-on bias constant
|
|
64
|
+
};
|
|
65
|
+
struct ErrorModel{
|
|
66
|
+
GaussianNoise noise;
|
|
67
|
+
BiasProcess bias;
|
|
68
|
+
};
|
|
69
|
+
struct Sensor{
|
|
70
|
+
ErrorModel error;
|
|
71
|
+
};
|
|
72
|
+
Sensor accelerometer;
|
|
73
|
+
Sensor gyro;
|
|
74
|
+
};
|
|
75
|
+
template <typename T>
|
|
76
|
+
struct Initialization{
|
|
77
|
+
T guidance;
|
|
78
|
+
T max_position;
|
|
79
|
+
T max_angle;
|
|
80
|
+
T max_linear_velocity;
|
|
81
|
+
T max_angular_velocity;
|
|
82
|
+
bool relative_rpm; //(specification from -1 to 1)
|
|
83
|
+
T min_rpm; // -1 for default limit when relative_rpm is true, -1 if relative_rpm is false
|
|
84
|
+
T max_rpm; // 1 for default limit when relative_rpm is true, -1 if relative_rpm is false
|
|
85
|
+
};
|
|
86
|
+
template <typename T>
|
|
87
|
+
struct Termination{
|
|
88
|
+
bool enabled = false;
|
|
89
|
+
T position_threshold;
|
|
90
|
+
T angle_threshold;
|
|
91
|
+
T linear_velocity_threshold;
|
|
92
|
+
T angular_velocity_threshold;
|
|
93
|
+
T position_integral_threshold;
|
|
94
|
+
T orientation_integral_threshold;
|
|
95
|
+
};
|
|
96
|
+
template <typename T>
|
|
97
|
+
struct ObservationNoise{
|
|
98
|
+
T position;
|
|
99
|
+
T orientation;
|
|
100
|
+
T linear_velocity;
|
|
101
|
+
T angular_velocity;
|
|
102
|
+
T imu_acceleration;
|
|
103
|
+
};
|
|
104
|
+
template <typename T>
|
|
105
|
+
struct ActionNoise{
|
|
106
|
+
T normalized_rpm; // std of additive gaussian noise onto the normalized action (-1, 1)
|
|
107
|
+
};
|
|
108
|
+
template <typename T>
|
|
109
|
+
struct CTBRController{
|
|
110
|
+
T thrust_min;
|
|
111
|
+
T thrust_max;
|
|
112
|
+
T rate_limit[3];
|
|
113
|
+
T kp[3];
|
|
114
|
+
T kd[3];
|
|
115
|
+
T torque_limit[3];
|
|
116
|
+
};
|
|
117
|
+
template <typename T>
|
|
118
|
+
struct Integration{
|
|
119
|
+
T dt;
|
|
120
|
+
};
|
|
121
|
+
template <typename T_SPEC>
|
|
122
|
+
struct MDP{
|
|
123
|
+
using SPEC = T_SPEC;
|
|
124
|
+
using T = typename SPEC::T;
|
|
125
|
+
using Initialization = parameters::Initialization<T>;
|
|
126
|
+
using ObservationNoise = parameters::ObservationNoise<T>;
|
|
127
|
+
using ActionNoise = parameters::ActionNoise<T>;
|
|
128
|
+
using Termination = parameters::Termination<T>;
|
|
129
|
+
using REWARD_FUNCTION = typename SPEC::REWARD_FUNCTION;
|
|
130
|
+
Initialization init;
|
|
131
|
+
REWARD_FUNCTION reward;
|
|
132
|
+
ObservationNoise observation_noise;
|
|
133
|
+
ActionNoise action_noise;
|
|
134
|
+
Termination termination;
|
|
135
|
+
};
|
|
136
|
+
template <typename T>
|
|
137
|
+
struct Disturbances{
|
|
138
|
+
struct UnivariateGaussian{
|
|
139
|
+
T mean;
|
|
140
|
+
T std;
|
|
141
|
+
};
|
|
142
|
+
UnivariateGaussian random_force;
|
|
143
|
+
UnivariateGaussian random_torque;
|
|
144
|
+
};
|
|
145
|
+
template <typename T_T>
|
|
146
|
+
struct DomainRandomization{ // needs to be independent of the SPEC such that the dispatch in operations_cpu.h does not create issues
|
|
147
|
+
using T = T_T;
|
|
148
|
+
T thrust_to_weight_min; // cf: ~[1.5, 2]
|
|
149
|
+
T thrust_to_weight_max;
|
|
150
|
+
T torque_to_inertia_min; // cf: torque_to_inertia ~[536, 933]
|
|
151
|
+
// => residual_torque_to_inertia (thrust2weight-1)/4*mass*9.81*radius/inertia
|
|
152
|
+
// 0.5/4*0.027*9.81*0.04/1e-5 = 132
|
|
153
|
+
// 1/4*0.031*9.81*0.04/8e-6 = 380
|
|
154
|
+
// => ~[123, 380] => [(1.5-1)/380=0.0013, (2-1)/123=0.0081]
|
|
155
|
+
T torque_to_inertia_max;
|
|
156
|
+
T mass_min; // cf: ~[0.027 - 0.031]
|
|
157
|
+
T mass_max;
|
|
158
|
+
T mass_size_deviation; // percentage variation around the nominal value derived from the mass scale and the sampled thrust to weight ratio
|
|
159
|
+
T rotor_time_constant_rising_min; // cf: rising: ~[0.05, 0.09], falling: ~[0.07, 0.3]
|
|
160
|
+
T rotor_time_constant_rising_max;
|
|
161
|
+
T rotor_time_constant_falling_min;
|
|
162
|
+
T rotor_time_constant_falling_max;
|
|
163
|
+
T rotor_torque_constant_min; // cf: ~0.005
|
|
164
|
+
T rotor_torque_constant_max;
|
|
165
|
+
T orientation_offset_angle_max;
|
|
166
|
+
T disturbance_force_max; // in multiples of the surplus thrust to weight ratio max(0, t2w - 1.0)
|
|
167
|
+
};
|
|
168
|
+
template <typename T>
|
|
169
|
+
static constexpr DomainRandomization<T> domain_randomization_disabled = {};
|
|
170
|
+
template <typename T, typename TI>
|
|
171
|
+
struct ObservationDelay{
|
|
172
|
+
TI linear_velocity;
|
|
173
|
+
TI angular_velocity;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
template <typename T_SPEC>
|
|
177
|
+
struct ParametersBase{
|
|
178
|
+
using SPEC = T_SPEC;
|
|
179
|
+
using BASE_SPEC = SPEC;
|
|
180
|
+
using T = typename SPEC::T;
|
|
181
|
+
using TI = typename SPEC::TI;
|
|
182
|
+
static constexpr TI N = SPEC::N;
|
|
183
|
+
using Dynamics = parameters::Dynamics<T, TI, N>;
|
|
184
|
+
using Integration = parameters::Integration<T>;
|
|
185
|
+
using MDP = parameters::MDP<SPEC>;
|
|
186
|
+
Dynamics dynamics;
|
|
187
|
+
Integration integration;
|
|
188
|
+
MDP mdp;
|
|
189
|
+
};
|
|
190
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
191
|
+
struct ParametersSpecification{
|
|
192
|
+
using T = T_T;
|
|
193
|
+
using TI = T_TI;
|
|
194
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
template <typename SPECC>
|
|
199
|
+
struct ParametersDisturbances: SPECC::NEXT_COMPONENT{
|
|
200
|
+
using NEXT_COMPONENT = typename SPECC::NEXT_COMPONENT;
|
|
201
|
+
static constexpr typename SPECC::TI N = NEXT_COMPONENT::N;
|
|
202
|
+
using Disturbances = parameters::Disturbances<typename SPECC::T>;
|
|
203
|
+
Disturbances disturbances;
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
template <typename SPECC>
|
|
207
|
+
struct ParametersIMU: SPECC::NEXT_COMPONENT{
|
|
208
|
+
using NEXT_COMPONENT = typename SPECC::NEXT_COMPONENT;
|
|
209
|
+
static constexpr typename SPECC::TI N = NEXT_COMPONENT::N;
|
|
210
|
+
using IMU = parameters::IMU<typename SPECC::T>;
|
|
211
|
+
IMU imu;
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
template <typename SPECC>
|
|
215
|
+
struct ParametersCTBRController: SPECC::NEXT_COMPONENT{
|
|
216
|
+
using NEXT_COMPONENT = typename SPECC::NEXT_COMPONENT;
|
|
217
|
+
static constexpr typename SPECC::TI N = NEXT_COMPONENT::N;
|
|
218
|
+
using CTBRController = parameters::CTBRController<typename SPECC::T>;
|
|
219
|
+
CTBRController ctbr_controller;
|
|
220
|
+
};
|
|
221
|
+
|
|
222
|
+
struct DefaultParametersDomainRandomizationOptions{
|
|
223
|
+
static constexpr bool THRUST_TO_WEIGHT = false;
|
|
224
|
+
static constexpr bool MASS = false;
|
|
225
|
+
static constexpr bool TORQUE_TO_INERTIA = false;
|
|
226
|
+
static constexpr bool MASS_SIZE_DEVIATION = false;
|
|
227
|
+
static constexpr bool ROTOR_TORQUE_CONSTANT = false;
|
|
228
|
+
static constexpr bool DISTURBANCE_FORCE = false;
|
|
229
|
+
static constexpr bool ROTOR_TIME_CONSTANT = false;
|
|
230
|
+
};
|
|
231
|
+
template <typename T_T, typename T_TI, typename T_OPTIONS, typename T_NEXT_COMPONENT>
|
|
232
|
+
struct ParametersDomainRandomizationSpecification{
|
|
233
|
+
using T = T_T;
|
|
234
|
+
using TI = T_TI;
|
|
235
|
+
using DOMAIN_RANDOMIZATION_OPTIONS = T_OPTIONS;
|
|
236
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
237
|
+
};
|
|
238
|
+
template <typename SPECC>
|
|
239
|
+
struct ParametersDomainRandomization: SPECC::NEXT_COMPONENT{
|
|
240
|
+
using NEXT_COMPONENT = typename SPECC::NEXT_COMPONENT;
|
|
241
|
+
static constexpr typename SPECC::TI N = NEXT_COMPONENT::N;
|
|
242
|
+
using DomainRandomization = parameters::DomainRandomization<typename SPECC::T>;
|
|
243
|
+
DomainRandomization domain_randomization;
|
|
244
|
+
};
|
|
245
|
+
template <typename T_T, typename T_TI, T_TI T_LENGTH, T_TI T_DT, typename T_NEXT_COMPONENT>
|
|
246
|
+
struct ParametersTrajectorySpecification{
|
|
247
|
+
using T = T_T;
|
|
248
|
+
using TI = T_TI;
|
|
249
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
250
|
+
static constexpr TI LENGTH = T_LENGTH;
|
|
251
|
+
static constexpr TI DT = T_DT; // dt in microseconds
|
|
252
|
+
};
|
|
253
|
+
template <typename T_SPEC>
|
|
254
|
+
struct ParametersTrajectory: T_SPEC::NEXT_COMPONENT{
|
|
255
|
+
using SPEC = T_SPEC;
|
|
256
|
+
static constexpr typename SPEC::TI N = SPEC::NEXT_COMPONENT::N;
|
|
257
|
+
using TRAJECTORY_SPEC = parameters::trajectories::TrajectorySpecification<typename SPEC::T, typename SPEC::TI, SPEC::LENGTH, SPEC::DT>; // dt in microseconds
|
|
258
|
+
using Trajectory = parameters::trajectories::Trajectory<TRAJECTORY_SPEC>;
|
|
259
|
+
using TrajectoryParameters = parameters::trajectories::TaggedParameters<parameters::trajectories::TaggedParameterSpecification<typename SPEC::T>>;
|
|
260
|
+
Trajectory trajectory;
|
|
261
|
+
TrajectoryParameters trajectory_parameters;
|
|
262
|
+
};
|
|
263
|
+
|
|
264
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
265
|
+
struct ParametersObservationDelaySpecification{
|
|
266
|
+
using T = T_T;
|
|
267
|
+
using TI = T_TI;
|
|
268
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
269
|
+
};
|
|
270
|
+
template <typename T_SPEC>
|
|
271
|
+
struct ParametersObservationDelay: T_SPEC::NEXT_COMPONENT{
|
|
272
|
+
using SPEC = T_SPEC;
|
|
273
|
+
using TI = typename SPEC::TI;
|
|
274
|
+
using ObservationDelay = parameters::ObservationDelay<typename SPEC::T, typename SPEC::TI>;
|
|
275
|
+
ObservationDelay observation_delay;
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
// enum class LatentStateType{
|
|
279
|
+
// Empty,
|
|
280
|
+
// RandomForce
|
|
281
|
+
// };
|
|
282
|
+
// enum class StateType{
|
|
283
|
+
// Base,
|
|
284
|
+
// BaseRotors,
|
|
285
|
+
// BaseRotorsHistory,
|
|
286
|
+
// };
|
|
287
|
+
// enum class ObservationType{
|
|
288
|
+
// Normal,
|
|
289
|
+
// DoubleQuaternion,
|
|
290
|
+
// RotationMatrix
|
|
291
|
+
// };
|
|
292
|
+
namespace observation{
|
|
293
|
+
template <typename T_TI>
|
|
294
|
+
struct LastComponent{
|
|
295
|
+
using TI = T_TI;
|
|
296
|
+
static constexpr TI CURRENT_DIM = 0;
|
|
297
|
+
static constexpr TI DIM = 0;
|
|
298
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
299
|
+
};
|
|
300
|
+
template <typename T_TI, bool T_ENABLE, typename T_CURRENT_COMPONENT, typename T_NEXT_COMPONENT=LastComponent<T_TI>>
|
|
301
|
+
struct MultiplexSpecification{
|
|
302
|
+
using TI = T_TI;
|
|
303
|
+
static constexpr bool ENABLE = T_ENABLE;
|
|
304
|
+
using CURRENT_COMPONENT = T_CURRENT_COMPONENT;
|
|
305
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
306
|
+
};
|
|
307
|
+
template <typename SPEC>
|
|
308
|
+
struct Multiplex{
|
|
309
|
+
using TI = typename SPEC::TI;
|
|
310
|
+
static constexpr bool ENABLE = SPEC::ENABLE;
|
|
311
|
+
using CURRENT_COMPONENT = typename SPEC::CURRENT_COMPONENT;
|
|
312
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
313
|
+
static constexpr TI CURRENT_DIM = ENABLE ? CURRENT_COMPONENT::CURRENT_DIM : 0;
|
|
314
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
315
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
316
|
+
};
|
|
317
|
+
template <typename T_TI>
|
|
318
|
+
struct NONE{
|
|
319
|
+
using TI = T_TI;
|
|
320
|
+
static constexpr TI DIM = 0;
|
|
321
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
322
|
+
};
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
326
|
+
struct PositionSpecification{
|
|
327
|
+
using T = T_T;
|
|
328
|
+
using TI = T_TI;
|
|
329
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
330
|
+
static constexpr bool PRIVILEGED = false;
|
|
331
|
+
};
|
|
332
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
333
|
+
struct PositionSpecificationPrivileged: PositionSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
334
|
+
static constexpr bool PRIVILEGED = true;
|
|
335
|
+
};
|
|
336
|
+
template <typename SPEC>
|
|
337
|
+
struct Position{
|
|
338
|
+
using T = typename SPEC::T;
|
|
339
|
+
using TI = typename SPEC::TI;
|
|
340
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
341
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
342
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
343
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
344
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
345
|
+
};
|
|
346
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
347
|
+
struct OrientationQuaternionSpecification{
|
|
348
|
+
using T = T_T;
|
|
349
|
+
using TI = T_TI;
|
|
350
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
351
|
+
static constexpr bool PRIVILEGED = false;
|
|
352
|
+
};
|
|
353
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
354
|
+
struct OrientationQuaternionSpecificationPrivileged: OrientationQuaternionSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
355
|
+
static constexpr bool PRIVILEGED = true;
|
|
356
|
+
};
|
|
357
|
+
template <typename SPEC>
|
|
358
|
+
struct OrientationQuaternion{
|
|
359
|
+
using T = typename SPEC::T;
|
|
360
|
+
using TI = typename SPEC::TI;
|
|
361
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
362
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
363
|
+
static constexpr TI CURRENT_DIM = 4;
|
|
364
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
365
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
369
|
+
struct OrientationRotationMatrixSpecification{
|
|
370
|
+
using T = T_T;
|
|
371
|
+
using TI = T_TI;
|
|
372
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
373
|
+
static constexpr bool PRIVILEGED = false;
|
|
374
|
+
};
|
|
375
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
376
|
+
struct OrientationRotationMatrixSpecificationPrivileged: OrientationRotationMatrixSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
377
|
+
static constexpr bool PRIVILEGED = true;
|
|
378
|
+
};
|
|
379
|
+
template <typename SPEC>
|
|
380
|
+
struct OrientationRotationMatrix{
|
|
381
|
+
using T = typename SPEC::T;
|
|
382
|
+
using TI = typename SPEC::TI;
|
|
383
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
384
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
385
|
+
static constexpr TI CURRENT_DIM = 9;
|
|
386
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
387
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
388
|
+
};
|
|
389
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
390
|
+
struct OrientationWorldZSpecification{
|
|
391
|
+
using T = T_T;
|
|
392
|
+
using TI = T_TI;
|
|
393
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
394
|
+
static constexpr bool PRIVILEGED = false;
|
|
395
|
+
};
|
|
396
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
397
|
+
struct OrientationWorldZSpecificationPrivileged: OrientationWorldZSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
398
|
+
static constexpr bool PRIVILEGED = true;
|
|
399
|
+
};
|
|
400
|
+
template <typename SPEC>
|
|
401
|
+
struct OrientationWorldZ{
|
|
402
|
+
using T = typename SPEC::T;
|
|
403
|
+
using TI = typename SPEC::TI;
|
|
404
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
405
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
406
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
407
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
408
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
409
|
+
};
|
|
410
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
411
|
+
struct OrientationMahonyWorldZSpecification{
|
|
412
|
+
using T = T_T;
|
|
413
|
+
using TI = T_TI;
|
|
414
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
415
|
+
static constexpr bool PRIVILEGED = false;
|
|
416
|
+
};
|
|
417
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
418
|
+
struct OrientationMahonyWorldZSpecificationPrivileged: OrientationMahonyWorldZSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
419
|
+
static constexpr bool PRIVILEGED = true;
|
|
420
|
+
};
|
|
421
|
+
template <typename SPEC>
|
|
422
|
+
struct OrientationMahonyWorldZ{
|
|
423
|
+
using T = typename SPEC::T;
|
|
424
|
+
using TI = typename SPEC::TI;
|
|
425
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
426
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
427
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
428
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
429
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
430
|
+
};
|
|
431
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
432
|
+
struct LinearVelocitySpecification{
|
|
433
|
+
using T = T_T;
|
|
434
|
+
using TI = T_TI;
|
|
435
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
436
|
+
static constexpr bool PRIVILEGED = false;
|
|
437
|
+
};
|
|
438
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
439
|
+
struct LinearVelocitySpecificationPrivileged: LinearVelocitySpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
440
|
+
static constexpr bool PRIVILEGED = true;
|
|
441
|
+
};
|
|
442
|
+
template <typename SPEC>
|
|
443
|
+
struct LinearVelocity{
|
|
444
|
+
using T = typename SPEC::T;
|
|
445
|
+
using TI = typename SPEC::TI;
|
|
446
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
447
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
448
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
449
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
450
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
451
|
+
};
|
|
452
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
453
|
+
struct AngularVelocitySpecification {
|
|
454
|
+
using T = T_T;
|
|
455
|
+
using TI = T_TI;
|
|
456
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
457
|
+
static constexpr bool PRIVILEGED = false;
|
|
458
|
+
};
|
|
459
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
460
|
+
struct AngularVelocitySpecificationPrivileged: AngularVelocitySpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
461
|
+
static constexpr bool PRIVILEGED = true;
|
|
462
|
+
};
|
|
463
|
+
template <typename SPEC>
|
|
464
|
+
struct AngularVelocity{
|
|
465
|
+
using T = typename SPEC::T;
|
|
466
|
+
using TI = typename SPEC::TI;
|
|
467
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
468
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
469
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
470
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
471
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
472
|
+
};
|
|
473
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
474
|
+
struct LinearAccelerationBodyFrameSpecification{
|
|
475
|
+
using T = T_T;
|
|
476
|
+
using TI = T_TI;
|
|
477
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
478
|
+
static constexpr bool PRIVILEGED = false;
|
|
479
|
+
};
|
|
480
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
481
|
+
struct LinearAccelerationBodyFrameSpecificationPrivileged: LinearAccelerationBodyFrameSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
482
|
+
static constexpr bool PRIVILEGED = true;
|
|
483
|
+
};
|
|
484
|
+
template <typename SPEC>
|
|
485
|
+
struct LinearAccelerationBodyFrame{
|
|
486
|
+
using T = typename SPEC::T;
|
|
487
|
+
using TI = typename SPEC::TI;
|
|
488
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
489
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
490
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
491
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
492
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
493
|
+
};
|
|
494
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
495
|
+
struct LinearAccelerationBodyFrameHistorySpecification{
|
|
496
|
+
using T = T_T;
|
|
497
|
+
using TI = T_TI;
|
|
498
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
499
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
500
|
+
static constexpr bool PRIVILEGED = false;
|
|
501
|
+
};
|
|
502
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
503
|
+
struct LinearAccelerationBodyFrameHistorySpecificationPrivileged: LinearAccelerationBodyFrameHistorySpecification<T_T, T_TI, T_HISTORY_LENGTH, T_NEXT_COMPONENT>{
|
|
504
|
+
static constexpr bool PRIVILEGED = true;
|
|
505
|
+
};
|
|
506
|
+
template <typename SPEC>
|
|
507
|
+
struct LinearAccelerationBodyFrameHistory{
|
|
508
|
+
using T = typename SPEC::T;
|
|
509
|
+
using TI = typename SPEC::TI;
|
|
510
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
511
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
512
|
+
static constexpr TI HISTORY_LENGTH = SPEC::HISTORY_LENGTH;
|
|
513
|
+
static constexpr TI ACCELERATION_DIM = 3;
|
|
514
|
+
static constexpr TI CURRENT_DIM = ACCELERATION_DIM * HISTORY_LENGTH;
|
|
515
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
516
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
517
|
+
};
|
|
518
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
519
|
+
struct LinearVelocityBodyFrameSpecification{
|
|
520
|
+
using T = T_T;
|
|
521
|
+
using TI = T_TI;
|
|
522
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
523
|
+
static constexpr bool PRIVILEGED = false;
|
|
524
|
+
};
|
|
525
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
526
|
+
struct LinearVelocityBodyFrameSpecificationPrivileged: LinearVelocityBodyFrameSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
527
|
+
static constexpr bool PRIVILEGED = true;
|
|
528
|
+
};
|
|
529
|
+
template <typename SPEC>
|
|
530
|
+
struct LinearVelocityBodyFrame{
|
|
531
|
+
using T = typename SPEC::T;
|
|
532
|
+
using TI = typename SPEC::TI;
|
|
533
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
534
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
535
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
536
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
537
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
538
|
+
};
|
|
539
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
540
|
+
struct MagnetometerSpecification{
|
|
541
|
+
using T = T_T;
|
|
542
|
+
using TI = T_TI;
|
|
543
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
544
|
+
static constexpr bool PRIVILEGED = false;
|
|
545
|
+
};
|
|
546
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
547
|
+
struct MagnetometerSpecificationPrivileged: MagnetometerSpecification<T_T, T_TI, T_NEXT_COMPONENT>{
|
|
548
|
+
static constexpr bool PRIVILEGED = true;
|
|
549
|
+
};
|
|
550
|
+
template <typename SPEC>
|
|
551
|
+
struct Magnetometer{
|
|
552
|
+
using T = typename SPEC::T;
|
|
553
|
+
using TI = typename SPEC::TI;
|
|
554
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
555
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
556
|
+
static constexpr TI CURRENT_DIM = 2;
|
|
557
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
558
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
559
|
+
};
|
|
560
|
+
template <typename T_T, typename T_TI, T_TI T_DELAY, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
561
|
+
struct AngularVelocityDelayedSpecification {
|
|
562
|
+
using T = T_T;
|
|
563
|
+
using TI = T_TI;
|
|
564
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
565
|
+
static constexpr TI DELAY = T_DELAY;
|
|
566
|
+
static constexpr bool PRIVILEGED = false;
|
|
567
|
+
};
|
|
568
|
+
template <typename T_T, typename T_TI, T_TI T_DELAY, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
569
|
+
struct AngularVelocityDelayedSpecificationPrivileged: AngularVelocityDelayedSpecification<T_T, T_TI, T_DELAY, T_NEXT_COMPONENT>{
|
|
570
|
+
static constexpr bool PRIVILEGED = true;
|
|
571
|
+
};
|
|
572
|
+
template <typename SPEC>
|
|
573
|
+
struct AngularVelocityDelayed{
|
|
574
|
+
using T = typename SPEC::T;
|
|
575
|
+
using TI = typename SPEC::TI;
|
|
576
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
577
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
578
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
579
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
580
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
581
|
+
};
|
|
582
|
+
template <typename T_T, typename T_TI, T_TI T_DELAY, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
583
|
+
struct LinearVelocityDelayedSpecification {
|
|
584
|
+
using T = T_T;
|
|
585
|
+
using TI = T_TI;
|
|
586
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
587
|
+
static constexpr TI DELAY = T_DELAY;
|
|
588
|
+
static constexpr bool PRIVILEGED = false;
|
|
589
|
+
};
|
|
590
|
+
template <typename T_T, typename T_TI, T_TI T_DELAY, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
591
|
+
struct LinearVelocityDelayedSpecificationPrivileged: LinearVelocityDelayedSpecification<T_T, T_TI, T_DELAY, T_NEXT_COMPONENT>{
|
|
592
|
+
static constexpr bool PRIVILEGED = true;
|
|
593
|
+
};
|
|
594
|
+
template <typename SPEC>
|
|
595
|
+
struct LinearVelocityDelayed{
|
|
596
|
+
using T = typename SPEC::T;
|
|
597
|
+
using TI = typename SPEC::TI;
|
|
598
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
599
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
600
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
601
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
602
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
603
|
+
};
|
|
604
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
605
|
+
struct PoseIntegralSpecification {
|
|
606
|
+
using T = T_T;
|
|
607
|
+
using TI = T_TI;
|
|
608
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
609
|
+
static constexpr bool PRIVILEGED = true;
|
|
610
|
+
};
|
|
611
|
+
template <typename SPEC>
|
|
612
|
+
struct PoseIntegral{
|
|
613
|
+
using T = typename SPEC::T;
|
|
614
|
+
using TI = typename SPEC::TI;
|
|
615
|
+
static constexpr bool PRIVILEGED = SPEC::PRIVILEGED;
|
|
616
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
617
|
+
static constexpr TI CURRENT_DIM = 3 + 1;
|
|
618
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
619
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
620
|
+
};
|
|
621
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
622
|
+
struct RotorSpeedsSpecification {
|
|
623
|
+
using T = T_T;
|
|
624
|
+
using TI = T_TI;
|
|
625
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
626
|
+
};
|
|
627
|
+
template <typename SPEC>
|
|
628
|
+
struct RotorSpeeds{
|
|
629
|
+
using T = typename SPEC::T;
|
|
630
|
+
using TI = typename SPEC::TI;
|
|
631
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
632
|
+
static constexpr TI CURRENT_DIM = 4;
|
|
633
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
634
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
635
|
+
};
|
|
636
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
637
|
+
struct ActionHistorySpecification {
|
|
638
|
+
using T = T_T;
|
|
639
|
+
using TI = T_TI;
|
|
640
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
641
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
642
|
+
};
|
|
643
|
+
template <typename SPEC>
|
|
644
|
+
struct ActionHistory{
|
|
645
|
+
using T = typename SPEC::T;
|
|
646
|
+
using TI = typename SPEC::TI;
|
|
647
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
648
|
+
static constexpr TI HISTORY_LENGTH = SPEC::HISTORY_LENGTH;
|
|
649
|
+
static constexpr TI ACTION_DIM = 4;
|
|
650
|
+
static constexpr TI CURRENT_DIM = ACTION_DIM * HISTORY_LENGTH;
|
|
651
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
652
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
653
|
+
};
|
|
654
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
655
|
+
struct RandomForceSpecification {
|
|
656
|
+
using T = T_T;
|
|
657
|
+
using TI = T_TI;
|
|
658
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
659
|
+
};
|
|
660
|
+
template <typename SPEC>
|
|
661
|
+
struct RandomForce{
|
|
662
|
+
using T = typename SPEC::T;
|
|
663
|
+
using TI = typename SPEC::TI;
|
|
664
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
665
|
+
static constexpr TI CURRENT_DIM = 6;
|
|
666
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
667
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
668
|
+
};
|
|
669
|
+
template <typename T_T, typename T_TI, T_TI T_N, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
670
|
+
struct ParametersMotorPositionSpecification {
|
|
671
|
+
using T = T_T;
|
|
672
|
+
using TI = T_TI;
|
|
673
|
+
static constexpr TI N = T_N;
|
|
674
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
675
|
+
};
|
|
676
|
+
template <typename SPEC>
|
|
677
|
+
struct ParametersMotorPosition{
|
|
678
|
+
using T = typename SPEC::T;
|
|
679
|
+
using TI = typename SPEC::TI;
|
|
680
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
681
|
+
static constexpr TI CURRENT_DIM = SPEC::N * 3;
|
|
682
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
683
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
684
|
+
};
|
|
685
|
+
template <typename T_T, typename T_TI, T_TI T_N, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
686
|
+
struct ParametersThrustCurvesSpecification {
|
|
687
|
+
using T = T_T;
|
|
688
|
+
using TI = T_TI;
|
|
689
|
+
static constexpr TI N = T_N;
|
|
690
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
691
|
+
};
|
|
692
|
+
template <typename SPEC>
|
|
693
|
+
struct ParametersThrustCurves{
|
|
694
|
+
using T = typename SPEC::T;
|
|
695
|
+
using TI = typename SPEC::TI;
|
|
696
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
697
|
+
static constexpr TI CURRENT_DIM = SPEC::N * 3;
|
|
698
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
699
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
700
|
+
};
|
|
701
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
702
|
+
struct ParametersMassSpecification {
|
|
703
|
+
using T = T_T;
|
|
704
|
+
using TI = T_TI;
|
|
705
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
706
|
+
};
|
|
707
|
+
template <typename SPEC>
|
|
708
|
+
struct ParametersMass{
|
|
709
|
+
using T = typename SPEC::T;
|
|
710
|
+
using TI = typename SPEC::TI;
|
|
711
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
712
|
+
static constexpr TI CURRENT_DIM = 1;
|
|
713
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
714
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
715
|
+
};
|
|
716
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
717
|
+
struct ParametersInertiaSpecification {
|
|
718
|
+
using T = T_T;
|
|
719
|
+
using TI = T_TI;
|
|
720
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
721
|
+
};
|
|
722
|
+
template <typename SPEC>
|
|
723
|
+
struct ParametersInertia{
|
|
724
|
+
using T = typename SPEC::T;
|
|
725
|
+
using TI = typename SPEC::TI;
|
|
726
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
727
|
+
static constexpr TI CURRENT_DIM = 9;
|
|
728
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
729
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
730
|
+
};
|
|
731
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
732
|
+
struct TrajectoryTrackingPositionSpecification{
|
|
733
|
+
using T = T_T;
|
|
734
|
+
using TI = T_TI;
|
|
735
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
736
|
+
static constexpr bool PRIVILEGED = false;
|
|
737
|
+
};
|
|
738
|
+
template <typename SPEC>
|
|
739
|
+
struct TrajectoryTrackingPosition{
|
|
740
|
+
using T = typename SPEC::T;
|
|
741
|
+
using TI = typename SPEC::TI;
|
|
742
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
743
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
744
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
745
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
746
|
+
};
|
|
747
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
748
|
+
struct TrajectoryTrackingLinearVelocitySpecification{
|
|
749
|
+
using T = T_T;
|
|
750
|
+
using TI = T_TI;
|
|
751
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
752
|
+
static constexpr bool PRIVILEGED = false;
|
|
753
|
+
};
|
|
754
|
+
template <typename SPEC>
|
|
755
|
+
struct TrajectoryTrackingLinearVelocity{
|
|
756
|
+
using T = typename SPEC::T;
|
|
757
|
+
using TI = typename SPEC::TI;
|
|
758
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
759
|
+
static constexpr TI CURRENT_DIM = 3;
|
|
760
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
761
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
762
|
+
};
|
|
763
|
+
template <typename T_T, typename T_TI, T_TI T_N_STEPS, T_TI T_INTERVAL, typename T_NEXT_COMPONENT = LastComponent<T_TI>>
|
|
764
|
+
struct TrajectoryTrackingLookaheadSpecification{
|
|
765
|
+
using T = T_T;
|
|
766
|
+
using TI = T_TI;
|
|
767
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
768
|
+
static constexpr TI N_STEPS = T_N_STEPS;
|
|
769
|
+
static constexpr TI INTERVAL = T_INTERVAL;
|
|
770
|
+
static constexpr bool PRIVILEGED = false;
|
|
771
|
+
};
|
|
772
|
+
template <typename SPEC>
|
|
773
|
+
struct TrajectoryTrackingLookahead{
|
|
774
|
+
using T = typename SPEC::T;
|
|
775
|
+
using TI = typename SPEC::TI;
|
|
776
|
+
static constexpr TI N_STEPS = SPEC::N_STEPS;
|
|
777
|
+
static constexpr TI INTERVAL = SPEC::INTERVAL;
|
|
778
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
779
|
+
static constexpr TI CURRENT_DIM = 6 * SPEC::N_STEPS;
|
|
780
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM + CURRENT_DIM;
|
|
781
|
+
using SHAPE = tensor::Shape<TI, DIM>;
|
|
782
|
+
};
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT = void>
|
|
786
|
+
struct StateSpecification{
|
|
787
|
+
using T = T_T;
|
|
788
|
+
using TI = T_TI;
|
|
789
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
790
|
+
};
|
|
791
|
+
|
|
792
|
+
template <typename T_SPEC>
|
|
793
|
+
struct StateBase{
|
|
794
|
+
using SPEC = T_SPEC;
|
|
795
|
+
using T = typename SPEC::T;
|
|
796
|
+
using TI = typename SPEC::TI;
|
|
797
|
+
static constexpr bool REQUIRES_INTEGRATION = true;
|
|
798
|
+
static constexpr TI DIM = 13;
|
|
799
|
+
T position[3];
|
|
800
|
+
T orientation[4];
|
|
801
|
+
T linear_velocity[3];
|
|
802
|
+
T angular_velocity[3];
|
|
803
|
+
};
|
|
804
|
+
template <typename T_SPEC>
|
|
805
|
+
struct StateLastAction: T_SPEC::NEXT_COMPONENT{ // This is necessary for the d_action term in the reward function. For action history observations please consider the variable length StateRotorsHistory
|
|
806
|
+
using SPEC = T_SPEC;
|
|
807
|
+
using T = typename SPEC::T;
|
|
808
|
+
using TI = typename SPEC::TI;
|
|
809
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
810
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
811
|
+
static constexpr TI ACTION_DIM = 4;
|
|
812
|
+
static constexpr TI DIM = ACTION_DIM + NEXT_COMPONENT::DIM;
|
|
813
|
+
T last_action[ACTION_DIM];
|
|
814
|
+
};
|
|
815
|
+
template <typename T_SPEC>
|
|
816
|
+
struct StateLinearAcceleration: T_SPEC::NEXT_COMPONENT{
|
|
817
|
+
using SPEC = T_SPEC;
|
|
818
|
+
using T = typename SPEC::T;
|
|
819
|
+
using TI = typename SPEC::TI;
|
|
820
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
821
|
+
T linear_acceleration[3]; // this is just to save computation when simulating IMU measurements. Wihtout this we would need to recalculate the acceleration in the observation operation. This is not part of the minimal state in the sense that the transition dynamics are independent of the acceleration given the other parts of the state and the action
|
|
822
|
+
};
|
|
823
|
+
|
|
824
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
825
|
+
struct StateGyroSpecification{
|
|
826
|
+
using T = T_T;
|
|
827
|
+
using TI = T_TI;
|
|
828
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
829
|
+
};
|
|
830
|
+
// self-contained rate gyro: sampled measurement plus the bias-process realization, both
|
|
831
|
+
// written once in post_integration (bias first, then the measurement reading it) so
|
|
832
|
+
// observations read the values verbatim
|
|
833
|
+
template <typename T_SPEC>
|
|
834
|
+
struct StateGyro: T_SPEC::NEXT_COMPONENT{
|
|
835
|
+
using SPEC = T_SPEC;
|
|
836
|
+
using T = typename SPEC::T;
|
|
837
|
+
using TI = typename SPEC::TI;
|
|
838
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
839
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
840
|
+
static constexpr TI DIM = 6 + NEXT_COMPONENT::DIM;
|
|
841
|
+
T gyro[3];
|
|
842
|
+
T gyro_bias[3];
|
|
843
|
+
};
|
|
844
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
845
|
+
struct StateAccelerometerSpecification{
|
|
846
|
+
using T = T_T;
|
|
847
|
+
using TI = T_TI;
|
|
848
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
849
|
+
};
|
|
850
|
+
template <typename T_SPEC>
|
|
851
|
+
struct StateAccelerometer: T_SPEC::NEXT_COMPONENT{
|
|
852
|
+
using SPEC = T_SPEC;
|
|
853
|
+
using T = typename SPEC::T;
|
|
854
|
+
using TI = typename SPEC::TI;
|
|
855
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
856
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
857
|
+
static constexpr TI DIM = 6 + NEXT_COMPONENT::DIM;
|
|
858
|
+
T accelerometer[3]; // specific force, body frame
|
|
859
|
+
T accelerometer_bias[3];
|
|
860
|
+
};
|
|
861
|
+
// gyro and accelerometer are independent sensors that real hardware bundles into one chip
|
|
862
|
+
// for economic reasons only — here the "IMU" is just this packaging alias
|
|
863
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
864
|
+
using StateIMU = StateAccelerometer<StateAccelerometerSpecification<T_T, T_TI, StateGyro<StateGyroSpecification<T_T, T_TI, T_NEXT_COMPONENT>>>>;
|
|
865
|
+
|
|
866
|
+
template <typename T_T, typename T_TI, typename T_NEXT_COMPONENT>
|
|
867
|
+
struct StateMahonySpecification{
|
|
868
|
+
using T = T_T;
|
|
869
|
+
using TI = T_TI;
|
|
870
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
871
|
+
static constexpr T KP = (T)0.4;
|
|
872
|
+
static constexpr T KI = (T)0.001;
|
|
873
|
+
static constexpr T MAX_BIAS = (T)0.1;
|
|
874
|
+
static constexpr T ACCEL_GATE_LO_G = (T)0.75;
|
|
875
|
+
static constexpr T ACCEL_GATE_HI_G = (T)1.25;
|
|
876
|
+
static constexpr T G_REF = (T)9.80665;
|
|
877
|
+
};
|
|
878
|
+
template <typename T_SPEC>
|
|
879
|
+
struct StateMahony: T_SPEC::NEXT_COMPONENT{
|
|
880
|
+
using SPEC = T_SPEC;
|
|
881
|
+
using T = typename SPEC::T;
|
|
882
|
+
using TI = typename SPEC::TI;
|
|
883
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
884
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
885
|
+
static constexpr T KP = SPEC::KP;
|
|
886
|
+
static constexpr T KI = SPEC::KI;
|
|
887
|
+
static constexpr T MAX_BIAS = SPEC::MAX_BIAS;
|
|
888
|
+
static constexpr T ACCEL_GATE_LO_G = SPEC::ACCEL_GATE_LO_G;
|
|
889
|
+
static constexpr T ACCEL_GATE_HI_G = SPEC::ACCEL_GATE_HI_G;
|
|
890
|
+
static constexpr T G_REF = SPEC::G_REF;
|
|
891
|
+
static constexpr TI DIM = 4 + 3 + NEXT_COMPONENT::DIM;
|
|
892
|
+
T q_estimate[4];
|
|
893
|
+
T bias_estimate[3];
|
|
894
|
+
};
|
|
895
|
+
|
|
896
|
+
template <typename T_SPEC>
|
|
897
|
+
struct StateCTBRController: T_SPEC::NEXT_COMPONENT{
|
|
898
|
+
using SPEC = T_SPEC;
|
|
899
|
+
using T = typename SPEC::T;
|
|
900
|
+
using TI = typename SPEC::TI;
|
|
901
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
902
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
903
|
+
static constexpr TI DIM = 3 + NEXT_COMPONENT::DIM;
|
|
904
|
+
T previous_angular_velocity[3];
|
|
905
|
+
};
|
|
906
|
+
|
|
907
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT>
|
|
908
|
+
struct StateLinearAccelerationHistorySpecification{
|
|
909
|
+
using T = T_T;
|
|
910
|
+
using TI = T_TI;
|
|
911
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
912
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
913
|
+
};
|
|
914
|
+
template <typename T_SPEC>
|
|
915
|
+
struct StateLinearAccelerationHistory: T_SPEC::NEXT_COMPONENT{
|
|
916
|
+
using SPEC = T_SPEC;
|
|
917
|
+
using T = typename SPEC::T;
|
|
918
|
+
using TI = typename SPEC::TI;
|
|
919
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
920
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
921
|
+
static constexpr TI HISTORY_LENGTH = SPEC::HISTORY_LENGTH;
|
|
922
|
+
static constexpr TI HISTORY_MEM_LENGTH = HISTORY_LENGTH == 0 ? 1 : HISTORY_LENGTH;
|
|
923
|
+
static constexpr TI ACCELERATION_DIM = 3;
|
|
924
|
+
static constexpr TI DIM = HISTORY_LENGTH * ACCELERATION_DIM + NEXT_COMPONENT::DIM;
|
|
925
|
+
TI acceleration_history_step;
|
|
926
|
+
T linear_acceleration_body_history[HISTORY_MEM_LENGTH][ACCELERATION_DIM];
|
|
927
|
+
};
|
|
928
|
+
|
|
929
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT>
|
|
930
|
+
struct StateAngularVelocityDelaySpecification{
|
|
931
|
+
using T = T_T;
|
|
932
|
+
using TI = T_TI;
|
|
933
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
934
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
935
|
+
};
|
|
936
|
+
template <typename T_SPEC>
|
|
937
|
+
struct StateAngularVelocityDelay: T_SPEC::NEXT_COMPONENT{
|
|
938
|
+
using SPEC = T_SPEC;
|
|
939
|
+
using T = typename SPEC::T;
|
|
940
|
+
using TI = typename SPEC::TI;
|
|
941
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
942
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
943
|
+
static constexpr TI DIM = 3 + NEXT_COMPONENT::DIM;
|
|
944
|
+
static constexpr TI HISTORY_MEM_LENGTH = SPEC::HISTORY_LENGTH == 0 ? 1 : SPEC::HISTORY_LENGTH;
|
|
945
|
+
T angular_velocity_history[HISTORY_MEM_LENGTH][3];
|
|
946
|
+
};
|
|
947
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, typename T_NEXT_COMPONENT>
|
|
948
|
+
struct StateLinearVelocityDelaySpecification{
|
|
949
|
+
using T = T_T;
|
|
950
|
+
using TI = T_TI;
|
|
951
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
952
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
953
|
+
};
|
|
954
|
+
template <typename T_SPEC>
|
|
955
|
+
struct StateLinearVelocityDelay: T_SPEC::NEXT_COMPONENT{
|
|
956
|
+
using SPEC = T_SPEC;
|
|
957
|
+
using T = typename SPEC::T;
|
|
958
|
+
using TI = typename SPEC::TI;
|
|
959
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
960
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
961
|
+
static constexpr TI DIM = 3 + NEXT_COMPONENT::DIM;
|
|
962
|
+
static constexpr TI HISTORY_MEM_LENGTH = SPEC::HISTORY_LENGTH == 0 ? 1 : SPEC::HISTORY_LENGTH;
|
|
963
|
+
T linear_velocity_history[HISTORY_MEM_LENGTH][3];
|
|
964
|
+
};
|
|
965
|
+
|
|
966
|
+
template <typename T_T, typename T_TI, bool T_CLOSED_FORM = false, typename T_NEXT_COMPONENT = void>
|
|
967
|
+
struct StateRotorsSpecification{
|
|
968
|
+
using T = T_T;
|
|
969
|
+
using TI = T_TI;
|
|
970
|
+
static constexpr bool CLOSED_FORM = T_CLOSED_FORM;
|
|
971
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
972
|
+
};
|
|
973
|
+
template <typename T_SPEC>
|
|
974
|
+
struct StateRotors: T_SPEC::NEXT_COMPONENT{
|
|
975
|
+
using SPEC = T_SPEC;
|
|
976
|
+
using T = typename SPEC::T;
|
|
977
|
+
using TI = typename SPEC::TI;
|
|
978
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
979
|
+
static constexpr bool CLOSED_FORM = SPEC::CLOSED_FORM;
|
|
980
|
+
static constexpr bool REQUIRES_INTEGRATION = true;
|
|
981
|
+
static constexpr TI PARENT_DIM = NEXT_COMPONENT::DIM;
|
|
982
|
+
static constexpr TI ACTION_DIM = 4;
|
|
983
|
+
static constexpr TI DIM = PARENT_DIM + ACTION_DIM;
|
|
984
|
+
T rpm[ACTION_DIM];
|
|
985
|
+
};
|
|
986
|
+
template <typename T_T, typename T_TI, T_TI T_HISTORY_LENGTH, bool T_CLOSED_FORM, typename T_NEXT_COMPONENT>
|
|
987
|
+
struct StateRotorsHistorySpecification{
|
|
988
|
+
using T = T_T;
|
|
989
|
+
using TI = T_TI;
|
|
990
|
+
static constexpr bool CLOSED_FORM = T_CLOSED_FORM;
|
|
991
|
+
static constexpr TI HISTORY_LENGTH = T_HISTORY_LENGTH;
|
|
992
|
+
using NEXT_COMPONENT = T_NEXT_COMPONENT;
|
|
993
|
+
};
|
|
994
|
+
|
|
995
|
+
template <typename T_SPEC>
|
|
996
|
+
struct StateRotorsHistory: StateRotors<T_SPEC>{
|
|
997
|
+
using SPEC = T_SPEC;
|
|
998
|
+
using T = typename SPEC::T;
|
|
999
|
+
using TI = typename SPEC::TI;
|
|
1000
|
+
using NEXT_COMPONENT = StateRotors<SPEC>;
|
|
1001
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
1002
|
+
static constexpr TI HISTORY_LENGTH = SPEC::HISTORY_LENGTH;
|
|
1003
|
+
static constexpr TI PARENT_DIM = StateRotors<SPEC>::DIM;
|
|
1004
|
+
static constexpr TI ACTION_DIM = 4;
|
|
1005
|
+
static constexpr TI DIM = PARENT_DIM + HISTORY_LENGTH * ACTION_DIM;
|
|
1006
|
+
TI rotor_history_step;
|
|
1007
|
+
T action_history[HISTORY_LENGTH][4];
|
|
1008
|
+
};
|
|
1009
|
+
|
|
1010
|
+
template <typename T_SPEC>
|
|
1011
|
+
struct StateRandomForce: T_SPEC::NEXT_COMPONENT{
|
|
1012
|
+
using SPEC = T_SPEC;
|
|
1013
|
+
using T = typename SPEC::T;
|
|
1014
|
+
using TI = typename SPEC::TI;
|
|
1015
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
1016
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
1017
|
+
static constexpr TI DIM = 6 + NEXT_COMPONENT::DIM;
|
|
1018
|
+
T force[3];
|
|
1019
|
+
T torque[3];
|
|
1020
|
+
};
|
|
1021
|
+
template <typename T_SPEC>
|
|
1022
|
+
struct StatePoseErrorIntegral: T_SPEC::NEXT_COMPONENT{
|
|
1023
|
+
using SPEC = T_SPEC;
|
|
1024
|
+
using T = typename SPEC::T;
|
|
1025
|
+
using TI = typename SPEC::TI;
|
|
1026
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
1027
|
+
static constexpr bool REQUIRES_INTEGRATION = true;
|
|
1028
|
+
static constexpr TI DIM = 2;
|
|
1029
|
+
T position_integral[3];
|
|
1030
|
+
T orientation_integral;
|
|
1031
|
+
};
|
|
1032
|
+
template <typename T_SPEC>
|
|
1033
|
+
struct StateRandomOrientationOffset: T_SPEC::NEXT_COMPONENT{
|
|
1034
|
+
using SPEC = T_SPEC;
|
|
1035
|
+
using T = typename SPEC::T;
|
|
1036
|
+
using TI = typename SPEC::TI;
|
|
1037
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
1038
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
1039
|
+
static constexpr TI DIM = 4 + NEXT_COMPONENT::DIM;
|
|
1040
|
+
T orientation_offset[4];
|
|
1041
|
+
};
|
|
1042
|
+
template <typename T_SPEC>
|
|
1043
|
+
struct StateTrajectory: T_SPEC::NEXT_COMPONENT{
|
|
1044
|
+
using SPEC = T_SPEC;
|
|
1045
|
+
using T = typename SPEC::T;
|
|
1046
|
+
using TI = typename SPEC::TI;
|
|
1047
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
1048
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
1049
|
+
static constexpr TI DIM = NEXT_COMPONENT::DIM;
|
|
1050
|
+
TI trajectory_step;
|
|
1051
|
+
};
|
|
1052
|
+
// StateRender* contract: read only by the rendering layer — dynamics, reward, termination,
|
|
1053
|
+
// and observations never depend on it, so stripping it from a config leaves training bit-exact.
|
|
1054
|
+
// Requires StateRotors below it (the prop angle is integrated from rpm in post_integration).
|
|
1055
|
+
template <typename T_SPEC>
|
|
1056
|
+
struct StateRenderRotorPhase: T_SPEC::NEXT_COMPONENT{
|
|
1057
|
+
using SPEC = T_SPEC;
|
|
1058
|
+
using T = typename SPEC::T;
|
|
1059
|
+
using TI = typename SPEC::TI;
|
|
1060
|
+
using NEXT_COMPONENT = typename SPEC::NEXT_COMPONENT;
|
|
1061
|
+
static constexpr bool REQUIRES_INTEGRATION = false;
|
|
1062
|
+
static constexpr TI ACTION_DIM = 4;
|
|
1063
|
+
static constexpr TI DIM = ACTION_DIM + NEXT_COMPONENT::DIM;
|
|
1064
|
+
T rotor_phase[ACTION_DIM];
|
|
1065
|
+
};
|
|
1066
|
+
|
|
1067
|
+
|
|
1068
|
+
template <typename T, typename TI, TI LINEAR_VELOCITY_HISTORY = 0, TI ANGULAR_VELOCITY_HISTORY = 0>
|
|
1069
|
+
using DefaultState = StateLinearVelocityDelay<StateLinearVelocityDelaySpecification<T, TI, LINEAR_VELOCITY_HISTORY, StateAngularVelocityDelay<StateAngularVelocityDelaySpecification<T, TI, ANGULAR_VELOCITY_HISTORY, StateLastAction<StateSpecification<T, TI, StateBase<StateSpecification<T, TI>>>>>>>>; // make sure to also change the observation to the delayed one
|
|
1070
|
+
template <typename T, typename TI, TI ACTION_HISTORY_LENGTH = 1, TI ANGULAR_VELOCITY_HISTORY = 0, bool CLOSED_FORM = false>
|
|
1071
|
+
using DefaultActionHistoryState = StateRotorsHistory<StateRotorsHistorySpecification<T, TI, ACTION_HISTORY_LENGTH, CLOSED_FORM, StateRandomForce<StateSpecification<T, TI, DefaultState<T, TI, ANGULAR_VELOCITY_HISTORY>>>>>;
|
|
1072
|
+
template <typename T, typename TI, TI ANGULAR_VELOCITY_DELAY=0, typename NEXT_OBSERVATION = observation::LastComponent<TI>>
|
|
1073
|
+
using DefaultObservation = observation::TrajectoryTrackingPosition<observation::TrajectoryTrackingPositionSpecification<T, TI, observation::OrientationRotationMatrix<observation::OrientationRotationMatrixSpecification<T, TI, observation::TrajectoryTrackingLinearVelocity<observation::TrajectoryTrackingLinearVelocitySpecification<T, TI, observation::AngularVelocityDelayed<observation::AngularVelocityDelayedSpecification<T, TI, ANGULAR_VELOCITY_DELAY, NEXT_OBSERVATION>>>>>>>>;
|
|
1074
|
+
template <typename T, typename TI, TI ACTION_HISTORY_LENGTH, TI ANGULAR_VELOCITY_DELAY=0, typename NEXT_OBSERVATION = observation::LastComponent<TI>>
|
|
1075
|
+
using DefaultActionHistoryObservation = DefaultObservation<T, TI, ANGULAR_VELOCITY_DELAY, observation::ActionHistory<observation::ActionHistorySpecification<T, TI, ACTION_HISTORY_LENGTH, NEXT_OBSERVATION>>>;
|
|
1076
|
+
|
|
1077
|
+
|
|
1078
|
+
}
|
|
1079
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
1080
|
+
|
|
1081
|
+
#include "./parameters/default.h"
|
|
1082
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
1083
|
+
namespace rl_tools::rl::environments::l2f{
|
|
1084
|
+
template <typename T_T, typename T_TI, typename T_PARAMETERS = typename parameters::DEFAULT_PARAMETERS_FACTORY<T_T, T_TI>::STATIC_PARAMETERS>
|
|
1085
|
+
struct Specification{
|
|
1086
|
+
using T = T_T;
|
|
1087
|
+
using TI = T_TI;
|
|
1088
|
+
using STATIC_PARAMETERS = T_PARAMETERS;
|
|
1089
|
+
using STATE_TYPE = typename STATIC_PARAMETERS::STATE_TYPE;
|
|
1090
|
+
using OBSERVATION_TYPE = typename STATIC_PARAMETERS::OBSERVATION_TYPE;
|
|
1091
|
+
using OBSERVATION_TYPE_PRIVILEGED = typename STATIC_PARAMETERS::OBSERVATION_TYPE_PRIVILEGED;
|
|
1092
|
+
using PARAMETERS = typename STATIC_PARAMETERS::PARAMETERS;
|
|
1093
|
+
static constexpr auto PARAMETER_VALUES = STATIC_PARAMETERS::PARAMETER_VALUES;
|
|
1094
|
+
};
|
|
1095
|
+
}
|
|
1096
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
1097
|
+
|
|
1098
|
+
RL_TOOLS_NAMESPACE_WRAPPER_START
|
|
1099
|
+
namespace rl_tools::rl::environments{
|
|
1100
|
+
template <typename T_SPEC>
|
|
1101
|
+
struct Multirotor{
|
|
1102
|
+
using SPEC = T_SPEC;
|
|
1103
|
+
using T = typename SPEC::T;
|
|
1104
|
+
using TI = typename SPEC::TI;
|
|
1105
|
+
// using PARAMETERS = typename SPEC::PARAMETERS;
|
|
1106
|
+
using Parameters = typename SPEC::PARAMETERS;
|
|
1107
|
+
// using REWARD_FUNCTION = typename SPEC::PARAMETERS::MDP::REWARD_FUNCTION;
|
|
1108
|
+
// static constexpr TI STATE_DIM = 13;
|
|
1109
|
+
static constexpr TI N_AGENTS = 1;
|
|
1110
|
+
static constexpr TI ACTION_DIM = 4;
|
|
1111
|
+
static constexpr TI EPISODE_STEP_LIMIT = SPEC::STATIC_PARAMETERS::EPISODE_STEP_LIMIT;
|
|
1112
|
+
|
|
1113
|
+
// static constexpr TI ACTION_HISTORY_LENGTH = SPEC::STATIC_PARAMETERS::ACTION_HISTORY_LENGTH;
|
|
1114
|
+
|
|
1115
|
+
using State = typename SPEC::STATE_TYPE;
|
|
1116
|
+
using Observation = typename SPEC::OBSERVATION_TYPE;
|
|
1117
|
+
using ObservationPrivileged = typename SPEC::OBSERVATION_TYPE_PRIVILEGED;
|
|
1118
|
+
|
|
1119
|
+
static constexpr TI OBSERVATION_DIM = Observation::DIM;
|
|
1120
|
+
static constexpr TI OBSERVATION_DIM_PRIVILEGED = ObservationPrivileged::DIM;
|
|
1121
|
+
static constexpr bool PRIVILEGED_OBSERVATION_AVAILABLE = !rl_tools::utils::typing::is_same_v<typename SPEC::STATIC_PARAMETERS::OBSERVATION_TYPE_PRIVILEGED, l2f::observation::NONE<TI>>;
|
|
1122
|
+
Parameters parameters = SPEC::STATIC_PARAMETERS::PARAMETER_VALUES;
|
|
1123
|
+
};
|
|
1124
|
+
namespace l2f{
|
|
1125
|
+
template <typename T_T, typename T_TI, typename T_PARAMETERS, bool T_SAMPLE_INITIAL_PARAMETERS = true>
|
|
1126
|
+
struct MultiTaskSpecification: Specification<T_T, T_TI, T_PARAMETERS>{
|
|
1127
|
+
static constexpr bool SAMPLE_INITIAL_PARAMETERS = T_SAMPLE_INITIAL_PARAMETERS;
|
|
1128
|
+
};
|
|
1129
|
+
}
|
|
1130
|
+
template <typename T_SPEC>
|
|
1131
|
+
struct MultirotorMultiTask: Multirotor<T_SPEC>{ /* just a tag for dispatch */ };
|
|
1132
|
+
template <typename SPEC>
|
|
1133
|
+
struct PREVENT_DEFAULT_GET_UI<MultirotorMultiTask<SPEC>> : rl_tools::utils::typing::true_type {};
|
|
1134
|
+
}
|
|
1135
|
+
RL_TOOLS_NAMESPACE_WRAPPER_END
|
|
1136
|
+
#include "parameters/registry.h"
|
|
1137
|
+
|
|
1138
|
+
#endif
|