Skip to content

Fix some missing .yaml file dependencies #387

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

Open
wants to merge 2 commits into
base: sampling_based_c3_public
Choose a base branch
from

Conversation

juanmed
Copy link

@juanmed juanmed commented Jul 10, 2025

Background

I am trying to reproduce the work in "Dynamic On-palm manipulation via controlled sliding" paper.

Description

I found out some of the targets in examples/franka/franka_sim.pmd where built with bazel build //...but failed to run due to missing .yaml files at runtime. When running with bazel run, I would get an error in the lines of

terminate called after throwing an instance of 'drake_vendor::YAML::BadFile'
  what():  bad file: solvers/osqp_options_default.yaml

which, after a quick search, indicates the file does not exists in the directory specified.

This PR defines the adequate targets in the BAZEL.build files to include the missing files inside bazel's sandbox, in particular for the following targets:

bazel run //examples/franka:franka_sim
bazel run //examples/franka:franka_visualizer
bazel run //examples/franka:franka_c3_controller
bazel run //examples/franka:franka_osc_controller
bazel run //examples/franka:forward_kinematics_for_lcs

Tests

Apart from building the relevant targets and making sure they run, I did not ran any other tests. I assume there is a CI system that will check unit tests pass; otherwise please let me know which tests to run


This change is Reviewable

@mposa mposa self-assigned this Jul 10, 2025
@ebianchi
Copy link

I confirmed that the bazel run commands you listed now run without error. However, the example in "Dynamic On-palm manipulation via controlled sliding" does not run properly (related to some changes in #382 which were not applied to the examples/franka example). I can work on getting the example to run properly.

The proper test for reproducing the results of the paper are described in the examples/franka/README.md file here.

@mposa mposa removed their assignment Jul 10, 2025
@ebianchi ebianchi self-assigned this Jul 10, 2025
@mposa
Copy link
Contributor

mposa commented Jul 10, 2025

Thank you for the pull request! We're also excited to have someone trying out the code. We're in the middle of a fairly major refactoring project, and our unit test coverage is quite poor, so there's likely to be some hiccups along the way.

@ebianchi
Copy link

I've made the additional changes required for the waiter task to run successfully. Since I do not have permission to push to your fork, I created a branch here called waiter_task_fixes. This starts with your commit and adds another commit on top of it. You can bring the second commit into your fork/branch via:

git cherry-pick 025a175

Now the example should work. You can either run the procman script and follow the instructions on the examples/franka/README.md, or you can run individual processes via bazel run in the right order. Note that the performance/tuning of the controller can be affected by the control rate, so you may find on your computer setup that re-tuning is helpful.

Once you bring in these additional changes, I'd be happy to merge your PR.

@juanmed
Copy link
Author

juanmed commented Jul 14, 2025

@ebianchi Sorry for the delay. Thanks for taking the time to look at the changes here and making the examples work! I cherry-picked your commit and is now at the head of this branch. Feel free to merge or otherwise.

@mpose Thanks for sharing your work!

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