Skip to content

The content of this repository is associated to the paper "Learning Suction Cup Dynamics from Motion Capture: Accurate Prediction of an Object's Vertical Motion during Release". The objective for this project was to create a 1D release model of a suction cup, that would describe the position, velocity, and acceleration of the object after release.

Notifications You must be signed in to change notification settings

MaartenJongeneel/Paper-learning-1D-suction-cup-dynamics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learning Suction Cup Dynamics from Motion Capture: Accurate Prediction of an Object's Vertical Motion during Release

Menno Lubbers, Job van Voorst, Maarten Jongeneel, Alessandro Saccon

IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2022)

[Published paper on IEEE]

[Early Paper on HAL]

If you are using this paper as reference, please refer to it as

@inproceedings{Lubbers2022_LearningSuction,
    author = {M Lubbers and J van Voorst and M J Jongeneel and A Saccon},
    title = {{Learning Suction Cup Dynamics from Motion Capture: Accurate Prediction of an Object's Vertical Motion during Release}},
    booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2022)},
    year = {2022},
    month = {October},
    pages = {1541-1547},
    doi = {https://doi.org/10.1109/IROS47612.2022.9982211}
}

Requirements

Introduction

The content of this repository is associated to the paper "Learning Suction Cup Dynamics from Motion Capture: Accurate Prediction of an Object's Vertical Motion during Release". The objective for this project was to create a 1D release model of a suction cup, that would describe the position, velocity, and acceleration of the object after it is released from the suction cup. This project is part of the I.AM. project on Impact Aware Manipulation. More specifically, this paper is the first step to understanding the release dynamics of an object in the full 6D case. This is important to know within the concept of autonomous tossing of parcels in logistic applications.

Table of content

Overview

Test-data

With this code repository comes a data file, which can be found here. This data file (called an Archive) contains data of release experiments. The sequence of images below show a typical release experiment.

The blue plastic plate shown in the image above can be used to attach different weights. In the experiments, 10 different weights were attached to the blue plate and for each weight, the release experiment was repeated 11 times.

 

1 Data-processing

The firs part of this repository contains the scripts that are needed to subtract from the Archive all the necessary information to learn a 1D model.

 

2 Training the Network

The second part of this repository uses LWPR to learn a 1D model.

 

3 Simulating

The last step of the repository uses the learned 1D model and simulates the release for different masses. This generates the figures as shown in the paper.

Installation

The code of this repository is all written in MATLAB and can directly be pulled from this repository.

Usage of the scripts

To run the scripts, take the following steps

Step 1

Download the Impact Aware Manipulation (I.AM.) archive containing suction cup release experiments (220920_I_AM_Archive_4_1DReleases.h5) file and place it in the data folder. This is the experimental data file.

Step 2

Add all folders and subfolders to the path, and run (from the root folder) the function dataProcessing.m. This will subtract the necessary information from the experimental data, and save it as .mat files in the data folder.

Step 3

Now, make sure that in modeling/LWPRsettings.m line 3 is set to

3 model = lwpr_set(model, 'update_D', 1);

Also, make sure line 28 of modeling/learn1Dmodels.m is uncommented, and line 29 is commented such that we have

28 init_Dvec = 650:-10:550; % initial kernel width/receptive field distance metric
29 % init_Dvec = 600;

and run modeling/learn1Dmodels.m. This will take around 10 minutes to learn (for different settings) the force models.

Step 4

Run modeling/simulate.m. This will use the learned models and simulate the force release. A figure will pop up which shows the RMS errors for the different models (see image below). Based on this, you can select the model that gives the smallest error.

drawing

 

Step 5

Next, make sure that in modeling/LWPRsettings.m the update_D setting is set to 0 such that we have

3 model = lwpr_set(model, 'update_D', 0);

Also, make sure line 28 of modeling/learn1Dmodels.m is commented, and line 29 is uncommented, such that we have

28 % init_Dvec = 650:-10:550; % initial kernel width/receptive field distance metric
29 init_Dvec = 600;

and you fill in (on line 29) the model you want to run (e.g, 600 as in the example code above). Now run modeling/learn1Dmodels.m.

Step 6

Finally, run paperFigures.m to obtain all the figures as used in the paper.

Contact

In case you have questions or if you encountered an error, please contact us through the "Issues" functionality on GIT.

About

The content of this repository is associated to the paper "Learning Suction Cup Dynamics from Motion Capture: Accurate Prediction of an Object's Vertical Motion during Release". The objective for this project was to create a 1D release model of a suction cup, that would describe the position, velocity, and acceleration of the object after release.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages