在ros2 humble 与 ros noetic 进行ros1_bridge
-
我是wsl2用户,是ubuntu 22.04。
如果你需要ros1与ros2之间通讯,可以用ros1_bridge。
我安装时会遇到问题,找到了一个解决方案,希望帮助大家。感谢sanmool!!!
参考https://answers.ros.org/question/404903/再次感谢sanmool!!!
此外,我在运行ros1_bridge进行ros1与ros2通讯时出现了一点小bug,希望有大佬指导(不过这个bug好像也不妨碍我通讯):
我的终端A是ros2不断发消息,此时终端B是ros1接收然后echo,它没有任何输出。但是我又开了一个终端C,再次用ros2发同样消息,终端B有输出了,此时C终端关闭,依然可以继续输出A终端内容。
如果我A与C终端发布不一样的速度,比如一个0.2,一个0.1,那么B终端输出就是一会0.2,一会0.1。此时关闭终端C,则B一直输出0.2。 -
@sxjj 建议放弃,底层冲突很多,统一ros2比较合适。
-
@1938857445 确实是这样,很多时候奇思妙想/想偷懒结果都把问题复杂化了。不过更多是想提供一种思路。
我调试的麦轮小车只有ros1,与现在wsl2中的ros2系统不匹配。
虽然也可以直接去改小车代码/重刷镜像,但还是想试试看ros1_bridge是否能跨设备通讯。
昨天自己在电脑上,ros1与ros2通讯是成功的。结果今天电脑ros2(我是wsl2),小车ros1却一直无法通讯。
后面也是折腾了很久,放宽了小车与wsl2之间的防火墙,也是成功通讯了,可以用ros2操控ros1系统的小车了。挺好玩,不过也确实很折磨,而且也不好说自己学到了些什么。总之我的本愿是希望下次有人突发奇想,不要孤军奋战,至少能在网上找到一个也许还行的思路,希望能帮到碰到同样问题的人。
有的时候挺佩服一些大佬,不单单是天赋,还有毅力。有的bug一找就是很久,甚至我都觉得逆天,但是还是有大佬一遍遍尝试,找到解决方法。
太牛了。