Multi-Contact Feedback MPC

Online Multi-Contact Feedback Model Predictive Control for Interactive Robotic Tasks (IEEE ICRA 2024)

Online Multi-Contact Feedback Model Predictive Control for Interactive Robotic Tasks

Seo Wook Han1,  Maged Iskandar2,  Jinoh Lee2,3,†,  and  Min Jun Kim1,†
1Intelligent Robotic Systems Laboratory, Korea Advanced Institute of Science and Technology (KAIST)
2Institute of Robotics and Mechatronics, German Aerospace Center (DLR)
3Department of Mechanical Engineering, Korea Advanced Institute of Science and Technology (KAIST)
†Co-corresponding authors
IEEE International Conference on Robotics and Automation (ICRA), 2024

Abstract

In this paper, we propose a model predictive control (MPC) that accomplishes interactive robotic tasks, in which multiple contacts may occur at unknown locations. To address such scenarios, we made an explicit contact feedback loop in the MPC framework. An algorithm called Multi-Contact Particle Filter with Exploration Particle (MCP-EP) is employed to establish real-time feedback of multi-contact information. Then the interaction locations and forces are accommodated in the MPC framework via a spring contact model. Moreover, we achieved real-time control for a 7 degrees of freedom robot without any simplifying assumptions by employing a Differential-Dynamic-Programming algorithm. We achieved 6.8kHz, 1.9kHz, and 1.8kHz update rates of the MPC for 0, 1, and 2 contacts, respectively. This allows the robot to handle unexpected contacts in real time. Real-world experiments show the effectiveness of the proposed method in various scenarios.

Hybrid motion-force control and safe handling of unexpected contact
The simultaneous accomplishment of hybrid motion-force control at the end-effector (yellow and magenta colored arrows) and safe handling of unexpected contact caused by human interaction (blue colored arrow).
Scenario #2: Hybrid motion-force control under multi-contact (DLR-KUKA LWR IV+).
6.8 kHz
MPC update rate, 0 contacts
1.9 kHz
MPC update rate, 1 contact
1.8 kHz
MPC update rate, 2 contacts
65.87 → 14.74 N
Max. contact force in Scenario #1 (without / with contact feedback)

Challenges

  • Unknown multiple contacts: MPC-based methods for interaction tasks are valid based on a common assumption that the contact occurs at a single and known location, typically at the end-effector where a force/torque (F/T) sensor is installed. In an unstructured workspace, such as scenarios that involve physical interaction with humans or with unknown obstacles, unexpected contact may occur at multiple locations on the robot. The safe handling of multiple contacts has been demonstrated using tactile sensors; however, it is not straightforward how to handle unknown multiple contacts occurring outside the tactile sensor.
  • Real-time control without simplifying assumptions: simplifying assumptions on the robot model are common in the literature; e.g., some of the time derivatives are assumed to be constant over the prediction horizon, a quasi-static robot or a linearized robot model is employed, or the robot joints are assumed to be perfectly velocity or position controlled.

Key idea: explicit multi-contact feedback loop in the MPC

This work proposes a contact-feedback MPC framework that addresses complex interaction tasks in which multiple contacts may occur at arbitrary locations. To the best of our knowledge, this is the first attempt that embeds multiple unknown contacts in the MPC framework.

  • By making an explicit contact feedback loop using MCP-EP, force control can be accomplished even in scenarios with multiple contacts regardless of contact locations.
  • By employing the Differential Dynamic Programming (DDP) algorithm, the proposed MPC operates in real-time for a 7-DOF manipulator without any simplifying assumptions on the robot model.
Contact-feedback MPC framework
$\boldsymbol{\tau}_j$ and $\mathbf{W}_b$ are the JTSs and base F/T sensor measurements, respectively. Utilizing the robot states ($\tilde{\mathbf{x}}$) and contact information ($\tilde{\mathbf{r}}_{c,i}$ and $\tilde{\boldsymbol{\lambda}}_i$), the contact-feedback MPC calculates $\mathbf{X}^*$ and $\mathbf{U}^*$. Then, $\mathbf{u}^{[0]*}$ is commanded to the torque-controlled robot.

The multi-contact feedback is provided through MCP-EP, which estimates multiple contact locations and forces using an F/T sensor mounted at the base and JTSs. The proposed MPC does not strictly rely on MCP-EP, while one can employ any method as long as multi-contact information is provided in real time. Since the contact-feedback MPC, MCP-EP, and the low-level torque controller (3 kHz) operate at different rates, each program is run with the latest available data.

Technical components

1. Spring contact model

Spring contact model
Left: ${}^{\{C_i\}}\mathbf{r}_{env,i}$ is computed within the contact frame $\{C_i\}$, whose origin coincides with $\tilde{\mathbf{r}}_{c,i}$ and whose z-axis aligns with $\tilde{\boldsymbol{\lambda}}_i$. Middle: $\mathbf{r}_{env,i}$ and $\mathbf{K}_{env,i}$ are calculated by transforming coordinates from $\{C_i\}$ to $\{W\}$. Right: $\mathbf{r}_{c,i}$ is fixed on the robot surface, and the predictive contact force is derived from $\boldsymbol{\lambda}_i = g(\mathbf{x}; \boldsymbol{\theta}_i)$.
$$ \boldsymbol{\lambda}_i = \mathbf{K}_{env,i}\,\Delta\mathbf{r}_i = \mathbf{K}_{env,i}\,(\mathbf{r}_{env,i} - \mathbf{r}_{c,i}), \qquad {}^{\{C_i\}}\mathbf{K}_{env,i} = \mathrm{diag}(0,\,0,\,k_{env,i}) $$

Since only z-directional stiffness exists, any movement of the contact point within the xy-plane of the contact frame does not change the force. This implies that an unconstrained motion can be achieved in the tangential direction of the contact force. The contact model does not depend on the control input, which allows the MPC framework to incorporate contact force feedback by avoiding an algebraic loop between $\boldsymbol{\lambda}_i$ and $\mathbf{u}$.

2. Optimal control problem and cost function design

The MPC iteratively solves a discretized optimal control problem (OCP) with the contact-involved robot dynamics:

$$ \mathbf{M}(\mathbf{q})\ddot{\mathbf{q}} + \mathbf{C}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}} + \mathbf{g}(\mathbf{q}) = \boldsymbol{\tau}_c + \sum_{i=1}^{k} \mathbf{J}_i^{\top}(\mathbf{q}, \mathbf{r}_{c,i})\boldsymbol{\lambda}_i $$

The running and terminal costs consist of the costs for motion control and contact force control, where the cost for contact is designed to allow for defining different tasks on different links:

  • Motion control: regulates the end-effector to the desired position and orientation, with a joint velocity penalization term.
  • Contact force regulation: regulates the $i$th contact force to the desired value $\boldsymbol{\lambda}_{i,des}$ in the direction determined by $\mathbf{A}_d$.
  • Force barrier: for safe handling of unexpected contacts, the allowed contact force is limited by a force barrier with a quadratic function, $c_\lambda(\|\boldsymbol{\lambda}_i\| - \lambda_{i,max})^2$, which is activated if $\|\boldsymbol{\lambda}_i\| > b\,\lambda_{i,max}$ with $b \in (0, 1)$.

3. Numerical solution of the OCP

The OCP is solved with the Differential Dynamic Programming (DDP) algorithm, specifically Box-FDDP, which allows box-constraints on the control input. The joint angle and velocity limits are handled by a penalization approach, and the partial derivatives of the cost functions and the contact-involved robot dynamics are derived analytically, e.g., $\partial\boldsymbol{\lambda}_i / \partial\mathbf{q} = -\mathbf{K}_{env,i}\mathbf{J}_i(\mathbf{q}, \mathbf{r}_{c,i})$. As a result, the MPC operates in real-time for a 7-DOF manipulator without any simplifying assumptions on the robot model. A planning horizon of 125 ms ($T = 5$, $\Delta t = 25$ ms) and $k_{env,i} = 3500$ N/m are used in all experiments.

Results

The proposed multi-contact feedback MPC is validated in experiments on the DLR-KUKA LWR IV+ torque-controlled robot, with an ATI Omega F/T sensor mounted at the base. There is no pre-knowledge about the contacts; instead, the proposed MPC handles the unexpected contacts in real-time.

Scenario #1: Safe handling of unexpected contact (with and without contact feedback)

The robot tracks a desired end-effector position trajectory ($\mathbf{p}_{des}$) in an environment where an unknown obstacle is located close to the robot; $\mathbf{p}_{des}$ is set in such a way that the robot cannot reach it due to the obstacle, and a contact occurs on the 3rd link. When there is no contact feedback, the magnitude of the contact force increases as the end-effector position error increases (maximum 65.87 N). With the contact feedback and the force barrier ($\lambda_{i,max}$ = 15 N), the maximum contact force was 14.74 N.

Scenario #2: Hybrid motion-force control under multi-contact

Scenario 2 sequence
(a) The initial configuration of the robot, not in contact. (b) The robot moves in the x-direction and makes contact with the environment. (c) Hybrid motion-force control is performed at the end-effector. (d) While performing hybrid motion-force control, an additional contact is applied by a human.

The contact force in the x-direction is regulated to 20 N while tracking a circular trajectory in the yz-plane, and the contact force on the other links is limited to 15 N.

Period RMSE, end-effector position RMSE, contact force
Hybrid motion-force control only (5.9 s – 18.4 s) 0.86 cm 0.58 N
With additional contact on the 3rd link by a human (19.4 s – 31.9 s) 1.14 cm 0.89 N
Force regulation with a constant desired pose (33.5 s – end) 0.20 cm 0.10 N
When the human applies the additional contact, the robot immediately reacts to maintain the contact force below 15 N.

Additional experiments (not shown in the paper)

Stacking unknown objects (comparative study). The objects of unknown weight are sequentially stacked on the robot's end-effector. The robot maintains the initial end-effector position $\mathbf{p}_{des}$ with a low cost gain; the proposed contact-feedback MPC exerts force to keep the end-effector position by utilizing contact feedback in the robot dynamics.
Unknown object transfer under multi-contact. The objects of unknown weight are placed on the robot's end-effector. The robot maintains the initial end-effector orientation and tracks $\mathbf{p}_{des}$, while the 2nd contact force is maintained below 15 N.

Full video

BibTeX

@inproceedings{han2024online,
  title={Online Multi-Contact Feedback Model Predictive Control for Interactive Robotic Tasks},
  author={Han, Seo Wook and Iskandar, Maged and Lee, Jinoh and Kim, Min Jun},
  booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
  pages={11556--11562},
  year={2024}
}