The simulation and multi-objective optimization framework for trussBot.
pip install -r requirements.txt
- Train a table for multiple objectives with pure GA.
python examples/train_table_GA.py
GA results will be under './output/GA_{Data}-{Time}' folder, named as 'iPool_{# of generations}'
- Visualize the GA result.
python examples/show_table.py
- Train RL on top of a GA optimized truss.
python utils/ppo/main.py
A gym environment will be initialized based a GA result.
You can change the GA result by changing the following three lines in the main.py
file.
data = pickle.loadTruss(open('./output/GA_531-8-36-53/iPool_580', 'rb'))
moo = data['elitePool'][5]['moo']
iObjective = 1
- To visualize the training result.
python utils/ppo/visualize.py --env-name='trained_0613'
Make sure the GA result is the same as the one in main.py
Change the env-name to the .pt file generated by main.py
, which is by default in the trained_models directory.
Keep closing the visualization window to see the frame-by-frame motions