<figure><img src="image_1.png" /></figure>

HAL
open science

# A Whole-Body Multi Contact Large Object Manipulation and Estimation Framework for Humanoids Using Skin Patches

Rajesh Subburaman, Olivier Stasse

► To cite this version:

Rajesh Subburaman, Olivier Stasse. A Whole-Body Multi Contact Large Object Manipulation and Estimation Framework for Humanoids Using Skin Patches. 2025 IEEE-RAS 24th International Conference on Humanoid Robots (Humanoids), Sep 2025, Seoul, South Korea. pp.1-8, 10.1109/Humanoids65713.2025.11203164. hal-05368991

HAL Id: hal-05368991

https://hal.science/hal-05368991v1

Submitted on 17 Nov 2025

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
# A Whole-Body Multi Contact Large Object Manipulation and Estimation Framework for Humanoids using Skin Patches

Rajesh Subburaman<fnref n="1" />, and Olivier Stasse<fnref n="1" />,<fnref n="2" />

**Abstract**—Over the years, robotic manipulation has primarily focused on end-effectors, an approach that severely limits a robot's ability to manipulate large and heavy objects. Humanoids, which are expected to operate in human environments, must acquire this skill to enhance their versatility and usefulness. In this regard, we present a whole-body multi-contact manipulation (WBMC) framework to handle large and heavy objects. To facilitate WBMC, we incorporate artificial skin patches distributed across the humanoid's upper body which are effectively utilized for contact detection and force sensing. The WBMC manipulation problem is formulated as an optimal control problem (OCP) within a model predictive control (MPC) framework, and three different types of dynamic motions are used to evaluate the controller's effectiveness. The proposed framework manages the entire manipulation process, including reaching, grasping, picking up, and manipulating. Furthermore, these motions are leveraged to develop a two-stage object inertial parameter estimation framework. The first stage estimates the object's mass and center of mass, while the second estimates its inertia. Both the manipulation and estimation frameworks are numerically evaluated using the TALOS humanoid and a rectangular box in simulation, and their respective results are presented and discussed.

## I. INTRODUCTION

Robotic manipulation research has predominantly focused on end-effectors handling specific types of objects. The arms that carry these end-effectors are typically used to deal with the object's manipulability. Although some non-prehensile manipulation works have expanded the manipulability and the range of objects that can be handled, significant limitations remain— such as difficulty in handling large and heavy objects, joint overloading, etc. These limitations can be addressed through a whole-arm or whole-body manipulation approach, wherein contacts between the object and the robot's arm/body are exploited for grasping and manipulation. This approach enables the robot to grasp large and heavy objects, and through multi-contact, the object load is distributed across various joints, which reduces joint overloading instances. In this work, we present a whole-body control framework that leverages this approach to perform dynamic manipulation of large objects while simultaneously estimating their inertial parameters. We believe that this framework can further enhance the efficiency and performance of whole-body controllers in tasks involving large and heavy object manipulation.

### A. Related Works

Most earlier large-object manipulation works [1]–[3] have been carried out using dual-arm manipulators with fixed

or mobile bases. These approaches predominantly use end-effectors for grasping objects, and their contacts are predetermined. This significantly limits their manipulation capabilities and reduces their generality. In this regard, a few studies have explored humanoids or bimanual systems that employ a whole-arm or whole-body approach. In [4], a ZMP-based method is proposed for the HRP-2 humanoid to manipulate a heavy object by adapting the robot's waist motion in response to ZMP variations. Similarly, in [5], arbitrary whole-body contacts with objects are enabled by equipping an adult-sized humanoid with distributed tactile sensors, and it is used to lift a 30 kg heavy object with carefully designed heuristic-based motion. In [6], a whole-body motion controller is proposed specifically for the dynamic lifting of heavy objects by exploiting singular configurations. A more generalizable approach is proposed in [7], where a humanoid chooses a whole-body manipulation strategy depending on the object's mass. Later, this was extended in [8] to a unified framework to execute various object manipulations.

A few impedance-based object manipulation works have also been reported. In [9], an object manipulation based on a virtual dynamics model (VDM) is proposed for a humanoid to reach for an object, grasp it with minimal impact at the contact, and maintain the desired contact force. This is further extended in [10] to generate human-like manipulation motions using principal component analysis (PCA) applied to a set of human-recorded motion data. In [11], an object-level impedance is proposed with two forearms and one chest contact on the Justin humanoid, enabling stable grasping and

<figure><img src="image_2.png" /><figcaption>Fig. 1: (a) TALOS humanoid with the skin patches mounted on its upper body. (b) TALOS manipulating an object (a box) in a simulator.</figcaption></figure>

<footnote n="1">¹ Gepetto, LAAS-CNRS, Toulouse, France</footnote>

<footnote n="2">² Artificial and Natural Intelligence Toulouse Institute, France</footnote>
orientation manipulation. For more contact-rich whole-body manipulation, the authors of [12] designed a soft, tactile-sensing humanoid upper body capable of achieving grasps of varying strengths and can also yield form and force closures over various domestic objects, but no manipulation is reported. Finally, a learning-based approach is presented in [13], that can handle objects of different sizes. However, for significant variations in object shape, the learning process must be repeated, limiting the method's generality.

In the aforementioned works, most approaches [5], [6] are heuristics-based and offline planned ones, making it difficult to generalize them to handle arbitrary situations. Only a few studies [4], [7], [8] explicitly address humanoid balancing during object manipulation. However, these are analytical in nature and primarily depend on estimating the object's mass and the associated operational forces. Moreover, none of the above works have actively considered the robot's joint limits in their motion planning. This omission may be attributed to the fact that most of these studies focus on grasping and lifting, rather than dynamic manipulation-except for [10]. In [10], however, the manipulation involves a lightweight object (0.28 kg), and is demonstrated with a bimanual system mounted on a fixed base.

Further, none of the aforementioned works have demonstrated dynamic manipulation using floating-base humanoid systems. In this work, we aim to address this gap by formulating the WBMC manipulation as an MPC problem. In addition, we leverage this dynamic manipulation capability to estimate the object's inertial parameters. To the best of our knowledge, this is the first work reported to do so with an adult-size humanoid. Although [7], performs online estimation of an object's mass and CoM during quasi-static manipulation, it does not address the estimation of the object's inertia. It is also important to note that conventional parameter estimation process [14] which typically involves the construction of a regression matrix, design of optimal excitation trajectories, and linear parameterizations, cannot be applied in this context due to the system's high DoF, closed-chain kinematic constraints, humanoid balancing, etc., making this estimation task a non-trivial one. Thanks to the differential dynamic programming (DDP) based MPC, the system is capable of performing dynamic motions, and the skin patches that can provide exact contact-related data, such as contact location, force, etc. These two features together allow us to do the estimation in a much simpler way.

## B. Paper Contributions

In this work, we propose an MPC framework for a torque-controlled humanoid to perform whole-body object manipulation employing multiple contacts distributed across its upper body. In addition, we introduce an object inertial parameter estimation framework that leverages the above WBMC manipulation controller. The notable contributions of this manuscript are as follows: 1) formulation of WBMC manipulation as an MPC problem in a differential dynamic programming (DDP) form, incorporating both motion and system constraints, and the implicit handling of closed-

loop chain grasp constraints; 2) design of an MPC state machine to handle reaching, grasping and dynamic manipulation within a unified framework; 3) demonstration of three distinct dynamic manipulation motions, which are further exploited to estimate the inertial parameters of the manipulated object; and 4) incorporation of the artificial skin cells [15] and the robot-object integrated dynamic model into the proposed estimation framework. In contributions (4), the use of artificial skin patches ensures that accurate contact location and force (normal component) data are always available, thereby reducing uncertainty in the estimation process. Regarding contribution (3), we note a recent work [16] that proposes a learning-based method to estimate the inertial parameters of a hand-held object using a wheeled humanoid robot. In contrast, our approach targets large, non-hand-holdable objects that require whole-body manipulation, making the problem more complex and better suited for evaluation using our proposed framework.

## II. SYSTEM DESCRIPTION AND MODELING

### A. System Description

The complete system used for the numerical evaluation comprises the TALOS humanoid [17] and some artificial skin patches, as shown in Fig. 1 (left). The TALOS humanoid has 32 degrees of freedom (DoF), weighs 95 kg, stands 1.75 m tall, and supports both position and torque control modes. In this work, TALOS is controlled in torque mode. Further, the humanoid is equipped with joint torque sensors and encoders at each joint, along with force-torque sensors located at both the wrists and ankles of the robot. To facilitate WBMC manipulation, several artificial skin patches [15] are distributed across the humanoid's upper body. As illustrated in Fig. 1 (left), four skin patches are mounted on the torso and each arm, totaling 12 patches. Each skin patch is composed of hexagonal segments, referred to as skin cells. Every skin cell contains an in-built accelerometer, temperature sensor, proximity sensor, and three capacitance-based pressure cells. Consequently, each cell can output its pose relative to the root cell of their respective patch, as well as temperature, acceleration, proximity, and pressure data.

### B. Contact-Constrained Robot Dynamic Model

The dynamic equation of motion of a rigid body system with $n$ DoF, subject to $n_f$ foot contact constraints, can be expressed as described in [18]:

$$ \begin{bmatrix} \mathbf{M} & \mathbf{J}_f^T \\ \mathbf{J}_f & \mathbf{0} \end{bmatrix} \begin{bmatrix} \ddot{\mathbf{q}} \\ \dot{\lambda} \end{bmatrix} = \begin{bmatrix} \mathbf{S}^T \tau - \mathbf{b} \\ -\dot{\mathbf{J}}_f \dot{\mathbf{q}} \end{bmatrix} \quad (1) $$

where $\mathbf{M} \in \mathbb{R}^{n \times n}$, $\mathbf{b} \in \mathbb{R}^{n \times 1}$, $\mathbf{S} \in \mathbb{R}^{(n+6) \times n}$, and $\tau \in \mathbb{R}^{n \times 1}$ are the joint space inertia matrix, nonlinear force vector, selection matrix to apply torques to the actuated joints, and the joint torque vector, respectively. In (1), $\mathbf{q} \in \mathbb{SE}(3) \times \mathbb{R}^n$ denotes the configuration of the robotic system. Since this is a floating-base system, the unactuated 6 DoF of the base are represented by $\mathbb{SE}(3)$. The velocity and acceleration vectors are denoted by $\dot{\mathbf{q}}$ and $\ddot{\mathbf{q}}$, respectively. $\mathbf{J}_f = [\mathbf{J}_1 \cdots \mathbf{J}_{n_f}]^T$
represents the contact Jacobian matrix for $n_f$ contacts, and $\mathbf{J}_i \in \mathbb{R}^{6 \times n}$ denotes the contact Jacobian matrix for $i^{th}$ contact. Similarly, $\lambda_i \in \mathbb{R}^{6 \times 1}$ denote the $i^{th}$ contact wrench and $\lambda = [\lambda_i \cdots \lambda_{n_f}]$ includes the contact wrench vector for all $n_f$ contacts. The bottom row in (1) enforces the condition that all $n_f$ contact points remain stationary during the system's motion. This ensures the generation of contact-consistent dynamic motion for the floating-base system. The above equation of motion can be integrated in discrete form with a time period $dt$ as follows:

$$ \mathbf{x}_{k+1} = f(\mathbf{x}_k, \mathbf{u}_k), \quad (2) $$

where $\mathbf{x} = [\mathbf{q}, \dot{\mathbf{q}}] \in \mathbb{R}^{n_x}$, $\dot{\mathbf{x}} = [\dot{\mathbf{q}}, \ddot{\mathbf{q}}] \in \mathbb{R}^{n_{dx}}$, and $\mathbf{u} = \tau$ denote the state and its derivative, and the input vector of the system, respectively. Here, $n_x$ and $n_{dx}$ represent the dimension of state and its derivative, respectively.

### C. Object-Contact Modeling

In this work, we assume the contacts between the robot and the object to be of soft contact type, as the skin patches have a thin silicon outer covering. Let $\mathbf{O}_o$ denote the object's coordinate frame, placed at its center of mass, and let $\mathbf{O}_{ci}$ represent the coordinate frame assigned to the $i^{th}$ contact. Since each contact $c_i$ is assumed to be fixed relative to the object, the transformation from the contact frame to the object frame can be written as: $^o\mathbf{T}_{c_i} = (\mathbf{p}_{oc_i}, \mathbf{R}_{oc_i}) \in \mathbb{SE}(3)$, where $\mathbf{p}_{oc_i}$ and $\mathbf{R}_{oc_i}$ denote the position and orientation of the $i^{th}$ contact with respect to the object, respectively. The wrench acting on the object in body coordinates $\mathbf{F}_o^b \in \mathbb{R}^{6 \times 1}$ can be related to the stacked contact wrenches $\mathbf{F}_c = [\mathbf{F}_1 \cdots \mathbf{F}_{n_c}] \in \mathbb{R}^{(n_w \times n_c) \times 1}$ via the grasp matrix $\mathbf{G} \in \mathbb{R}^{6 \times (n_w \times n_c)}$ as follows:

$$ \mathbf{F}_o^b = \mathbf{G}\mathbf{F}_c, \quad (3) $$

where $n_w$ is the dimension of the individual contact wrench. Since soft contact can only transmit three forces components and one moment (along the contact normal), we have $n_w = 4$. Equation (3) is used later in Section V. For additional details on contact models, $\mathbf{G}$, $\mathbf{F}_o^b$, and $\mathbf{F}_c$, please refer to [19].

## III. WBMC OBJECT MANIPULATION

### A. MPC Formulated as DDP

An optimal control problem for the system defined in (1) can be written in discrete form using (2) as follows:

