Skip to content

feat: add dynamics - #97

Merged
gabrielfrasantos merged 14 commits into
mainfrom
feature/add-dynamics
Mar 22, 2026
Merged

feat: add dynamics#97
gabrielfrasantos merged 14 commits into
mainfrom
feature/add-dynamics

Conversation

@gabrielfrasantos

Copy link
Copy Markdown
Contributor

No description provided.

@github-actions

github-actions Bot commented Mar 21, 2026

Copy link
Copy Markdown
Contributor

⚠️MegaLinter analysis: Success with warnings

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
⚠️ MARKDOWN markdownlint 40 1 18 0 2.49s
✅ MARKDOWN markdown-table-formatter 40 3 0 0 0.28s
⚠️ SPELL 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: "[![Quality Gate Status](https:..."]
README.md:9:401 error MD013/line-length Line length [Expected: 400; Actual: 442]

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • 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

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/dynamics library with Euler–Lagrange, Newton–Euler, and Recursive Newton–Euler implementations plus explicit template instantiations.
  • Add a new numerical.dynamics_test target with unit tests covering the new solvers.
  • Add dynamics documentation under doc/dynamics/ and update GaussianElimination explicit instantiations for float sizes 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.

Comment thread numerical/dynamics/test/TestRecursiveNewtonEuler.cpp Outdated
Comment thread numerical/dynamics/RecursiveNewtonEuler.hpp Outdated
Comment thread numerical/dynamics/NewtonEulerBody.hpp
Comment thread numerical/dynamics/EulerLagrangeDynamics.hpp
gabrielfrasantos and others added 5 commits March 21, 2026 11:45
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Comment thread .vscode/launch.json

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 49 out of 49 changed files in this pull request and generated 10 comments.

Comment thread simulator/dynamics/RobotArm/application/RobotArmSimulator.cpp
Comment thread doc/kinematics/ForwardKinematics.md
Comment thread simulator/dynamics/RobotArm/view/RobotArmMainWindow.cpp
Comment thread doc/math/Geometry3D.md Outdated
Comment thread numerical/kinematics/ForwardKinematics.hpp
Comment thread simulator/dynamics/RobotArm/view/RobotArmConfigurationPanel.cpp
Comment thread simulator/dynamics/RobotArm/view/RobotArmConfigurationPanel.cpp
Comment thread simulator/dynamics/RobotArm/application/RobotArmSimulator.cpp Outdated
Comment thread simulator/dynamics/RobotArm/application/RobotArmSimulator.cpp Outdated
Comment thread simulator/dynamics/RobotArm/application/RobotArmSimulator.cpp Outdated
gabrielfrasantos and others added 4 commits March 22, 2026 18:16
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@sonarqubecloud

Copy link
Copy Markdown

@gabrielfrasantos
gabrielfrasantos merged commit d308931 into main Mar 22, 2026
9 checks passed
This was referenced Mar 21, 2026
@gabrielfrasantos
gabrielfrasantos deleted the feature/add-dynamics branch March 24, 2026 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants