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

Allow "drilling down" into nested model frames #381

Merged
merged 75 commits into from
Nov 18, 2020

Commits on Sep 3, 2020

  1. Expect nested_explicit_canonical_link.sdf is valid

    Split nested_invalid_explicit_canonical_link.sdf
    into nested_explicit_canonical_link.sdf and
    nested_without_links_invalid.sdf and update
    UNIT_ign_TEST and an integration test.
    
    Signed-off-by: Steve Peters <[email protected]>
    scpeters committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    05a9037 View commit details
    Browse the repository at this point in the history
  2. Support :: syntax in *NameExists and *ByName APIs

    This extends the `Model::*NameExists` and `Model::*ByName` APIs
    (like LinkNameExists and LinkByName) that allow passing
    nested names that can begin with a sequence of nested model
    names separated by :: and may end with the name of an object
    of the specified type, such as "outer_model::inner_model::inner_joint".
    
    For now, if a nested model is not found that matches the nested name
    preceding the final ::, then it checks for objects in the current model
    that match the entire name. This extra check should be disabled
    when "::" is reserved and not allowed in frame names.
    
    Signed-off-by: Steve Peters <[email protected]>
    scpeters committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    0931e65 View commit details
    Browse the repository at this point in the history
  3. Changelog and Migration guide

    Signed-off-by: Steve Peters <[email protected]>
    scpeters committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    79fc3e6 View commit details
    Browse the repository at this point in the history
  4. Ensure CanonicalLink pointer is valid

    Signed-off-by: Steve Peters <[email protected]>
    scpeters committed Sep 3, 2020
    Configuration menu
    Copy the full SHA
    8b92f41 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2020

  1. Configuration menu
    Copy the full SHA
    6659e83 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2020

  1. Add ScopedGraph header

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Sep 23, 2020
    Configuration menu
    Copy the full SHA
    a07b42b View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2020

  1. Frame attached to tests passing

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Sep 24, 2020
    Configuration menu
    Copy the full SHA
    612a805 View commit details
    Browse the repository at this point in the history
  2. FrameSemantics_TEST passing

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Sep 24, 2020
    Configuration menu
    Copy the full SHA
    f74fc33 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2020

  1. Pass ChildScope with new scope name

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Sep 25, 2020
    Configuration menu
    Copy the full SHA
    041e1c2 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2020

  1. Merge branch 'explicit_nested_canonical' into drill_down

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Sep 29, 2020
    Configuration menu
    Copy the full SHA
    aaf0742 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2020

  1. Add command line tool to generate graph

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    b0bf73b View commit details
    Browse the repository at this point in the history
  2. Avoid using the RawPose of the DOM object when the object is a frame …

    …(implicit or explicit)
    
    Instead use the edges in the pose graph. This allows us to update only
    the pose graph when handling placement frames.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    3fe002b View commit details
    Browse the repository at this point in the history
  3. Handle placement frames with new PoseRelativeTo construction scheme

    The PoseRelativeTo used to be constructed in each nested model's Load
    funcition. Now, it's only constructed at the outer most model. Because
    of this decoupling and Since the model is `const` when the graph is
    constructed, placement frames are handled differently. Instead of
    updating the raw pose of the model, the edge connecting the model frame
    to it's relative_to frame is modified to take into account the placement
    frame.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    dc5f941 View commit details
    Browse the repository at this point in the history
  4. Add __root__ scope

    The __root__ vertex is the root node of both world and model
    PoseRelativeTo graphs. It corresponds to the `<sdf>` tag in SDFormat
    files. Having this node makes it possible to keep the a model's pose and
    (possibly accounting for placement_frame) information in the edge from
    the _root__ vertex to the model vertex.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    46ff7c0 View commit details
    Browse the repository at this point in the history
  5. Revert changes in loadUniqueRepeated

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    5fd9abc View commit details
    Browse the repository at this point in the history
  6. Make ScopedGraph use pointer semantics

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 1, 2020
    Configuration menu
    Copy the full SHA
    565dffb View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2020

  1. Cleanup

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 6, 2020
    Configuration menu
    Copy the full SHA
    4cefd79 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2020

  1. Remove __root__ scope name

    The `__root__` vertex still exits, but has either a `__model__` scope or
    a `world` scope.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 7, 2020
    Configuration menu
    Copy the full SHA
    446a536 View commit details
    Browse the repository at this point in the history
  2. SemanticPose::Resolve and JointAxis::ResolveXyz to a SemanticPose obj…

    …ect to set the scope
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 7, 2020
    Configuration menu
    Copy the full SHA
    023aea5 View commit details
    Browse the repository at this point in the history

Commits on Oct 8, 2020

  1. Add missing file

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    71e24bb View commit details
    Browse the repository at this point in the history
  2. Remove aliasing edges, there is no need for them. Also remove updateG…

    …raphPose
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    f97e00c View commit details
    Browse the repository at this point in the history
  3. Refactor

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    dd835a6 View commit details
    Browse the repository at this point in the history
  4. Cleanup

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    50edaec View commit details
    Browse the repository at this point in the history
  5. Add Resolve function that takes DOM objects

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    9b6c99e View commit details
    Browse the repository at this point in the history
  6. Add test for placement attribute with nested link

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    1cecc0c View commit details
    Browse the repository at this point in the history
  7. Codecheck

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    eb78dbc View commit details
    Browse the repository at this point in the history
  8. Fix macOS build error

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    2cbe572 View commit details
    Browse the repository at this point in the history
  9. Add nested model pose relative_to test

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    67da6d8 View commit details
    Browse the repository at this point in the history
  10. Add nested model frame attached_to test

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    db47ba2 View commit details
    Browse the repository at this point in the history
  11. Add test for joints that reference entities in nested models

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 8, 2020
    Configuration menu
    Copy the full SHA
    28e2c61 View commit details
    Browse the repository at this point in the history

Commits on Oct 9, 2020

  1. Add API documentation for ScopedGraph, refactor

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    b36c1d2 View commit details
    Browse the repository at this point in the history
  2. Add test for placement_frame element that references nested frames

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    e50ae0b View commit details
    Browse the repository at this point in the history
  3. Add test for empty models that contain a nested static model

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 9, 2020
    Configuration menu
    Copy the full SHA
    d5551bc View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2020

  1. Resolve SemanticPose objects relative to other SemanticPose objects

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 10, 2020
    Configuration menu
    Copy the full SHA
    d51f340 View commit details
    Browse the repository at this point in the history
  2. Add missing file

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 10, 2020
    Configuration menu
    Copy the full SHA
    4d86a91 View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2020

  1. Revert the SemanticPose::Resolve API that takes SemanticPose objects

    This proved to be problematic since the graph contained in the input
    SemanticPose can be at a different scope than the graph in the current
    object. Thus it becomes necessary to find the least common ancestor
    vertex between two vertices in the graph. This is feasible, but it would
    be best to do it in a separate PR.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    7d34a5e View commit details
    Browse the repository at this point in the history
  2. Remove addNestedModel

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    1168672 View commit details
    Browse the repository at this point in the history
  3. Add more documentation, cleanup

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    2482b74 View commit details
    Browse the repository at this point in the history
  4. Validate __root__ vertices

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    c99545f View commit details
    Browse the repository at this point in the history
  5. Add more error cases in validate* functions

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    1c07494 View commit details
    Browse the repository at this point in the history
  6. Remove obsolete test

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    a628e1e View commit details
    Browse the repository at this point in the history
  7. Prevent users from referencing __root__ in SDFormat XML.

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 14, 2020
    Configuration menu
    Copy the full SHA
    6a7482c View commit details
    Browse the repository at this point in the history

Commits on Oct 22, 2020

  1. More expectations in LoadJointNestedParentChild

    Test `Joint::Resolve*Link` methods in LoadJointNestedParentChild
    test case.
    
    Signed-off-by: Steve Peters <[email protected]>
    scpeters authored and azeey committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    3956ee6 View commit details
    Browse the repository at this point in the history
  2. Address Reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    f4b4098 View commit details
    Browse the repository at this point in the history
  3. Add and update doxygen for SetFrameAttachedToGraph and SetPoseRelativ…

    …eToGraph
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    4e368f1 View commit details
    Browse the repository at this point in the history
  4. Add doxygen to new SemanticPose constructor

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    9810c10 View commit details
    Browse the repository at this point in the history
  5. Remove unnecessary code

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 22, 2020
    Configuration menu
    Copy the full SHA
    ea08d4f View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2020

  1. Refactor code that handles PlacementFrame into a function

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    cd08f38 View commit details
    Browse the repository at this point in the history
  2. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    b158998 View commit details
    Browse the repository at this point in the history
  3. Add failing test showing bug in checkFrameAttachedToNames

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    635b96e View commit details
    Browse the repository at this point in the history
  4. Fix how frame attached_to names are checked for existence

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    76515da View commit details
    Browse the repository at this point in the history
  5. Add unit test for the output stream of sdf::Errors

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 23, 2020
    Configuration menu
    Copy the full SHA
    d552382 View commit details
    Browse the repository at this point in the history

