Translating Robot Skills:
Learning Unsupervised Skill Correspondences across Domains

Welcome to the project website for our paper -- "Translating Robot Skills: Learning Unsupervised Skill Correspondences across Domains", at ICML 2022!

Here are the authors!

Below, we present results for our paper. In particular, this site serves to visualize dynamic results, including GIFs and videos, that may not be effectively viewed in the paper. We recommend viewing this page in Mozilla Firefox - some images may not load in Google Chrome.

We present results for translating individual skills, entire trajectories, and task strategies across the various domain pairs, in the sections below.

Translating Individual Skills

The first result we present is a dynamic visualization of individual skills in a given source domain, and their respective translations to a given target domain. We present these results across several source-target domain pairs. This result serves to visualize the semantic correspondences learnt by our translation model.

Domain Pair #1: Franka - Sawyer

We first present individual skills and their translations from the Franka Panda Robot (the source domain) to the Sawyer Robot (the target domain).

In each column, we present a skill on the Franka Panda robot (in the top row), and the corresponding translated skill on the Sawyer robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill to left
(Source Domain)

Place to the right
(Source Domain)

Place to front right
(Source Domain)

Slide forward
(Source Domain)

Reaching Skill to left
(Translated to Target Domain)

Right Handed Returning Skill
(Translated to Target Domain)

Place to front right
(Translated to Target Domain)

Slide forward
(Translated to Target Domain)

Domain Pair #2: Baxter Left Hand - Franka

We also present individual skills and their translations from the Baxter Left Hand (the source domain) to the Franka (the target domain).

In each column, we present a skill on the Left Hand of the Baxter robot (in the top row), and the corresponding translated skill on the Franka robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Left Handed Reaching
(Source Domain)

Placing to the right
(Source Domain)

Placing to the left
(Source Domain)

Push forward
(Source Domain)

Reaching Skill to left
(Translated to Target Domain)

Place to the right
(Translated to Target Domain)

Place to front right
(Translated to Target Domain)

Slide forward
(Translated to Target Domain)

Domain Pair #2: Baxter Right Hand - Franka

We also present individual skills and their translations from the Baxter Right Hand (the source domain) to the Franka (the target domain).

In each column, we present a skill on the Right Hand of the Baxter robot (in the top row), and the corresponding translated skill on the Franka robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill
(Source Domain)

Place to the right
(Source Domain)

Place to left
(Source Domain)

Lift
(Source Domain)

Reaching Skill to left
(Translated to Target Domain)

Place to the right
(Translated to Target Domain)

Place to left
(Translated to Target Domain)

Slide forward
(Translated to Target Domain)

Domain Pair #3: Baxter Right Hand - Baxter Left Hand

We now present individual skills and their translations from the Baxter Right Hand (the source domain) to the Baxter Left Hand (the target domain).

In each column, we present a skill on the Right Hand of the Baxter robot (in the top row), and the corresponding translated skill on the Left Hand of the Baxter robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Right Handed Reaching Skill
(Source Domain)

Right Handed Returning Skill
(Source Domain)

Right Handed Lifting Skill
(Source Domain)

Right Handed Wiping Skill
(Source Domain)

Left Handed Reaching Skill
(Translated to Target Domain)

Left Handed Returning Skill
(Translated to Target Domain)

Left Handed Lifting Skill
(Translated to Target Domain
)

Left Handed Wiping Skill
(Translated to Target Domain)

Domain Pair #4: Baxter Left Hand - Sawyer

We also present individual skills and their translations from the Baxter Left Hand (the source domain) to the Sawyer (the target domain).

In each column, we present a skill on the Left Hand of the Baxter robot (in the top row), and the corresponding translated skill on the Sawyer robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Left Handed Reaching
(Source Domain)

Placing to the right
(Source Domain)

Placing to the left
(Source Domain)

Push to the right
(Source Domain)

Sawyer Reaching
(Translated to Target Domain)

