Skip to content

Commit

Permalink
Refined the TODO list
Browse files Browse the repository at this point in the history
  • Loading branch information
gbin committed Jan 23, 2025
1 parent fdb54e9 commit 9eee944
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,16 +260,24 @@ You can find the release notes [here](https://github.com/copper-project/copper-r
> We are looking for contributors to help us build the best robotics framework possible. If you are interested, please
> join us on [Discord](https://discord.gg/VkCG7Sb9Kw) or open an issue.
Here are some of the features we plan to implement next (in ~order of priority), if you are interested in contributing
Here are some of the features we plan to implement next, if you are interested in contributing
on any of those, please let us know!:

- [ ] **Parallel Copper Lists**: Today Copper is single-threaded; this should enable concurrent Copper Lists to be
executed
at the same time with no contention.
- [ ] **ROS/DDS interfacing**: Build a pair of sink and source to connect to existing ROS systems, helping users migrate
their infra bit by bit.
- [ ] **Extensible scheduling**: Enables a way to give hints to copper to schedule the workload.
- [x] **Buffer Pools**: Implement a large buffer (Host or Device/GPU) pools for 0 copy large intertask transfers.
- [ ] **Log Compression & Selection**: Implement a pluggable compression system for logs and its resim counterpart.
For example to encode video from images. Selection is about NOT logging something if it is not needed.
- [ ] **Modes**: Implement a way to have multiple DAGS in the RON configuration file and have a centralized way to
switch from one another. This is useful for running the stack in predeterministic modes: for example Data acquisition,
Full autonomy, Charging, etc.
- [ ] **Microcontroller and RTOS support**: port all the crates to be able to run in with "nostd" so we can run on
microcontrollers. This would allow a seemless environment for high level on a standard kernel (ML inference etc...)

Check warning on line 273 in README.md

View workflow job for this annotation

GitHub Actions / Typos Check

"seemless" should be "seamless".
and low level tasks on MCUs (control, HW interfacing...).
- [ ] **Parallel Copper Lists**: allow Copper lists to get executed in a staggered and parallel way to improve
throughput.
- [ ] **ROS2/DDS interfacing**: Build a pair of sink and source to connect to existing ROS systems, helping users
migrate their stack bit by bit.
- [ ] **Modular Configuration**: As robots built with Copper gain complexity, users will need to build "variations" of
their robots without duplicating their entire RON file.
- [ ] **Distributed Copper**: Currently, we can only create one process. We need proper RPC filtering copper lists per
subsystem.
- [ ] **Extensible scheduling**: Enables a way to give hints to copper to schedule better the workload at compile time.
- [ ] **Swarm support**: Implement Zenoh to allow a swarm of robots powered by Copper to cooperate.
- [ ] **MCAP support**: Allow the interfacing of Foxglove and ROS ecosystems at the logging level.

0 comments on commit 9eee944

Please sign in to comment.