skadipy 0.0.2__tar.gz

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.
Files changed (91) hide show
  1. skadipy-0.0.2/.devcontainer/devcontainer.dockerfile +12 -0
  2. skadipy-0.0.2/.devcontainer/devcontainer.json +4 -0
  3. skadipy-0.0.2/.github/workflows/publish.yml +73 -0
  4. skadipy-0.0.2/.github/workflows/run_test.yml +36 -0
  5. skadipy-0.0.2/.gitignore +414 -0
  6. skadipy-0.0.2/.readthedocs.yaml +15 -0
  7. skadipy-0.0.2/CITATION.cff +26 -0
  8. skadipy-0.0.2/LICENSE +674 -0
  9. skadipy-0.0.2/PKG-INFO +801 -0
  10. skadipy-0.0.2/README.md +104 -0
  11. skadipy-0.0.2/bin/.gitkeep +0 -0
  12. skadipy-0.0.2/docs/.gitkeep +0 -0
  13. skadipy-0.0.2/examples/.gitkeep +0 -0
  14. skadipy-0.0.2/examples/cybership_jonny.ipynb +403 -0
  15. skadipy-0.0.2/examples/milliampere1_qp.ipynb +281 -0
  16. skadipy-0.0.2/examples/milliampere1_rf.ipynb +336 -0
  17. skadipy-0.0.2/notebooks/001_pseudo_inverse.ipynb +296 -0
  18. skadipy-0.0.2/notebooks/002_minimum_magnitude_filter.ipynb +259 -0
  19. skadipy-0.0.2/notebooks/003_minimum_magnitude_and_azimuth_filter.ipynb +257 -0
  20. skadipy-0.0.2/notebooks/004_pseudo_inverse.ipynb +350 -0
  21. skadipy-0.0.2/notebooks/005_quadratic_programming.ipynb +348 -0
  22. skadipy-0.0.2/notebooks/006_minimum_magnitude.ipynb +455 -0
  23. skadipy-0.0.2/notebooks/007_minimum_magnitude_and_azimuth_filter.ipynb +343 -0
  24. skadipy-0.0.2/notebooks/008_minimum_magnitude_compare_cbf.ipynb +460 -0
  25. skadipy-0.0.2/notebooks/011_compare_lambda_with_shell_plot.ipynb +407 -0
  26. skadipy-0.0.2/notebooks/012_compare_allocators_azimuth_rate.ipynb +428 -0
  27. skadipy-0.0.2/notebooks/013_compare_allocators_azimuth_rate.ipynb +423 -0
  28. skadipy-0.0.2/notebooks/014_compare_cbf_time_constant.ipynb +523 -0
  29. skadipy-0.0.2/notebooks/015_compare_lambda_with_shell_plot.ipynb +530 -0
  30. skadipy-0.0.2/notebooks/016_compare_allocators_azimuth_rate.ipynb +453 -0
  31. skadipy-0.0.2/notebooks/017_compare_rho_with_shell_plot.ipynb +506 -0
  32. skadipy-0.0.2/notebooks/018_compare_cbf_time_constant.ipynb +560 -0
  33. skadipy-0.0.2/notebooks/019_compare_cbf_time_constant.ipynb +551 -0
  34. skadipy-0.0.2/notebooks/020_compare_cbf_time_constant.ipynb +554 -0
  35. skadipy-0.0.2/notebooks/100_plotting.ipynb +483 -0
  36. skadipy-0.0.2/notebooks/100_plotting_alternative_values.ipynb +521 -0
  37. skadipy-0.0.2/notebooks/100_plotting_cost_function.ipynb +634 -0
  38. skadipy-0.0.2/notebooks/101_plotting.ipynb +218 -0
  39. skadipy-0.0.2/notebooks/102_plotting.ipynb +325 -0
  40. skadipy-0.0.2/notebooks/104_plotting.ipynb +484 -0
  41. skadipy-0.0.2/notebooks/data/.gitkeep +0 -0
  42. skadipy-0.0.2/notebooks/nice_plots.py.bak +423 -0
  43. skadipy-0.0.2/notebooks/pythonrc.py +585 -0
  44. skadipy-0.0.2/notebooks/reference_filters/cs_jonny.ipynb +224 -0
  45. skadipy-0.0.2/notebooks/reference_filters/ma1.ipynb +265 -0
  46. skadipy-0.0.2/notebooks/reference_filters/ma1_azimuth_limit.ipynb +265 -0
  47. skadipy-0.0.2/notebooks/run_all.py +9 -0
  48. skadipy-0.0.2/notebooks/save_data.py +48 -0
  49. skadipy-0.0.2/notebooks/theory/cbf_study.ipynb +226 -0
  50. skadipy-0.0.2/notebooks/theory/derivative.ipynb +175 -0
  51. skadipy-0.0.2/notebooks/theory/half_plane_constraints.ipynb +273 -0
  52. skadipy-0.0.2/notebooks/theory/saturation_function.ipynb +84 -0
  53. skadipy-0.0.2/pyproject.toml +32 -0
  54. skadipy-0.0.2/requirements.examples.txt +4 -0
  55. skadipy-0.0.2/requirements.txt +5 -0
  56. skadipy-0.0.2/setup.cfg +4 -0
  57. skadipy-0.0.2/src/skadipy/__init__.py +10 -0
  58. skadipy-0.0.2/src/skadipy/__version__.py +24 -0
  59. skadipy-0.0.2/src/skadipy/actuator/__init__.py +21 -0
  60. skadipy-0.0.2/src/skadipy/actuator/_azimuth.py +64 -0
  61. skadipy-0.0.2/src/skadipy/actuator/_barriers.py +15 -0
  62. skadipy-0.0.2/src/skadipy/actuator/_base.py +108 -0
  63. skadipy-0.0.2/src/skadipy/actuator/_fixed.py +60 -0
  64. skadipy-0.0.2/src/skadipy/actuator/_type.py +37 -0
  65. skadipy-0.0.2/src/skadipy/actuator/_vectored.py +56 -0
  66. skadipy-0.0.2/src/skadipy/allocator/__init__.py +19 -0
  67. skadipy-0.0.2/src/skadipy/allocator/_base.py +159 -0
  68. skadipy-0.0.2/src/skadipy/allocator/_pseudo_inverse.py +88 -0
  69. skadipy-0.0.2/src/skadipy/allocator/_quadratic_programming.py +114 -0
  70. skadipy-0.0.2/src/skadipy/allocator/reference_filters/__init__.py +19 -0
  71. skadipy-0.0.2/src/skadipy/allocator/reference_filters/_base.py +167 -0
  72. skadipy-0.0.2/src/skadipy/allocator/reference_filters/_minimum_magnitude.py +181 -0
  73. skadipy-0.0.2/src/skadipy/allocator/reference_filters/_minimum_magnitude_and_azimuth.py +206 -0
  74. skadipy-0.0.2/src/skadipy/plotting/__init__.py +0 -0
  75. skadipy-0.0.2/src/skadipy/plotting/nice_colors.py +47 -0
  76. skadipy-0.0.2/src/skadipy/plotting/nice_plots.py +344 -0
  77. skadipy-0.0.2/src/skadipy/safety/__init__.py +17 -0
  78. skadipy-0.0.2/src/skadipy/safety/_cbf.py +112 -0
  79. skadipy-0.0.2/src/skadipy/toolbox/__init__.py +22 -0
  80. skadipy-0.0.2/src/skadipy/toolbox/_constants.py +19 -0
  81. skadipy-0.0.2/src/skadipy/toolbox/_derivative.py +92 -0
  82. skadipy-0.0.2/src/skadipy/toolbox/_weighted_pseudo_inverse.py +37 -0
  83. skadipy-0.0.2/src/skadipy.egg-info/PKG-INFO +801 -0
  84. skadipy-0.0.2/src/skadipy.egg-info/SOURCES.txt +90 -0
  85. skadipy-0.0.2/src/skadipy.egg-info/dependency_links.txt +1 -0
  86. skadipy-0.0.2/src/skadipy.egg-info/requires.txt +11 -0
  87. skadipy-0.0.2/src/skadipy.egg-info/top_level.txt +1 -0
  88. skadipy-0.0.2/tests/.gitkeep +0 -0
  89. skadipy-0.0.2/tests/__init__.py +0 -0
  90. skadipy-0.0.2/tests/test_allocation_matrix.py +80 -0
  91. skadipy-0.0.2/tests/test_contribution_matrix.py +79 -0
@@ -0,0 +1,12 @@
1
+ FROM incebellipipo/devcontainer:jammy
2
+
3
+ # Copy python package dependencies
4
+ COPY requirements.txt /tmp/requirements.txt
5
+ COPY requirements.examples.txt /tmp/requirements.examples.txt
6
+
7
+ # Install python package dependencies
8
+ RUN pip install -r /tmp/requirements.txt
9
+ RUN pip install -r /tmp/requirements.examples.txt
10
+
11
+ # Set environment variables to seamlessly work with python
12
+ ENV PYTHONPATH="${PYTHONPATH}:/com.docker.devenvironments.code/src"
@@ -0,0 +1,4 @@
1
+ // Write a devcontainer using the Dockerfile in the root of the repository
2
+ {
3
+ "dockerFile": "devcontainer.dockerfile"
4
+ }
@@ -0,0 +1,73 @@
1
+ name: Publish (template-based)
2
+
3
+ # Adapted from provided template. Builds and publishes cartoblobpy to PyPI using Trusted Publishing.
4
+ # Relies on setuptools-scm, so tag the release as vMAJOR.MINOR.PATCH (e.g. v0.1.0).
5
+
6
+ on:
7
+ release:
8
+ types: [published]
9
+ workflow_dispatch:
10
+ inputs:
11
+ skip-tests:
12
+ description: "Skip pytest"
13
+ default: "false"
14
+ required: false
15
+
16
+ permissions:
17
+ contents: read
18
+ id-token: write # mandatory for trusted publishing
19
+
20
+ jobs:
21
+ pypi-publish:
22
+ name: Build & upload to PyPI
23
+ runs-on: ubuntu-latest
24
+ environment:
25
+ name: pypi
26
+ url: https://pypi.org/p/skadipy
27
+ steps:
28
+ - name: Checkout (full history for setuptools-scm)
29
+ uses: actions/checkout@v4
30
+ with:
31
+ fetch-depth: 0
32
+
33
+ - name: Validate tag (release only)
34
+ if: github.event_name == 'release'
35
+ run: |
36
+ TAG_NAME="${GITHUB_REF##*/}"; echo "Tag: $TAG_NAME"
37
+ if [[ ! $TAG_NAME =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
38
+ echo "Tag must match vMAJOR.MINOR.PATCH" >&2; exit 1; fi
39
+
40
+ - name: Set up Python
41
+ uses: actions/setup-python@v5
42
+ with:
43
+ python-version: '3.12'
44
+
45
+ - name: Install deps & build tooling
46
+ run: |
47
+ python -m pip install --upgrade pip
48
+ pip install build twine pytest
49
+ pip install -r requirements.txt || true
50
+ pip install -e .
51
+
52
+ - name: Run tests
53
+ if: ${{ github.event.inputs.skip-tests != 'true' }}
54
+ run: |
55
+ PYTHONPATH=$PWD/src pytest -q
56
+
57
+ - name: Build distributions
58
+ run: |
59
+ python -m build
60
+ ls -l dist
61
+
62
+ - name: Verify distributions
63
+ run: |
64
+ python -m twine check dist/*
65
+
66
+ - name: Publish package distributions to PyPI
67
+ uses: pypa/gh-action-pypi-publish@release/v1
68
+ with:
69
+ verbose: true
70
+ print-hash: true
71
+
72
+ - name: Post publish note
73
+ run: echo "Published cartoblobpy (may take a minute to appear)."
@@ -0,0 +1,36 @@
1
+ name: Python package
2
+
3
+ on: [push]
4
+
5
+ jobs:
6
+ build:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ matrix:
10
+ python-version:
11
+ - "3.12"
12
+ - "3.11"
13
+ - "3.10"
14
+ - "3.9"
15
+ - "3.8"
16
+ # - "3.7"
17
+ ## github actions didn't support python 3.7 with ubuntu-latest (24.04)
18
+ steps:
19
+ - uses: actions/checkout@v3
20
+ - name: Set up Python ${{ matrix.python-version }}
21
+ uses: actions/setup-python@v4
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Install dependencies
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
28
+ # - name: Lint with ruff
29
+ # run: |
30
+ # # stop the build if there are Python syntax errors or undefined names
31
+ # ruff --format=github --select=E9,F63,F7,F82 --target-version=py37 .
32
+ # # default set of ruff rules with GitHub Annotations
33
+ # ruff --format=github --target-version=py37 .
34
+ - name: Test with pytest
35
+ run: |
36
+ PYTHONPATH=src python -m unittest
@@ -0,0 +1,414 @@
1
+ # Created by https://www.toptal.com/developers/gitignore/api/visualstudiocode,linux,windows,macos,python,pycharm+all,vim,git,cmake
2
+ # Edit at https://www.toptal.com/developers/gitignore?templates=visualstudiocode,linux,windows,macos,python,pycharm+all,vim,git,cmake
3
+
4
+ ### Project
5
+
6
+ notebooks/data/*
7
+ notebooks/plots/*
8
+ !notebooks/data/.gitkeep
9
+
10
+ ### CMake ###
11
+ CMakeLists.txt.user
12
+ CMakeCache.txt
13
+ CMakeFiles
14
+ CMakeScripts
15
+ Testing
16
+ Makefile
17
+ cmake_install.cmake
18
+ install_manifest.txt
19
+ compile_commands.json
20
+ CTestTestfile.cmake
21
+ _deps
22
+
23
+ ### CMake Patch ###
24
+ # External projects
25
+ *-prefix/
26
+
27
+ ### Git ###
28
+ # Created by git for backups. To disable backups in Git:
29
+ # $ git config --global mergetool.keepBackup false
30
+ *.orig
31
+
32
+ # Created by git when using merge tools for conflicts
33
+ *.BACKUP.*
34
+ *.BASE.*
35
+ *.LOCAL.*
36
+ *.REMOTE.*
37
+ *_BACKUP_*.txt
38
+ *_BASE_*.txt
39
+ *_LOCAL_*.txt
40
+ *_REMOTE_*.txt
41
+
42
+ ### Linux ###
43
+ *~
44
+
45
+ # temporary files which can be created if a process still has a handle open of a deleted file
46
+ .fuse_hidden*
47
+
48
+ # KDE directory preferences
49
+ .directory
50
+
51
+ # Linux trash folder which might appear on any partition or disk
52
+ .Trash-*
53
+
54
+ # .nfs files are created when an open file is removed but is still being accessed
55
+ .nfs*
56
+
57
+ ### macOS ###
58
+ # General
59
+ .DS_Store
60
+ .AppleDouble
61
+ .LSOverride
62
+
63
+ # Icon must end with two \r
64
+ Icon
65
+
66
+
67
+ # Thumbnails
68
+ ._*
69
+
70
+ # Files that might appear in the root of a volume
71
+ .DocumentRevisions-V100
72
+ .fseventsd
73
+ .Spotlight-V100
74
+ .TemporaryItems
75
+ .Trashes
76
+ .VolumeIcon.icns
77
+ .com.apple.timemachine.donotpresent
78
+
79
+ # Directories potentially created on remote AFP share
80
+ .AppleDB
81
+ .AppleDesktop
82
+ Network Trash Folder
83
+ Temporary Items
84
+ .apdisk
85
+
86
+ ### macOS Patch ###
87
+ # iCloud generated files
88
+ *.icloud
89
+
90
+ ### PyCharm+all ###
91
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
92
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
93
+
94
+ # User-specific stuff
95
+ .idea/**/workspace.xml
96
+ .idea/**/tasks.xml
97
+ .idea/**/usage.statistics.xml
98
+ .idea/**/dictionaries
99
+ .idea/**/shelf
100
+
101
+ # AWS User-specific
102
+ .idea/**/aws.xml
103
+
104
+ # Generated files
105
+ .idea/**/contentModel.xml
106
+
107
+ # Sensitive or high-churn files
108
+ .idea/**/dataSources/
109
+ .idea/**/dataSources.ids
110
+ .idea/**/dataSources.local.xml
111
+ .idea/**/sqlDataSources.xml
112
+ .idea/**/dynamic.xml
113
+ .idea/**/uiDesigner.xml
114
+ .idea/**/dbnavigator.xml
115
+
116
+ # Gradle
117
+ .idea/**/gradle.xml
118
+ .idea/**/libraries
119
+
120
+ # Gradle and Maven with auto-import
121
+ # When using Gradle or Maven with auto-import, you should exclude module files,
122
+ # since they will be recreated, and may cause churn. Uncomment if using
123
+ # auto-import.
124
+ # .idea/artifacts
125
+ # .idea/compiler.xml
126
+ # .idea/jarRepositories.xml
127
+ # .idea/modules.xml
128
+ # .idea/*.iml
129
+ # .idea/modules
130
+ # *.iml
131
+ # *.ipr
132
+
133
+ # CMake
134
+ cmake-build-*/
135
+
136
+ # Mongo Explorer plugin
137
+ .idea/**/mongoSettings.xml
138
+
139
+ # File-based project format
140
+ *.iws
141
+
142
+ # IntelliJ
143
+ out/
144
+
145
+ # mpeltonen/sbt-idea plugin
146
+ .idea_modules/
147
+
148
+ # JIRA plugin
149
+ atlassian-ide-plugin.xml
150
+
151
+ # Cursive Clojure plugin
152
+ .idea/replstate.xml
153
+
154
+ # SonarLint plugin
155
+ .idea/sonarlint/
156
+
157
+ # Crashlytics plugin (for Android Studio and IntelliJ)
158
+ com_crashlytics_export_strings.xml
159
+ crashlytics.properties
160
+ crashlytics-build.properties
161
+ fabric.properties
162
+
163
+ # Editor-based Rest Client
164
+ .idea/httpRequests
165
+
166
+ # Android studio 3.1+ serialized cache file
167
+ .idea/caches/build_file_checksums.ser
168
+
169
+ ### PyCharm+all Patch ###
170
+ # Ignore everything but code style settings and run configurations
171
+ # that are supposed to be shared within teams.
172
+
173
+ .idea/*
174
+
175
+ !.idea/codeStyles
176
+ !.idea/runConfigurations
177
+
178
+ ### Python ###
179
+ # Byte-compiled / optimized / DLL files
180
+ __pycache__/
181
+ *.py[cod]
182
+ *$py.class
183
+
184
+ # C extensions
185
+ *.so
186
+
187
+ # Distribution / packaging
188
+ .Python
189
+ build/
190
+ develop-eggs/
191
+ dist/
192
+ downloads/
193
+ eggs/
194
+ .eggs/
195
+ lib/
196
+ lib64/
197
+ parts/
198
+ sdist/
199
+ var/
200
+ wheels/
201
+ share/python-wheels/
202
+ *.egg-info/
203
+ .installed.cfg
204
+ *.egg
205
+ MANIFEST
206
+
207
+ # PyInstaller
208
+ # Usually these files are written by a python script from a template
209
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
210
+ *.manifest
211
+ *.spec
212
+
213
+ # Installer logs
214
+ pip-log.txt
215
+ pip-delete-this-directory.txt
216
+
217
+ # Unit test / coverage reports
218
+ htmlcov/
219
+ .tox/
220
+ .nox/
221
+ .coverage
222
+ .coverage.*
223
+ .cache
224
+ nosetests.xml
225
+ coverage.xml
226
+ *.cover
227
+ *.py,cover
228
+ .hypothesis/
229
+ .pytest_cache/
230
+ cover/
231
+
232
+ # Translations
233
+ *.mo
234
+ *.pot
235
+
236
+ # Django stuff:
237
+ *.log
238
+ local_settings.py
239
+ db.sqlite3
240
+ db.sqlite3-journal
241
+
242
+ # Flask stuff:
243
+ instance/
244
+ .webassets-cache
245
+
246
+ # Scrapy stuff:
247
+ .scrapy
248
+
249
+ # Sphinx documentation
250
+ docs/_build/
251
+
252
+ # PyBuilder
253
+ .pybuilder/
254
+ target/
255
+
256
+ # Jupyter Notebook
257
+ .ipynb_checkpoints
258
+
259
+ # IPython
260
+ profile_default/
261
+ ipython_config.py
262
+
263
+ # pyenv
264
+ # For a library or package, you might want to ignore these files since the code is
265
+ # intended to run in multiple environments; otherwise, check them in:
266
+ # .python-version
267
+
268
+ # pipenv
269
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
270
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
271
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
272
+ # install all needed dependencies.
273
+ #Pipfile.lock
274
+
275
+ # poetry
276
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
277
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
278
+ # commonly ignored for libraries.
279
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
280
+ #poetry.lock
281
+
282
+ # pdm
283
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
284
+ #pdm.lock
285
+ # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
286
+ # in version control.
287
+ # https://pdm.fming.dev/#use-with-ide
288
+ .pdm.toml
289
+
290
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
291
+ __pypackages__/
292
+
293
+ # Celery stuff
294
+ celerybeat-schedule
295
+ celerybeat.pid
296
+
297
+ # SageMath parsed files
298
+ *.sage.py
299
+
300
+ # Environments
301
+ .env
302
+ .venv
303
+ env/
304
+ venv/
305
+ ENV/
306
+ env.bak/
307
+ venv.bak/
308
+
309
+ # Spyder project settings
310
+ .spyderproject
311
+ .spyproject
312
+
313
+ # Rope project settings
314
+ .ropeproject
315
+
316
+ # mkdocs documentation
317
+ /site
318
+
319
+ # mypy
320
+ .mypy_cache/
321
+ .dmypy.json
322
+ dmypy.json
323
+
324
+ # Pyre type checker
325
+ .pyre/
326
+
327
+ # pytype static type analyzer
328
+ .pytype/
329
+
330
+ # Cython debug symbols
331
+ cython_debug/
332
+
333
+ # PyCharm
334
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
335
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
336
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
337
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
338
+ #.idea/
339
+
340
+ ### Python Patch ###
341
+ # Poetry local configuration file - https://python-poetry.org/docs/configuration/#local-configuration
342
+ poetry.toml
343
+
344
+ # ruff
345
+ .ruff_cache/
346
+
347
+ # LSP config files
348
+ pyrightconfig.json
349
+
350
+ ### Vim ###
351
+ # Swap
352
+ [._]*.s[a-v][a-z]
353
+ !*.svg # comment out if you don't need vector files
354
+ [._]*.sw[a-p]
355
+ [._]s[a-rt-v][a-z]
356
+ [._]ss[a-gi-z]
357
+ [._]sw[a-p]
358
+
359
+ # Session
360
+ Session.vim
361
+ Sessionx.vim
362
+
363
+ # Temporary
364
+ .netrwhist
365
+ # Auto-generated tag files
366
+ tags
367
+ # Persistent undo
368
+ [._]*.un~
369
+
370
+ ### VisualStudioCode ###
371
+ .vscode
372
+
373
+ !.vscode/settings.json
374
+
375
+ # Local History for Visual Studio Code
376
+ .history/
377
+
378
+ # Built Visual Studio Code Extensions
379
+ *.vsix
380
+
381
+ ### VisualStudioCode Patch ###
382
+ # Ignore all local history of files
383
+ .history
384
+ .ionide
385
+
386
+ ### Windows ###
387
+ # Windows thumbnail cache files
388
+ Thumbs.db
389
+ Thumbs.db:encryptable
390
+ ehthumbs.db
391
+ ehthumbs_vista.db
392
+
393
+ # Dump file
394
+ *.stackdump
395
+
396
+ # Folder config file
397
+ [Dd]esktop.ini
398
+
399
+ # Recycle Bin used on file shares
400
+ $RECYCLE.BIN/
401
+
402
+ # Windows Installer files
403
+ *.cab
404
+ *.msi
405
+ *.msix
406
+ *.msm
407
+ *.msp
408
+
409
+ # Windows shortcuts
410
+ *.lnk
411
+
412
+ */**/__version__.py
413
+
414
+ # End of https://www.toptal.com/developers/gitignore/api/visualstudiocode,linux,windows,macos,python,pycharm+all,vim,git,cmake
@@ -0,0 +1,15 @@
1
+ version: 2
2
+
3
+ build:
4
+ os: "ubuntu-20.04"
5
+ tools:
6
+ python: "3.8"
7
+
8
+ python:
9
+ # Install our python package before building the docs
10
+ install:
11
+ - method: pip
12
+ path: .
13
+
14
+ sphinx:
15
+ fail_on_warning: true
@@ -0,0 +1,26 @@
1
+ cff-version: 1.2.0
2
+ message: "If you use this work, please cite it as below."
3
+ preferred-citation:
4
+ type: conference-paper
5
+ title: "Maneuvering-based Dynamic Thrust Allocation for Fully-Actuated Vessels"
6
+ authors:
7
+ - family-names: "Gezer"
8
+ given-names: "Emir Cem"
9
+ - family-names: "Skjetne"
10
+ given-names: "Roger"
11
+ year: 2024
12
+ conference: "15th IFAC Conference on Control Applications in Marine Systems, Robotics and Vehicles (CAMS 2024)"
13
+ publisher: "IFAC-PapersOnLine"
14
+ volume: 58
15
+ issue: 20
16
+ pages: "374-379"
17
+ doi: "https://doi.org/10.1016/j.ifacol.2024.10.082"
18
+ url: "https://www.sciencedirect.com/science/article/pii/S2405896324018378"
19
+ keywords:
20
+ - "Thrust allocation"
21
+ - "Control Allocation"
22
+ - "Maneuvering theory"
23
+ - "Dynamic Positioning"
24
+ - "Nonlinear Control"
25
+ - "Control Barrier Functions"
26
+ - "Ocean Engineering"