A computer-implemented method, comprising: identifying, by a computing system, one or more obstacles (122, 124, 126, 128, 130) that are located in proximity of at least a portion of a planned route for an autonomous robot (112, 202, 302); for each obstacle: (i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, and (ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle, the planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein the at least one constraint comprises a cost function that defines a cost of travel of the autonomous robot as a function of a distance between the autonomous robot and the obstacle during the travel of the autonomous robot; generating, by the computing system, a trajectory along the at least the portion of the planned route for the autonomous robot, the trajectory being based on the at least one constraint described by the planning policy selected for each of the one or more obstacles located in proximity of the at least the portion of the planned route; and initiating travel of the autonomous robot according to the trajectory, the method being characterised in that the cost of travel is also a function of a speed of the autonomous robot at various distances from the obstacle during the travel of the autonomous robot. identifying, by a computing system, one or more obstacles (122, 124, 126, 128, 130) that are located in proximity of at least a portion of a planned route for an autonomous robot (112, 202, 302); for each obstacle: (i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, and (ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle, the planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein the at least one constraint comprises a cost function that defines a cost of travel of the autonomous robot as a function of a distance between the autonomous robot and the obstacle during the travel of the autonomous robot; (i) determining a semantic class of the obstacle, including selecting the semantic class from a library that defines a plurality of possible semantic classes for obstacles, and (ii) selecting a planning policy for the obstacle that corresponds to the semantic class of the obstacle, the planning policy describing at least one constraint with respect to travel of the autonomous robot relative to the obstacle, wherein the at least one constraint comprises a cost function that defines a cost of travel of the autonomous robot as a function of a distance between the autonomous robot and the obstacle during the travel of the autonomous robot; generating, by the computing system, a trajectory along the at least the portion of the planned route for the autonomous robot, the trajectory being based on the at least one constraint described by the planning policy selected for each of the one or more obstacles located in proximity of the at least the portion of the planned route; and initiating travel of the autonomous robot according to the trajectory, the method being characterised in that the cost of travel is also a function of a speed of the autonomous robot at various distances from the obstacle during the travel of the autonomous robot.