A method for controlling movement of movable object having a plurality of
movable subcomponents comprises receiving an instruction configured to
generate a defined movement of a selected subcomponent of the movable
object between a first state and a second state. The method further
comprises determining whether execution of the defined movement results
in the selected subcomponent leaving a motion space associated with the
selected subcomponent. The motion space is defined by a motion space
boundary. The method further comprises producing a modified instruction
configured to generate a modified movement of the selected subcomponent
between the first state and the second state. Execution of the modified
movement results in the selected subcomponent remaining within the motion
space. At least a portion of the modified movement deviates from the
defined movement.