Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature: Dead Reckoning dis 7 implementation #160

Open
wants to merge 17 commits into
base: master
Choose a base branch
from

Conversation

AleMart3
Copy link

@AleMart3 AleMart3 commented Aug 2, 2024

This pull request implements dead reckoning algorithm for dis 7 version

AleMart3 and others added 3 commits August 2, 2024 13:18
Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.4...maven-gpg-plugin-3.2.5)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ache.maven.plugins-maven-gpg-plugin-3.2.5

Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.4 to 3.2.5
@alessiomatricardi
Copy link

any update on this? It would be very helpful

dependabot bot and others added 2 commits September 2, 2024 13:05
Bumps [org.apache.maven.plugins:maven-javadoc-plugin](https://github.com/apache/maven-javadoc-plugin) from 3.7.0 to 3.10.0.
- [Release notes](https://github.com/apache/maven-javadoc-plugin/releases)
- [Commits](apache/maven-javadoc-plugin@maven-javadoc-plugin-3.7.0...maven-javadoc-plugin-3.10.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-javadoc-plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
…ache.maven.plugins-maven-javadoc-plugin-3.10.0

Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.7.0 to 3.10.0
@leif81
Copy link
Member

leif81 commented Sep 15, 2024

@AleMart3 thank-you for the PR.

I have reviewed the PR. I have one concern which is the original perform_DR method is 300 lines of code, and the proposed new perform_DRv7 method is a copy of most of the original code. With the exception of the PDU type parameter. This will cause extra effort for the maintainers to ensure the two implementations are the same.

If we can find a way to add support for v7 that doesn't require duplicating the code I would prefer to see an updated PR for that.

dependabot bot and others added 10 commits September 16, 2024 13:03
Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.2.5 to 3.2.6.
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.5...maven-gpg-plugin-3.2.6)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ache.maven.plugins-maven-gpg-plugin-3.2.6

Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.5 to 3.2.6
…init

Fixes to EntityStatePDU - initialize appearance and capabilities (DIS 6, DIS 7)
Bumps [org.apache.maven.plugins:maven-gpg-plugin](https://github.com/apache/maven-gpg-plugin) from 3.2.6 to 3.2.7.
- [Release notes](https://github.com/apache/maven-gpg-plugin/releases)
- [Commits](apache/maven-gpg-plugin@maven-gpg-plugin-3.2.6...maven-gpg-plugin-3.2.7)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-gpg-plugin
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
…ache.maven.plugins-maven-gpg-plugin-3.2.7

Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.6 to 3.2.7
@alessiomatricardi
Copy link

Hi, we refactored the implementation in the following way:

  • Added an Interface IDeadReckoner which define the method performDeadReckoning
  • Added an abstract implementation AbstractDeadReckoner which contains the common part of the algorithm and define all the abstract methods its children must implement. The common part of the algorithm has been generalized with a custom Model containing only the needed fields.
  • 2 implementations of AbstractDeadReckoner for DIS v6 and v7 protocols: each one is responsible of the articulated parameters part of the algorithm, which is a bit tricky cause of different structure of the 2 EntityStatePdu
  • modified DeadReckoner class which now only expose two methods (perform_DR and perform_DRv7) maintaining the previous signature (without breaking dependent packages when the dependency is updated).

Let us know what do you think about, we're very interested in merging it and (if possible) release the a version of this package.

Last but not least, all tests are invariated and seem to work :)

@alessiomatricardi
Copy link

PS for no reason I'm seeing something on pom.xml and both EntityStatePdu, but locally merge says its already updated :')

@leif81
Copy link
Member

leif81 commented Oct 28, 2024

Thanky-you for the update @alessiomatricardi . I have been busy but I hope to review your change soon!

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.

4 participants