When I run the inference files (conditional_kuka_planning_eval.py and rearrangment_kuka_planning_eval.py) with the pre-trained model, I encounter the problem of blocks being thrown around in the rendering results (as shwon in the videos below).
- Conditional Stacking
Block stacking steps performed by the robot arm is (green->red)->(yellow->green)->(yellow->green)
The Google Drive link for the video is https://drive.google.com/file/d/1tqiJpIEK742NIFnTUOFRwz2oMaH3xL0-/view?usp=sharing.
- Rearrangement Stacking
Block stacking steps performed by the robot arm is (red->green)->(yellow->blue)->(yellow->blue)
The Google Drive link for the video is https://drive.google.com/file/d/154ExrZwEivSRaS7ggkeLou1k6k5qL2nZ/view?usp=sharing
Is the problem of blocks being thrown around and moving violently caused by the fact that the perturbation function for the contact constraint is not added in the code implementation? I found that one difference between the code and the paper is that the perturbation function in the code is the l1 distance of the xy coordinates of the two blocks, as shown in this line:
|
dist = -0.1 * torch.abs(stack_xy - place_xy).mean(dim=-1).mean(dim=-1) |
, not the contact constraint described in the paper, as shown in the formula below.

When I run the inference files (conditional_kuka_planning_eval.py and rearrangment_kuka_planning_eval.py) with the pre-trained model, I encounter the problem of blocks being thrown around in the rendering results (as shwon in the videos below).
Block stacking steps performed by the robot arm is (green->red)->(yellow->green)->(yellow->green)
The Google Drive link for the video is https://drive.google.com/file/d/1tqiJpIEK742NIFnTUOFRwz2oMaH3xL0-/view?usp=sharing.
Block stacking steps performed by the robot arm is (red->green)->(yellow->blue)->(yellow->blue)
The Google Drive link for the video is https://drive.google.com/file/d/154ExrZwEivSRaS7ggkeLou1k6k5qL2nZ/view?usp=sharing
Is the problem of blocks being thrown around and moving violently caused by the fact that the perturbation function for the contact constraint is not added in the code implementation? I found that one difference between the code and the paper is that the perturbation function in the code is the l1 distance of the xy coordinates of the two blocks, as shown in this line:
diffuser/diffusion/denoising_diffusion_pytorch.py
Line 454 in 7c4d4da