Hey Dronecode community,
Two releases to catch up on for rclgo, a Go client library for ROS 2.
We’ve been using it to build SwarmOS nodes that run alongside PX4 via DDS. Last post covered v0.4.1 — here’s what’s shipped since then.
v0.5.0 — Environment Variable Parameters & Realtime Logging
- Environment variable parameter support — parameters can now be set via RCL_PARAM_* env vars, matching rclcpp/rclpy behavior. Useful for containerized
deployments and CI environments where you don’t want to pass --ros-args flags. - Realtime logging improvements — fixed log flush on exit, added realtime logging support. Logs now behave consistently whether the node exits cleanly or is
killed. - Comprehensive parameter test suite — priority ordering integration tests covering YAML → CLI → env var override chain.
v0.6.0 — ROS 2 Jazzy LTS (breaking)
This release ports rclgo to ROS 2 Jazzy and drops Humble support. If you’re still on Humble, stay on v0.5.x.
Jazzy-specific changes:
- Updated to rcl_timer_init2 (new autostart param)
- RequestID.WriterGUID changed to [16]byte to match Jazzy’s ABI
- New QoS constants: BestAvailable reliability, durability, and liveliness + NewBestAvailableProfile() helper
- New generated message packages: service_msgs, type_description_interfaces, rosidl_dynamic_typesupport
- Full message binding regeneration against Jazzy paths
Why Go for ROS 2 nodes?
If your team is already writing PX4 companion software in Go (MAVLink, UDP, swarm coordination), rclgo lets you keep the same language for your ROS 2 layer — no context switching to C++ or Python. Goroutines map naturally to the subscriber/timer/service model.
Current feature support:
- Publisher/Subscriber, Services
- Parameters (declare, get, set, YAML, CLI overrides, env vars)
- QoS Policies (including Jazzy BestAvailable profiles)
- ROS Time & /use_sim_time
- Named loggers with filesystem output
Coming soon: Actions, Lifecycle nodes, Multi-threaded executor
Jazzy
go get github.com/merlindrones/rclgo@v0.6.0
Humble (stay here if not on Jazzy)
go get github.com/merlindrones/rclgo@v0.5.1
Feedback and contributions welcome.