Skip to content

Routines

Routines are hardcoded sequences that teleoperators and policies can trigger with a signal. Routines can be very beneficial to combine with teleoperation, as is further elaborated on in this paper.

In essence, routines are a command vector sent to the robot where each element is a signal for a corresponding routine. In the IncarRobotInterface, you can add a callback to the routine commands which check if and which routine should be triggered.

A policy can learn these signals when added as an output to be predicted during training.

Configuring routine controls

Routine controls can be configured in the command_processing field of the workspace config:

workspace_config.json
{
    "command_processing": [
        {
            "type": "routine_buttons",
            "routine_key": "routines", # This is the feature key that will be saved to the dataset and will be used in the command dict sent to the robot
            "routine_buttons": [
                ["button_feature", "button_name"],
                ["button_feature", "other_button_name"],
                ... # Each entry defines a button that triggers a routine
            ]
        }
    ]
}