# Hybrid strategy **Repository Path**: bupt_htl/hybrid-strategy ## Basic Information - **Project Name**: Hybrid strategy - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-03-18 - **Last Updated**: 2023-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hybrid Strategy-Based Multi-Agent Decision Model ## Requirements ``` seaborn>=0.11.1 easydict>=1.9 matplotlib>=3.3.3 numpy>=1.19.4 scipy>=1.4.1 tensorboardX>=2.1 torch==1.7.1 torchvision==0.8.2 scikit-image>=0.14.0 scikit-learn>=0.19.1 hashids==1.3.1 torchsummaryX==1.3.0 ``` ## Dataset generation Step 1: generate maps. ``` python generateScenarios/GenerateMap.py --random_map --gen_CasePool --gen_map_type random --chosen_solver ECBS --map_width 100 --map_density 0.1 --map_complexity 0.002 --num_dataset 5 --path_save /jinpeng/GNN/SCIMap ``` Step 2: Use expert algorithms to generate expert demonstration data for each map. ``` python generateScenarios/CasesSolver.py --loadmap_TYPE random --random_map --gen_CasePool --chosen_solver ECBS --map_width 20 --map_density 0.1 --map_complexity 0.005 --num_agents 10 --num_dataset 250 --num_caseSetup_pEnv 50 --path_save /jinpeng/GNN/SCIMap/solution --path_loadSourceMap /jinpeng/GNN/SCIMap/map100x100_density_p1 ``` Step 3: Convert expert demonstration data from yaml format to mat format. ``` python generateScenarios/DataGenerateYaml.py --num_agents 10 --map_w 20 --map_density 0.1 --div_train 3 --div_valid 1 --div_test 2 --div_train_IDMap 0 --div_test_IDMap 1 --div_valid_IDMap 2 --solCases_dir /jinpeng/GNN/SCIMap/solution/ --dir_SaveData /jinpeng/GNN/SCIMap/ --guidance Project_G ``` Note that the ecbs file under the generateScenarios needs to be called at this stage. If your operating system cannot recognize the file, please follow https://github.com/whoenig/libMultiRobotPlanning regenerate ecbs file. ## Train and test Model train ``` python main.py configs/Configs.json --mode train --best_epoch --map_w 20 --nGraphFilterTaps 3 --num_agents 10 --trained_num_agents 10 --batch_numAgent --extra_policy one ``` Model test ``` python main.py configs/Configs_Generalization.json --mode test --best_epoch --log_time_trained 1662818029 --nGraphFilterTaps 3 --trained_num_agents 10 --trained_map_w 20 --commR 7 --map_w 28 --num_agents 20 --num_testset 1000 --GSO_mode dist_GSO --action_select exp_multinorm --guidance Project_G --CNN_mode Default --batch_numAgent --tb_ExpName GNN_Resnet_3Block_distGSO_baseline_128 ```