A system for controlling a haptic surgical device, comprising: a haptic surgical device configured to be manipulated by a user to perform a procedure on patient; a surgical tool coupled to the haptic surgical device; a detection device; and a computing system programmed to: determine whether a relationship between an anatomy of the patient and at least one of a position, an orientation, a velocity, and an acceleration of the surgical tool corresponds to a desired relationship between the anatomy and the at least one of the position, the orientation, the velocity, and the acceleration of the surgical tool, detect with the detection device a first object comprising at least one of the anatomy and a first tracking element associated with the anatomy; impose a constraint on the surgical device if the relationship does not correspond to the desired relationship; impose a constraint on the surgical device if the detection device is unable to detect at least one of a position of the anatomy and the position of the surgical tool; and provide an indication to the user if the detection device is unable to detect the first object; characterized in that the computing system is programmed to: determine whether a velocity of the first object or a tracking element disposed on the haptic surgical device exceeds a predetermined threshold and issue a fault signal if that is the case. a haptic surgical device configured to be manipulated by a user to perform a procedure on patient; a surgical tool coupled to the haptic surgical device; a detection device; and a computing system programmed to: determine whether a relationship between an anatomy of the patient and at least one of a position, an orientation, a velocity, and an acceleration of the surgical tool corresponds to a desired relationship between the anatomy and the at least one of the position, the orientation, the velocity, and the acceleration of the surgical tool, detect with the detection device a first object comprising at least one of the anatomy and a first tracking element associated with the anatomy; impose a constraint on the surgical device if the relationship does not correspond to the desired relationship; impose a constraint on the surgical device if the detection device is unable to detect at least one of a position of the anatomy and the position of the surgical tool; and provide an indication to the user if the detection device is unable to detect the first object; characterized in that the computing system is programmed to: determine whether a velocity of the first object or a tracking element disposed on the haptic surgical device exceeds a predetermined threshold and issue a fault signal if that is the case. determine whether a relationship between an anatomy of the patient and at least one of a position, an orientation, a velocity, and an acceleration of the surgical tool corresponds to a desired relationship between the anatomy and the at least one of the position, the orientation, the velocity, and the acceleration of the surgical tool, detect with the detection device a first object comprising at least one of the anatomy and a first tracking element associated with the anatomy; impose a constraint on the surgical device if the relationship does not correspond to the desired relationship; impose a constraint on the surgical device if the detection device is unable to detect at least one of a position of the anatomy and the position of the surgical tool; and provide an indication to the user if the detection device is unable to detect the first object; characterized in that the computing system is programmed to: determine whether a velocity of the first object or a tracking element disposed on the haptic surgical device exceeds a predetermined threshold and issue a fault signal if that is the case. determine whether a velocity of the first object or a tracking element disposed on the haptic surgical device exceeds a predetermined threshold and issue a fault signal if that is the case.