Migration of Bond_core package

Hi All

we are looking to migrage bond_core package to ROS 2 . Please let me know if anyone has started this ?
we will be happy to contribute for this package

1 Like

Hi,
We have ported Bond-core (bondcpp) package to ROS2. It has been tested.
This package is ready to use. Please find pull request, https://github.com/ros/bond_core/pull/43 for code.

i am not sure bond_core is really necessary for ros2, since it supports lifecycle which expose the state of node. what is lifecycle is missing from bond_core? could anybody give me some idea?

1 Like

To close the loop on this some months later - Bond has a different role than lifecycle. Lifecycle is very nice for determinstic bringup and shutdown as well as having a manager give you the thumbs up that “yes, everything is up” or “yes, everything is down”.

But once its up, lifecycle doesn’t really help you much to tell you that it’s working, not in a dead-lock situation, or crashed. Bond helps with this by augmenting lifecycle to track that things are working well in the activated state, not that it just got to the activated state.

In Nav2, we have implemented a lifecycle manager server that will take in a list of nodes to transition into activated in order. Then it will create a ROS2 bond link to the servers to make sure that they continue to operate properly. If they do not, the lifecycle manager will transition them all down to a safe inactive state for the recovery system to kick in to relaunch the issue server.

With that said @gbiggs as shown a DDS-based replacement for Bond in ROS2 that uses leases to essentially accomplish the same thing as Bond. However, that hasn’t been officially released yet so we ported and use Bond in Nav2. The plan is to move to the new method and deprecate Bond once its ready for use.

3 Likes

Hello, is there any news on the DDS-based replacement for Bond in ROS2?

There is a heartbeat-based watchdog available here:

Thanks @gbiggs. Is it planned to integrate the s/w watchdogs into one of the upcoming LTS distributions?

It’s possible that a binary release could be done in time for Humble.

1 Like