Repository navigation
decisions: sensor layout, base camera, IMU, column position and LiDAR mount (Alex decision 12 Oct 2026) - #46
Merged
Conversation
BotshareAI
added a commit
to openAMRobot/openamr-platform-sw
that referenced
this pull request
Oct 12, 2026
Mark the measured base_to_lidar static TF (x 0.335, z 0.18, yaw pi) as the Gate A unit in real_bringup.launch.py (comment and call), the bringup README, the architecture TF tree and the diagnostics notes. Values unchanged. Matches the NAV-LIDAR check in openAMRobot/.github#46; the 2.0 pose is lidar_link (0.330, 0, 0.124), yaw pi. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E4uoP2BE9MeeJDGK9EYzqD Signed-off-by: Alex Reznichenko <info@botshare.ai>
… mount Record the Alex decision of 2026-10-12 (to be recorded in P-03 rev19.0): four MB7060 and two TF-Luna cliff sensors, Gemini 336L at 142.5 mm, ICM-42688-P as the 2.0 IMU with imu_link at x 0.195 m, the column axis at x +0.060 (bp000) and +0.110 (bp050), the LiDAR spacer mount and pose, and the new NEAR-FIELD-FRAMES entry. Superseded values move to supersedes. Tests cover each added, changed or removed check; the WATCHDOG.md accepted-words table is regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E4uoP2BE9MeeJDGK9EYzqD Signed-off-by: Alex Reznichenko <info@botshare.ai>
BASE-CONTROLLER-GATES is titled "Base-controller gates and the 2.0 IMU" and its human evidence names the ICM-42688-P WHO_AM_I 0x47 boot log. NAV-LIDAR applies_to.files gains **/*.xacro and **/*.urdf, with a test that a 0.335 / 0.18 LiDAR origin in a model file is detected. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E4uoP2BE9MeeJDGK9EYzqD Signed-off-by: Alex Reznichenko <info@botshare.ai>
BotshareAI
force-pushed
the
decisions-2026-10-12-sensors
branch
from
October 12, 2026 18:29
3d3c0c4 to
18424a8
Compare
BotshareAI
marked this pull request as ready for review
October 12, 2026 18:32
BotshareAI
requested review from
panthera-momagdii and
wikki26
as code owners
October 12, 2026 18:32
5 tasks done
BotshareAI
added a commit
to openAMRobot/openamr-platform-sw
that referenced
this pull request
Oct 13, 2026
* chore: navigation LiDAR is the RPLIDAR S3 (P-03 rev18.4 item 13) - openamrobot_drivers: switch the LiDAR driver from rplidar_ros to Slamtec sllidar_ros2 (sllidar_node). New launch argument lidar_model: s3 (default, OpenAMRobot 2.0; serial 1000000 baud, DenseBoost, angle_compensate, per upstream sllidar_s3_launch.py at 34300099) or a1 (legacy, existing robot; 115200 baud, scan mode Standard as used so far). Other values are rejected. frame_id lidar_link, /scan, respawn kept; lidar_port default unchanged (existing unit's CP2102 by-id path, to confirm on the S3 unit). - package.xml: exec_depend rplidar_ros -> sllidar_ros2 (no Jazzy binary; build from source). - Add a launch-introspection test for the model selection. - Docs and comments: the A1 stays as legacy (existing robot) where they describe measured history; LiDAR-dependent values are unchanged and to be retuned on the S3 (laser_max_range 12.0 kept, comment updated). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DeSLcD827exxSw3xL9zyiU Signed-off-by: Alex Reznichenko <info@botshare.ai> * drivers: lidar_model defaults to a1 until the S3 is mounted; bringup passes it through - openamrobot_drivers: lidar_model default is a1 (RPLIDAR A1, legacy (existing robot)) until the RPLIDAR S3 is physically mounted; s3 stays a prepared choice with unchanged settings. The default flips to s3 in the change that mounts the S3. - openamrobot_bringup real_bringup.launch.py declares lidar_model (choices a1/s3, default a1) and passes it to the drivers include via launch_arguments. - Tests: drivers default starts exactly one sllidar_node with A1 params; s3 still selectable; new bringup test checks the declaration and the pass-through. - Docs/READMEs no longer claim s3 is the default. Signed-off-by: Alex Reznichenko <info@botshare.ai> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DeSLcD827exxSw3xL9zyiU * docs: label the 0.335 / 0.18 LiDAR pose as the Gate A unit Mark the measured base_to_lidar static TF (x 0.335, z 0.18, yaw pi) as the Gate A unit in real_bringup.launch.py (comment and call), the bringup README, the architecture TF tree and the diagnostics notes. Values unchanged. Matches the NAV-LIDAR check in openAMRobot/.github#46; the 2.0 pose is lidar_link (0.330, 0, 0.124), yaw pi. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E4uoP2BE9MeeJDGK9EYzqD Signed-off-by: Alex Reznichenko <info@botshare.ai> * drivers, bringup: pinned sllidar_ros2 install path and hardware-free CI Review point 1: ros2/src/openamrobot_drivers/README.md documents the standalone install of Slamtec sllidar_ros2 at commit 34300099fadfc772965962dec837bf436706188f: checkout, rosdep, colcon build and overlay commands, and the expected executables. This repository has no .repos file; the manifest entry for the same commit is proposed in openamrobot-manifest PR #11. Review point 2: new workflow drivers-bringup-tests.yml (ros:jazzy-ros-base, actions pinned to commit SHAs). Job drivers-bringup-launch-tests builds sllidar_ros2 at the pinned commit, builds openamrobot_drivers and openamrobot_bringup, runs the seven driver and two bringup launch tests (default a1, s3, invalid model rejected, lidar_model passed through) and fails unless exactly nine tests ran. Job drivers-bringup-lint reports the ament flake8, pep257 and copyright tests per package in its own job; openamrobot_bringup has lint findings on main that predate it. Findings introduced by this branch are fixed: the merged base_to_lidar line is wrapped (E501), the two new launch test files carry the MIT header, and the lidar comment in real_bringup is labelled Gate A unit (Watchdog NAV-LIDAR). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRaT7dAzwGzf5nNYyN7KW5 Signed-off-by: Alex Reznichenko <info@botshare.ai> * drivers: state the Docker image is simulation only The Docker quickstart copies only ros2/src and does not fetch sllidar_ros2, so it does not install the real LiDAR driver. Say so next to the pinned install path (review point 1). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KRaT7dAzwGzf5nNYyN7KW5 Signed-off-by: Alex Reznichenko <info@botshare.ai> --------- Signed-off-by: Alex Reznichenko <info@botshare.ai> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Source: Alex decision 2026-10-12, to be recorded in P-03 rev19.0.
Follow-up commit
3d3c0c4:verification.humanevidence reads "Gate A test log, STM32 go/no-go record, ICM-42688-P WHO_AM_I 0x47 boot log".applies_to.filesadds**/*.xacroand**/*.urdf, so a 0.335 / 0.18 LiDAR origin in a model file is now detected.Files changed:
decisions.yaml,tests/test_check_decisions.py,WATCHDOG.md(accepted-words table regenerated withpython3 tools/watchdog.py --accepted-words;tests/test_watchdog.pyrequires it to match the register; the follow-up commit leaves it unchanged).Changes needed to apply the list, beyond its literal wording:
sources:gains the keyAlex decision 2026-10-12. The validator requires every source document to be listed there.sourceis now{document: "Alex decision 2026-10-12", item: "<topic>; P-03 rev19.0 to record"}. The schema has one source per entry, so values kept unchanged in those entries now sit under the new source. Their earlier sources survive only in the supersedes lists.verification.machinetext of BASE-CONTROLLER-GATES no longer mentions the removed ICM-42688-P check. The new checks in BASE-CONTROLLER-IO, CAMERAS, ARM-MOUNT and NAV-LIDAR are added to their entries'verification.machinetext.valuebecomes avalueslist (the original text first) so the two new values can be added.openamr-platform-*andopenamrobot-docs.Work package
Alex decision 2026-10-12, to be recorded in P-03 rev19.0. No contract change request issue is linked.
Integration Gate
849e8cf; this PR is based on main.check_decisions.pyandwatchdog.pyreused.Tests
New or changed tests in
tests/test_check_decisions.py:test_sensor_layout_alex_2026_10_12test_base_camera_height_243_supersededtest_icm42688p_is_the_2_0_imu, for the removed checktest_column_axis_not_on_drive_axletest_lidar_link_pose, extended in the follow-up commit with.xacroand.urdfcasestest_near_field_frames_tof_pitch_is_screeningTwo existing negatives that now state superseded values were updated: "Two MaxBotix MB7060" became "Four", and the Gemini line moved from 243 mm to 142.5 mm.
Revert runs:
decisions.yamlrestored frome708c73,python3 -m pytest -q tests/test_check_decisions.pygives6 failed, 55 passed, and the six failures are the new tests.decisions.yamlrestored froma6948e9(before the follow-up), it gives1 failed, 60 passed. The failure istest_lidar_link_pose, because model files were not scanned.With this head,
python3 -m pytest -q testsgives245 passed. No test reads the entry title or the human-evidence text, so the retitle needed no test change.Evidence
Base SHA: 849e8cf
Head SHA: 18424a8
Consumer impact, from main of each repository scanned with the register before and after this change. These are new findings in other repositories, reported here and not fixed:
openamr-platform-sw @6be7439: +5 NAV-LIDAR findings for the old LiDAR pose ("0.335 ... 0.18"):
docs/navigation/01_architecture.md:89docs/troubleshooting/diagnostics.md:81ros2/src/openamrobot_bringup/README.md:140ros2/src/openamrobot_bringup/launch/real_bringup.launch.py:70and:71chore: navigation LiDAR is the RPLIDAR S3 (P-03 rev18.4 item 13) openamr-platform-sw#45 labels all five as Gate A unit.
openamr-platform-hw @169a613: +1 NAV-LIDAR finding at
electrical/sensors/lidar.md:34.openamr-platform-fw, openamrobot-docs, openamr-upperbody-sw, openamr-upperbody-hw and openamrobot-manipulation: no change.
The
.xacroand.urdfscope in the follow-up adds no findings on main of openamr-platform-sw, openamr-platform-hw, openamr-platform-fw or openamrobot-docs.Dependencies
None.
Safety impact
None. Register text, checker patterns and tests only. The ultrasonic and ToF sensors are recorded as layout and frame values; nothing here describes them as safety devices.
STATE.md
No change: this repository has no STATE.md, and the task limited the change to the listed register entries.
Not verified
bash rollout/verify.shwas not re-run on3d3c0c4; the pytest suite and the watchdog report were.AI disclosure
Claude Code (Anthropic) edited
decisions.yamland the tests from the decision owner's change list, regenerated the WATCHDOG.md table with the repository tool, ran the commands above and drafted this description. Needs human review.Contribution terms
🤖 Generated with Claude Code
https://claude.ai/code/session_01E4uoP2BE9MeeJDGK9EYzqD