Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
7ef91f6
pointlio native module: mirror fastlio2 module (PointLio class, point…
jeff-hykin Jun 3, 2026
2b31c91
pointlio native: define ROOT_DIR for the laserMapping debug paths
jeff-hykin Jun 3, 2026
0500790
pointlio native: lock fast-lio input to built pointlio rev (pointlio_…
jeff-hykin Jun 3, 2026
a14bae8
pointlio native: point fast-lio input at github remote (was macOS-onl…
jeff-hykin Jun 4, 2026
8d98e13
pointlio native: add mid360-pointlio blueprints
jeff-hykin Jun 4, 2026
f8a6b65
pointlio native: replay harness, deterministic clock, pcap tooling + …
jeff-hykin Jun 5, 2026
fa6325d
pointlio native: consume fast-lio from github instead of local path
jeff-hykin Jun 5, 2026
89151a7
pointlio_native: fix replay thread race + iVox glog dep + master-fait…
jeff-hykin Jun 11, 2026
b35d0f2
pointlio_native: pin fast-lio to local path so production nix build c…
jeff-hykin Jun 11, 2026
4303fd6
pointlio_native: repoint fast-lio at pushed github pointlio (02d5066)
jeff-hykin Jun 11, 2026
360133c
pointlio: pcap_to_db time-aligns pointlio_lidar + odometry into a db,…
jeff-hykin Jun 12, 2026
21cb8f2
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin Jun 13, 2026
01d8872
pointlio: single default.yaml config; drop extra sensor presets + dem…
jeff-hykin Jun 13, 2026
7ee3308
pointlio: pcap_to_db builds a db from scratch; keep recorder out of r…
jeff-hykin Jun 13, 2026
a472d25
pointlio: document lidar_type enum + link Livox CustomMsg in default.…
jeff-hykin Jun 13, 2026
3b5f988
pointlio: one default.yaml (strip ROS-only keys, note mid360 params);…
jeff-hykin Jun 13, 2026
c53c73a
pointlio: add ruwik2_part3 divergence sample to LFS; fix from-scratch…
jeff-hykin Jun 13, 2026
d48a945
pointlio: pcap_to_db docstring uses nested get_data for the ruwik2_pa…
jeff-hykin Jun 13, 2026
c062727
pointlio: address greptile review — fix stale fastlio docstring; ts=0…
jeff-hykin Jun 13, 2026
22d9ec0
feat(virtual_mid360): Rust native module — pcap replay over a virtual…
jeff-hykin Jun 13, 2026
0504aae
feat(pointlio): publish body-frame cloud, split frame_ids, remove glo…
jeff-hykin Jun 13, 2026
333ece4
merge: bring virtual_mid360 rust module into pointlio branch
jeff-hykin Jun 13, 2026
8bb723b
feat(virtual_mid360): Python NativeModule wrapper for blueprints
jeff-hykin Jun 13, 2026
32757d6
feat(virtual_mid360): add demo_virtual_mid360_pointlio blueprint + re…
jeff-hykin Jun 13, 2026
4570885
fix(virtual_mid360): don't fetch LFS pcap at blueprint import
jeff-hykin Jun 13, 2026
3aff05f
fastlio2: offline pcap replay + pcap_to_db tool (mirror pointlio)
jeff-hykin Jun 13, 2026
6dbb391
fastlio2: pcap_to_db builds a db from scratch + privatize recorder
jeff-hykin Jun 13, 2026
24c19fa
fastlio2: set mid360 acc_cov=0.5 to bound velocity divergence
jeff-hykin Jun 13, 2026
8d9a461
lidar: split recording — standalone LivoxPcapRecorder + ts-rewriting …
jeff-hykin Jun 13, 2026
1088fe3
fastlio2: rip out the global_map output (Python)
jeff-hykin Jun 13, 2026
c64047d
fastlio2: rip out the global_map output (C++)
jeff-hykin Jun 13, 2026
4725bcb
fastlio2: bump mid360 acc_cov 0.5 -> 1.0 for reliable bounding
jeff-hykin Jun 14, 2026
9bb8315
refactor(pointlio): remove in-process pcap replay; use virtual_mid360…
jeff-hykin Jun 15, 2026
a24e29f
feat(pointlio): new pcap_to_db driven by the rust virtual_mid360 replay
jeff-hykin Jun 15, 2026
05aa9d9
refactor(pointlio): drop mount/init_pose offset — publish in the sens…
jeff-hykin Jun 15, 2026
e741ad8
virtual_mid360: over-the-wire pcap replay for fastlio (live SDK path)
jeff-hykin Jun 15, 2026
1c42128
fastlio2: remove the in-process pcap replay subsystem
jeff-hykin Jun 15, 2026
7bf679e
feat(virtual_mid360): make point/IMU multicast group configurable
jeff-hykin Jun 15, 2026
1118f23
pcap_to_db: orchestrate virtual_mid360 behind the --pcap interface
jeff-hykin Jun 15, 2026
b266301
chore(pointlio): trim verbose comments; fix two stale ones
jeff-hykin Jun 15, 2026
d7ffc6f
feat(virtual_mid360): read demo blueprint pcap from VIRTUAL_MID360_PC…
jeff-hykin Jun 15, 2026
0f48de5
refactor(virtual_mid360): require lidar_ip/host_ip/lidar_netns (not L…
jeff-hykin Jun 15, 2026
5f27cfd
feat(virtual_mid360): tcpdump pcap recorder for raw Livox Mid-360 UDP
jeff-hykin Jun 15, 2026
3d077c4
fix(virtual_mid360): kill tcpdump via unconfined label when AppArmor …
jeff-hykin Jun 15, 2026
d987f87
mid360 recorder: scream loudly + narrow sudoers hint when tcpdump kil…
jeff-hykin Jun 15, 2026
ab4c19d
mid360 recorder: include long-term sudoers fix in the bash reaper's f…
jeff-hykin Jun 15, 2026
8376809
virtual_mid360: drop verbose default fn + rename single-char vars
jeff-hykin Jun 15, 2026
344560c
pointlio/timing: replace single-letter var names with meaningful ones
jeff-hykin Jun 15, 2026
bea9ec8
virtual_mid360: pull pointlio's latest + fix replay stop logic
jeff-hykin Jun 15, 2026
90079f3
virtual_mid360: drop stale handshake TODOs
jeff-hykin Jun 15, 2026
ec184cb
pointlio: fix FAST-LIO mislabels in prose/logs (module is Point-LIO)
jeff-hykin Jun 15, 2026
2e7c755
pointlio cpp: drop timing.hpp, rename FastLio->PointLio, body frame i…
jeff-hykin Jun 15, 2026
6fb4b09
pointlio: review fixes + required network IPs + frame-id rename
jeff-hykin Jun 15, 2026
4eadca8
pointlio cpp: bump fast-lio flake to 36a3eef (PointLio class rename)
jeff-hykin Jun 15, 2026
2a0f51c
pointlio: TF timestamp = odometry ts exactly (drop falsy-0.0 wall-clo…
jeff-hykin Jun 15, 2026
948c3f5
virtual_mid360: give terse rust names meaningful ones
jeff-hykin Jun 15, 2026
b4a455b
virtual_mid360/pcap_to_db: condense verbose comments
jeff-hykin Jun 15, 2026
76743e0
pointlio cpp: forward Point-LIO velocity in odometry twist (was zeroed)
jeff-hykin Jun 15, 2026
5fdaf56
virtual_mid360 demo: take addresses from env vars, no hardcoded IPs
jeff-hykin Jun 15, 2026
3ec490d
pointlio/virtual_mid360: strip remaining verbose/useless comments
jeff-hykin Jun 15, 2026
e06c29f
virtual_mid360: default Config from VIRTUAL_MID360_* env vars; slim t…
jeff-hykin Jun 15, 2026
95383f8
virtual_mid360: rename env vars VIRTUAL_MID360_* -> DIMOS_MID360_*
jeff-hykin Jun 15, 2026
0dd0071
pointlio: make host_ip fully optional (derive from lidar_ip's subnet)
jeff-hykin Jun 15, 2026
1f21def
clean
jeff-hykin Jun 15, 2026
9a12a30
-
jeff-hykin Jun 15, 2026
6f70e29
pointlio cpp: bump fast-lio pin to 46b1a9e (macOS libc++/apple-sdk-26…
jeff-hykin Jun 15, 2026
d234536
virtual_mid360: re-lock dimos-repo to repo root (stale 4-level path →…
jeff-hykin Jun 15, 2026
12c4d13
Merge branch 'jeff/feat/pointlio_native' of github.com:dimensionalOS/…
jeff-hykin Jun 15, 2026
be4c1f8
pcap_to_db: make netns opt-in; default to no-netns aliases on one host
jeff-hykin Jun 15, 2026
460168c
pointlio: human-readable filter config + raw_cloud bypass; expose pre…
jeff-hykin Jun 15, 2026
3a8fc55
pointlio cpp: unwrap multi-line printf/statements onto single lines
jeff-hykin Jun 15, 2026
e2a4d85
pointlio: drop last fastlio names (pointlio_debug + pointlio.hpp head…
jeff-hykin Jun 15, 2026
7ee0c31
pointlio module.py: tighten verbose config/comment lines
jeff-hykin Jun 15, 2026
226a330
-
jeff-hykin Jun 15, 2026
1e7bf28
pointlio cpp: fix statements swallowed into trailing // comments (P0)
jeff-hykin Jun 15, 2026
c4fa47b
pointlio cpp: uninit Livox SDK before clearing globals (fix shutdown …
jeff-hykin Jun 15, 2026
d7aa546
-
jeff-hykin Jun 15, 2026
7f49b00
Merge branch 'jeff/feat/pointlio_native' of github.com:dimensionalOS/…
jeff-hykin Jun 15, 2026
c35dd76
virtual_mid360: pull pointlio's latest (env-var config defaults, nami…
jeff-hykin Jun 15, 2026
b245098
rename LFS sample ruwik2_part3 -> mid360_shake_stairs
jeff-hykin Jun 15, 2026
c64c2ba
pointlio: rip out output-cloud downsampling + denoising
jeff-hykin Jun 15, 2026
773d02c
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin Jun 15, 2026
de3b32f
fastlio2: rip out output-cloud downsampling + denoising (mirror point…
jeff-hykin Jun 15, 2026
6f33458
fastlio2: uninit Livox SDK before clearing globals (fix shutdown null…
jeff-hykin Jun 15, 2026
f91f4e9
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin Jun 16, 2026
fc682b3
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin Jun 16, 2026
24cb75a
fastlio2: trim verbose comments across the recorder files
jeff-hykin Jun 16, 2026
d6d979f
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin Jun 16, 2026
45bffc3
fastlio2: condense verbose acc_cov / filter_size comments in mid360.yaml
jeff-hykin Jun 16, 2026
bf858c4
fastlio2: remove mount/init_pose machinery + timing.hpp (mirror point…
jeff-hykin Jun 16, 2026
94cf54f
fastlio2: drop // ---- section banners (mirror pointlio's single-line…
jeff-hykin Jun 16, 2026
aca9e56
fastlio2: tighten the last multi-line pcap_to_db stop-logic comment
jeff-hykin Jun 16, 2026
0f7be3a
merge
jeff-hykin Jun 17, 2026
2fbdb79
virtual_mid360: use tracing::error! instead of eprintln! for startup …
jeff-hykin Jun 17, 2026
6d0833a
virtual_mid360 recorder: default lidar_ip from DIMOS_MID360_LIDAR_IP …
jeff-hykin Jun 17, 2026
8b4c130
livox Mid360: honor DIMOS_MID360_LIDAR_IP env for lidar_ip (fallback …
jeff-hykin Jun 17, 2026
ca9d276
livox: share host_ip auto-detect between Mid360 driver and Point-LIO
jeff-hykin Jun 17, 2026
e9f8096
livox Mid360: host_ip defaults to None (machine-specific, auto-detect…
jeff-hykin Jun 17, 2026
027f214
clean
jeff-hykin Jun 17, 2026
28b01f8
fix pre-existing mypy 3.10 errors (Unpack import, numpy no-any-return)
jeff-hykin Jun 17, 2026
f31b1c8
feat(pointlio): pcap_to_db --config (pwd-relative) + --odom/lidar-str…
jeff-hykin Jun 17, 2026
9c4724f
cleanup
jeff-hykin Jun 17, 2026
a5256e9
macos fixes
jeff-hykin Jun 17, 2026
b4109a1
macos fix
jeff-hykin Jun 17, 2026
4d3f1c1
fix(pointlio): pcap_to_db doc paths + self-terminate on lidar-stream …
jeff-hykin Jun 17, 2026
723d6fa
fix(virtual_mid360): derive Serialize on Config for NativeConfig bound
jeff-hykin Jun 17, 2026
0953506
fix(pointlio): serialize Point-LIO EKF access across IMU + main threads
jeff-hykin Jun 17, 2026
da415cd
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin Jun 17, 2026
4d3c79d
fix(virtual_mid360): use #[native_config] for Config (main dimos-modu…
jeff-hykin Jun 17, 2026
1ad8031
Merge remote-tracking branch 'origin/main' into jeff/feat/fastlio_rec…
jeff-hykin Jun 17, 2026
ec5594d
feat(pointlio): pcap_to_db writes a <db>.rrd quick-look
jeff-hykin Jun 17, 2026
35a8ad9
feat(map): map global registers clouds by per-frame pose; --go2 for o…
jeff-hykin Jun 17, 2026
55099fc
fastlio2: mirror pointlio's virtual_mid360 evolution (self-provision …
jeff-hykin Jun 17, 2026
c458de8
fix(pointlio): use z.max()-z.min() not np.ptp in pcap_to_db .rrd grad…
jeff-hykin Jun 17, 2026
39cf383
fastlio2: make host_ip/lidar_ip optional + env-driven (mirror pointlio)
jeff-hykin Jun 17, 2026
3fb1a54
feat(pointlio): recorder stamps lidar poses; pcap_to_db auto-stops by…
jeff-hykin Jun 17, 2026
4b22007
Revert "fix pre-existing mypy 3.10 errors (Unpack import, numpy no-an…
jeff-hykin Jun 17, 2026
62e71b7
Merge branch 'jeff/feat/pointlio_native' into jeff/feat/fastlio_record2
jeff-hykin Jun 18, 2026
721a290
fastlio2: move config from YAML files to FastLio2Config (literal-unio…
jeff-hykin Jun 18, 2026
e17e6b1
fastlio2 pcap_to_db: mirror pointlio rrd + span auto-stop; get_data d…
jeff-hykin Jun 18, 2026
9faea3b
fastlio2/pointlio: recorders inherit memory2 Recorder, override pose …
jeff-hykin Jun 18, 2026
c995b0a
fastlio2: fov_degree is an int in the generated YAML
jeff-hykin Jun 18, 2026
86d8f68
Merge remote-tracking branch 'origin/main' into jeff/feat/fastlio_rec…
jeff-hykin Jun 18, 2026
f2aeab4
pointlio: move config from default.yaml to PointLioConfig (literal-un…
jeff-hykin Jun 18, 2026
9b38016
memory2: add TfRecorder; fastlio/pointlio recorders inherit it via @p…
jeff-hykin Jun 18, 2026
9335298
fastlio2: publish sensor/body-frame lidar (get_body_cloud), like poin…
jeff-hykin Jun 18, 2026
b2eb4c7
fastlio2: reference dimos-module-fastlio2 body-cloud branch (drop fla…
jeff-hykin Jun 18, 2026
f5ca33f
fastlio2/pointlio: code-review cleanup
jeff-hykin Jun 18, 2026
e2ae0b8
fastlio2: honor filter_size + publish flags; drop virtual_now()
jeff-hykin Jun 18, 2026
ffd8628
fastlio2: remove scan_bodyframe_pub_en (always publish sensor/body fr…
jeff-hykin Jun 18, 2026
e5621fb
fastlio2 pcap_to_db: open the .rrd in rerun + get_data fallback for -…
jeff-hykin Jun 18, 2026
9f13b16
blueprints: use default FastLio2 config in nav; stash FlowBase mid360…
jeff-hykin Jun 18, 2026
244954f
fastlio2 pcap_to_db: FastLio2 tuning as direct CLI flags
jeff-hykin Jun 18, 2026
6bcaaa3
fastlio2: no YAML — pass FAST-LIO params as plain CLI args
jeff-hykin Jun 18, 2026
5e88c54
fastlio2 main.cpp: python-style formatting (de-align = and comments)
jeff-hykin Jun 18, 2026
d35224a
fastlio2 main.cpp: inline run_main_iter into the main loop
jeff-hykin Jun 18, 2026
404d604
fastlio2 main.cpp: run_main_iter as a free function (time as arg, not…
jeff-hykin Jun 18, 2026
fa1ee7b
fastlio2/pointlio recorders: record at msg.ts; drop ts-alignment mach…
jeff-hykin Jun 18, 2026
eb7891e
fastlio2: delete cpp/README.md; fix stale 'rendered to YAML' comment
jeff-hykin Jun 18, 2026
a2aa3ce
fastlio2: reword acc_cov comment (no jhist/go2 references)
jeff-hykin Jun 18, 2026
e30afd9
fastlio2/pointlio recorders: drop the force flag; always replace own …
jeff-hykin Jun 18, 2026
2eb1ac4
fastlio2/pointlio recorders: rename via ports + .remappings, drop _st…
jeff-hykin Jun 18, 2026
9183d7e
memory2: fold TfRecorder into base Recorder (all Recorders record tf)
jeff-hykin Jun 18, 2026
0ab7ab1
pointlio: drop YAML config, pass tuning as plain CLI args
jeff-hykin Jun 18, 2026
fba90db
memory2: add Recorder.stream_remapping config for per-stream renames
jeff-hykin Jun 18, 2026
43d25f5
fastlio/pointlio: consistent frame_id scheme, stamp cloud with sensor…
jeff-hykin Jun 18, 2026
33c7041
fastlio/pointlio: default sensor_frame_id to mid360_link
jeff-hykin Jun 18, 2026
c76339d
memory2/recorders: fix APPEND re-run duplicating tf + ignoring stream…
jeff-hykin Jun 18, 2026
1e3e9b1
fastlio main.cpp: match pointlio formatting; inline get_publish_ts + …
jeff-hykin Jun 18, 2026
c5a6ab9
memory2: fix mypy no-any-return in Recorder._resolve_pose
jeff-hykin Jun 18, 2026
0260030
pointlio: revert module to origin/main (keep PR #2498 fastlio-only)
jeff-hykin Jun 18, 2026
691a24a
Merge branch 'main' into jeff/feat/fastlio_record2
jeff-hykin Jun 20, 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
9 changes: 0 additions & 9 deletions dimos/control/blueprints/mobile.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,6 @@
from dimos.control.coordinator import ControlCoordinator, TaskConfig
from dimos.core.coordination.blueprints import autoconnect
from dimos.hardware.sensors.lidar.fastlio2.module import FastLio2
from dimos.msgs.geometry_msgs.Pose import Pose
from dimos.msgs.geometry_msgs.Quaternion import Quaternion
from dimos.msgs.geometry_msgs.Vector3 import Vector3
from dimos.navigation.movement_manager.movement_manager import MovementManager
from dimos.navigation.nav_stack.main import create_nav_stack, nav_stack_rerun_config
from dimos.robot.catalog.ufactory import xarm7 as _catalog_xarm7
Expand Down Expand Up @@ -120,16 +117,11 @@ def _flowbase_twist_base(
# FlowBase + Livox MID-360 + FastLio2 SLAM + nav stack with click-to-drive in Rerun. The velocity
# sink is ControlCoordinator + FlowBaseAdapter

_flowbase_mid360_mount = Pose(0.20, -0.20, 0.10, *Quaternion.from_euler(Vector3(0, 0, 0)))

coordinator_flowbase_nav = (
autoconnect(
FastLio2.blueprint(
host_ip=os.getenv("LIDAR_HOST_IP", "192.168.1.5"),
lidar_ip=os.getenv("LIDAR_IP", "192.168.1.189"),
mount=_flowbase_mid360_mount,
map_freq=1.0,
config="default.yaml",
),
create_nav_stack(
planner="simple",
Expand Down Expand Up @@ -181,7 +173,6 @@ def _flowbase_twist_base(
.remappings(
[
(FastLio2, "lidar", "registered_scan"),
(FastLio2, "global_map", "global_map_fastlio"),
# SimplePlanner / FarPlanner owns way_point — disconnect MovementManager's
# redundant pass-through copy (matches unitree-g1-nav-onboard).
(MovementManager, "way_point", "_mgr_way_point_unused"),
Expand Down
22 changes: 22 additions & 0 deletions dimos/hardware/drive_trains/flowbase/config.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2026 Dimensional Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""FlowBase platform constants."""

from dimos.msgs.geometry_msgs.Pose import Pose
from dimos.msgs.geometry_msgs.Quaternion import Quaternion
from dimos.msgs.geometry_msgs.Vector3 import Vector3

# Mid-360 mount pose on the FlowBase (position + orientation) in the base frame.
FLOWBASE_MID360_MOUNT = Pose(0.20, -0.20, 0.10, *Quaternion.from_euler(Vector3(0, 0, 0)))
Comment thread
jeff-hykin marked this conversation as resolved.
35 changes: 0 additions & 35 deletions dimos/hardware/sensors/lidar/fastlio2/config/avia.yaml

This file was deleted.

33 changes: 0 additions & 33 deletions dimos/hardware/sensors/lidar/fastlio2/config/default.yaml

This file was deleted.

35 changes: 0 additions & 35 deletions dimos/hardware/sensors/lidar/fastlio2/config/horizon.yaml

This file was deleted.

35 changes: 0 additions & 35 deletions dimos/hardware/sensors/lidar/fastlio2/config/marsim.yaml

This file was deleted.

42 changes: 0 additions & 42 deletions dimos/hardware/sensors/lidar/fastlio2/config/mid360.yaml

This file was deleted.

36 changes: 0 additions & 36 deletions dimos/hardware/sensors/lidar/fastlio2/config/ouster64.yaml

This file was deleted.

37 changes: 0 additions & 37 deletions dimos/hardware/sensors/lidar/fastlio2/config/velodyne.yaml

This file was deleted.

4 changes: 0 additions & 4 deletions dimos/hardware/sensors/lidar/fastlio2/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,6 @@ find_package(Eigen3 REQUIRED)
# PCL (only components we need — avoid full PCL which drags in VTK via io)
find_package(PCL 1.8 REQUIRED COMPONENTS common filters)

# yaml-cpp (FAST-LIO config parsing — standard YAML format)
find_package(yaml-cpp REQUIRED)

# Livox SDK2 (from nix or /usr/local fallback)
find_library(LIVOX_SDK livox_lidar_sdk_shared)
if(NOT LIVOX_SDK)
Expand Down Expand Up @@ -96,7 +93,6 @@ target_link_libraries(fastlio2_native PRIVATE
${LCM_LIBRARIES}
${LIVOX_SDK}
${PCL_LIBRARIES}
yaml-cpp::yaml-cpp
)

if(OpenMP_CXX_FOUND)
Expand Down
Loading
Loading