statig
bonsai
statig | bonsai | |
---|---|---|
4 | 7 | |
540 | 262 | |
- | - | |
2.8 | 6.2 | |
22 days ago | about 2 months ago | |
Rust | Rust | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
statig
-
Hierarchical state machine in Rust with `statig`
I went through multiple iterations for the design before arriving on something that (to me at least) feels clean and is easy to maintain. But of course I’m a bit biased and I’m curious to hear what other people think. So if this sounds interesting to you be sure to check out the repo!
-
Accessing embedded peripherals from state machine
I'm trying to make a blinky app targeting the ESP32-C3 using [statig HSM crate](https://github.com/mdeloof/statig) but I can't figure out how to access pins (or other peripherals) from the states.
-
Announcing `statig`: Hierarchical state machines for event-driven systems (using GAT’s)
The thing is that these handlers can result in different transitions or even no transitions at all (see the calculator example). Maybe one way to think of it is that "state" is the result of all events that have occurred and determines how the system responds to new events. So in that sense the method is the state. (Idk, does that make sense?)
bonsai
-
Suggestions for Async Behavior Tree Implementation
Was looking at existing StateMachine and BehaviorTree examples recently and I found the following Behavior Tree crates https://github.com/PistonDevelopers/ai_behavior https://github.com/Sollimann/bonsai
-
[Media] bonsai-bt: A Behavior Tree library in Rust for creating complex AI logic https://github.com/Sollimann/bonsai
I have just released a Behavior Tree library in Rust called bonsai Repo: https://github.com/Sollimann/bonsai Feel free to run the examples for demonstration of use What is a Behavior Tree? A Behavior Tree (BT) is a data structure in which we can set the rules of how certain behavior's can occur, and the order in which they would execute. BTs are a very efficient way of creating complex systems that are both modular and reactive. These properties are crucial in many applications, which has led to the spread of BT from computer game programming to many branches of AI and Robotics. Read more about behavior trees in bonsai here: https://github.com/Sollimann/bonsai/blob/main/docs/concepts/README.md When to use a Behavior Tree? * Use BT's to manage complexity when system control logic grows. * Use BT's if priority ordering of conditions and actions matter. * Use BT's when failures can occur and your system would need repeated attempts to complete a task. * Use BT's when you need parallell semantics. It means that multiple processes can happen at the same time and the logic can be constructed around how these processes runs or terminate.
- bonsai-bt: A Behavior Tree library in Rust for creating complex AI logic https://github.com/Sollimann/bonsai
-
bonsai-bt: A Behavior Tree implementation in Rust
Read more about behavior trees in bonsai here: https://github.com/Sollimann/bonsai/blob/main/docs/concepts/README.md
Repo: https://github.com/Sollimann/bonsai
What are some alternatives?
stateright - A model checker for implementing distributed systems.
ai_behavior - AI behavior tree
hsmcpp - C++ based Hierarchical / Finite State Machine library oriented for embedded and RTOS systems.
Rust-Repo - Rust Repository
bitfield-struct-rs - Procedural macro for bitfields.
rustscii - A Rust crate for creating ASCII console-style games
esp-idf-template - A "Hello, world!" template of a Rust binary crate for the ESP-IDF framework.
Game - A 3D RTS game implemented in Rust.
CleanIt - Open-source Autonomy Software in Rust-lang using gRPC for the Roomba series robot vacuum cleaners. Under development.
rust-game-ports - Official host of games ported using Rust game libraries.
ros2_rust - Rust bindings for ROS 2
rubiks-cube - Rubik's cube made with bevy engine.