Drake

Detailed Description

Systems for publishing/subscribing to popular message passing ecosystems.

Classes

class  LcmInterfaceSystem
 LcmInterfaceSystem acts within a Diagram to allow LcmSubscriberSystem instances to receive data from the network during a simulation. More...
 
class  LcmPublisherSystem
 Publishes an LCM message containing information from its input port. More...
 
class  LcmScopeSystem
 LcmScopeSystem provides the ability to convert any vector output port to a simple LCM message and publish that message periodically. More...
 
class  LcmSubscriberSystem
 Receives LCM messages from a given channel and outputs them to a System<double>'s port. More...
 

Functions

LcmPublisherSystemConnectLcmScope (const OutputPort< double > &src, const std::string &channel, systems::DiagramBuilder< double > *builder, drake::lcm::DrakeLcmInterface *lcm, double publish_period=0.0)
 (To be deprecated.) Prefer to use LcmScopeSystem::AddToBuilder instead of this function; the LcmScopeSystem provides more detailed timestamps. More...
 

Function Documentation

◆ ConnectLcmScope()

LcmPublisherSystem* drake::systems::lcm::ConnectLcmScope ( const OutputPort< double > &  src,
const std::string &  channel,
systems::DiagramBuilder< double > *  builder,
drake::lcm::DrakeLcmInterface lcm,
double  publish_period = 0.0 
)

(To be deprecated.) Prefer to use LcmScopeSystem::AddToBuilder instead of this function; the LcmScopeSystem provides more detailed timestamps.

Provides the ability to publish any vector-valued output port to the LCM channel, using the drake::lcmt_drake_signal LCM message type, by adding an appropriate LcmPublisherSystem to the builder. If lcm is null, then an LCM instance will be created automatically (but this is expensive, and creating multiple LCM instances in a single process should be avoided).

The intention is to enable logging and debugging in complex diagrams using external tools like lcm-spy.

The optional publish_period specifies how often messages will be published. If the period is zero (the default), then the underlying LcmPublisherSystem will publish every step.

Precondition
src must be an OutputPort of a system that has already been added to the builder.