Commits on Oct 27, 2020

  1. Return void from Model::SetPoseRelativeToGraph

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    60a903d View commit details
    Browse the repository at this point in the history
  2. Add test for world level nested references

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    9c297d0 View commit details
    Browse the repository at this point in the history
  3. Add test for ign graph command

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    de319b9 View commit details
    Browse the repository at this point in the history
  4. Be more selective about checking for usage of __root__

    Instead of checking if any attribute has a value of "__root__", only the
    following attributes are checked:
      * //frame/[@attached_to]
      * //pose/[@relative_to]
      * //model/[@placement_frame]
      * //model/[@canonical_link]
      * //sensor/imu/orientation_reference_frame/custom_rpy/[@parent_frame]
    
    In addition, the elements //joint/parent, //joint/child and
    //include/placement_frame are checked for validity
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 27, 2020
    Configuration menu
    Copy the full SHA
    2a21634 View commit details
    Browse the repository at this point in the history

Commits on Oct 28, 2020

  1. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 28, 2020
    Configuration menu
    Copy the full SHA
    f814bb1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f4def9c View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2020

  1. Scoped -> scoped

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    eef24a0 View commit details
    Browse the repository at this point in the history
  2. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    3c61c82 View commit details
    Browse the repository at this point in the history
  3. Change scopeName to scopeContextName

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    f5390ee View commit details
    Browse the repository at this point in the history
  4. Add warning to the help message of ign sdf -g command

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    f3a234e View commit details
    Browse the repository at this point in the history
  5. Remove extraneous error comments

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    b5a3a48 View commit details
    Browse the repository at this point in the history
  6. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    38bee6e View commit details
    Browse the repository at this point in the history
  7. Merge remote-tracking branch 'upstream/master' into drill_down

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    c5b037a View commit details
    Browse the repository at this point in the history
  8. Resolve additional merge conflicts

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    da10cb4 View commit details
    Browse the repository at this point in the history
  9. Cleanup

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Oct 30, 2020
    Configuration menu
    Copy the full SHA
    b0d3185 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2020

  1. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 3, 2020
    Configuration menu
    Copy the full SHA
    5c42e39 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    5470e60 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2020

  1. State that *Count functions only count immediate child elements

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    f544805 View commit details
    Browse the repository at this point in the history
  2. Address reviewer feedback

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    661a502 View commit details
    Browse the repository at this point in the history
  3. Typo

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 5, 2020
    Configuration menu
    Copy the full SHA
    d06275b View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2020

  1. Revert documentation updates to Root::*ByName and World::*ByName func…

    …tions
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 6, 2020
    Configuration menu
    Copy the full SHA
    8b0665a View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2020

  1. Keep some of the changes from the previous commit

    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey committed Nov 11, 2020
    Configuration menu
    Copy the full SHA
    6390633 View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2020

  1. Move construction of PoseRelativeToGraph and FrameAttachedToGraph to …

    …sdf::Root (#1)
    
    * Move graph creation to sdf::Root from sdf::World and sdf::Model.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    
    * Convert ScopedGraph to hold a strong reference to the underlying graph
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    
    * Add copy/move constructors to sdf::Root
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    
    * Additional test of sdf::Root objects before copy and move
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    
    * Fix typo
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    
    * Explicitly delete copy constructor and assignment.
    
    Signed-off-by: Addisu Z. Taddese <[email protected]>
    azeey authored Nov 18, 2020
    Configuration menu
    Copy the full SHA
    0a8a7e0 View commit details
    Browse the repository at this point in the history