$$ \begin{array}{ll} \min_{\mathbf{x}, \bar{\mathbf{u}}} & \displaystyle\sum_{k=0}^{T-1} l(\mathbf{x}_k, \mathbf{u}_k, k) + l_T(\mathbf{x}_T) \\ \text{s.t.} & \mathbf{x}_0 = f_0 \\ & \forall t = 0 \cdots T \quad \mathbf{x}_{k+1} = f(\mathbf{x}_k, \mathbf{u}_k), \end{array} \quad (4) $$

where $\bar{\mathbf{x}} = (\mathbf{x}_k)_{k=0 \cdots T}$, and $\bar{\mathbf{u}} = (\mathbf{u}_k)_{k=0 \cdots T}$ are the state and control trajectory sequence for $T$ time steps. The functions $l$ and $l_T$ are the running and terminal cost functions that encode the desired behavior of the robot, and $f_0$ represents the initial state of the system. The second constraint in (4) ensures that the computed state and control sequence respects the system dynamics. By solving (4), an optimal pair of state $(\bar{\mathbf{x}}^*)$ and control $(\bar{\mathbf{u}}^*)$ sequence that is consistent with the

system dynamics (2) is obtained. The OCP problem defined in (4) is solved at each iteration of the MPC using the DDP algorithm. Thanks to the DDP algorithm, a stable control is achieved due to the Ricatti gains ($\mathbf{K}_k$) that arises naturally when solving (4), specifically, during the backward pass of DDP. The gains $\mathbf{K}_k$ are used to implement a linear state feedback controller that effectively interpolates the MPC control policy. The resulting control law is formulated as

$$ \mathbf{u} = \mathbf{u}_k^{ff} + \mathbf{K}_k(\mathbf{x} - \mathbf{x}_k) \quad (5) $$

where $\mathbf{u}_k^{ff}$ is the feedforward torque command and $\mathbf{K}_k$ is the corresponding feedback gain computed at time step $k$ from the DDP solution. This formulation allows the control input to interpolate around the optimal trajectory, enhancing tracking performance under model or state perturbations. For more details on (5), their implementation and evaluation, please refer to [20].

### B. Various MPC Costs

In this section, we discuss in detail all the costs that are considered in (4) to encode the desired WBMC manipulation behavior. To simplify the proposed WBMC manipulation problem, the robot links that are intended to make contact with the object, as well as the number of contacts per link, are predefined and provided to the MPC as an input. However, the precise contact location is determined using the skin sensors, and this will be discussed in Section V. The costs defined in this section will remain invariant irrespective of the links and the number of contacts that are considered for the WBMC manipulation. The different costs considered in this work are given below:

(1) State Cost: $l_{state} = \frac{1}{2}[(\mathbf{x} - \mathbf{x}_r)^T \mathbf{W}_{state} (\mathbf{x} - \mathbf{x}_r)]$ is intended to prevent the robot from drifting too far from its nominal configuration $\mathbf{x}_r$.

(2) Actuation cost: $l_{act} = \frac{1}{2}[(\mathbf{u} - \mathbf{u}_r)^T \mathbf{W}_{act} (\mathbf{u} - \mathbf{u}_r)]$, where $\mathbf{u}$ and $\mathbf{u}_r$ are the instantaneous and reference control commands, respectively, and $\mathbf{W}_{act}$ is a positive definite diagonal weight matrix. This cost penalizes large deviations in control efforts from the reference inputs.

(3) Joint limits: $l_{jlim} = \frac{1}{2}||min(\mathbf{x} - \mathbf{x}_l, 0)||^2 + \frac{1}{2}||max(\mathbf{x} - \mathbf{x}_u, 0)||^2$, where $\mathbf{x}_l$ and $\mathbf{x}_u$ denote the upper and lower limits of the robot joint's state.

(4) CoM cost: $l_{com} = \frac{1}{2}||\mathbf{x}_{com} - \mathbf{x}_{com}^r||^2$, where $\mathbf{x}_{com}$ and $\mathbf{x}_{com}^r$ are the instantaneous and reference CoM values of the humanoid. This is aimed at maintaining the dynamic balance of the humanoid by regulating its CoM.

(5) Contact pose cost: $l_{pos}^{ci} = \log(1 + \frac{||\mathbf{r}_{ci}||}{\gamma})$, $l_{rot}^{ci} = \frac{1}{2}||\mathbf{R}_{ci} - \mathbf{R}_{ci}^d||$, where $\mathbf{r}_{ci} = \mathbf{p}_{ci} - \mathbf{p}_{ci}^d$, $\mathbf{R}_{ci}$, and $\mathbf{R}_{ci}^d$ represent the position difference, instantaneous rotation, and desired rotation of the $i^{th}$ contact $c_i$. In the above cost, $\mathbf{p}_{ci}$ and $\mathbf{p}_{ci}^d$ denote the current and desired position of $c_i$ and $\gamma = 0.02$ is a positive constant.

(6) Contact twist cost: $l_{twist}^{ci} = \frac{1}{2}||(\mathbf{v}_{ci} - \mathbf{v}_{ci}^d)|| + \frac{1}{2}||(\omega_{ci} - \omega_{ci}^d)||$, where $\mathbf{v}_{ci}$ and $\omega_{ci}$ are the instantaneous linear and angular velocity of contact $c_i$ and their respective desired values are denoted by $\mathbf{v}_{ci}^d$ and $\omega_{ci}^d$, respectively.

The aforementioned costs and the feet contact constraints
<figure><img src="image_3.png" /><figcaption>Fig. 2: The MPC framework for WBMC manipulation is shown here.</figcaption></figure>

are considered for both $l$ and $l_T$ in (4). The individual costs are combined as follows:

$$l(\mathbf{x}, \mathbf{u}) = w_s l_{\text{state}} + w_a l_{\text{act}} + w_{jl} l_{jlim} + w_c l_{\text{com}} + \sum_{i=1}^{n_c} (w_p l_{\text{pos}}^{c_i} + w_r l_{\text{rot}}^{c_i} + w_t l_{\text{twist}}^{c_i}), \quad (6)$$

In (6), the terms $w_.$$.$ denote positive scalar weights assigned to the individual cost components to achieve the desired WBMC manipulation, and $n_c$ is the number of manipulation contacts. Since the costs $l_{\text{state}}$ and $l_{\text{act}}$ are primarily used to regularize the state and control inputs, their corresponding weights $w_s$ and $w_a$ are set to relatively low values. The generated motion should never violate the joint limits, so a higher value is set to $w_{jl}$, and $l_{jlim}$ is designed in such a way that it penalizes only when it is close to a particular joint's limits. Similarly, a larger weight is assigned to $w_c$ to emphasize the importance of maintaining dynamic balance, which is crucial for floating-base systems. This is particularly relevant in scenarios involving the manipulation of unknown and heavy objects, where preserving stability becomes even more critical. Furthermore, equal values of $w_p^{c_i}$, $w_r^{c_i}$, and $w_t^{c_i}$ are assigned to all $n_c$ to give equal importance to all the manipulation contacts. This ensures that all $n_c$ contacts remain engaged with the object throughout the manipulation process. Unlike [1], [21], [22], where in complex control techniques or robot-object integrated equations of motion are developed to handle the closed-loop kinematic constraints, in this work, the aforementioned constraints are implicitly encoded by choosing equal weights for all $n_c$ contacts.

