A motion-compensating, hand-held surgical tool system, comprising: a surgical tool, comprising: a hand piece; a drive assembly connected to said hand piece; a moveable component connected to said drive assembly such that said moveable component is movable by said drive assembly in an axial direction relative to said hand piece; and an optical fiber attached to said moveable component with an end at a fixed distance to a distal-most portion of said moveable component; a drive controller configured to communicate with said drive assembly for moving said moveable component of said surgical tool; an optical detection system coupled to said optical fiber; a data processor configured to communicate with said optical detection system, wherein said optical detection system is configured to output a signal for the determination of a distance of said distal-most portion of said moveable component to a target during hand-held use; and wherein said data processor is configured to: receive said signal for the determination of said distance of said distal-most portion of said moveable component to a target; calculate a difference between said determined distance and a desired distance; and apply an S-shaped speed control curve based on a logarithmic scale of the distance, difference, wherein the speed control curve is dependent on the determined difference between said determined distance and said desired distance and wherein the value of speed control curve increases when said difference increases; and communicate with the drive controller to maintain said desired distance. a surgical tool, comprising: a hand piece; a drive assembly connected to said hand piece; a moveable component connected to said drive assembly such that said moveable component is movable by said drive assembly in an axial direction relative to said hand piece; and an optical fiber attached to said moveable component with an end at a fixed distance to a distal-most portion of said moveable component; a hand piece; a drive assembly connected to said hand piece; a moveable component connected to said drive assembly such that said moveable component is movable by said drive assembly in an axial direction relative to said hand piece; and an optical fiber attached to said moveable component with an end at a fixed distance to a distal-most portion of said moveable component; a drive controller configured to communicate with said drive assembly for moving said moveable component of said surgical tool; an optical detection system coupled to said optical fiber; a data processor configured to communicate with said optical detection system, wherein said optical detection system is configured to output a signal for the determination of a distance of said distal-most portion of said moveable component to a target during hand-held use; and wherein said data processor is configured to: receive said signal for the determination of said distance of said distal-most portion of said moveable component to a target; calculate a difference between said determined distance and a desired distance; and apply an S-shaped speed control curve based on a logarithmic scale of the distance, difference, wherein the speed control curve is dependent on the determined difference between said determined distance and said desired distance and wherein the value of speed control curve increases when said difference increases; and communicate with the drive controller to maintain said desired distance. receive said signal for the determination of said distance of said distal-most portion of said moveable component to a target; calculate a difference between said determined distance and a desired distance; and apply an S-shaped speed control curve based on a logarithmic scale of the distance, difference, wherein the speed control curve is dependent on the determined difference between said determined distance and said desired distance and wherein the value of speed control curve increases when said difference increases; and communicate with the drive controller to maintain said desired distance.