kdl_parser icon indicating copy to clipboard operation
kdl_parser copied to clipboard

Port kdl_parser_py to ROS 2

Open AdrianZw opened this issue 4 years ago • 10 comments

I am not sure if this is still relevant... I missed that there is already a pull request (#48) for issue #46. However, I already did the work, and I am happy to help ;-)

On my systems I did not get flake8 to run an exception is thrown, which I was not able to figure out.

The changes done were mainly to adopt ament_python package. In addition, Python is not happy with kdl.Joint.None, I changed it to kdl.Joint.JointType(8)). I guess the KDL bindings for Python might need to be updated, since None might be reserved in Python.

AdrianZw avatar May 27 '21 09:05 AdrianZw

This is all currently blocked by https://github.com/ros2/orocos_kinematics_dynamics/pull/19 . If you'd like to see some version of this get in, unblocking that one (particularly on macOS and Windows) would be most appreciated.

clalancette avatar May 27 '21 12:05 clalancette

First, thanks for this. Now that we actually have PyKDL, this can potentially move forward again. Towards that end, I've retargeted to the ros2 branch, rebased it, and cleaned it up a bit.

That said, the problem I'm currently running into while testing this is that import urdf_parser_py.urdf doesn't seem to work on my system. At the moment I don't quite remember where that comes from, but we may have to port that over as well to get this working. I'll take a closer look tomorrow.

clalancette avatar Apr 07 '22 23:04 clalancette

Oh, I see. The problem now is that we don't have urdf_parser_py as part of the base system in https://github.com/ros2/ros2/blob/master/ros2.repos . We'd have to add that to the ros2.repos list to finish this port. We'll have to think about whether we really want to do that, so this is still on hold for that.

clalancette avatar Apr 08 '22 12:04 clalancette

I think it would be worth restarting the CI Job once again. I think it failed because this commit: https://github.com/ros/rosdistro/commit/5cf620a15eea3811952da033035a15d2a8aabc62 was only "released" on April 12th but the CI Job is from April 07th.

dreuter avatar Jun 07 '22 15:06 dreuter

It currently can't possibly work; see my comment https://github.com/ros/kdl_parser/pull/55#issuecomment-1092822278

clalancette avatar Jun 07 '22 15:06 clalancette

It currently can't possibly work; see my comment #55 (comment)

Sorry I am not fully getting that comment. Would there be any downside just depending on urdf_parser_py?

I am not too deep into this topic, but it seems that this is released: https://index.ros.org/p/urdfdom_py/ https://github.com/ros2-gbp/urdfdom_py-release

Or is the problem that kdl_parser is in the ros2.repos list? In that case would it make sense to split the packages into two repos (one that is in the ros2.repos and the other one that is in the distribution.yaml)?

dreuter avatar Jun 07 '22 15:06 dreuter

Or is the problem that kdl_parser is in the ros2.repos list?

The main problem is that urdf_parser_py is not in the ros2.repos file. Because of that, this can't currently pass our CI.

We could import it into ros2.repos, but we are nearing 400 packages in that already. I'm reluctant to add more, since every single one we add becomes release-critical.

So I'm not sure what to do here.

clalancette avatar Jun 08 '22 20:06 clalancette

I think the only way to move forward is by adding urdf_parser_py to the ros2.repos.

MatthijsBurgh avatar Sep 15 '23 07:09 MatthijsBurgh

Any updates on this?

hello-amal avatar May 29 '24 18:05 hello-amal