### C. MPC Control Framework

The MPC introduced in Section III-A and the various costs discussed in Section III-B are used to design a whole-body control framework, as shown in Fig.2, to realize the WBMC manipulation. The framework involves a state machine with four states: reach, grasp, manipulate, and finish. In the reach state, the whole-body contacts are moved closer to the grasp location on the object, and the grasp is initiated following the successful completion of reach. During the grasp, the planned contacts are made with the object with minimal impact, and the grasping force is increased sufficiently to hold the object stably in a friction grasp. Following grasp, the manipulate state is activated, where the object is manipulated in a desired manner while the contacts are maintained in place. Upon completion of manipulation, the finish state is invoked, and it maintains the final state of the

humanoid for an indefinite period of time. The transition to each state is monitored and regulated by means of a suitable condition checker. For reach and manipulate states, the adopted condition is $||\mathbf{p}^{c_i} - \mathbf{p}_d^{c_i}|| < tgt_{\text{tol}}$, where $||\cdot||$ is the contact position error and $tgt_{\text{tol}}$ is a predefined tolerance. In the case of grasp, the condition used can be stated as $||\mathbf{f}_{\text{vsd}}^{i}|| \ge f_{\text{thres}}$, where $\mathbf{f}_{\text{vsd}}^{i} \in \mathbb{R}^3$ is the virtual spring-damper force computed for each contact, as given in [9], and $f_{\text{thres}}$ is the grasp force threshold. Any given $f_{\text{thres}}$ can be realized by choosing $\mathbf{p}_d^{c_i}$, $w_p$, and $w_t$ appropriately.

Depending on the selected state, the desired contact pose ($\mathbf{p}_d^{c_i}$ and $\mathbf{o}_d^{c_i}$) is provided to the trajectory generator along with a user-defined trajectory duration $t_{\text{traj}}$. Here, polynomial coefficients to generate quintic trajectories for the contact pose are computed and these coefficients are later used in the trajectory interpolator to generate instantaneous trajectory ($\bar{\mathbf{p}}^{c_i}$, $\bar{\mathbf{o}}^{c_i}$, $\bar{\mathbf{v}}^{c_i}$, $\bar{\mathbf{\omega}}^{c_i}$) at time instant $t_k$, where $\tau^{c_i} = (\tau_k^{c_i}, \dots, \tau_{k+100}^{c_i})$. The instantaneous trajectory is then sent to the MPC for it to track. In particular, the MPC generates the optimal control policy $\mathbf{u}^*$ and $\mathbf{K}^*$ by solving (4) at $\approx 65$ Hz. To ensure stable torque control, the control policy is linearly interpolated at 1kHz using the linear feedback law in (5) and the resulting torque command $\tau$ is applied to the TALOS humanoid. In Fig.2, $\mathbf{s}_i = [\mathbf{r}_i, \mathbf{f}_i]$ refers to the skin patch output from patch $i$ which includes contact position $\mathbf{r}_i$ and force $\mathbf{f}_i$ expressed in their respective link frame $l$, and $\mathbf{x}$ is the instantaneous state of the humanoid. The various costs associated with the MPC (MPC parameters), the list of contacts, their respective targets in each state, trajectory duration, etc., (WBMC manipulation parameters) are provided as inputs.

## IV. SIMULATIONS AND RESULTS

### A. Simulation Setup

The simulation setup involves a 32 DoF TALOS humanoid introduced in Section II-A, and a box of size $0.2 \times 0.3 \times 0.4$ m is taken as the object to be manipulated. The dynamic parameters of the object are considered as: $m_{obj} = 1.5[\text{kg}]$, $\mathbf{I}_o = \text{diag}[0.031, 0.019, 0.025][\text{kg} \cdot \text{m}^2]$, and $\mu = 0.5$. The object is assumed to be at rest on a table and within the humanoid's reachable workspace at the beginning of the simulation. For the manipulation, left and right forearm links are chosen, and a contact is defined on each link at a predefined offset from their respective link frames. For the MPC, $T = 100$ steps and $dt = 10$ms are considered, resulting in a prediction horizon of 1 s, and it is solved using the Crocoddyll library [23]. The various weights used for the controller are tabulated in Table I. The numerical evaluations of the proposed system are carried out in the Gazebo simulator. The skin patches are simulated using Gazebo's bumper sensor plugin, which outputs the contact's location, wrench, and normal in a specified frame. Since the actual skin cells can only report the normal force component, we replicate this behavior using the bumper sensor's wrench data. Hence, the simulated wrench is $\mathbf{F}_1 = [0f_y003 \times 1]$, as shown in Fig.5b. Since the contributions made by the hands (2 DoF), head (2 DoF), and the last three joints of the arms
<figure><img src="image_4.png" /><figcaption>Fig. 3: (a) The left forearm contact position tracking is compared for two different types of motions: i) desired pose (left), ii) trajectory tracking (middle) (right), **R**, **G**, and **M** represent the reach, grasp, and different manipulation phases in a motion. b) The complete constant acceleration trajectory (left) and constant angular acceleration (right) tracking for XYZ are shown.</figcaption></figure>

<table><caption>TABLE I: Weights used for the MPC Controller</caption><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>Position (W<sub>pos</sub>)</td><td>base: diag([I<sub>1x3</sub>×500, I<sub>1×3</sub>×1000])<br>legs: diag([I<sub>1×6</sub>×1])<br>torso: diag([0.1, 0.1]), arms: diag([I<sub>1×6</sub>])</td></tr><tr><td>Velocity (W<sub>vel</sub>)</td><td>I<sub>(n+6×n+6)</sub></td></tr><tr><td>Actuation (W<sub>act</sub>)</td><td>I<sub>(n×n)</sub></td></tr><tr><td>Cost weights</td><td>w<sub>s</sub> = 0.02, w<sub>a</sub> = 1e-3, w<sub>jl</sub> = 1e3, w<sub>c</sub> = 250,<br>w<sub>p</sub> = 12, w<sub>r</sub> = 1.25, and w<sub>t</sub> = 1</td></tr></tbody></table>

<caption>Fig. 4: The contact force exerted by the left forearm contact is compared across the three different types of motions. The force is expressed in **O**<sub>B</sub>.</caption>

are very limited, they are not considered for torque control. This reduces the controlled joints n to 22 DoF, thereby improving the DDP solving speed.

## B. Different types of WBMC Motions

