Comments (6)
+1
from urdfdom.
+1
from urdfdom.
I looked at the XML for the transmission stuff. Has this changed at all from the format we had a while back?
There are two options as I see it:
- Put this XML in the urdf and use the parser Dave pointed to for loading it. The regular urdf parser ignores unknown tags. This does not need to modify the URDF format or parser, but allows keeping things in the same place.
- Modify the URDF format (and consequently, the parser) to parse transmissions. If you think we are at a stable XML representation that is unlikely to change in the next year, for instance, we could probably add it to the URDF. But I'd like to offer the community the option to state their opinion on this. This means we will add a wiki page describing the proposed changes, advertise on ros-users and allow for people to comment on the proposed changes. Depending on the results of that, we should have a meeting and discuss changes to be made (if any).
I expect (2) will take a while (at least a few weeks), so my suggestion would be to do (1) for now. If the XML format for transmissions is stable, we can start on (2) as well.
from urdfdom.
To clarify, option 1 is basically do nothing and leave things the way they are. We are already using tags for using controllers in Gazebo through this method, see tutorial
Just today there was some discussion on the controls mailing list about modifying the transmission format to allow multiple hardware interfaces to be supported. So I guess we aren't completely stable yet. However, in the current parser I made it load the unrecognized elements into a tinyxml variable so that its easy for custom tags to be added for more complex transmissions.
On this note, I was looking into the integration of my transmission parser into urdfdom and urdfdom_headers and I noticed in urdfdom_headers that there is currently no tinyxml dependency. Would it be ok to add this so that the data structures can store the custom tags as I just mentioned?
Overall, I think we should be planning to do option (2) as soon as the discussions on transmission format settles down.
from urdfdom.
+1, but not just yet. Urdfdom is a stable package (version 1.7.1), and I'd like to see the transmission parsing code get used a bit more before commiting to an API and having to tick-tock any changes.
I'm currently working with this code, and in fact I might propose (minor) changes that affect both the public API and the XML representation. These are changes that I had not foreseen in previous design discussions, but only became apparent when getting down and dirty with the implementation.
from urdfdom.
Meanwhile, if you try to parse an urdf with urdf_parser_py
it throws an error if your <transmission><joint>..
tags don't have a type
attribute. #36
from urdfdom.
Related Issues (20)
- Question: check_urdf does not take into account transmission tag, wrong behaviour ? HOT 1
- Invalid path in urdfdom_INCLUDE_DIRS on Windows installation using vcpkg
- Using wrong headers HOT 2
- Deprecation warning on urdfdom_parser with Clang HOT 2
- check_urdf: no loop detection
- Branch urdfdom for Galactic HOT 5
- Usage of `version` attribute in `robot` xml-node HOT 2
- [cmake] urdf_LIBRARIES is still wrong HOT 2
- Feature request: check_urdf should be able to read from std_in HOT 2
- parseJointLimits() does not parse acceleration limits
- Joint limits (vel, effort) are checked even when the joint is continuous type.
- Build Status link in README.md is broken HOT 2
- Use tinyxml2 instead of tinyxml HOT 3
- Remove tinyxml2 from public API HOT 2
- Cannot parse capsule error HOT 1
- Fixed joints parse limits but not axis
- Add support for quaternion in URDF HOT 3
- Removing console_bridge for Logging HOT 4
- support export URDF HOT 1
- Don't use (outdated) self-provided gtest version (especially if another version is installed already) HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from urdfdom.