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...

## ◆ 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.