Update RigidBodySystem and GUI with external force handling and gravity features - #98
Merged
Merged
Conversation
… naming format * Need to test build, but GUI requires changes first
… new naming format
* Working through GUI now (many errors)
…thods in RigidBodySystem
…nalForces` method to `clearExtForces` in SimulationCore
…dget * Needs work, is not where I want it
…ing external forces
… in SimulationManager
…3D representation
…n RigidBodyDynamics
…nCore for physics dynamics
…ager for improved physics handling
…cimal values in FractionSelectorWidget
…o now use a zero translation vector
…e bodies and converting link names to lowercase
…es and clean up code * Commiting due to me taking a break for a few hours, but I wanted to make sure I can access it on my laptop
…n RigidBodySystem
…r angular and linear axes
… for improved clarity
…, and `computerAccelerations_ABA` to resize qdd using a DOF-Index rather than a joint index
…command recognition
…te method for alignment with rest of code * I did some research and realised most engines use linear then angular in storage, I want to make it as easy as possible for anyone to use DSL so I refactored it. * Also stupid oversight on my part, it was causing bad transformations.
…gging for debugging
…tialMask function
…logging in trySetFreeVelocity method
… constructor for consistency and updated logging format in parseSpatialMask function
…computeSpatialKinematicsAndBias function and removed logging for free joint accelerations
…RigidBodySystem methods
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request makes significant structural and naming improvements to the DSFE_Core codebase, focusing on modernising the CMake build system, refactoring the DSL/interpreter subsystem, and updating telemetry and analysis interfaces for greater consistency and clarity. The most important changes are grouped below:
Build System Modernization:
tinyxml2as a dependency using CMake'sFetchContentand integrated its source directly into theDSFE_Corebuild, ensuring no external subproject or tests are included.pxmlibdependency to versionv1.0.2in the top-levelCMakeLists.txt.Subsystem Refactoring and Renaming:
Interpreter-related files and namespaces toDSLfor improved clarity and future extensibility. This includes files such asCommand.h,CommandContext.h, and all command implementations, as well as updating all corresponding includes and namespace usages throughout the codebase. [1] [2] [3] [4] [5] [6] [7] [8] [9]CMakeLists.txtto group sources by functional subsystem (SYSTEMS_SRC,LOADING_SRC,PHYSICS_SRC, etc.), and moved DSL/interpreter sources under thesrc/DSL/directory. [1] [2]API and Interface Updates:
program_data::CmdResultwithCmdResultand updating method signatures for consistency. [1] [2] [3] [4]CommandContextAPI to use more general terminology (e.g.,loadRigidBodyinstead ofloadSingleBody/loadMultibody,stopAllVelinstead ofstopAllOmega, andRigidBodySysteminstead ofRobotSystem). [1] [2]Telemetry and Analysis Consistency:
robotstosystemsand updated method signatures to useRigidBodySysteminstead ofRobotSystem, ensuring consistency with the rest of the refactor. [1] [2] [3] [4]Documentation and Metadata:
These changes collectively modernise the codebase, clarify subsystem boundaries, and lay the groundwork for future extensibility and maintainability.