tud-amr / fabrics

Optimization fabrics for behavior design
GNU General Public License v3.0
53 stars 8 forks source link

Add a plot tool to draw animation and modify the code style #97

Closed xueminchi closed 1 year ago

xueminchi commented 1 year ago

I add a utlis_tutorial file to manage the 'plot functions' which will be used in existed tutorials and future tutorials. The features around the visualization on tutorials could be managed and modified in this file. Later, I want to move and do some modification to the 'plot trajectory', 'plot multi trajectory', 'plot energies' functions. I will add 'arrows', and animation functions like shown in this link:https://www.youtube.com/watch?v=_7B181kS4Xg&t=2339s at time 18 mins 50 seconds.

I also made the code style to PEP8 sytle because I used Pycharm IDE, sometimes I have the habbit to do this automatically. I don't know if it will cause troubles for you.

When I work at home, I only have a laptop, the resolution is too high, so I have to tune the 'figure_dpi' to 200, the original is 100. I add this choice to the utils_tutorial.

I review the two questions you aksed Nathan previously, I think you push the theory part from stationary environments to dynamic environments, there are many concepts in optimzation fabrics can't effectly explain the some stuff in dynamic environments. Like the 'path consistency', 'path' in my understanding is without time parameterization, otherwise it would be called 'trajectory'. To solidate the theory in dynamic environments, I will be interested to read some papers around other reactive methods to see how they handle some difficult setups.

My plan to this tutorial is to reproduce the original results as much as possible based on your current version. I will also pay attention to the videos and resources released by Nathan's group. On the other hand, I will be careful because when I read a paper from a standford phd student, he mentioned some conclusions in RMPflow are wrong and validate it.

The second step is to add tutorial related to dynamics fabrics and some tutorials like the collision avoidance you provided in jupyter notebook. Instead of coding directly, using fabrics package to develop more efficiently.

xueminchi commented 1 year ago

Really thanks for reviewing the codes! It helps a lot. I will create a branch for each specific PR next time. Previously, I was not sure about this because it's the first PR, now I know and thank you so much.

maxspahn commented 1 year ago

This PR could potentially be merged, but I think you wanted to do more changes before we merge it, right? Let me know what your next steps are.

xueminchi commented 1 year ago

This PR could potentially be merged, but I think you wanted to do more changes before we merge it, right? Let me know what your next steps are.

Yes. Around this tutorial, my next step it to move visualization functions like trajectories, energies to 'utlis_tutorial'. Then modify the current tutorials in section 10 to parallel version (on CPU not GPU) and add stuffs like arrows as shown last time. I'm not sure if the parallel is necessary, it just saves time to compute with a group of initial states.

xueminchi commented 1 year ago

This PR could potentially be merged, but I think you wanted to do more changes before we merge it, right? Let me know what your next steps are.

I guess I could close this pull request and create a feature branch to contribute. When it's done, I will initiate another pull request.