Bobrow et al. [16] proved that the optimal time-parameterization consists of alternatively maximally accelerating and decelerating segments and suggested the first NI-based algorithm to solve TOPP. Around the same period, Pfeiffer and Johanni [94], Shin and McKay [113] developed other NI-based algorithms that follow the same basic principle. All of these initial NI-based algorithms involve expensive computations for finding switching points-which are points at which the velocity profile changes from maximally decelerating to maximally accelerating [16]. A development was made by Slotine and Yang [119], who classified the switch points into tangent, singular and discontinuous switch points and introduced procedures for finding them. This development leads to significant improvement in computational cost. Later on, Zlajpah [131] introduced trap regions to handle joint velocity constraints in NI-based algorithms.These initial NI-based algorithms, however, were prone to failure in the presence of singular switch points, also known as zero-inertia points [119]. Only until recently, Kunz and Stilman [66] developed an NI-based algorithm that can handle singular switch points for robots subject to joint velocity and acceleration constraints in a realiable manner. Subsequently Pham [99] proposed a more general approach that can account for singular switch points resulting from "Second-Order Constraints", which include joint torque bound, Zero Moment Point constraint, frictional constraint in addition to joint acceleration bounds.