-
Notifications
You must be signed in to change notification settings - Fork 32
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
Feature/mw/fields2cover2 #53
base: main
Are you sure you want to change the base?
Conversation
This reverts commit 3669e7d.
This reverts commit aa2cf20.
This reverts commit 668abc4.
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
Use tinyxml2_vendor properly. Like in ros/pluginlib IOW first find_package(tinyxml2_vendor REQUIRED) which sets up a module path that provides a module for find_package(TinyXML2 REQUIRED) to work Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
* fields2cover now initialises memory and provides getters/setters so previous incorrectly/partially initialised data no longer throws * Order of args for f2c::Random::generateRandField() changed to (area, sides), was (sides, area). Tests now don't spin forever Signed-off-by: Mike Wake <michael.wake@aosgrp.com.au>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally looks good to me, but you have some linting issues that CI is unhappy about that we need resolved and the build doesn't turn over :(
I have no meaningful comments on your port to v2's API - that all looks great.
Either the lines are too long for uncrustify or have wrong style for the cpplint.
|
These are lines that this PR touches, please heed the formatting requirements :-) |
Use intermediate variables for PathSectionType to keep within line lenght limit requirements.
This is so that nav2 can build with -Werror against behaviortree_cpp v4.6
noble_rolling is not finding libyaml-cpp-dev via https://github.com/ros2/yaml_cpp_vendor. Needs something like this ros-navigation/navigation2#4267 [ 22%] Linking CXX executable test_map_saver_publisher jammy_rolling - back to same pytest incompatability - https://github.com/ros2/launch/pull/766/files |
There is a separate humble branch - so that all should be more or less fine!
There is no intention for support for ROS 1. Frankly I haven't really thought about ROS 1 in years. If someone wanted to port this all to ROS 1 and have a ROS 1 branch, I wouldn't block it, but I wouldn't implement it
For maintenance reasons, the humble branch will stay on V1 since that was what it was released under and v2 has breaking changes. With that said, I'd be happy to have a
And I genuinely thank you for this @aosmw! I spend alot of my time fighting the good fight working on things like this, so the help is really, truly appreciated!
Ugh. Build from source until that is released too.... I guess...
Precisely! I think we're on the home stretch here, update the action to 24.04 which should fix rosdep & that should be the last of the large problems |
Any word? |
I was going to wake this up again now that ros-navigation/navigation2#4298 has landed. I was also going to look into how to point the github build at the ghcr.io/ros-navigation/navigation2:main docker image. |
nodejs in docker image is required to enable enable local debugging of github actions with https://github.com/nektos/act
This is to try to eliminate the possibility that we are fetching a bad package.
…g-dev for libceres-dev
The build against the source of fields2cover works, ie using the .github/deps.repos mechanism. HOWEVER, ALSO, IOW, FYI, CONCLUSION, |
Great... I thought we'd mentioned that to fix it, but I suppose still no dice.
I'm a little confused by that considering this builds fine in Nav2's CI and for me locally with a 24.04 docker image |
Perhaps it would be easier to manually setup the build like here rather than using the ROS tooling wrappers? |
The image used in the github workflow is currently The main problem of using the Fields2Cover package, (2.0.0-13noble.20240514.144256) right now is the command line flags that the ros buildfarm uses and what they do to the locations of where things get installed prior to creating the debian package. Fields2Cover does not use ament_cmake and I when I started trying to help, I tried to workaround what was there. I introduced the use of cmake Digging down into it the command that is getting run by the ros build farm to create the package - https://build.ros2.org/job/Rbin_uN64__fields2cover__ubuntu_noble_amd64__binary/77/console and wrapping it in a script to reproduce locally
Notice the I have some ideas to get it to play nicely (in a ros package install) that I am playing around with. My aim is to find a way to get the ortools sfuff installed in /opt/ros/rolling/opt/f2c_ortools while still working for a non-ros/non-ament build. THIS Fields2Cover/Fields2Cover#146 (remove libabsl-dev from Fields2Cover/package.xml) might be a simple fix for now but the way the Fields2Cover package is dumping ortools artifacts into /opt/ros/rolling should really be improved so I will keep plugging away at it. |
Great!! For the meantime though would it be useful to just build F2C in CI here from a But fixing F2C to have the binaries work well is useful. If we're having issues here, I presume anyone else trying to use the binaries would also have a similar issue. |
NOTE: Fields2Cover still pointed at fork.
Sorry to bother but, from reading the history, this works on older versions of ROS and you are currently just fighting the autotester? |
@MarcM0 This PR targets rolling, which was in a fair bit of flux when I was last touching this. Its settled now so worth a revisit. I won't be looking at it for a while though. Next steps would be to update it to the latest rolling and check the state of the fields2cover packages. |
Hello @aosmw, how are you doing? Do you think you will be able to give it a try in the near future? |
Update Fields2Cover to v2 api.
Uses Fields2Cover/ortools_vendor#2 and Fields2Cover/Fields2Cover#126
This builds on behavior tree update PR 43 by @tonynajar.