with Dongwon Son

In this project, you will be extending the exciting line of our work on simulator development which recently published at Robotics: Science and Systems [link].

With the increasing importance of simulation in robotics, there are endless applications ranging from reinforcement learning with fast physics simulations to synthetic data generation with photo-realistic rendering. However, the efficiency of physics simulations remains a crucial aspect to consider.

Reinforcement learning with massive parallel simulation from [Nikita et al. CoRL 2021]

Reinforcement learning with massive parallel simulation from [Nikita et al. CoRL 2021]

While the use of GPU acceleration in physics simulation has allowed for the simulation of up to 20,000 quadruped robots in parallel, enabling a surprisingly robust gait motion in the real world, it has not been extended to simulating manipulation tasks such as rearrangement. This becomes even more challenging when we want a simulator to support multiple objects with concave shapes, such as a cup, which is commonly required for the automation of manipulation tasks.

Let’s assume that we want to simulate these multiple shaking environments.

Untitled

This task is characterized to have continuous contact between non-convex objects, which is typically inefficient for the off-the-shelf simulators. For example, when you run Isaac Gym for this task with 30,000 parallel environments, which was used in the project of simulating massive quadruped robots mentioned above, what you can see is:

Untitled

It is too slow for the roboticists to use in their application such as big-data generation.

Now we found the problem, and this is a good signal as a researcher. We will investigate further to find the main bottleneck for this slowing down. Our lab's goal is to improve computational efficiency in simulation by developing a GPU-friendly algorithm that overcomes the bottlenecks related to the contract, including collision detection and contact resolution. This will allow for the simulation of multiple general-shaped objects and open up a new era of manipulation tasks similar to the quadruped robots.

To achieve this goal, we are seeking an intern who will work on developing a deep understanding of modules in physics engines such as collision detection, collision resolution, and rendering. In addition, knowledge about GPU thread and memory will be utilized to reduce inefficiencies in GPU implementation.

Recent Progress

For the moment, we are focusing on the bottleneck in collision detection (CD). When we consider only the contact between convex objects, the CD might not be a bottleneck because we already have sufficiently fast CD algorithms such as Gilbert–Johnson–Keerthi (GJK). However, as you can imagine most objects in our lives are not in convex shapes, which prevents using GJK directly for practical tasks such as tidying up the table. Although we can approximate non-convex objects to the convex hull, it is too crude to bear in many cases such as picking bowls.

One way to resolve this is to decompose non-convex shapes into multiple convex hulls (convex decomposition) and perform the pairwise GJK between hulls and this is exactly what most of the off-the-shelve simulators are adopting (i.e., MuJoCo, Pybullet, Isaac Gym). However, this is not desirable since it introduces an approximation of the shapes resulting in errors in CD. On the other hand, we can reduce this error by increasing the size of decomposition, but it also increases pairwise CD computation.

What we aim here is to develop a CD algorithm that can increase computational efficiency while keeping competitive accuracy. To achieve this, we decided to replace the conventional analytical CD algorithms (such as GJK) with the neural network. This has a huge benefit because the test-time efficiency can be constant to the complexity of the shapes while the performance is dependent on the quality of the dataset.

Now, let’s see the results. Can you remember the video showing how the simulator becomes slow when we increase the number of parallel environments in Isacc Gym? Surprisingly, we can keep the efficiency while maintaining competitive accuracy even though introducing neural network approximation, and finally we have this video.

https://youtu.be/yjRJDOb2bCw