Placing to the right
(Translated to Target Domain)

Placing to the left
(Translated to Target Domain)

Push to the right
(Translated to Target Domain)

Domain Pair #5: Baxter Right Hand - Sawyer

We also present individual skills and their translations from the Baxter Right Hand (the source domain) to the Sawyer (the target domain).

In each column, we present a skill on the Right Hand of the Baxter robot (in the top row), and the corresponding translated skill on the Sawyer robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Right Handed Reaching
(Source Domain)

Placing to the right
(Source Domain)

Twisting
(Source Domain)

Place to the left
(Source Domain)

Sawyer Reaching
(Translated to Target Domain)

Placing to the right
(Translated to Target Domain)

Twisting
(Translated to Target Domain)

Place to the left
(Translated to Target Domain)

Translating Individual Skills from Human Demonstrators

In order to successfully translate from human demonstrators to robots, the first component is to translate human skills to robot skills. While the above visualizations show the ability of our approach to translate individual skills across various robots, we now present results of translating such individual skills from human demonstrators to each of the 4 robots.

Domain Pair #1: Human Demonstrator - Franka Panda Robot

We first present individual skills and their translations from Human demonstrators (the source domain) to the Franka Panda Robot (the target domain).

In each column, we present a skill of a human demonstrator (in the top row), and the corresponding translated skill on the Franka Panda robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill
(Source Domain)

Place to the right
(Source Domain)

Place to front right
(Source Domain)

Push forward
(Source Domain)

Reaching Skill
(
Translated to Target Domain)

Place to the right
(Translated to Target Domain)

Place to front right
(Translated to Target Domain)

Push forward
(Translated to Target Domain)

Domain Pair #2: Human Demonstrator - Baxter Left Hand

We first present individual skills and their translations from Human demonstrators (the source domain) to the Baxter Left Hand (the target domain).

In each column, we present a skill of a human demonstrator (in the top row), and the corresponding translated skill on the Baxter Left Hand (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill
(Source Domain)

Place to the right
(Source Domain)

Place to the left
(Source Domain)

Push forward
(Source Domain)

Reaching Skill
(Translated to Target Domain)

Place to the right
(Translated to Target Domain)

Place to the left
(Translated to Target Domain)

Push forward
(Translated to Target Domain)

Domain Pair #3: Human Demonstrator - Sawyer Robot

We first present individual skills and their translations from Human demonstrators (the source domain) to the Sawyer Robot (the target domain).

In each column, we present a skill of a human demonstrator (in the top row), and the corresponding translated skill on the Sawyer robot (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill
(Source Domain)

Place to the right
(Source Domain)

Place to front right
(Source Domain)

Push forward
(Source Domain)

Reaching Skill to left
(Translated to Target Domain)

Place to the right
(Translated to Target Domain)

Place to front right
(Translated to Target Domain)

Slide forward
(Translated to Target Domain)

Domain Pair #4: Human Demonstrator - Baxter Right Hand

We first present individual skills and their translations from Human demonstrators (the source domain) to the Baxter Right Hand (the target domain).

In each column, we present a skill of a human demonstrator (in the top row), and the corresponding translated skill on the Baxter Right Hand (in the bottom row). The skills are semantically labelled with the classical manipulation skill they most resemble. Despite the translation being learned in a purely unsupervised manner, notice the close semantic correspondence between skills in the source domain and the target domain.

Reaching Skill
(Source Domain)

Place to the right
(Source Domain)

Place to the left
(Source Domain)

Push forward
(Source Domain)

Right Handed Reaching
(
Translated to Target Domain)

Placing to the right
(
Translated to Target Domain)

Place to the left
(Translated to Target Domain)

Place to the left
(Translated to Target Domain)

Translating Entire Trajectories

The next result we present is a dynamic visualization of entire trajectories (i.e., a sequence of skills) in a given source domain, and their respective translations to a given target domain. We present these results across several source-target domain pairs. This result serves to visualize how well the learned translation model can map an entire sequence of skills from the source domain to the target domain.

Domain Pair #1: Franka Panda - Sawyer

We also present entire trajectories and their translations from the Franka Panda robot (the source domain) to the Sawyer robot (the target domain). In each row, we present the trajectory from the Franka Panda robot (on the left), and the corresponding translated sequence of skills / trajectory on the Sawyer robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the Franka Panda reaching in to the right of the workspace, performing a picking / grasping skill, and finally a placing skill to the front right portion of the workspace. The Sawyer robot correspondingly reaches to the left of the workspace, performs a grasping skill, and finally also executes a placing skill to the front right of the workspace.

Original Source Domain Trajectory
(
Franka Panda)

Trajectory Translated to Target Domain
(Sawyer Robot)

Trajectory #2: The original trajectory consists of the Franka robot reaching in to the workspace, performing a picking skill, followed by a placing motion to the left of the picking location. The translated trajectory on the Sawyer robot correspondingly reaches to the right of the workspace, performs a picking skill, and finally executes a placing skill to the left of its workspace.

Original Source Domain Trajectory
(Franka Panda)

Trajectory Translated to Target Domain
(Sawyer Robot)

Domain Pair #2: Baxter Right Hand - Franka Panda

We also present entire trajectories and their translations from the Baxter Right Hand (the source domain) to the Franka Panda robot (the target domain).

In each row, we present the trajectory from the Baxter Right Hand robot (on the left), and the corresponding translated sequence of skills / trajectory on the Franka Panda robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the Baxter Right Hand reaching in to the workspace, and subsequently performing a lifting skill. The translated trajectory on the Franka robot also correspondingly reaches into the workspace, and performs a lifting skill (albeit with a different arm shape).

Original Source Domain Trajectory
(Baxter Right Hand)

Trajectory Translated to Target Domain
(Franka Panda)

Domain Pair #3: Baxter Right Hand - Baxter Left Hand

We also present entire trajectories and their translations from the Baxter Right Hand (the source domain) to the Baxter Left Hand (the target domain).

In each row, we present the trajectory from the Baxter Right Hand robot (on the left), and the corresponding translated sequence of skills / trajectory on the Baxter Left Hand robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the Baxter Right Hand reaching in to the workspace, performing a lifting skill, and subsequently returning to its rest configuration. The translated trajectory on the Baxter Left Hand also correspondingly reaches into the workspace (albeit with a different arm shape), performs a small lifting skill, and also finally returns to its rest configuration.

Original Source Domain Trajectory
(Baxter Right Hand
)

Trajectory Translated to Target Domain
(
Baxter Left Hand)

Trajectory #2: The original trajectory consists of the Baxter Right Hand reaching in to the workspace, executing a small pushing motion to its right, and finally carrying out a returning skill. The translated trajectory on the Baxter Left Hand also correspondingly reaches into the workspace (also with a different arm shape), also performs a pushing skill to its right, finally returns to its rest configuration.

Original Source Domain Trajectory
(Baxter Right Hand)

Trajectory Translated to Target Domain
(Baxter Left Hand)

Domain Pair #4: Baxter Left Hand - Sawyer

We also present entire trajectories and their translations from the Baxter Left Hand (the source domain) to the Sawyer (the target domain).

In each row, we present the trajectory from the Baxter Left Hand (on the left), and the corresponding translated sequence of skills / trajectory on the Sawyer robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the Baxter Left Hand reaching in to its right of the workspace, performing a small placing skill to its left, and finally returning to its rest configuration. The translated trajectory on the Sawyer Robot also reaches in to the right of its workspace, and then performs a placing skill to the middle of the workspace.

Original Source Domain Trajectory
(Baxter
Left Hand)

Trajectory Translated to Target Domain
(Sawyer Robot)

Trajectory #2: The original trajectory consists of the Baxter Left Hand reaching in to its workspace, and then performing a back-and-forth wiping skill (as is present in the tasks of the MIME dataset). The translated trajectory on the Sawyer Robot also reaches in to its workspace and performs a back-and-forth wiping skill.

Original Source Domain Trajectory
(Baxter Left Hand)

Trajectory Translated to Target Domain
(Sawyer Robot)

Domain Pair #5: Baxter Right Hand - Sawyer

We also present entire trajectories and their translations from the Baxter Right Hand (the source domain) to the Sawyer (the target domain).

In each row, we present the trajectory from the Baxter Right Hand (on the left), and the corresponding translated sequence of skills / trajectory on the Sawyer robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the Baxter Right Hand reaching into its workspace, performing a twisting skill to open the lid of a jar, and placing the lid of the jar to the side. The translated trajectory on the Sawyer robot also correspondingly reaches into the workspace, performs a twisting skill, and finally performs a placing skill to the right.

Original Source Domain Trajectory
(Baxter Right Hand)

Trajectory Translated to Target Domain
(Sawyer Robot)

Trajectory #2: The original trajectory consists of the Baxter Right Hand reaching to the left of the workspace, performing a pushing / sliding skill to the right of the workspace, and finally returning to its rest configuration. The translated trajectory on the Sawyer robot also correspondingly reaches to the left of its workspace, and performs a pushing skill to the middle of its workspace.

Original Source Domain Trajectory
(Baxter Right Hand)

Trajectory Translated to Target Domain
(Sawyer Robot)

Upon analysing these trajectories, we observe that learnt translation model is able to capture correspondences that preserve the overall structure of the original demonstration (in terms of the sequence of skills executed), and results in cohesive sequences of skills that form reasonable trajectories in the target domain.

Translating Entire Trajectories from Human Demonstrations

While the above results demonstrate the ability of our approach to translate trajectories across multiple robot morphologies, our method can be more generally used to transfer across agents, such as humans and robots. Of particular interest is the ability to translate from human demonstrators to robots, since it allows robots to acquire task strategies by vicariously watching humans solve those tasks. Below, we present results of how well our method is able to translate skills from human demonstrators to robots with various morphologies.

Domain Pair #5: Human Demonstrator to Baxter Left Hand

We also present entire trajectories and their translations from a Human Demonstration (the source domain) to the Baxter Left Hand (the target domain).

In each row, we present the trajectory from the Human demonstrator (on the left) and the corresponding translated sequence of skills / trajectory on the Baxter Left Hand (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the human demonstrator reaching towards the workspace, and using a rubber stamp (depicted in yellow) to mime stamping locations on the table, before finally returning to their default pose. The translated trajectory also similarly reaches towards the workspace, performs a to and fro motion similar to the stamping motion, and finally returns to its default configuration.

Original Source Domain Trajectory
(
Human demonstrator)

Trajectory Translated to Target Domain
(
Baxter Left Hand)

Trajectory #2: The original trajectory consists of the Human demonstrator reaching to the workspace, grasping and lifting a lightbulb (depicted in yellow), before placing it and finally returning to their default pose. The translated trajectory on the Baxter Left Hand also correspondingly reaches to its workspace, performs a small lifting skill, before finally returning to its rest configuration.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Baxter
Left Hand)

Domain Pair #5: Human Demonstrator to Baxter Right Hand

We also present entire trajectories and their translations from a Human Demonstration (the source domain) to the Baxter Right Hand (the target domain).

In each row, we present the trajectory from the Human demonstrator (on the left) and the corresponding translated sequence of skills / trajectory on the Baxter Right Hand (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the human demonstrator reaching towards the workspace, lifting up a toy pyramid (depicted in yellow), before finally placing it and returning to their default pose. The translated trajectory also similarly reaches towards the workspace, performing a lifting skill in the center of the workspace, before finally returning to its default configuration.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Baxter
Right Hand)

Trajectory #2: The original trajectory consists of the Human demonstrator reaching to the workspace, grasping a mouse and pushing it around to and fro, before releasing it and returning to their default pose. The translated trajectory on the Baxter Right Hand also correspondingly reaches to its workspace, performs a small pushing skill (similar to the mouse pushing skill) and finally returning to its rest configuration.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Baxter
Right Hand)

Domain Pair #6: Human Demonstrator to the Franka Panda Robot

We also present entire trajectories and their translations from a Human Demonstration (the source domain) to the Franka Panda Robot (the target domain).

In each row, we present the trajectory from the Human demonstrator (on the left) and the corresponding translated sequence of skills / trajectory on the Franka Panda robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the human demonstrator reaching towards the workspace, and using a rubber stamp (depicted in yellow) to mime stamping locations on the table, before finally returning to their default pose. The translated trajectory also similarly reaches towards the workspace, perform several small to and fro motions similar to the stamping motion, and finally returns to its default configuration.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Franka Panda Robot)

