-
Notifications
You must be signed in to change notification settings - Fork 65
Closed
Description
I've started a port to ROS 2.
Following a brief discussion in #41, I'll outline my plans here. Besides the obvious changes to switch to rclcpp, I plan to make the following changes:
- Style refactor + enable common ament linter tests (cpplint, uncrustify, flake8, etc ...)
- Use C++11/14 features where appropriate (e.g smart pointers).
- Switch from
tftotf2- Specifically, make use of
tf2::BufferCoreInterfacefor looking up transforms.
- Specifically, make use of
- Add the interactive marker feedback publisher to InteractiveMarkerClient.
- Previously handled by RViz.
- Replace the "init" topic with a ROS service.
- It seems more intuitive for clients to request the full state on demand rather than listening to a latched topic (which may have redundant messages queued).
- We can avoid the logic for clients unsubscribing to the topic after receiving the state.
- I will prototype a ROS 1 bridge shim to handle the new API.
- Replace the use of the
KEEP_ALIVEtimer with the Liveliness QoS setting.- Seems like a natural use of Liveliness and should remove the existing timer-related logic.
I've completed a subset of the points above and will open PRs soon for visibility/review.
Unless there are objections, I will target my PR to a new ros2 branch of this repository.
Metadata
Metadata
Assignees
Labels
No labels