Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
c4bb67c
Start at goalside node
aclauer Jun 5, 2026
188da79
String pulling
aclauer Jun 5, 2026
7d489a2
Trim
aclauer Jun 5, 2026
39794f9
Timing and visualization
aclauer Jun 5, 2026
2fbfa6d
Incremental maps
aclauer Jun 6, 2026
b3da827
Clean up
aclauer Jun 6, 2026
9b3198a
Clean up
aclauer Jun 6, 2026
681f04d
Safety boundaries
aclauer Jun 9, 2026
a4b134f
Make tests pass
aclauer Jun 12, 2026
255d6dd
Incremental builds
aclauer Jun 12, 2026
f226179
Fixes
aclauer Jun 12, 2026
aa16c5d
Parallel ray trace
aclauer Jun 12, 2026
ab89ea3
More generous starts
aclauer Jun 12, 2026
469bf59
Consolidate logic
aclauer Jun 12, 2026
8b36969
Separate publish rates for maps and remove timing
aclauer Jun 12, 2026
0d16a72
Bring back check
aclauer Jun 12, 2026
c7788ca
Local map bug fix
aclauer Jun 12, 2026
86aa7c3
Logging
aclauer Jun 12, 2026
c21be70
Kronk nav
aclauer Jun 11, 2026
bf44130
Config
aclauer Jun 11, 2026
3705e19
Transform
aclauer Jun 11, 2026
510cafe
Increase search radius
aclauer Jun 11, 2026
c9872e8
Fix
aclauer Jun 11, 2026
0d83ed6
Tuning
aclauer Jun 12, 2026
b065e8c
Fixes
aclauer Jun 12, 2026
f489214
Incremental builds
aclauer Jun 12, 2026
748fd4a
Correct unintuitive code
aclauer Jun 12, 2026
62a4f6a
Fix registry order and rerun config typing
aclauer Jun 13, 2026
5bc1999
Remove tests for code that will be deleted
aclauer Jun 13, 2026
ac06ea4
Toggle go2 lidar and camera plus config
aclauer Jun 13, 2026
2c94cd4
Better follower
aclauer Jun 13, 2026
273ffa5
Replan
aclauer Jun 13, 2026
3af48f6
Fix
aclauer Jun 13, 2026
f9271eb
Fix
aclauer Jun 15, 2026
0076e98
Debug timing logging
aclauer Jun 15, 2026
89ed5f2
Fix
aclauer Jun 15, 2026
5f564a1
Downsample
aclauer Jun 15, 2026
2bf3c82
Fix
aclauer Jun 15, 2026
92bd67b
Remove bad code
aclauer Jun 15, 2026
cadcf7c
Replan time logging
aclauer Jun 15, 2026
773a810
Replan on map updates
aclauer Jun 15, 2026
edc770e
Reduce emissions
aclauer Jun 15, 2026
defce96
Worker thread
aclauer Jun 16, 2026
e45d0d3
Vis throttle
aclauer Jun 16, 2026
6865fe9
Adjust fields
aclauer Jun 17, 2026
0f6e87d
Better plans
aclauer Jun 17, 2026
383bf60
Better turns
aclauer Jun 17, 2026
5362249
Tuning
aclauer Jun 17, 2026
67e24e7
Debug
aclauer Jun 17, 2026
68a02fd
WIP sport mode
aclauer Jun 17, 2026
13294b5
Aggressive settings
aclauer Jun 17, 2026
70ae32e
Better safety configs and multi run
aclauer Jun 17, 2026
c3df161
Improved follower
aclauer Jun 17, 2026
2f532e1
FastLIO config change
aclauer Jun 18, 2026
2443b88
Refactor morphological operations
aclauer Jun 18, 2026
251dee4
More configs
aclauer Jun 18, 2026
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
3 changes: 3 additions & 0 deletions dimos/core/global_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ class GlobalConfig(BaseSettings):
env_file=".env",
env_file_encoding="utf-8",
extra="ignore",
# Coerce on assignment so string overrides from the CLI (-o g.field=val)
# and env become real typed values instead of raw strings.
validate_assignment=True,
)

def update(self, **kwargs: object) -> None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"blind": 1
},
"mapping": {
"acc_cov": 0.1,
"acc_cov": 1.0,
"gyr_cov": 0.1,
"b_acc_cov": 0.0001,
"b_gyr_cov": 0.0001,
Expand Down
17 changes: 16 additions & 1 deletion dimos/mapping/ray_tracing/module.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

from dimos.core.native_module import NativeModule, NativeModuleConfig
from dimos.core.stream import In, Out
from dimos.msgs.geometry_msgs.PoseStamped import PoseStamped
from dimos.msgs.nav_msgs.Odometry import Odometry
from dimos.msgs.sensor_msgs.PointCloud2 import PointCloud2
from dimos.spec import mapping
Expand Down Expand Up @@ -47,17 +48,31 @@ class RayTracingVoxelMapConfig(NativeModuleConfig):
graze_cos: float = 0.7
# Only spare a voxel whose neighborhood was hit within this many frames.
recency_window: int = 15
# Integrate every frame, publish the local map and region bounds every
# Nth frame. Zero disables them.
emit_every: int = 1
# Publish the global map every Nth frame. Zero disables it.
global_emit_every: int = 1
# Size the local region to this percentile of batch point distances,
# so a stray far hit cannot inflate the region the planner recomputes.
region_percentile: float = 95.0


class RayTracingVoxelMap(NativeModule, mapping.GlobalPointcloud):
"""Rust voxel-map module with raycast clearing of dynamic objects."""
"""Rust voxel-map module with raycast clearing of dynamic objects.

region_bounds describes the cylinder local_map covers, packed into a
PoseStamped. Position holds the center. Orientation holds radius, z_min,
z_max, and zero. It shares the local_map stamp.
"""

config: RayTracingVoxelMapConfig

lidar: In[PointCloud2]
odometry: In[Odometry]
global_map: Out[PointCloud2]
local_map: Out[PointCloud2]
region_bounds: Out[PoseStamped]


# Verify protocol port compliance (mypy will flag missing ports)
Expand Down
59 changes: 59 additions & 0 deletions dimos/mapping/ray_tracing/rust/Cargo.lock

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

2 changes: 2 additions & 0 deletions dimos/mapping/ray_tracing/rust/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ lcm-msgs = { git = "https://github.com/dimensionalOS/dimos-lcm.git", branch = "r
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal"] }
serde = { version = "1", features = ["derive"] }
ahash = "0.8"
arrayvec = "0.7"
rayon = "1"
tracing = "0.1"
pyo3 = { version = "0.25", features = ["extension-module", "abi3-py310"] }
numpy = "0.25"
Expand Down
2 changes: 1 addition & 1 deletion dimos/mapping/ray_tracing/rust/flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
cargoRoot = "dimos/mapping/ray_tracing/rust";
buildAndTestSubdir = "dimos/mapping/ray_tracing/rust";

cargoHash = "sha256-g30NaoLdtWT5YBsEnE4Xv+EMnI5HHFtZAUtdEL/VbKQ=";
cargoHash = "sha256-0d0dlNDvDplA7oWTyUWOCOlS74Zie8uMQ+ps6lXntOI=";

meta.mainProgram = "voxel_ray_tracing";
};
Expand Down
Loading
Loading