From ce9bc4bca50cf6f8112fb4c338bbbec9b3330e3d Mon Sep 17 00:00:00 2001 From: Erik Andresen Date: Sun, 11 Oct 2026 20:47:38 +0200 Subject: [PATCH] urdf scale correction --- urdf/a4wd3.urdf | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/urdf/a4wd3.urdf b/urdf/a4wd3.urdf index cf67184..8464e41 100644 --- a/urdf/a4wd3.urdf +++ b/urdf/a4wd3.urdf @@ -3,7 +3,8 @@ Sources: - /home/erik/a4wd3-git/launch/a4wd3_launch.py static transforms (tf_base_scan, tf_base_imu) - A4WD3-Wheeled.stp (user CAD, true scale: overall width 437.0 mm matches measurement) - - rplidar-a2m4-r1.stl (Slamtec official model; flat-panel lidar, scan axis = mesh Z) + - rplidar-a2m4-r1.stl (Slamtec official model; flat-panel lidar, scan axis = mesh Y, + window face at mesh y_min; verified by slice analysis, not mesh Z) Frame conventions: LIVE base_link (as published by hw_node.cpp odom TF): x = forward, y = left, z = up, ORIGIN AT WHEELBASE CENTER / AXLE HEIGHT (z=0 at axle plane; ground ~79 mm below, @@ -33,7 +34,8 @@ - + + @@ -42,16 +44,22 @@ - + + => 81.25 mm forward, 74.25 mm left, at axle height. + MESH GEOMETRY (verified by slice analysis 2026-10-11): the body is a cylinder + with its AXIS ALONG MESH Y (slices perp to Y: ~75 mm circles; perp to X/Z: ellipses). + The window slit channel is at the y_min end (mesh y 13..22, face at y=8.2), + so the beam exits axially from the y_min end -> that end must face UP. + Visual transform: Rx(-90 deg) maps mesh -Y -> laser +z (scan axis up), + origin offset puts the scan-face center (mesh 7.26, 9.15, 75.24 mm) at the + laser frame origin. Body then spans laser z -0.040..+0.001 m (unit hangs + below the frame, window end on top). --> @@ -65,18 +73,21 @@ - + - + + - + + - + -- 2.39.5