Trajectory #2: The original trajectory consists of the Human demonstrator reaching to the workspace, grasping a mouse, and then pushing it around the table. The translated trajectory on the Franka Panda robot also correspondingly reaches to its workspace, performs a series of pushing skills to the left and right (similar to the mouse pushing skill).

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Franka Panda Robot)

Domain Pair #6: Human Demonstrator to the Sawyer Robot

We also present entire trajectories and their translations from a Human Demonstration (the source domain) to the Sawyer Robot (the target domain).

In each row, we present the trajectory from the Human demonstrator (on the left) and the corresponding translated sequence of skills / trajectory on the Sawyer robot (on the right). A brief description of the sequence of skills executed are provided for each trajectory.


Trajectory #1: The original trajectory consists of the human demonstrator reaching towards the workspace, and grasping and moving a toy train (depicted in yellow) above a table to their left. The translated trajectory also similarly reaches to the center of the workspace, and subsequently performs a placing skill to its left.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Franka Panda Robot)

Trajectory #2: The original trajectory consists of the Human demonstrator reaching to the workspace, grasping a cube, before twisting it around (to inspect it), and finally placing it back on the table. The translated trajectory on the Sawyer also correspondingly reaches to its workspace, performs a small twisting skill (albeit with a different arm shape), and finally performs a placing skill to its left.

