ROSIntegration
ROSIntegration copied to clipboard
README addition
This is in regards to this section: "Important: The most recent rosbridge versions changed the transmission method. Since ROSIntegration can not handle this new method yet, please make sure to check out these issue on how to install a compatible rosbridge version: https://github.com/code-iai/ROSIntegration/issues/141 & https://github.com/code-iai/ROSIntegration/issues/139"
when installing rosbridge version 0.11.10, which is compatible according to one of the linked issues, there is a bug which causes both noetic and melodic to not advertise, subscribe nor publish messages sent when in 'bson_only_mode'.
There should be an addition here to specify that users need to implement this change manually if they install rosbridge version 0.11.10: https://github.com/RobotWebTools/rosbridge_suite/pull/545/files
These changes would need to be done on these two files respectively, (These are linux paths, not sure which paths it would be on windows) : '/opt/ros/ROSVERSION/lib/PYHTON3DIR/site-packages/rosbridge_library/tcp_handler.py' '/opt/ros/ROSVERSION/lib/PYHTON3DIR/site-packages/rosbridge_server/protocol.py'
After copying the changes from the pull request the messages gets published as expected.
What seems to be the issue is that it does not take into regard that it is 'bson_only_mode' and that it forces the same function calls whatever mode it is, encoding and decoding like it is text (it's what I am assuming it does, I have not actually checked how the decode() and encode() function are written).
Hi @AbsenceGameDev,
You are not the first person to mention their being an issue with this plugin and ROS Noetic. However, I do not understand how you are having an issue with ROS Melodic since I have been using Melodic (and even ROS2 with the ros1_bridge) with this plugin for a while now without any problem. You mention that rosbridge version 0.11.10 does not work for you when using bson_only_mode, even though this specific version does not have any message encoding, hence the reason the README mentions this. I find your comment on this to be confusing / surprising. If you want help, more info would be appreciated.
Since the ros1 branch on the rosbridge repo appears to include the changes proposed in that rosbridge PR you mentioned, I would like to know if you can verify if the ros1 branch for rosbridge works with this plugin. If so, then we may no longer have to downgrade to version 0.11.10.
I have not actually tested if the ros1 branch for rosbridge works as a replacement but I suspect it might, I have only verified that these changes work with the ROSI plugin when applied to my rosbridge 0.11.10 install.
I will test with the current ros1 branch of rosbridge during the week and see if it works out of the box with the ROSI plugin.
Regarding why some people have issues with Noetic and some with Melodic, and why I had issues with both, I suspect it's the package manager versions of ROS that are at fault here. My particular woes were on Manjaro, which is not officially supported by ROS.