Long Talk, RLG MIT
December 8th 2023
Bernhard Paus Graesdal
C. Chi et al., “Diffusion Policy: Visuomotor Policy Learning via Action Diffusion.” Mar. 09, 2023
N. Doshi, F. R. Hogan, and A. Rodriguez, “Hybrid Differential Dynamic Programming for Planar Manipulation Primitives,” 2020
T. Lefebvre, S. De Witte, T. Neve, and G. Crevecoeur, “Differential Flatness of Slider-Pusher Systems for Constrained Time Optimal Collision Free Path Planning.” 2023
J. Zhou and M. T. Mason, “Pushing revisited: Differential flatness, trajectory planning and stabilization” 2019
T. Marcucci, J. Umenberger, P. A. Parrilo, and R. Tedrake, “Shortest Paths in Graphs of Convex Sets.” arXiv, Sep. 21, 2022.
Let \(x\in \R^{N_x}\) and \(u\in\R^{N_u}\) represent the state and input of the system
For a given system:
For each \(m\in\mathcal{M}\):
State and input constraints for each \(m\in\mathcal{M}\):
Polynomial state constraints, represented by the basic semi-algebraic set \[\mathcal{X}_m = \set{x \in \R^{N_x} \mid p_1(x) \geq 0, \ldots, p_{L_m}(0) \geq 0}\] where \(p_i, \, i = 1, \ldots, L_m\) are polynomials in \(x\)
Linear input constraints represented by the polyhedron \(\mathcal{U}_m \subset \R^{N_u}\)
Where \(\mathcal{Z}_m\) is a basic semi-algebraic set
(or equivalently in the implicit dynamics case)
Given a starting and end mode \(s, t \in \mathcal{M}\):
Now, we can state the motion planning through contact problem as the following SPP in a graph of basic-semialgebraic sets
The decision variables are the discrete path \(p\) and the continuous variables \(\xi_m\).
Intuition:
Note: This is almost a SPP in GCS problem, except for non-convex sets
Substitute \(Y\) with \(yy^\intercal\)
Replace the non-convex rank-1 constraint \(Y=yy^\intercal\) by the convex positive semidefinite constraint \(Y \succeq yy^\intercal\)
Reformulate using Schur's complement:
Notice that the constraint \(AXA^\intercal \geq 0\) is redundant for the original problem since \(Ax \geq 0\) and \(X = xx^\intercal\) imply \(A X A^\intercal \geq 0\).
For the relaxation these constraints are not redundant and further constrain the feasible set
The feasible set in the original QCQP is a non-convex set, but the feasible set of the relaxed program is convex (a spectrahedron)
General Idea:
Given the SPP in GBSAS:
I have not yet written up this step precisely, so this is a bit hand-wavy
Let \( W\) denote the inertial frame
Let the slider be a polygon with \(N_F\) faces
Define \( ({}^W p^S, \theta) \in SE(2) \) as the pose of slider
The pusher is defined as a circle with radius \( R \in \R\)
Define \( {}^S p^P \in \R^2\) as the position of the pusher (in the \(S\) frame)
Define \( \lambda \in \R^2 \) as the contact force applied by the pusher on the slider (in the \(S\) frame)
We will assume quasi-static dynamics:
Assume no work done by impacts
Assume inertial forces are negligible
Work with dimensionless time
Assume isotropic friction
For \( m \in \mathcal{M} \), represent the motion with trajectory segment \[\xi_m = ((x_0, u_0), \ldots, (x_{N_m}, u_{N_m})) \in (\R^{N_x+N_u})^{N_m}\]
Where \( x_k = ({}^W p^S_k, \ c_{\theta,k}, \ s_{\theta,k}, \ {}^S p^P_k)\) and \( u_k = (\lambda_k, \Delta {}^S p^P_k) \)
\( c_\theta\) and \( s_\theta \) represent \( \cos(\theta)\) and \(\sin(\theta)\)
\(\Delta p_k = p_{k+1} - p_{k}\) denotes the displacement at knot point \(k\)
We consider two types of contact modes:
Non-collision
Face-contact
Associate a face-contact mode \(f_i \) with each face \(i = 1, \ldots, N_F\) of the slider
We are given a set \( \set{\mathcal{R}_1, \ldots, \mathcal{R}_{N_R} }\) of \(N_R\) collision-free regions for \( {}^S p^P \) (in the \(S\) frame)
\(f_1\)
\(f_2\)
\(f_3\)
\(f_4\)
Face-contact modes:
\(\mathcal{R}_1\)
\(\mathcal{R}_2\)
\(\mathcal{R}_3\)
\(\mathcal{R}_4\)
Collision-free regions:
For each pair \((f_i, \, f_j), \, i \neq j \), we associate \(N_R\) non-collision modes \(n^{ij}_{1}, \ldots, n^{ij}_{N_R}\)
Let \(\mathcal{F} = \set{f_1, \ldots, f_{N_F}}\)
Let \(\mathcal{N} = \bigcup_{i \neq j} \set{n^{ij}_1, \ldots, n^{ij}_{N_R}}\), where \(i = 1,\ldots,N_F, \, j = 1, \ldots, N_F\)
Let \(\mathcal{M} = \mathcal{F}\cup\mathcal{N}\) be the set of all contact modes
We then have \(|\mathcal{M}| = N_F + N_R \binom{N_F}{2}\)
For \(i = 1,\ldots,N_F, \, j = 1, \ldots, N_F, \, i \neq j\):
Let \(\mathcal{T^{ij}_N}\) be the set of all bi-directional transitions \( (n^{ij}_k, n^{ij}_l) \) where \(\mathcal{R}_k \cap \mathcal{R}_l \neq \emptyset\)
Transitions between non-collision modes
Let \(\mathcal{T^{ij}_F},\) be the set of bi-directional transitions \( (f_i, n^{ij}_i )\) and \((n^{ij}_j,f_j) \)
Transitions between non-collision and face-contact modes
Let \(\mathcal{T} = (\bigcup_{i \neq j} \mathcal{T}^{ij}_N)\cup(\bigcup_{i \neq j} \mathcal{T}^{ij}_F)\)
We have now defined \(\mathcal{M}\), \(\mathcal{T}\), and \( \xi_m, \, m \in \mathcal{M}\)
We can (almost) solve the problem as a SPP in a graph of basic semi-algebraic sets:
We just need to define cost, dynamics, state and input constraints for all modes \( m \in \mathcal{M} \)
The limit surface (1/2)
The limit surface (2/2)
[2] F. R. Hogan, E. R. Grau, and A. Rodriguez, “Reactive Planar Manipulation with Convex Hybrid MPC,” in 2018 IEEE International Conference on Robotics and Automation (ICRA), May 2018
Open loop
Closed loop
Open loop
Closed loop
Complexity
Tightness