Joint limits

Joint limits task map assigns a cost for violating joint limits. The joint limits are loaded from the robot model. The mapping is calculated as:

ΦBound(x)={xxminϵ,if x<xmin+ϵxxmax+ϵ,if x>xmaxϵ0,otherwise,

where xmin and xmax are lower and upper joint limits respectively, and ϵ0 is a safety margin. The Jacobian and Jacobian derivative are identity matrices.