Hi Everybody,
sorry for the late reply – I’ve been on forced vacation the last 10 days, due to the Corona situation.
I agree in principle, but it has to be said that handling a URDF is quite a lot of overhead, particularly for simple cases. Moreover, not out of necessity but in current practice, URDF is often parsed at run-time, whereas planners for mobile bases are usually configured during node start-up.
Now that I think of it, this would be even more of be a limitation when using topics. With URDF you could at least in principle parse it before run-time.
Anyway, I would argue that as long as we can make it easy to use, it doesn’t matter much where we put the information. I surmise that handling all sorts of kinematic chains just to figure out whether we have a differential drive or an omnidirectional drive might be much harder than just configuring that somewhere, but then, I don’t know very much about kinematics, so this is really just a hunch.
In general, if we have to introduce new information that is not already possible to represent in URDF, I would argue for creating a separate configuration file rather than changing the URDF.