The controller proposed for WBMC manipulation is numerically evaluated using three different types of motions: 1) desired pose, 2) trajectory tracking, and 3) constant acceleration trajectory. The first case demonstrates the controller's accuracy in reaching a specified target pose, while the second and third focus on its tracking performance. In particular, the last motion is relatively more dynamic, since it involves a constant acceleration trajectory, and tracking such a trajectory without considering the object's dynamic properties within the MPC is challenging. However, this is made possible through the use of DDP to solve (4). The DDP solution provides feedback gains **K**, which are then used to implement a linear feedback controller that can handle such model inconsistencies, and hence the controller's robustness.

1) Desired Pose: In this type, desired Cartesian position ($\mathbf{p}_d^{ci}$) and orientation ($\mathbf{R}_d^{ci}$) for each contact $c_i$ is given and the whole-body motion is realized using the control framework shown in 2. Since no reference trajectories are provided to the MPC, the controller tries to reach the target as fast as possible while respecting the various system constraints encoded as costs. This can be visualized in Fig. 3a (left), which shows

that the complete motion sequence is completed in ≈1.5s, whereas it takes around 4s for the one with a reference trajectory (left 2nd plot). In the plot, the *reach*, *grasp*, and *manipulate* phases of the motion are represented by **R**, **G**, and **M** respectively. The target reachability accuracy is found to be relatively higher than the tracking motions.

2) Trajectory Tracking: Given the desired targets $\mathbf{p}_d^{ci}$ and $\mathbf{R}_d^{ci}$, quintic polynomial trajectories are generated from the current pose of each $c_i$ to their respective targets, and it is interpolated online during the motion. The end velocities and accelerations for the trajectories are taken as zero, in order to realize a smooth motion. At each time step $t_k$, the reference pose ($\bar{\mathbf{p}}^{ci}$, $\bar{\mathbf{o}}^{ci}$) and twist ($\bar{\mathbf{v}}^{ci}$, $\bar{\mathbf{\omega}}^{ci}$) values are updated and provided to the MPC fto track. The plot (middle) in Fig.3a shows the left forearm contact position tracking during the various phases. Overall, the tracking is observed to be good, except at the beginning of $\mathbf{M}_1$ and $\mathbf{M}_2$, and this is due to handling an unknown object; however, the MPC corrects it later. Here, $\mathbf{M}_1$ and $\mathbf{M}_2$ refer to pickup and manipulation, respectively.

3) Constant Acceleration Trajectory Tracking: Here, in addition to the quintic polynomial trajectories, a constant acceleration segment is included to evaluate the tracking performance of the proposed controller. This motion sequence involves three manipulation phases ($\mathbf{M}_1$, $\mathbf{M}_2$, and $\mathbf{M}_3$). While $\mathbf{M}_1$ is pickup, $\mathbf{M}_2$ is intended to manipulate the object to a safe position, and $\mathbf{M}_3$ is the final segment that includes a constant acceleration phase. The $\mathbf{M}_3$ phase is planned as an arc motion about the robot's Z axis with its center ($\mathbf{p}_c$) fixed to the robot's waist $\mathbf{O}_r$ shown in Fig. 6. The reference cartesian position, and velocity at each time instant k can be computed as: $\mathbf{p}_{ref}^k = \mathbf{R}_{\theta_z}^k \cdot \mathbf{p}_{CO} + \mathbf{p}_c$, and $\mathbf{v}_{ref}^k = \mathbf{R}_{\theta_z}^k \cdot \text{skew}(\mathbf{\omega}^k) \cdot \mathbf{p}_{CO}$, where $\mathbf{p}_{CO} = \mathbf{p}_o - \mathbf{p}_c$, $\mathbf{p}_o$ is the object's center, $\mathbf{R}_{\theta_z}$ is the rotation matrix evaluated at $\theta_z$ radians about Z axis and skew(·) is the skew matrix. The corresponding references for the contacts $c_i$ are computed using the relations in II-C.

The complete motion (left plot) and the angular acceleration ($\ddot{\theta}$) trajectory (right plot) tracking of $c_i$ are shown in Fig. 3b. The $\ddot{\theta}_z$ (right-side bottom plot) involves three arc segments: i) acceleration (0-10° from 36.75-38.25s),
ii) constant acceleration (10-50° from 38.25-40s), and iii) deceleration (50-60° from 40-42s). The acceleration segment is used to reach the desired acceleration level smoothly, and the deceleration segment is intended to bring the object to rest gradually. Similar to the previous type, the overall trajectory tracking is found to be good except for a few instances of z position tracking in the M<sub>i</sub> phases. This could be due to the various costs conflicting with each other and the fact that it is handling an unknown object. Observing M<sub>3</sub>, which includes the constant acceleration segment, we can see that the tracking is good throughout the phase, and a slight overshoot is seen at the end of x and y position tracking. However, this overshoot subsides quickly and converges to its respective target values.

The contact forces of the left forearm contact are compared for the three different manipulative motions in Fig.4. In all three plots, contact force ($f_y^1$), which is the normal component to the contact surface, is compared and $f_{thres} = 10N$. For the desired pose case (left), since the contacts are moved as fast as possible towards their respective targets, slightly higher contact force (≈ 20N) is noticed in the G phase when compared to the other motion types (≈ 15-17N), but it converges towards $f_{thres}$ in the M phase. Ideally, $f_y^1$ could be even more for the first case; however, it is limited due to the regulation costs set on the actuator torques and the smaller target offset set in the y direction for the grasping. In the case of trajectory tracking (middle), $f_y^1$ reaches approx17N at the end of G, and this is less compared to the previous case, which suggests that the contact with the object is more gradual here, unlike the sudden impact noticed in the first case. Further, $f_y^1$ increases gradually during M and this is in correspondence with the $p^{ci}$ trajectory tracking plot (middle) shown in Fig.3a. Similar behavior is observed for the third case (right-side plot) until M<sub>2</sub>. In M<sub>3</sub>, slight increase in $f_y^1$ is observed in two phases: acceleration (10N) and constant acceleration (15N) and finally stabilizes around 10N.

## V. WBMC OBJECT ESTIMATION

In this section, the various types of whole-body manipulation motions generated with the proposed controller are exploited to estimate the inertial parameters of the manipulated object. The estimation of the object's mass ($m_o$) and center of mass ($r_o$) is discussed in Section V-A, and the estimation of inertia ($I_o$) in Section V-B. The wrench acting on the object and at its contacts during the object's manipulation are shown in Fig.5. Here, $F_o^b$ represents the object wrench in body frame, and it can be computed as follows:

$$ \mathbf{M}_o^b \dot{\mathbf{v}}^b + \mathbf{C}_o^b \mathbf{v}^b + \mathbf{N}_o^b = \mathbf{F}_o^b, \quad (7) $$

where $\mathbf{M}_o^b$, $\mathbf{C}_o^b$, $\mathbf{N}_o^b$, and $\mathbf{F}_o^b$ are the mass matrix, Coriolis, gravitational force vector, and object wrench expressed in the object's body frame. The object's twist and its derivative are represented by $\mathbf{v}$ and $\dot{\mathbf{v}}$, respectively. The wrench acting on the contacts $\mathbf{F}_c$ can be obtained using the grasp relation (3), as given below:

$$ \mathbf{F}_c = \mathbf{G}^\dagger \mathbf{F}_o^b, \quad (8) $$

<figure><img src="image_5.png" /><figcaption>Fig. 5: (a) The object being grasped between the forearms, the various wrenches acting on the object and the contact positions with respect to the object are shown here. (b) The actual contact point on the left forearm skin patch and its position ($l_5\mathbf{r}_1$) with respect to the link-5 frame ($L_5$) is shown.</figcaption></figure>

where $\dagger$ represents right pseudo inverse of G.

In addition to $\mathbf{F}_o^b$, there is also the grasping force $\mathbf{f}_i^g$ acting at the $i^{th}$ contact, as discussed in Section III-C. This can be written as a wrench at the $i^{th}$ contact as $\mathbf{F}_i^g = [\mathbf{f}_i^g \mathbf{0}]$. Both $\mathbf{F}_c^m$ and $\mathbf{F}_c^g$ can be added to the robot's dynamic model (1) as external wrenches which results in the following

$$ \mathbf{M}\ddot{\mathbf{q}} + \mathbf{b} = \mathbf{S}^T \boldsymbol{\tau} - \mathbf{J}_f^T \boldsymbol{\lambda} - \mathbf{J}_c^T [\mathbf{F}_c^g + \mathbf{F}_c^m], \quad (9) $$

where, $\mathbf{J}_c = [\mathbf{J}_{c1} \cdots \mathbf{J}_{cn}]^T$ represent the object-robot contact jacobian for $n_c$ contacts and $\mathbf{J}_{c_i} \in \mathbb{R}^{6 \times n}$ denotes the jacobian matrix for $i^{th}$ contact. The above equation is used in the following subsections to estimate the object's inertial properties. Unlike the fixed-base manipulators, it is extremely difficult to plan an optimal inertial parameters excitation trajectory for a floating-base system like humanoids due to their small footprint and complex dynamic model. Further, the presence of $\mathbf{G}^\dagger$ in (9) suggests that the object's inertial parameters are nonlinearly coupled, making it even more difficult. For the above reasons, we have decided to estimate the object's inertial parameters separately, by adopting simple approaches, as discussed below.

### A. Mass and CoM Estimation

Since $m_o$ and $\mathbf{r}_o$ are dependent only on $\mathbf{q}$, those parameters are estimated by manipulating the object to different poses, holding the object and the robot's pose statically for a certain duration, and collecting the required data. By setting $\dot{\mathbf{q}}$ and $\ddot{\mathbf{q}}$ to $\mathbf{0}$ in (9), and $\mathbf{v}$ and $\dot{\mathbf{v}}$ to $\mathbf{0}$ in (7), we get the following

$$ \mathbf{N} = \mathbf{S}^T \boldsymbol{\tau} - \mathbf{J}_f^T \boldsymbol{\lambda} - \mathbf{J}_c^T [\mathbf{F}_c^g + \mathbf{F}_c^m], \quad (10) $$

where $\mathbf{N}$ is the gravitational vector of the robot joints. In the above equation, $\mathbf{F}_c^m$ will evaluate to $\mathbf{G}^\dagger \mathbf{N}_o^b$. Since the measurements of $\boldsymbol{\lambda}$ and $\mathbf{F}_c^g$ are available through the force-torque (F/T) and skin patch sensors, (10) can be written as

$$ \mathbf{N}(\mathbf{q}) + \mathbf{J}_f^T \boldsymbol{\lambda} + \mathbf{J}_c^T \mathbf{F}_c^g + \mathbf{G}^\dagger ({}^o \mathbf{T}_c) \mathbf{N}_o^b = \hat{\boldsymbol{\tau}}_a, \quad (11) $$

where, ${}^o \mathbf{T}_c = [{}^o \mathbf{T}_1 \cdots {}^o \mathbf{T}_{nc}] \in \text{SE3} \times \mathbb{R}^n$ denote the transformation matrix between contacts and the object, with each ${}^o \mathbf{T}_i$ being a function of the relative position (${}^o \mathbf{r}_i$) and orientation (${}^o \mathbf{R}_i$) of the $i^{th}$ contact with respect to the object and $\hat{\boldsymbol{\tau}}_a$ represents the actuation torques $\mathbf{S}^T \boldsymbol{\tau}$. Equation (11) can be written in terms of the parameters to be estimated as follows

$$ \boldsymbol{\tau}_1 + \boldsymbol{\tau}_2 ({}^c \mathbf{r}_o, m_o) = \hat{\boldsymbol{\tau}}_a, \quad (12) $$
<figure><img src="image_6.png" /><figcaption>Fig. 6: The various constant angular acceleration motions generated about the XYZ (world frame) axes are shown. The motions considered are arcs (dotted black lines) with its radius denoted by $r_{arc}$.</figcaption></figure>

where, $\tau_1 = \mathbf{N} + \mathbf{J}_f^T \lambda + \mathbf{J}_c^T \mathbf{F}_c^g$ and $\tau_2 = \mathbf{J}_c^T \mathbf{G}^\dagger \mathbf{N}_o^b$. Since the parameters to be estimated, $\Theta_1 = [^c\mathbf{r}_o, m_o]$, are nonlinearly coupled in (12), the estimation is formulated as a nonlinear constrained optimization problem as follows:

$$ \begin{gathered} \min_{\Theta_1} f_1(\mathbf{q}, \lambda, \mathbf{F}_c^g, \Theta_1) = \|\hat{\tau}_a - \tau_m\|^2 \\ \text{s.t.} \quad \begin{aligned} & 1^{\text{i,y}} r_o - 2^{\text{i,y}} r_o - o_y = 0 \\ & |1^{\text{i,x}} r_o - 2^{\text{i,x}} r_o| - \delta_x = 0 \\ & |1^{\text{i,z}} r_o - 2^{\text{i,z}} r_o| - \delta_z = 0 \\ & \Theta_1^{lb} \le \Theta_1 \le \Theta_1^{ub} \end{aligned} \end{gathered} \quad (13) $$

where, $i,x,r_o$, $i,y,r_o$, and $i,z,r_o$ denote the x, y, and z component of object's CoM with respect to contact i, and $\tau_m$ is the actual torque measurements obtained from the simulation. In (13), the first constraint ensures that $^o r_{i,y}$ sum up to the width of the object $o_y$ and the next two constraints reiterates the fact that $^o r_{i,x}$ and $^o r_{i,z}$ cannot change much since the contact points are controlled with equal gains. However, a small difference is possible during the motion due to slip, and this is accounted for using $\delta$. Finally, the last constraint is nothing but lower and upper bounds set to ensure that $^c\mathbf{r}_o$ remain within the object's geometrical dimensions, and $m_o>0$, and respects certain limits.

## B. Inertia Estimation

In the case of object's inertia $\mathbf{I}_o$, it can be inferred from (7) that it is predominantly dependent on the angular acceleration of the object $\dot{\omega}_o$. Hence, for better estimation of $\mathbf{I}_o$, the motion should impart a sufficient amount of $\dot{\omega}_o$. This is achieved by planning constant acceleration trajectories, as discussed in Section IV-B. The exact details of the motion are presented in Section V-C. Unlike in the estimation of $\Theta_1$, where only $\dot{\mathbf{q}}$ was considered, here, both $\dot{\mathbf{q}}$ and its derivatives must be taken into account. In this regard, the object dynamics integrated equation of motion given in (9) can be written in succinct form as follows:

$$ \tau_{rob} + \tau_{grasp} + \mathbf{J}_c^T \mathbf{G}^\dagger \mathbf{F}_o^b = \tau_a, \quad (14) $$

where, $\tau_{rob} = \mathbf{M}\dot{\mathbf{q}} + \mathbf{b} + \mathbf{J}_f^T \lambda$ is the torque due to the robot dynamics, $\tau_{grasp} = \mathbf{J}_c^T \mathbf{F}_c^g$ is the torque due to the grasp force, and $\tau_a$ denotes the actuation torques $\mathbf{S}^T \tau$. In (14), the last

<table><caption>TABLE II: Estimated Object Inertial Parameters</caption><thead><tr><th>Parameters</th><th>Actual</th><th>Estimated</th></tr></thead><tbody><tr><td>$m_o$</td><td>1.5</td><td>1.526</td></tr><tr><td>$[^1\mathbf{r}_o, ^2\mathbf{r}_o]$</td><td>[[0.008, -0.217, -0.013], [0.01, 0.220, -0.012]]</td><td>[[0.015, -0.220, -0.015], [0.012, 0.225, -0.018]]</td></tr><tr><td>$\mathbf{I}_o$</td><td>[0.031, 0.019, 0.027]</td><td>[0.025, 0.024, 0.001]</td></tr></tbody></table>

term on the left-hand side is obtained by substituting (8) in (9). Similar to (12), (14) can be written in terms of $\mathbf{I}_o$ to be estimated as given below.

$$ \tau_{rob} + \tau_{grasp} + \tau_{obj}(\mathbf{I}_o, \hat{\Theta}_1) = \tau_a, \quad (15) $$

where $\tau_{obj} = \mathbf{J}_c^T \mathbf{G}^\dagger \mathbf{F}_o^b$ is the torque due to the object dynamics, and it can be determined using (7). It is to be noted that $\hat{\Theta}_1$ estimated in (13) will be used here. Similar to $\Theta_1$, $\mathbf{I}_o$ is estimated by formulating it as a nonlinear optimization problem with constraints as given below:

$$ \begin{gathered} \min_{\mathbf{I}_o} f_2(\mathbf{q}, \dot{\mathbf{q}}, \ddot{\mathbf{q}}, \lambda, \mathbf{F}_c^g, \hat{\Theta}_1, \mathbf{I}_o) = \|\hat{\tau}_a - \tau_m\|^2 \\ \text{s.t.} \quad \frac{\text{tr}(\mathbf{I}_o)}{2} - \lambda_{\max}(\mathbf{I}_o) > 0, \end{gathered} \quad (16) $$

where, $\text{tr}(\mathbf{I}_o) = I_o^{xx} + I_o^{yy} + I_o^{zz}$ and $\lambda_{\max}(\mathbf{I}_o)$ denote the trace and maximum eigenvalue of $\mathbf{I}_o$. The constraint in (16) ensures that the estimated object inertia is physically consistent.

## C. Simulation and Results

The simulation setup is similar to the one stated in Section IV-A. For the estimation of $m_o$ and $^o\mathbf{r}_c$, 15 different static poses are used. The poses are generated in such a way that they span a wide range of the humanoid's workspace. The static poses generated for the estimation spans the object's cartesian workspace as follows: translation - X (0.3 - 0.4m), Y (±0.35 m), Z (±0.25 m), rotational - X (±20°), Y (±20°), Z (±60°). The translational values are specified concerning the robot's base link. The MPC control framework introduced in Section III-C is used to manipulate the object to the desired poses. For each pose, the controller goes through the following phases: i) reach, ii) grasp, and iii) manipulate. For all the phases, a trajectory tracking type control is used to ensure that the object is smoothly manipulated to the desired pose. Once the object reaches the desired pose, it is held in that pose for a 2-second duration, and the required data is collected. The mean value of the data is computed, and they are further used to estimate $\Theta_1$, as described in Section V-A. In (13), both $\hat{\tau}_a$ and $\tau_m$ are $\mathbf{R}^{n \times N, 1}$ vectors, where $N = 15$ is the number of static poses. The estimated values of $\Theta_1$ are given in Table II. For the estimation, we used the 'Nelder-Mead' method from the SciPy library. Since 'Nelder-Mead' can only handle the bounds, the first three nonlinear constraints are implemented as penalty cost with a weight $w = 25$ and added to $f_1$ in (13). Here, $\delta$ is taken as 0.01.

For the estimation of $\mathbf{I}_o$, as discussed in Section V-B, constant acceleration type manipulation motions are used. In particular, we planned motions that could result in constant angular accelerations along the XYZ components of the object frame. This is achieved by designing arc tangent motions for the object along the XYZ axes, with the base link acting as the reference point. In total, three different motions,
one for each X, Y, and Z axes, are generated. The overall motion includes the following phases: i) reach, ii) grasp, iii) manipulate, and iv) constant acceleration. The constant acceleration phase is realized, as explained in Section IV-B. The data were collected for the complete motion at 65 Hz, and only those related to the constant acceleration part were used for the estimation. The $I_o$ parameters are estimated by solving (16) using the 'ipopt' solver from the 'CasADi' library. For both the estimation, the lower and upper bounds are taken as 30% and 200% of their respective actual values. The results so obtained are tabulated in Table II. The estimation of $m_o$, $l_{ro}$, and $r_{ro}$ are good with an error of ≈ 2%. However, the estimation of $\hat{l}_o$ is relatively poor with a 22% deviation reported for $\hat{I}_{xx}$ and $\hat{I}_{yy}$. The $\hat{I}_{zz}$ suggests that the designed motion failed to excite it sufficiently, and this needs to be investigated further. For more details, please see the video attached to this manuscript.

## VI. CONCLUSION

In this work, we propose a WBMC manipulation and an estimation framework for handling large objects using humanoids. The framework incorporates artificial skin patches which are effectively utilized in both the manipulation and estimation processes. The WBMC manipulation problem is formulated as an OCP in MPC form, and it is solved using the DDP algorithm. Three distinct types of object manipulation motions are considered. Their realization using the proposed WBMC controller is analyzed extensively through numerical simulations, with results indicating enhanced and robust dynamic performance in manipulation tasks. These manipulation motions are further exploited to design an object parameter estimation framework. The estimation results, presented briefly, demonstrate accurate estimation of the object's mass and CoM, while the estimation of inertia is relatively less accurate. For future work, we would like to improve the accuracy of inertia estimation and validate the complete framework on a physical humanoid robot system.

