Skip to content

Migrate to ROS2 #19

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

Merged
merged 45 commits into from
Mar 13, 2025
Merged

Migrate to ROS2 #19

merged 45 commits into from
Mar 13, 2025

Conversation

chuoru
Copy link
Contributor

@chuoru chuoru commented Feb 9, 2025

Build quadratic solver with all solvers

colcon build --cmake-args -DENABLE_QLD=ON -DENABLE_QUADPROG=ON -DENABLE_JRLQP=ON -DENABLE_QPOASES=ON -DENABLE_OSQP=ON -DENABLE_NASOQ=ON -DENABLE_HPIPM=ON -DENABLE_PROXQP=ON -DENABLE_QPMAD=ON

Results:
image

Test using colcon ROS2

colcon test
colcon test-result --all --verbose

image

@ThomasDuvinage
Copy link
Contributor

Hi @chuoru @tuan311020022,
Thank you very much for your work on the migration !
Are you considering to work on other packages ? As we are also working on it internally, we can, if you wish, find an agreement on the sharing :)
Cheers

@chuoru
Copy link
Contributor Author

chuoru commented Feb 10, 2025

@ThomasDuvinage
Hi Thomas, thank you for previous commit in mujoco ros utils too.
About us, we are working on sub-repositories of BaselineWalkingController

  • TrajectoryCollection
  • QpSolverCollection (not done ci-cd)
  • ForceControlCollection (some weird bugs related to installation manifest of ros2)
  • NMPC (just start)
    It would be nice to where you are focusing on? and maybe some concerns if you have?

@ThomasDuvinage
Copy link
Contributor

Thanks for your feedback.
Considering your work, we'll focus on publishing apt package for them and update the ci to run on Ubuntu 20/22/24

@chuoru
Copy link
Contributor Author

chuoru commented Feb 13, 2025

@ThomasDuvinage
Thank you. Please consider this pull request isri-aist/TrajectoryCollection#3.
I have updated ci.yaml in this repo according to newest github-actions

@mmurooka
Copy link
Member

Thank you. Please consider this pull request isri-aist/TrajectoryCollection#3.

Thank you @chuoru . I reviewed it. I will merge it after the comments are incorporated and CI is passed.

@chuoru
Copy link
Contributor Author

chuoru commented Feb 21, 2025

@mmurooka @ThomasDuvinage
I have made the ci-cd worked with installing all solver using source code (for installing all solver using apt, some of them haven't release debian package for ubuntu 22.04, list as below:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package libjrl-qp-dev
E: Unable to locate package libqpoases-dev
E: Unable to locate package libosqp-eigen-dev
E: Unable to locate package libnasoq-dev
E: Unable to locate package libhpipm-dev
E: Unable to locate package libproxsuite-dev
E: Unable to locate package libqpmad-dev 

Also, for osqp-eigen, there is some update in osqp which lead to osqp-eigen not able to be built, currently this repository's ci-cd using my version of osqp-eigen. I have made pull request to osqp-eigen wait for merging.
robotology/osqp-eigen#186 (All checks passed)

Also also, I have modified QpSolverHpipm so no memory leak will happen when destructing the class (I found the memory leak using valgrind).

@ThomasDuvinage
Copy link
Contributor

ThomasDuvinage commented Feb 21, 2025

Thanks @chuoru
libjrl-qp-dev is now available for Ubuntu 20.04 / 22.04 / 24.04 (head version)

@ThomasDuvinage
Copy link
Contributor

@mmurooka package generation for Ubuntu 22.04 and 24.04 cannot be done yet due to some unmet dependencies as mentioned above.
Would it be possible to consider merging (when all checks will pass and that I finish to cross validate) in order to move on to other dependencies of BWC, MCC, and LMC afterward?

@ThomasDuvinage ThomasDuvinage requested a review from mmurooka March 7, 2025 08:27
@mmurooka
Copy link
Member

mmurooka commented Mar 7, 2025

Thank you @ThomasDuvinage I will review it today or tomorrow.

@ThomasDuvinage
Copy link
Contributor

If you wonder why the error concerning libeigen-qld is suddenly gone, I had to edit github-actions (commit) to export /usr/local/lib to LD_LIBRARY_PATH.

@ThomasDuvinage
Copy link
Contributor

ThomasDuvinage commented Mar 7, 2025

@chuoru I finished the migration of all other dependencies of BaselineWalkingController. It'll come up soon.
Thanks again for your work ! 😃

Copy link
Member

@mmurooka mmurooka left a comment

Choose a reason for hiding this comment

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

Thank you @ThomasDuvinage
I added some comments, so please merge after addressing them.

@chuoru
Copy link
Contributor Author

chuoru commented Mar 10, 2025

@ThomasDuvinage
Thank you for your information. What else do you think we can collab on regarding humanoid robotics or sim2real? We have a young team want to do more with robotics.
@mmurooka

@ThomasDuvinage
Copy link
Contributor

In order for packaging to pass on Ubuntu noble, nasoq package as to be published.
To do so, an error as to be fixed in CI. The error is probably coming from pbuilder docker image as the compilation of the library runs on CI with Ubuntu 24 when cloning the repository and adding the options.

Copy link
Member

@mmurooka mmurooka left a comment

Choose a reason for hiding this comment

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

Thank you @ThomasDuvinage I added some comments. After addressing them, you can merge it without waiting for me to review it again.

@ThomasDuvinage
Copy link
Contributor

@mmurooka Thanks for the feedback i'll merge

@ThomasDuvinage ThomasDuvinage merged commit 256cbb9 into isri-aist:master Mar 13, 2025
21 checks passed
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.

4 participants