pendulum icon indicating copy to clipboard operation
pendulum copied to clipboard

WIP: Update project to 0.0.2 using rclcpp::waitset

Open carlossvg opened this issue 4 years ago • 2 comments

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 RealtimeObject or 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

carlossvg avatar Jun 30 '21 12:06 carlossvg