ACT-R Interface Guide (post-2008 versions)


Preface

This guide covers the socket interface used to connect the MrCS framework to an ACT-R cognitive model. All messages are passed in plain text over a TCP socket and terminated by carriage returns ('\n'). For convenience, commands are formatted as S-expressions to be easily interpreted in Common Lisp.

Connecting to MrCS via the ACT-R interface

When launched, the user interface for MrCS listens for TCP connections on port 6324. Once connected, MrCS will initially send global state related to the configuration of the GUI, followed by a stream of real-time events. At any time, commands may be sent to MrCS for immediate execution by the user interface.

Logging the ACT-R interface to file

In addition to a live stream, a timestamped log of the same data can be written to file. This can be done by adding the following command to the usar.ini configuration file:

UserLog = true

UID description

Each object in the world will be determined by a unique identification string. These strings will typically consist of a brief descriptor followed by a number (e.g. "robot1").

Configuration Messages

Configuration messages are sent on startup to indicate the available actions and the general configuration of the GUI.

Window Description

(window UID TYPE X Y WIDTH HEIGHT)

Returns the type, size and position of the window identified by the given UID. Position and size are specified in pixels.

The type of the window is defined by the following table:

Type Description
invalid Unknown/Unspecified
listview Robot List
imgview Image Viewer
mapview Map Viewer
teleop Teleoperation Panel

Event Messages

Events are generated in the MrCS GUI by the arrival of new information from robots, or from human user interactions.

Map feature update

(map UID TYPE X Y WIDTH HEIGHT THETA)

Adds or updates knowledge of a map feature with the given UID. If type is set to zero, the feature is being deleted. Position and size are defined in meters in the map coordinate frame.

The type of the feature is defined by the following table:

Type Description
invalid Deleted/Invalid
wall Wall
furn Furniture
vict Victim

Map frontier update

(frontier UID TYPE X Y THETA LENGTH)

The frontier between explored and unexplored regions is represented by a closed polygon. Each side of this polygon is given a UID and updated independently. This event adds or updates knowledge of one side of the frontier polygon (with the given UID). Position is defined in meters in the map coordinate frame.

The type of the feature is defined by the following table:

Type Description
invalid Deleted/Invalid
valid Valid

Robot position update

(robot UID TYPE X Y THETA)

Adds or updates knowledge of a robot with the given UID. Position is defined in meters in the map coordinate frame.

The type of the robot is defined by the following table:

Type Description
invalid Deleted/Invalid
p2at P2AT?
airrobot AirRobot
telemax TeleMax

Robot mission update

(mission UID (TYPE (X Y THETA)) (TYPE (X Y THETA)) ... )

Adds or updates knowledge of the mission plan assigned to the robot with the given UID.

The type of the robot is defined by the following table:

Type Description
invalid Deleted/Invalid
goto Go to
turnto Turn toward
explore Explore around

Image feature update

(image UID TYPE X Y WIDTH HEIGHT THETA)

Adds or updates knowledge of a feature in an image with the given UID. Position is defined in pixels in the image coordinate frame.

The type of the feature is defined by the following table:

Type Description
invalid Deleted/Invalid
wall Wall
furn Furniture
vict Victim

User selection message

(select UID)

Indicates that a user has selected the robot with the given UID.

Command Messages

Command messages are sent from clients to MrCS to initial control actions in the GUI.

Selection command

(select UID)

Selects the robot with the given UID. When executed, a user selection message with the same UID will be generated.

Robot mission add command

(missionadd UID (WAYPOINT TUPLE) )

Adds a new waypoint to the mission plan assigned to the robot with the given UID. When executed, a robot mission update message with the new plan will be generated.

The different waypoint tubles are defined by the following table:

Type Description
invalid Deleted/Invalid
goto (goto (x y))
turnto (turnto (theta))
explore (explore)

Robot mission delete command

(missiondel UID)

Removes the last waypoint from the mission plan assigned to the robot with the given UID. When executed, a robot mission update message with the new plan will be generated.

Automated mission generation command

(missiongen UID (TYPE (X Y THETA)))

Requests the use of an automated path planner (RRT) to generate a path to the specified final waypoint. When executed, a robot mission update message with the new plan will be generated.

The type of the robot is defined by the following table:

Type Description
invalid Deleted/Invalid
goto Go to
turnto Turn toward
explore Explore around


-- PrasannaVelagapudi - 24 Oct 2008
Topic revision: r5 - 04 Jun 2009 - 18:20:35 - MichaelFurlong
 
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback