dora-rs / dora

DORA (Dataflow-Oriented Robotic Architecture) is middleware designed to streamline and simplify the creation of AI-based robotic applications. It offers low latency, composable, and distributed dataflow capabilities. Applications are modeled as directed graphs, also referred to as pipelines.
https://dora-rs.ai
Apache License 2.0
1.57k stars 94 forks source link

Question. Does the framework provide the concept of Behavior Trees? #350

Closed besok closed 1 year ago

besok commented 1 year ago

Hi there! Thanks for the awesome idea and the interesting implementation. 👍 Great to see new projects in the Rust community dedicated to the sphere of robotics and ml. :smile:

After a quick poke into the docs, I have not found the API or client to work with Behavior trees like in ros Have I missed it? If not, do you have plans to implement this part in Dora?

Currently, I am fiddling around with the behavior trees -> forester and find it engaging to integrate it into Dora by providing the API or in the other way probably.

Can it be valuable for the project?

For now, I will make API from the Forester side but If you find it attractive, I can try to provide some vision into some integration on it as well.

haixuanTao commented 1 year ago

I just looked at forester and it looks great!

I think that a behaviour model is welcomed! We might not be able to set it up as a core feature because, it might add a layer of abstraction that not everyone might need.

My question would be that we kind of already have a dataflow description that can be used to chain logic so how does forester improve the developers abstraction?

besok commented 1 year ago

Great. Thanks.

I think that a behaviour model is welcomed! We might not be able to set it up as a core feature because, it might add a layer of abstraction that not everyone might need.

Sure, I see. Obviously, it should be optional. Even, to say more, apparently, just a separate module for the users who are willing to include it. Basically the abstraction above the core broker.

My question would be that we kind of already have a dataflow description that can be used to chain logic so how does forester improve the developers abstraction?

That is a good question. :). Before all, I need to delve into Dora, to learn the model. For now, I can say only common words :) that the behavior trees carry a strong math abstraction and they are well developed and they are fairly popular in robotics (in game design in the first turn)

haixuanTao commented 1 year ago

Sure, don't hesitate to ask any questions, Here or on Discord. I can definitely see a usecase for things like autonomous driving where you would have very specific behaviours based on states like traffic lights. And we currently does not have any good abstraction to do that in dora except the most verbose one.

besok commented 1 year ago

Great. Thanks.

besok commented 1 year ago

I will delve into it and come back with something :)