I Introduction
Over the past years, there has been a significant shift in research attention from industrial robotics towards the development of robots that are capable of a more dexterous and dynamic interaction with their environment. Such an interaction generally involves nonsmooth dynamics that can arise from contact constraints, impact events, or frictional forces. Locomotion and dynamic manipulation lie at the forefront of such applications, where analyzing and exploiting the dynamics induced by contacts is fundamental for achieving the desired task at hand. The associated hybrid system dynamics make the design of motion plans and control policies an intricate process.
Some of the most prominent control techniques developed to deal with such problems rely on extensions of standard trajectory optimization (TO) methods (direct collocation, single shooting, multiple shooting…) [2, 8, 6]. These extensions incorporate concepts behind the modelling and simulation of nonsmooth contact phenomena and impact dynamics. The primary integration schemes used for the forward simulation of hybrid systems can be identified as the eventdriven or the timestepping (eventcapturing) techniques. The former solves for the different dynamic modes while requiring, at the same time, an eventdetection plan that would indicate a transition from the current mode to the next one. On the other hand, timestepping schemes directly discretize the overall nonsmooth dynamics without the need for any detectionstep. Adapting these concepts from simulation to control purposes yields two main classes of TO control methods: the multiphase approach and the contactimplicit approach, which are analogous to the aforementioned eventdriven and timestepping schemes, respectively.
The multiphase approach entails an a priori knowledge of the continuous phases or modes, as well as their sequence of occurrence over the full time horizon. The switching times for the discrete transitions can be a result of the optimization program. Researchers such as Patterson and Rao [18] have developed a MATLAB program (GPOPSII) that utilizes the multiphase strategy as a framework for solving generic hybrid optimal control problems. Other successful applications are repeatedly encountered in the leggedrobotics community, such as for bipedal robot locomotion [24], and for quadrupedal locomotion [17]. However, complications with the use of a predefined eventschedule begin to arise as the number of discrete transitions increases; and that is simply due to the exponential growth of the possible multiphase sequences with respect to these transitions.
A remedy to this issue can be found in the modeinvariant approach, also referred to as contactinvariant, contactimplicit, or throughcontact approach. The fundamental idea behind it is that, instead of having a predefined mode sequence along with interphase constraints, discrete transitions are not given any special treatment; hence, the contact constraints are enforced at every single gridpoint. The method is also capable of incorporating discontinuous jumps in the states – such as in velocities during impact events – by treating the whole problem on an impulse level, thereby not differentiating between finite forces and impulsive forces.
Both multiphase and contactimplicit schemes can be implemented along with a variety of underlying design choices. To elaborate, one could flexibly choose any of the direct TO methods, with either a softcontact model or a hardcontact model assumption; and in case the latter was chosen, one would have to deal with the resulting setvalued force laws by either resorting to an augmentedLagrangian approach [22] or by solving a linear complementarity problem (LCP) [21]
. Furthermore, one could decide to add the contact forces into the vector of decision variables, or to resolve them separately from the optimization iterations.
Some remarkable work has been done in the computer graphics and the robotics communities on optimal motion planning and control, under the framework of contactimplicit optimization (CIO): For instance, Mordatch et al. [13, 14, 12] use a contactinvariant approach for producing physicsbased animations of anthropomorphic, contactrich tasks like walking, climbing, crawling, moving objects, and multifingered manipulation. Although some variations of their original CIO approach are implemented, there is a common fundamental treatment of the contact constraints, which are imposed through penalty terms added to the objective function (softconstraints); and this relaxation, while it certainly aids the gradientbased solver in efficiently converging to a local minimum, it also tolerates nonphysical behavior caused by allowing contact forces to act at a distance. Another softconstrained CIO formulation is achieved in [23] by a differentialdynamicprogramming (DDP) optimal control method, where the hard unilateral contact constraints and frictional forces are dealt with by solving a stochastic linear complementarity problem rather than an LCP. With this, they get rid of the discontinuous dynamics and are left with a continuously differentiable system, while retrieving an optimal controller that is also robust against uncertainties. Neunert et al. [15] have developed a nonlinear model predictive control (NMPC) algorithm that solves, online and at high rates, the nonlinear optimal control problem using a generalization of the iLQR method. The NMPC scheme is tested on a quadruped, while adopting a contactimplicit formulation which assumes a softcontact model with smoothing elements. On the other hand, Carius et al. [4] rely on the augmentedLagrangian approach, specifically the GaussSeidel method combined with a proximal point projection (SORprox), in order to solve the setvalued force laws arising from the hard frictional contacts. This is performed as part of a Moreau timestepping scheme which is used to simulate the nonsmooth dynamics within an iterativeLQR (iLQR) optimal control plan.
In this paper, we propose a variation on the CIO formulation introduced by Posa et al. [20]. Their method is originally motivated by the Stewart and Trinkle timestepping scheme [21], where multicontact dynamics are formulated as a linear complementarity problem (LCP). They make use of the simultaneous nature of direct collocation by incorporating the contact forces as optimization variables, while additionally imposing the unilateral hardcontact constraints in the form of complementarity conditions. In fact, the transcription of hybrid optimal control problems into finitedimensional optimization programs including complementarity conditions has been initially proposed by Yunt Glocker [25]; but unlike [20], the optimal control inputs are retrieved separately from the contact forces and states through a bilevel optimization. We follow the same fundamental steps, while reformulating the nonlinear program (NLP) within the multipleshooting framework instead. This modification is not immediately straightforward as it sacrifices the method’s physical correctness, unless some extra steps associated with the introduction of an impactlaw are considered. The new NLPstructure enables us to exploit the computational power of the FORCES Pro [7] commercial tool, which generates highly customized and efficient optimization solvers based on the primaldual interior point algorithm. Its effectiveness is mainly a result of an efficient linearsystem solver that exploits the multistaged problemstructure, in order to solve the resulting KarushKuhnTucker (KKT) system [26]. we demonstrate the use of this method for solving dynamic object manipulation problems similar to that tackled in [16]. Unlike [16], wherein Posa’s CIO scheme is also tested, we achieve optimal statetrajectories – at a significantly lower computational time – that are verified to be dynamically feasible through simulation as well as hardware experimentation. In fact, relatively simple examples in [20] are solved within a few minutes, compared to average convergence times ranging between 50 to 800 milliseconds for our setups. The resulting motion plans are shown to adhere to the imposed contact conditions, and result in realistic contact forces. These indeed form the crucial ingredients for successfully attaining the desired manipulationtask goal, reliably and accurately, without the need for any sort of postoptimization modifications.
Ii Problem Description
Iia Dynamic Object Manipulation
Dynamic manipulation belongs to the family of nonprehensile (graspless) manipulation, which generally includes tasks such as pushing, tumbling, throwing, and catching [10, 11]. Essentially, what makes the task “dynamic”, is that, unlike the quasistatic case, inertial effects have to be taken into account due to the relatively fast motions; and secondly, it is possible for the manipulator to lose contact with the object during the assigned manipulation period. This, in turn, makes it mandatory for one to reason about the dynamics induced by the environment on the uncontrollable object, while planning and controlling the robot motion that would satisfy the objective.
We consider a variety of dynamic pushing problems in this work. Ultimately, our goal is to formulate an NLP that would allow a six degrees of freedom (DOF) robot manipulator (section IIB) to dynamically push a block from a given initial state, to a final desired position that could lie outside the robot’s workspace (see fig. 1). The problem formulation is general enough to work on diverse manipulation problems as well, such as pushing a door open, or pushing a ball into a desired direction and up to an assigned goal (see fig. 2). We elaborate on the problem specifics and results of the blocktask, as it comprises all relevant effects from a modelling and computational perspective, due to the action of the environment on the block in the form of dryfriction.
IiB ANYpulator
We test the proposed framework with ANYpulator [3, 5], a 6DOF robot arm depicted in fig. 3. It comprises a set of robust and mechanically compliant serieselastic actuators (ANYdrive [1]) that feature precise position and torque control as well as high impact robustness. The six joints are responsible for: Shoulder Rotation (), Shoulder Flexion/Extension (), Elbow Flexion/Extension (), Wrist Flexion/Extension (), Wrist Deviation (), and Wrist Pronation (). For the sake of our dynamic pushing applications, a custombuilt endeffector is used for all the objectmanipulation problems. The specialized tool basically constitutes of a cylindrical rod with a spherical head, as shown in fig. 3. Consequently, the rotation of the last joint would have no contribution to the resulting solutions of the applications at hand, thus allowing us to extract a 5DOF dynamic model from the manipulator equations of motion. Such a consideration helps decrease the optimization programsize significantly, which in turn reduces the associated computational effort.
Iii Methodology
Tackling the aforementioned manipulation problems with the contactimplicit approach requires an accurate dynamic model of the robot and object. We consider a frictionless endeffector to object contact in the following derivations, since the tangential components of the contact forces/impulses only play a minor role in our dynamic pushing tasks. This assumption helps reduce computational time at the expense of a slight loss in physical accuracy.
Iiia Model Formulation
Noting that in our applications the generalized velocities coincide with the timederivatives of the generalized positions , the fullyactuated dynamics of the robot are concatenated with the nonactuated dynamics of the object to form the following underactuated rigid body dynamic equations:
(1) 
as well as the following impulsemomentum equations:
(2) 
where the subscripts r and o refer to quantities corresponding to the robot and the object, respectively. Letting , is the generalized mass matrix, while contains Coriolis and centrifugal terms, as well as gravitational and viscous damping terms. The selection matrix maps joint input torques to generalized forces, while represents the generalized forces applied by the environment on the manipulated object, such as dry friction. We define the gap function , which is the signed distance between potentially colliding bodies. In our case, is a scalarvalued function indicating the minimum distance between the robot’s endeffector and the object. Consequently, the normal Jacobian and the magnitude of the normal contact force are defined accordingly. Moreover, the post and preimpact generalized velocities are given by and in (2), while and are the normal contact impulsemagnitude and external impulse, respectively.
IiiB Nonlinear Program Setup
The generic finitedimensional optimization program is defined using the following multistaged framework (compatible with that of FORCES Pro’s highlevel interface):
(3) 
where is the vector of optimization variables at stage ; and are the interstage cost and the terminal cost functions, respectively. , , are selection matrices and is a statetransition function which maps the states from stage to stage ; it could be given as a result of any desired integration scheme, but to be more general, this function could also consist of other nonlinear equality constraints.
With the adopted CIO approach, we formulate and solve a discretetime optimal control problem using the multipleshooting method, along with a set of complementarity constraints. These are added to ensure that the unilateral contact conditions hold at every discrete gridpoint. Such a setup results in a socalled mathematical program with complementarity constraints (MPCC).
We can now indicate and discuss the various components required to build our nonlinear program. Most of the upcoming considerations are generally applied to solve all of our manipulation tasks; nonetheless, there are still some problemspecifics associated with the object’s geometry and its configurationspace topology. As previously mentioned, the emphasis will be made on the ANYpulatorBlock manipulation problem.
Transcription parameters: When choosing the discretization parameters, there is an inherent tradeoff between computational speed and integration accuracy. We attain a fair compromise by using a timehorizon of and setting the number of stages ; hence, leaving us with a timestep size of .
Statetransition function: The forward simulation of the dynamics is carried out on the basis of a semiimplicit Euler scheme. Similar to the classical explicit Euler method, it is a firstorder integrator; however, it additionally holds inherent energyconservation properties that make it more reliable. Therefore, the nonlinear equality constraints responsible for satisfying the dynamics are given as follows:
(4) 
It is important to note the difference between , appearing in (4) and , in (1). The latter quantities are infinite during an impact, unlike and which are defined in relation to the normal percussion and frictional percussion – which arise as a result of discretizing the equality of measures [22] – as follows:
(5) 
where is defined in terms of and , while in terms of and :
(6) 
is such that at the time of a discontinuity and is zero elsewhere.
From here on out, the words contact force and frictional force refer to the quantities introduced in (4) and not (1), unless otherwise stated.
Optimization variables: The vector of optimization variables is given by the robot’s joint input torques, the system’s states, the normal contact force , and the dry friction force acting on the block by the environment. We define where is a unit vector indicating the assigned direction of motion for the block, expressed in the robot base frame, which is also used as our inertial frame of reference.
Therefore, where , , and , .
Upper/Lower bounds: The maximum joint velocity is set to , while the maximum allowable torque as . The joint position limits are also imposed in the program.
Boundary conditions: Initial boundary conditions are used to specify the starting configuration of both the manipulator and the object, while the satisfaction of the assigned manipulation task is ensured through final boundary conditions. It is worth noting that in the case of the block, the configuration variables are , and the associated manipulation task involves specifying values for and to indicate the desired displacement and direction of travel, respectively. This is done while also requiring that the block does not rotate at all throughout the full timehorizon.
Objective function: A common objective function that aims at minimizing energy and also puts a cost on the wrist joints velocities, is used. The latter term is introduced because it could be noticed that an unnecessary movement of the two wrist joints occurs if we only minimize energy, as their motion does not contribute much to the total energy expenditure. Furthermore, the torques and joint velocities are normalized as they do not have the same units. Therefore, the normalized cost function is given as follows:
(7) 
where and are weighting matrices.
Complementarity conditions: The following constraints ensure no penetration between colliding bodies, no forces acting at a distance, and only allow forces that can push and not pull:
(8) 
A subtle yet fundamental difference between the formulation in this paper and [20] can be seen in the relative indexing of and in (4) compared to (8). To elaborate, in [20] the statetransition function was obtained by applying a zeroorderhold (z.o.h) on instead of . Consequently, “the contact force over the whole timestep can be nonzero if and only if the distance function is zero at the end of the interval” [20]. Whereas here, the condition holds if and only if the gap is closed at the start of the interval. This is indeed problematic since there is no more guarantee that the contact event is held over the entirety of the timestep, even though the contact force keeps acting unjustifiably at a nonzero distance and would only vanish at the end of it. Moreover, the complementarity conditions, which are purely imposed on a positionlevel, only ensure that the resulting normal contact force is large enough to prevent penetration in the next step. Nevertheless, there is certainly no upper limit on how big this force can be, thus indicating that it is quite arbitrary and merely directed towards satisfying the positionbased conditions. To resolve this issue, we resort to the theory underlying the simulation of dynamics involving hard contacts and impact events, using the timestepping technique. What we extract from that is the need for an impact law, such as Newton’s law of restitution:
(9) 
where the constant is Newton’s coefficient of restitution, while is the relative separation velocity. Noting that (9) includes the case of a nonparticipating (superfluous) contact [19], which does not occur in any of our applications, we can reduce this expression to:
(10) 
where the states at the end of the interval and can be retrieved from (4). A restitution coefficient of is adopted to ensure a purely inelastic collision event, thus effectively imposing a norebound condition.
We assume a static Coulomb model to describe the frictional force arising between the plane and the block
(11) 
where is a positive scalar quantity (unidirectional displacement due to pushing and no pulling) that signifies the velocity along the desired direction of motion and is the static friction force or the breakaway force .
For the sake of avoiding the conditional ifstatements appearing in (11), we introduce the following constraints instead:
(12) 
Generalized distance function:
A generalized gap function is introduced for the ANYpulatorObject problem, while further adding geometrydependent constraints to the NLP. The minimum signed distance between the robot’s endeffector and any convexshaped object is defined as the projection of the position vector onto the objectframe’s axis (refer to fig. 4). Therefore,
(13) 
where is a bodyattached frame (rotates and translates with the object), and its axis is directed along the assigned direction of motion, while represents the orientation of frame with respect to frame . In order to ensure that the robot’s endeffector actually comes in contact with the blockface – and not only with the separating virtual plane – the following nonlinear inequality conditions are added
(14) 
where and are the blockface’s width and height, respectively. It is assumed here that the block’s bottom surface and the robot base are at the same level.
Other considerations: An extra path constraint is introduced in order to ensure that the resulting optimal motion plan in joint space does not lead to collisions between the endeffector and the ground plane. Furthermore, the gradients of both the objective function and the nonlinear inequality constraints are provided analytically to reduce the computational load of the program.
IiiC Control Policy
The output obtained from solving the optimization problem formulated in section IIIB can be visualized to verify the satisfaction of the complementarity conditions, and to validate the attainment of the desired manipulation task. Before testing the motion plan on the real setup, we perform simulations within the Gazebo simulation environment [9], with Open Dynamics Engine (ODE) as its underlying physics engine (it consists of a rigid body dynamics module in addition to a collision detection engine).
The shift from pure visualization to either simulation or experimentation requires the introduction of a closedloop control policy that is capable of tracking the optimal joint states. A simple yet robust approach is adopted in this work, where the optimal control problem is solved only once; then the resulting openloop torque sequence is added as a feedforward term to a feedback term acting on the deviations from the optimal position and velocity trajectories. Hence, the control law is derived as follows,
(15) 
where the index refers to an element from the set of actuated degrees of freedom; while and are the scalar feedback PDgains. is obtained by applying a zeroorderhold on the sequence , while and
by linearly interpolating the gridpointvalues
and respectively.A C++ class structure is developed – along with the use of libraries and tools provided by the Robot Operating System (ROS) middleware – to send commands to the ANYdrives with an update frequency of . These commands include the optimal feedforward torques, reference joint positions, and reference joint velocities. The PD gains are manually tuned with the following values during simulation: , ; and during experimentation: , .
Iv Experimental Setup
To have a somewhat accurate placement of the initial block pose, its starting position and orientation are provided as target references for the robot’s tool frame (frame ), which are then tracked with an inverse kinematics controller, to place the block accordingly. Moreover, for the sake of comparing the contact forces generated while performing our experiments to the forces predicted by the optimization, a force/torque sensor is mounted on the robot endeffector.
Several test runs are performed on variations of the dynamic blockpushing problem (i.e., different robot initial conditions, different block starting configurations, and different final desired positions for the block), both in simulation and hardware experimentation. We mainly emphasize three experiments that are tested five times each, and then analyze the results and draw conclusions from them. These experiments involve the same initial block pose and robot configuration; however, the desired displacement of the block varies among them, with experiments 1, 2, and 3 corresponding to displacements of , , and respectively.
V Results
The formulated CIO program needed to solve the ANYpulatorBlock task consists of 896 optimization variables, 819 equality constraints, and 1955 inequality constraints. On average, it takes the solver around to converge to a local minimum, but this value can vary depending on the utilized initial guess, and on the manipulationproblem specifications. Proper tracking of the optimal reference jointpositions as well as the corresponding endeffector references, is demonstrated for the first experiment in fig. 5 and fig. 6, respectively. It could be noted from the cartesian coordinates of the tool that the robot indeed reaches the block’s initial position and tends to sustain the closed contact (the push occurs along the negative axis of the inertial frame) as much as specified by the optimal plan, while also maintaining a tool height greater than throughout the full timehorizon. Moreover, the effect of the impactevent can be directly perceived in these plots as well, especially in the joint, where it is evident that a disturbance is introduced after around 0.5 seconds. Indeed, fig. 8 shows this to adhere with the optimal force plan, which involves a contact event occuring as a single impulsive push with a force of about acting at for . More interestingly, in the second experiment, we perceive a contact event that lasts for approximately (see fig. 8), while in the last one we encounter two separate contacts – one with a small magnitude and the other with a large one, held over a single time step each – as shown in fig. 9. The generated normal force is shown to decrease with the assigned displacement along the three experiments.
The resulting optimal trajectories associated with the contact force, indicate the richness of the CIO approach in general, as it yields contact schedules that could not be easily considered or planned for, within a multiphase framework. In addition to that, the dynamic feasibility of the applied method is demonstrated in three different settings, by observing the properlytracked motion plan, and by noting that the predicted force sequence is indeed compatible with the force sensor readings (see fig. 9), which is significant given that our control law does not include any closedloop force tracking term. These two factors are fundamental for achieving the assigned manipulation task at hand, as presented for the third experiment in fig. 7.
One should keep in mind that eventhough the optimal and measured force peak magnitudes in the contact force plot are not equivalent, the resulting normal percussions turn out to be reasonably similar. It is also important to recall that each experiment is repeated 5 times in order to demonstrate the method’s repeatability and reliability. Indeed this is shown to be true, since the same results come up repeatedly, for various runs of the same experiment. To add an accuracybased evaluation of the method, we refer to the plot shown in fig. 10, which indicates the final error (in absolute value) between the real block position and the desired one. First of all, it could be noticed that in all of our experiments, the block always travels a distance that is less than the expected one. This is likely related to the inaccuracy in our dynamic model in general and specifically the assumed static friction model, which seems to have underestimated the true frictional effects. Secondly, we observe a trend indicating that the higher the desired block displacement, the more erroneous is the outcome. This could be partly related to the fact that the higher the demanded displacement, the larger the generated contact force; and since there could be a slight deviation from the supposed contact location (the central line of the box), then this would lead to the block’s rotation – which is proportional to the contact force’s magnitude – along with its translation. As a result, it loses a part of its total kinetic energy, thus having less energy remaining for the translational motion. Moreover, the neglected frictional forces acting in the robottoobject tangent contact plane may as well lead to the block’s undesired rotation. Even if the peak in the optimal force plan does not turn out to be larger (i.e., for a different local minimum) when assigning a greater displacement, contact is now established earlier, and for a longer time. Otherwise, a bigger displacement could not be attained by the end of the same time horizon. Consequently, the inaccuracy increases due to the greater accumulated integration error associated with the block dynamics.
Vi Conclusions
The aim of this work has been to make use of a contactimplicit optimization approach to tackle a variety of dynamic pushing problems, performed by the ANYpulator robotarm, with particular emphasis on the blocktask. This was done by formulating the manipulation task as a multistage program, thus making it possible to integrate it within the FORCES Pro framework. The NLP is solved efficiently, and yields both optimal state and input trajectories, which, when used as components of a simple closedloop control scheme, result in reasonable tracking of the reference motion and contact force. The resulting optimal trajectories indicate the richness of this approach in terms of its ability to discover different contactschedules, while the experimental findings suggest the effectiveness of the control technique in terms of its simplicity, the achieved dynamic feasibility, and repeatability. As for the tasksatisfaction accuracy of the method, it has been shown to be adequate, but decreases with the assigned block displacement.
There are several directions for potential future work and considerations, most notably is the further improvement of the method’s computational efficiency, in order to incorporate it within an NMPC framework. Possible ways of achieving that could be by either introducing effective warmstarting techniques for the currently adopted interiorpoint algorithm, or by exploring different algorithms in the first place, that could potentially enhance efficiency when solving the CIO program in an onlinefashion. It would then be compelling to test the NMPC version as an integrated motion planner and tracking controller within other contactrich domains, such as locomotion, where multiple contacting bodies are involved, and contacts are generally sustained for longer periods of time.
References
 [1] ANYdrive. Note: http://www.rsl.ethz.ch/robotsmedia/actuators/anydrive.html Cited by: §IIB.

[2]
(2010)
Practical Methods for Optimal Control and Estimation Using Nonlinear Programming
. 2 edition, Society for Industrial and Applied Mathematics. External Links: Document Cited by: §I.  [3] ANYpulator: design and control of a safe robotic arm. In IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2016, pp. 1119–1125. External Links: Document Cited by: §IIB.
 [4] (201810) Trajectory Optimization With Implicit Hard Contacts. IEEE Robotics and Automation Letters 3 (4), pp. 3316–3323. External Links: Document, ISSN 23773766 Cited by: §I.
 [5] (2018) Deployment of an autonomous mobile manipulator at MBZIRC. J. Field Robotics 35 (8), pp. 1342–1357. External Links: Document Cited by: Fig. 3, §IIB.
 [6] Cited by: §I.
 [7] (201407) FORCES Professional. Note: embotech GmbH (http://embotech.com/FORCESPro) Cited by: §I.
 [8] (2015) Transcription Methods for Trajectory Optimization. Tutorial, Cornell University, Feb. Cited by: §I.

[9]
Design and use paradigms for gazebo, an opensource multirobot simulator
. In IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004, pp. 2149–2154. External Links: Document Cited by: §IIIC.  [10] Dynamic underactuated nonprehensile manipulation. In Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. IROS 1996, pp. 889–896. External Links: Document Cited by: §IIA.
 [11] Motion Planning of Robot Fingertips for Graspless Manipulation. In IEEE International Conference on Robotics and Automation. Proceedings. ICRA ’04. 2004, Vol. 3, pp. 2951–2956 Vol.3. External Links: Document, ISSN 10504729 Cited by: §IIA.
 [12] ContactInvariant Optimization for Hand Manipulation. In Proceedings of the 2012 Eurographics/ACM SIGGRAPH Symposium on Computer Animation, pp. 137–144. External Links: Document Cited by: §I.
 [13] (2012) Discovery of Complex Behaviors Through Contactinvariant Optimization. ACM Trans. Graph. 31 (4), pp. 43:1–43:8. External Links: ISSN 07300301, Document Cited by: §I.
 [14] (2013) Animating Human Lower Limbs Using Contactinvariant Optimization. ACM Trans. Graph. 32 (6), pp. 203:1–203:8. External Links: ISSN 07300301, Document Cited by: §I.
 [15] (2017) WholeBody Nonlinear Model Predictive Control Through Contacts for Quadrupeds. CoRR abs/1712.02889. Cited by: §I.
 [16] (2018) A Comparative Analysis of Contact Models in Trajectory Optimization for Manipulation. CoRR abs/1806.01425. External Links: 1806.01425 Cited by: §I.
 [17] Hybrid direct collocation and control in the constraintconsistent subspace for dynamic legged robot locomotion. In Robotics: Science and Systems XIII, Massachusetts Institute of Technology, 2017, External Links: Document Cited by: §I.
 [18] (2014) GPOPSII: A MATLAB Software for Solving MultiplePhase Optimal Control Problems Using hpAdaptive Gaussian Quadrature Collocation Methods and Sparse Nonlinear Programming. ACM Trans. Math. Softw. 41 (1), pp. 1:1–1:37. External Links: ISSN 00983500, Document Cited by: §I.
 [19] (1996) Glocker, C.: Multibody Dynamics with Unilateral Contacts. Wiley, New York. External Links: Document Cited by: §IIIB.
 [20] (2014) A Direct Method for Trajectory Optimization of Rigid Bodies through Contact. The International Journal of Robotics Research 33 (1), pp. 69–81. External Links: Document Cited by: §I, §IIIB.
 [21] An Implicit TimeStepping Scheme for Rigid Body Dynamics with Coulomb Friction. In Proceedings of the 2000 IEEE International Conference on Robotics and Automation, pp. 162–169. External Links: Document Cited by: §I, §I.
 [22] (2007) Solving Normal Cone Inclusion Problems in Contact Mechanics by Iterative Methods. Journal of System Design and Dynamics 1 (3), pp. 458–467. External Links: Document Cited by: §I, §IIIB.
 [23] (2010) Stochastic Complementarity for Local Control of Discontinuous Dynamics. In Robotics: Science and Systems, Cited by: §I.
 [24] (2007) Feedback Control of Dynamic Bipedal Robot Locomotion. Cited by: §I.
 [25] (2006) Trajectory optimization of mechanical hybrid systems using SUMT. Vol. 2006, pp. 665 – 671. External Links: ISBN 0780395111, Document Cited by: §I.
 [26] (2017) FORCES NLP: An Efficient Implementation of InteriorPoint Methods for Multistage Nonlinear Nonconvex Programs. International Journal of Control 0 (0), pp. 1–17. External Links: Document Cited by: §I.
Comments
There are no comments yet.