Original Source Domain Trajectory
(Human demonstrator)

Trajectory Translated to Target Domain
(Franka Panda Robot)

Translating Task Strategies

The learnt correspondences between skills across robots also facilitate transfer of task strategies across robots and domains. Here, we demonstrate results of transferring task strategies across domains. To do so, we first train a hierarchical policy in the source domain , that chooses skills to execute on the source robot. We first visualize rollouts from this policy, solving a given task in the source domain.. We also translate the sequence of skills obtained from this source domain high level policy to the target domain, and rollout the translated sequence of skills in the target domain. We then visualize these rollouts, as the "translated" task strategy.

Domain Pair #1: Baxter Right Hand - Baxter Left Hand


Task 1 - Reaching: We first visualize results on a reaching task, where the objective is for the robot to execute a sequence of skills to reach a red block. Note how the translated trajectory reaches towards the red block, in a zero-shot manner.

Original Source Domain Trajectory

Trajectory Translated to Target Domain

Domain Pair #2: Baxter Left Hand - Sawyer


Task 1 - Reaching: We first visualize results on a reaching task, where the objective is for the robot to execute a sequence of skills to reach a red block.

Original Source Domain Trajectory

Trajectory Translated to Target Domain

Domain Pair #3: Baxter Right Hand - Sawyer


Task 1 - Reaching: We first visualize results on a reaching task, where the objective is for the robot to execute a sequence of skills to reach a red block. Note how the translated trajectory reaches towards the red block, in a zero-shot manner.

Original Source Domain Trajectory

Trajectory Translated to Target Domain