A system comprising: a manipulator arm configured for robotically moving a distal end effector relative to a proximal base, the manipulator arm having a plurality of joints between the distal end effector and the proximal base, the plurality of joints providing sufficient degrees of freedom to allow a range of joint states for a given state of the distal end effector; an input device for receiving a manipulation command to move the end effector with a desired end effector movement; and a processor coupled to the input device and to the manipulator arm, the processor configured to perform operations comprising: calculating an end effector displacing movement of the plurality of joints in response to the manipulation command by calculating joint velocities within a null-perpendicular-space of a Jacobian being defined as the matrix of partial derivatives of Cartesian space position elements of the end effector with respect to joint space position elements; defining a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint being specific to the design and kinematics of the manipulator arm and including one or more paths, wherein the one or more paths specify a desired movement of the one or more joints within the joint space of the plurality of joints; calculating a tracking movement of the one or more joints so that a position of the one or more joints tracks at least one path of the one or more paths, wherein calculating the tracking movement comprises calculating joint velocities of the one or more joints within a null-space of the Jacobian in a direction towards the at least one path of the one or more paths, the null-space being orthogonal to the null-perpendicular space; and transmitting a command to the manipulator arm to drive the plurality of joints according to the calculated end effector displacing movement and the calculated tracking movement so as to effect the desired end effector movement concurrently with moving the one or more joints towards the at least one path. a manipulator arm configured for robotically moving a distal end effector relative to a proximal base, the manipulator arm having a plurality of joints between the distal end effector and the proximal base, the plurality of joints providing sufficient degrees of freedom to allow a range of joint states for a given state of the distal end effector; an input device for receiving a manipulation command to move the end effector with a desired end effector movement; and a processor coupled to the input device and to the manipulator arm, the processor configured to perform operations comprising: calculating an end effector displacing movement of the plurality of joints in response to the manipulation command by calculating joint velocities within a null-perpendicular-space of a Jacobian being defined as the matrix of partial derivatives of Cartesian space position elements of the end effector with respect to joint space position elements; defining a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint being specific to the design and kinematics of the manipulator arm and including one or more paths, wherein the one or more paths specify a desired movement of the one or more joints within the joint space of the plurality of joints; calculating a tracking movement of the one or more joints so that a position of the one or more joints tracks at least one path of the one or more paths, wherein calculating the tracking movement comprises calculating joint velocities of the one or more joints within a null-space of the Jacobian in a direction towards the at least one path of the one or more paths, the null-space being orthogonal to the null-perpendicular space; and transmitting a command to the manipulator arm to drive the plurality of joints according to the calculated end effector displacing movement and the calculated tracking movement so as to effect the desired end effector movement concurrently with moving the one or more joints towards the at least one path. calculating an end effector displacing movement of the plurality of joints in response to the manipulation command by calculating joint velocities within a null-perpendicular-space of a Jacobian being defined as the matrix of partial derivatives of Cartesian space position elements of the end effector with respect to joint space position elements; defining a position-based constraint of one or more joints of the plurality of joints within a joint space of the plurality of joints, the position-based constraint being specific to the design and kinematics of the manipulator arm and including one or more paths, wherein the one or more paths specify a desired movement of the one or more joints within the joint space of the plurality of joints; calculating a tracking movement of the one or more joints so that a position of the one or more joints tracks at least one path of the one or more paths, wherein calculating the tracking movement comprises calculating joint velocities of the one or more joints within a null-space of the Jacobian in a direction towards the at least one path of the one or more paths, the null-space being orthogonal to the null-perpendicular space; and transmitting a command to the manipulator arm to drive the plurality of joints according to the calculated end effector displacing movement and the calculated tracking movement so as to effect the desired end effector movement concurrently with moving the one or more joints towards the at least one path.