Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmark for Nesterov-accelerated GJK vs. GJK timings [WIP] #320

Draft
wants to merge 3 commits into
base: devel
Choose a base branch
from

Conversation

lmontaut
Copy link
Contributor

@lmontaut lmontaut commented Jul 15, 2022

Quick benchmark that allows to compare the timings of Nesterov-accelerated GJK against GJK.
The goal is to see the results over multiple pairs and multiple random poses between each pair. It is also important to divide the results based on the distance between the shapes as Nesterov-accelerated GJK improves upon GJK when the problem is harder to solve for GJK (shapes in close-proximity/overlapping).

I created a dir benchmark/meshes where I put meshes from the panda robot found in example-robot-data (both collision and visual meshes. I took the first 3 links of panda and its end-effector.
Is it ok to do so?
If not, is it ok to add example-robot-data as an optional dependency which would be needed for this benchmark? In any case, I think having a set of robot meshes in HPPFCL is a good idea as it can be reused for other benchmarks/tests.

This is still a work in progress, the code needs to be cleaned/improved. I still need to loop through all the shapes for example, but I want to be sure how to add the meshes to hppfcl first.

@lmontaut lmontaut marked this pull request as draft July 15, 2022 10:34
@lmontaut lmontaut requested review from jcarpent, jmirabel and nim65s July 15, 2022 10:34
@nim65s
Copy link
Contributor

nim65s commented Jul 15, 2022

Meshes are pretty heavy, so I think it's better to keep them in another repo.

A dependency could work, but maybe a CMake ExternalProject that automatically trigger the download of example-robot-data when needed could be nice I guess.

Copy link
Contributor

@jcarpent jcarpent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be nice to move the benchmark to a top-level directory called benchmark as in Pinocchio.

@jcarpent
Copy link
Contributor

@lmontaut What is the status of this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants