devkit_driver.modules.recon_dem_logger

recon_dem_logger.py ──────────────────── Logs RTK-fixed position (lat, lon, alt) at fixed distance intervals during a recon drive, for later interpolation into a DEM (see devkit_ui/terrain_mask.py and repo issue #110).

Off by default — this is a recon-mode tool, not something that should log on every normal mission. Enable per-recon-drive via the recon_logging.enabled parameter.

Distance gating is computed from /odom (metric, local frame), not from lat/lon deltas — cheaper and avoids doing geodesy just to decide whether to log. Only points with an RTK-fixed status are kept (STATUS_GBAS_FIX, matching the mapping rtk_navsatfix_shim.py already applies to /gnss/fix) — DEM quality degrades fast on float/DGPS-quality altitude.

Subscriptions ─────────────

/gnss/fix sensor_msgs/NavSatFix RTK-corrected position (see

rtk_navsatfix_shim.py for status codes)

/odom

nav_msgs/Odometry local x,y for distance-interval gating

Output ──────

CSV at recon_logging.output_path (default /workspace/maps/recon_logs/ recon.csv, so it survives container recreation like the rest of maps/ — the old ~/recon_logs default lived outside every bind mount in docker-compose.yml and was lost on every restart), columns: stamp,lat,lon,alt,x,y

Classes

ReconDEMLogger(node)

Log RTK-fixed points at fixed distance intervals for DEM building.

class devkit_driver.modules.recon_dem_logger.ReconDEMLogger(node: rclpy.node.Node)[source]

Bases: object

Log RTK-fixed points at fixed distance intervals for DEM building.

__init__(node: rclpy.node.Node)[source]

Declare recon-logging parameters and open the output CSV if enabled.

close() → None[source]

Flush and release the CSV file handle, if one is open.