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

SUPG for Quadruped Locomotion - 4-legged Walker #53

Open
MuleaneEve opened this issue Sep 16, 2017 · 6 comments
Open

SUPG for Quadruped Locomotion - 4-legged Walker #53

MuleaneEve opened this issue Sep 16, 2017 · 6 comments

Comments

@MuleaneEve
Copy link

Last year, I was learning about ANN and EA by playing with existing projects, and I particularly liked this 3D 4-legged walker based on a research paper by Gregory Morse. You can watch videos of the walker on his website.

So, I updated the source code a bit, and uploaded it on bitbucket (because of my other interest in physics simulation).

I am mentioning it now after reading the issue #16 by @asimaranov and @drallensmith.
Sadly, right now, it is using a very old version of SharpNeatLib and I don't have enough mastery to update it to the current version of sharpneat.

Would you be interested in it?
I would help as much as I can.

@colgreen
Copy link
Owner

Thanks. Potentially this could become one of the default task/domains following a review of the code. However, right now my time is directed towards a big refactor of the core code so I won't have time to do anything for a while.

As such I will leave this open for the time being.

@MuleaneEve
Copy link
Author

Thank you. I look forward to both.

@MuleaneEve
Copy link
Author

MuleaneEve commented Apr 4, 2018

I will re-write this sample to use BEPUphysics instead of ODE.

The benefits are:

  • BEPUphysics is written in pure C#, unlike ODE which is in C++.
  • It is under active development, unlike ODE which is mostly dormant now. And it's hosted on GitHub.
  • We will benefit from "cross-pollination": Developers using BEPUphysics will discover SharpNEAT more easily and may start using it, and vice-versa.

The only downside that I see is that BEPUphysics v2 was just released in alpha, so it is less stable than ODE. However, that should be a short term inconvenience and this sample doesn't require complex physics.

@colgreen
Copy link
Owner

colgreen commented Apr 5, 2018

Yeh looks good, and certainly seems fast based on how much is going on in some of the demos - and those include the rendering overhead too (seems to be using a managed library over DirectX).

Did you mean you will re-write your code currently on bitbucket? I.e. should I wait for this before bringing the work into sharpneat?

@MuleaneEve
Copy link
Author

MuleaneEve commented Apr 5, 2018

(Edit: I didn't notice that my brother had used my PC :) )

Yes, I will re-write the code (from bitbucket) and host it in a temporary repository on GitHub.
You can then take it into SharpNEAT.

By the way, my expectation is that the quadruplet will no longer be able to learn to walk with BEPUphysics. The old code is slow to learn (it can take over 5 hours) and very brittle (most of the time, the learning fails and you have to start over).

So, my focus will be to set up the project with the 3D and physics aspects, so that you can take care of the AI.

@MuleaneEve
Copy link
Author

I have made some progress on this project. The code is available here.
I also introduced it to the BEPUphysics devs.

The Quadruped is currently just a simple rag-doll. It hasn't been tied to SharpNEAT yet. The code to achieve that is in SharpNeatWalker\OscillatorQuadruped but it is commented out because it needs to be adapted to this new engine.

One idea that I have for this new version is that the app can show the best neural network running on screen, while the training is ongoing in the background. And we can introduce some input keys to control all that...

@colgreen colgreen transferred this issue from colgreen/sharpneat Mar 30, 2021
@colgreen colgreen transferred this issue from another repository Jan 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants