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