├── .gitignore
├── CMakeLists.txt
├── Maps
├── airport_departure.pgm
├── airport_departure.yaml
├── airport_depature_goals.txt
├── airport_depature_obstacles.txt
├── indian_cross_12_16_12.png
├── indian_cross_12_16_12.yaml
├── indian_cross_13_14_13.png
├── indian_cross_13_14_13.yaml
├── indian_cross_14_12_14.png
├── indian_cross_14_12_14.yaml
├── indian_cross_15_10_15.png
├── indian_cross_15_10_15.yaml
├── indian_cross_16_8_16.png
├── indian_cross_16_8_16.yaml
├── indian_cross_17_6_17.png
├── indian_cross_17_6_17.yaml
├── indian_cross_18_4_18.png
├── indian_cross_18_4_18.yaml
├── indian_cross_goals_12_16_12.txt
├── indian_cross_goals_13_14_13.txt
├── indian_cross_goals_14_12_14.txt
├── indian_cross_goals_15_10_15.txt
├── indian_cross_goals_16_8_16.txt
├── indian_cross_goals_17_6_17.txt
├── indian_cross_goals_18_4_18.txt
├── indian_cross_goals_tri_10_10.txt
├── indian_cross_goals_tri_10_12.txt
├── indian_cross_goals_tri_12_12.txt
├── indian_cross_goals_tri_12_14.txt
├── indian_cross_goals_tri_14_14.txt
├── indian_cross_goals_tri_14_16.txt
├── indian_cross_obs_12_16_12.txt
├── indian_cross_obs_13_14_13.txt
├── indian_cross_obs_14_12_14.txt
├── indian_cross_obs_15_10_15.txt
├── indian_cross_obs_16_8_16.txt
├── indian_cross_obs_17_6_17.txt
├── indian_cross_obs_18_4_18.txt
├── indian_cross_obs_tri_10_10.txt
├── indian_cross_obs_tri_10_12.txt
├── indian_cross_obs_tri_12_12.txt
├── indian_cross_obs_tri_12_14.txt
├── indian_cross_obs_tri_14_14.txt
├── indian_cross_obs_tri_14_16.txt
├── indian_cross_tri_10_10.png
├── indian_cross_tri_10_10.yaml
├── indian_cross_tri_10_12.png
├── indian_cross_tri_10_12.yaml
├── indian_cross_tri_12_12.png
├── indian_cross_tri_12_12.yaml
├── indian_cross_tri_12_14.png
├── indian_cross_tri_12_14.yaml
├── indian_cross_tri_14_14.png
├── indian_cross_tri_14_14.yaml
├── indian_cross_tri_14_16.png
└── indian_cross_tri_14_16.yaml
├── README.md
├── car_hyp_despot
├── CMakeLists.txt
├── cmake
│ ├── DespotConfig.cmake.in
│ └── FindTinyXML.cmake
├── package.xml
└── src
│ ├── HypDespot
│ ├── CMakeLists.txt
│ ├── cmake
│ │ ├── DespotConfig.cmake.in
│ │ └── FindTinyXML.cmake
│ ├── doc
│ │ ├── NsightRemoteDebug
│ │ ├── Untitled Document~
│ │ ├── Usage.txt
│ │ ├── cpp_model_doc
│ │ │ └── Tutorial on Using DESPOT with cpp model.pdf
│ │ ├── eclipse_guide.md
│ │ ├── nips2013.txt
│ │ ├── nsight_error_parsing
│ │ ├── nsight_error_parsing~
│ │ ├── nsight_patch
│ │ │ ├── README
│ │ │ ├── README~
│ │ │ ├── cproject_cuda
│ │ │ └── nsight-err-parse-patch.py
│ │ ├── polymorphism
│ │ ├── polymorphism~
│ │ └── pomdpx_model_doc
│ │ │ └── DESPOT tutorial on using pomdpx model.pdf
│ ├── include
│ │ └── despot
│ │ │ ├── GPUconfig.h
│ │ │ ├── GPUcore
│ │ │ ├── CudaInclude.h
│ │ │ ├── GPUbuiltin_lower_bound.h
│ │ │ ├── GPUbuiltin_policy.h
│ │ │ ├── GPUbuiltin_upper_bound.h
│ │ │ ├── GPUglobals.h
│ │ │ ├── GPUhistory.h
│ │ │ ├── disabled_util.h
│ │ │ ├── msg_queue.h
│ │ │ ├── shared_node.h
│ │ │ ├── shared_solver.h
│ │ │ └── thread_globals.h
│ │ │ ├── GPUinterface
│ │ │ ├── GPUdefault_policy.h
│ │ │ ├── GPUfunction_interfaces.h
│ │ │ ├── GPUlower_bound.h
│ │ │ ├── GPUpolicy_graph.h
│ │ │ ├── GPUpomdp.h
│ │ │ └── GPUupper_bound.h
│ │ │ ├── GPUrandom_streams.h
│ │ │ ├── GPUutil
│ │ │ ├── Dvc_memorypool.h
│ │ │ ├── GPUCudaUtilities.h
│ │ │ ├── GPUDataParallel.h
│ │ │ ├── GPUFile.h
│ │ │ ├── GPUHostReflection.h
│ │ │ ├── GPUHostReflectionDevice.h
│ │ │ ├── GPUIntTypes.h
│ │ │ ├── GPUKnob.h
│ │ │ ├── GPURedBlackTree.h
│ │ │ ├── GPUThreadId.h
│ │ │ ├── GPUalgorithm.h
│ │ │ ├── GPUallocator_traits.h
│ │ │ ├── GPUcoord.h
│ │ │ ├── GPUcstdlib.h
│ │ │ ├── GPUcstring.h
│ │ │ ├── GPUdebug.h
│ │ │ ├── GPUfunctional.h
│ │ │ ├── GPUiterator.h
│ │ │ ├── GPUlimits.h
│ │ │ ├── GPUmap.h
│ │ │ ├── GPUmemorypool.h
│ │ │ ├── GPUrandom.h
│ │ │ ├── GPUseeds.h
│ │ │ ├── GPUsplit_buffer.h
│ │ │ ├── GPUstring.h
│ │ │ ├── GPUtype_traits.h
│ │ │ ├── GPUutil.h
│ │ │ ├── GPUutility.h
│ │ │ └── GPUvector.h
│ │ │ ├── config.h
│ │ │ ├── core
│ │ │ ├── builtin_lower_bounds.h
│ │ │ ├── builtin_policy.h
│ │ │ ├── builtin_policygraph.h
│ │ │ ├── builtin_upper_bounds.h
│ │ │ ├── globals.h
│ │ │ ├── history.h
│ │ │ ├── mdp.h
│ │ │ ├── node.h
│ │ │ ├── particle_belief.h
│ │ │ ├── pomdp_world.h
│ │ │ ├── prior.h
│ │ │ └── solver.h
│ │ │ ├── interface
│ │ │ ├── belief.h
│ │ │ ├── default_policy.h
│ │ │ ├── lower_bound.h
│ │ │ ├── policy_graph.h
│ │ │ ├── pomdp.h
│ │ │ ├── upper_bound.h
│ │ │ └── world.h
│ │ │ ├── ippc
│ │ │ └── client.h
│ │ │ ├── logger.h
│ │ │ ├── planner.h
│ │ │ ├── plannerbase.h
│ │ │ ├── pomdpx
│ │ │ ├── parser
│ │ │ │ ├── function.h
│ │ │ │ ├── parser.h
│ │ │ │ └── variable.h
│ │ │ └── pomdpx.h
│ │ │ ├── random_streams.h
│ │ │ ├── solver
│ │ │ ├── Hyp_despot.h
│ │ │ ├── aems.h
│ │ │ ├── baseline_solver.h
│ │ │ ├── despot.h
│ │ │ ├── pomcp.h
│ │ │ └── pomdplite.h
│ │ │ └── util
│ │ │ ├── coord.h
│ │ │ ├── dirichlet.h
│ │ │ ├── error_handler.h
│ │ │ ├── exec_tracker.h
│ │ │ ├── floor.h
│ │ │ ├── gamma.h
│ │ │ ├── grid.h
│ │ │ ├── logging.h
│ │ │ ├── memorypool.h
│ │ │ ├── optionparser.h
│ │ │ ├── random.h
│ │ │ ├── seeds.h
│ │ │ ├── timer.h
│ │ │ ├── tinyxml
│ │ │ ├── tinystr.h
│ │ │ └── tinyxml.h
│ │ │ └── util.h
│ ├── license
│ │ ├── APACHE LICENSE-2.0.txt
│ │ ├── GPL-2.0.txt
│ │ ├── License
│ │ └── zlib.txt
│ └── src
│ │ ├── GPUcore
│ │ ├── GPUbuiltin_lower_bound.cu
│ │ ├── GPUbuiltin_policy.cu
│ │ ├── GPUbuiltin_upper_bound.cu
│ │ ├── GPUconfig.cu
│ │ ├── GPUglobals.cu
│ │ ├── GPUhistory.cu
│ │ ├── GPUnode.cu
│ │ ├── GPUpolicy_graph.cu
│ │ ├── shared_node.cu
│ │ └── thread_globals.cu
│ │ ├── GPUinterface
│ │ ├── GPUdefault_policy.cu
│ │ ├── GPUfunction_interfaces.cu
│ │ ├── GPUlower_bound.cu
│ │ ├── GPUpomdp.cu
│ │ └── GPUupper_bound.cu
│ │ ├── GPUrandom_streams.cu
│ │ ├── GPUutil
│ │ ├── GPUcoord.cu
│ │ ├── GPUmemorypool.cu
│ │ ├── GPUrandom.cu
│ │ ├── GPUseeds.cu
│ │ └── GPUutil.cu
│ │ ├── Parallel_planner.cu
│ │ ├── core
│ │ ├── builtin_lower_bounds.cpp
│ │ ├── builtin_policy.cpp
│ │ ├── builtin_policygraph.cpp
│ │ ├── builtin_upper_bounds.cpp
│ │ ├── globals.cpp
│ │ ├── mdp.cpp
│ │ ├── node.cpp
│ │ ├── particle_belief.cpp
│ │ ├── pomdp_world.cpp
│ │ └── solver.cpp
│ │ ├── evaluator.cpp
│ │ ├── interface
│ │ ├── belief.cpp
│ │ ├── default_policy.cpp
│ │ ├── lower_bound.cpp
│ │ ├── policy_graph.cpp
│ │ ├── pomdp.cpp
│ │ ├── upper_bound.cpp
│ │ └── world.cpp
│ │ ├── ippc
│ │ └── client.cpp
│ │ ├── logger.cpp
│ │ ├── planner.cpp
│ │ ├── plannerbase.cpp
│ │ ├── pomdpx
│ │ ├── parser
│ │ │ ├── function.cpp
│ │ │ ├── parser.cpp
│ │ │ └── variable.cpp
│ │ └── pomdpx.cpp
│ │ ├── random_streams.cpp
│ │ ├── solver
│ │ ├── Hyp_despot.cu
│ │ ├── aems.cpp
│ │ ├── baseline_solver.cpp
│ │ ├── despot.cpp
│ │ ├── pomcp.cpp
│ │ └── pomdplite.cpp
│ │ └── util
│ │ ├── coord.cpp
│ │ ├── dirichlet.cpp
│ │ ├── error_handler.cpp
│ │ ├── exec_tracker.cpp
│ │ ├── floor.cpp
│ │ ├── gamma.cpp
│ │ ├── logging.cpp
│ │ ├── random.cpp
│ │ ├── seeds.cpp
│ │ ├── tinyxml
│ │ ├── tinystr.cpp
│ │ ├── tinyxml.cpp
│ │ ├── tinyxmlerror.cpp
│ │ └── tinyxmlparser.cpp
│ │ └── util.cpp
│ ├── gamma
│ ├── .editorconfig
│ ├── .gitignore
│ ├── .travis.yml
│ ├── Agent.cpp
│ ├── Agent.h
│ ├── AgentParams.h
│ ├── ConvexHull.cpp
│ ├── ConvexHull.h
│ ├── Definitions.h
│ ├── GammaParams.cpp
│ ├── GammaParams.h
│ ├── KdTree.cpp
│ ├── KdTree.h
│ ├── Minkowski.h
│ ├── Obstacle.cpp
│ ├── Obstacle.h
│ ├── RVO.h
│ ├── RVOSimulator.cpp
│ ├── RVOSimulator.h
│ └── Vector2.h
│ └── planner
│ ├── CMakeLists.txt
│ ├── cmake
│ ├── DespotConfig.cmake.in
│ └── FindTinyXML.cmake
│ ├── collision.cpp
│ ├── context_pomdp.cpp
│ ├── context_pomdp.h
│ ├── coord.h
│ ├── crowd_belief.cpp
│ ├── crowd_belief.h
│ ├── default_prior.cpp
│ ├── default_prior.h
│ ├── param.cpp
│ ├── param.h
│ ├── path.cpp
│ ├── path.h
│ ├── simulator_base.h
│ ├── state.h
│ ├── utils.h
│ ├── world_model.cpp
│ └── world_model.h
├── crowd_pomdp_planner
├── CMakeLists.txt
├── is_despot_param.yaml
├── package.xml
├── params.yaml
├── planner.launch
├── planner_debug.launch
└── src
│ ├── context_pomdp_node.cpp
│ ├── context_pomdp_node.h
│ ├── controller.cpp
│ ├── controller.h
│ ├── local_frame.cpp
│ ├── vel_publisher.cpp
│ ├── world_simulator.cpp
│ └── world_simulator.h
├── msg_builder
├── CMakeLists.txt
├── msg
│ ├── ActionDistrib.msg
│ ├── ActionReward.msg
│ ├── AgentPathArray.msg
│ ├── AgentPaths.msg
│ ├── CrowdNetworkAgent.msg
│ ├── CrowdNetworkAgentArray.msg
│ ├── CrowdSidewalkAgent.msg
│ ├── CrowdSidewalkAgentArray.msg
│ ├── EulerAngles.msg
│ ├── EulerAnglesWithConfidence.msg
│ ├── Frame.msg
│ ├── FrameTest.msg
│ ├── Gesture.msg
│ ├── Gestures.msg
│ ├── InputImages.msg
│ ├── Landmark.msg
│ ├── LandmarksInfo.msg
│ ├── LaneSeg.msg
│ ├── Lanes.msg
│ ├── NetworkRoutePoint.msg
│ ├── Obstacles.msg
│ ├── PersonModuleState.msg
│ ├── Pointing.msg
│ ├── PomdpCmd.msg
│ ├── RectWithConfidence.msg
│ ├── SidewalkRoutePoint.msg
│ ├── SkeletonJoint.msg
│ ├── StartGoal.msg
│ ├── TrafficAgent.msg
│ ├── TrafficAgentArray.msg
│ ├── User.msg
│ ├── UserInfo.msg
│ ├── Wave.msg
│ ├── car_info.msg
│ ├── cluster.msg
│ ├── clusters.msg
│ ├── imitation_data.msg
│ ├── ped_belief.msg
│ ├── ped_info.msg
│ ├── ped_local_frame.msg
│ ├── ped_local_frame_vector.msg
│ ├── pedestrian.msg
│ ├── pedestrian_array.msg
│ ├── peds_believes.msg
│ ├── peds_car_hist.msg
│ ├── peds_car_info.msg
│ └── peds_info.msg
├── package.xml
└── srv
│ ├── TensorData.srv
│ └── TensorDataHybrid.srv
├── scripts
├── check_optimal_params.py
├── clear_process.py
├── draw_vel_log.py
├── experiment_summit.sh
├── hyper_param_tuning_service.py
├── launch_docker.py
├── run_data_collection.py
├── server_pipline.py
├── statistics.py
├── summit_simulator.py
├── timeout.py
├── timeout_inner.py
└── visualize_txt_data.py
├── setup
├── install_opencv4.sh
├── install_ros_melodic.sh
├── install_torch.sh
├── requirements_python2.txt
├── requirements_python3.txt
└── setup.sh
├── summit_connector
├── CMakeLists.txt
├── launch
│ ├── connector.launch
│ ├── indian_cross_16_8_16.png
│ └── map.yaml
├── package.xml
└── src
│ ├── crowd_processor.py
│ ├── ego_vehicle.py
│ ├── path_smoothing.py
│ ├── plot_avg_speed.py
│ ├── plot_jam_factor.py
│ ├── purepursuit_controller.py
│ ├── spectator.py
│ ├── speed_controller.py
│ ├── summit.py
│ └── util.py
└── videodev.h
/.gitignore:
--------------------------------------------------------------------------------
1 | *.swp
2 | *.swo
3 | *.pyc
4 | *.txt
5 |
--------------------------------------------------------------------------------
/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | # toplevel CMakeLists.txt for a catkin workspace
2 | # catkin/cmake/toplevel.cmake
3 |
4 | cmake_minimum_required(VERSION 2.8.3)
5 |
6 | set(CATKIN_TOPLEVEL TRUE)
7 |
8 | # search for catkin within the workspace
9 | set(_cmd "catkin_find_pkg" "catkin" "${CMAKE_SOURCE_DIR}")
10 | execute_process(COMMAND ${_cmd}
11 | RESULT_VARIABLE _res
12 | OUTPUT_VARIABLE _out
13 | ERROR_VARIABLE _err
14 | OUTPUT_STRIP_TRAILING_WHITESPACE
15 | ERROR_STRIP_TRAILING_WHITESPACE
16 | )
17 | if(NOT _res EQUAL 0 AND NOT _res EQUAL 2)
18 | # searching fot catkin resulted in an error
19 | string(REPLACE ";" " " _cmd_str "${_cmd}")
20 | message(FATAL_ERROR "Search for 'catkin' in workspace failed (${_cmd_str}): ${_err}")
21 | endif()
22 |
23 | # include catkin from workspace or via find_package()
24 | if(_res EQUAL 0)
25 | set(catkin_EXTRAS_DIR "${CMAKE_SOURCE_DIR}/${_out}/cmake")
26 | # include all.cmake without add_subdirectory to let it operate in same scope
27 | include(${catkin_EXTRAS_DIR}/all.cmake NO_POLICY_SCOPE)
28 | add_subdirectory("${_out}")
29 |
30 | else()
31 | # use either CMAKE_PREFIX_PATH explicitly passed to CMake as a command line argument
32 | # or CMAKE_PREFIX_PATH from the environment
33 | if(NOT DEFINED CMAKE_PREFIX_PATH)
34 | if(NOT "$ENV{CMAKE_PREFIX_PATH}" STREQUAL "")
35 | if(NOT WIN32)
36 | string(REPLACE ":" ";" CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
37 | else()
38 | set(CMAKE_PREFIX_PATH $ENV{CMAKE_PREFIX_PATH})
39 | endif()
40 | endif()
41 | endif()
42 |
43 | # list of catkin workspaces
44 | set(catkin_search_path "")
45 | foreach(path ${CMAKE_PREFIX_PATH})
46 | if(EXISTS "${path}/.catkin")
47 | list(FIND catkin_search_path ${path} _index)
48 | if(_index EQUAL -1)
49 | list(APPEND catkin_search_path ${path})
50 | endif()
51 | endif()
52 | endforeach()
53 |
54 | # search for catkin in all workspaces
55 | set(CATKIN_TOPLEVEL_FIND_PACKAGE TRUE)
56 | find_package(catkin QUIET
57 | NO_POLICY_SCOPE
58 | PATHS ${catkin_search_path}
59 | NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
60 | unset(CATKIN_TOPLEVEL_FIND_PACKAGE)
61 |
62 | if(NOT catkin_FOUND)
63 | message(FATAL_ERROR "find_package(catkin) failed. catkin was neither found in the workspace nor in the CMAKE_PREFIX_PATH. One reason may be that no ROS setup.sh was sourced before.")
64 | endif()
65 | set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};~/libtorch")
66 | find_package(Torch REQUIRED)
67 | endif()
68 |
69 | catkin_workspace()
70 |
--------------------------------------------------------------------------------
/Maps/airport_departure.pgm:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/airport_departure.pgm
--------------------------------------------------------------------------------
/Maps/airport_departure.yaml:
--------------------------------------------------------------------------------
1 | image: airport_departure.pgm
2 | resolution: 0.080000
3 | origin: [-224.54, -163.83500, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/airport_depature_goals.txt:
--------------------------------------------------------------------------------
1 | -197.80 -134.80
2 | -180.15 -137.54
3 | -169.33 -141.1
4 | -174.8 -148.53
5 | -201.55 -148.53
6 | -216.57 -145
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/airport_depature_obstacles.txt:
--------------------------------------------------------------------------------
1 | -222.55 -137.84 -203.23 -138.35 -202.49 -127 -222.33 -127
2 | -194.3 -137.87 -181.8 -138 -181.5 -127 -194.3 -127
3 | -178.5 -137.66 -164.95 -137.66 -164.95 -127 -178.5 -127
4 | -166.65 -148.05 -164 -148.05 -164 -138 -166.65 -138
5 | -172.06 -156 -166 -156 -166 -148.25 -172.06 -148.25
6 | -197.13 -156 -181.14 -156 -181.14 -148.65 -197.13 -148.65
7 | -222.33 -156 -204.66 -156 -204.66 -148.28 -222.33 -148.28
8 | -214.4 -143.25 -213.5 -143.25 -213.5 -142.4 -214.4 -142.4
9 | -209.66 -144.35 -208.11 -144.35 -208.11 -142.8 -209.66 -142.8
10 | -198.58 -144.2 -197.2 -144.2 -197.2 -142.92 -198.58 -142.92
11 | -184.19 -143.88 -183.01 -143.87 -181.5 -141.9 -184.19 -142.53
12 | -176 -143.69 -174.43 -143.69 -174.43 -142 -176 -142
--------------------------------------------------------------------------------
/Maps/indian_cross_12_16_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_12_16_12.png
--------------------------------------------------------------------------------
/Maps/indian_cross_12_16_12.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_12_16_12.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_13_14_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_13_14_13.png
--------------------------------------------------------------------------------
/Maps/indian_cross_13_14_13.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_13_14_13.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_14_12_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_14_12_14.png
--------------------------------------------------------------------------------
/Maps/indian_cross_14_12_14.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_14_12_14.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_15_10_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_15_10_15.png
--------------------------------------------------------------------------------
/Maps/indian_cross_15_10_15.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_15_10_15.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_16_8_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_16_8_16.png
--------------------------------------------------------------------------------
/Maps/indian_cross_16_8_16.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_16_8_16.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_17_6_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_17_6_17.png
--------------------------------------------------------------------------------
/Maps/indian_cross_17_6_17.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_17_6_17.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_18_4_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_18_4_18.png
--------------------------------------------------------------------------------
/Maps/indian_cross_18_4_18.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_18_4_18.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_12_16_12.txt:
--------------------------------------------------------------------------------
1 | 7.5 20.0
2 | -7.5 20.0
3 | 7.5 -20.0
4 | -7.5 -20.0
5 | 20.0 7.5
6 | 20.0 -7.5
7 | -20.0 7.5
8 | -20.0 -7.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_13_14_13.txt:
--------------------------------------------------------------------------------
1 | 6.5 20.0
2 | -6.5 20.0
3 | 6.5 -20.0
4 | -6.5 -20.0
5 | 20.0 6.5
6 | 20.0 -6.5
7 | -20.0 6.5
8 | -20.0 -6.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_14_12_14.txt:
--------------------------------------------------------------------------------
1 | 5.5 20.0
2 | -5.5 20.0
3 | 5.5 -20.0
4 | -5.5 -20.0
5 | 20.0 5.5
6 | 20.0 -5.5
7 | -20.0 5.5
8 | -20.0 -5.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_15_10_15.txt:
--------------------------------------------------------------------------------
1 | 4.5 20.0
2 | -4.5 20.0
3 | 4.5 -20.0
4 | -4.5 -20.0
5 | 20.0 4.5
6 | 20.0 -4.5
7 | -20.0 4.5
8 | -20.0 -4.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_16_8_16.txt:
--------------------------------------------------------------------------------
1 | 5.5 20.0
2 | -5.5 20.0
3 | 5.5 -20.0
4 | -5.5 -20.0
5 | 20.0 5.5
6 | 20.0 -5.5
7 | -20.0 5.5
8 | -20.0 -5.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_17_6_17.txt:
--------------------------------------------------------------------------------
1 | 2.5 20.0
2 | -2.5 20.0
3 | 2.5 -20.0
4 | -2.5 -20.0
5 | 20.0 2.5
6 | 20.0 -2.5
7 | -20.0 2.5
8 | -20.0 -2.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_18_4_18.txt:
--------------------------------------------------------------------------------
1 | 1.5 20.0
2 | -1.5 20.0
3 | 1.5 -20.0
4 | -1.5 -20.0
5 | 20.0 1.5
6 | 20.0 -1.5
7 | -20.0 1.5
8 | -20.0 -1.5
9 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_10_10.txt:
--------------------------------------------------------------------------------
1 | -4.5 20.0
2 | 4.5 20.0
3 | 20.0 4.5
4 | 20.0 -4.5
5 | -20.0 4.5
6 | -20.0 -4.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_10_12.txt:
--------------------------------------------------------------------------------
1 | -12.5 20.0
2 | -1.5 20.0
3 | 20.0 4.5
4 | 20.0 -4.5
5 | -20.0 4.5
6 | -20.0 -4.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_12_12.txt:
--------------------------------------------------------------------------------
1 | -5.5 20.0
2 | 5.5 20.0
3 | 20.0 5.5
4 | 20.0 -5.5
5 | -20.0 5.5
6 | -20.0 -5.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_12_14.txt:
--------------------------------------------------------------------------------
1 | -13 20.0
2 | 0 20.0
3 | 20.0 5.5
4 | 20.0 -5.5
5 | -20.0 5.5
6 | -20.0 -5.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_14_14.txt:
--------------------------------------------------------------------------------
1 | -6.5 20.0
2 | 6.5 20.0
3 | 20.0 6.5
4 | 20.0 -6.5
5 | -20.0 6.5
6 | -20.0 -6.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_goals_tri_14_16.txt:
--------------------------------------------------------------------------------
1 | -13.5 20.0
2 | 1.5 20.0
3 | 20.0 6.5
4 | 20.0 -6.5
5 | -20.0 6.5
6 | -20.0 -6.5
7 | -1 -1
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_12_16_12.txt:
--------------------------------------------------------------------------------
1 | -8 8 -8 40 -40 40 -40 8
2 | -8 -40 -8 -8 -40 -8 -40 -40
3 | 40 -40 40 -8 8 -8 8 -40
4 | 40 8 40 40 8 40 8 8
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_13_14_13.txt:
--------------------------------------------------------------------------------
1 | -7 7 -7 40 -40 40 -40 7
2 | -7 -40 -7 -7 -40 -7 -40 -40
3 | 40 -40 40 -7 7 -7 7 -40
4 | 40 7 40 40 7 40 7 7
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_14_12_14.txt:
--------------------------------------------------------------------------------
1 | -6 6 -6 40 -40 40 -40 6
2 | -6 -40 -6 -6 -40 -6 -40 -40
3 | 40 -40 40 -6 6 -6 6 -40
4 | 40 6 40 40 6 40 6 6
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_15_10_15.txt:
--------------------------------------------------------------------------------
1 | -5 5 -5 40 -40 40 -40 5
2 | -5 -40 -5 -5 -40 -5 -40 -40
3 | 40 -40 40 -5 5 -5 5 -40
4 | 40 5 40 40 5 40 5 5
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_16_8_16.txt:
--------------------------------------------------------------------------------
1 | -4 4 -4 40 -40 40 -40 4
2 | -4 -40 -4 -4 -40 -4 -40 -40
3 | 40 -40 40 -4 4 -4 4 -40
4 | 40 4 40 40 4 40 4 4
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_17_6_17.txt:
--------------------------------------------------------------------------------
1 | -3 3 -3 40 -40 40 -40 3
2 | -3 -40 -3 -3 -40 -3 -40 -40
3 | 40 -40 40 -3 3 -3 3 -40
4 | 40 3 40 40 3 40 3 3
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_18_4_18.txt:
--------------------------------------------------------------------------------
1 | -2 2 -2 40 -40 40 -40 2
2 | -2 -40 -2 -2 -40 -2 -40 -40
3 | 40 -40 40 -2 2 -2 2 -40
4 | 40 2 40 40 2 40 2 2
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_10_10.txt:
--------------------------------------------------------------------------------
1 | -5 5 -5 40 -40 40 -40 5
2 | 40 5 40 40 5 40 5 5
3 | 40 -40 40 -5 -40 -5 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_10_12.txt:
--------------------------------------------------------------------------------
1 | -6 5 -13 20 -40 20 -40 5
2 | 40 5 40 20 -1 20 6 5
3 | 40 -40 40 -5 -40 -5 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_12_12.txt:
--------------------------------------------------------------------------------
1 | -6 6 -6 40 -40 40 -40 6
2 | 40 6 40 40 6 40 6 6
3 | 40 -40 40 -6 -40 -6 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_12_14.txt:
--------------------------------------------------------------------------------
1 | -7 6 -13.5 20 -40 20 -40 6
2 | 40 6 40 20 0.5 20 7 6
3 | 40 -40 40 -6 -40 -6 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_14_14.txt:
--------------------------------------------------------------------------------
1 | -7 7 -7 40 -40 40 -40 7
2 | 40 7 40 40 7 40 7 7
3 | 40 -40 40 -7 -40 -7 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_obs_tri_14_16.txt:
--------------------------------------------------------------------------------
1 | -8 7 -14 20 -40 20 -40 7
2 | 40 7 40 20 2 20 8 7
3 | 40 -40 40 -7 -40 -7 -40 -40
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_10_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_10_10.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_10_10.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_10_10.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_10_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_10_12.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_10_12.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_10_12.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_12_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_12_12.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_12_12.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_12_12.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_12_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_12_14.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_12_14.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_12_14.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_14_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_14_14.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_14_14.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_14_14.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_14_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/Maps/indian_cross_tri_14_16.png
--------------------------------------------------------------------------------
/Maps/indian_cross_tri_14_16.yaml:
--------------------------------------------------------------------------------
1 | image: indian_cross_tri_14_16.png
2 | resolution: 0.0390625
3 | origin: [-20.0, -20.0, 0.000000]
4 | negate: 0
5 | occupied_thresh: 0.65
6 | free_thresh: 0.196
7 |
8 |
--------------------------------------------------------------------------------
/car_hyp_despot/cmake/DespotConfig.cmake.in:
--------------------------------------------------------------------------------
1 | set(DESPOT_VERSION x.y.z)
2 |
3 | @PACKAGE_INIT@
4 |
5 | include("${CMAKE_CURRENT_LIST_DIR}/DespotTargets.cmake")
6 |
7 | set_and_check(DESPOT_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_PATH@")
8 | set(DESPOT_INCLUDE_DIRS ${DESPOT_INCLUDE_DIR})
9 | set(DESPOT_LIBRARIES despot)
10 |
--------------------------------------------------------------------------------
/car_hyp_despot/package.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | car_hyp_despot
4 | 0.0.0
5 | The crowd_pomdp_planner package
6 |
7 |
8 |
9 |
10 | yuanfu
11 |
12 |
13 |
14 |
15 |
16 | TODO
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | catkin
43 | roscpp
44 | msg_builder
45 |
46 | roscpp
47 | msg_builder
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/cmake/DespotConfig.cmake.in:
--------------------------------------------------------------------------------
1 | set(DESPOT_VERSION x.y.z)
2 |
3 | @PACKAGE_INIT@
4 |
5 | include("${CMAKE_CURRENT_LIST_DIR}/DespotTargets.cmake")
6 |
7 | set_and_check(DESPOT_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_PATH@")
8 | set(DESPOT_INCLUDE_DIRS ${DESPOT_INCLUDE_DIR})
9 | set(DESPOT_LIBRARIES despot)
10 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/NsightRemoteDebug:
--------------------------------------------------------------------------------
1 | Follow section 3.7 Debugging Remote CUDA Applications of this guide:
2 |
3 | http://docs.nvidia.com/cuda/nsight-eclipse-edition-getting-started-guide/#remote-debugging
4 |
5 | Notes:
6 |
7 | Host name: peacock@d1.comp.nus.edu.sg
8 | Username:panpan
9 |
10 | Toolkit path: /usr/local/cuda/bin/
11 | Lib path:/usr/local/cuda-8.0/lib64
12 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/Untitled Document~:
--------------------------------------------------------------------------------
1 | To enable the CUDA error parsing in NVIDIA Nsight:
2 |
3 | follow the instructions in nsight_patch/README.
4 |
5 | Key file: nsight_patch/nsight-err-parse-patch.py
6 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/Usage.txt:
--------------------------------------------------------------------------------
1 |
2 | ================================================================================
3 | COMMAND LINE OPTIONS
4 | ================================================================================
5 | --help Print usage and exit.
6 | -q --problem Problem name.
7 | -m --model-params Path to model-parameters file, if any.
8 | -d --depth Maximum depth of search tree (default 90).
9 | -g --discount Discount factor (default 0.95).
10 | --size Size of a problem (problem specific).
11 | --number Number of elements of a problem (problem
12 | specific).
13 | -r --seed Random number seed (default is random).
14 | -t --timeout Search time per move, in seconds (default
15 | 1).
16 | -n --nparticles Number of particles (default 500).
17 | -p --prune Pruning constant (default no pruning).
18 | --xi Gap constant (default to 0.95).
19 | -s --simlen Number of steps to simulate. (default 90; 0
20 | = infinite).
21 | --simulator Use IPPC server or a POMDP model as the
22 | simulator.
23 | --max-policy-simlen Number of steps to simulate the default
24 | policy. (default 90).
25 | --default-action Type of default action to use. (default
26 | none).
27 | --runs Number of runs. (default 1).
28 | --lbtype Lower bound strategy, if applicable.
29 | -l --blbtype Base lower bound, if applicable.
30 | -u --ubtype Upper bound strategy, if applicable.
31 | --bubtype Base upper bound, if applicable.
32 | -b --belief Belief update strategy, if applicable.
33 | -v --verbosity Verbosity level.
34 | --silence Reduce default output to minimal.
35 | --noise Noise level for transition in POMDPX belief
36 | update.
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/cpp_model_doc/Tutorial on Using DESPOT with cpp model.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/car_hyp_despot/src/HypDespot/doc/cpp_model_doc/Tutorial on Using DESPOT with cpp model.pdf
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/eclipse_guide.md:
--------------------------------------------------------------------------------
1 | # Using Eclipse (IDE)
2 |
3 | To create an Eclipse project for DESPOT, run the following commands:
4 |
5 | ```bash
6 | $ cd
7 | $ mkdir despot-eclipse; cd despot-eclipse
8 | $ cmake -G "Eclipse CDT4 - Unix Makefiles" -D CMAKE_BUILD_TYPE=Debug ./
9 | ```
10 |
11 | Then import the project into Eclipse:
12 |
13 | 1. Use `Menu File > Import`
14 | 2. Select `General > Existing projects into workspace`
15 | 3. Choose the root directory to be `despot-eclipse`. Keep "Copy projects into workspace" unchecked.
16 | 4. Click "finish" and your Eclipse DESPOT project should be ready to use.
17 | 3. To compile the DESPOT library and examples, select `Menu Project > Build all in Eclipse`. After compiling, the binaries will be created under `despot-eclipse and despot-eclipse/examples`.
18 |
19 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/nips2013.txt:
--------------------------------------------------------------------------------
1 | The following commands can be used to obtain results in [1], assuming you are
2 | in the right subdirectory in the problems directory:
3 |
4 | ./adventurer --runs 2000
5 |
6 | ./adventurer -p 10 --runs 2000
7 |
8 | ./bridge --runs 2000
9 |
10 | ./tag --runs 2000
11 |
12 | ./lasertag --runs 2000
13 |
14 | ./rocksample --size 7 --number 8 --runs 2000
15 |
16 | ./rocksample --size 11 --number 11 --runs 2000
17 |
18 | ./rocksample --size 15 --number 15 --runs 2000
19 |
20 | ./pocman --runs 2000
21 |
22 | Note that doing 2000 runs can take a long time. It is better to do fewer runs
23 | using multiple commands, i.e., run in parallel. For example, we can use 20
24 | commands like the following to do 2000 runs:
25 |
26 | ./tag --runs 100 -r
27 |
28 | Use a random number for the seed used in each command.
29 |
30 | [1] Online POMDP Planning with Regularization. Nan Ye, Adihraj Somani, David Hsu and Wee Sun Lee. This extends our NIPS 2013 paper with an improved search algorithm, its analysis, and more empirical results.
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/nsight_error_parsing:
--------------------------------------------------------------------------------
1 | To enable the CUDA error parsing in NVIDIA Nsight:
2 |
3 | Follow the instructions in nsight_patch/README.
4 | Match the project file with nsight_patch/cproject_cuda
5 |
6 | Key files:
7 | nsight_patch/nsight-err-parse-patch.py
8 | nsight_patch/cproject_cuda
9 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/nsight_error_parsing~:
--------------------------------------------------------------------------------
1 | To enable the CUDA error parsing in NVIDIA Nsight:
2 |
3 | Follow the instructions in nsight_patch/README.
4 | Change the project file to nsight_patch/cproject_cuda
5 |
6 | Key files:
7 | nsight_patch/nsight-err-parse-patch.py
8 | nsight_patch/cproject_cuda
9 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/nsight_patch/README:
--------------------------------------------------------------------------------
1 |
2 | Python 3 script to fix error parsing in CMake generated Eclipse project files.
3 |
4 | Version 0.01
5 |
6 | 2014-12-08 Georg Altmann
7 |
8 |
9 | Usage:
10 | python3 nsight-err-parse-patch.py ~/GPU-despot-eclipse
11 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/nsight_patch/README~:
--------------------------------------------------------------------------------
1 |
2 | Python 3 script to fix error parsing in CMake generated Eclipse project files.
3 |
4 | Version 0.01
5 |
6 | 2014-12-08 Georg Altmann
7 |
8 |
9 | Usage:
10 | python3 nsight-err-parse-patch.py path-to-project-dir
11 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/polymorphism:
--------------------------------------------------------------------------------
1 | Implementing polymophisim for GPU despot:
2 |
3 | Objective: Let the GPUDESPOT.cu able to use the __device__ step function (and others) defined in a specific model (like Tiger) without having knowledge about the real model.
4 |
5 | Prerequisites:
6 | 1. Project's nvcc compilation mode is set as separate compilation (--relocatable-device-code=true)
7 |
8 | Procedure:
9 | 1. Declare the function as an extern __device__ function pointer in GPUDESPOT.h:
10 | something like: extern __device__ void(*step_)(double&);
11 | 2. Define the function in main.cu on the model side (in the file scope):
12 | __device__ void(*step_)(double&);
13 | 3. Write a kernel to pass the address of the real step function from the concrete model to the global function pointer func_:
14 | __global__ void PassStepFunc(DvcModel* dvc)
15 | {
16 | step_=&(dvc->step);
17 | }
18 | 4. Run the PassStepFunc kernel with only one thread. Pass the allocated device model to it as a parameter.
19 | DvcModel* Dvc;
20 | cudaMalloc((void**)&Dvc, sizeof(DvcModel));
21 | PassStepFunc<<<1,1,1>>>(Dvc);
22 | 5. Now you should be able to use the global function pointer in GPUDESPOT.cu:
23 | __global__ void stepkernel(double* tmp)
24 | {
25 | int i=threadIdx.x;tmp[i]=i;
26 | (*step_)(tmp[i]);
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/polymorphism~:
--------------------------------------------------------------------------------
1 | Implementing polymophisim for GPU despot:
2 |
3 | Objective: Let the GPUDESPOT.cu able to use the __device__ step function (and others) defined in a specific model (like Tiger) without having knowledge about the real model.
4 |
5 | Prerequisites:
6 | 1. Project's nvcc compilation mode is set as separate compilation (--relocatable-device-code=true)
7 |
8 | Procedure:
9 | 1. Declare the function as an extern __device__ function pointer in GPUDESPOT.h:
10 | something like: extern __device__ void(*step_)(double&);
11 | 2. Define the function in main.cu on the model side (in the file scope):
12 | __device__ void(*step_)(double&);
13 | 3. Write a kernel to pass the address of the real step function from the concrete model to the global function pointer func_:
14 | __global__ void PassStepFunc(DvcModel* dvc)
15 | {
16 | step_=&(dvc->step);
17 | }
18 | 4. Run the PassStepFunc kernel with only one thread. Pass the allocated device model to it as a parameter.
19 | DvcModel* Dvc;
20 | cudaMalloc((void**)&Dvc, sizeof(DvcModel));
21 | Initkernel<<<1,1,1>>>(Dvc);
22 | 5. Now you should be able to use the global function pointer in GPUDESPOT.cu:
23 | __global__ void stepkernel(double* tmp)
24 | {
25 | int i=threadIdx.x;tmp[i]=i;
26 | (*step_)(tmp[i]);
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/doc/pomdpx_model_doc/DESPOT tutorial on using pomdpx model.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/AdaCompNUS/context-pomdp/8a8601c53e68a584b72a133e51e0b14b776474fa/car_hyp_despot/src/HypDespot/doc/pomdpx_model_doc/DESPOT tutorial on using pomdpx model.pdf
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUconfig.h:
--------------------------------------------------------------------------------
1 | #ifndef GPUCONFIG_H
2 | #define GPUCONFIG_H
3 |
4 | #include
5 | #include
6 | #include
7 | namespace despot {
8 |
9 | struct Dvc_Config {
10 | public:
11 | int search_depth;
12 | double discount;
13 | unsigned int root_seed;
14 | double time_per_move; // CPU time available to construct the search tree
15 | int num_scenarios;
16 | double pruning_constant;
17 | double xi; // xi * gap(root) is the target uncertainty at the root.
18 | int sim_len; // Number of steps to run the simulation for.
19 | //std::string default_action;
20 | int max_policy_sim_len; // Maximum number of steps for simulating the default policy
21 | double noise;
22 | bool silence;
23 | bool useGPU;
24 |
25 | DEVICE Dvc_Config() :
26 | search_depth(90),
27 | discount(0.95),
28 | root_seed(42),
29 | time_per_move(1),
30 | num_scenarios(500),
31 | pruning_constant(0),
32 | xi(0.95),
33 | sim_len(90),
34 | //default_action(""),
35 | max_policy_sim_len(90),
36 | noise(0.1),
37 | silence(false),
38 | useGPU(false)
39 | {
40 | }
41 |
42 | static void CopyToGPU(const Config* src);
43 | static void Clear();
44 | };
45 |
46 | extern DEVICE Dvc_Config* Dvc_config;
47 |
48 |
49 | } // namespace despot
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUcore/CudaInclude.h:
--------------------------------------------------------------------------------
1 | /*
2 | * CudaInclude.h
3 | *
4 | * Created on: 22 Mar, 2017
5 | * Author: panpan
6 | */
7 |
8 | #ifndef CUDAINCLUDE_H_
9 | #define CUDAINCLUDE_H_
10 | //Use this file to make sure the portability of the CUDA header files.
11 | //When CUDACC is not defined (in .cpp files), DEVICE and HOST will be ignored
12 | #include
13 |
14 | #pragma once
15 | #ifdef __CUDACC__
16 | #define HOST __host__
17 | #define DEVICE __device__
18 | #define ALIGN(n) __align__(n)
19 |
20 |
21 |
22 | //#include
23 | //#define ThrustVector thrust::host_vector
24 | static void HandleError( cudaError_t err,
25 | const char *file,
26 | int line ) {
27 | if (err != cudaSuccess) {
28 | printf( "%s in %s at line %d\n", cudaGetErrorString( err ),
29 | file, line );
30 | exit( EXIT_FAILURE );
31 | }
32 | }
33 | #define HANDLE_ERROR( err ) (HandleError( err, __FILE__, __LINE__ ))
34 |
35 | #include
36 | #include
37 |
38 | #else
39 | #define HOST
40 | #define DEVICE
41 | #if defined(__GNUC__) // GCC
42 | #define ALIGN(n) __attribute__((aligned(n)))
43 | #elif defined(_MSC_VER) // MSVC
44 | #define ALIGN(n) __declspec(align(n))
45 | #else
46 | #error "CudaInclude.h: Please provide a definition for ALIGN macro for your host compiler!"
47 | #endif
48 | #endif
49 |
50 |
51 | #endif /* CUDAINCLUDE_H_ */
52 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUcore/GPUbuiltin_lower_bound.h:
--------------------------------------------------------------------------------
1 | #ifndef GPUBUILIN__LOWER_BOUND_H
2 | #define GPUBUILIN__LOWER_BOUND_H
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | namespace despot {
10 |
11 | class Dvc_State;
12 | class Dvc_DSPOMDP;
13 |
14 | /* =============================================================================
15 | * Dvc_TrivialParticleLowerBound class
16 | * =============================================================================*/
17 |
18 | class Dvc_TrivialParticleLowerBound: public Dvc_ParticleLowerBound {
19 | public:
20 | /**
21 | * Returns a trival lower bound value calculated as 1/(1-gamma)*max_a{V_worstcase(s,a)}.
22 | *
23 | * @param scenarioID ID of the scenario in the particle
24 | * @param particles Particles in the scenarios.
25 | * @return (a, v), where v is the trival lower bound and a is the first action needed
26 | * to obtain the lower bound.
27 | */
28 | DEVICE
29 | static Dvc_ValuedAction Value(int scenarioID, Dvc_State * particles);
30 | };
31 |
32 |
33 | } // namespace despot
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUcore/GPUbuiltin_policy.h:
--------------------------------------------------------------------------------
1 | #ifndef GPUBUILTIN_POLICY_H
2 | #define GPUBUILTIN_POLICY_H
3 |
4 | #include
5 |
6 | #include
7 | #include
8 | #include
9 | #include
10 |
11 | #include
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 |
18 | #include
19 |
20 | #include
21 |
22 | namespace despot {
23 |
24 | class Dvc_State;
25 | class Dvc_DSPOMDP;
26 |
27 | /* =============================================================================
28 | * Dvc_BlindPolicy class
29 | * =============================================================================*/
30 |
31 |
32 | class Dvc_BlindPolicy: public Dvc_DefaultPolicy {
33 |
34 | public:
35 | /**
36 | * [ Compulsory ]
37 | * Call a kernel function to initialize DvcBlindPolicy_action_ in device memory
38 | */
39 | HOST virtual void SetDefaultAction() = 0;
40 |
41 | DEVICE static ACT_TYPE Action(int scenarioID, const Dvc_State* particles,
42 | Dvc_RandomStreams& streams,
43 | Dvc_History& history);
44 | };
45 |
46 |
47 | extern DEVICE ACT_TYPE DvcBlindPolicy_action_;
48 |
49 | /* =============================================================================
50 | * Dvc_RandomPolicy class
51 | * =============================================================================*/
52 |
53 | class Dvc_RandomPolicy: public Dvc_DefaultPolicy {
54 |
55 | public:
56 | DEVICE static void Init(int num_actions, double* action_probs_ = NULL);
57 | DEVICE static ACT_TYPE Action(int scenarioID, const Dvc_State* particles,
58 | Dvc_RandomStreams& streams,
59 | Dvc_History& history);
60 | };
61 |
62 | extern DEVICE double* DvcRandomPolicy_action_probs_;
63 |
64 | extern DEVICE int DvcRandomPolicy_num_actions_;
65 |
66 | } // namespace despot
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUcore/GPUbuiltin_upper_bound.h:
--------------------------------------------------------------------------------
1 | #ifndef GPUBUILTIN_UPPER_BOUND_H
2 | #define GPUBUILTIN_UPPER_BOUND_H
3 |
4 | #include
5 | #include
6 |
7 | #include
8 | #include
9 |
10 | #include
11 |
12 | namespace despot {
13 |
14 | class Dvc_State;
15 | class Dvc_DSPOMDP;
16 |
17 |
18 | /* =============================================================================
19 | * Dvc_TrivialParticleUpperBound class
20 | * =============================================================================*/
21 |
22 | class Dvc_TrivialParticleUpperBound: public Dvc_ParticleUpperBound {
23 | protected:
24 | const Dvc_DSPOMDP* model_;
25 | public:
26 |
27 | /*
28 | * Returns an upper bound calculated as 1/(1-gamma)*v_max.
29 | */
30 |
31 | DEVICE
32 | static float Value(const Dvc_State* state, int scenarioID,
33 | Dvc_History& history);
34 | };
35 |
36 |
37 | } // namespace despot
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/car_hyp_despot/src/HypDespot/include/despot/GPUcore/GPUglobals.h:
--------------------------------------------------------------------------------
1 | #ifndef GPUGLOBALS_H
2 | #define GPUGLOBALS_H
3 |
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include
12 | #include
13 | #include
14 | #include
15 | #include
16 | #include
17 | #include
18 | #include
19 | #include
20 | #include