A device for directing a cannula toward a target location under a patient's skin, wherein an orientation and position of the device are free to change while directing the cannula toward the target location, the device comprising: an imaging probe for continuously generating imaging data of the target location; a positioning unit including: a plurality of motors (440a, 440b) configured to manipulate a cannula attached to the positioning unit, at least one cannula position sensor (466a, 466b)) configured to generate cannula pose data indicating a position and orientation of the cannula based on movement of the corresponding motors (440a, 440b); and at least one device position sensor configured to generate device pose data indicating changes in the orientation and position of the device; and a processor configured to: receive imaging data from the imaging probe; receive cannula pose data from the at least one cannula position sensor (466a, 466b); receive device pose data from the at least one device position sensor; identify the target location from the imaging data; determine a trajectory for manipulating the cannula towards the target pose based on the imaging data, the cannula pose data, and the device pose data; instruct the positioning unit to manipulate the cannula according to the determined trajectory; identify the determined trajectory becoming misaligned with the target position; update the determined trajectory to a corrected trajectory based on the imaging data, the cannula pose data, and the device pose data; and instruct the positioning unit to manipulate the cannula according to the corrected trajectory. an imaging probe for continuously generating imaging data of the target location; a positioning unit including: a plurality of motors (440a, 440b) configured to manipulate a cannula attached to the positioning unit, at least one cannula position sensor (466a, 466b)) configured to generate cannula pose data indicating a position and orientation of the cannula based on movement of the corresponding motors (440a, 440b); and at least one device position sensor configured to generate device pose data indicating changes in the orientation and position of the device; and a plurality of motors (440a, 440b) configured to manipulate a cannula attached to the positioning unit, at least one cannula position sensor (466a, 466b)) configured to generate cannula pose data indicating a position and orientation of the cannula based on movement of the corresponding motors (440a, 440b); and at least one device position sensor configured to generate device pose data indicating changes in the orientation and position of the device; and a processor configured to: receive imaging data from the imaging probe; receive cannula pose data from the at least one cannula position sensor (466a, 466b); receive device pose data from the at least one device position sensor; identify the target location from the imaging data; determine a trajectory for manipulating the cannula towards the target pose based on the imaging data, the cannula pose data, and the device pose data; instruct the positioning unit to manipulate the cannula according to the determined trajectory; identify the determined trajectory becoming misaligned with the target position; update the determined trajectory to a corrected trajectory based on the imaging data, the cannula pose data, and the device pose data; and instruct the positioning unit to manipulate the cannula according to the corrected trajectory. receive imaging data from the imaging probe; receive cannula pose data from the at least one cannula position sensor (466a, 466b); receive device pose data from the at least one device position sensor; identify the target location from the imaging data; determine a trajectory for manipulating the cannula towards the target pose based on the imaging data, the cannula pose data, and the device pose data; instruct the positioning unit to manipulate the cannula according to the determined trajectory; identify the determined trajectory becoming misaligned with the target position; update the determined trajectory to a corrected trajectory based on the imaging data, the cannula pose data, and the device pose data; and instruct the positioning unit to manipulate the cannula according to the corrected trajectory.