At least one non-transitory computer-readable medium comprising instructions that, in response to execution of the instructions by a computing system, cause the computing system to perform the following operations:
- identifying a first instance of a waypoint user interface input initiated by a user;
- storing a first waypoint indication based on identifying the first instance, the first waypoint indication defining a first position of a reference point of a robot at the first instance;
- identifying a second instance of the waypoint user interface input, the second instance initiated by the user after the first instance and initiated by the user following manipulation of the robot by the user to displace the reference point from the first position;
- storing a second waypoint indication based on identifying the second instance, the second waypoint indication defining a second position of the reference point of the robot at the second instance;
- generating a waypoint trained path segment for a trained path for the robot based on the first waypoint indication and the second waypoint indication, wherein generating the waypoint trained path segment comprises:
- determining a first waypoint of the waypoint trained path segment based on the first waypoint indication,
- determining a second waypoint of the waypoint trained path segment based on the second waypoint indication, and
- determining an intermediate path of the waypoint trained path segment, the intermediate path being between the first waypoint and the second waypoint and being determined based on one or more optimization parameters;
- identifying a special action user interface input initiated by the user;
- generating a special action trained path segment for the trained path for the robot based on identifying the special action user interface input, the special action trained path segment conforming to a path traversed by the reference point in response to physical manipulation of the robot by the user during the special action user interface input;
- wherein the waypoint trained path segment and the special action trained path segment are consecutive segments of the trained path.