11 |
12 |
13 |
--------------------------------------------------------------------------------
/doxygen/html/search/pages_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['edpl_2dompl',['EDPL-OMPL',['../index.html',1,'']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doxygen/html/search/search_l.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/search/search_l.png
--------------------------------------------------------------------------------
/doxygen/html/search/search_m.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/search/search_m.png
--------------------------------------------------------------------------------
/doxygen/html/search/search_r.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/search/search_r.png
--------------------------------------------------------------------------------
/doxygen/html/search/typedefs_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['connectionstrategy',['ConnectionStrategy',['../class_f_i_r_m.html#a14c6f3351c41a0416524ab2e01388e03',1,'FIRM']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doxygen/html/search/typedefs_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['edgecontrollertype',['EdgeControllerType',['../class_f_i_r_m.html#a70abcb24fbc9f836b94119f65c8f8a37',1,'FIRM']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doxygen/html/search/typedefs_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['graph',['Graph',['../class_f_i_r_m.html#a687e9f4243b22c30ee1fa5da22a85053',1,'FIRM']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_0.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['addedsolution_5f',['addedSolution_',['../class_f_i_r_m.html#afc413ddef9b66cd337c0e19c6ba79d84',1,'FIRM']]],
4 | ['arucosubscriber_5f',['arucoSubscriber_',['../classfirm_1_1_r_o_s_space_information.html#a468fc746ec28db9aa1cb20ef3f72ef0b',1,'firm::ROSSpaceInformation']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_1.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['belief_5f',['belief_',['../classfirm_1_1_space_information.html#a14f18dfbbb3a3a6329309752fb5d2f23',1,'firm::SpaceInformation']]],
4 | ['beliefmodes_5f',['beliefModes_',['../class_visualizer.html#a13a9427e5bbd1301b615bf81ed2bff99',1,'Visualizer']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_10.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['v_5f',['v_',['../class_linear_system.html#a41f05f9ef0c2e5e69a0b0c2d50d983bb',1,'LinearSystem']]],
4 | ['velocitylog_5f',['velocityLog_',['../classfirm_1_1_space_information.html#a99eafee03944da59b443f82bb87e48fc',1,'firm::SpaceInformation']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_11.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['w_5f',['w_',['../class_linear_system.html#ab3909105492e1b8f55919584d9f99a03',1,'LinearSystem']]],
4 | ['weightproperty_5f',['weightProperty_',['../class_f_i_r_m.html#aebe2eb302b9af9ced9bc26f03d369297',1,'FIRM::weightProperty_()'],['../class_n_b_m3_p.html#a1710534b402342904c1dc5b0cb311a64',1,'NBM3P::weightProperty_()']]],
5 | ['weights_5f',['weights_',['../class_n_b_m3_p.html#a9bbb021ca2cb7147bbd86b424b5916bb',1,'NBM3P']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_12.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['x_5f',['x_',['../class_linear_system.html#a0c0d8d1a986bd267171d8c821e173d1e',1,'LinearSystem']]]
4 | ];
5 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_13.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['z_5f',['z_',['../class_linear_system.html#a8d402083ec5c55357a11ec8e780bcf20',1,'LinearSystem']]],
4 | ['zerocontrol_5f',['zeroControl_',['../class_motion_model_method.html#ae5e55aa39c0d819c3e9afffefa3d5b08',1,'MotionModelMethod']]],
5 | ['zeronoise_5f',['zeroNoise_',['../class_motion_model_method.html#ac5b0a8829ec75b20d78deff84f71cbb5',1,'MotionModelMethod::zeroNoise_()'],['../class_observation_model_method.html#a30517a6bfae555908e82880f9d23492c',1,'ObservationModelMethod::zeroNoise_()']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_2.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['cameraobservation_5f',['cameraObservation_',['../classfirm_1_1_r_o_s_space_information.html#aeb051c1bfb04da80fb4ab4c25f3b69e8',1,'firm::ROSSpaceInformation']]],
4 | ['chosenrolloutconnection_5f',['chosenRolloutConnection_',['../class_visualizer.html#a241e08e6835a4655fb32b0171dcb9d53',1,'Visualizer']]],
5 | ['connectionstrategy_5f',['connectionStrategy_',['../class_f_i_r_m.html#a0fcb0aef9c9101c4569f5b6bb5f576ae',1,'FIRM']]],
6 | ['controldim_5f',['controlDim_',['../class_motion_model_method.html#ab9b45acbafce1f4c873ee7095bc49964',1,'MotionModelMethod']]],
7 | ['controlpublisher_5f',['controlPublisher_',['../classfirm_1_1_r_o_s_space_information.html#a73991a82ee748f847bdf7b9a25971c60',1,'firm::ROSSpaceInformation']]],
8 | ['covgrowthfactor_5f',['covGrowthFactor_',['../class_extended_k_f.html#aeafbd7967880a3d2538be3d4dda6a75c',1,'ExtendedKF']]],
9 | ['currentbelief_5f',['currentBelief_',['../class_visualizer.html#a4f39505b9d7a4590ade4d87b1a9004d7',1,'Visualizer']]],
10 | ['currentbeliefstates_5f',['currentBeliefStates_',['../class_n_b_m3_p.html#ab54a9d284dc22393c47bb904a3980540',1,'NBM3P']]]
11 | ];
12 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_3.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['debug_5f',['debug_',['../class_controller.html#a1288c6ee79e962bba7421ffb59bae047',1,'Controller']]],
4 | ['disjointsets_5f',['disjointSets_',['../class_f_i_r_m.html#adbe52d3e291fc164ff9338765534e7ce',1,'FIRM']]],
5 | ['drawmutex_5f',['drawMutex_',['../class_visualizer.html#a7ca3a80de8106a9d53b8b25247aadc07',1,'Visualizer']]],
6 | ['dt_5f',['dt_',['../class_motion_model_method.html#a482972cd2ec0bec4b42137811e1d0446',1,'MotionModelMethod']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_4.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['edgecontrollers_5f',['edgeControllers_',['../class_f_i_r_m.html#abfacc68b478054d0b99a3965d33d718a',1,'FIRM']]],
4 | ['edgeidproperty_5f',['edgeIDProperty_',['../class_f_i_r_m.html#a81eba4eb39bce397127a9d41cf0b5cd2',1,'FIRM::edgeIDProperty_()'],['../class_n_b_m3_p.html#acbab5abc9163ec04ce900b607e9fee89',1,'NBM3P::edgeIDProperty_()']]],
5 | ['envindx_5f',['envIndx_',['../class_visualizer.html#a6374971a2ec9b9802e85f227e1fc02a8',1,'Visualizer']]],
6 | ['eta_5f',['eta_',['../class_omnidirectional_motion_model.html#ab56f9e1467920bdfba8b425d74015812',1,'OmnidirectionalMotionModel::eta_()'],['../class_unicycle_motion_model.html#a4025caf061ba4e6426af86ae7074b7a9',1,'UnicycleMotionModel::eta_()']]]
7 | ];
8 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_5.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['feedbackcontrollers_5f',['feedbackControllers_',['../class_feedback_path.html#acc635307df317b85241b4ea93642bf57',1,'FeedbackPath']]],
4 | ['feedbackedges_5f',['feedbackEdges_',['../class_visualizer.html#a506f4480f1c47d9105283ca07b600d64',1,'Visualizer']]],
5 | ['filter_5f',['filter_',['../class_controller.html#a9ff37d34a8a9a20f606c501d2ab5cb2e',1,'Controller']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_6.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['g_5f',['g_',['../class_f_i_r_m.html#ac954812b235fc64b57ea319bec7c80bb',1,'FIRM::g_()'],['../class_n_b_m3_p.html#a35d09fe5f1740d998ae63bfe60239ce8',1,'NBM3P::g_()']]],
4 | ['goal_5f',['goal_',['../class_controller.html#a4e5e3c0828c9e0d216e7d53f3625d9b4',1,'Controller']]],
5 | ['goalm_5f',['goalM_',['../class_f_i_r_m.html#aeb59b6121e120e14f30c58e567ec6a4c',1,'FIRM']]],
6 | ['graphedges_5f',['graphEdges_',['../class_visualizer.html#a2ff4816da3e84d1132ff0fafbdbadb98',1,'Visualizer']]],
7 | ['graphmutex_5f',['graphMutex_',['../class_f_i_r_m.html#ae71c316b447bb7b404dc27c8d673fd55',1,'FIRM::graphMutex_()'],['../class_n_b_m3_p.html#a12d28b9df3354265002914a2c39244d9',1,'NBM3P::graphMutex_()']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_7.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['landmarks_5f',['landmarks_',['../class_visualizer.html#a0cbfe1d4b50e562395c520fec568299d',1,'Visualizer']]],
4 | ['logvelocity_5f',['logVelocity_',['../classfirm_1_1_space_information.html#a9e4271680a8bcba26b2dfc03f1d96464',1,'firm::SpaceInformation']]],
5 | ['lss_5f',['lss_',['../class_controller.html#acb68b603afc759b4e62b8c6db8125671',1,'Controller']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_8.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['maxangularvelocity_5f',['maxAngularVelocity_',['../class_omnidirectional_motion_model.html#ae84be708825d36f75a47ff1a6a112bf8',1,'OmnidirectionalMotionModel::maxAngularVelocity_()'],['../class_unicycle_motion_model.html#a64f132a45af955098864992fd06e6bf0',1,'UnicycleMotionModel::maxAngularVelocity_()']]],
4 | ['maxedgeid_5f',['maxEdgeID_',['../class_f_i_r_m.html#a517174c1ae349153df76f81f2ba2b2f1',1,'FIRM::maxEdgeID_()'],['../class_n_b_m3_p.html#aa9fa80663a9f07dbd9f70436c612c2fe',1,'NBM3P::maxEdgeID_()']]],
5 | ['maxexectime_5f',['maxExecTime_',['../class_controller.html#aeddadf542e253ff266e596eb0574c3de',1,'Controller']]],
6 | ['maxlinearvelocity_5f',['maxLinearVelocity_',['../class_omnidirectional_motion_model.html#a2e67cddfc94eedd6a7a9fe69207a4e6d',1,'OmnidirectionalMotionModel::maxLinearVelocity_()'],['../class_unicycle_motion_model.html#aaa92675e5a2f14a45ba08b6e008fd0b0',1,'UnicycleMotionModel::maxLinearVelocity_()']]],
7 | ['maxtries_5f',['maxTries_',['../class_controller.html#a430b93daf349b2172311924d69b44c08',1,'Controller']]],
8 | ['minfirmnodes_5f',['minFIRMNodes_',['../class_f_i_r_m.html#add9de6c5accdea0f9b6d1ff458350036',1,'FIRM']]],
9 | ['minlinearvelocity_5f',['minLinearVelocity_',['../class_omnidirectional_motion_model.html#ad218f1003f574123d4b1e96824b224b6',1,'OmnidirectionalMotionModel::minLinearVelocity_()'],['../class_unicycle_motion_model.html#a0e1c9df0b9f1736a92bf10bcf5ad597f',1,'UnicycleMotionModel::minLinearVelocity_()']]],
10 | ['mode_5f',['mode_',['../class_visualizer.html#aa43c5908a3ae82a79c06d126fb32b505',1,'Visualizer']]],
11 | ['mostlikelypath_5f',['mostLikelyPath_',['../class_visualizer.html#a67cb011e12b48a8aa95249324fd9ed87',1,'Visualizer']]],
12 | ['motionmodel_5f',['motionModel_',['../class_kalman_filter_method.html#a5969ade2e4d4f70a1cccc2f2f2bf4bb3',1,'KalmanFilterMethod::motionModel_()'],['../class_linear_system.html#a6ae00f368bfa21a8dfe0d6855bfc1322',1,'LinearSystem::motionModel_()'],['../class_gaussian_valid_belief_sampler.html#a98f569602d65d6a73f6b0933ce39d056',1,'GaussianValidBeliefSampler::motionModel_()'],['../classfirm_1_1_space_information.html#ae911ad91e06bb1eda831c4f7626d0a0e',1,'firm::SpaceInformation::motionModel_()']]]
13 | ];
14 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_9.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['neighbors_5f',['neighbors_',['../class_f_strategy.html#a3cd93caf2fd4d18f8033f02eeeab0b39',1,'FStrategy']]],
4 | ['nhandle_5f',['nHandle_',['../classfirm_1_1_r_o_s_space_information.html#a1c82bc5b08d4f52bbd4db1195149097a',1,'firm::ROSSpaceInformation']]],
5 | ['nn_5f',['nn_',['../class_f_strategy.html#ae35c08d00fb6489c36f401b13fce046a',1,'FStrategy::nn_()'],['../class_f_i_r_m.html#aeed6858c0216ed9fc49f02e4aafc4443',1,'FIRM::nn_()']]],
6 | ['nodecontrollers_5f',['nodeControllers_',['../class_f_i_r_m.html#ac80211b920fb34ee04779c9af2c0d1c4',1,'FIRM']]],
7 | ['nodereachedangle_5f',['nodeReachedAngle_',['../class_controller.html#a93ec5b0a3ae4e7229cb63f659e1b6e1d',1,'Controller']]],
8 | ['nodereacheddistance_5f',['nodeReachedDistance_',['../class_controller.html#a2688f277c2087c527c67eec19b2a3c70',1,'Controller']]],
9 | ['nodestovisit_5f',['nodesToVisit_',['../class_feedback_path.html#a6efa9a9ed1e8bf5b784308308feceec7',1,'FeedbackPath']]],
10 | ['noisedim_5f',['noiseDim_',['../class_motion_model_method.html#a47725ad490fdc510cdc38838165b27c6',1,'MotionModelMethod::noiseDim_()'],['../class_observation_model_method.html#adf0334680c9f2f49320c1d584ae9d1b3',1,'ObservationModelMethod::noiseDim_()']]],
11 | ['nominaltrajdeviationthreshold_5f',['nominalTrajDeviationThreshold_',['../class_controller.html#a1999422f369674236a5ae9b83ef6a6b1',1,'Controller']]],
12 | ['numparticles_5f',['numParticles_',['../class_f_i_r_m.html#a17cff52eb2c31715ab8341b9daea1a3f',1,'FIRM']]]
13 | ];
14 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_a.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['observationmodel_5f',['observationModel_',['../class_kalman_filter_method.html#a43191b745846715c66854634ba58e85c',1,'KalmanFilterMethod::observationModel_()'],['../class_linear_system.html#a6aacc355010106de6f65f66c8dfa301b',1,'LinearSystem::observationModel_()'],['../class_gaussian_valid_belief_sampler.html#afa710ac79eebe70368f9ae827fb7243b',1,'GaussianValidBeliefSampler::observationModel_()'],['../classfirm_1_1_space_information.html#a08dae2888a6ab7e571c89b2a020b175e',1,'firm::SpaceInformation::observationModel_()']]],
4 | ['openlooprrtpaths_5f',['openLoopRRTPaths_',['../class_visualizer.html#a11d99288fa2898f177676f7f40ab52de',1,'Visualizer']]],
5 | ['orbitradius_5f',['orbitRadius_',['../class_unicycle_motion_model.html#a35645b20aa08d05a106d9698ccc71919',1,'UnicycleMotionModel']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_b.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['p_5fwg_5f',['P_Wg_',['../class_omnidirectional_motion_model.html#addd32ac4e3d1af518e48f432592c8e06',1,'OmnidirectionalMotionModel::P_Wg_()'],['../class_unicycle_motion_model.html#aa23aec795c0d97c5c54db925cfa27426',1,'UnicycleMotionModel::P_Wg_()']]],
4 | ['policyexecutionsi_5f',['policyExecutionSI_',['../class_f_i_r_m.html#a37c508cb1c9346d2d5bc253e1621b798',1,'FIRM::policyExecutionSI_()'],['../class_n_b_m3_p.html#a9d4ddb656f5f8ec781bd07771f18e83f',1,'NBM3P::policyExecutionSI_()']]],
5 | ['previouspolicy_5f',['previousPolicy_',['../class_n_b_m3_p.html#a8303a635a8a127056e48928b721d1269',1,'NBM3P']]]
6 | ];
7 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_c.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['radius_5f',['radius_',['../class_f_strategy.html#a8a605936e6cfd37fd6c5c2d3c1f0c784',1,'FStrategy']]],
4 | ['rendergeom_5f',['renderGeom_',['../class_visualizer.html#a4d2cb9a7c08bca45465b3c19b89ec3e1',1,'Visualizer']]],
5 | ['rng_5f',['rng_',['../class_f_i_r_m.html#a2e91a5d8aba0ccaca892fb9eeda4ef41',1,'FIRM']]],
6 | ['robotindx_5f',['robotIndx_',['../class_visualizer.html#a314590f6cbcd1e3d0f47567dd4ced147',1,'Visualizer']]],
7 | ['robotpath_5f',['robotPath_',['../class_visualizer.html#a887ebf260abf93bf1a88560faf7eccb2',1,'Visualizer']]],
8 | ['rolloutconnections_5f',['rolloutConnections_',['../class_visualizer.html#a9a3922205f833fd7a83e33a1501e0d74',1,'Visualizer']]]
9 | ];
10 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_e.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['targetstates_5f',['targetStates_',['../class_n_b_m3_p.html#a1e44c4aab83bddb3f19e709079da8a14',1,'NBM3P']]],
4 | ['timesincedivergence_5f',['timeSinceDivergence_',['../class_n_b_m3_p.html#a27fd0532feff16fc90da8cf3fcfc394d',1,'NBM3P']]],
5 | ['totalconnectionattemptsproperty_5f',['totalConnectionAttemptsProperty_',['../class_f_i_r_m.html#a5651af4be68cf84115fbf6fe4b2c958d',1,'FIRM']]],
6 | ['tries_5f',['tries_',['../class_controller.html#adb2235b65db786dbd287e0b57a42b959',1,'Controller']]],
7 | ['truestate_5f',['trueState_',['../classfirm_1_1_space_information.html#ada09e25b5d7ff71df94ed2ea85dcb814',1,'firm::SpaceInformation::trueState_()'],['../class_visualizer.html#a2a25f3b2372418e1088cd889f26df95d',1,'Visualizer::trueState_()']]]
8 | ];
9 |
--------------------------------------------------------------------------------
/doxygen/html/search/variables_f.js:
--------------------------------------------------------------------------------
1 | var searchData=
2 | [
3 | ['u_5f',['u_',['../class_linear_system.html#a5b5cb60bca40f61e6b4a6ac3afe56115',1,'LinearSystem']]],
4 | ['usersetconnectionstrategy_5f',['userSetConnectionStrategy_',['../class_f_i_r_m.html#a42cc77417338d946478f5a71e6bd5b70',1,'FIRM']]]
5 | ];
6 |
--------------------------------------------------------------------------------
/doxygen/html/tab_a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/tab_a.png
--------------------------------------------------------------------------------
/doxygen/html/tab_b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/tab_b.png
--------------------------------------------------------------------------------
/doxygen/html/tab_h.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/tab_h.png
--------------------------------------------------------------------------------
/doxygen/html/tab_s.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/doxygen/html/tab_s.png
--------------------------------------------------------------------------------
/doxygen/html/tabs.css:
--------------------------------------------------------------------------------
1 | .tabs, .tabs2, .tabs3 {
2 | background-image: url('tab_b.png');
3 | width: 100%;
4 | z-index: 101;
5 | font-size: 13px;
6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
7 | }
8 |
9 | .tabs2 {
10 | font-size: 10px;
11 | }
12 | .tabs3 {
13 | font-size: 9px;
14 | }
15 |
16 | .tablist {
17 | margin: 0;
18 | padding: 0;
19 | display: table;
20 | }
21 |
22 | .tablist li {
23 | float: left;
24 | display: table-cell;
25 | background-image: url('tab_b.png');
26 | line-height: 36px;
27 | list-style: none;
28 | }
29 |
30 | .tablist a {
31 | display: block;
32 | padding: 0 20px;
33 | font-weight: bold;
34 | background-image:url('tab_s.png');
35 | background-repeat:no-repeat;
36 | background-position:right;
37 | color: #2A3A5B;
38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
39 | text-decoration: none;
40 | outline: none;
41 | }
42 |
43 | .tabs3 .tablist a {
44 | padding: 0 10px;
45 | }
46 |
47 | .tablist a:hover {
48 | background-image: url('tab_h.png');
49 | background-repeat:repeat-x;
50 | color: #fff;
51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
52 | text-decoration: none;
53 | }
54 |
55 | .tablist li.current a {
56 | background-image: url('tab_a.png');
57 | background-repeat:repeat-x;
58 | color: #fff;
59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
60 | }
61 |
--------------------------------------------------------------------------------
/include/LocalPlanners/MotionModelLP.h:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2014, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 | /* Author: Saurav Agarwal, Ali-akbar Agha-mohammadi */
35 |
36 | #ifndef MOTIONMODEL_LOCAL_PLANNER_
37 | #define MOTIONMODEL_LOCAL_PLANNER_
38 |
39 | #include "MotionModels/MotionModelMethod.h"
40 |
41 |
42 |
43 | #endif
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/include/Visualization/Window.h:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2014, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 |
35 | /* Authors: Ali-akbar Agha-mohammadi, Saurav Agarwal, Aditya Mahadevan */
36 |
37 | #ifndef WINDOW_H
38 | #define WINDOW_H
39 |
40 | #include
41 |
42 | using namespace std;
43 |
44 | #include
45 | #include
46 | #include
47 | #include
48 |
49 | class GLWidget;
50 |
51 | class MyWindow : public QWidget {
52 | Q_OBJECT
53 |
54 | public:
55 | MyWindow();
56 |
57 | //~MyWindow(){};
58 | //call back for buttons
59 | void resetCamera();
60 |
61 | protected:
62 | void keyPressEvent(QKeyEvent *event);
63 |
64 | private Q_SLOTS:
65 | //call back for simulation
66 | void simulate();
67 |
68 |
69 | private:
70 | QTimer timer_; //controls framerate
71 | GLWidget* glWidget_; //GLScene
72 | };
73 |
74 | #endif
75 |
--------------------------------------------------------------------------------
/report/FIRM-OMPL-Report.tex~:
--------------------------------------------------------------------------------
1 | \documentclass[10pt,a4paper]{report}
2 | \usepackage[top=1in, bottom=2in, left=1in, right=1in]{geometry}
3 | \usepackage[latin1]{inputenc}
4 | \usepackage{amsmath}
5 | \usepackage{amsfonts}
6 | \usepackage{amssymb}
7 | \usepackage{graphicx}
8 | \author{Saurav Agarwal}
9 |
10 | \title{FIRM-OMPL Integration project report}
11 |
12 | \begin{document}
13 |
14 | \chapter{Introduction}
15 |
16 | This report is a record of the development process of integrating FIRM with OMPL.
17 |
18 | \section{Project Aims}
19 |
20 | \begin{itemize}
21 | \item To integrate FIRM with OMPL.
22 | \item Test and validate FIRM-OMPL by benchmarking with PMPL.
23 | \item Integrate with ROS.
24 | \item Run experiments.
25 | \end{itemize}
26 |
27 | \section{Timelines}
28 |
29 | 1. Finish basic FIRM planner implementation by Feb end.
30 |
31 | \chapter{Development Issues}
32 |
33 | Log of issues faced and discussions on their solutions.
34 |
35 | \begin{enumerate}
36 | \item Should the optimization functionality in OMPL Planner class be used or should the planner be implemented straight forward, similar to PMPL approach ?
37 | \begin{itemize}
38 | \item
39 | \end{itemize}
40 |
41 | \end{itemize}
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 | \end{document}
56 |
--------------------------------------------------------------------------------
/report/FIRM-OMPL.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \providecommand\hyper@newdestlabel[2]{}
3 | \bibstyle{plain}
4 | \providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
5 | \HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
6 | \global\let\oldcontentsline\contentsline
7 | \gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
8 | \global\let\oldnewlabel\newlabel
9 | \gdef\newlabel#1#2{\newlabelxx{#1}#2}
10 | \gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
11 | \AtEndDocument{\ifx\hyper@anchor\@undefined
12 | \let\contentsline\oldcontentsline
13 | \let\newlabel\oldnewlabel
14 | \fi}
15 | \fi}
16 | \global\let\hyper@last\relax
17 | \gdef\HyperFirstAtBeginDocument#1{#1}
18 | \providecommand\HyField@AuxAddToFields[1]{}
19 | \providecommand\HyField@AuxAddToCoFields[2]{}
20 | \@input{abstract.aux}
21 | \@input{chap1.aux}
22 | \@input{chap2.aux}
23 | \@input{chap3.aux}
24 |
--------------------------------------------------------------------------------
/report/FIRM-OMPL.lof:
--------------------------------------------------------------------------------
1 | \addvspace {10\p@ }
2 | \addvspace {10\p@ }
3 | \addvspace {10\p@ }
4 |
--------------------------------------------------------------------------------
/report/FIRM-OMPL.log:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/report/FIRM-OMPL.log
--------------------------------------------------------------------------------
/report/FIRM-OMPL.nlo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/report/FIRM-OMPL.nlo
--------------------------------------------------------------------------------
/report/FIRM-OMPL.out:
--------------------------------------------------------------------------------
1 | \BOOKMARK [0][-]{chapter*.1}{Abstract}{}% 1
2 | \BOOKMARK [0][-]{chapter.1}{Introduction}{}% 2
3 | \BOOKMARK [1][-]{section.1.1}{Feedback Information RoadMaps}{chapter.1}% 3
4 | \BOOKMARK [1][-]{section.1.2}{Open Motion Planning Library}{chapter.1}% 4
5 | \BOOKMARK [1][-]{section.1.3}{Aim}{chapter.1}% 5
6 | \BOOKMARK [1][-]{section.1.4}{Planned Tasks}{chapter.1}% 6
7 | \BOOKMARK [2][-]{subsection.1.4.1}{Stage 1}{section.1.4}% 7
8 | \BOOKMARK [2][-]{subsection.1.4.2}{Stage 2}{section.1.4}% 8
9 | \BOOKMARK [0][-]{chapter.2}{Issues \046 Notes}{}% 9
10 | \BOOKMARK [1][-]{section.2.1}{Notes}{chapter.2}% 10
11 | \BOOKMARK [2][-]{subsection.2.1.1}{How the OMPL PRM planner works}{section.2.1}% 11
12 | \BOOKMARK [2][-]{subsection.2.1.2}{Sampling a valid belief}{section.2.1}% 12
13 | \BOOKMARK [2][-]{subsection.2.1.3}{State Validity Checking}{section.2.1}% 13
14 | \BOOKMARK [2][-]{subsection.2.1.4}{SpaceInformation Class}{section.2.1}% 14
15 | \BOOKMARK [2][-]{subsection.2.1.5}{The OMPL MotionValidator class}{section.2.1}% 15
16 | \BOOKMARK [2][-]{subsection.2.1.6}{Using the Control Space}{section.2.1}% 16
17 | \BOOKMARK [2][-]{subsection.2.1.7}{Modifications required to OMPL PRM}{section.2.1}% 17
18 | \BOOKMARK [2][-]{subsection.2.1.8}{Find the solution path}{section.2.1}% 18
19 | \BOOKMARK [1][-]{section.2.2}{Rendering the geometry}{chapter.2}% 19
20 | \BOOKMARK [1][-]{section.2.3}{Issues}{chapter.2}% 20
21 | \BOOKMARK [1][-]{section.2.4}{Finding the target nodes for the MMPG}{chapter.2}% 21
22 | \BOOKMARK [1][-]{section.2.5}{How to save/load the graph from an XML}{chapter.2}% 22
23 | \BOOKMARK [2][-]{subsection.2.5.1}{How to save}{section.2.5}% 23
24 | \BOOKMARK [2][-]{subsection.2.5.2}{How to load}{section.2.5}% 24
25 | \BOOKMARK [1][-]{section.2.6}{Testing different Scenarios}{chapter.2}% 25
26 | \BOOKMARK [2][-]{subsection.2.6.1}{Current Issues}{section.2.6}% 26
27 | \BOOKMARK [0][-]{chapter.3}{Project Status}{}% 27
28 | \BOOKMARK [1][-]{section.3.1}{Progress}{chapter.3}% 28
29 | \BOOKMARK [2][-]{subsection.3.1.1}{Completed Tasks}{section.3.1}% 29
30 |
--------------------------------------------------------------------------------
/report/FIRM-OMPL.toc:
--------------------------------------------------------------------------------
1 | \contentsline {chapter}{Abstract}{iii}{chapter*.1}
2 | \contentsline {chapter}{\numberline {1}Introduction}{1}{chapter.1}
3 | \contentsline {section}{\numberline {1.1}Feedback Information RoadMaps}{1}{section.1.1}
4 | \contentsline {section}{\numberline {1.2}Open Motion Planning Library}{1}{section.1.2}
5 | \contentsline {section}{\numberline {1.3}Aim}{1}{section.1.3}
6 | \contentsline {section}{\numberline {1.4}Planned Tasks}{1}{section.1.4}
7 | \contentsline {subsection}{\numberline {1.4.1}Stage 1}{1}{subsection.1.4.1}
8 | \contentsline {subsection}{\numberline {1.4.2}Stage 2}{2}{subsection.1.4.2}
9 | \contentsline {chapter}{\numberline {2}Issues \& Notes}{3}{chapter.2}
10 | \contentsline {section}{\numberline {2.1}Notes}{3}{section.2.1}
11 | \contentsline {subsection}{\numberline {2.1.1}How the OMPL PRM planner works}{3}{subsection.2.1.1}
12 | \contentsline {subsection}{\numberline {2.1.2}Sampling a valid belief}{3}{subsection.2.1.2}
13 | \contentsline {subsection}{\numberline {2.1.3}State Validity Checking}{4}{subsection.2.1.3}
14 | \contentsline {subsection}{\numberline {2.1.4}SpaceInformation Class}{4}{subsection.2.1.4}
15 | \contentsline {subsection}{\numberline {2.1.5}The OMPL MotionValidator class}{4}{subsection.2.1.5}
16 | \contentsline {subsection}{\numberline {2.1.6}Using the Control Space}{4}{subsection.2.1.6}
17 | \contentsline {subsubsection}{How to define an Edge}{4}{section*.3}
18 | \contentsline {subsection}{\numberline {2.1.7}Modifications required to OMPL PRM}{5}{subsection.2.1.7}
19 | \contentsline {subsubsection}{Calculating Cost-To-Go}{5}{section*.4}
20 | \contentsline {subsection}{\numberline {2.1.8}Find the solution path}{5}{subsection.2.1.8}
21 | \contentsline {subsubsection}{What was happening in ompl::PRM}{5}{section*.5}
22 | \contentsline {subsubsection}{What we need to do in FIRM}{5}{section*.6}
23 | \contentsline {section}{\numberline {2.2}Rendering the geometry}{5}{section.2.2}
24 | \contentsline {section}{\numberline {2.3}Issues}{5}{section.2.3}
25 | \contentsline {section}{\numberline {2.4}Finding the target nodes for the MMPG}{6}{section.2.4}
26 | \contentsline {section}{\numberline {2.5}How to save/load the graph from an XML}{6}{section.2.5}
27 | \contentsline {subsection}{\numberline {2.5.1}How to save}{6}{subsection.2.5.1}
28 | \contentsline {subsection}{\numberline {2.5.2}How to load}{6}{subsection.2.5.2}
29 | \contentsline {section}{\numberline {2.6}Testing different Scenarios}{7}{section.2.6}
30 | \contentsline {subsection}{\numberline {2.6.1}Current Issues}{7}{subsection.2.6.1}
31 | \contentsline {chapter}{\numberline {3}Project Status}{8}{chapter.3}
32 | \contentsline {section}{\numberline {3.1}Progress}{8}{section.3.1}
33 | \contentsline {subsection}{\numberline {3.1.1}Completed Tasks}{8}{subsection.3.1.1}
34 | \contentsline {subsubsection}{Pending Tasks}{8}{section*.7}
35 |
--------------------------------------------------------------------------------
/report/abstract.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \providecommand\hyper@newdestlabel[2]{}
3 | \@writefile{toc}{\contentsline {chapter}{Abstract}{iii}{chapter*.1}}
4 | \@setckpt{abstract}{
5 | \setcounter{page}{4}
6 | \setcounter{equation}{0}
7 | \setcounter{enumi}{0}
8 | \setcounter{enumii}{0}
9 | \setcounter{enumiii}{0}
10 | \setcounter{enumiv}{0}
11 | \setcounter{footnote}{0}
12 | \setcounter{mpfootnote}{0}
13 | \setcounter{part}{0}
14 | \setcounter{chapter}{0}
15 | \setcounter{section}{0}
16 | \setcounter{subsection}{0}
17 | \setcounter{subsubsection}{0}
18 | \setcounter{paragraph}{0}
19 | \setcounter{subparagraph}{0}
20 | \setcounter{figure}{0}
21 | \setcounter{table}{0}
22 | \setcounter{subfigure}{0}
23 | \setcounter{lofdepth}{1}
24 | \setcounter{subtable}{0}
25 | \setcounter{lotdepth}{1}
26 | \setcounter{LT@tables}{0}
27 | \setcounter{LT@chunks}{0}
28 | \setcounter{float@type}{4}
29 | \setcounter{parentequation}{0}
30 | \setcounter{Item}{0}
31 | \setcounter{Hfootnote}{0}
32 | \setcounter{bookmark@seq@number}{1}
33 | \setcounter{chap}{0}
34 | \setcounter{section@level}{0}
35 | }
36 |
--------------------------------------------------------------------------------
/report/abstract.tex:
--------------------------------------------------------------------------------
1 | \begin{abstract}
2 |
3 | This report details the software architecture and progress of the development of an open source C++
4 | implementation of FIRM integrated with OMPL. Our goal is to enable the robotics research community
5 | to be able to freely use FIRM as part of their work. We plan to use the Robot Operating System (ROS) developed
6 | by Willow Garage to conduct physical as well as simulation experiments.
7 |
8 | \end{abstract}
--------------------------------------------------------------------------------
/report/abstract.tex.backup:
--------------------------------------------------------------------------------
1 | \begin{abstract}
2 |
3 | This report details the software architecture and progress of the development of an open source C++
4 | implementation of FIRM integrated with OMPL. Our goal is to enable the robotics research community
5 | to be able to freely use FIRM as part of their work.
6 |
7 | \end{abstract}
--------------------------------------------------------------------------------
/report/appA.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \@setckpt{appA}{
3 | \setcounter{page}{2}
4 | \setcounter{equation}{0}
5 | \setcounter{enumi}{0}
6 | \setcounter{enumii}{0}
7 | \setcounter{enumiii}{0}
8 | \setcounter{enumiv}{0}
9 | \setcounter{footnote}{0}
10 | \setcounter{mpfootnote}{0}
11 | \setcounter{part}{0}
12 | \setcounter{chapter}{0}
13 | \setcounter{section}{0}
14 | \setcounter{subsection}{0}
15 | \setcounter{subsubsection}{0}
16 | \setcounter{paragraph}{0}
17 | \setcounter{subparagraph}{0}
18 | \setcounter{figure}{0}
19 | \setcounter{table}{0}
20 | \setcounter{subfigure}{0}
21 | \setcounter{lofdepth}{1}
22 | \setcounter{subtable}{0}
23 | \setcounter{lotdepth}{1}
24 | \setcounter{LT@tables}{0}
25 | \setcounter{LT@chunks}{0}
26 | \setcounter{float@type}{4}
27 | \setcounter{parentequation}{0}
28 | \setcounter{Item}{0}
29 | \setcounter{Hfootnote}{0}
30 | \setcounter{chapi}{0}
31 | \setcounter{section@level}{0}
32 | }
33 |
--------------------------------------------------------------------------------
/report/appB.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \@setckpt{appB}{
3 | \setcounter{page}{2}
4 | \setcounter{equation}{0}
5 | \setcounter{enumi}{0}
6 | \setcounter{enumii}{0}
7 | \setcounter{enumiii}{0}
8 | \setcounter{enumiv}{0}
9 | \setcounter{footnote}{0}
10 | \setcounter{mpfootnote}{0}
11 | \setcounter{part}{0}
12 | \setcounter{chapter}{0}
13 | \setcounter{section}{0}
14 | \setcounter{subsection}{0}
15 | \setcounter{subsubsection}{0}
16 | \setcounter{paragraph}{0}
17 | \setcounter{subparagraph}{0}
18 | \setcounter{figure}{0}
19 | \setcounter{table}{0}
20 | \setcounter{subfigure}{0}
21 | \setcounter{lofdepth}{1}
22 | \setcounter{subtable}{0}
23 | \setcounter{lotdepth}{1}
24 | \setcounter{LT@tables}{0}
25 | \setcounter{LT@chunks}{0}
26 | \setcounter{float@type}{4}
27 | \setcounter{parentequation}{0}
28 | \setcounter{Item}{0}
29 | \setcounter{Hfootnote}{0}
30 | \setcounter{chapi}{0}
31 | \setcounter{section@level}{0}
32 | }
33 |
--------------------------------------------------------------------------------
/report/appenA.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \@setckpt{appenA}{
3 | \setcounter{page}{1}
4 | \setcounter{equation}{0}
5 | \setcounter{enumi}{0}
6 | \setcounter{enumii}{0}
7 | \setcounter{enumiii}{0}
8 | \setcounter{enumiv}{0}
9 | \setcounter{footnote}{0}
10 | \setcounter{mpfootnote}{0}
11 | \setcounter{part}{0}
12 | \setcounter{chapter}{0}
13 | \setcounter{section}{0}
14 | \setcounter{subsection}{0}
15 | \setcounter{subsubsection}{0}
16 | \setcounter{paragraph}{0}
17 | \setcounter{subparagraph}{0}
18 | \setcounter{figure}{0}
19 | \setcounter{table}{0}
20 | \setcounter{subfigure}{0}
21 | \setcounter{lofdepth}{1}
22 | \setcounter{subtable}{0}
23 | \setcounter{lotdepth}{1}
24 | \setcounter{LT@tables}{0}
25 | \setcounter{LT@chunks}{0}
26 | \setcounter{float@type}{4}
27 | \setcounter{parentequation}{0}
28 | \setcounter{Item}{0}
29 | \setcounter{Hfootnote}{0}
30 | \setcounter{chapi}{0}
31 | \setcounter{section@level}{0}
32 | }
33 |
--------------------------------------------------------------------------------
/report/appenB.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \@setckpt{appenB}{
3 | \setcounter{page}{1}
4 | \setcounter{equation}{0}
5 | \setcounter{enumi}{0}
6 | \setcounter{enumii}{0}
7 | \setcounter{enumiii}{0}
8 | \setcounter{enumiv}{0}
9 | \setcounter{footnote}{0}
10 | \setcounter{mpfootnote}{0}
11 | \setcounter{part}{0}
12 | \setcounter{chapter}{0}
13 | \setcounter{section}{0}
14 | \setcounter{subsection}{0}
15 | \setcounter{subsubsection}{0}
16 | \setcounter{paragraph}{0}
17 | \setcounter{subparagraph}{0}
18 | \setcounter{figure}{0}
19 | \setcounter{table}{0}
20 | \setcounter{subfigure}{0}
21 | \setcounter{lofdepth}{1}
22 | \setcounter{subtable}{0}
23 | \setcounter{lotdepth}{1}
24 | \setcounter{LT@tables}{0}
25 | \setcounter{LT@chunks}{0}
26 | \setcounter{float@type}{4}
27 | \setcounter{parentequation}{0}
28 | \setcounter{Item}{0}
29 | \setcounter{Hfootnote}{0}
30 | \setcounter{chapi}{0}
31 | \setcounter{section@level}{0}
32 | }
33 |
--------------------------------------------------------------------------------
/report/chap1.tex:
--------------------------------------------------------------------------------
1 | \chapter{Introduction}
2 |
3 | Our goal is to enable the research community at large to be able to use FIRM in their own research (simulations/physical experiments).
4 | For this purpose, we have developed an open source implementation of FIRM using OMPL (Open Motion Planning Library).
5 |
6 | \section{Feedback Information RoadMaps}
7 |
8 | \textcolor{red}{Add References to Ali's pubs}
9 |
10 | \section{Open Motion Planning Library}
11 |
12 | As stated on the OMPL \url{http://ompl.kavrakilab.org}, \textit{OMPL, the Open Motion Planning Library, consists of many state-of-the-art sampling-based motion planning algorithms. OMPL itself does not contain any code related to, e.g., collision checking or visualization. This is a deliberate design choice, so that OMPL is not tied to a particular collision checker or visualization front end.}
13 | \section{Aim}
14 |
15 | To integrate FIRM with Open Motion Planning Library and use with ROS for physical and simulation experiments.
16 |
17 | \section{Planned Tasks}
18 |
19 | \subsection{Stage 1}
20 | \begin{enumerate}
21 | \item Implement the underlying graph structure using Boost
22 | \item Implement Edge weight class for OMPL
23 | \item Derive from OMPL’s planner class to implement FIRM planner
24 | \item Implement the Belief Space by deriving from OMPL Compound State Space
25 | \item Implement Belief (State) class deriving from OMPL State
26 | \item Using OMPLs sampler class, develop a uniform random belief space sampler
27 | \item Implement observation model (monocular camera with image markers)
28 | \item Implement motion model
29 | \item Implement Controller class (integrate filters)
30 | \item Integrate DP with Planner
31 | \item Complete component integration and test in simulation (PMPL simulator)
32 | \end{enumerate}
33 |
34 | \subsection{Stage 2}
35 |
36 | \begin{itemize}
37 | \item Integrate with ROS and test in simulation
38 | \item Benchmark with PMPL
39 | \item Test on physical system
40 | \end{itemize}
41 |
42 |
43 |
--------------------------------------------------------------------------------
/report/chap1.tex.backup:
--------------------------------------------------------------------------------
1 | \chapter{Introduction}
2 |
3 | Our goal is to enable the research community at large to be able to use FIRM in their own research (simulations/physical experiments).
4 | For this purpose, we have developed an open source implementation of FIRM using OMPL (Open Motion Planning Library).
5 |
6 |
7 | \section{Aim}
8 |
9 | To integrate FIRM with Open Motion Planning Library and use with ROS for physical and simulation experiments.
10 |
11 | \section{Planned Tasks}
12 |
13 | \subsection{Stage 1}
14 | \begin{enumerate}
15 | \item Implement the underlying graph structure using Boost
16 | \item Implement Edge weight class for OMPL
17 | \item Derive from OMPL’s planner class to implement FIRM planner
18 | \item Implement the Belief Space by deriving from OMPL Compound State Space
19 | \item Implement Belief (State) class deriving from OMPL State
20 | \item Using OMPLs sampler class, develop a uniform random belief space sampler
21 | \item Implement observation model (monocular camera with image markers)
22 | \item Implement motion model
23 | \item Implement Controller class (integrate filters)
24 | \item Integrate DP with Planner
25 | \item Complete component integration and test in simulation (PMPL simulator)
26 | \end{enumerate}
27 |
28 | \subsection{Stage 2}
29 |
30 | \begin{itemize}
31 | \item Integrate with ROS and test in simulation
32 | \item Benchmark with PMPL
33 | \item Test on physical system
34 | \end{itemize}
35 |
36 | \section{Notes}
37 |
38 | Significant time was spent in understanding how OMPL implements the underlying
39 | graph, state, spaces etc. OMPL’s API is very different programmatically and
40 | philosophically from PMPL. Due to its lightweight nature, OMPL does not depend
41 | external libraries (except BOOST) which gives it a disadvantage in terms of extra
42 | functionality (such as reading setup parameters from XML files etc.).
43 |
44 |
--------------------------------------------------------------------------------
/report/chap3.tex:
--------------------------------------------------------------------------------
1 | \chapter{Project Status}
2 |
3 | \section{Progress}
4 |
5 | \subsection{Completed Tasks}
6 |
7 | \begin{enumerate}
8 | \item The FIRM Edge weight class has been implemented and integrated with FIRM planner
9 | \item Belief space has been implemented and tested
10 | \item 2D Belief State has been implemented and tested
11 | \item Observation Model class using OMPL state has also been implemented and tested
12 | \item Uniform Random State sampler has also been implemented/tested.
13 | \item XML reader functionality has also been developed to smooth problem setup and execution.
14 | This is allows users to describe problem in XML format similar to PMPL.
15 | \end{enumerate}
16 |
17 | \subsubsection{Pending Tasks}
18 |
19 | \begin{enumerate}
20 | \item Integrate and test DP / feedback
21 | \item Write FIRMEdge class
22 | \item Underlying graph implementation using BOOST
23 | \item FIRM planner class based on OMPLs base class with full integration to OMPL API
24 | \end{enumerate}
25 |
--------------------------------------------------------------------------------
/report/discussion.aux:
--------------------------------------------------------------------------------
1 | \relax
2 | \@setckpt{discussion}{
3 | \setcounter{page}{2}
4 | \setcounter{equation}{0}
5 | \setcounter{enumi}{0}
6 | \setcounter{enumii}{0}
7 | \setcounter{enumiii}{0}
8 | \setcounter{enumiv}{0}
9 | \setcounter{footnote}{0}
10 | \setcounter{mpfootnote}{0}
11 | \setcounter{part}{0}
12 | \setcounter{chapter}{1}
13 | \setcounter{section}{0}
14 | \setcounter{subsection}{0}
15 | \setcounter{subsubsection}{0}
16 | \setcounter{paragraph}{0}
17 | \setcounter{subparagraph}{0}
18 | \setcounter{figure}{0}
19 | \setcounter{table}{0}
20 | \setcounter{subfigure}{0}
21 | \setcounter{lofdepth}{1}
22 | \setcounter{subtable}{0}
23 | \setcounter{lotdepth}{1}
24 | \setcounter{LT@tables}{0}
25 | \setcounter{LT@chunks}{0}
26 | \setcounter{float@type}{4}
27 | \setcounter{parentequation}{0}
28 | \setcounter{Item}{0}
29 | \setcounter{Hfootnote}{0}
30 | \setcounter{chapi}{0}
31 | \setcounter{section@level}{0}
32 | }
33 |
--------------------------------------------------------------------------------
/report/styles/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/report/styles/.DS_Store
--------------------------------------------------------------------------------
/report/styles/Diss.tex:
--------------------------------------------------------------------------------
1 | \chapter{Discussion and Conclusions}
2 |
3 | \section{Are You Sitting Comfortably}
4 |
5 | Up to this stage the majority of the work was concerned with somewhat generalised control allocation solutions. The methods examined all appear to provide a suitable and somewhat elegant solution to the problem, each exhibiting unique properties and design constants. As for the DEMON vehicle its self, the simulation results, see section \ref{ControlA}, indicates that the it copes well with the augment system, only slightly varying in control authority, to which can be deemed negligible.
--------------------------------------------------------------------------------
/report/styles/cranfield_crest.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sauravag/edpl-ompl/854406d4ddbad5a47c8a4411f8aac0d1424aa93d/report/styles/cranfield_crest.jpg
--------------------------------------------------------------------------------
/report/styles/savesymbol.sty:
--------------------------------------------------------------------------------
1 | % The following package was originally pinched (with permission) from
2 | % similar makros in symbols.tex, written by Scott Pakin .
3 | % The following explanation was also taken from symbols.tex.
4 | %
5 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6 | % There are a number of symbols (e.g., \Square) that are defined by %
7 | % multiple packages. In order to typeset all the variants in this %
8 | % document, we have to give glyph a unique name. To do that, we define %
9 | % \savesymbol{XXX}, which renames a symbol from \XXX to \origXXX, and %
10 | % \restoresymbols{yyy}{XXX}, which renames \origXXX back to \XXX and %
11 | % defines a new command, \yyyXXX, which corresponds to the most recently %
12 | % loaded version of \XXX. %
13 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
14 | %
15 | % The implementation of \savesymbol and \restoresymbol was changed by
16 | % Heiko Oberdiek
17 | % and
18 | % Rolf Niepraschk
19 | % in May 2003. Thank you!
20 | %
21 | % Copyright 2003 Juergen Goebel,
22 | % distributable under the LPPL
23 |
24 | \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{./styles/savesymbol}[2003/06/01
25 | v1.1 Saves and restores symbols]
26 |
27 | % Save a symbol that we know is going to get redefined.
28 | \newcommand*\savesymbol[1]{%
29 | \expandafter\let\csname orig#1\expandafter\endcsname\csname#1\endcsname
30 | \expandafter\let\csname #1\endcsname\relax
31 | }
32 |
33 | % Restore a previously saved symbol, and rename the current one.
34 | \newcommand*\restoresymbol[2]{%
35 | \expandafter\global\expandafter\let\csname#1#2\expandafter\endcsname%
36 | \csname#2\endcsname
37 | \expandafter\global\expandafter\let\csname#2\expandafter\endcsname%
38 | \csname orig#2\endcsname
39 | }
40 |
41 | \endinput
42 |
43 | % EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF EOF
44 |
--------------------------------------------------------------------------------
/report/styles/texput.log:
--------------------------------------------------------------------------------
1 | This is pdfTeX, Version 3.1415926-1.40.10 (TeX Live 2009) (format=latex 2010.4.27) 18 MAY 2011 22:56
2 | entering extended mode
3 | %&-line parsing enabled.
4 | **uq_thesis.tex
5 |
6 | ! Emergency stop.
7 | <*> uq_thesis.tex
8 |
9 | *** (job aborted, file error in nonstop mode)
10 |
11 |
12 | Here is how much of TeX's memory you used:
13 | 3 strings out of 493849
14 | 103 string characters out of 3149230
15 | 48936 words of memory out of 3000000
16 | 3381 multiletter control sequences out of 15000+200000
17 | 3640 words of font info for 14 fonts, out of 3000000 for 9000
18 | 714 hyphenation exceptions out of 8191
19 | 0i,0n,0p,1b,6s stack positions out of 5000i,500n,10000p,200000b,50000s
20 | No pages of output.
21 |
--------------------------------------------------------------------------------
/report/styles/times1.sty:
--------------------------------------------------------------------------------
1 | %%
2 | %% This is file `times.sty', generated
3 | %% on <1996/2/17> with the docstrip utility (2.2i).
4 | %%
5 | %% The original source files were:
6 | %%
7 | %% psfonts.dtx (with options: `times')
8 | %%
9 | %% Copyright (C) 1995 Sebastian Rahtz
10 | %% All rights reserved.
11 | %%
12 | %% This file is part of the PSNFSS2e package.
13 | %% -----------------------------------------
14 | %%
15 | %% This is a generated file. Permission is granted to to customize the
16 | %% declarations in this file to serve the needs of your installation.
17 | %% However, no permission is granted to distribute a modified version of
18 | %% this file under its original name.
19 | \def\fileversion{5.2}
20 | \def\filedate{1995/08/16}
21 | \def\docdate {1995/03/12}
22 | \NeedsTeXFormat{LaTeX2e}
23 | \ProvidesPackage{./styles/times1}[\filedate\space\fileversion\space
24 | Times PSNFSS2e package]
25 | \renewcommand{\sfdefault}{phv}
26 | \renewcommand{\rmdefault}{ptm}
27 | \renewcommand{\ttdefault}{pcr}
28 | \endinput
29 | %%
30 | %% End of file `times.sty'.
31 |
--------------------------------------------------------------------------------
/scripts/build_bsp.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | # run this script from project main directory
3 | export CXX=g++-5
4 | export CC=gcc-5
5 | #rm -rf build/
6 | #mkdir build
7 | cd build
8 | cmake ..
9 | make -j4
10 | cd ..
--------------------------------------------------------------------------------
/scripts/makeVideo.sh:
--------------------------------------------------------------------------------
1 | ffmpeg -r 8 -i "${1}/Frame_%07d.png" -s 1834x1001 -an "${2}.mov"
2 |
--------------------------------------------------------------------------------
/src/ActuationSystems/SimulatedActuationSystem.cpp:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2013, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 |
35 | /* Authors: Saurav Agarwal, Ali-akbar Agha-mohammadi */
36 |
37 | #include "ActuationSystems/SimulatedActuationSystem.h"
38 |
39 | void SimulatedActuationSystem::applyControl(ControlType& u)
40 | {
41 |
42 | typename MotionModelMethod::NoiseType noise = motionModel_->generateNoise(trueState_, u);
43 |
44 | //trueState_ = motionModel_->Evolve(trueState_, u, noise);
45 |
46 | //OGLDisplay::UpdateTrueState(m_trueState);
47 | //cout<<" The True State is :"<getObservation(trueState_, true);
55 | }
56 |
57 |
--------------------------------------------------------------------------------
/src/MotionModels/TwoDPointStatePropagator.cpp:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2014, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 | /* Author: Ali-akbar Agha-mohammadi, Saurav Agarwal */
35 |
36 | #include "MotionModels/TwoDPointStatePropagator.h"
37 | #include "ompl/control/spaces/RealVectorControlSpace.h"
38 | #include "ompl/util/Exception.h"
39 | using namespace ompl;
40 |
41 | TwoDPointStatePropagator::TwoDPointStatePropagator(const firm::SpaceInformation::SpaceInformationPtr &si) : StatePropagator(si), siF_(si)
42 | {
43 | motionModel_ = siF_->getMotionModel();
44 | }
45 |
46 | void TwoDPointStatePropagator::propagate(const base::State *state, const control::Control* control, const double duration, base::State *result) const
47 | {
48 |
49 | ompl::base::State *to = si_->allocState();
50 |
51 | // use the motionmodel to apply the controls
52 | motionModel_->Evolve(state, control, motionModel_->getZeroNoise(), to);
53 |
54 | si_->copyState(result,to);
55 |
56 | }
57 |
58 | bool TwoDPointStatePropagator::canPropagateBackward(void) const
59 | {
60 | return false;
61 | }
62 |
63 |
--------------------------------------------------------------------------------
/src/MotionModels/UnicycleStatePropagator.cpp:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2014, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 | /* Author: Ali-akbar Agha-mohammadi, Saurav Agarwal */
35 |
36 | #include "MotionModels/UnicycleStatePropagator.h"
37 | #include "ompl/control/spaces/RealVectorControlSpace.h"
38 | #include "ompl/util/Exception.h"
39 | using namespace ompl;
40 |
41 | UnicycleStatePropagator::UnicycleStatePropagator(const firm::SpaceInformation::SpaceInformationPtr &si) : StatePropagator(si), siF_(si)
42 | {
43 | motionModel_ = siF_->getMotionModel();
44 | }
45 |
46 | void UnicycleStatePropagator::propagate(const base::State *state, const control::Control* control, const double duration, base::State *result) const
47 | {
48 |
49 | typedef SE2BeliefSpace::StateType StateType;
50 |
51 | ompl::base::State *to = si_->allocState();
52 |
53 | // use the motionmodel to apply the controls
54 | motionModel_->Evolve(state, control, motionModel_->getZeroNoise(), to);
55 |
56 | si_->copyState(result,to);
57 |
58 | }
59 |
60 | bool UnicycleStatePropagator::canPropagateBackward(void) const
61 | {
62 | return false;
63 | }
64 |
65 |
--------------------------------------------------------------------------------
/src/OptimizationObjectives/FIRMOptimizationObjective.cpp:
--------------------------------------------------------------------------------
1 | /*********************************************************************
2 | * Software License Agreement (BSD License)
3 | *
4 | * Copyright (c) 2013, Texas A&M University
5 | * All rights reserved.
6 | *
7 | * Redistribution and use in source and binary forms, with or without
8 | * modification, are permitted provided that the following conditions
9 | * are met:
10 | *
11 | * * Redistributions of source code must retain the above copyright
12 | * notice, this list of conditions and the following disclaimer.
13 | * * Redistributions in binary form must reproduce the above
14 | * copyright notice, this list of conditions and the following
15 | * disclaimer in the documentation and/or other materials provided
16 | * with the distribution.
17 | * * Neither the name of the Texas A&M University nor the names of its
18 | * contributors may be used to endorse or promote products derived
19 | * from this software without specific prior written permission.
20 | *
21 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25 | * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
28 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
29 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32 | * POSSIBILITY OF SUCH DAMAGE.
33 | *********************************************************************/
34 |
35 | /* Authors: Saurav Agarwal */
36 |
37 | #include "OptimizationObjectives/FIRMOptimizationObjective.h"
38 |
39 | ompl::base::Cost FIRMOptimizationObjective::motionCost(const ompl::base::State *s1, const ompl::base::State *s2)
40 | {
41 |
42 |
43 |
44 |
45 |
46 | }
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
--------------------------------------------------------------------------------