-
Notifications
You must be signed in to change notification settings - Fork 124
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
When using an namespace for my omniroboter the controller_manager doesn't get an update_rate #366
Comments
Is this maybe related to #181? |
Or maybe this is simpler, and you should add the namespace as argument to the plugin as described here. |
That doesn't do anything, I tried |
And I tried to comment out the lines mentioned in the other issue, but that also doesn't have any effect on my problem |
I created a MWE in this #367
runs successfully and
I think you forgot to namespace the parameters in the yaml file. |
I namespaced everything like you did, but it still doesn't work, the different right now is that you use the urdf as the startingpoint for the plugin, while I start it from an sdf file |
And I also tried to change my stuff into your example and it just doesn't load the urdf anymore, after that I tried to get your example unto my computer but that also just breaks when I try to colcon build it, so I cannot verify if your solution works on my system |
you can just take the new files and add it to the humble branch of this repo, or cherry-pick the PR on top of it. The demo should run on every distro. |
I'm really sorry, but I really don't know what I should do now to get the demo running on my system, because I'm not an expert on how to manages the git repos to get them on my system without destroying the rest of my ros |
Do I just pull the current repo over an pull request and then add the new files. Afterwards I colcon build it on my system, source it and start the launch file like you did to hopefully get the same result? |
As you are using Humble distro, you need to build the |
So the demo is running without any problems on my system, so could the problem be that my .sdf is wrong in some way, so the system is failing and if so, how would I need to change it?
|
We don't have any examples with directly loading sdf. Why would you do that, instead of using the URDF-way? |
It is used in my example that way, that is why I have both data formats, an urdf and an sdf file |
And the sdf file specifies the laserscaner, while the urdf just loads libgazebo_ros_laser.so, so I don't know, if the simple change to urdf will work as intended |
parts inside
|
Thanks for the quick answer, I will try that and update here as soon as I'm finished |
I finally found the problems in my system, there are two things you need to look out for, to not get into the same problem as me, with the other additional information in this Issue |
Only one last thing I'm unable to get started, is to use an arg parameter in the urdf and the python file to set the namespace dynamically and not using specific files for each individual robot |
Description of the bug
I'm trying to use mutiple omni-directional roboter with the ROS navigationstack 2 and therefore I need to setup my own controller. When I only spawn 1 roboter without a namespace, the controller_manager gets loaded without any problems, but as soon as I give the roboter an namespace, the controller_manager doesn't receive the update_parameter anymore and therefore the whole gazebo_plugin fails.
Steps to reproduce the behavior:
Change the namespace and -robot_namespace variable to something and the system fails
Expected behavior
The expected behavior would be, that the system loads the controller_manager into the namespace with all the parameter.
Code important for the Execution
My .yaml file that the system loads.
The part in the .sdf file wäre the gazebo plugin is called:
Environment (please complete the following information):
Additional Points for what I already found
The system works as intended until the reset for the controller_manager in the gazebo_ros2_controll_plugin.cpp line 384
Here the systems doesn't load the update_rate and I believe the problem is in the executor that parses the information from the .yaml file incorrectly. Therefore the parameter for the update_rate is not set and the controller_manager therefore cannot set the value, which breaks the system. The arguments themself are given correctly to the executor in the lines 256 until 266 in the gazebo_ros2_controll_plugin.cpp.
The text was updated successfully, but these errors were encountered: