-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Map fails to load if params-file is given but without map #3111
Comments
Strangely I cannot reproduce the issue in the main branch. Are you sure that, you are providing the absolute path to the |
Moreover, while Foxy is still an active distribution, we no longer support it in this project. We were still in heavy development at that time and the sheer volume of changes between foxy and even Galactic are so large it became virtually impossible to provide support for Foxy backwards. My personal recommendation is to update to any more recent distribution. There are a litany of improvements made in stability/reliability and features (including your issue too, evidently!). But I would be happy to field any PRs to Foxy to resolve the issue if you find the root cause, but it unfortunately won’t be prioritized by maintainers. |
Alright, thanks for the time checking it. That was the output on the terminal when starting the [map_server-1] [INFO] [1660655998.977703636] [map_server]: Configuring
[map_server-1] [ERROR] [1660655998.977822372] []: Caught exception in callback for transition 10
[map_server-1] [ERROR] [1660655998.977832220] []: Original error: yaml_filename
[map_server-1] [WARN] [1660655998.977851287] []: Error occurred while doing error handling.
[map_server-1] [FATAL] [1660655998.977863929] [map_server]: Lifecycle node map_server does not have error state implemented |
Ah, I think I see. There is a non-trivial default in the The issue arises that folks wanted to be able to remap the map on the commandline, but if both a launch configuration for So it leaves us in a bit of an odd situation, where it has to be in the yaml file to work, but will always be overridden if the Its quite an odd situation that I'm not sure I have a good answer to. I'd be open to suggested changes. Maybe the answer is to insert the absolute path of In |
https://github.com/ros-planning/navigation2/pull/3123/files I changed to the empty string and also added a comment to that effect. What do you think? |
Just leaving my opinion. As far as I saw, if you have both the
Considering the point that I made, I would vote for the second option, as it would definitely remove the confusion regarding the conflicts. If the user does not want to set the path either through the command_line / specify it in the default launch, then they can overwrite the empty string with the absolute path that they want to use. Also, I know a lot of people who use CLI to change the maps or select the maps during launch (me included 😅 ) |
Documentation doesn't solve everything, but this is an odd quirk that should definitely be documented if its going to exist: ros-navigation/docs.nav2.org#338 + in the default navigation yaml file there's a note to the same effect. I think that's the best solution we're going to come up with here unless/until the ROS 2 parameter API changes letting us specify multiple parameter sets with priority levels (which I don't think will ever happen, nor even being discussed to my knowledge). @superseppl I'm going to close this now since we've come up with the "why" and there isn't really a solution. However, you bring up a very good point that this is very subtle and not well documented, so I went ahead and documented it both in the yaml files and in the official documentation for the parameter so that anyone reading docs or starting from our yaml files will have this clearly denoted to them. I really appreciate the discussion this generated. tl;dr for later readers
|
Bug report
Required Info:
Steps to reproduce issue
Hi guys,
while loading a map it occurs that whenever I use
the map server works. But as soon as I add a param file without any map_server param inside the file but with the map param
it crashes. As soon as I add
to the yaml file and start it with
it works.
Issues:
Feature request
Feature description
It would be nice to use only one parameter when starting. As the map parameter is always expected when launching the node it should only start with this one and should not require anything given in the param-file.
The text was updated successfully, but these errors were encountered: