ADVRHumanoids/modular_hhcm

modular_hhcm vs pcg_gazebo

Closed this issue · 2 comments

Hi guys,
I recently discovered the pcg_gazebo package by Bosch Research that allows to create Gazebo worlds dynamically (see the presentation at ROSCON 2019 here). I have used it for CONCERT for exporting a BIM model over ROSBIM to a Gazebo world. It seems to be quite mature, well designed and well tested.

Similarly it seems to be also able to create URDF models. See here as well as the old documentation of its predecessor here. I have not tried it yet for this application but I was wondering if you were aware of its existence and what the advantages of the packages are respectively. @alaurenzi @EdoardoRomiti @TUM-CPS-CONCERT
Tobit

Hi Tobit,
thanks for the suggestion, I didn't know about this package but certainly looks interesting.
In terms of comparison with modular_hhcm anyhow, I think there are some differences in what each package focuses on.
modular_hhcm:

  1. acts as a parser/interpreter for the modules description files in modular_resources.
  2. implements the logic on how to "connect together" different types of modules (joints, links, hubs, ...) and how to handle branched kinematics.
  3. implements the "discovery" feature. From a message sent by the EtherCat master representing the network of connected devices, is capable of reconstructing the topology of the robot (exploiting the logic of 2).
  4. implements also a basic web GUI that can be used to build a robot model from a browser.
  5. prepares the config files needed by XBot collecting info on each module and a SRDF file that contains a semantic representation of the robot.
  6. finally it also write the URDF

It seems to me that pcg_gazebo could be a substitute for this last point only (6). And this is something we can look at for the urdf generation part. The current implementation uses ElementTree and then the xacro API to generate the urdf, but we could think of substituting this part with pcg_gazebo in the future.

What do you guys think? Do you agree?

@EdoardoRomiti Sorry for the late reply. I did not see your post.
Yes, I was mainly referring to (6), the functionality of generating URDFs. I agree that potentially it could be promising to re-use pcg_gazebo for this in order to avoid reprogramming features that are already there that would take quite a bit to recreate.
Furthermore, the advantages of modular_hhcm over other toolchains that you mentioned, is maybe also worth pointing out in the report in case we have not done so already.
Feel free to close this issue in case nobody else has any comments on it.
Tobit