## ACKNOWLEDGEMENT

This research work was funded by HoRoPo (ANR-22-CE92-0029), ANITI IA (ANR-19-P3IA-0004 and 23-IACL-0002), and the access to TALOS was provided through ROBOTEX 2.0 (ROBOTEX ANR-10-EQPX-44-01 and TIRREX-ANR-21-ESRE-0015)

## REFERENCES

[1] T. Tarn, A. Bejczy, and X. Yun, "Design of dynamic control of two cooperating robot arms: Closed chain formulation," in *Proceedings. 1987 IEEE International Conference on Robotics and Automation*, vol. 4. IEEE, 1987, pp. 7-13.

[2] J. Gudiño-Lau and M. A. Arteaga, "Dynamic model and simulation of cooperative robots: a case study," *Robotica*, vol. 23, no. 5, pp. 615-624, 2005.

[3] Y. Ren, Y. Liu, M. Jin, and H. Liu, "Biomimetic object impedance control for dual-arm cooperative 7-dof manipulators," *Robotics and Autonomous systems*, vol. 75, pp. 273-287, 2016.

[4] K. Harada, S. Kajita, H. Saito, M. Morisawa, F. Kanehiro, K. Fujiwara, K. Kaneko, and H. Hirukawa, "A humanoid robot carrying a heavy object," in *Proceedings of the 2005 IEEE International Conference on Robotics and Automation*. IEEE, 2005, pp. 1712-1717.

[5] Y. Ohmura and Y. Kuniyoshi, "Humanoid robot which can lift a 30kg box by whole body contact and tactile feedback," in *2007 IEEE/RSJ International Conference on Intelligent Robots and Systems*. IEEE, 2007, pp. 1136-1141.

[6] H. Arisumi, S. Miossec, J.-R. Chardonnet, and K. Yokoi, "Dynamic lifting by whole body motion of humanoid robots," in *2008 IEEE/RSJ International Conference on Intelligent Robots and Systems*. IEEE, 2008, pp. 668-675.

[7] S. Nozawa, R. Ueda, Y. Kakiuchi, K. Okada, and M. Inaba, "A full-body motion control method for a humanoid robot based on on-line estimation of the operational force of an object with an unknown weight," in *2010 IEEE/RSJ International Conference on Intelligent Robots and Systems*. IEEE, 2010, pp. 2684-2691.

[8] S. Nozawa, M. Murooka, S. Noda, K. Okada, and M. Inaba, "Description and execution of humanoid's object manipulation based on object-environment-robot contact states," in *2013 IEEE/RSJ IROS*. IEEE, 2013, pp. 2608-2615.

[9] S. Y. Shin, J. won Lee, and C. Kim, "Humanoid's dual arm object manipulation based on virtual dynamics model," in *2012 IEEE ICRA*. IEEE, 2012, pp. 2599-2604.

[10] S. Y. Shin and C. Kim, "Human-like motion generation and control for humanoid's dual arm object manipulation," *IEEE Transactions on Industrial Electronics*, vol. 62, no. 4, pp. 2265-2276, 2014.

[11] M. Florek-Jasińska, T. Wimböck, and C. Ott, "Humanoid compliant whole arm dexterous manipulation: control design and experiments," in *2014 IEEE/RSJ International Conference on Intelligent Robots and Systems*. IEEE, 2014, pp. 1616-1621.

[12] A. Goncalves, N. Kuppuswamy, A. Beaulieu, A. Uttamchandani, K. M. Tsui, and A. Alspach, "Punyo-1: Soft tactile-sensing upper-body robot for large object manipulation and physical human interaction," in *2022 IEEE 5th International Conference on Soft Robotics (RoboSoft)*. IEEE, 2022, pp. 844-851.

[13] W. Yuan, K. Hang, H. Song, D. Kragic, M. Y. Wang, and J. A. Stork, "Reinforcement learning in topology-based representation for human body movement with whole arm manipulation," in *2019 international conference on robotics and automation (ICRA)*. IEEE, 2019, pp. 2153-2160.

[14] W. Khalil, M. Gautier, and P. Lemoine, "Identification of the payload inertial parameters of industrial manipulators," in *Proceedings 2007 IEEE International Conference on Robotics and Automation*. IEEE, 2007, pp. 4943-4948.

[15] G. Cheng, E. Dean-Leon, F. Bergner, J. R. G. Olvera, Q. Leboutet, and P. Mittendorfer, "A comprehensive realization of robot skin: Sensors, sensing, control, and applications," *Proceedings of the IEEE*, vol. 107, no. 10, pp. 2034-2051, 2019.

[16] D. Baek, B. Peng, S. Gupta, and J. Ramos, "Online learning-based inertial parameter identification of unknown object for model-based control of wheeled humanoids," *IEEE RA-L*, 2024.

[17] O. Stasse, T. Flayols, R. Budhiraja, K. Giraud-Esclasse, J. Carpentier, J. Mirabel, A. Del Prete, P. Souères, N. Mansard, F. Lamiraux, et al., "Talos: A new humanoid research platform targeted for industrial applications," in *2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids)*. IEEE, 2017, pp. 689-695.

[18] R. Featherstone, *Rigid body dynamics algorithms*. Springer, 2014.

[19] R. M. Murray, Z. Li, and S. S. Sastry, *A mathematical introduction to robotic manipulation, Chapter 5*. CRC press, 2017.

[20] E. Dantec, M. Taix, and N. Mansard, "First order approximation of model predictive control solutions for high frequency feedback," *IEEE Robotics and Automation Letters*, vol. 7, no. 2, pp. 4448-4455, 2022.

[21] X. Yun and V. R. Kumar, "An approach to simultaneous control of trajectory and interaction forces in dual arm configurations," in *Advanced Robotics: 1989: Proceedings of the 4th International Conference on Advanced Robotics Columbus, Ohio, June 13-15, 1989*. Springer, 1991, pp. 278-298.

[22] T. Liu, Y. Lei, L. Han, W. Xu, and H. Zou, "Coordinated resolved motion control of dual-arm manipulators with closed chain," *International Journal of Advanced Robotic Systems*, vol. 13, no. 3, p. 80, 2016.

[23] C. Mastalli, R. Budhiraja, W. Merkt, G. Saurel, B. Hammoud, M. Naveau, J. Carpentier, L. Righetti, S. Vijayakumar, and N. Mansard, "Crocoddyl: An efficient and versatile framework for multi-contact optimal control," in *2020 IEEE International Conference on Robotics and Automation (ICRA)*. IEEE, 2020, pp. 2536-2542.