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
]
}
]
}