Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
6120bd5
refactor progress
heavenfall Jun 22, 2025
f8bff14
update warthog-core submodule commit
heavenfall Jun 22, 2025
3b5319e
update jump_point_online to location and distance
heavenfall Jun 27, 2025
35c6e8c
remove old jps
heavenfall Jun 27, 2025
5a18b5d
rename jps expansion policy
heavenfall Jun 27, 2025
a263664
git refactor continue
heavenfall Jul 2, 2025
d399c61
update cmake files
heavenfall Jul 2, 2025
3f56053
rename expansion policy
heavenfall Jul 2, 2025
b17a5be
continue
heavenfall Jul 2, 2025
5226875
jps online progress nearly complete
heavenfall Jul 3, 2025
7817a98
warthog jps beta
heavenfall Jul 4, 2025
e77e0f9
jps prune method start
heavenfall Jul 10, 2025
5277a2d
progress jps prune
heavenfall Jul 14, 2025
219d994
jpsP pass tests
heavenfall Jul 15, 2025
1a5a9d2
update warthog-core commit
heavenfall Jul 17, 2025
bd22766
merge from gppc, refactor jps gridmap in expansion policy
heavenfall Jul 17, 2025
297b14b
update warthog-core version
heavenfall Jul 17, 2025
77946d3
jps expansion policy constructor bugfix
heavenfall Jul 17, 2025
a36d11a
offline progress
heavenfall Jul 17, 2025
24dc630
jps update
heavenfall Jul 23, 2025
3d4ebbb
state
heavenfall Jul 23, 2025
6762ef8
offline jps + restructured rotated grid
heavenfall Jul 25, 2025
013f9fc
fixed online jps
heavenfall Jul 31, 2025
6aa1911
offline bugfixes
heavenfall Jul 31, 2025
74d0e8c
bugfix
heavenfall Aug 6, 2025
ef23968
BasicIntercardinalWalker now correctly sets map
heavenfall Aug 7, 2025
b156dde
update warthog core to new version
heavenfall Aug 7, 2025
b2860cd
bugfix in compute table
heavenfall Aug 8, 2025
5056615
increased checkopt failed result precision
heavenfall Aug 8, 2025
0d1050c
bugfixes
heavenfall Aug 8, 2025
404a192
update rotate gridmap interface for width/heigh, made gridmap_rotate_…
heavenfall Aug 11, 2025
7ae719e
jps bugfixes
heavenfall Aug 13, 2025
01388ba
final bugfixes
heavenfall Aug 13, 2025
1580b9a
update cmake headers
heavenfall Aug 13, 2025
57d05e5
update warthog core
heavenfall Aug 13, 2025
e2a8df0
auto clang-format action
github-actions[bot] Aug 13, 2025
4a5fe9f
update algorithm list for app
heavenfall Aug 13, 2025
3fe21ef
removed unneeded commented include
heavenfall Aug 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ PointerAlignment: Left
UseTab: ForIndentation
IndentWidth: 4
TabWidth: 4
# ColumnLimit: 120
Cpp11BracedListStyle: true
AlwaysBreakTemplateDeclarations: Yes
AlwaysBreakAfterReturnType: All
Expand Down
66 changes: 24 additions & 42 deletions apps/jps.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,6 @@
//

#include <jps/search/jps.h>
#include <jps/search/jps2_expansion_policy.h>
#include <jps/search/jps2plus_expansion_policy.h>
#include <jps/search/jps4c_expansion_policy.h>
#include <jps/search/jps_expansion_policy.h>
#include <jps/search/jpsplus_expansion_policy.h>
#include <warthog/constants.h>
#include <warthog/domain/gridmap.h>
#include <warthog/heuristic/octile_heuristic.h>
Expand All @@ -21,7 +16,10 @@
#include <warthog/util/scenario_manager.h>
#include <warthog/util/timer.h>

#include <jps/search/jps_expansion_policy2.h>
#include <jps/jump/jump_point_offline.h>
#include <jps/jump/jump_point_online.h>
#include <jps/search/jps_expansion_policy.h>
#include <jps/search/jps_prune_expansion_policy.h>

#include "cfg.h"
#include <getopt.h>
Expand Down Expand Up @@ -70,8 +68,7 @@ help(std::ostream& out)
<< "Invoking the program this way solves all instances in [scen "
"file] with algorithm [alg]\n"
<< "Currently recognised values for [alg]:\n"
<< "\tjps, jps+, jps2, jps2+\n"
<< "\tjpsV2, jpsV2-cardinal, jpsV2-prune\n";
<< "\tjps, jpsP, jpsP32, jps+, jpsP+\n";
// << ""
// << "The following are valid parameters for GENERATING instances:\n"
// << "\t --gen [map file (required)]\n"
Expand All @@ -90,20 +87,12 @@ check_optimality(

if(fabs(delta - epsilon) > epsilon)
{
std::stringstream strpathlen;
strpathlen << std::fixed << std::setprecision(exp->precision());
strpathlen << sol.sum_of_edge_costs_;

std::stringstream stroptlen;
stroptlen << std::fixed << std::setprecision(exp->precision());
stroptlen << exp->distance();

std::cerr << std::setprecision(exp->precision());
std::cerr << std::setprecision(15);
std::cerr << "optimality check failed!" << std::endl;
std::cerr << std::endl;
std::cerr << "optimal path length: " << stroptlen.str()
std::cerr << "optimal path length: " << exp->distance()
<< " computed length: ";
std::cerr << strpathlen.str() << std::endl;
std::cerr << sol.sum_of_edge_costs_ << std::endl;
std::cerr << "precision: " << precision << " epsilon: " << epsilon
<< std::endl;
std::cerr << "delta: " << delta << std::endl;
Expand Down Expand Up @@ -253,39 +242,32 @@ main(int argc, char** argv)
using namespace jps::search;
if(alg == "jps")
{
return run_jps<jps_expansion_policy>(scenmgr, mapfile, alg);
}
else if(alg == "jps+")
{
return run_jps<jpsplus_expansion_policy>(scenmgr, mapfile, alg);
}
else if(alg == "jps2")
{
return run_jps<jps2_expansion_policy>(scenmgr, mapfile, alg);
using jump_point = jps::jump::jump_point_online;
return run_jps<jps_expansion_policy<jump_point>>(
scenmgr, mapfile, alg);
}
else if(alg == "jps2+")
else if(alg == "jpsP")
{
return run_jps<jps2plus_expansion_policy>(scenmgr, mapfile, alg);
using jump_point = jps::jump::jump_point_online;
return run_jps<jps_prune_expansion_policy<jump_point>>(
scenmgr, mapfile, alg);
}
else if(alg == "jpsV2")
else if(alg == "jpsP32")
{
using jump_point
= jps::jump::jump_point_online<jps::JpsFeature::DEFAULT>;
return run_jps<jps_expansion_policy2<jump_point>>(
using jump_point = jps::jump::jump_point_online;
return run_jps<jps_prune_expansion_policy<jump_point, 32, 64>>(
scenmgr, mapfile, alg);
}
else if(alg == "jpsV2-cardinal")
else if(alg == "jps+")
{
using jump_point = jps::jump::jump_point_online<
jps::JpsFeature::STORE_CARDINAL_JUMP>;
return run_jps<jps_expansion_policy2<jump_point>>(
using jump_point = jps::jump::jump_point_offline<>;
return run_jps<jps_expansion_policy<jump_point>>(
scenmgr, mapfile, alg);
}
else if(alg == "jpsV2-prune")
else if(alg == "jpsP+")
{
using jump_point = jps::jump::jump_point_online<
jps::JpsFeature::PRUNE_INTERCARDINAL>;
return run_jps<jps_expansion_policy2<jump_point>>(
using jump_point = jps::jump::jump_point_offline<>;
return run_jps<jps_prune_expansion_policy<jump_point>>(
scenmgr, mapfile, alg);
}
else
Expand Down
19 changes: 9 additions & 10 deletions cmake/headers.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,15 @@ cmake_minimum_required(VERSION 3.13)
# find include/jps -type f -name '*.h' | sort
target_sources(warthog_libjps PUBLIC
include/jps/forward.h
include/jps/jump/four_connected_jps_locator.h
include/jps/jump/offline_jump_point_locator.h
include/jps/jump/offline_jump_point_locator2.h
include/jps/jump/online_jump_point_locator.h
include/jps/jump/online_jump_point_locator2.h

include/jps/search/jps2_expansion_policy.h
include/jps/search/jps.h
include/jps/search/jps2plus_expansion_policy.h
include/jps/search/jps4c_expansion_policy.h
include/jps/domain/rotate_gridmap.h

include/jps/jump/jump.h
include/jps/jump/jump_point_offline.h
include/jps/jump/jump_point_online.h

include/jps/search/jps_expansion_policy.h
include/jps/search/jpsplus_expansion_policy.h
include/jps/search/jps_gridmap_expansion_policy.h
include/jps/search/jps.h
include/jps/search/jps_prune_expansion_policy.h
)
Loading