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

POC for SE and SO #45

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

POC for SE and SO #45

wants to merge 3 commits into from

Conversation

Affie
Copy link
Collaborator

@Affie Affie commented Jun 11, 2021

No description provided.

@codecov-commenter
Copy link

codecov-commenter commented Jun 12, 2021

Codecov Report

Merging #45 (f9653f0) into master (1762ab7) will decrease coverage by 7.39%.
The diff coverage is 0.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #45      +/-   ##
==========================================
- Coverage   53.81%   46.41%   -7.40%     
==========================================
  Files           2        3       +1     
  Lines         433      502      +69     
==========================================
  Hits          233      233              
- Misses        200      269      +69     
Impacted Files Coverage Δ
src/LazyLieManifolds.jl 0.00% <0.00%> (ø)
src/LegacySpecialEuclidean.jl 0.00% <0.00%> (ø)
src/Legacy.jl 61.31% <0.00%> (+3.35%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1762ab7...f9653f0. Read the comment docs.

@dehann dehann added this to the v0.2.11 milestone Jun 12, 2021
@dehann dehann changed the base branch from 21Q2/enh/semani to master June 13, 2021 03:26
@dehann
Copy link
Owner

dehann commented Jun 13, 2021

@Affie please see review notes and be advised i changed the merge base to master for this PR

@dehann
Copy link
Owner

dehann commented Jun 13, 2021

Note this PR is blocking RoME v0.15.2, see JuliaRobotics/RoME.jl#449

@Affie
Copy link
Collaborator Author

Affie commented Jun 13, 2021

@Affie please see review notes and be advised i changed the merge base to master for this PR

@dehann i don’t see the review, dit you perhaps forget to submit?

@dehann
Copy link
Owner

dehann commented Jun 13, 2021

ah, it might show up on the "Files" view of the PR:
Screenshot from 2021-06-13 12-50-55

@Affie
Copy link
Collaborator Author

Affie commented Jun 13, 2021

ah, it might show up on the "Files" view of the PR:
Screenshot from 2021-06-13 12-50-55

It is still not showing up this side.

##==============================================================================

abstract type AbstractLieGroup end
abstract type AbstractLieAlgebra end
Copy link
Owner

Choose a reason for hiding this comment

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

Hi Johan, i'm not so sure about adding new abstracts here. See Manifolds docs:
https://juliamanifolds.github.io/Manifolds.jl/latest/manifolds/group.html#Group-manifolds-and-actions

could you avoid adding a new abstraction below Manifolds? If these new abstracts are just to reduce the function definitions, I think it would be better to write out the functions instead -- i.e. write against <: SE or <: se rather than new abstracts?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If these new abstracts are just to reduce the function definitions, I think it would be better to write out the functions instead -- i.e. write against <: SE or <: se rather than new abstracts?

Yes, it is just to reduce function definitions.

AbstractLieGroup is not the correct name as it's a combination of a point and a manifold.
Maybe something like AbstractGroupManifoldPoint and AbstractGroupAlgebraVector is more accurate.

That is this wrapper exists, lets continue in JuliaRobotics/RoME.jl#450

Base.convert(::Type{AbstractLieAlgebra}, ::Type{SO{N, T}}) where {N,T} = so{N}

##==============================================================================
## RoME like functions sandbox
Copy link
Owner

Choose a reason for hiding this comment

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

we should move all these into RoME and replace the outdated RobotUtils.jl and OdometryUtils.jl currently in RoME

Copy link
Owner

Choose a reason for hiding this comment

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

see related functions being moved in JuliaRobotics/RoME.jl#449

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

jip, just a sandbox to test the functions. not intended to stay.

@dehann
Copy link
Owner

dehann commented Jun 14, 2021

Hi @Affie, i'm having doubts about this whole approach. I'm now thinking we should not be building types like SE and se at all.

I think we should drastically reduce the amount of duplication with Manifolds.jl and just simply use
VND.val::Vector{ProductRepr...}

and implement just RoME.oplus(::Pose3Pose3, p1,p2) which follows the same style as Manifolds.jl. That way we avoid the exp/retract issue we had in 366

I really want to avoid duplicating types, abstracts and API design from Manifolds. I'm actually thinking we should not implement a Lazy wrapper at all for the next couple of weeks and simply add the oplus functions in RoME until we have a better idea of what does and doesn't work. All we doing is dispatch against func(::AbstractFactor,...). E.g.
v = getCoordinates(Pose3, p1)

which is easily overloaded for
v_arr = getPointCoordinates(fg, :x1) # which we already know is a Pose2 or InertialPose3 etc

@dehann dehann modified the milestones: v0.2.11, v0.0.x Jul 2, 2021
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.

3 participants