# ROS1\_bridge in binaries files?

**URL:** <https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380>\
**Category:** ROS General\
**Created:** [August 4, 2017, 9:11am UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380 "2017-08-04T09:11:35Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kloping](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/kloping/32/3471_2.png) [@Kloping](https://discourse.openrobotics.org/u/Kloping)\
**Post date:** [August 4, 2017, 9:11am UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/1 "2017-08-04T09:11:35Z")

</div>

Is there already an ros1\_bridge Lib in the beta2 binary-release, which I could direcly use it?

---

<div class="post-metadata">

**Author:** ![Kloping](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/kloping/32/3471_2.png) [@Kloping](https://discourse.openrobotics.org/u/Kloping)\
**Post date:** [August 4, 2017, 9:55am UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/2 "2017-08-04T09:55:54Z")

</div>

Or another question:  
Is there a way to build the ros1\_bridge package in windows, and use it to communication bewteen a ROS2\_node on windows and a ROS1\_node in a linux\_virtualbox?  
From what I know now, the building of ros1\_bridge package would also require some of the ros1 packages?

---

<div class="post-metadata">

**Author:** ![dirk-thomas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dirk-thomas/32/4328_2.png) [@dirk-thomas](https://discourse.openrobotics.org/u/dirk-thomas)\
**Post date:** [August 4, 2017, 6:31pm UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/3 "2017-08-04T18:31:58Z")

</div>

Yes, the binary release contains the `ros1_bridge` package. It is being compiled with a set of common message packages. If you need to support additional messages you need to build the package from source.

In theory yes, you should be able to build the `ros1_bridge` package on Windows. But you will need to build the necessary ROS 1 packages on Windows as well which is certainly not pleasant and well supported. But some users have done that in the past so it should be possible.

---

<div class="post-metadata">

**Author:** ![dhood](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dhood/32/1121_2.png) [@dhood](https://discourse.openrobotics.org/u/dhood)\
**Post date:** [August 4, 2017, 6:43pm UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/4 "2017-08-04T18:43:14Z")

</div>

For your situation you may find the following sufficient:

On the windows machine, run only ROS 2 nodes.  
On the linux machine, run your ROS 1 nodes, and run the `ros1_bridge` from binaries to talk with the windows machine.

This is a well-supported setup

---

<div class="post-metadata">

**Author:** ![Kloping](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/kloping/32/3471_2.png) [@Kloping](https://discourse.openrobotics.org/u/Kloping)\
**Post date:** [August 5, 2017, 9:55am UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/5 "2017-08-05T09:55:41Z")

</div>

Thank you! This is a good solution.  
Still, I’m not very sure how does this ros1\_bridge work?  
Is it a ros2\_node that receive messages from a ros1\_node and then simultaneously publish them?

---

<div class="post-metadata">

**Author:** ![marguedas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/marguedas/32/1633_2.png) [@marguedas](https://discourse.openrobotics.org/u/marguedas)\
**Post date:** [August 5, 2017, 6:02pm UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/6 "2017-08-05T18:02:43Z")

</div>

> [@Kloping](#):
>
> Is it a ros2\_node that receive messages from a ros1\_node and then simultaneously publish them?

👍, the bridge is a process that has a ROS 1 node and a ROS 2 node. It subscribes to topics on both sides and publish them on the other side. The default behavior of the dynamic\_bridge is to bridge only topics that have a publisher on one side and a matching subscriber on the other side (for example a ROS1 publisher on “chatter” and a ROS2 subscriber on “chatter”). This behavior can be changed by using the [commandline arguments](https://github.com/ros2/ros1_bridge/blob/cf5108e0bfbf2b414edbd8b82276fb45157e5da9/src/dynamic_bridge.cpp#L83-L95)

---

<div class="post-metadata">

**Author:** ![Kloping](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/kloping/32/3471_2.png) [@Kloping](https://discourse.openrobotics.org/u/Kloping)\
**Post date:** [August 8, 2017, 7:30am UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/7 "2017-08-08T07:30:55Z")

</div>

I see, thank you for your answer.  
Now I’m trying to implement a graphic interface using Qt for ROS1&2 talker and listener on linux ( select a msg-type then click “publish” or “subscribe” -button that kind of simple GUI).  
Using the rclcpp library and std\_msg library is straight-forward, but how should I use this “ros1\_bridge” library? Is there a document or example codes out there about it?

Thank you!

---

<div class="post-metadata">

**Author:** ![dirk-thomas](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/dirk-thomas/32/4328_2.png) [@dirk-thomas](https://discourse.openrobotics.org/u/dirk-thomas)\
**Post date:** [August 8, 2017, 4:15pm UTC](https://discourse.openrobotics.org/t/ros1-bridge-in-binaries-files/2380/8 "2017-08-08T16:15:51Z")

</div>

The `ros1_bridge` package only generates executables but no libraries at the moment. Therefore you would run the `dynamic_bridge` executable as a separate process. In the future we might provide a library which provides a component which can be dynamically loaded into a component manager to make use of the intra-process communication advantages.

Please see the [README](https://github.com/ros2/ros1_bridge) as well as the [docs](https://github.com/ros2/ros1_bridge/blob/master/doc/index.rst) in the repository for some documention.
