for Rigid Body State Estimation
Ethan K. Gordon, Bruke Baraki, Michael Posa
<Items in Brackets are Meta Notes / Still in Progress. Feedback Appreciated!>
Known / Estimated:
Object Geometry
Object Pose
Max Planck Real Robotics Challenge 2020
Arbitrary Convex Object Repose Task
Bauer et al. "Real Robot Challenge: A Robotics Competition in the Cloud". NeurIPS 2021 Competition.
Occlusions / Darkness
Clutter
Heterogeneous Materials
Structure from Motion (SFM)
Bianco et al. "Evaluating the Performance of Structure from Motion Pipelines", Journal of Imaging 2018
Wen et al. "BundleSDF: Neural 6-DoF Tracking and 3D Reconstruction of Unknown Objects", CVPR 2023
Geometry from Video
Pros: Spatially Dense, Mature HW and SW
Cons:
Hu et al. "Active shape reconstruction using a novel visuotactile palm sensor", Biomimetic Intelligence and Robotics 2024
Xu et al. "TANDEM3D: Active Tactile Exploration for 3D Object Recognition", ICRA 2023
Single-Finger Poking: No friction or inertia.
Utilizes discrete object priors.
Spatially Sparse Data -> Active Learning
?
Assumptions:
Rigidity
Convexity
What we know / measure:
Robot state trajectory \(r[t]\)
Contact force \(\lambda_m[t]\)
Unknown object properties:
State \(x[t]\)
Geometry \(\theta\)
<Gaussian: Major (likely incorrect) Assumption>
<A Gamma is likely more accurate (>0 and mean-dependent variance, with variance -> 0 when mean -> 0). However, in practice, a Gaussian estimator often achieves similar performance to a Gamma.>
Minimize as a loss function for a Maximum Likelihood Estimate
Given a simulator that can compute \(\hat{\lambda}\)
Anitescu. "Optimization-based simulation of nonsmooth rigid multibody dynamics,” Mathematical Programming 2006
Bianchini et al. "Generalization Bounded Implicit Learning of Nearly Discontinuous Functions,” L4DC 2022
<TODO: Replace with self-made plot>
DiffSim + Shooting Limitations:
Solution is to bring the optimization into the loss function.
MSE -> Graph Distance
Pfommer et al. "ContactNets: Learning Discontinuous Contact Dynamics with Smooth, Implicit Representations,” CoRL 2020
Complementarity:
Penetration:
Measurement:
Prediction:
Power Dissipation:
(Relaxed in Anitescu)
Real Time Simulated Data Collection, Real Time Gradient Descent
We want to (possibly) be surprised
\(\Theta\)
\(\mathcal{L}\)
Ideally information is local
(i.e. no belief distribution on \(\Theta\))
\(\Theta\)
\(\mathcal{L}\)
\(\Theta\)
\(\mathcal{L}\)
\(\Theta\)
\(\mathcal{L}\)
\(\hat{\Theta}\)
\(r\)
"log-likelihood"
"score"
We are surprised if, at \(\hat{\Theta}\), the score varies a lot with new data.
"Fisher Information"
\(\hat{\Theta}\) is a Maximum Likelihood Estimate
(outer product)
The variance of the gradient is the expected sensitivity of the gradient to small changes in the loss function.
\(\Theta\)
\(\mathcal{L}\)
The variance of the gradient is the expected sensitivity of the gradient to small changes in the loss function.
\(\Theta\)
\(\mathcal{L}\)
Mathematically requires "certain regularity conditions":
<What is the right probability model? Can also simulate with process noise>
<Currently I have a bug in my implementation, so I don't have complete results.
I feed in \(\lambda_m\) as post-optimization impulses. Instead I need to re-optimize in calculation of \(\mathcal{L}\)>
\(tr(\mathcal{I})\) = [1388150.4359, 2878543.4818, 2905122.0841]
For Actions: [2-finger X Pinch, 2-finger Z Pinch w/ Ground, 1-finger Cube Corner Hit]
Note \(\sum_\mathcal{D}\left(\nabla_\Theta\mathcal{L}\Bigr\rvert_{\hat{\Theta}}\right) = \nabla_\Theta\left(\sum_\mathcal{D}\mathcal{L}\Bigr\rvert_{\hat{\Theta}}\right) = 0\), since \(\hat{\Theta}\) is the MLE
Choosing a scalarization is a whole field of study. Common choices include:
<Other Funding Orgs>