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

Python bindings and collision checking not available in ROS 2 Jazzy and Rolling binary installs #2504

Open
sea-bass opened this issue Dec 7, 2024 · 2 comments

Comments

@sea-bass
Copy link
Contributor

sea-bass commented Dec 7, 2024

Bug description

I recently engaged in a related issue with collision checking not available in the Humble binaries (#2289). The workaround here was to use target_link_libraries instead of ament_target_dependencies in the CMakeLists.txt, which works great for Humble.

However, I just got sent this (sea-bass/pinocchio_ros_cpp_example#1), and can also reproduce it locally.

So it seems like on Ubuntu 24.04, the same problem still persists even when we do target_link_libraries?

You can reproduce this with my same example if you go into the Dockerfile and replace all mentions of humble with jazzy.

Interestingly enough, the Jazzy container does not even have the Pinocchio Python bindings installed (I cannot drop into a Python REPL and import pinocchio)... so I fear in Ubuntu 24.04, a lot of the add-ons like Python and HPP-FCL may not be actually included?

^ same on ROS 2 Rolling, which uses Pinocchio 3.2.0. No Python bindings or HPP_FCL support, it seems. On this one, I can't even import pinocchio/collision/collision.hpp which is supposedly the new header in Pinocchio v3.

Expected behavior

After installing ros-jazzy-pinocchio or ros-rolling-pinocchio binaries, compiling code with pinocchio::computeCollisions() should succeed, and import pinocchio should work in a Python REPL.

Reproduction steps

Steps to reproduce the behavior:

  1. Go through the steps in https://github.com/sea-bass/pinocchio_ros_cpp_example -- on Humble, this should build fine
  2. Replace the Dockerfile contents from humble to jazzy or rolling and try again, compiling with fail due to collision checking headers not being available
  3. Furthermore, in Jazzy/Rolling, you also will be unable to import pinocchio in a Python REPL, indicating that it's also Python bindings that are missing.

System

  • OS: Ubuntu 24.04
  • Pinocchio version: 2.6.21 (Jazzy) or 3.2.0 (Rolling)
  • Installation: From ROS binaries
@sea-bass
Copy link
Contributor Author

sea-bass commented Dec 7, 2024

@nim65s and @wxmerkt I ended up creating a new issue rather than posting in the old one -- just calling attention to this. Thank you, and happy to work with you to test this out.

@nim65s
Copy link
Contributor

nim65s commented Dec 7, 2024

The humble patch for this was not ported to jazzy:
https://github.com/ros2-gbp/pinocchio-release/blob/patches/release/humble/pinocchio/0003-Patch-Activate-HPP-FCL.patch
https://github.com/ros2-gbp/pinocchio-release/tree/patches/release/jazzy/pinocchio

I'll try to fix this.

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

No branches or pull requests

2 participants