agents.ros#

The following classes provide wrappers for data being transmitted via ROS topics. These classes form the inputs and outputs of Components.

Module Contents#

Classes#

FixedInput

A FixedInput can be provided to components as input and is similar to a Topic except components do not create a subscriber to it and whenever they read it, they always get the same data. The nature of the data depends on the msg_type specified.

MapLayer

A MapLayer represents a single input for a MapEncoding component. It can subscribe to a specific text topic.

Route

A Route defines a topic to be routed to by the SemanticRouter, along with samples of similar text that the input must match to for the route to be used.

API#

class agents.ros.FixedInput#

Bases: ros_sugar.io.Topic

A FixedInput can be provided to components as input and is similar to a Topic except components do not create a subscriber to it and whenever they read it, they always get the same data. The nature of the data depends on the msg_type specified.

Parameters:
  • name (str) – Name of the topic

  • msg_type (Union[type[supported_types.SupportedType], str]) – One of the SupportedTypes. This parameter can be set by passing the SupportedType data-type name as a string

  • fixed (str | Path) – Fixed input string or path to a file. Various SupportedTypes implement FixedInput processing differently.

Example usage:

text0 = FixedInput(
    name="text2",
    msg_type="String",
    fixed="What kind of a room is this? Is it an office, a bedroom or a kitchen? Give a one word answer, out of the given choices")
class agents.ros.MapLayer#

Bases: ros_sugar.config.BaseAttrs

A MapLayer represents a single input for a MapEncoding component. It can subscribe to a specific text topic.

Parameters:
  • subscribes_to (Topic) – The topic that this map layer is subscribed to.

  • temporal_change (bool) – Indicates whether the map should store changes over time for the same position. Defaults to False.

  • resolution_multiple (int) – A positive multiplication factor for the base resolution of the map grid, for fine or coarse graining the map. Defaults to 1.

  • pre_defined (list[tuple[np.ndarray, str]]) – An optional list of pre-defined data points in the layer. Each datapoint is a tuple of [position, text], where position is a numpy array of coordinates.

Example of usage:

my_map_layer = MapLayer(subscribes_to='my_topic', temporal_change=True)
class agents.ros.Route#

Bases: ros_sugar.config.BaseAttrs

A Route defines a topic to be routed to by the SemanticRouter, along with samples of similar text that the input must match to for the route to be used.

Parameters:
  • routes_to (Topic) – The topic that the input to the SemanticRouter is routed to.

  • samples (list[str]) – A list of sample text strings associated with this route.

Example of usage:

goto_route = Route(routes_to='goto', samples=['Go to the door', 'Go to the kitchen'])