We’re excited to announce the release of synchros2 for ROS 2! ![]()
synchros2 is our open source package designed to make synchronization in ROS 2 easier, faster, and more reliable.synchros2 simplifies the challenge of synchronous programming in ROS 2 by providing a clean, modern Python API and flexible synchronization policies. We hope this helps developers and researchers to more easily use ROS 2 through features such as:
- Blocking in callbacks (subscribers, services, actions, etc) without creating deadlocks
- Single-node-per-process semantics similar to ROS 1 (optional)
- Wrapper APIs for subscribers with features like looping through messages in realtime and waiting for the next message.
We recommend starting with the Getting Started Guide:
You can explore the full API and usage docs here:
If you already have a ROS 2 project in the works and are interested in migrating to synchros2, a guide is available for that here: Migrating from rclpy to synchros2 — synchros2 1.0.4 documentation
synchros2 has been released into Humble and is in staging for Jazzy.
A big thank you to everyone who provided feedback, tested early versions, and helped get synchros2 to this milestone! And an extra big thank you to @hidmic, @khughes1, and @jbarry!
As always, contributions and issues are welcome on our repository!
— The RAI Institute