You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, tgCompoundRigidSensor only logs the tag that's the hash for all the rigid models inside its compound rigid body. This does not give much information about which compound rigid is which, and makes it difficult to interpret the log file if there are lots of compounds.
It would be better if it had tags similar to how the cables now have tags: maybe the labels used in a YAML file, for example.
One fix would be for tgCompoundRigidSensor to take the union of all the tags of all the objects in that compound rigid body. That way, in traditional model files, a developer would only have to tag one object inside a compound with e.g. "vertebra1" and that tag would appear in the tgCompoundRigidSensor output.
However, for this to be useful in YAML files, tags for rigid bodies will need to be propagated down the hierarchy of tgModels, which does not currently happen. For example, right now, a tgRod inside a substructure called "t1" will not have "t1" in its tags. It was not too difficult to make any connectors (cables) have tags like this, but to make rigid objects have that tag, many of the functions inside TensegrityModel.cpp will have to be changed to include a std::vectorstd::string argument too, and add that vector of strings as tags for a new tgModel that's created as the YAML file is parsed.
Also, we should check if adding these extra tags will break anyone's code (for example, if anyone has written controllers that assume that only connectors have certain tags.)
The text was updated successfully, but these errors were encountered:
At the moment, tgCompoundRigidSensor only logs the tag that's the hash for all the rigid models inside its compound rigid body. This does not give much information about which compound rigid is which, and makes it difficult to interpret the log file if there are lots of compounds.
It would be better if it had tags similar to how the cables now have tags: maybe the labels used in a YAML file, for example.
One fix would be for tgCompoundRigidSensor to take the union of all the tags of all the objects in that compound rigid body. That way, in traditional model files, a developer would only have to tag one object inside a compound with e.g. "vertebra1" and that tag would appear in the tgCompoundRigidSensor output.
However, for this to be useful in YAML files, tags for rigid bodies will need to be propagated down the hierarchy of tgModels, which does not currently happen. For example, right now, a tgRod inside a substructure called "t1" will not have "t1" in its tags. It was not too difficult to make any connectors (cables) have tags like this, but to make rigid objects have that tag, many of the functions inside TensegrityModel.cpp will have to be changed to include a std::vectorstd::string argument too, and add that vector of strings as tags for a new tgModel that's created as the YAML file is parsed.
Also, we should check if adding these extra tags will break anyone's code (for example, if anyone has written controllers that assume that only connectors have certain tags.)
The text was updated successfully, but these errors were encountered: