Skip to content

[HardwareSim] Configuration to enable/disable LCM (to support three use cases) #20055

@RussTedrake

Description

@RussTedrake

I would like to try replacing my manipulation station workflows using the hardware sim schemas / loaders. Ideally I would like to parse the same yaml file three times:

  1. stand-alone simulation. This is what hardware_sim.cc / hardware_sim.py is doing now. That's great! (It replaces my existing examples/manipulation_station/mock_station_simulation.cc.
  2. to create the equivalent of ManipulationStation for in-process simulation. I don't want any LCM here; instead I want to Export the driver input and output ports so that the diagram can be used as a component in another diagram.
  3. to create the equivalent of ManipulationStationHardwareInterface. Rather than load the plant and the drivers directly, I want to create a diagram which implements the complement. E.g. hardware_sim subscribes to IIWA_COMMAND, in this workflow I want the interface to be a diagram that publishes the IIWA_COMMAND directly from an input port.

Use case (2) should be able to reuse most of the same ApplyDriverConfig methods that we use in (1), but currently ApplyDriverConfig always adds the lcm publishers and subscribers. I could go through and them, but it would be better to be able to opt-out in my calls to ApplyDriverConfig, and (ideally) export the ports instead.

Use case (3) probably involves a different, but closely coupled Apply_?_Config code path. It would be nice to consider this in the design as well.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions