-
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
Pin navigation2 repos and simplify docker build (#142). #152
Conversation
Hi Blazej, you've done great work, but there's too much in a single PR here. I think we should split this out into 3 PRs. The first PR simply pins the navigation2.repos file, add the scripts to generate it, and update the Dockerfile (fixing #142). The 2nd PR would then add the space_nav2_bringup and remove the rviz dependency (can you file a new issue for that?). The 3rd PR would update the nav2_demos to add in the rviz2 and update README. This will keep a cleaner git history, so that we can then move the nav2_demos folder to the space-ros/demos repo, per issue space-ros/demos#28 |
Hi @mkhansenbot, thanks for the review! Indeed, you are right that there are lots of changes in this PR and I am fine with splitting it further. However, doing as you suggested, I believe the demo will stop working after merging PR#2 and before PR#3 is merged, since rviz will no longer be available in the nav2 image (unless we want to launch it in a separate container, however this would require some changes to other dockerfiles that would later be reverted). Am I right?
What do you think? |
Sounds good, thanks! |
Let me know when those two PRs are ready for review |
hi @Bckempa. I plan to finish it this weekend, but would be good to merge space-ros/space-ros#170 because b4 that we can't move it from draft stage |
You're clear on #170, no rush of course but feel free to ping when you're ready for a review |
ah, I never looked at this PR in detail, but looks like I was working on similar issues with #165 to cleanup some of dependencies management. happy to revert PR I created, but I am curious what is the plan for this PR? split? |
May be more general question is in order here... we are using rosinstall_generator (not just here, but in space-ros too), but the ros2 core has not fully switched to it yet, but uses ros2.repos file (https://docs.ros.org/en/jazzy/Installation/Alternatives/Ubuntu-Development-Setup.html#build-ros-2). The issue was discussed here: ros2/ros2_documentation#1470, but it was de-scoped from humble. Does anyone know the status of this? rosinstall_generator obviously works for ros2, but it is still not official way... |
Yes, I will split the PR into 2 according to what I discussed with @mkhansenbot above + gazebo/rviz will be removed from nav2 img |
@xfiderek - if you remove Gazebo from the Nav2 build, the system tests (which actually run simulations) will fail. I thought the plan was to remove rviz. Can we do that and leave Gazebo alone for now? I don't want a regression to occur. At a later date, we can add our own system tests and remove Gazebo |
ok, I would like to test it, but will wait till you split. |
@mkhansenbot my bad, I don't plan on removing gazebo here. In this PR I am removing only rviz dependency. Gazebo stays as-is for now. I am working on splitting this PR right now. So overall:
|
2d33ff3
to
532197c
Compare
Hi @mkhansenbot , @Bckempa, @asimonov, other potential reviewers I tried dividing it as we initially anticipated, but due to the problem with apt/from-source installation (dependency on nav2_bringup) it is really hard to make pinned repos working accurately without introducing space_nav2_bringup package. Is it ok if I introduce both pinned repos and space_nav2_bringup as part of this PR? Otherwise I would need to rework this significantly, only to rollback to what we have here. I will remove rviz2 changes from PR to keep reworks to the demo minimal. I tested it locally and it is ready for review, but I think we need to wait for #162 before merging it, as we can't test it with the latest version of space robots image from main now due to using $ROSDISTRO instead of $ROS_DISTRO there. So to sum it up:
Remember that you need to build the latest spaceros image locally for it to work |
We are using |
I agree about nav2_bringup. I am ok to keep space_nav2_bringup in this PR. I will review later. |
I was about to verify this PR works by rebuilding almost all images we have from other in-flight PRs, but alas the git-lfs change interfered: |
…s#142). This package will be used instead of nav2_bringup for launching to remove heavy dependency on packages like rviz2.
Now nav2 package versions can be updated with `./docker_update_nav2_repos.sh` script.
Repos are updated to newest versions for humble distro
Remove nav2_deps_ws and simplify build process
I rebased, resolved conflicts, and pushed changes. testing it locally. UPDATE: I re-tested changes and nav2 demo works fine. the only problem is that I had to setup BTW, @EzraBrooks I can see that the commit message CI checker failed. I believe its because I opened pull request from my own repo. I think this CI check should be fixed, wdyt? All the PRs that were merged after adding this check were opened from |
space-ros#142). Described the image content, repo update procedure and how to facilitate script for custom scenarios
I can confirm I can run the demo. But for some reason in the last step with rviz it shows there is no transform for 'map'. i am talking about this step: Line 44 in 5c8467d
|
I did another attepmt to run navigation demo.
did anyone run navigation2 demo successfully? I was never able to do it... |
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.
I think it works. But would be nice to have rviz config included from nav2 into space_nav2_bringup, otherwise it is missing. We still have rviz2 from apt in the image, so the instructions are actually valid.
I tried the navigation demo again and it worked... i would say i probaby did something wrong last time trying to juggle 2 containers from different branches, as well as few terminals. one observation: |
Hi @asimonov, good to know that it works! Following the comment of @mkhansenbot I suggested to handle rviz2 in a separate PR to limit the changes, as this PR is already v. large. You are 100% right that it should be changed, but I would suggest to do it as a separate PR as demo should work with current instructions and I would love to merge it soon, because its been open for quite some time. And just to confirm - you can run a demo without additional changes (e.g. cloning nav2 repos etc), right? You should be able run the demo as-is, set 2d pose estimate via rviz and then send nav2 goal (which should be followed by rover in gz). |
@EzraBrooks any update on commitee message standards CI checker? It seems it it is the only blocker now. |
yes, correct, i was able to run just by following the modified README, no other changes ok, i am happy to merge in current state and then focus on cleaning up rviz dependency in separate issue |
Fixed! Is this good to go then? |
@eholum I resolved all conversations. @asimonov tested it locally and it works for him. Lets merge it! |
This PR addresses: #142
This PR introduces the following changes
docker_update_nav2_repos.sh
space_nav2_bringup
package allowing to launch nav2 stack (we had to get rid of nav2_bringup due to heavy dependencies such as rviz)Out of scope (will be fixed as part of different issues):