ros1_bridge踩坑记录

 现在网上能查到的,基本就是教你安装后,直接运行下面这个命令:

ros2 run ros1_bridge dynamic_bridge --bridge-all-topics

问题是这样会转发所有消息,造成很大的网络开销

尝试只转发特定topic的消息,就遇到了大坑

试了各种方法,问各种大模型都不行

最后看了源码,暂时这么搞:

1.如果你是通过 apt 安装的 ros1_bridge,先卸载掉

2.下载源码

3.找到static_bridge.cpp,

  // bridge one example topic
  std::string topic_name = "chatter";
  std::string ros1_type_name = "std_msgs/String";
  std::string ros2_type_name = "std_msgs/msg/String";

把里面的topic_name 和 type_name 换成你需要的,重新编译

然后运行 

ros2 run ros1_bridge static_bridge

就可以了

posted @ 2025-02-11 18:09  zerozabuu  阅读(364)  评论(2)    收藏  举报