Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct spelling and grammar in README.md #125

Merged
merged 1 commit into from
Dec 3, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ The source code for this demo is available in the [examples/cu_rp_balancebot](ex
2. **Runtime generation**: The current implementation works for up to middle size robots (~a couple dozen of tasks).
3. **Log reader**: You can reread the logs generated by Copper from your robot, sim or resim.
4. **Structured log reader**: debug logs are indexed and string interned at compile time for maximum efficiency.
5. **Components**: We have a grwing number of drivers, algorithms and standard interfaces, if you have implemented a new
compnent, ping us and we will add it to the list!
5. **Components**: We have a growing number of drivers, algorithms and standard interfaces, if you have implemented a new
component, ping us and we will add it to the list!
6. **log replay / resim**: You can deterministically replay/resim a log. If all you tasks are deterministic, you will
get the exact same result as a real log on the robot or from the sim.
7. **Simulation**: We have a simple simulation environment to test your robot without a real robot.
Expand Down Expand Up @@ -231,19 +231,17 @@ examples/cu_caterpillar
examples/ros_caterpillar
```

You can them out either just logging on a desktop or with GPIOs on a RPi and you should see a couple order of magnitude
difference in performance.
You can try them out by either just logging on a desktop, or with GPIOs on a RPi.
You should see a couple order of magnitude difference in performance.

Copper has been design for performance first. Not unlike a game engine we use a data oriented approach to minimize latency
Copper has been designed for performance first. Not unlike a game engine, we use a data oriented approach to minimize latency
and maximize throughput.

### Safety

As Copper is written in Rust, it is memory safe and thread safe by design. It is also designed to be easy to use and to
avoid common pitfalls.
As Copper is written in Rust, it is memory safe and thread safe by design. It is also designed to be easy to use and avoid common pitfalls.

As we progress on this project we plan on implementing more and more early warning to help you avoid "the death by a
thousand cuts" that can happen in a complex system.
As we progress on this project we plan on implementing more and more early warnings to help you avoid "the death by a thousand cuts" that can happen in a complex system.

### Release Notes

Expand All @@ -258,11 +256,11 @@ You can find the release notes [here](https://github.com/copper-project/copper-r
Here are some of the features we plan to implement next (in ~order of priority), if you are interested in contributing
on any of those, please let us know!:

- [ ] **Parallel Copper Lists**: Today Copper is monothreaded; this should enable concurrent Copper Lists to be executed
- [ ] **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
- [ ] **Extensible scheduling**: Enables a way to give hints to copper to schedule the workload.
- [ ] **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
Expand Down
Loading