xbpeng / DeepTerrainRL

terrain-adaptive locomotion skills using deep reinforcement learning

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create and train new humanoid character

RexDrac opened this issue · comments

Hi,
I would like to create a bipedal humanoid character and simulate the new humanoid character. Is it possible to modify the raptor controller to control a humanoid character? Which files do I need to modify, and how do I modify it?
Thanks

yes, you could modify the raptor into a human. Right now cRaptorController, assumes that the raptor has a certain body structure, so you'll need to modify the joint definitions in the code, and the character file data/characters/raptor.txt. It will probably take a fair bit of work.

I've deleted the tail and spine definition in raptor.txt, and modified the SimRaptor.cpp, SimRaptor.h, RaptorController.cpp, RaptorController.h.
I have also modified data/state/raptor_run_state.txt, raptor_mace3_deploy.prototxt and raptor_mace3_train.prototxt since the size of the character state has also reduced.
Do I also need to change the data/motions/raptor_run.txt? It seems that I can train the character just fine without any modification, but I am not sure whether it may cause trouble later on.

Thanks

Ubuntu seems to have terminated the training process prematurely, the training is using up too much of my memory(16GB memory, 16GB swap), is there any way to reduce memory usage?

The training also seems to get stuck on Iter 0, waited for a few hours and it didn't proceed to Iter 1

Thanks

You will need to modify raptor_run_state.txt, since your character has a different number of degrees of freedom. You can probably hand specify poses for the state file. It's a bit hard to guess at all the changes you'll need, so it might useful to get a better understanding of what is going on in the RaptorController code.

You can try reducing the memory by reducing the size of the replay buffer in the arg file (trainer_replay_mem_size).

It seems you probably did not convert the controller to a biped controller well enough. The system generally uses up about 1-1.5gb of memory when simulating 30 threads. That out of memory error must be coming from a different issue. I have seen it before when the cpp controller and the motion/config file to match up properly. Have a look over them again to see if you need to add/remove some of the controller parameters in the config/controller files.

Thanks xbpeng, Neo-X, I will have a look at the files in data/controllers/raptor.
I used the original parameters for the raptor, since I only removed the tail and spine and retained the leg joints, I thought I could use the same parameters from the raptor,

Hi Neo-X, I don't think the memory issue is caused by the controller. I tried training the original raptor character using the original code, it is still using a lot of memory and ubuntu killed the program in the end as well.

The memory issue is solved after I changed the opt_args_train_raptor_mace.txt by reducing replay memory size. I set trainer_replay_mem_size= 2000, trainer_num_init_samples= 2000. However, I get this error.
F0301 17:06:38.133447 22566 memory_data_layer.cpp:93] Check failed: labels.size() / label_size_ == num (210847752626046076 vs. 32) Number of labels must be the same as data.
*** Check failure stack trace: ***
Aborted (core dumped)