feat: add dynamics - #97
Conversation
✅
|
| Descriptor | Linter | Files | Fixed | Errors | Warnings | Elapsed time |
|---|---|---|---|---|---|---|
| ✅ ACTION | actionlint | 6 | 0 | 0 | 0.07s | |
| ✅ CPP | clang-format | 185 | 1 | 0 | 0 | 0.93s |
| ✅ CPP | cppcheck | 185 | 0 | 0 | 6.68s | |
| ✅ DOCKERFILE | hadolint | 1 | 0 | 0 | 0.06s | |
| ✅ JSON | jsonlint | 8 | 0 | 0 | 0.45s | |
| ✅ JSON | prettier | 8 | 8 | 0 | 0 | 0.65s |
| markdownlint | 40 | 1 | 18 | 0 | 2.49s | |
| ✅ MARKDOWN | markdown-table-formatter | 40 | 3 | 0 | 0 | 0.28s |
| lychee | 133 | 24 | 0 | 1.23s | ||
| ✅ YAML | prettier | 13 | 6 | 0 | 0 | 0.85s |
| ✅ YAML | yamllint | 13 | 0 | 0 | 0.67s |
Detailed Issues
⚠️ SPELL / lychee - 24 errors
[ERROR] https://gitlab-ci-token/ | Network error: error sending request for url (https://gitlab-ci-token/) Maybe a certificate error?
[IGNORED] url.https://github.com/.insteadOf | Unsupported: Error creating request client: builder error for url (url.https://github.com/.insteadOf)
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/2 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/9 | Network error: Not Found
[ERROR] file://doc/filters/controllers/Pid.md | Cannot find file
[ERROR] file://doc/filters/controllers/Lqr.md | Cannot find file
[ERROR] file://doc/filters/solvers/DiscreteAlgebraicRiccatiEquation.md | Cannot find file
[ERROR] file://doc/math/Geometry3D.md | Cannot find file
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/3 | Network error: Not Found
[403] https://gitlab.com/embedded-library/infrastructure/embedded-infra-lib.git | Network error: Forbidden
[403] https://gitlab.com/embedded-library/infrastructure/hal-st.git | Network error: Forbidden
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/4 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/15 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/7 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/13 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/12 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/24 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/18 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/1 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/26 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/27 | Network error: Not Found
[403] https://developer.arm.com/documentation/100166/latest/ | Network error: Forbidden
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/6 | Network error: Not Found
[403] https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$ | Network error: Forbidden
[403] https://developer.arm.com/documentation/dui0473/latest | Network error: Forbidden
📝 Summary
---------------------
🔍 Total..........183
✅ Successful.....150
⏳ Timeouts.........0
🔀 Redirected.......0
👻 Excluded.........8
❓ Unknown..........0
🚫 Errors..........24
Errors in doc/kinematics/ForwardKinematics.md
[ERROR] file://doc/math/Geometry3D.md | Cannot find file
Errors in CHANGELOG.md
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/1 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/27 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/2 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/6 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/13 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/9 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/15 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/3 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/4 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/12 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/7 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/24 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/18 | Network error: Not Found
[404] https://github.com/embedded-pro/embedded-numerical-toolbox/issues/26 | Network error: Not Found
Errors in doc/performance-optimization/README.md
[403] https://developer.arm.com/documentation/100166/latest/ | Network error: Forbidden
[403] https://developer.arm.com/documentation/dui0473/latest | Network error: Forbidden
Errors in .gitlab-ci.yml
[403] https://gitlab.com/embedded-library/infrastructure/hal-st.git | Network error: Forbidden
[ERROR] https://gitlab-ci-token/ | Network error: error sending request for url (https://gitlab-ci-token/) Maybe a certificate error?
[403] https://gitlab.com/embedded-library/infrastructure/embedded-infra-lib.git | Network error: Forbidden
Errors in .github/workflows/static-analysis.yml
[403] https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-$ | Network error: Forbidden
Errors in doc/filters/active/KalmanFilter.md
[ERROR] file://doc/filters/controllers/Lqr.md | Cannot find file
[ERROR] file://doc/filters/solvers/DiscreteAlgebraicRiccatiEquation.md | Cannot find file
[ERROR] file://doc/filters/controllers/Pid.md | Cannot find file
⚠️ MARKDOWN / markdownlint - 18 errors
doc/analysis/PowerDensitySpectrum.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 509]
doc/analysis/PowerDensitySpectrum.md:104:20 error MD056/table-column-count Table column count [Expected: 2; Actual: 6; Too many cells, extra data will be missing]
doc/analysis/PowerDensitySpectrum.md:104:17 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:20 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:32 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:38 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:45 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/PowerDensitySpectrum.md:104:135 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/analysis/RootLocus.md:69 error MD040/fenced-code-language Fenced code blocks should have a language specified [Context: "```"]
doc/analysis/RootLocus.md:113:13 error MD060/table-column-style Table column style [Table pipe is missing space to the left for style "compact"]
doc/analysis/RootLocus.md:113:27 error MD060/table-column-style Table column style [Table pipe is missing space to the left for style "compact"]
doc/analysis/RootLocus.md:113:1 error MD060/table-column-style Table column style [Table pipe is missing space to the right for style "compact"]
doc/analysis/RootLocus.md:113:13 error MD060/table-column-style Table column style [Table pipe is missing space to the right for style "compact"]
doc/neural_network/regularization/Regularization.md:100:32 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/neural_network/regularization/Regularization.md:100:135 error MD060/table-column-style Table column style [Table pipe does not align with header for style "aligned"]
doc/windowing/window.md:5:401 error MD013/line-length Line length [Expected: 400; Actual: 415]
README.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "[
- Documentation: Custom Flavors
- Command:
npx mega-linter-runner@9.4.0 --custom-flavor-setup --custom-flavor-linters ACTION_ACTIONLINT,CPP_CPPCHECK,CPP_CLANG_FORMAT,DOCKERFILE_HADOLINT,JSON_JSONLINT,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,SPELL_LYCHEE,YAML_PRETTIER,YAML_YAMLLINT

Show us your support by starring ⭐ the repository
There was a problem hiding this comment.
Pull request overview
Adds a new dynamics module to the Numerical Toolbox, providing rigid-body dynamics solvers (Euler–Lagrange, Newton–Euler, and Recursive Newton–Euler) along with documentation and unit tests. It also extends solver template instantiations needed by the new dynamics code paths.
Changes:
- Introduce
numerical/dynamicslibrary with Euler–Lagrange, Newton–Euler, and Recursive Newton–Euler implementations plus explicit template instantiations. - Add a new
numerical.dynamics_testtarget with unit tests covering the new solvers. - Add dynamics documentation under
doc/dynamics/and updateGaussianEliminationexplicit instantiations forfloatsizes 1 and 2.
Reviewed changes
Copilot reviewed 22 out of 22 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| numerical/solvers/GaussianElimination.hpp | Adds extern template declarations for GaussianElimination<float, 1/2> to support new dynamics solvers without header instantiation. |
| numerical/solvers/GaussianElimination.cpp | Adds explicit instantiations for GaussianElimination<float, 1/2>. |
| numerical/dynamics/RevoluteJointLink.hpp | Defines link parameter struct used by the recursive Newton–Euler chain model. |
| numerical/dynamics/RecursiveNewtonEuler.hpp | Implements RNEA inverse dynamics for serial chains and declares extern template instantiations. |
| numerical/dynamics/RecursiveNewtonEuler.cpp | Provides explicit instantiations for RecursiveNewtonEuler<float, 1/2/3>. |
| numerical/dynamics/NewtonEulerBody.hpp | Defines the virtual body interface for single rigid-body Newton–Euler dynamics. |
| numerical/dynamics/NewtonEulerSolver.hpp | Implements forward/inverse Newton–Euler dynamics (body-frame), solving angular accel via Gaussian elimination. |
| numerical/dynamics/NewtonEulerSolver.cpp | Provides explicit instantiation for NewtonEulerSolver<float>. |
| numerical/dynamics/EulerLagrangeDynamics.hpp | Defines the virtual model interface for Euler–Lagrange dynamics. |
| numerical/dynamics/EulerLagrangeSolver.hpp | Implements forward/inverse Euler–Lagrange solver using Gaussian elimination for forward dynamics. |
| numerical/dynamics/EulerLagrangeSolver.cpp | Provides explicit instantiations for EulerLagrangeSolver<float, 1/2/3>. |
| numerical/dynamics/CMakeLists.txt | Adds the new numerical.dynamics library target and its sources/tests. |
| numerical/dynamics/test/CMakeLists.txt | Adds a new dynamics test executable and sources. |
| numerical/dynamics/test/TestEulerLagrangeSolver.cpp | Adds unit tests for Euler–Lagrange forward/inverse dynamics and roundtrip checks. |
| numerical/dynamics/test/TestNewtonEulerSolver.cpp | Adds unit tests for Newton–Euler forward/inverse dynamics and gyroscopic/coriolis terms. |
| numerical/dynamics/test/TestRecursiveNewtonEuler.cpp | Adds unit tests for RNEA inverse dynamics on 1-DOF and 2-DOF examples. |
| numerical/CMakeLists.txt | Registers the new dynamics subdirectory in the numerical build. |
| doc/dynamics/README.md | Adds a dynamics documentation index page. |
| doc/dynamics/EulerLagrange.md | Adds Euler–Lagrange algorithm documentation following the required template sections. |
| doc/dynamics/NewtonEuler.md | Adds Newton–Euler algorithm documentation following the required template sections. |
| doc/dynamics/RecursiveNewtonEuler.md | Adds RNEA documentation following the required template sections. |
| .github/copilot-instructions.md | Updates repo guidance to include the new dynamics module and related conventions. |
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|



No description provided.