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

Edge reconfigure integration for the new map type #54

Merged
merged 17 commits into from
Feb 15, 2021
Merged

Edge reconfigure integration for the new map type #54

merged 17 commits into from
Feb 15, 2021

Conversation

adambinch
Copy link
Collaborator

@adambinch adambinch commented Feb 2, 2021

Main addition is the EdgeReconfigureManager class in src/EdgeReconfigureManager.py for handling everything edge reconfigure related.
Each edge in the new format map has a config field, which contains a list of parameters to be reconfigured when the edge is traversed (see #35).
Topological navigation calls functions from the EdgeReconfigureManager to do this.

Some additions to the new map manager:
A new service /topological_map_manager2/add_param_to_edge_config for adding parameters to an edge's config and a new service /topological_map_manager2/rm_param_from_edge_config for removing a parameter from an edge's config.
The map manager 2 converts new format maps (broadcast on the topic /topological_map_2) to the old format (broadcast on the topic /topological_map). This allows nodes/actions that rely on the old map format to function whilst using/testing features from the new map.

Some fixes:
The monitored navigation function in navigation.py expects a geom msgs Pose object rather than a monitored nav goal object (stops nav breaking when using the old map format).
Navigation now reconfigures move base tolerances according to the values specified in the tmap.

The variable use_tmap2 for using the new map type in localisation and navigation is now a ros parameter.

Some minor improvements.

The monitored navigation function in `navigation.py` expects a geom msgs Pose object rather than a monitored nav goal object (stops nav breaking when using the old map format).
Navigation now reconfigures move base tolerances according to the values specified in the tmap.
@adambinch adambinch added the WIP Work in progress label Feb 2, 2021
…ogical_map_2`) to the old format (broadcast on the topic `/topological_map`).

This allows nodes/actions that rely on the old map format to function whilst using/testing features from the new map.
…namespace, name and value.

The default config is empty and the tmap to tmap2 conversion sets an empty config.
… better reflect what it does.

That service and `rm_param_from_edge_config` modified to account for the changes in the previous commit.
Constructing new class `EdgeReconfigureManager` in `navigation.py` to handle everything edge reconfigure related.
@adambinch adambinch changed the title Edge reconf integrated into main nav script, and some fixes. Edge reconfigure integration for the new map type Feb 8, 2021
@adambinch adambinch removed the WIP Work in progress label Feb 10, 2021
@adambinch adambinch requested a review from ayu135 February 10, 2021 16:14
@adambinch
Copy link
Collaborator Author

adambinch commented Feb 10, 2021

This works from my end and is ready to be tested @ayu135 . I will send you instructions soon.

@adambinch adambinch mentioned this pull request Feb 14, 2021
Copy link
Contributor

@ayu135 ayu135 left a comment

Choose a reason for hiding this comment

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

Tested this and seems to be working on my end. I think this can be merged.

@ayu135 ayu135 merged commit 26e0c31 into LCAS:toponav2-devel Feb 15, 2021
@adambinch adambinch deleted the edge_reconf branch March 26, 2021 13:01
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.

2 participants