## Adapting Skills to Novel Grasps: A Self-Supervised Approach

Georgios Papagiannis , Kamil Dreczkowski, Vitalis Vosylius and Edward Johns ∗

The Robot Learning Lab at Imperial College London www.robot-learning.uk/adapting-skills

Abstract -In this paper, we study the problem of adapting manipulation trajectories involving grasped objects (e.g. tools) defined for a single grasp pose to novel grasp poses. A common approach to address this is to define a new trajectory for each possible grasp explicitly, but this is highly inefficient. Instead, we propose a method to adapt such trajectories directly while only requiring a period of self-supervised data collection, during which a camera observes the robot's end-effector moving with the object rigidly grasped. Importantly, our method requires no prior knowledge of the grasped object (such as a 3D CAD model), it can work with RGB images, depth images, or both, and it requires no camera calibration. Through a series of real-world experiments involving 1360 evaluations, we find that self-supervised RGB data consistently outperforms alternatives that rely on depth images including several state-of-the-art pose estimation methods. Compared to the best-performing baseline, our method results in an average of 28.5 % higher success rate when adapting manipulation trajectories to novel grasps on several everyday tasks. Videos of the experiments are available on our webpage at www.robot-learning.uk/adapting-skills.

## I. INTRODUCTION

Consider a robot that has acquired a skill involving a grasped object, such as using a hammer to hammer in a nail, as shown in Figure 1 (a). Such a skill can be defined with various methods, such as imitation learning [1], and comprises a trajectory of end-effector (EEF) poses, and as a result, a trajectory of poses followed by the grasped object. For that skill to be widely applicable, it must generalise to the novel grasp poses that may occur at skill deployment (i.e. to different poses of the hammer within the robot's gripper). However, generalising a skill to novel grasp poses typically requires manually defining a new trajectory for each grasp pose (e.g. by providing multiple grasp-specific demonstrations), which is highly laborious. In this work, we address this problem and develop a method that enables a robot to autonomously adapt a skill's trajectory defined for an object grasped at a single grasp pose, to any novel grasp.

Past work has addressed this problem mainly by regrasping the object at a pose that aligns with the skill's requirements [2, 3, 4]. However, the majority of these methods assume prior knowledge about the object's 3D CAD model [2, 3] which is usually unavailable in unstructured environments, and methods that bypass this requirement rely on depth images that can cause failures due to missing depth data [4]. Moreover, regrasping methods often rely on a sequence of pick and place operations making them slow to deploy [4].

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-a2f60ae0-e2e2-4994-94bc-7fb76f6181fe.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-d13323c4-f35a-4017-8623-74553ae600da.jpg)

## Skill Deployment with Adaptation

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-438a2734-4c20-426c-8dc2-2efb47e080c7.jpg)

Fig. 1: Skill Acquisition: (a) With the hammer grasped at the skill grasp, the skill's trajectory (defined e.g. via a human demonstration) specifies how to hammer the nail. Skill Deployment without Adaptation: (b) If the hammer is grasped differently to the skill grasp, executing the skill's trajectory leads to task failure. Skill Deployment with Adaptation: (c) A corrective transformation is applied to the skill's EEF trajectory such that (without changing the grasp pose) the hammer under the deployment grasp follows the same trajectory it followed under the skill grasp, to successfully complete the task.

Instead, we are interested in methods that can adapt skills immediately, without regrasping or any prior object knowledge. To adapt a skill's trajectory to some grasp without regrasping, a potential solution is to determine a corrective transformation that changes the EEF's trajectory during skill deployment, such that the grasped object follows the same trajectory it followed under the grasp pose that was used to define the skill, as shown in Figure 1 (a) and (c). This can be achieved with the use of existing pose estimation methods, to first estimate the relative pose of the grasped object between the skill acquisition and deployment phases, using RGB or depth images of that object captured from a camera. Then, by using the estimated relative pose, the corrective transformation can be obtained trivially using knowledge of the camera's extrinsics [5]. Given images of the skill and deployment grasps, the required pose estimation could be achieved by establishing correspondences directly [6, 7], though learned descriptors [8, 9, 5] or canonical object representations [10], or by explicitly estimating an object's pose [11, 12, 13, 14, 15]. However, similarly to regrasping

approaches, the majority of these methods rely on prior knowledge of the object's 3D CAD model [10, 12] or semantic category-specific training data [5, 10, 13], which may not be readily available. And methods that assume no prior object knowledge when learning descriptors [9, 8, 11] or estimating an object's pose [11, 14, 15, 7] still rely on depth images, which can be problematic due to noisy or partially missing depth data [16]. Finally, as these methods rely on estimating the pose of the grasped object, to determine the corrective transformation they require precise knowledge of a camera's extrinsic parameters (relative to the EEF), which can negatively affect performance due to challenges with camera calibration [17].

Our contributions. Motivated by the above challenges, this paper develops a method to address them by bypassing the need to explicitly estimate the pose of a grasped object . Instead, it directly determines the corrective transformation to adapt a skill trajectory defined for a single grasp pose to any novel grasp. As a result, our method: (1) assumes no prior object knowledge, such a 3D CAD model , (2) can operate with only RGB images if necessary , (3) is robust to noisy or partially missing depth data if using depth images , and (4) does not require any camera calibration .

Our method involves the robot collecting images (RGB or depth) of the grasped object by moving its EEF in front of a single external camera, in a self-supervised manner. As we will later show, this allows us to derive a framework that leverages these images to train a neural network that directly obtains the corrective transformation at skill deployment. As a result, with a few minutes of self-supervised data collection added to a standard pipeline that equips robots with skills, we can now adapt trajectories defined for a single grasp pose to different possible grasps.

We demonstrate the significance of our method through a series of real-world experiments, which quantify its accuracy and ability to adapt skill trajectories to novel grasp poses. Our experiments include adapting manually scripted trajectories for precise peg-in-hole insertion, as well as trajectories obtained with imitation learning for 7 everyday tasks, such as hammering in a nail, aligning a wrench with a nut, and inserting bread into a toaster. By evaluating 3 variants of our method and 5 depth-based pose estimation baselines we conclude that self-supervised RGB data results in the most accurate estimation of the corrective transformation. Specifically, we perform a total of 1360 real-world evaluations which show that, compared to the best-performing baseline, our method yields an average of 28.5 % higher success rate when adapting skill trajectories to novel grasps.

## II. PROBLEM FORMULATION

Notations. We define the following frames: { W } which corresponds to the world frame, { E } which corresponds to the end-effector's (EEF) frame and { O } which is the frame of the grasped object. A transformation T WE ∈ SE (3) defines the pose of frame E relative to frame W . Also, we refer to the transformation T EO as a grasp pose . We denote the different relative transformations between the same two frames using superscript notation. For example, P T EO and Q T EO denote two different grasp pose instantiations of the same object (for examples see Figure 2), M T WE and K T WE denote two different EEF poses expressed in the world frame, and so on. Additionally, we define the transformation T EE ′ expressed in frame { E } , to denote displacement , that is the EEF moves by T EE ′ , from its current pose T WE to the pose T WE T EE ′ . We distinguish across different instantiations of EEF displacements using superscript notation, e.g. X T EE ′ . Finally, we refer to the EEF displacement that aligns an object grasped at pose P T EO with another grasp pose Q T EO as the transformation Z T EE ′ , that moves the grasped object under P T EO to match the pose of Q T EO in the world frame; that is, it satisfies: T WE Z T EE ′ P T EO = T WE Q T EO for any T WE .

Motivation. Consider a skill that enables the robot to manipulate an object (e.g. a hammer) grasped at a pose S T EO to complete some task (e.g., to hammer a nail). We refer to S T EO as the skill grasp and it denotes the grasp pose used to define the skill's trajectory (see Figure 1 (a)). A skill's trajectory comprises a sequence of H EEF displacements { t T EE ′ } H t =1 that make the grasped object track a sequence of H poses { t T EE ′ S T EO t } H =1 relative to some initial EEF pose T WE . Examples of such trajectories tracked by a grasped hammer can be seen in Figure 1.

Now, consider a scenario during deployment of the skill, where the object is grasped differently to the skill grasp, at the grasp pose D T EO , referred to as the deployment grasp (see Figure 1 (b) and (c)). This can commonly occur due to the robot autonomously grasping the object (e.g., with GraspNet [18]), due to external perturbations on the grasped object or due to a human handing the object to the robot.

̸

̸

Simply executing the skill's trajectory with the deployment grasp will likely result in task failure, as the object will follow a different trajectory to that of the skill grasp, as shown in Figure 1 (b). Specifically, as D T EO = S T EO , and hence the trajectory { t T EE ′ D T EO t } H =1 = { t T EE ′ S T EO t } H =1 the skill will no longer be suitable to complete its designated task under the deployment grasp (Figure 1 (b)). Motivated by this, we are interested in determining a corrective transformation C T EE ′ that changes the EEF's trajectory during skill deployment such that the object follows the same trajectory it followed under the skill grasp (as shown in Figure 1 (a) and (c)). That is C T EE ′ aligns D T EO to S T EO for any EEF pose T WE :

$$\mathbf T _ { W E } ^ { \mathbf C } \mathbf T _ { E E ^ { ^ { \prime } } } \mathbf D \mathbf T _ { E O } & = \mathbf T _ { W E } ^ { \mathbf S } \mathbf T _ { E O } \Rightarrow \\ \mathbf C \mathbf T _ { E E ^ { ^ { \prime } } } & = \mathbf S \mathbf T _ { E O } \mathbf D \mathbf T _ { E O } ^ { - 1 } \,.$$

With the corrective transformation, we can adapt the skill's trajectory during skill deployment such that { t T EE ′ C T EE ′ D T EO t } H =1 = { t T EE ′ S T EO t } H =1 . Figure 1 (c) demonstrates the adapted sequence of poses followed by a hammer after applying the corrective transformation to the EEF's trajectory of Figure 1 (b). We note that adapting a skill using the corrective transformation only changes the EEF's

## Emulating Different Grasps

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-a9b41962-6fcf-42a2-a826-87b64b82f72e.jpg)

Fig. 2: Self-supervised Data Collection: (a) An example of a possible reference grasp. (b) The EEF at a potential reference pose R T WE in front of the external camera. The object is at the reference grasp. (c) With the object rigidly grasped at the reference grasp, we sample and move the EEF to random poses N T EE ′ relative to the reference pose to collect image-transformation pairs in a self-supervised manner that emulate different grasps. Emulating Different Grasps: (d.1) By transforming the EEF and the object at the reference grasp by N T EE ′ , we emulate an arbitrary grasp with some grasp pose A T EO relative to the reference pose as it is shown in (d.2). (e) Then, if the object is grasped at that arbitrary grasp pose A T EO emulated by N T EE ′ , moving the EEF to N T -1 EE ′ relative to the reference pose aligns the object to the reference grasp.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-9292b21d-aa11-4620-83fd-be0ff7b90dfd.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-9bc62374-9541-4ef5-bb4e-f9f012aca6c9.jpg)

trajectory; unlike regrasping methods, it does not change the grasp pose of the object in the robot's gripper.

## III. METHOD

In this section, we present a method to determine the corrective transformation between any pair of skill and deployment grasps of an object by leveraging images collected in a self-supervised manner in the real-world. This process requires no prior object knowledge or human time, no camera calibration, and it can work with either RGB or depth modalities or both.

i.e., any skill or deployment grasp, to the reference grasp, in the absence of any human intervention or prior object knowledge, and without requiring depth images or camera calibration, all of which are hard to achieve with existing pose estimation methods.

The process begins with a user handing the object to the robot's gripper at some arbitrary grasp pose which we refer to as the reference grasp . Then, the robot moves to different poses in front of an external camera in a selfsupervised manner to emulate different possible grasps. By capturing images from the external camera and leveraging the robot's forward kinematics we train a vision-based alignment network that predicts an EEF displacement that can align any grasp to the reference grasp. As we later show, this allows us to obtain the corrective transformation between any pair of skill and deployment grasps by first aligning them to the reference grasp. This results in a task agnostic method where we can collect data for a grasped object once and leverage that data to adapt skills across any task for which the object is used and for any skill or deployment grasps.

## A. Aligning grasps to a reference grasp

First, we define the reference grasp R T EO . R T EO can be any grasp pose, including that of the skill grasp. For generality, we assume that they are different, and in our experiments to define a reference grasp the user simply places the object in the EEF in a natural-looking pose for that object. Figure 2 (a) shows an example of a possible reference grasp for a hammer. Note that in practice as we do not assume any prior object knowledge or access to a 3D CAD model we do not have access to the numerical value of the pose R T EO . Our initial goal is to determine how to align an object grasped at any possible grasp pose,

Self-supervised data collection. Towards this end, we seek a way to emulate the appearance of different possible grasps in the robot's EEF autonomously, in a self-supervised manner. To achieve this, we begin by moving the EEF to a reference pose R T WE with the object grasped at the reference grasp, as shown in Figure 2 (b). The reference pose can be arbitrary as long as the grasped object is clearly visible to the camera. Then, from R T WE , we sample and move the robot to random poses N T EE ′ relative to the reference pose. Throughout this process we do not manually move the object in the gripper, instead, the object remains rigidly grasped at the reference grasp, requiring no human intervention. At every EEF pose R T WE N T EE ′ we capture an image of the grasped object, I , and record the inverse transformation N T -1 EE ′ , as can be seen in Figure 2 (c) and Figure I.1 in the appendix. This way we record a dataset of M image-transformation pairs D := { ( I, N T -1 EE ′ ) i } M i =1 in a self-supervised manner.

Every random EEF displacement N T EE ′ emulates a different, arbitrary grasp with some grasp pose A T EO (whose numerical value is unknown) relative to the reference pose , as shown in Figure 2 (d.1) and (d.2). As a result, every sample ( I, N T -1 EE ′ ) i in our dataset D contains an image I that depicts how the grasped object would appear to the camera if the object was grasped at that arbitrary grasp pose A T EO and the EEF was at the reference pose , as shown in Figure 2 (d.2). And every N T -1 EE ′ corresponds to the transformation that we need to apply to the robot's EEF at the reference pose to align the object at that arbitrary grasp pose A T EO to the reference grasp, as shown in Figure 2 (e). This is true since R T WE N T EE ′ R T EO = R T WE A T EO and as a result R T WE N T -1 EE ′ A T EO = R T WE R T EO .

For pseudocode detailing our data collection procedure

Fig. 3: Top row: Given a skill grasp, the EEF moves to the reference pose. Using our trained alignment network we obtain the transformation that aligns the skill grasp to the reference grasp. Then, a method suitable for equipping robots with skills is used to define the skill's trajectory. Bottom row: During skill deployment for any deployment grasp, we first obtain the transformation that aligns the deployment grasp to the reference grasp using our alignment network. This allows us to compute the corrective transformation which we use to adapt the skill's trajectory to the given deployment grasp.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-8a3322f5-896f-4d7a-98f6-abfd2e8b8749.jpg)

please see Algorithm 1 in the appendix.

## B. Alignment Network

After collecting our dataset D we train an alignment network which is a function parameterised by θ , f θ : R H × W C × → SE (3) using supervised learning to predict poses N T -1 EE ′ given camera images ( H : height, W : width of the image and C = 3 for RGB and C = 1 for depth).

In practice, when the robot grasps the object at a pose different from the reference grasp, the gripper's fingers will occlude parts of the object differently to the occlusions captured in images in D . Hence, we need to ensure that the alignment network's predictions are robust to any occlusion caused by the gripper when grasping the object. To achieve this, before training f θ , we segment the EEF and background from each image I in D using a pre-trained optical flow network [19] which we deploy similarly to [20] and perform additional data augmentations. This way, we ensure that our alignment network's predictions are object-centric and robust to any object occlusions caused by the gripper or previously unseen image variations. For more implementation details we refer the reader to the appendix I.A-I.C.

grasp we deploy our alignment network f θ to obtain the transformation that aligns the skill grasp to the reference grasp. For clarity, we denote that transformation as S T EE ′ (instead of N T -1 EE ′ ). Then, a method suitable for equipping robots with skills is used to define the skill's trajectory (e.g., an imitation learning method like [1, 21]), as shown in the top row of Figure 3. Then, at skill deployment, given any novel deployment grasp, we obtain the transformation that aligns that grasp to the reference grasp in an identical manner using the alignment network. For clarity, we denote that transformation as D T EE ′ . Given S T EE ′ and D T EE ′ , we can calculate the corrective transformation C T EE ′ trivially, that is C T EE ′ = S T -1 EE ′ D T EE ′ . Then, given the corrective transformation, we can immediately adapt a skill's trajectory, as shown in the bottom row of Figure 3 and discussed in Section II.

At test time, given a grasp, to obtain the transformation N T -1 EE ′ , we first move the EEF to the reference pose R T WE . Then, we capture a live image and segment everything but the grasped object. The segmented image is then passed through f θ to obtain N T -1 EE ′ . In practice, we obtain N T -1 EE ′ in a visual servoing (VS) manner. During the VS process, we leverage our robot's redundant DOFs and motion-planning to ensure that we avoid self-collisions and joint limits. We refer the reader to the appendix I.F for a derivation of the VS process using our alignment network's predictions. Finally, as the external camera is rigidly mounted to the robot during data collection and deployment of f θ , our method is also independent of camera calibration.

## C. Corrective Transformation

Now that we have a way to align any grasp to the reference grasp, consider a skill grasp S T EO . First given the skill

To see why we can obtain the corrective transformation this way, note that S T EE ′ and D T EE ′ align the skill grasp S T EO and deployment grasp D T EO to the reference grasp R T EO respectively, that is: S T EE ′ S T EO = R T EO = D T EE ′ D T EO . Hence, it follows that: S T EO D T -1 EO = S T -1 EE ′ D T EE ′ and as a result from Equation 1 we can see that C T EE ′ = S T -1 EE ′ D T EE ′ . Note that the corrective transformation is not dependent to the reference pose or any EEF pose relative to the world frame. This allows us to adapt the skill's trajectory across the whole task space of the robot.

For pseudocode detailing the deployment of our method please see Algorithm 3 in the appendix.

Finally, we note that the alignment network is agnostic to the skill's trajectory and its designated task. This is very important: once the alignment network is trained for a particular grasped object, we can re-use that same alignment network for any task with that same object, without further training. A video demonstrating this ability can be found at the bottom of our webpage at www.robot-learning.uk/adapting-skills.

## IV. EXPERIMENTS

We evaluate our method by performing three sets of real-world experiments totaling 1360 real-world evaluations.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-8ba5b9b5-19e4-49d4-b8c6-b9d45d625f68.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-6eae4d7b-9a0f-4f05-b017-bb213713f035.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-daf31d52-1ba1-4d94-b284-09dc35f0f0af.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-cef58b6e-e2f1-4c20-9239-852e0d47c3e0.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-06c32cda-0fb1-403e-8418-0c364b6f6a12.jpg)

Bread

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-22cad17f-018a-4d95-adb1-580d41a2bab9.jpg)

Spoon

Fig. 4: Mean and standard deviation error in computing the corrective transformation between grasps averaged across all DoFs for the position and orientation for the 6 everyday objects (lower is better).

Through these experiments, we answer the following questions: 1) How accurate are the corrective transformations obtained by our method? 2) Can our method adapt skills to novel deployment grasps for (a) precise tasks and (b) tasks learned with imitation learning? 3) What is the best modality to determine the corrective transformation in the real-world; RGB, depth or both combined (RGB-D)? Videos of our real-world experiments can be found on our webpage at www.robot-learning.uk/adapting-skills.

Implementation details. For our experiments, we use a 7 DoF Rethink Sawyer Robot to which we mount a Microsoft Azure Kinect camera. To determine the reference pose R T WE , we empirically evaluate the quality of depth images for the objects used for evaluation at various EEF poses and select the best one. We found this to be crucial to obtain good performance for the baselines, as the quality of the depth images varied significantly based on an object's pose, unlike our method that is robust to this. We allow an average of approximately 5 minutes of real-world data collection, during which we sample random poses around R T WE in the range of 30 cm for each of the DoFs relating to position, and 60 ◦ for each of the DoFs relating to orientation. This range is not limiting and can be trivially adjusted to any value to accommodate any task requirements; we found that this range was sufficient for our tasks. Preprocessing the collected data and training takes approximately 15 minutes on an NVIDIA GeForce RTX 3080 Ti. We refer the reader to appendix I.C, I.D and I.E for further implementation details, a description of our network architectures and a discussion on the effect of data collection time on our method's performance.

## A. How accurate are the corrective transformations obtained by our method?

In this experiment, we quantify the accuracy of our method in determining the corrective transformation between pairs of object grasps. To perform our evaluation, we use 6 objects for the everyday tasks shown in Figure 5. That is, a plastic hammer , a plastic screwdriver , a plastic bread , a metallic spoon , a plastic wrench , and a semi-transparent wine glass .

Evaluation procedure. As we do not have access to the true pose of the objects, we evaluate our method using the robot's forward kinematics. We refer the reader to appendix II.A for a detailed description of our evaluation procedure. For each of the six objects, we randomly set 4 skill grasps and for each skill grasp, we evaluate the corrective transformation for 5 random deployment grasps leading to 20 evaluations per object. For each evaluation, we allow our method 5 seconds of visual servoing to align each grasp to the reference grasp.

Baselines. As we have no information about the objects' CAD models, we compare all variants of our method (RGB, Depth, RGB-D) on the same objects against 5 baselines that can be deployed without requiring any prior object knowledge: 1) ICP, 2) Color-ICP (C-ICP), 3) a real-world variant of neural descriptor fields [5] (RW-NDF) that we implement, and two correspondence based methods that leverage 4) DINO ViT (DINO) [22, 8] and 5) AspanFormer[6].

For ICP and C-ICP we capture a segmented depth image of the grasped object under the skill and deployment grasps and compute the relative pose between them in the camera's frame. Then, by leveraging the camera's extrinsics we obtain the corrective transformation. Additionally, we note that we tried scanning the object by moving it in front of the external camera to obtain a more complete 3D object model before using ICP and C-ICP, but performance did not improve and was almost identical. For DINO and AspanFormer we first obtain correspondences between the RGB images of the skill and deployment grasps and obtain their relative pose by leveraging the corresponding depth images and singular value decomposition [23]. Identically to our method's evaluation, we allow each baseline 5 seconds of visual servoing. We refer the reader to the appendix II.B for more details on the baselines implementations.

Results. Figure 4 shows the mean and standard deviation error of the corrective transformation averaged separately across the 20 evaluations for the DoFs relating to position and orientation for each object and method. The quantitative results of Figure 4 can be seen in the appendix Table B1. As shown, the RGB, Depth and RGB-D variants of our method perform better, on average, than the 5 baselines both with respect to position and orientation error. Specifically, the best-performing variant overall from our methods is RGB with a 2.65mm mean position error and 1.50 ◦ mean orientation error. In addition to the high accuracy, the results of Figure 4 also confirm that our method is robust to object occlusions caused by the gripper's fingers under different grasps. From the baselines, AspanFormer obtains the lowest mean error in position (8.59mm) and DINO for orientation (5.56 ◦ ). Hence, RGB obtains a 69.1 % increase in position accuracy compared to AspanFormer and a 73.0 % increase in orientation accuracy compared to DINO, averaging at least a 71.1 % increase in accuracy when compared to all the baselines.

The performance difference is most profound for the spoon and glass objects (see Figure II.1 in the appendix), where all the baselines struggle to accurately determine the corrective transformation. We attribute this difference to the missing depth data for these objects which is due to their textures; that is the spoon is metallic and the glass semi-transparent. As shown in the appendix Figures II.3 and II.4 the point clouds for these objects have very low quality. On the other hand, our depth-based variant shows robustness to missing depth data as it was trained directly on the real-world depth images for each object. Nevertheless, it is still less accurate when compared to the RGB and RGB-D variants.

## B. Can our method adapt skills to novel deployment grasps for precise tasks?

In this experiment, we evaluate the ability of our method to adapt skill trajectories for precise tasks. To this end, we 3D printed a base with 4 different holes and a peg. The 4 holes have insertion tolerances of { 2 4 8 12 , , , } mm on each side of the peg, as shown in Figure 5. In this setting, we assume that the pose of the base is known. This setup may correspond to an industrial assembly setting where the pose of the insertion hole is known, but there is uncertainty on the grasp pose of the object (e.g. because the robot autonomously grasps it). In this setting, manually programming a separate trajectory for every possible grasp is infeasible. Instead, it is significantly more efficient to design a single insertion skill for some skill grasp and deploy our method to adapt the insertion trajectory for each deployment grasp.

Evaluation procedure. First, for each hole, we hand the peg to the robot to define a skill grasp and we manually program a trajectory of poses to insert the peg in each of the 4 holes which we track with a position controller. Then, we randomly change the pose of the peg in the gripper and consider that as a deployment grasp. Given the deployment grasp, we deploy our method to adapt the insertion trajectory as discussed in section II. We evaluate 5 different deployment grasps for each hole totalling 20 evaluations for each method.

Baselines. Based on the results of Section IV-A, we compare our method against the best non-learning-based baseline, ICP, and the best learning-based baseline, DINO. As we are interested in success rate, we selected ICP because it outperforms C-ICP in 4 out of the 6 objects, although its

TABLE I: Skill adaptation success rate to various deployment grasps for peg-in-hole insertion for 4 hole tolerances.

| Hole Tolerance   | RGB   | Depth   | RGB-D   | ICP   | DINO   |
|------------------|-------|---------|---------|-------|--------|
| 2mm              | 80%   | 40%     | 40%     | 40%   | 60%    |
| 4mm              | 100%  | 60%     | 80%     | 40%   | 20%    |
| 8mm              | 100%  | 80%     | 100%    | 100%  | 80%    |
| 12mm             | 100%  | 100%    | 100%    | 100%  | 100%   |
| Average          | 95%   | 70%     | 80      | 70%   | 65%    |

average error is higher as it is negatively affected by the 'Glass' and 'Spoon' objects. Similarly, we selected DINO as it outperforms RW-NDF and AspanFormer in more objects when accounting both for the translation and orientation errors. We evaluate the baselines identically to our method.

Results. Table I shows the success rate results for all methods. All variants of our method, outperform on average both ICP and DINO. Both ICP and DINO successfully adapt most deployment grasps for the holes with tolerances 8mm and 12mm, but fail to adapt the majority of the deployment grasps for the 2mm and 4mm holes. As shown, the RGB variant of our method performs best overall, outperforming ICP and DINO on average by 25 % and 30 % respectively, only failing to adapt one deployment grasp for the hole with the lowest tolerance of 2mm. The RGB-D variant also performs well but fails to adapt 3 deployment grasps for the 2mm tolerance hole. On the other hand, the Depth variant has the lowest performance across our method's variants.

The results suggest that our method can accurately determine the corrective transformation between grasps to adapt skill trajectories even for tasks with low error tolerance. However, our results also indicate that the RGB modality is crucial for high precision. Interestingly, when combining RGB with depth, the performance seems to be better than using only depth but lower compared to using only RGB. This is likely because, during training, our alignment network is optimized to give a certain weight to RGB and a certain weight to the depth modality based on the depth values recorded in the training dataset. However, if the depth images observed during testing do not match those observed during training, likely due to the high level of noise in the depth signal, this can negatively affect the alignment network's predictions.

## C. Can our method adapt skills learned with imitation learning to novel deployment grasps?

In this experiment, we are interested in evaluating our method as a modular component added to a skill acquisition pipeline where skill trajectories are obtained using imitation learning. This setup corresponds to a realistic robot learning setup where a user may teach a robot skills using human demonstrations. Specifically, we use the one-shot imitation learning method DOME [1] to equip our robot with skills to solve the 6 everyday tasks shown in Figure 5. DOME is a vision-based imitation learning method whose action space comprises EEF twists. We provide a brief overview of DOME in appendix II.D and refer the reader to [1] for more details.

