1. A method of implementing an optimal avoidance filter for interposing between a human operator issued movement commands and a corresponding machine control system of a movable machine, for the avoidance of collisions with objects, the method comprising: (a) inputting a detailed representation of objects in the vicinity of the movable machine; (b) formulating a hierarchical set of bounding boxes around the objects, said hierarchical set including refinement details depending on the current positional state of the movable machine, with objects closer to the machine having higher levels of refinement details; and (c) utilising the resultant hierarchical set as a set of constraints for an optimisation program to determine any alterations to the issued movement commands so as to avoid collisions with any objects.