make a slimmed-down branch with just the exector and usage example

This commit is contained in:
Kurt Wilson 2022-04-07 20:27:29 -04:00
parent e8d3d0b883
commit 34a7043006
27 changed files with 5 additions and 1445 deletions

View file

@ -1,13 +1,10 @@
This contains two packages:
This contains the priority_executor package that adds an Executor with deadline and chain-aware priority support.
- `simple_timer` contains timing related functions, and a wrapper for calling some kernel scheduling functions
- `priority_executor` contains the modified executor and some nodes to test it
In `priority_executor`:
- `priority_executor.cpp` subclasses `rclcpp::Executor` to allow for additional customization
- `priority_memory_strategy.hpp` is a modified version of `rclcpp`s `allocator_memory_strategy.hpp` that selects callbacks based on either the earliest deadline, or a relative priority. Executor polls this for ready callbacks.
- `test_nodes.cpp` adds timer-based publishing nodes and dummy worker nodes that can be arranged in chains. It uses `dummy_workload.hpp` to generate a workload.
- `f1tenth_test.cpp` sets up a chain of nodes similar to [https://intra.ece.ucr.edu/~hyoseung/pdf/rtas21_picas.pdf](https://intra.ece.ucr.edu/~hyoseung/pdf/rtas21_picas.pdf)
- `test_publisher.cpp` creates two small chains on a single executor to demonstrate an overloaded executor.
- `usage_example.cpp` shows how to set deadlines for callbacks and timers
the `main` branch of this repository has the test scripts and nodes used in the paper.