-
Notifications
You must be signed in to change notification settings - Fork 65
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
Updating ROS2 RobotImporter to use libsdformat #460
Merged
lemonade-dm
merged 15 commits into
o3de:development
from
aws-lumberyard-dev:urdf-importer-refactor
Aug 25, 2023
Merged
Changes from 10 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
25e5575
first attempt at using sdformat
mbalfour-amzn 21affbd
Second revision of replacing the use of the urdfdom API with sdformat
lemonade-dm 5b125f2
Updated the Link query logic in the RobotImporter
lemonade-dm 4f6d296
Addressed feedback for URDF Import using SDFormat PR
lemonade-dm 682f8e8
Added support to gather all Materials from each model tag within an SDF
lemonade-dm f0ed3d4
Fixed nullptr dereference for fixed joint parsing from SDF
lemonade-dm 6a6418c
Updated the `CreatePrefabTemplateFromURDF` link hierarchy logic
lemonade-dm 5eb10a8
Fixed RobotImporterWidget error logging when xacro succeeds and URDF …
lemonade-dm 7a8414d
Added UnitTest for URDF links without inertia
lemonade-dm 68f5bdc
Updated the Revolute joint maker code to not set a joint limit when t…
lemonade-dm 1b862cd
JointsMaker and URDFPrefabMaker build fixes.
lemonade-dm 9d21bc0
Fixed crash in CreatePrefabTemplateFromURDF for joint links
lemonade-dm b007b1d
Fixed assert in creation of ROS2 Robot Control due to an invalid Enti…
lemonade-dm 6335e15
Updated Xacro process launch code to validate that the xacro command …
lemonade-dm ab097dd
Updated the Joint Visitor for SDF joints
lemonade-dm File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the format itself, the world element is optional, since robots can be defined either with or without the world context (as a child element or as a sibling of world element).
Perhaps the converter always creates the robot inside a world element, but I am not sure whether we should rely on that it won't change. An example of correct SDF that this would skip:
What do you think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am thinking we could check if there is at least 1 model, otherwise the URDF wouldn't have any robot data within it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMO, I'd be inclined to skip any validation like that for now. Technically, I think the sdf format supports files with no models, like one with just plugins and lights for example. Admittedly a file without models is probably not useful and maybe should generate a warning, but it seems a little bit wrong to me to disallow it completely. I won't be opposed if you decide to require it though.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well we use the Model name or World name for the name of prefab that gets generated.
If want we can use the name of the URDF file itself and then let the URDFPrefabMaker code take of dealing with not having any models.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What I mean here is that there can be Models without any Worlds. So just checking for Worlds is not enough.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, I noticed that is was the case for URDF conversion.
It comes with only a root without any tags within it.
I have updated the logic, to use the name of the root tag if it exist, otherwise it uses the name of first tag as the prefab name.