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

Noetic devel #89

Merged
merged 27 commits into from
May 25, 2023
Merged

Noetic devel #89

merged 27 commits into from
May 25, 2023

Conversation

pmusau17
Copy link

@pmusau17 pmusau17 commented Aug 4, 2021

Noetic devel port from @machinekoder

Copy link

@kscottz kscottz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I went through the source here, since there seems to be a lot of whitespace changes and it is really hard to tell where I need to be actually looking. I did see that there are a ton of code paths that are unused that didn't get updated (i.e. iplImage). We'll want to make sure we exercise the tests heavily to make sure that those never get hit. There's also a ton of code in ALVAR that is now in mainline opencv (or at least an implementation of it) we could flat out replace but that's a slog.

FWIW we might be able to prune the PR2 launch files.

I think in a perfect world we would yank out alvar and re-implement the marker logic in raw opencv. That's a lot of work and I don't understand the reqard. I think right now the best we can do is get this running and then insert a deprecation warning to get people to move over to a mainline marker format.

@mjcarroll I would like to hear your opinion on the above. If that sounds fine we can go ahead and merge this and do a susequent cleanup PR.

@pmusau17
Copy link
Author

pmusau17 commented Aug 5, 2021

friendly ping for review @130s

Copy link

@kscottz kscottz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a lot going on here so I want to make it all clear to the other potential reviewers. The version of ALVAR vendored in this package is no longer supported by OpenCV so we're upgrading the vendored code to a version of ALVAR that works with the OpenCV supported by ROS 1 Noetic.

Simultaneously we're upgraded the node to Noetic and along with some much needed linting / refactoring (some really old standards were used, if any). All of this explains why this PR has so many changes in this PR. In retrospect we should have broken this up, but it was also a gnarly upgrade.

I only briefly skimmed the vendor files but I did give all of the ROS nodes a complete read through (I gave most of them a 👍🏻 so they're easy to find). I only saw one issue with a forward declaration that needs to be evaluated. While it would be nice to table the whitespace issues for a second PR I am loathe to make anyone revert to a worse standard, especially when there are no standards given or enforced. The fact that everything would be consistent for a new version of ROS is a big win in my mind.

.cmake-format.yaml Outdated Show resolved Hide resolved
ar_track_alvar/CMakeLists.txt Outdated Show resolved Hide resolved
ar_track_alvar/nodes/IndividualMarkers.cpp Show resolved Hide resolved
ar_track_alvar/nodes/IndividualMarkersNoKinect.cpp Outdated Show resolved Hide resolved
ar_track_alvar/nodes/TrainMarkerBundle.cpp Outdated Show resolved Hide resolved
ar_track_alvar/nodes/TrainMarkerBundle.cpp Show resolved Hide resolved
ar_track_alvar/nodes/TrainMarkerBundle.cpp Show resolved Hide resolved
ar_track_alvar/package.xml Show resolved Hide resolved
ar_track_alvar_msgs/CMakeLists.txt Show resolved Hide resolved
@kscottz
Copy link

kscottz commented Aug 26, 2021

@mjcarroll @130s I went and reviewed this, it looks acceptable. Patrick and I went through and resolved my comments, did a full build, and ran the tests / launch files. I would like your sign off before we merge. There is a CMake 2.8.12 issue with google tests that needs to fixed but that can be addressed as a subsequent PR. It should address most of the issues related to this PR. We may still need to address issues related CI.

The PR is sizeable because of linting changes in the vendored packages. We apollogize for the mess but it at least it is slightly more standardized. If you focus on the ROS nodes themselves it really isn't that large. It is worth noting that we also revised a few of the tests to use a smaller local bag file to avoid test flakiness.

@kevt19
Copy link

kevt19 commented Jan 19, 2022

Can you guys merge these changes with the main repo?

@RobertBlakeAnderson
Copy link

Yes, please merge. We had to clone this fork build the package.

@mysablehats
Copy link

mysablehats commented Mar 22, 2022

Why isn't this main? Or at least there could be a readme.md on main saying:

# Noetic

use branch noetic-devel

@kscottz
Copy link

kscottz commented Mar 24, 2022

@mjcarroll @130s if I get your approval I could help move this through. Thanks!

@mjcarroll
Copy link

I looked at this a while ago and didn't have any major objections. The size of the diff is quite substantial, so I didn't get a chance to do real line-by-line reviews. It sounds like people are using it and are happy with it, so I think we can merge it and sort out any issues in folllow ups.

@bjsowa
Copy link

bjsowa commented May 24, 2022

@kscottz @mjcarroll @130s Could you please move this through? It would really help me if the package was released to Noetic rosdistro.

@Khush-dev
Copy link

Khush-dev commented Jun 25, 2022

I get TF_NAN_INPUT #15 issue when using this PR on Noetic, Ubuntu 20.04.. I made a bag file for the same.
Error: TF_NAN_INPUT: Ignoring transform for child_frame_id "ar_marker_1" from authority "unknown_publisher" because of a nan value in the transform (0.645201 -3.742790 8.400771) (-nan -nan -nan -nan) at line 240 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
Error: TF_DENORMALIZED_QUATERNION: Ignoring transform for child_frame_id "ar_marker_1" from authority "unknown_publisher" because of an invalid quaternion in the transform (-nan -nan -nan -nan) at line 255 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp

Also, I didn't get any errors(except maybe TF_REPEATED_DATA because of multiple tags of same ID) when using the #86 PR on the same platform/world.

Edit. Sorry, I didn't see that it is already being discussed in issue #82 with a bug fix, but that also gives the same error. Guess, I'll stick with #86

@ana-GT
Copy link

ana-GT commented Feb 21, 2023

Hi! Could it be possible to merge this to noetic? 🙏 If any additional testings would be needed, I would be happy to help. Our team is using this package for a project, and it would be great if we could use the default noetic branch instead of the PR. Thanks!

@kscottz
Copy link

kscottz commented Feb 22, 2023

@mjcarroll this got left behind. Can we chat about it tomorrow and merge it?

@ana-GT
Copy link

ana-GT commented Apr 17, 2023

Hi, just checking if there are any plans on merging this branch into noetic at this point? Thanks

@RobinHeitz
Copy link

Hi, I want to clarify, the package was not released (yet) for noetic, right?

@mjcarroll mjcarroll merged commit 9c62568 into ros-perception:noetic-devel May 25, 2023
@ana-GT
Copy link

ana-GT commented May 25, 2023

Thank you very much! 🎉

MrKeith99 added a commit to TeamSOBITS/ar_track_alvar that referenced this pull request Jun 2, 2024
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

Successfully merging this pull request may close these issues.