-
Notifications
You must be signed in to change notification settings - Fork 705
FAST-LIO pcap record/replay + Virtual Livox #2498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
jeff-hykin
wants to merge
152
commits into
main
Choose a base branch
from
jeff/feat/fastlio_record2
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
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 2b31c91
pointlio native: define ROOT_DIR for the laserMapping debug paths
jeff-hykin 0500790
pointlio native: lock fast-lio input to built pointlio rev (pointlio_…
jeff-hykin a14bae8
pointlio native: point fast-lio input at github remote (was macOS-onl…
jeff-hykin 8d98e13
pointlio native: add mid360-pointlio blueprints
jeff-hykin f8a6b65
pointlio native: replay harness, deterministic clock, pcap tooling + …
jeff-hykin fa6325d
pointlio native: consume fast-lio from github instead of local path
jeff-hykin 89151a7
pointlio_native: fix replay thread race + iVox glog dep + master-fait…
jeff-hykin b35d0f2
pointlio_native: pin fast-lio to local path so production nix build c…
jeff-hykin 4303fd6
pointlio_native: repoint fast-lio at pushed github pointlio (02d5066)
jeff-hykin 360133c
pointlio: pcap_to_db time-aligns pointlio_lidar + odometry into a db,…
jeff-hykin 21cb8f2
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin 01d8872
pointlio: single default.yaml config; drop extra sensor presets + dem…
jeff-hykin 7ee3308
pointlio: pcap_to_db builds a db from scratch; keep recorder out of r…
jeff-hykin a472d25
pointlio: document lidar_type enum + link Livox CustomMsg in default.…
jeff-hykin 3b5f988
pointlio: one default.yaml (strip ROS-only keys, note mid360 params);…
jeff-hykin c53c73a
pointlio: add ruwik2_part3 divergence sample to LFS; fix from-scratch…
jeff-hykin d48a945
pointlio: pcap_to_db docstring uses nested get_data for the ruwik2_pa…
jeff-hykin c062727
pointlio: address greptile review — fix stale fastlio docstring; ts=0…
jeff-hykin 22d9ec0
feat(virtual_mid360): Rust native module — pcap replay over a virtual…
jeff-hykin 0504aae
feat(pointlio): publish body-frame cloud, split frame_ids, remove glo…
jeff-hykin 333ece4
merge: bring virtual_mid360 rust module into pointlio branch
jeff-hykin 8bb723b
feat(virtual_mid360): Python NativeModule wrapper for blueprints
jeff-hykin 32757d6
feat(virtual_mid360): add demo_virtual_mid360_pointlio blueprint + re…
jeff-hykin 4570885
fix(virtual_mid360): don't fetch LFS pcap at blueprint import
jeff-hykin 3aff05f
fastlio2: offline pcap replay + pcap_to_db tool (mirror pointlio)
jeff-hykin 6dbb391
fastlio2: pcap_to_db builds a db from scratch + privatize recorder
jeff-hykin 24c19fa
fastlio2: set mid360 acc_cov=0.5 to bound velocity divergence
jeff-hykin 8d9a461
lidar: split recording — standalone LivoxPcapRecorder + ts-rewriting …
jeff-hykin 1088fe3
fastlio2: rip out the global_map output (Python)
jeff-hykin c64047d
fastlio2: rip out the global_map output (C++)
jeff-hykin 4725bcb
fastlio2: bump mid360 acc_cov 0.5 -> 1.0 for reliable bounding
jeff-hykin 9bb8315
refactor(pointlio): remove in-process pcap replay; use virtual_mid360…
jeff-hykin a24e29f
feat(pointlio): new pcap_to_db driven by the rust virtual_mid360 replay
jeff-hykin 05aa9d9
refactor(pointlio): drop mount/init_pose offset — publish in the sens…
jeff-hykin e741ad8
virtual_mid360: over-the-wire pcap replay for fastlio (live SDK path)
jeff-hykin 1c42128
fastlio2: remove the in-process pcap replay subsystem
jeff-hykin 7bf679e
feat(virtual_mid360): make point/IMU multicast group configurable
jeff-hykin 1118f23
pcap_to_db: orchestrate virtual_mid360 behind the --pcap interface
jeff-hykin b266301
chore(pointlio): trim verbose comments; fix two stale ones
jeff-hykin d7ffc6f
feat(virtual_mid360): read demo blueprint pcap from VIRTUAL_MID360_PC…
jeff-hykin 0f48de5
refactor(virtual_mid360): require lidar_ip/host_ip/lidar_netns (not L…
jeff-hykin 5f27cfd
feat(virtual_mid360): tcpdump pcap recorder for raw Livox Mid-360 UDP
jeff-hykin 3d077c4
fix(virtual_mid360): kill tcpdump via unconfined label when AppArmor …
jeff-hykin d987f87
mid360 recorder: scream loudly + narrow sudoers hint when tcpdump kil…
jeff-hykin ab4c19d
mid360 recorder: include long-term sudoers fix in the bash reaper's f…
jeff-hykin 8376809
virtual_mid360: drop verbose default fn + rename single-char vars
jeff-hykin 344560c
pointlio/timing: replace single-letter var names with meaningful ones
jeff-hykin bea9ec8
virtual_mid360: pull pointlio's latest + fix replay stop logic
jeff-hykin 90079f3
virtual_mid360: drop stale handshake TODOs
jeff-hykin ec184cb
pointlio: fix FAST-LIO mislabels in prose/logs (module is Point-LIO)
jeff-hykin 2e7c755
pointlio cpp: drop timing.hpp, rename FastLio->PointLio, body frame i…
jeff-hykin 6fb4b09
pointlio: review fixes + required network IPs + frame-id rename
jeff-hykin 4eadca8
pointlio cpp: bump fast-lio flake to 36a3eef (PointLio class rename)
jeff-hykin 2a0f51c
pointlio: TF timestamp = odometry ts exactly (drop falsy-0.0 wall-clo…
jeff-hykin 948c3f5
virtual_mid360: give terse rust names meaningful ones
jeff-hykin b4a455b
virtual_mid360/pcap_to_db: condense verbose comments
jeff-hykin 76743e0
pointlio cpp: forward Point-LIO velocity in odometry twist (was zeroed)
jeff-hykin 5fdaf56
virtual_mid360 demo: take addresses from env vars, no hardcoded IPs
jeff-hykin 3ec490d
pointlio/virtual_mid360: strip remaining verbose/useless comments
jeff-hykin e06c29f
virtual_mid360: default Config from VIRTUAL_MID360_* env vars; slim t…
jeff-hykin 95383f8
virtual_mid360: rename env vars VIRTUAL_MID360_* -> DIMOS_MID360_*
jeff-hykin 0dd0071
pointlio: make host_ip fully optional (derive from lidar_ip's subnet)
jeff-hykin 1f21def
clean
jeff-hykin 9a12a30
-
jeff-hykin 6f70e29
pointlio cpp: bump fast-lio pin to 46b1a9e (macOS libc++/apple-sdk-26…
jeff-hykin d234536
virtual_mid360: re-lock dimos-repo to repo root (stale 4-level path →…
jeff-hykin 12c4d13
Merge branch 'jeff/feat/pointlio_native' of github.com:dimensionalOS/…
jeff-hykin be4c1f8
pcap_to_db: make netns opt-in; default to no-netns aliases on one host
jeff-hykin 460168c
pointlio: human-readable filter config + raw_cloud bypass; expose pre…
jeff-hykin 3a8fc55
pointlio cpp: unwrap multi-line printf/statements onto single lines
jeff-hykin e2a4d85
pointlio: drop last fastlio names (pointlio_debug + pointlio.hpp head…
jeff-hykin 7ee0c31
pointlio module.py: tighten verbose config/comment lines
jeff-hykin 226a330
-
jeff-hykin 1e7bf28
pointlio cpp: fix statements swallowed into trailing // comments (P0)
jeff-hykin c4fa47b
pointlio cpp: uninit Livox SDK before clearing globals (fix shutdown …
jeff-hykin d7aa546
-
jeff-hykin 7f49b00
Merge branch 'jeff/feat/pointlio_native' of github.com:dimensionalOS/…
jeff-hykin c35dd76
virtual_mid360: pull pointlio's latest (env-var config defaults, nami…
jeff-hykin b245098
rename LFS sample ruwik2_part3 -> mid360_shake_stairs
jeff-hykin c64c2ba
pointlio: rip out output-cloud downsampling + denoising
jeff-hykin 773d02c
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin de3b32f
fastlio2: rip out output-cloud downsampling + denoising (mirror point…
jeff-hykin 6f33458
fastlio2: uninit Livox SDK before clearing globals (fix shutdown null…
jeff-hykin f91f4e9
Merge branch 'main' into jeff/feat/pointlio_native
jeff-hykin fc682b3
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin 24cb75a
fastlio2: trim verbose comments across the recorder files
jeff-hykin d6d979f
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin 45bffc3
fastlio2: condense verbose acc_cov / filter_size comments in mid360.yaml
jeff-hykin bf858c4
fastlio2: remove mount/init_pose machinery + timing.hpp (mirror point…
jeff-hykin 94cf54f
fastlio2: drop // ---- section banners (mirror pointlio's single-line…
jeff-hykin aca9e56
fastlio2: tighten the last multi-line pcap_to_db stop-logic comment
jeff-hykin 0f7be3a
merge
jeff-hykin 2fbdb79
virtual_mid360: use tracing::error! instead of eprintln! for startup …
jeff-hykin 6d0833a
virtual_mid360 recorder: default lidar_ip from DIMOS_MID360_LIDAR_IP …
jeff-hykin 8b4c130
livox Mid360: honor DIMOS_MID360_LIDAR_IP env for lidar_ip (fallback …
jeff-hykin ca9d276
livox: share host_ip auto-detect between Mid360 driver and Point-LIO
jeff-hykin e9f8096
livox Mid360: host_ip defaults to None (machine-specific, auto-detect…
jeff-hykin 027f214
clean
jeff-hykin 28b01f8
fix pre-existing mypy 3.10 errors (Unpack import, numpy no-any-return)
jeff-hykin f31b1c8
feat(pointlio): pcap_to_db --config (pwd-relative) + --odom/lidar-str…
jeff-hykin 9c4724f
cleanup
jeff-hykin a5256e9
macos fixes
jeff-hykin b4109a1
macos fix
jeff-hykin 4d3f1c1
fix(pointlio): pcap_to_db doc paths + self-terminate on lidar-stream …
jeff-hykin 723d6fa
fix(virtual_mid360): derive Serialize on Config for NativeConfig bound
jeff-hykin 0953506
fix(pointlio): serialize Point-LIO EKF access across IMU + main threads
jeff-hykin da415cd
Merge remote-tracking branch 'origin/main' into jeff/feat/pointlio_na…
jeff-hykin 4d3c79d
fix(virtual_mid360): use #[native_config] for Config (main dimos-modu…
jeff-hykin 1ad8031
Merge remote-tracking branch 'origin/main' into jeff/feat/fastlio_rec…
jeff-hykin ec5594d
feat(pointlio): pcap_to_db writes a <db>.rrd quick-look
jeff-hykin 35a8ad9
feat(map): map global registers clouds by per-frame pose; --go2 for o…
jeff-hykin 55099fc
fastlio2: mirror pointlio's virtual_mid360 evolution (self-provision …
jeff-hykin c458de8
fix(pointlio): use z.max()-z.min() not np.ptp in pcap_to_db .rrd grad…
jeff-hykin 39cf383
fastlio2: make host_ip/lidar_ip optional + env-driven (mirror pointlio)
jeff-hykin 3fb1a54
feat(pointlio): recorder stamps lidar poses; pcap_to_db auto-stops by…
jeff-hykin 4b22007
Revert "fix pre-existing mypy 3.10 errors (Unpack import, numpy no-an…
jeff-hykin 62e71b7
Merge branch 'jeff/feat/pointlio_native' into jeff/feat/fastlio_record2
jeff-hykin 721a290
fastlio2: move config from YAML files to FastLio2Config (literal-unio…
jeff-hykin e17e6b1
fastlio2 pcap_to_db: mirror pointlio rrd + span auto-stop; get_data d…
jeff-hykin 9faea3b
fastlio2/pointlio: recorders inherit memory2 Recorder, override pose …
jeff-hykin c995b0a
fastlio2: fov_degree is an int in the generated YAML
jeff-hykin 86d8f68
Merge remote-tracking branch 'origin/main' into jeff/feat/fastlio_rec…
jeff-hykin f2aeab4
pointlio: move config from default.yaml to PointLioConfig (literal-un…
jeff-hykin 9b38016
memory2: add TfRecorder; fastlio/pointlio recorders inherit it via @p…
jeff-hykin 9335298
fastlio2: publish sensor/body-frame lidar (get_body_cloud), like poin…
jeff-hykin b2eb4c7
fastlio2: reference dimos-module-fastlio2 body-cloud branch (drop fla…
jeff-hykin f5ca33f
fastlio2/pointlio: code-review cleanup
jeff-hykin e2ae0b8
fastlio2: honor filter_size + publish flags; drop virtual_now()
jeff-hykin ffd8628
fastlio2: remove scan_bodyframe_pub_en (always publish sensor/body fr…
jeff-hykin e5621fb
fastlio2 pcap_to_db: open the .rrd in rerun + get_data fallback for -…
jeff-hykin 9f13b16
blueprints: use default FastLio2 config in nav; stash FlowBase mid360…
jeff-hykin 244954f
fastlio2 pcap_to_db: FastLio2 tuning as direct CLI flags
jeff-hykin 6bcaaa3
fastlio2: no YAML — pass FAST-LIO params as plain CLI args
jeff-hykin 5e88c54
fastlio2 main.cpp: python-style formatting (de-align = and comments)
jeff-hykin d35224a
fastlio2 main.cpp: inline run_main_iter into the main loop
jeff-hykin 404d604
fastlio2 main.cpp: run_main_iter as a free function (time as arg, not…
jeff-hykin fa1ee7b
fastlio2/pointlio recorders: record at msg.ts; drop ts-alignment mach…
jeff-hykin eb7891e
fastlio2: delete cpp/README.md; fix stale 'rendered to YAML' comment
jeff-hykin a2aa3ce
fastlio2: reword acc_cov comment (no jhist/go2 references)
jeff-hykin e30afd9
fastlio2/pointlio recorders: drop the force flag; always replace own …
jeff-hykin 2eb1ac4
fastlio2/pointlio recorders: rename via ports + .remappings, drop _st…
jeff-hykin 9183d7e
memory2: fold TfRecorder into base Recorder (all Recorders record tf)
jeff-hykin 0ab7ab1
pointlio: drop YAML config, pass tuning as plain CLI args
jeff-hykin fba90db
memory2: add Recorder.stream_remapping config for per-stream renames
jeff-hykin 43d25f5
fastlio/pointlio: consistent frame_id scheme, stamp cloud with sensor…
jeff-hykin 33c7041
fastlio/pointlio: default sensor_frame_id to mid360_link
jeff-hykin c76339d
memory2/recorders: fix APPEND re-run duplicating tf + ignoring stream…
jeff-hykin 1e3e9b1
fastlio main.cpp: match pointlio formatting; inline get_publish_ts + …
jeff-hykin c5a6ab9
memory2: fix mypy no-any-return in Recorder._resolve_pose
jeff-hykin 0260030
pointlio: revert module to origin/main (keep PR #2498 fastlio-only)
jeff-hykin 691a24a
Merge branch 'main' into jeff/feat/fastlio_record2
jeff-hykin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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))) | ||
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
36 changes: 0 additions & 36 deletions
36
dimos/hardware/sensors/lidar/fastlio2/config/ouster64.yaml
This file was deleted.
Oops, something went wrong.
37 changes: 0 additions & 37 deletions
37
dimos/hardware/sensors/lidar/fastlio2/config/velodyne.yaml
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.