Giter VIP home page Giter VIP logo

Comments (13)

miccol avatar miccol commented on July 17, 2024

For a free, open source and OS-independent visualization, OpenGL is probably the only decent choice we have right now. Do you have any alternatives?

from behavior-tree.

ewerlopes avatar ewerlopes commented on July 17, 2024

Indeed! I think it is a good thing to stick with OpenGL. What I really think should be improved is the graphics! So, it is a bit primitive yet... I mean... it is the first version and demands improvements.

Also, I think that the visualization implemented here could be an alternative if there is any unnecessary resource demand by the use of OpenGL.

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

That is with graphviz, I have the same visualization on my python implementation of BTs (soon available).
That visualization does only outputs a png (or pdf) file. It is not an on screen visualization in which we can visualize which subtree is currently ticked (executed) as in OpenGL.

from behavior-tree.

ewerlopes avatar ewerlopes commented on July 17, 2024

Yes. That is right! The "static output" by graphviz is the major drawback. But, I must agree that it is simple and clean graph output. We should get a pretty OpenGL representation.

from behavior-tree.

int3ll3ct avatar int3ll3ct commented on July 17, 2024

I hacked some slight changes to the visualization on my machine - nothing major, mostly optimizing the spacing of the nodes at each depth layer - which made the visualization more useful to me. I'll post a screenshot later today.

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

Awesome, keep us posted!

from behavior-tree.

ewerlopes avatar ewerlopes commented on July 17, 2024

Hey @int3ll3ct... That is awesome! Keep in touch.

from behavior-tree.

int3ll3ct avatar int3ll3ct commented on July 17, 2024

Here's my current slightly modded BT viz, note that I'm using the ROS-Behavior-Tree code as a baseline. My goal was to avoid nodes visually overlapping, which was a problem with my tree.

image

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

@int3ll3ct Have you tried to use the PgUp/PgDown key to increase/decrease the spacing between nodes?

from behavior-tree.

int3ll3ct avatar int3ll3ct commented on July 17, 2024

Yes I did, but the existing viz algorithm overlaid my PanTiltServosOff and MemPriority nodes at any x spacing (the existing algorithm computed their centers to be dead-centered over each other). What I have done is no prettier, but will always maximize the space between nodes at every depth level. I also added a JSON parser for the BT visual editor at Behavior3.com, in order to create trees visually, and read in trees from JSON files, and I added more decorators and a couple of default actions. Out of the 3 BT implementations I was considering using, I felt yours dealt with the node "halt" concept the best, so I switched over to your implementation (I first started first using the almc implementation, which seems to be an ancestor of your implementation.)

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

@int3ll3ct I agree, sometimes the overlapping can be tricky to solve wil PgUp/Pg Down. Fell free to upload the improvements.
I am in contact with the developer of Behavior3.com I also had in mind of doing a parsing from JSON files (I have also asked him to add the possibility to draw the BTs from top down). Unfortunately this is still in the TODO list.

Yes, I was working with almc, he is my colleague. We now work on different topics, so I have decided to have my own library.

I feel flattered in having people using BT++, I honestly did not expect to have many people using it. Fell free to comment or request improvements/additions.

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

The version 1.2 of the ROS library has an improved visualization.

from behavior-tree.

miccol avatar miccol commented on July 17, 2024

done in version 1.3

from behavior-tree.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.