Fig. 5: The 6 everyday objects and tasks and the peg-in-hole task used in the experiments.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-db847196-2306-4be3-bd91-649adf6fbeea.jpg)

Evaluation procedure. We teach the robot skills using DOME to solve the following six everyday tasks: A Hammer task requiring the robot to knock a plastic nail using a plastic hammer into a receptacle. A Screwdriver task requiring the robot to fully insert the tip of the plastic screwdriver into the slit of a screw. This task has very low tolerance, requiring millimetre precision. A Bread task requiring the robot to insert a plastic bread into the slit of a toaster. A Spoon task requiring the robot to insert the spoon into a mug and stir. A Wrench task that requires the robot to insert a plastic nut into the wrench's head. Finally, a Glass task where the robot needs to place a wine glass standing upright on a wooden rack. We chose these tasks to represent a variety of challenges and tolerances ranging from several cm of tolerance ( Spoon ) to around 1 mm of tolerance ( Screwdriver ). For each task, first, we hand the relevant object to the robot's EEF to define a skill grasp and provide a demonstration using DOME. Then, we manually sample novel deployment grasps approximately within 10 cm and 90 ◦ of the skill grasp for all the axes not constrained by the gripper's fingers and deploy DOME along with our method to adapt each skill's twists as described in section II. We perform this process for 10 different grasps for each task and record the success rate of each skill adaptation trial, totaling 60 evaluations per method. For each evaluation, we also randomize the task space configuration and consider a trial successful if the task is completed as in the demonstration. Finally, as in section IV-B, we compare our method against the ICP and DINO baselines.

Results. Table II shows the skill adaptation success rate for all the methods. All variants of our method outperform the baselines in the majority of trajectory adaptation trials, apart from the Screwdriver task where ICP outperforms both the Depth and RGB-D variants and the Bread task where DINO is the best-performing method along with RGB-D. Overall, the best-performing variant of our methods is RGB with an average success rate of 75 % , outperforming on average ICP and DINO by 32 % and 37 % respectively. We observe that all variants of our method can successfully adapt trajectories obtained by DOME to most deployment grasps, especially for the Hammer, Spoon and Glass tasks. The depth and RGB-D variants failed twice to adapt the trajectory for the Glass task. These failures likely relate to the semi-transparent texture of the glass which yields poor depth quality; an observation also made in section IV-A.

TABLE II: Skill adaptation success rate to various deployment grasps for imitation learning skills taught using DOME

| Tasks       | RGB   | Depth   | RGB-D   | ICP   | DINO   |
|-------------|-------|---------|---------|-------|--------|
| Hammer      | 100%  | 100%    | 100%    | 80%   | 60%    |
| Screwdriver | 30%   | 10%     | 10%     | 20%   | 0%     |
| Bread       | 50%   | 60%     | 70%     | 60%   | 70 %   |
| Spoon       | 100%  | 100%    | 100%    | 30%   | 40%    |
| Wrench      | 70%   | 70%     | 80%     | 50%   | 20%    |
| Glass       | 100%  | 80%     | 80%     | 20%   | 40%    |
| Average     | 75%   | 70%     | 73%     | 43%   | 38%    |

All variants of our method fail almost completely to adapt the trajectory obtained by DOME for the Screwdriver task. We attribute this failure mainly to DOME's error in accurately approaching the screw as our method yielded small inaccuracies in determining the corrective transformation in the order shown in Figure 4. Although small, the errors from both methods can result in failure when accumulated, especially for a high-precision task like the Screwdriver task. Similar reasoning applies to the Bread task, which, however, has a higher tolerance to error compared to the Screwdriver and, subsequently, a higher success rate.

Following these results and the results obtained in Section IV-B we can see that the RGB variant yields on average a 28.5 % higher success rate compared to ICP and 33.5 % when compared to DINO.

D. What is the best modality to determine the corrective transformation between pairs of object grasps in the realworld, RGB, depth or both combined (RGB-D)?

In our experiments, we observed that all modalities perform similarly when trained using our method. Overall, RGB is crucial when dealing with objects for which the depth quality is poor, especially when compared to depthbased registration methods as demonstrated in the previous sections. Further, even for the objects for which the depth quality was high, the performance was on par with that of RGB. In fact, we observed that RGB performed better for the peg-in-hole task. Hence, we can conclude that the RGB modality is the most robust overall. It performs well for all types of objects, causing no performance degradation compared to depth on all the experiments we conducted.

## V. DISCUSSION

## A. Limitations

We now highlight some important limitations of our method. Firstly, to obtain an alignment network for an object our method needs to collect data for a few minutes. As such, for basic low-tolerance tasks, simple baselines such as ICP may be preferred as they do not require data collection. However, for real-world tasks requiring precision, our method is necessary to overcome errors from calibration or missing depth data. And, as our alignment network can be reused across any task for an object without further training, if we aim to adapt skills across multiple grasps and tasks the required data collection time becomes comparably negligible.

Secondly, our method assumes that the object under the deployment grasp is grasped such that the gripper's fingers do not obstruct task execution. To address this assumption future work can trivially couple our method with affordancebased grasping approaches, e.g., [24] or imitation learning approaches like DOME [1] that can show to the robot which parts of an object to grasp. Additionally, this assumption is not practically limiting as most deployment grasps can be adapted, and as we showed in our experiments we can adapt skill trajectories over a wide range of grasp poses. Also, future work could investigate extending our method to detect such scenarios and perform regrasping by leveraging the corrective transformation.

Thirdly, our method assumes that for a given deployment grasp executing the adapted trajectory results in the same kinodynamic interaction with the environment as with the skill grasp. In most scenarios, this can be achieved by leveraging our robot's redundant degrees of freedom and motion planning as we do in our experiments. However, for grasps where the adapted trajectory cannot complete a task due to issues relating to the robot's kinematics, future work can couple our method with approaches that determine the initial robot configuration such that skill execution succeeds[25].

Finally, compared to methods such as [9, 5, 8, 11], in the current setup same-category generalization is not possible with our approach. However, these methods assume prior access to category-specific training data which may not be readily available, and rely on depth images which hinder the performance as shown in our experiments. Instead, our method addresses these issues. In future work, we aim to study whether training our method directly on image descriptors extracted from our dataset using pertained vision models, such as DINO ViTs [22], allows our method to generalize to novel objects of the same category.

## B. Conclusions

In this work, we proposed an autonomous, self-supervised method that enables the adaptation of skill trajectories defined for a single object grasp pose to any novel grasp pose at skill deployment, without any prior knowledge about the grasped object. Through multiple real-world experiments, we show that our method enables skills acquired through imitation learning, for several everyday tasks, to be adapted to different grasps at deployment without the robot needing to re-learn or fine-tune the skill itself. Importantly, our results demonstrate that RGB data collected in a self-supervised manner is the best modality that obtains the highest skill adaptation performance when compared to depth-based alternatives including several state-of-the-art pose estimation methods.

## REFERENCES

- [1] E. Valassakis et al. , 'Demonstrate once, imitate immediately (dome): Learning visual servoing for one-shot imitation learning,' IROS , 2022.
- [2] W. Wan, H. Igawa, K. Harada, H. Onda, K. Nagata, and N. Yamanobe, 'A regrasp planning component for object reorientation,' Auton. Robots , vol. 43, p. 1101-1115, jun 2019.
- [3] A. Nguyen et al. , 'Preparatory object reorientation for task-oriented grasping,' in IROS , 2016.
- [4] S. Cheng, K. Mo, and L. Shao, 'Learning to regrasp by learning to place,' CoRR , vol. abs/2109.08817, 2021.
- [5] A. Simeonov, Y. Du, A. Tagliasacchi, J. B. Tenenbaum, A. Rodriguez, P. Agrawal, and V. Sitzmann, 'Neural descriptor fields: Se(3)equivariant object representations for manipulation,' ICRA , 2022.
- [6] H. Chen et al. , 'Aspanformer: Detector-free image matching with adaptive span transformer,' ECCV , 2022.
- [7] S. Rusinkiewicz et al. , 'Efficient variants of the icp algorithm,' 3rd Intl. Conf. on 3D Digital Imaging and Modeling , 2001.
- [8] S. Amir et al. , 'Deep vit features as dense visual descriptors,' ECCVW What is Motion For? , 2022.
- [9] P. R. Florence, L. Manuelli, and R. Tedrake, 'Dense object nets: Learning dense visual object descriptors by and for robotic manipulation,' arXiv preprint arXiv:1806.08756 , 2018.
- [10] B. Wen, W. Lian, K. E. Bekris, and S. Schaal, 'You only demonstrate once: Category-level manipulation from single visual demonstration,' ArXiv , vol. abs/2201.12716, 2022.
- [11] W. Goodwin et al. , 'You only look at one: Category-level object representations for pose estimation from a single example,' in CoRL , 2023.
- [12] X. Deng, Y. Xiang, A. Mousavian, C. Eppner, T. Bretl, and D. Fox, 'Self-supervised 6d object pose estimation for robot manipulation,' in ICRA , 2020.
- [13] X. Li, H. Wang, L. Yi, L. Guibas, A. L. Abbott, and S. Song, 'Category-level articulated object pose estimation,' CVPR , 2020.
- [14] S. Devgon et al. , 'Orienting novel 3d objects using self-supervised learning of rotation transforms,' 2020 IEEE 16th International Conference on Automation Science and Engineering (CASE) , 2020.
- [15] H. Yisheng, W. Yao, F. Haoqiang, C. Qifeng, and S. Jian, 'Fs6d: Fewshot 6d pose estimation of novel objects,' CVPR , 2022.
- [16] A. Kadambi, A. Bhandari, and R. Raskar, 3D Depth Cameras in Vision: Benefits and Limitations of the Hardware . 2014.
- [17] E. Valassakis, K. Dreczkowski, and E. Johns, 'Learning eye-in-hand calibration from a single image,' in CoRL , 2021.
- [18] H. Fang et al. , 'Graspnet-1billion: A large-scale benchmark for general object grasping,' 2020 CVPR , pp. 11441-11450, 2020.
- [19] H. Xu, J. Zhang, J. Cai, H. Rezatofighi, F. Yu, D. Tao, and A. Geiger, 'Unifying flow, stereo and depth estimation,' 2022.
- [20] W. Boerdijk, M. Sundermeyer, M. Durner, and R. Triebel, 'Selfsupervised object-in-gripper segmentation from robotic motions,' in Conference on Robot Learning , 2020.
- [21] E. Johns, 'Coarse-to-fine imitation learning: Robot manipulation from a single demonstration,' in IEEE International Conference on Robotics and Automation (ICRA) , 2021.
- [22] M. Caron et al. , 'Emerging properties in self-supervised vision transformers,' 2021 ICCV) , 2021.
- [23] K. S. Arun, T. S. Huang, and S. D. Blostein, 'Least-squares fitting of two 3-d point sets,' IEEE Transactions on Pattern Analysis and Machine Intelligence , vol. PAMI-9, pp. 698-700, 1987.
- [24] D. Hadjivelichkov et al. , 'One-Shot Transfer of Affordance Regions? AffCorrs!,' in CoRL , 2023.
- [25] V. Vosylius and E. Johns, 'Where to start? collision-free transfer of skills to new environments,' in CoRL , 2022.
- [26] O. Ronneberger, P. Fischer, and T. Brox, 'U-net: Convolutional networks for biomedical image segmentation,' 2015. cite arxiv:1505.04597Comment: conditionally accepted at MICCAI 2015.
- [27] T.-Y. Lin, M. Maire, S. J. Belongie, J. Hays, P. Perona, D. Ramanan, P. Doll´ ar, and C. L. Zitnick, 'Microsoft coco: Common objects in context,' in European Conference on Computer Vision , 2014.
- [28] D. P. Kingma and J. Ba, 'Adam: A method for stochastic optimization,' 2014. cite arxiv:1412.6980Comment: Published as a conference paper at the 3rd International Conference for Learning Representations, San Diego, 2015.
- [29] R. Liu, J. Lehman, P. Molino, F. P. Such, E. Frank, A. Sergeev, and J. Yosinski, 'An intriguing failing of convolutional neural networks and the coordconv solution.,' in NeurIPS , 2018.
- [30] H. Zhang, I. Goodfellow, D. Metaxas, and A. Odena, 'Self-attention generative adversarial networks,' in arXiv , 2018.
- [31] K. He, X. Zhang, S. Ren, and J. Sun, 'Deep Residual Learning for Image Recognition,' in CVPR , IEEE, 2016.
- [32] C. Finn, X. Y. Tan, Y. Duan, T. Darrell, S. Levine, and P. Abbeel, 'Deep spatial autoencoders for visuomotor learning,' in ICRA , 2016.
- [33] Q.-Y. Zhou, J. Park, and V. Koltun, 'Open3D: A modern library for 3D data processing,' arXiv:1801.09847 , 2018.
- [34] J. Park, Q.-Y. Zhou, and V. Koltun, 'Colored point cloud registration revisited,' in IEEE International Conference on Computer Vision (ICCV) , pp. 143-152, 2017.

## APPENDIX

For videos demonstrating our method, please visit our website: www.robot-learning.uk/adapting-skills. For a pseudo-code explaining our method as presented in Section III of the paper, please see Algorithm 1 for details on the self-supervised data collection and training process, Algorithm 2 for details on skill acquisition and Algorithm 3 for details on deploying and adapting skills with our method.

## APPENDIX I METHOD

In this Section, we provide further details regarding the training and implementation process of our network, f θ , as introduced in Section III-A of the paper.

Figure I.1 shows examples of images collected in the dataset D for the Hammer object. The EEF moves in a selfsupervised manner to random poses around a reference pose R T WE to emulate different grasps with the object rigidly grasped at a reference grasp with pose R T EO . Each image depicts how the grasped object may appear relative to the EEF if it is grasped this way when the EEF is at the reference pose R T WE .

For example, the EEF with the object grasped at the reference grasp in Figure I.2 (a) emulates the grasp shown in Figure I.2 (b) when the EEF is at the reference pose. Figure I.2 (c) emulates the grasp shown in Figure I.2 (d). The images in Figures I.2 (a) and (c) are part of our training dataset D . As discussed in Section III-A, each image in the dataset has a transformation pair N T -1 EE ′ that aligns the depicted grasp to the reference grasp, as discussed in Section III-A.

During skill deployment, assume that the EEF at R T WE grasps the object as depicted in either Figure I.2 (b) or (d). For f θ to correctly predict the corresponding N T -1 EE ′ for each image, f θ must be robust to the appearance of the background and EEF relative to the grasped object. This is because in the emulated grasps of Figures I.2 (a) and (c), the object always appears at a pose R T EO relative to the EEF, while in Figures I.2 (b) and (d) the object's appearance relative to the EEF is different. For this reason, we seek to segment the EEF and the background. Any segmentation method can be used to achieve this. In our work, we leverage the pretrained flow network of [19] and deploy it in a similar manner to [20] to (1) train a segmentation network that segments the robot's EEF and (2) train an object-specific segmentation network, as follows.

## A. Dataset Segmentation

1) EEF segmentation network: First, we collect a dataset of images depicting the EEF at different poses by moving the EEF in a self-supervised manner to random poses in front of the external camera, with no grasped object. Then, we use the flow network of [19] to compute flow between pairs of images in the collected dataset. As the background is static, the computed flow allows us to obtain segmentation masks for the EEF in each image. An example of EEF

images collected in the dataset, as well as the flow computed between them and the corresponding segmentation masks can be seen in Figure I.3. Finally, given the collected dataset and segmentation masks, we train an EEF segmentation network. This process needs to be completed only once , and the EEF segmentation network can be reused across any experiment and grasped object without further training.

- 2) Object-specific segmentation network: To obtain a segmentation network for each grasped object, no further data collection is required, apart from the already collected dataset D . Segmentation masks for the grasped object are obtained in an identical manner to the masks for the EEF segmentation network. For pairs of images in D , the flow network detects both the EEF and the grasped object. Hence, we leverage our EEF segmentation network to remove the EEF, leaving us only with segmentation masks for the grasped object. Then, we train an object-specific segmentation network that receives an image in D and regresses the segmentation mask of the grasped object. Examples of this process can be seen in Figure I.4. This process needs to be repeated for every new object we need to adapt skills to, but it leverages the already collected dataset D , requiring no additional time for data collection.

All our segmentation networks use the UNet [26] network architecture.

## B. Dataset Augmentation

During data collection, a small part of the grasped object depicted in each image in D is not visible as the EEF's fingers occlude it. Additionally, as discussed in Section III, each image depicts some arbitrary grasp under which the EEF may grasp the object when it is at the reference pose R T WE . Hence, at test time (see Section III-A) if the EEF at R T WE grasps an object as depicted in one of the images in the dataset, a part of that object occluded in D will become visible, and a part of that object that is visible in the image in D will now be occluded by the EEF's fingers. This can be seen clearly in Figures I.2 (a) and (b). The part of the Hammer's handle occluded by the EEF's fingers in the emulated grasp of Figure I.2 (a) becomes visible when the Hammer is grasped in that pose when the EEF is at R T WE (Figure I.2 (b)). Further, the part of the Hammer's handle to the left of the EEF's fingers in the emulated grasp of Figure I.2 (a) is visible but becomes occluded in the grasp of Figure I.2 (b) by the EEF's fingers.

To make f θ robust to this difference between each image collected in D and each image observed at test time, we need to ensure that f θ (1) ignores the part of the object that was occluded in D but becomes visible at test time and (2) is robust to the fact that a part of the object visible in D becomes occluded at test time. To achieve (1), after segmenting the EEF and background from each image, we augment the background with MS-COCO [27] images. This way, f θ learns to ignore the part of the object that was occluded in D but becomes visible at test time. To achieve (2), before data collection begins, we use our EEF segmentation network to obtain and store a segmentation

EEF at the Reference pose Hammer at the Reference grasp

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-8a733323-36d5-4080-aa42-fd3001888301.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-4cec2e57-9a6f-4911-960d-a6d05aa95c16.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-f7f661ce-3244-48bc-9f05-ac34fa26dd05.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-9893f38c-34bf-40d5-8a6d-a61d5984ab14.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-6f262c79-5362-4a52-965c-e6a81bd1d1bc.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-431b7755-de1a-42eb-8e01-1a2ffd3eee9b.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-9c7a0ba3-dc0f-45cd-af3d-825a800238f6.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-6647602a-cc72-4825-92f6-90dde542db3c.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-dd3925c9-4198-471b-94f7-f1e219dc168e.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-d15549db-a508-4cbf-969b-428d3f1a3612.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-07d3c796-ce30-4f5e-9ba3-3ba4986c24ef.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-5a14033c-9eab-4581-ba83-3b9f07d140dd.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-6d27a785-f630-4bcb-9f76-1aeebd1e2d5f.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-123d30d3-ba3c-409d-aa5e-2cc392667db7.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-8fade042-b79f-4a92-9b2c-afe24027737e.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-24b93d09-755e-4017-9b75-4f3171089b3d.jpg)

## Examples of samples collected during self-supervised data collection

Fig. I.1: Images sampled from the dataset D collected in a self-supervised manner. The image on the top left (marked as red) shows the EEF at the reference pose with the object grasped at the reference grasp. While the EEF moves around the reference pose to emulate different arbitrary grasps, the object remains rigidly grasped at the reference grasp.

## Dataset Sample

## EEF at the Reference pose

EEF at the Reference pose

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-54dc72d0-ab0c-4ab4-9b84-a707ec18bc00.jpg)

emulates emulates

(a)

Fig. I.2: Figures (a) and (c) are images sampled from dataset D collected during self-supervised data collection. Each image in (a) and (c) emulates a grasp depicted in the images of Figures (b) and (d) respectively where the EEF is at the reference pose. We manually reproduced the grasps in Figures (b) and (d) for visualisation.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-0acc5d1c-f7a2-4ecb-ba18-a922571d4a6c.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-8e67a02c-43ee-4ce8-8634-41431ac30000.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-2391a939-f745-42eb-b35c-0978d8a4e2c4.jpg)

mask of the EEF at the reference pose R T WE . Then, we apply that segmentation mask to the images in D to occlude (segment) the part of the object that will be occluded at test time if the EEF at the reference pose R T WE grasps the object as depicted in the corresponding image. Figure I.5 shows examples of this data augmentation process. Finally, to make f θ robust to varying lighting conditions, we apply standard domain randomisation techniques such as varying the brightness or saturation of each image.

## C. Training

To train f θ for each object, first, we use the object-specific segmentation network to segment everything but the grasped object in each image in D . Then, we train f θ to receive as input each image in D and regress the corresponding N T -1 EE ′ while applying the data augmentation and randomisation strategy of Section I.B. As our objective function, we use the mean squared error loss and the Adam [28] optimiser. In practice, we train two versions of f θ , one that regresses all DoFs relating to position and one that regresses all DoFs relating to orientation. We found this to perform better than training a single network to regress all of SE (3) directly. As discussed in Section IV, f θ is trained over random poses sampled around R T WE in the range of 30cm for each of the DoFs relating to position and 60 ◦ for each of the DoFs relating to orientation. However, our method is not limited to a particular range around the reference pose and can be trained over any desirable range of poses. We found that 30cm and 60 ◦ were enough to cover the majority of skill and deployment grasps possible for the objects we used in our experiments (Section IV, Figure 5). Finally, we also train a function with parameters ψ g , ψ : R H × W C × → SE (3) ( H corresponds to image height, W to image width and C to image channel) in an identical manner to f θ but on poses sampled over a shorter range around the reference pose (6cm for each of the DoFs relating to position and 12 ◦ for each of the DoFs relating to orientation). No extra data collection is necessary to train g ψ , it is trained simply on a smaller subset of D . We found that doing so improves the accuracy of our method. In practice, we deploy f θ and g ψ sequentially in that order.

## D. Network Architecture

For our networks' architectures, we use a UNet [26] encoder with CoordConv [29] layers, and self-attention [30] followed by a simple MLP that outputs a per DoF prediction. We found this network architecture to perform better when compared to replacing the UNet encoder with a pre-trained ResNet [31], a Deep Spatial Autoencoder [32] and a simple CNN. We also found that for the UNet encoder, using CoordConv layers and self-attention compared to standard convolutions improved our network's performance, but not significantly.

## E. Data Collection Time

As noted in our experiments section, we typically allocate around 5 minutes for data collection, during which the robot moves in front of the external camera. In practice, varying data collection times have different effects on our method's performance. Overall, we noted that increasing data collection time resulted only in a slight performance increase. The most important criterion for high accuracy was collecting enough views to cover the grasped object from all sides. Consequently, shortening the data collection time would result in lower accuracy as fewer object views would be collected. On the other hand, however, if we were operating a robot that can move faster and more accurately, then we could collect the same amount of data as we did in 5 minutes, but in a shorter amount of time. Hence, determining the right data collection time depends on our robotic hardware, but as long as the collected dataset contains views covering the whole object then performance is expected to be high.

## F. Visual servoing to align grasps to the reference grasp

As discussed in Section III-B, in practice, we deploy our method in a visual servoing (VS) manner. However, as the predictions made by f θ (and g ψ ) are made relative to the reference pose R T WE , they are not directly amenable to VS. For this reason, we need to transform them appropriately at each step of the VS process

The prediction of f θ provides us with a single transformation to align any deployment or skill grasp to the reference grasp. Instead of making a single prediction, it can be beneficial to start moving the EEF to the predicted pose N T -1 EE ′ relative to R T WE and, at the same time, leverage new live images captured from the camera to make further predictions with our network in a VS manner. However, the predictions made by f θ are valid only when the EEF is in front of the camera at the reference pose R T WE . Hence, as the EEF begins to move from the reference pose R T WE to the predicted pose R T WE N T -1 EE ′ , we cannot directly apply new predictions made by f θ based on live images from the external camera. However, we can still leverage these predictions by accounting for the EEF's pose at the timestep those predictions were made, as follows. First, we denote as t = λN T -1 EE ′ to be the prediction made by f θ based on the image I t = λ captured at timestep t = λ from the camera. Then, to incorporate t = λN T -1 EE ′ under a VS framework, at timestep λ we can apply a transformation V S T t = λ EE ′ in the EEF's frame { E } , where:

$$\stackrel { \omega _ { 1 } } { 3 0 } \right ] _ { \sim } ^ { \ V S } \mathbf T _ { E E ^ { \prime } } ^ { t = \lambda } = \left [ ^ { t = \lambda } \mathbf T _ { E E ^ { \prime } } ^ { - 1 } \right ] \left [ ^ { t = \lambda N } \mathbf T _ { E E ^ { \prime } } ^ { - 1 } \right ] \left [ ^ { t = \lambda } \mathbf T _ { E E ^ { \prime } } \right ] \,, \quad ( 2 )$$

where t = λ T EE ′ corresponds to the pose of the EEF relative to R T WE at timestep λ , that is

$$^ { t = \lambda } { \mathbf T } _ { E E ^ { \prime } } = { R } _ { { \mathbf T } _ { W E } } ^ { - 1 } { t = \lambda } { \mathbf T } _ { W E }.$$

Further, at time-step t = 0 , T t =0 V S = t =0 N T -1 EE ′ , as the EEF is at R T WE and t =0 T EE ′ = I , where I is the identity matrix. If we stopped the VS process at timestep t = 0 , this would be identical to making a single prediction with f θ . By performing VS, we can iteratively leverage predictions made by f θ as more live images are captured from our camera either for a fixed amount of time or until our network

Flow between Image 1 &amp; 2

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-394d019f-f3b4-4ebf-bec0-2432a60def39.jpg)

Sample Image 2

Flow Overlayed on Image 1

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-131054e7-1267-4891-a508-cf70aad5563e.jpg)

Image 1 &amp; 2 Overlayed

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-984db4b9-5908-4d8e-83e4-0bff56fcc68d.jpg)

Obtained Segmentation Mask

Fig. I.3: Figures (a) and (b) show two images sampled from the dataset collected after moving the EEF without any grasped object in front of the camera. Figure (c) shows Figure (a) and (b) overlayed to demonstrate the difference in the pose of the EEF between the two figures. Figure (d) shows the flow obtained between Figure (a) and (b) after being passed through the pretrained flow network of [19]. Figure (e) shows the flow overlayed on top of the EEF of Figure (a). This allows us to obtain a segmentation mask for the EEF for Figure (a) as shown in Figure (f). This process is repeated over all the images collected for the EEF and allows us to train the EEF segmentation network.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-cfdbbb29-ce79-43b7-ab05-8c501fc20bd3.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-69fb9e8f-6a8b-4230-ab97-cac4753c8279.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-db2b5901-0ca8-44d8-af23-e3471272d93f.jpg)

predicts the identity matrix, in which case the EEF has been transformed such that the grasped object is aligned to the reference grasp. At the end of the VS process, N T -1 EE ′ simply equals the relative pose between the EEF at the reference pose and the EEF at the final timestep of the VS process. That is, assume we run VS for Λ timesteps. Then,

$$^ { N } \mathbf T _ { E E ^ { ^ { \prime } } } ^ { - 1 } = \left [ ^ { R } \mathbf T _ { W E } ^ { - 1 } \right ] \left [ ^ { t = \Lambda } \mathbf T _ { W E } \right ].$$

As discussed in our Experiments (Section IV-A), when deploying our method, we perform VS for 5 seconds, where we allocate the first 2.5 seconds to the network f θ and the last 2.5 seconds to the network g ψ . For an algorithm showing the application of VS to align grasps to the reference grasp see Algorithm 3.

## APPENDIX II EXPERIMENTS

## A. Accuracy Evaluation using forward kinematics

As we have no access to the objects' 3D CAD models we cannot directly estimate their pose to evaluate our method's and the baselines' accuracy in obtaining the corrective transformation. Hence, as discussed in section IV-A we use the robot's forward kinematics as follows.

First, we move the robot to the reference pose and hand the object to the EEF at a random pose. This defines a potential skill grasp. We then deploy our alignment network to compute S T EE ′ (recall from Section III-C that S T EE ′ is the transformation that aligns the skill grasp to the reference grasp and is identical to the predicted N T -1 EE ′ by our alignment network, only denoted S T EE ′ for clarity). Without changing the grasp, we move the EEF to a random pose to emulate a possible deployment grasp. Then, similarly to the skill grasp, we use the alignment network to obtain the transformation that aligns the deployment grasp to the reference grasp, denoted D T EE ′ . Using S T EE ′ and D T EE ′ we compute the corrective transformation as discussed in Section III-C. If the corrective transformation is accurate, the EEF should return to the reference pose to align the deployment grasp to the skill grasp. By computing the error to the reference pose using the robot's forward kinematics we can quantify the error in the obtained corrective transformation.

Flow Overlayed on Image 1

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-a82afdbc-2b19-41d8-839a-4346cdd2dbe7.jpg)

Segment gripper using EEF Segmentation Network

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-6b34a8cc-fd46-45c4-aff6-26d7d5e386df.jpg)

Image 1 &amp; 2 Overlayed

Segmented Grasped Object

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-ef738f00-9ce2-45e3-958f-28c7fa300aaa.jpg)

Flow between Image 1 &amp; 2

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-a0757829-4b9d-4cce-8e6d-ce77d828546e.jpg)

Segmentation Mask for Grasped Object

Fig. I.4: Figures (a) and (b) demonstrate two images sampled from the dataset D . Figure (c) overlays Figures (a) and (b) to demonstrate their difference. Figure (d) shows the flow obtained by passing Figures (a) and (b) through the pretrained flow network of [19]. The flow network detects only the EEF and grasped object as the background is static. Figure (e) demonstrates the obtained flow overlayed on Figure (a). As there is no flow on the background, we remove it in Figure (f). Further, in Figure (f) we deploy the EEF segmentation network to detect and segment the EEF, leaving us only with the grasped object as shown in Figure (g). This allows us to obtain a segmentation mask only for the grasped object, as shown in Figure (h). This process is repeated over all the images collected in D and allows us to train an object-specific segmentation network.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-b05438df-6bda-4822-a034-d28ca612c839.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-79077df2-5806-47ca-b056-1f0848bd3330.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-99a89920-87df-4957-8d86-93ea96d3c82d.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-aa9b7ce2-efdf-45cc-ac7f-5b8d3a918c65.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-72c4311b-7bf0-407f-ba32-3f3a54f69b25.jpg)

Fig. I.5: This Figure shows 5 images of the grasped object sampled from D . Everything but the grasped object is segmented using the object-specific segmentation network we have trained. Then, we augment the background with MS-COCO [27] images for f θ to learn to ignore the part of the grasped object that is occluded in D but becomes visible at test time. Further, we apply the segmentation mask of the EEF as it appears at the reference pose to occlude (segment) the part of the object that is visible in D but becomes occluded at test time when the EEF is at the reference pose due to the EEF's fingers.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-ec45526f-2784-4b37-a3ff-5684c97de957.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-463b72b5-7665-4c55-a11e-ec609367a417.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-19ccaa01-d7ff-481a-9a43-93595ac4ff3f.jpg)

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-a3bf0bd4-38ed-4e9e-bbd8-59b1ea3fe998.jpg)

During evaluation, the forward kinematics are used only for evaluation and are not accessible to our method or any of the baselines.

## B. Baselines

capture a segmented point cloud and use ICP to compute the corrective transformation. We initialise ICP with the identity transformation and use the open-source implementation provided by Open3D [33], which we optimise for our tasks.

ICP : Given a skill grasp, we store a segmented point cloud of the grasped object captured from the camera. To obtain the segmented point cloud, we deploy the same segmentation method used for our method. Then, given any deployment grasp, for each step of the visual servoing process, we

Colour-ICP : We deploy Colour-ICP (C-ICP) in an identical manner to ICP and used the implementation of [34] provided by Open3D [33].

real-world NDF (RW-NDF) : We train a variant of the Neural Descriptor Fields (NDFs) [5], on a segmented point cloud of the grasped object. This way, we test whether

## Algorithm 1: Self-supervised Data Collection &amp; Training

```
Algorithm 1: Self-supervised Data Collection & Training

Input: Reference pose R T _ \ \ E, \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \
                                                                                                                                                                                                        
                                                                                                                                                                                                      

1: for iteration m = 1 to M do
    2:    Sample pose R T _ \ \ E \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \	 \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \

                                                                                                                                                                                                        1                                                                                                                                                                                                       1                                                                                                                                                                                                       

                                                                                                                                                                                                      
1: for iteration m = 1 to M = 1 do
    2:    Sample pairs of images: (I _ { m }, I _ { m + 1 } ) \sim D
    2:    Compute flow between the pair of images (I _ { m }, I _ { m + 1 } ) \sim using the pretrained flow network of [19]
    10:    Segment EEF and background and obtain object mask b _ { m } //  see Section A
    11:    Store sample: S = S \cup (I _ { m }, b _ { m } )
    12:  end for
    13: Train object-specific segmentation network on S
    14:  for iteration m = 0 to M do
    15:    Remove EEF and background from all images in D using the object-specific segmentation network
    16:  end for
    17: Train f _ { 0 } on data augmented images of D //  see Section B
    18: Train g _ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \\
                                                                                                                                                                                                       1.                                                                                                                                                                                                       .                                                                                                                                                                                                        -1.                                                                                                                                                                                                      


                                                                                                                                                                                                       -2.
```

## Algorithm 2: Skill Acquisition

Input: Networks f θ , g ψ , Object specific segmentation network

- 1: Skill grasp. Grasp object at any desirable pose in the EEF suitable to learn the desirable skill
- 2: Move the EEF to R T WE
- 3: for iteration λ = 0 to Λ do
- 4: Obtain live image I from external camera
- 5: Remove EEF and background using the object specific segmentation network
- 6: if t ≤ Λ 2 / then
- 7: Obtain S T EE ′ = f θ ( I ) // Aligns skill grasp to the reference grasp using the alignment network; see Section III-C and I. C
- 8: else if t &gt; Λ 2 / then
- 9: Obtain S T EE ′ = g ψ ( I ) // Aligns skill grasp to the reference grasp using the alignment network; see Section III-C and I. C
- 10: end if
- 11: Move the EEF to: [ t = λ T WE ][ V S T t = λ EE ′ ] // see Section I.F
- 12: end for
- 13: Obtain S T EE ′ = [ R T -1 WE ][ t =Λ T WE ] // see Section I.F
- 14: Define skill trajectory S starting from any desirable initial EEF pose, with a desirable skill acquisition method.

Output: S T EE ′ , acquired skill trajectory S

leveraging learned point cloud descriptors results in better performance when finding correspondences compared to the data association method used by ICP and C-ICP for our problem. To train NDFs in the real-world, we use the pre-trained network provided by the authors, which we fine-tune on the real-world point clouds for our grasped object. We found that fine-tuning the pre-trained network performed better than training on the observed point clouds from scratch. This way, we avoid the need to pre-train in simulation, which assumes prior knowledge of the object's category. Specifically, we fine-tuned a pre-trained occupancy network to reconstruct the volume near the point cloud of the grasped object by aggregating point clouds captured from two sides of the object by rotating the gripper by 180 ◦ in front of the camera. During deployment, we followed the optimisation strategy described in [5].

DINO: Given a skill grasp we store a RGB and depth image. Then, both images are segmented using the same segmentation method used for our method. For any deployment

- Input: S T EE ′ , acquired skill S 1: Deployment grasp. Grasp the object at any desirable pose in the EEF to deploy the learned skill S 2: Move the EEF to R T WE 3: for iteration λ = 0 to Λ do 4: Obtain live image I from external camera 5: Remove EEF and background using the object-specific segmentation network 6: if t ≤ Λ 2 / then 7: Obtain D T EE ′ = f θ ( I ) // Aligns deployment grasp to the reference grasp using the alignment network; see Section III-C and I. C 8: else if t &gt; Λ 2 / then 9: Obtain D T EE ′ = g ψ ( I ) // Aligns deployment grasp to the reference grasp using the alignment network; see Section III-C and I. C 10: end if 11: Move the EEF to: [ t = λ T WE ][ V S T t = λ EE ′ ] // see Section I.F 12: end for 13: Obtain D T EE ′ = [ R T -1 WE ][ t =Λ T WE ] // see Section I.F) 14: Compute corrective transformation C T EE ′ = S T -1 EE ′ D T EE ′ // see Section III-C C see
- 15: Deploy and adapt skill from any desirable EEF pose using the corrective transformation T EE ′ // Section II

Output: Adapted skill executed

grasp, we also capture and segment a pair of RGB and depth images. We then leverage the pretrained DINO ViT provided by the authors [22] to establish correspondences between the RGB images of the skill and the deployment grasp as proposed in [8]. The fact that the RGB images depict only the grasped object after segmentation allows us to ensure that correspondences are established only between the grasped object in both the skill and deployment grasp images. Given the established correspondences, we then leverage the depth images to determine the corrective transformation using singular value decomposition (SVD) [23]. Sometimes DINO required several seconds to determine correspondences, in which case we did not limit DINO's deployment time to 5 seconds as we did for our methods.

AspanFormer: We deploy AspanFormer[6] in an identical manner to the DINO baseline, but in order to establish correspondences between the skill and deployment grasp RGB images we use the pretrained model provided by the authors [6].

## C. Accuracy Results

The numerical values of Figure 4 of section I.A corresponding to the mean and standard deviation error for the corrective transformation can be seen in Table B1. The corrective transformation mean and standard deviation error averaged across the Spoon and Glass objects can be seen in Figure II.1. The baselines obtain a particularly low performance for these objects as their depth quality is low due to their shiny (spoon) and semi-transparent (glass) appearance. Figure II.2 shows the mean and standard deviation error on the corrective transformation for the rest of the objects (excluding the Spoon and Glass). As shown, for these objects the baselines perform significantly better compared to the

Spoon and Glass objects but on average still worse when compared to all variants of our method.

## D. DOME

DOME [1] is a one-shot imitation learning method that enables efficient acquisition of robotic skills from a single demonstration. DOME comprises two parts: 1) a pre-trained visual servoing network that allows it to approach any target object specified in the demonstration (e.g., the nail for the Hammer task in Figure 5) on a table-top setup regardless of its pose using a wrist camera rigidly mounted on the robot's EEF. The pre-trained visual servoing network can be deployed immediately to any setup for which we have provided a demonstration. 2) an interaction trajectory that is demonstrated to the robot by a human and defines how the robot interacts with objects in the workspace. That interaction trajectory consists of a sequence of twists tracked by the EEF which are recorded during the human demonstration. To generalize a demonstration across different configurations of the target object DOME uses an eye-in-hand camera. During skill deployment, DOME first approaches the target object using the observations made by the eye-in-hand and replays the demonstrated sequence of velocities (and as a result EEF poses). For further details we refer the reader to [1].

In DOME, for skills involving the manipulation of grasped objects, each skill is tailored to the specific pose the grasped object had in the EEF during the demonstration. Hence, if the object is grasped at a different pose, the demonstrated skill is no longer suitable to complete its designated task. Hence, we deployed our method to adapt DOME's skills to novel deployment grasps as discussed in the Experiments section IV-C.

TABLE B1: Mean and standard deviation of the corrective transformation error using the robot's forward kinematics

|             | RGB (ours)   | RGB (ours)   | Depth (ours)   | Depth (ours)   | RGB-D (ours)   | RGB-D (ours)   | ICP           | ICP           | Color ICP     | Color ICP     | RW-NDF        | RW-NDF        |
|-------------|--------------|--------------|----------------|----------------|----------------|----------------|---------------|---------------|---------------|---------------|---------------|---------------|
| Objects     | mm           | degrees      | mm             | degrees        | mm             | degrees        | mm            | degrees       | mm            | degrees       | mm            | degrees       |
| Hammer      | 2.59 ± 2.43  | 2.20 ± 2.44  | 2.71 ± 2.23    | 2.12 ± 2.52    | 2.72 ± 2.47    | 3.43 ± 3.21    | 5.25 ± 4.40   | 2.70 ± 5.51   | 6.37 ± 5.79   | 6.66 ± 5.82   | 4.14 ± 3.28   | 3.91 ± 4.23   |
| Screwdriver | 2.51 ± 1.45  | 1.47 ± 2.22  | 3.07 ± 2.25    | 2.84 ± 3.51    | 2.27 ± 1.98    | 2.92 ± 4.13    | 4.96 ± 4.53   | 3.45 ± 5.06   | 7.19 ± 5.51   | 4.22 ± 3.50   | 8.74 ± 4.58   | 9.42 ± 5.04   |
| Bread       | 2.17 ± 1.71  | 1.08 ± 1.07  | 2.98 ± 2.89    | 1.40 ± 1.10    | 2.32 ± 1.74    | 1.54 ± 1.72    | 3.83 ± 3.18   | 2.00 ± 2.05   | 5.91 ± 5.15   | 2.14 ± 2.07   | 3.70 ± 3.98   | 2.19 ± 2.54   |
| Spoon       | 5.05 ± 4.04  | 1.48 ± 1.70  | 7.00 ± 9.54    | 4.82 ± 7.17    | 3.13 ± 2.90    | 1.45 ± 2.14    | 46.92 ± 59.12 | 15.00 ± 16.97 | 11.11 ± 12.81 | 7.01 ± 9.26   | 17.37 ± 17.58 | 11.54 ± 9.46  |
| Wrench      | 1.35 ± 1.57  | 1.39 ± 2.57  | 2.50 ± 2.09    | 1.23 ± 1.40    | 1.93 ± 1.21    | 1.07 ± 1.09    | 3.82 ± 2.67   | 1.25 ± 1.37   | 4.47 ± 3.95   | 3.88 ± 4.22   | 5.43 ± 3.21   | 2.59 ± 2.23   |
| Glass       | 2.23 ± 1.58  | 1.41 ± 1.53  | 4.79 ± 6.04    | 6.48 ± 7.91    | 2.96 ± 3.03    | 3.70 ± 4.89    | 29.46 ± 30.87 | 16.27 ± 16.64 | 21.76 ± 27.29 | 10.65 ± 10.51 | 26.81 ± 16.01 | 13.87 ± 10.55 |
| Average     | 2.65 ± 1.15  | 1.50 ± 0.34  | 3.84 ± 1.60    | 3.15 ± 1.91    | 2.56 ± 0.42    | 2.35 ± 1.03    | 15.71 ± 16.69 | 6.78 ± 6.31   | 9.47 ± 5.86   | 5.76 ± 2.84   | 11.03 ± 8.44  | 7.25 ± 4.57   |

|             | DINO          | DINO         | AspanFormer   | AspanFormer   |
|-------------|---------------|--------------|---------------|---------------|
| Objects     | mm            | degrees      | mm            | degrees       |
| Hammer      | 2.61 ± 3.67   | 5.16 ± 3.82  | 6.42 ± 5.59   | 7.13 ± 7.28   |
| Screwdriver | 7.63 ± 4.64   | 2.63 ± 4.18  | 6.84 ± 6.96   | 6.73 ± 5.39   |
| Bread       | 7.46 ± 5.81   | 2.60 ± 3.01  | 15.37 ± 3.33  | 7.98 ± 5.22   |
| Spoon       | 16.45 ± 16.21 | 9.68 ± 11.70 | 9.64 ± 15.48  | 8.82 ± 10.80  |
| Wrench      | 6.85 ± 3.67   | 5.25 ± 5.59  | 2.91 ± 3.13   | 5.36 ± 4.84   |
| Glass       | 19.13 ± 18.58 | 8.08 ± 8.81  | 10.35 ± 14.80 | 10.52 ± 11.72 |
| Average     | 10.02 ± 5.80  | 5.56 ± 2.61  | 8.59 ± 3.88   | 7.76 ± 1.63   |

## Error Averaged Across DOFs for Spoon and Glass Objects

| RGB (Ours)   | ICP DINO          |
|--------------|-------------------|
| Depth (Ours) | C-ICP AspanFormer |
| RGB-D (Ours) | RW-NDF            |

Fig. II.1: Mean and standard deviation error in computing the corrective transformation between grasps for the Spoon and Glass objects averaged across all DoFs for the position and orientation.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-03657871-1077-4b3a-a370-5d5f5c012d01.jpg)

## Error Averaged Across DOFs &amp; Objects (w/o Spoon &amp; Glass)

Fig. II.2: Mean and standard deviation error in computing the corrective transformation between grasps for the Hammer, Screwdriver, Wrench and Bread objects averaged across all DoFs for the position and orientation .

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-631e3106-cde5-4ea4-858f-14811077d7d1.jpg)

Fig. II.3: Point cloud of the spoon object. As shown the point

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-3b8c6f37-619d-4610-8357-f29cdee44a02.jpg)

cloud's quality is poor due to missing depth data.

Fig. II.4: Point cloud of the glass object. As shown the point cloud's quality is poor due to missing depth data.

![Image](https://ac.marcodsn.me/arxiv-markdown-images/2408.00178v1-figure-0228dfda-4aff-455f-8fbe-300a3b72e294.jpg)
Georgios Papagiannis Kamil Dreczkowski Vitalis Vosylius Edward Johns
Adapting Skills to Novel Grasps: A Self-Supervised Approach
In this paper, we study the problem of adapting manipulation trajectories
involving grasped objects (e.g. tools) defined for a single grasp pose to novel
grasp poses. A common approach to address this is to define a new trajectory
for each possible grasp explicitly, but this is highly inefficient. Instead, we
propose a method to adapt such trajectories directly while only requiring a
period of self-supervised data collection, during which a camera observes the
robot's end-effector moving with the object rigidly grasped. Importantly, our
method requires no prior knowledge of the grasped object (such as a 3D CAD
model), it can work with RGB images, depth images, or both, and it requires no
camera calibration. Through a series of real-world experiments involving 1360
evaluations, we find that self-supervised RGB data consistently outperforms
alternatives that rely on depth images including several state-of-the-art pose
estimation methods. Compared to the best-performing baseline, our method
results in an average of 28.5% higher success rate when adapting manipulation
trajectories to novel grasps on several everyday tasks. Videos of the
experiments are available on our webpage at
https://www.robot-learning.uk/adapting-skills