-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
SDF parsing #7455
SDF parsing #7455
Conversation
+@SeanCurtis-TRI for feature review please. Review status: 0 of 11 files reviewed at latest revision, all discussions resolved. Comments from Reviewable |
Review status: 0 of 11 files reviewed at latest revision, 1 unresolved discussion. drake/multibody/parsing/sdf_parser.h, line 7 at r1 (raw file):
Assuming this header is installed, this adds "sdf/sdf.hh" to the list in #7451 and therefore needs changes to Comments from Reviewable |
drake/multibody/parsing/sdf_parser.h, line 7 at r1 (raw file): Previously, jamiesnape (Jamie Snape) wrote…
In this case @amcastro-tri, it seems totally worthwhile to hide the include into the cc file. Its only used by private methods, and not even clear anyway why they have to be instance methods, since there are no member fields anyway. Seems like free functions in the cc file would work just as well. Comments from Reviewable |
Review status: 0 of 11 files reviewed at latest revision, 1 unresolved discussion. drake/multibody/parsing/sdf_parser.h, line 7 at r1 (raw file): Previously, jwnimmer-tri (Jeremy Nimmer) wrote…
Good point. This was me making a quick first spiral so that someone else can own this code (and write it well :-) ). I can refactor this to free functions, and move the include to the source. Comments from Reviewable |
Review status: 0 of 11 files reviewed at latest revision, 1 unresolved discussion. drake/multibody/parsing/sdf_parser.h, line 7 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
BTW The goal here is to minimize the impact on the installed version of drake, yes? And, in this particular case, burying references to headers outside of drake? Comments from Reviewable |
drake/multibody/parsing/sdf_parser.h, line 7 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Two things. First, anytime we have an include to a third-party library, we need to make sure that the installed version of drake provides the correct include paths to make that work (the drake.cps edit). Second, if we keep the includes hidden (unmentioned by our installed headers), it enables us if need be to later link SDF privately with hidden symbols, which makes it easy for us to use a fork of it or otherwise shield it from Comments from Reviewable |
Ok, lots of little things.... Reviewed 11 of 11 files at r1. drake/multibody/parsing/sdf_joint.h, line 16 at r1 (raw file):
BTW Is this copypasta? "...specification of links"? The url references joint. drake/multibody/parsing/sdf_joint.h, line 26 at r1 (raw file):
This last statement introduces some ambiguity. It is unclear whether this requirement is enforce or not; probably worth noting explicitly that it is not enforced. This applies to the other places (e.g., drake/multibody/parsing/sdf_joint.h, line 38 at r1 (raw file):
BTW I'm assuming this is a doxygen error. You have both drake/multibody/parsing/sdf_joint.h, line 40 at r1 (raw file):
BTW drake/multibody/parsing/sdf_joint.h, line 46 at r1 (raw file):
BTW I suspect this is a formatting error against the style guide (http://drake.mit.edu/styleguide/cppguide.html#Constructor_Initializer_Lists) If you hit these lines with clang format, I'm confident it'll change things around. drake/multibody/parsing/sdf_joint.h, line 63 at r1 (raw file):
Given this aborts when called erroneously:
(Same for drake/multibody/parsing/sdf_link.h, line 37 at r1 (raw file):
BTW This is unfortunate notation. Do we use drake/multibody/parsing/sdf_link.h, line 56 at r1 (raw file):
FYI It isn't clear to me why we're using I'm coming back around to this having read through the rest of the PR. I have a new comment (but I'm leaving the old one so you can see the confused thought process). I'd advocate eliminating the use of the word "parent" as defining the relationship between a link and its model. The term has very loaded meaning and I think it confuses things here. I'd say it's enough to say "pose of this links' frame in the link's parent model frame". And then I'd make the model frame M. drake/multibody/parsing/sdf_link.h, line 78 at r1 (raw file):
BTW copypasta s/cache/link drake/multibody/parsing/sdf_link.h, line 90 at r1 (raw file):
drake/multibody/parsing/sdf_model.h, line 31 at r1 (raw file):
BTW back ticks so the drake/multibody/parsing/sdf_model.h, line 55 at r1 (raw file):
FYI This could be an opportunity to report on the uniqueness of the link name. drake/multibody/parsing/sdf_model.h, line 61 at r1 (raw file):
FYI A comment about the fact that nothing is validated? (i.e., a user can reference a non-existent link and/or a joint type that doesn't actually exist?) Generally, for this kind of thing, it might be worth adding documentation to the class documentation on all of these that this is a naive wrapper of the string data contained in the file -- it provides convenient access but does not guarantee the viability of the values. drake/multibody/parsing/sdf_model.h, line 69 at r1 (raw file):
FYI This could be an opportunity to report on the uniqueness of the joint name. drake/multibody/parsing/sdf_model.h, line 93 at r1 (raw file):
FYI You could consider using single quotes in your error message to save the escaping. :) It still stands out in the final error message, and makes the code more manageable. (Same below) drake/multibody/parsing/sdf_model.h, line 118 at r1 (raw file):
BTW This method allows the possibility of the pose stored inside the link and the cached pose to disagree. It might be better to make the drake/multibody/parsing/sdf_model.h, line 129 at r1 (raw file):
BTW copypasta? drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file):
FYI This would be named slightly better as drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file):
This code doesn't make use of the indices in the API. Currently, you're accessing links/joints by name. Why not make the maps map strings to objects (which are all copyable/movable) instead of ints? drake/multibody/parsing/sdf_model.h, line 142 at r1 (raw file):
FYI Same comment as above: s/joints/joint drake/multibody/parsing/sdf_parser.cc, line 8 at r1 (raw file):
BTW Swap drake/multibody/parsing/sdf_parser.cc, line 27 at r1 (raw file):
FYI I wasn't aware of this drake/multibody/parsing/sdf_parser.cc, line 41 at r1 (raw file):
FYI s/body/link drake/multibody/parsing/sdf_parser.cc, line 67 at r1 (raw file):
FYI Two members named drake/multibody/parsing/sdf_parser.cc, line 100 at r1 (raw file):
FYI See note ( drake/multibody/parsing/sdf_parser.cc, line 107 at r1 (raw file):
BTW See note in drake/multibody/parsing/sdf_parser.cc, line 115 at r1 (raw file):
FYI If you like: s/amcastro-tri/SeanCurtis-TRI drake/multibody/parsing/sdf_parser.cc, line 119 at r1 (raw file):
BTW copypasta: drake/multibody/parsing/sdf_parser.cc, line 126 at r1 (raw file):
FYI Strange ordering; perhaps cluster the demands on drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file):
I assume drake/multibody/parsing/sdf_parser.cc, line 143 at r1 (raw file):
BTW This comment seems to be a lie. drake/multibody/parsing/sdf_parser.h, line 22 at r1 (raw file):
BTW Given the implementation, this would be better called drake/multibody/parsing/sdf_parser.h, line 29 at r1 (raw file):
BTW replace drake/multibody/parsing/sdf_parser.h, line 32 at r1 (raw file):
drake/multibody/parsing/sdf_parser.h, line 46 at r1 (raw file):
BTW I don't think this comment communicates what you want it to (and I suggest that, because it seems to contradict itself and the method). drake/multibody/parsing/sdf_spec.h, line 21 at r1 (raw file):
Any particular reason why this class is fully defined in the header file? drake/multibody/parsing/sdf_spec.h, line 41 at r1 (raw file):
FYI @jwnimmer-tri has turned me on to: return model_ids_.count(model_name) > 0; as a nice, compact version of this. drake/multibody/parsing/sdf_spec.h, line 66 at r1 (raw file):
It is unclear to me why this is its own method; it is only ever called once by another method whose whole body is basically just calling this method. Is there a future version of this where this method is invoked in multiple sites? drake/multibody/parsing/models/double_pendulum.sdf, line 1 at r1 (raw file):
The location of this file is surprising; does it belong here or in drake/multibody/parsing/test/sdf_parser_test.cc, line 17 at r1 (raw file):
FYI Seems strange that this would have "global" scope, but all of the associated data (model names, joint names, link names, etc.) all have local scope in the test. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file):
This parses a single file; but you have at least one branch that I suspect isn't being tested. (Specifically, the parse joint method based on what frame the axis is defined in.) drake/multibody/parsing/test/sdf_parser_test.cc, line 33 at r1 (raw file):
FYI I'd move this test up to right after acquiring drake/multibody/parsing/test/sdf_parser_test.cc, line 41 at r1 (raw file):
FYI I think the const auto is_link_in_vector =...; In this case, you're declaring that you won't be re-assigning any other function, which seems to be the real intent. Comments from Reviewable |
Review status: 1 of 11 files reviewed at latest revision, 20 unresolved discussions. drake/multibody/parsing/sdf_joint.h, line 26 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Done. drake/multibody/parsing/sdf_joint.h, line 63 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Done. drake/multibody/parsing/sdf_link.h, line 37 at r1 (raw file):
SDF uses "inertial" just as a cute name to refer to the frame in which you specify "inertia" properties (i.e. inertia tensor). drake/multibody/parsing/sdf_link.h, line 56 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
I agree. We are using drake/multibody/parsing/sdf_model.h, line 61 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Good point. I was thinking more like this class would have some sort of drake/multibody/parsing/sdf_model.h, line 118 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
good point. Removed both drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
the only reason so far is because I like how drake/multibody/parsing/sdf_model.h, line 142 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
same answer. Not super strong about that decision I made. I replied what my train of thought was but I can be convinced otherwise. drake/multibody/parsing/sdf_parser.cc, line 27 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
yeap, and we have drake/multibody/parsing/sdf_parser.cc, line 67 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
well... the tags are called drake/multibody/parsing/sdf_parser.cc, line 100 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Please see my reply there. drake/multibody/parsing/sdf_parser.cc, line 115 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Thanks! drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
We had some discussions about this. Not real clear what "joint frame" means or should mean. See related issue here. Something it'd be very nice to resolve in coordination with OSRC. drake/multibody/parsing/sdf_parser.cc, line 143 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
BTW, nope, that is true. If you are inside this drake/multibody/parsing/sdf_spec.h, line 21 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
No other than minimizing the number of files. drake/multibody/parsing/sdf_spec.h, line 66 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Done. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
I made drake/multibody/parsing/test/sdf_parser_test.cc, line 41 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Completely agree with you. drake/multibody/parsing/models/double_pendulum.sdf, line 1 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Done. Comments from Reviewable |
Definitely ready for platform review. Still a couple of ticky tacky details to discuss. Reviewed 5 of 12 files at r2, 7 of 7 files at r3. drake/multibody/parsing/sdf_joint.h, line 49 at r3 (raw file):
BTW This has a style guide problem. If the initializer list doesn't fit on one line, it should be one item per line. http://drake.mit.edu/styleguide/cppguide.html#Constructor_Initializer_Lists drake/multibody/parsing/sdf_link.h, line 37 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
FYI I'm not even going to pretend to understand why drake/multibody/parsing/sdf_link.h, line 19 at r3 (raw file):
FYI Nice catch. I totally missed that. :) drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
I see the reasoning. I have a couple of thoughts that are completely non-binding:
SdfModel model;
for (const auto& link : model.get_links() {
...
} drake/multibody/parsing/sdf_model.h, line 142 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
(Sorry, the "same comment" alluded to singular vs plural. :) Not the int/string map thing. You addressed my issue.) drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
By the time I got to this comment, I'd had an add'l thought on the whole model/mobilizer conflict. I think it's unfortunate that the mobilizer (which is intended to be an under-the-hood implementation detail) has introduced notation that renders this public-level parsing to be unclear. In the internals of drake, drake/multibody/parsing/sdf_parser.cc, line 143 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
Good point -- it's the whole "parent model" nomenclature that caught me again. The fact that "parent frame" means something very different than "parent model frame" although it's easy to perform a cursory read and walk away with the wrong interpretation (I know, I've done it twice). drake/multibody/parsing/sdf_parser.cc, line 120 at r3 (raw file):
BTW I don't think "accordingly" is correct or needed. You can just cut it. drake/multibody/parsing/sdf_parser.cc, line 156 at r3 (raw file):
FYI This surprised me. I wouldn't have thought this was better than simply inverting the drake/multibody/parsing/sdf_parser.cc, line 204 at r3 (raw file):
This appears to be a lie. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
Does that cause problems with the fact that we've included an OSRC license with the file? Do we have to document changes? Comments from Reviewable |
Review status: all files reviewed at latest revision, 7 unresolved discussions. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
And does it need to be in Comments from Reviewable |
Review status: all files reviewed at latest revision, 6 unresolved discussions. drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
as is, I can still do the same thing right? also, that'd require me to write extra code for the iterator.... (easy enough but not willing to spend my time on it now with other priorities on my list). drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file):
Not really, it refers to the "mobilized" frame. The mobilizer concept does not even appear and/or leak here. To define a joints and how it constraints two bodies precisely you will always need to define two frames, one on each body. We had decided to use F and M, yes mirroring what we used for Mobilizers but really here more like an arbitrary choice of names. We could probably in this scope call them drake/multibody/parsing/sdf_parser.cc, line 143 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
I know, I had the same problem when I saw this tag.... drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, jamiesnape (Jamie Snape) wrote…
I just followed the example in Comments from Reviewable |
Review status: all files reviewed at latest revision, 6 unresolved discussions. drake/multibody/parsing/sdf_model.h, line 136 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
It was non-binding. If it doesn't inspire you to action, then that's fine. As is is sufficient. drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file):
Hard to reconcile that is the "mobilized frame". And I don't know that the term "mobilized" frame is necessarily meaningful outside of Sherm's circle. If that's true, "M" for "mobilized" indicates that there is a leakage of the mobilizer concept. Notation should serve as a mnemonic. I don't think it succeeds in this documentation. Nevertheless, I'm marked as satisfied. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
This kind of thing is outside my bailiwick. Others know more. I'm getting out of the way. Comments from Reviewable |
Review status: all files reviewed at latest revision, 3 unresolved discussions. a discussion (no related file):
I think that covers them all. PTAL. drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
I realize you made some very good points during this discussion. Please see the description of my new updates in the thread above. drake/multibody/parsing/sdf_parser.cc, line 204 at r3 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
Done. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, SeanCurtis-TRI (Sean Curtis) wrote…
@jamiesnape, what do you recommend?, this is also outside my knowledge. Is it ok as it is now? with the disclaimer in the sdf file citing the source and mentioning that file was modified for our purposes? Comments from Reviewable |
+@sammy-tri for platform please. Review status: 6 of 11 files reviewed at latest revision, 3 unresolved discussions. Comments from Reviewable |
Reviewed 1 of 13 files at r1, 4 of 12 files at r2, 3 of 7 files at r3, 5 of 5 files at r4. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
You are complying with the license and Comments from Reviewable |
Review status: all files reviewed at latest revision, 2 unresolved discussions. drake/multibody/parsing/test/sdf_parser_test.cc, line 20 at r1 (raw file): Previously, jamiesnape (Jamie Snape) wrote…
ok, thank you @jamiesnape Comments from Reviewable |
Reviewed 1 of 12 files at r2, 5 of 5 files at r4. a discussion (no related file): Previously, amcastro-tri (Alejandro Castro) wrote…
You are correct, I love this. I'm certainly happy. drake/multibody/parsing/sdf_parser.cc, line 133 at r1 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
As previously commented, I love the resolution. Comments from Reviewable |
Partial first pass done. I don't think I'll be able to finish this today. Sorry for the delay. Reviewed 1 of 13 files at r1, 3 of 12 files at r2, 1 of 7 files at r3, 2 of 5 files at r4. drake/multibody/parsing/sdf_joint.h, line 3 at r4 (raw file):
unused? drake/multibody/parsing/sdf_joint.h, line 4 at r4 (raw file):
unused? drake/multibody/parsing/sdf_joint.h, line 8 at r4 (raw file):
consider using the narrower drake/multibody/parsing/sdf_link.h, line 3 at r4 (raw file):
unused? drake/multibody/parsing/sdf_link.h, line 7 at r4 (raw file):
unused? drake/multibody/parsing/sdf_link.h, line 81 at r4 (raw file):
BTW I don't really understand this TODO, but that's probably fine if someone who knew this code better would get it. drake/multibody/parsing/sdf_model.h, line 3 at r4 (raw file):
unused? (I think only drake/multibody/parsing/sdf_model.h, line 9 at r4 (raw file):
consider narrower drake/multibody/parsing/test/models/double_pendulum.sdf, line 1 at r4 (raw file):
BTW It's surprising to see such nearly identical files in both examples and in this test with the same name and different content. Is there some way to tell them apart like a comment (or filename change) to explain what makes one or the other special? Comments from Reviewable |
First pass complete. Reviewed 2 of 7 files at r3, 2 of 5 files at r4. drake/multibody/parsing/sdf_parser.cc, line 11 at r4 (raw file):
unused? drake/multibody/parsing/sdf_parser.cc, line 24 at r4 (raw file):
The free functions in this file should be in the anonymous namespace. http://drake.mit.edu/styleguide/cppguide.html#Unnamed_Namespaces_and_Static_Variables drake/multibody/parsing/sdf_parser.h, line 15 at r4 (raw file):
Parsing only one model from the SDF when drake/multibody/parsing/sdf_spec.h, line 9 at r4 (raw file):
consider narrower drake/multibody/parsing/sdf_spec.h, line 17 at r4 (raw file):
Is "specification" a term of art in the SDF world to mean "a particular world defined by some SDF "? This seems confusing, as I think of the word "specification" as having the meaning in the next sentence (defining how to describe/implement something) rather than being a concrete instance of a thing meeting that description, which is how I think it's being used in this sentence (and in the name of the class). Comments from Reviewable |
Review status: 5 of 11 files reviewed at latest revision, 14 unresolved discussions. drake/multibody/parsing/sdf_joint.h, line 3 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_joint.h, line 4 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_joint.h, line 8 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_link.h, line 3 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_link.h, line 7 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_link.h, line 81 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
I was trying to convey that idea that ideally default values should be provided somehow by the sdformat library so that if the SDF specification decides to change them we would not need to go searching through this code to make changes. Probably much better if this code lived as part of sdformat! drake/multibody/parsing/sdf_model.h, line 3 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Good call. Done. drake/multibody/parsing/sdf_model.h, line 9 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_parser.cc, line 11 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_parser.cc, line 24 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_parser.h, line 15 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
I would love to but I already spent a lot more of time on this that I should. I actually tried but I found myself reverse engineering the sdformat library to figure what some methods do in the lack for documentation. drake/multibody/parsing/sdf_spec.h, line 9 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
Done. drake/multibody/parsing/sdf_spec.h, line 17 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
yes, that is the term of art they use to describe their file format. See here. I make the class to be named drake/multibody/parsing/test/models/double_pendulum.sdf, line 1 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
BTW good idea. I added a comment with the changes introduced. Comments from Reviewable |
Thank you @sammy-tri!. Back to you. Review status: 5 of 11 files reviewed at latest revision, 12 unresolved discussions. Comments from Reviewable |
Reviewed 1 of 12 files at r2, 6 of 6 files at r5. Comments from Reviewable |
If this purpose of this PR is handing off a development branch to a different author, then maybe a |
That's a fine solution. However, a lot of the TODO's have to do with things not offered by the sdformat library, so really many of them I could not even solved. So I was using the TODO's as a way of documenting those features we'd like to have. Maybe a github issue would be more appropriate? what do you think? Review status: all files reviewed at latest revision, 12 unresolved discussions. Comments from Reviewable |
Just a suggestion, I'm fine either way. If the code already meets the quality bar for non-dev then its better without the dev. I haven't read closely. I thought perhaps it was turning into a challenge to get it banged into well-documented enough. shape to pass non-dev review. |
Reviewed 1 of 12 files at r2, 6 of 6 files at r5. drake/multibody/parsing/sdf_joint.h, line 3 at r4 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
oops, CI says I was wrong about that one. Sorry! drake/multibody/parsing/sdf_spec.h, line 17 at r4 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
Sigh, naming is hard... Comments from Reviewable |
Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed. drake/multibody/parsing/sdf_parser.h, line 15 at r4 (raw file): Previously, amcastro-tri (Alejandro Castro) wrote…
It's not just as simple as calling Comments from Reviewable |
Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed. drake/multibody/parsing/sdf_joint.h, line 3 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
thanks. I should've checked myself actually. drake/multibody/parsing/sdf_parser.h, line 15 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
That does seem easy enough. Thanks. Done. drake/multibody/parsing/sdf_spec.h, line 17 at r4 (raw file): Previously, sammy-tri (Sam Creasey) wrote…
SGTM, that was my thinking also. Comments from Reviewable |
Reviewed 3 of 3 files at r6. Comments from Reviewable |
Implements a representation for a specification read with the
sdformat
library.This representation could be used to instantiate multibody models (with MBT) or geometric models (with GS), though visual and collision are not parsed in this first iteration.
This change is