pendulum
pendulum copied to clipboard
WIP: Update project to 0.0.2 using rclcpp::waitset
Summary:
- Remove topic statistics support. It's not a real-time safe approach to report statistics.
- Refactor launch files. Separated in different launch files. Now it's possible to run each node and rviz ndividually.
- Process settings command-line options moved to yaml param files. Process settings added as parameters.
- Refactor process settings tool class. No command-line arguments.
- Created pendulum_tests package to implement integrations tests.
- Removed some integration tests. Integration test go now in pendulum_tests.
- Removed pendulum_demo package. Executables are now self-contained in their package. There is no composition executable. Each node runs in its own process.
- Removed deadline QoS support. Deadlines are detected using wait-sets.
- Created real-time loop using a wait-set.
- Launch files run nodes in separate processes.
- Real-time tasks are run in a separate thread.
- Shared variables between real-time thread and non-real-time thread use
RealtimeObjector atomics. - Add test to catch dynamic memory allocations in real-time safe functions.
- Add common PendulumStatus data struct.
- QoS depth changed to 1. We only care about most recent message.
- Default update period changed to 1ms.
TODO:
- [ ] Bump version to 0.0.2
- [ ] Update instructions
- [x] Document code
- [x] Add RT params
- [ ] Add duration option