Skip to content
Open

RRT* #58

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
1ff930a
feat(nix): flake
jens-hj Apr 30, 2024
80e1f53
feat(rrtstar): rrt* attempt
jens-hj Apr 30, 2024
40e2e01
fix(rrtstar): only rewire parent if node has a parent
jens-hj Apr 30, 2024
90aea9f
chore(rrtstar): debug prints
jens-hj Apr 30, 2024
a21b79c
chore(rrtstar): debug prints
jens-hj Apr 30, 2024
978a61d
chore(rrtstar): debug prints
jens-hj Apr 30, 2024
fd58e00
chore(rrtstar): debug prints
jens-hj Apr 30, 2024
b45cbdd
chore(rrtstar): more printing
jens-hj Apr 30, 2024
ad9fb27
chore(rrtstar): more printing
jens-hj Apr 30, 2024
5a3b7e9
wip, squash me
jens-hj Apr 30, 2024
faa6004
chore(flake): added flake.lock
jens-hj Apr 30, 2024
28b24e6
refactor(rrtstar): divided rrt and rrtstar into each their own module
jens-hj May 1, 2024
db19937
chore(debug): public everything
jens-hj May 1, 2024
80087f6
wip
jens-hj May 1, 2024
f5df4a1
wip
jens-hj May 1, 2024
fa15447
wip
jens-hj May 1, 2024
164449b
wip
jens-hj May 1, 2024
272d569
fix(rrtstar): comparing nearest neighbours with nearest found earlier…
jens-hj May 1, 2024
f60749c
feat(rrtstar): stop when goal reached flag to force whole tree build
jens-hj May 1, 2024
294a7eb
wip
jens-hj May 1, 2024
d9eef7c
fix(rrtstar): still adds the goal position as the last part if it get…
jens-hj May 1, 2024
9456249
feat(rrtstar): configurable neighbourhood radius
jens-hj May 2, 2024
fc19afa
feat(goal): goal index stored on tree
jens-hj May 13, 2024
e145ce1
wip, squash me
jens-hj May 13, 2024
9847735
feat(rrtstar): Fn -> FnMut
jens-hj May 14, 2024
f4e9975
feat(rrtstar): Fn -> FnMut
jens-hj May 14, 2024
d4384c7
fix(rrtstar): returns Error on max iters
jens-hj May 20, 2024
ad5911f
feat(rrtstar): rng passable to rrtstar smoothing
jens-hj Jun 1, 2024
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 .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,6 @@ Cargo.lock
# These are backup files generated by rustfmt
**/*.rs.bk
*~

# flake.lock
.direnv
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ repository = "https://github.com/openrr/rrt"

# Note: num-traits is public dependency.
[dependencies]
derive_more = { version = "0.99.17", default-features = false, features = ["display", "error"] }
kdtree = "0.7"
num-traits = "0.2"
rand = "0.8"
Expand Down
4 changes: 2 additions & 2 deletions examples/collision_avoid.rs
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ fn main() {
let mut index = 0;
while window.render() {
if index == path.len() {
path = rrt::dual_rrt_connect(
path = rrt::rrt::dual_rrt_connect(
&start,
&goal,
|x: &[f64]| p.is_feasible(x),
Expand All @@ -106,7 +106,7 @@ fn main() {
1000,
)
.unwrap();
rrt::smooth_path(&mut path, |x: &[f64]| p.is_feasible(x), 0.05, 100);
rrt::rrt::smooth_path(&mut path, |x: &[f64]| p.is_feasible(x), 0.05, 100);
index = 0;
}
let point = &path[index % path.len()];
Expand Down
85 changes: 85 additions & 0 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

114 changes: 114 additions & 0 deletions flake.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
{
description = "gbp-rs";
inputs = {
# wgsl_analyzer.url = "github:wgsl-analyzer/wgsl-analyzer";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
rust-overlay = {
url = "github:oxalica/rust-overlay";
inputs = {
nixpkgs.follows = "nixpkgs";
flake-utils.follows = "flake-utils";
};
};
};

outputs = {
self,
nixpkgs,
rust-overlay,
flake-utils,
...
} @ inputs:
inputs.flake-utils.lib.eachDefaultSystem (system: let
overlays = [(import rust-overlay)];
pkgs = import inputs.nixpkgs {inherit system overlays;};
rust-extensions = [
"rust-src"
"rust-analyzer"
"llvm-tools-preview" # used with `cargo-pgo`
];
rust-targets = ["wasm32-unknown-unknown"];
bevy-deps = with pkgs; [
udev
alsa-lib
vulkan-loader
xorg.libX11
xorg.libXcursor
xorg.libXi
xorg.libXrandr
libxkbcommon
wayland
egl-wayland
# wgsl-analyzer-pkgs.wgsl_analyzer
# wgsl_analyzer.packages.${system}
# wgsl_analyzer.outputs.packages.${system}.default
];
# wgsl-analyzer-pkgs = import inputs.wgsl_analyzer {inherit system;};
cargo-subcommands = with pkgs; [
cargo-bloat
cargo-expand
cargo-outdated
cargo-show-asm
cargo-make
cargo-modules
cargo-nextest
cargo-rr
cargo-udeps
cargo-watch
cargo-wizard
cargo-pgo
# cargo-tree

# # cargo-profiler
# # cargo-feature
];
rust-deps = with pkgs;
[
# rustup
taplo # TOML formatter and LSP
bacon
mold # A Modern Linker
clang # For linking
gdb # debugger
# lldb # debugger
rr # time-traveling debugger
]
++ cargo-subcommands;
in
with pkgs; {
formatter.${system} = pkgs.alejandra;
devShells.default = pkgs.mkShell rec {
nativeBuildInputs = with pkgs; [
pkgs.pkg-config
];
buildInputs =
[
# (rust-bin.stable.latest.default.override
# {
# extensions = rust-extensions;
# targets = rust-targets;
# })
# (rust-bin.beta.latest.default.override {
# extensions = ["rust-src" "rust-analyzer"];
# })
(
rust-bin.selectLatestNightlyWith (toolchain:
toolchain.default.override {
extensions =
rust-extensions
++ [
"rustc-codegen-cranelift-preview"
];
targets = ["wasm32-unknown-unknown"];
})
)
just
gh
]
++ rust-deps ++ bevy-deps;

LD_LIBRARY_PATH = lib.makeLibraryPath buildInputs;
};
});
}
Loading