[jazzy] Port to ROS2#32
Conversation
|
Thanks a lot! I stared going through the PR. I'm a bit limited over Easter, so I have to test with Kilted. I got a few build failures I needed to fix, but none of them seems to be related to Kilted. Here's the patch that got me going. |
|
I've added ROS2 CI to the ros2 branch. Please update your PR so that it is run. Also, would you please allow maintainers to edit this PR? I think that could speed up the review rounds. |
|
I also removed Humble CI because cras_cpp_common is not released for Humble. |
It's probably not appropriate when I work on this project in my job :)
|
I've pushed some more commits that remove obsolete stuff or move some utils to cras_cpp_common. Make sure to update cras_cpp_common again to ros2 branch. |
Reference and inspiration taken from https://github.com/moveit/moveit2/blob/main/moveit_ros/tests .
| <license file="LICENSE">BSD</license> | ||
|
|
||
| <url type="website">https://github.com/peci1/robot_body_filter</url> | ||
| <url type="repository">https://github.com/ctu-vras/robot_body_filter</url> |
There was a problem hiding this comment.
Oi, I haven't done the move yet... I thought it happened years ago :-D
| "test_filter_utils", | ||
| ] | ||
| ), | ||
| parameters=[os.path.join(os.path.dirname(__file__), 'test_robot_body_filter.yaml')], |
There was a problem hiding this comment.
Any reason to use PathJoinSubstitution above and os.path.join here?
There was a problem hiding this comment.
I don't think the indirection via substition is needed here. I just want to pass an absolute value. Pathlib would definitely be possible but I haven't used it much yet...
|
All tests are now actually passing, but they suffer from weird errors probably somehow related to launch_testing (or my usage of it).
I don't know what to do with these. But if you look at the gtests inside them, they're all passing! One bigger change I did is that I changed the distribution method of the robot model from parameter to topic, because that is how it should be done in ROS 2 IMO. However, I wouldn't be against adding parameter support in the future, it might make some scenarios easier. |
|
One other question I had: what are we supposed to be seeing in the test example? |
No idea off the top of my head. I'm now on vacation until 24th, so I can't help until then... |
Ok, here's my ROS2 port. I've broken it up into commits to be easier to parse, since its currently sitting at 1,349 additions / 2,108 deletions. It's 20 commits, but many of them should be easy to skim.
Rote work
This stuff is mostly by-the-books
::msg.hto.hppand adding a few basic library#includesthat we'll need eventually.ros::Durationandros::Timeto theirrclcppcounterparts, also includingtoSectosecondsWallTime/Duration::from_secondsmethod.rclcpp::sleep_forros::okNew implementations / updates
xmlrpcFilterBaseparameter methods (this changed in thefiltersROS 2 port)getParamDurationbecause you can't constructDurationnaturally.getParamVerboseSetrobot_descriptionparameter (separate fromfilter_utilslogic)More problematic / opinionated stuff
has_valueto compile on my machine.Other notes