Skip to content

Conversation

@DylanDeCoeyer-Quimesis
Copy link
Contributor

The getInput method does not support std::set<uint16_t> parsing. So, let's replace the type of the input port by std::vector which is supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue #4985.


Basic Info

Info Please fill out this column
Ticket(s) this addresses (add tickets here #1)
Primary OS tested on (Ubuntu, MacOS, Windows)
Robotic platform tested on (Steve's Robot, gazebo simulation of Tally, hardware turtlebot)
Does this PR contain AI generated software? (No; Yes and it is marked inline in the code)

Description of contribution in a few bullet points

Description of documentation updates required from your changes

Description of how this change was tested


Future work that may be required in bullet points

For Maintainers:

  • Check that any new parameters added are updated in docs.nav2.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@DylanDeCoeyer-Quimesis DylanDeCoeyer-Quimesis force-pushed the fix_are_error_codes_present branch from 5f6c47a to 2829e0e Compare March 14, 2025 11:35
@SteveMacenski SteveMacenski linked an issue Mar 14, 2025 that may be closed by this pull request
Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

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

I'm pretty irritated that this wasn't tested thoroughly by the original developer, but I see looking at the unit tests for this node how this got based us. This was the base class of the derived Controller/Planner/Smoother variants that set the values in their constructor based on contextual knowledge, so I see how this may not have been appropriately tested as a stand alone node. That's my bad in quality control, sorry!

@SteveMacenski
Copy link
Member

I think the unit test just needs the input type updated to vector:

unknown file
C++ exception with description "The creation of the tree failed because the port [error_codes_to_check] was initially created with type [std::set<unsigned short, std::less<unsigned short>, std::allocator<unsigned short> >] and, later type [std::vector<int, std::allocator<int> >] was used somewhere else." thrown in SetUp().

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue ros-navigation#4985.

Signed-off-by: Dylan De Coeyer <[email protected]>
@DylanDeCoeyer-Quimesis DylanDeCoeyer-Quimesis force-pushed the fix_are_error_codes_present branch from 2829e0e to 4336e10 Compare March 17, 2025 14:19
@codecov
Copy link

codecov bot commented Mar 17, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Files with missing lines Coverage Δ
...ns/condition/are_error_codes_present_condition.hpp 100.00% <100.00%> (ø)

... and 5 files with indirect coverage changes

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@SteveMacenski SteveMacenski merged commit 564df1b into ros-navigation:main Mar 17, 2025
11 checks passed
Nils-ChristianIseke pushed a commit to Nils-ChristianIseke/navigation2 that referenced this pull request Mar 21, 2025
…ent (ros-navigation#4986)

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue ros-navigation#4985.

Signed-off-by: Dylan De Coeyer <[email protected]>
Signed-off-by: Nils-ChristianIseke <[email protected]>
@ajtudela ajtudela mentioned this pull request Apr 3, 2025
7 tasks
SteveMacenski pushed a commit that referenced this pull request Apr 15, 2025
…ent (#4986)

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue #4985.

Signed-off-by: Dylan De Coeyer <[email protected]>
SteveMacenski added a commit that referenced this pull request Apr 15, 2025
* Add short delay before lookup transform in polygon test (#4939)

* Add short delay before lookup transform

Signed-off-by: mini-1235 <[email protected]>

* Fix linting

Signed-off-by: mini-1235 <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>

* Populate stamped command message with now timestamp, if velocity timed out. (#4959)

Signed-off-by: Georg Flick <[email protected]>

* Integrate ClearCostmapExceptRegion and ClearCostmapAroundRobot Services into the API (#4962)

* Add ClearCostmapExceptRegion and ClearCostmapAroundRobot services to BasicNavigator API

Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>

* typo ament_flake8

Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>

* type fix ament_flake

Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>

---------

Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>

* Fix urls in node hybrid (#4973)

Signed-off-by: mattbooker <[email protected]>

* Use main function to replace global variable in gtest. (#4978)

Signed-off-by: ChenYing Kuo <[email protected]>

* nav2_behavior_tree: fix input port parsing error in AreErrorCodesPresent (#4986)

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue #4985.

Signed-off-by: Dylan De Coeyer <[email protected]>

* Change to goal checker orientation for yaw angle (#4988)

- Fixed discrepancy in goal checker orientation, which was checking for
< tolerance instead of <= tolerance, as all the other limit checks are.
- Reduced tolerance time for the progress checker unit tests to
0.1 seconds, to reduce test runtime from ~17 to ~7 seconds.

Signed-off-by: Rasmus Larsson <[email protected]>

* Declare_parameter_if_not_declared in docking navigator (#5023)

Signed-off-by: Alberto Tudela <[email protected]>

* bumping to 1.3.6 for release

Signed-off-by: Steve Macenski <[email protected]>

---------

Signed-off-by: mini-1235 <[email protected]>
Signed-off-by: Georg Flick <[email protected]>
Signed-off-by: BCKSELFDRIVEWORLD <[email protected]>
Signed-off-by: mattbooker <[email protected]>
Signed-off-by: ChenYing Kuo <[email protected]>
Signed-off-by: Dylan De Coeyer <[email protected]>
Signed-off-by: Rasmus Larsson <[email protected]>
Signed-off-by: Alberto Tudela <[email protected]>
Signed-off-by: Steve Macenski <[email protected]>
Co-authored-by: mini-1235 <[email protected]>
Co-authored-by: Georg Flick <[email protected]>
Co-authored-by: Burak Can Kaya <[email protected]>
Co-authored-by: Matthew Booker <[email protected]>
Co-authored-by: ChenYing Kuo (CY) <[email protected]>
Co-authored-by: DylanDeCoeyer-Quimesis <[email protected]>
Co-authored-by: RasmusLar <[email protected]>
Co-authored-by: Alberto Tudela <[email protected]>
stevedanomodolor pushed a commit to stevedanomodolor/navigation2 that referenced this pull request Apr 29, 2025
…ent (ros-navigation#4986)

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue ros-navigation#4985.

Signed-off-by: Dylan De Coeyer <[email protected]>
Signed-off-by: stevedanomodolor <[email protected]>
SakshayMahna pushed a commit to SakshayMahna/navigation2 that referenced this pull request Jun 8, 2025
…ent (ros-navigation#4986)

The getInput method does not support std::set<uint16_t> parsing. So,
let's replace the type of the input port by std::vector<int> which is
supported, and convert the list to a std::set<uint16_t>.

This commit fixes issue ros-navigation#4985.

Signed-off-by: Dylan De Coeyer <[email protected]>
Signed-off-by: Sakshay Mahna <[email protected]>
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.

Input port parsing issue in AreErrorCodesPresent BT node

2 participants