Skip to content

roadmap: upper-body layout of 28 Oct (second E-stop on the column, Getac and head light, head camera forward and hp30), lift stop sensors, one model on both pages, all media re-rendered - #62

Merged
BotshareAI merged 17 commits into
mainfrom
claude/sleepy-heisenberg-3v2bho
Oct 29, 2026
Merged

BotshareAI merged 17 commits into
mainfrom
claude/sleepy-heisenberg-3v2bho

Conversation

@BotshareAI

@BotshareAI BotshareAI commented Oct 28, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Upper-body layout of 28 Oct 2026 (P-03 rev20.0 items 15, 17, 18 and 24) on the shared roadmap model: second E-stop on the rear face of the static lift profile, head light and landscape Getac ZX80 on the moving chest, head camera 20 mm forward at the hp30 baseline; lift stop sensor set (LIFT-SNS-01 rev 1, BOM Issue 7.14 LFT-001, LFT-003 to LFT-006); one model on both pages, enforced by a synchronization audit; tote riser on the robot page; all pictures and videos re-rendered, store video at 4x. Positions are placeholders until work package M-09. Supersedes #61.

Base cab5ed5 (main, includes #63). Head e8fbeff. Merge of main: 52fc1a1 merges origin/main (#63); docs/reference/openamrobot-2/index.md, general-arrangement.md and dark-store-simulation.md resolved in favour of main; check_roadmap.py, mkdocs build --strict and check_docs.sh pass after the merge.

Sources

  • P-03 Decision Addendum rev20.0, read through the Google Drive connector on 28 Oct 2026: layout update of 28 Oct (second E-stop on the rear face of the static DOLD profile, close to its upper edge; moving chest bottom up head light, top edge 30 mm below the Getac, then the Getac ZX80, 234 mm wide x 149.8 mm tall x 17.6 mm, landscape, 50 mm higher than before; lens 42 mm ahead of the shoulder; baseline pitch hp30, was hp25); item 24 (lift stop sensors at z 120, 295 and 470 mm above the column base, flag 410 mm below the plate underside, 2 mm gap; head light Falcon FLDL-i150x15-W 158 x 17 x 20 mm); item 18 (adapter plate 360 x 100 mm).
  • Drawing LIFT-SNS-01 rev 1 (27 Oct 2026, read through the Google Drive connector): View 1 side elevation, View 2 section at a sensor (axis 15 mm from the face, flag 2 mm in front, rod 9 mm beside the sensor), COTS list.
  • BOM Issue 7.14: LFT-001 to LFT-007, SAF-001.
  • Pending with their owners (not changed here): BOM Issue 7.14 UI-001 and UI-002 still name the ZX10; register CONFIG-IDS gives hp25; the platform-sw URDF has the lens at 22 mm and hp25. The Falcon technical data page is not reachable from this environment (dimensions as quoted in P-03).

Changes

  • One robot on both pages: chestPlaceholders removed; robot.html builds with {fittings, headPitch: 30}, exploded.html with {headPitch: 30}; only page scene items that are not registry parts (store, totes, riser, decals, lift cable, wrist cameras) differ.
  • Second E-stop (second_estop): rear face of the static profile, facing rearward, centre 40 mm below its upper edge (P-03 position). Height sweep: the full order run is first clear of every arm link and carried item at a centre 180 mm below the edge, over the 100 mm limit, so the P-03 position is kept; recorded in the registry, the evidence and here as input for M-09.
  • Moving chest: head light (top edge 30 mm below the Getac bottom edge), Getac ZX80 landscape box, dock not drawn, Placeholder badges.
  • Head camera: lens 42 mm ahead of the shoulder; hp30 default on robot.html (state, slider, readout, configuration table) and in the exploded build; hp15 to hp35 unchanged. Finding: robot.html used to build the model at 0 degrees and never applied hp25 at load.
  • Lift stop sensor set (LFT-001, LFT-003 to LFT-006): three SICK IME12-04BNSZC0S on BEF-WN-M12 brackets at 120, 295 and 470 mm above the column base (static group); MISUMI 20 x 20 rod 430 mm with corner bracket, SS400 flag 45 x 20 x 2 centred 410 mm below the plate underside, 2 mm gap, rod 9 mm beside the sensors (moving group). LIFT-SNS-01 shows an end face without naming the end and its 60 mm plate overhang matches neither end of option B; the rear face carries the second E-stop at the S3 height. The set is therefore on the left side face (+y), placeholder until M-09. Registry entries with sources, exploded-view stage 7 offsets and labels, one tour beat at 46 to 48 s (the tour had no lift beat; it stays 49.5 s). Finding for M-01 and M-09: with the 100 mm plate (20 mm side overhang) the rod, 30 to 50 mm from the face, sits 10 to 30 mm outside the plate edge; the M5 fixing through the plate needs the plate over the rod.
  • Visible defects fixed (before/after crops in the evidence): the lift cable ran through the second E-stop housing (rear drop rerouted to the -y side); the adapter plate was 72 mm wide, P-03 item 18 gives 100 mm. No other visible defect in the review stills of both pages (front, rear, side, top; close-ups of base, column, chest, head).
  • check_roadmap.py: sync audit current and without mismatch; build options; second E-stop once in the static group on the rear face; chest order and the 30 mm gap; ZX80 landscape size, no ZX10, "portrait" or chest_estop; hp30 and the 42 mm lens; LFT parts with BOM IDs; the flag faces S1, S2 and S3 at L1000, L1175 and L1350; the store video text against the file. Each new rule fails when its change is reverted.

Synchronization audit

node scripts/audit_sync.js (robot page at L1000, bp000, hp30, arms at the assembled pose; exploded view at explode factor 0, largest part offset from home 0 m): 63 part groups, 0 mismatches. Offsets per part are in scripts/sync_audit.json.

Registry part Part group robot.html exploded.html Stage Meshes Same transform
base_plate base_plate yes yes 1 1 / 1 yes
front_panel front_panel yes yes 1 1 / 1 yes
rear_panel rear_panel yes yes 1 1 / 1 yes
side_panel side_panel_left yes yes 1 1 / 1 yes
side_panel side_panel_right yes yes 1 1 / 1 yes
support support_front_left yes yes 1 1 / 1 yes
support support_front_right yes yes 1 1 / 1 yes
support support_rear_left yes yes 1 1 / 1 yes
support support_rear_right yes yes 1 1 / 1 yes
centre_bracket centre_bracket yes yes 1 1 / 1 yes
hub_motor_wheel hub_motor_wheel_left yes yes 2 1 / 1 yes
hub_motor_wheel hub_motor_wheel_right yes yes 2 1 / 1 yes
castor castor_front_left yes yes 2 2 / 2 yes
castor castor_front_right yes yes 2 2 / 2 yes
castor castor_rear_left yes yes 2 2 / 2 yes
castor castor_rear_right yes yes 2 2 / 2 yes
motor_driver motor_driver yes yes 2 3 / 3 yes
driver_mount driver_mount yes yes 2 1 / 1 yes
battery battery yes yes 3 3 / 3 yes
estop estop yes yes 3 3 / 3 yes
reset_button reset_button yes yes 3 3 / 3 yes
electronics_bracket electronics_bracket yes yes 4 1 / 1 yes
compute compute yes yes 4 4 / 4 yes
controller_plate controller_plate yes yes 4 1 / 1 yes
base_controller base_controller yes yes 4 3 / 3 yes
imu imu yes yes 4 2 / 2 yes
lidar_support lidar_support yes yes 5 1 / 1 yes
lidar_spacer lidar_spacer yes yes 5 1 / 1 yes
lidar lidar yes yes 5 3 / 3 yes
camera_mount camera_mount yes yes 5 1 / 1 yes
base_camera base_camera yes yes 5 3 / 3 yes
ultrasonic_mount ultrasonic_mount_front_left yes yes 5 1 / 1 yes
ultrasonic_mount ultrasonic_mount_front_right yes yes 5 1 / 1 yes
ultrasonic_mount ultrasonic_mount_rear_left yes yes 5 1 / 1 yes
ultrasonic_mount ultrasonic_mount_rear_right yes yes 5 1 / 1 yes
ultrasonic ultrasonic_front_left yes yes 5 4 / 4 yes
ultrasonic ultrasonic_front_right yes yes 5 4 / 4 yes
ultrasonic ultrasonic_rear_left yes yes 5 4 / 4 yes
ultrasonic ultrasonic_rear_right yes yes 5 4 / 4 yes
tof_mount tof_mount_front yes yes 5 1 / 1 yes
tof_mount tof_mount_rear yes yes 5 1 / 1 yes
tof tof_front yes yes 5 2 / 2 yes
tof tof_rear yes yes 5 2 / 2 yes
cover cover yes yes 6 1 / 1 yes
cover_flange cover_flange_front yes yes 6 1 / 1 yes
cover_flange cover_flange_rear yes yes 6 1 / 1 yes
lift_base_plate lift_base_plate yes yes 7 1 / 1 yes
lift_column lift_column yes yes 7 18 / 18 yes
adapter_plate adapter_plate yes yes 7 1 / 1 yes
arm_profile arm_profile yes yes 8 11 / 11 yes
slot_cover_strips slot_cover_strips yes yes 8 2 / 2 yes
openarm openarm_left yes yes 8 10 / 10 yes
openarm openarm_right yes yes 8 10 / 10 yes
head_camera_bracket head_camera_bracket yes yes 8 2 / 2 yes
head_camera head_camera yes yes 8 3 / 3 yes
second_estop second_estop yes yes 7 3 / 3 yes
getac_tablet getac_tablet yes yes 8 2 / 2 yes
head_light head_light yes yes 8 2 / 2 yes
lift_stop_sensors lift_stop_sensors yes yes 7 12 / 12 yes
lift_sensor_brackets lift_sensor_brackets yes yes 7 6 / 6 yes
flag_rod flag_rod yes yes 7 3 / 3 yes
rod_corner_bracket rod_corner_bracket yes yes 7 2 / 2 yes
lift_flag lift_flag yes yes 7 1 / 1 yes

Collision report (nothing moved)

Full order run, speed 4, 24 fps, 1536 frames, every 10th frame (154 samples), robot-frame boxes; movers: every arm link of both arms and the carried item. 37 overlaps in 20 frames: Getac 23, corner bracket 3, second E-stop 2, flag rod 2, sensor S3 2, bracket S3 2, head light 2, head camera 1. Lift parts against the scene: sensors S1 and S2 overlap the left tote body in every frame (3.2 mm in y); rod, flag, brackets and S3 clear of totes, risers and the lift cable. Full lists and the E-stop sweep table: evidence/2026-10-28-chest-riser-rerender/README.md, collision.json.

Geometry diff

Against main 7ac6543: robot page 186 meshes identical, 10 removed, 55 added; exploded build 132 identical, 6 removed, 37 added. Against c646911: robot page 211 identical, 2 replaced (adapter plate, lift cable), 28 added (Getac and head light now drawn on the robot page, sensor set); exploded build 144 identical, adapter plate replaced, sensor set added. geometry_diff.txt.

Media

All rendered from 654c1ed (scene identical at the head; later commits change page text and evidence only).

File Size Video sha256 (first 16)
media/openamrobot-2-store-1080p.mp4 14,076,327 bytes 1920 x 1080, 24 fps, 1536 frames, 64.0 s, H.264, no audio, 4x speed, two-pass to 14.5 MB beb2e19eed5f1be9
media/openamrobot-2-tour-1080p.mp4 9,856,115 bytes 1920 x 1080, 30 fps, 49.5 s; two renders byte-identical 2c123ad63e2a6843
media/openamrobot-2-tour-1080x1350.mp4 8,517,327 bytes 1080 x 1350, 30 fps, 49.5 s 10cc7284bcec1077
media/openamrobot-2-store-1080p-poster.png 479,430 bytes frame 788, 192 colours c26cb7a559ff633c
media/store/thumbs/store_video_poster.jpg 59,451 bytes 640 x 360 2b6d5de40f8e031f
media/openamrobot-2-tour-1080p-poster.png, -1080x1350-poster.png 165,641 / 138,994 bytes frame 780 7606421871a59aab / 4c15d77ba3bb73b3
model/exploded-static.png 59,555 bytes 960 x 720, 128 colours ad781e85a39bff07
media/store/*.jpg (8 pictures, contact sheet), thumbs/ 3,388,078 / 492,856 bytes 1920 x 1080 and 1080 x 1350 store_media/media_sha256.txt

Caption on store video frames: "OpenAMRobot 2.0, simulation visualization, 4x speed". The text under the video states 64.0 s, 14.1 MB and 4x speed; check_roadmap.py checks it against the file. Determinism: first 60 frames identical with 1 and 2 workers (14 min 50 s, 13 min 39 s). Store video wall time 23:05 to 06:40 UTC including two container restarts (resumed from saved frames; last segment 299 frames in 2904 s plus the encode). Five sample frames (10 to 90 %), two tour frames and the render log: store_media/.

Checks

Commands at the head, from the repository root, docs/assets/roadmap served on port 8765:

  • python3 scripts/check_roadmap.py: passed (6 pages).
  • mkdocs build --strict: exit 0. bash scripts/check_docs.sh: 0 warnings. Offline link check of the built site: 32,926 local links, 0 broken.
  • node scripts/audit_sync.js: 63 part groups, 0 mismatches.
  • node evidence/2026-10-28-chest-riser-rerender/collision_check.js collision.json: results above.
  • node evidence/2026-10-27-store-media/page_checks.js against main: robot.html and exploded.html at 375 and 1280 px without console errors, warnings or failed requests, no horizontal scroll; robot.html defaults unchanged (Follow, Frames off, Labels off, High quality on at 1280 px, off at 375 px as on main); first load 4,195,668 bytes (main 4,179,171, budget 4,195,678); Record order video starts and stops.
  • Stills at 1280 x 720 (robot front, rear, overview; exploded front and rear three-quarter; column top at L1000 and L1350; fix crops): evidence/2026-10-28-chest-riser-rerender/.

Not verified

  • Second E-stop, tablet, head light and lift sensor set positions: placeholders until work package M-09; the collision report and the E-stop sweep are inputs, not a design check.
  • Lift sensor face: LIFT-SNS-01 names no end face; the left side face is a choice made here. The rod against the 20 mm plate overhang is unresolved (M-01, M-09).
  • Collision boxes are axis-aligned bounding boxes; an overlap marks possible contact, not proven mesh contact. Arms and pick logic were not changed.
  • Real GPU playback of the pages and videos (rendered and checked with SwiftShader only).
  • Physical robot appearance; the riser is an illustration, not a BOM part.
  • BOM UI-001/UI-002, register hp25 and the platform-sw URDF are not updated here (pending with their owners).

AI disclosure

Claude Code (agent) produced the model, page, script and checker changes, the renders, the audit, the collision and geometry reports, the evidence and this description; sources read through the Google Drive connector. Simulation visualization only; no safety logic was authored or modified (E-stops and sensors are drawn geometry).

🤖 Generated with Claude Code

https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo

BotshareAI and others added 10 commits October 28, 2026 11:33
Chest equipment of P-03 rev20.0 item 24 and BOM Issue 7.14 on the shared
model (both pages), on the moving chest, bottom up:

- chest_estop (SAF-001, 2 in BOM 7.14: base front and chest): a copy of
  the GLB estop meshes, the base E-stop placeholder of openamr-platform-sw
  #100, contact block on the arm-profile front face; it replaces the
  robot page's illustrative chest E-stop in columnFittings
- getac_tablet (UI-001): listed, not drawn; no Getac ZX10 datasheet
  dimensions are available here, so no number is used
- head_light (AUX-001): Banner WLS28-2CW285DXPWMQ bar from publication
  179493 Rev H (housing 346 mm, lighted 286 mm, 28 x 21 mm), anodised
  aluminium with a diffuse window; no glow, no light source

All three are placeholders until work package M-09 and carry a Placeholder
badge in the exploded view. M.CHEST holds the order and positions;
arm_kit_estop (ARM-008, withdrawn) leaves the registry and exploded.json
(stage 8 entries and offsets added).

robot.html: a 20 x 20 mm aluminium profile riser frame under each tote,
inside the tote group, following the Tote riser setting (hidden at 0);
tote positions, riser values and pick logic unchanged. The placeholders
sentence lists the chest items.

check_roadmap.py: chest items present and placeholder, ARM-008 gone,
order bottom up, one chest E-stop, no glow on the head light, riser
follows the riser value. Stills before and after, geometry diff and the
collision report in evidence/2026-10-28-chest-riser-rerender/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
Two-pass libx264 at the average bitrate for the target size; when the
file comes out larger, pass 2 runs again at the scaled bitrate (at most
three times), and the run fails if it is still over. --crf stays the
default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
…ded-static

Rendered from c3d4d71 (chest placeholders, tote riser) with the same
names, cameras, sim times, sizes and settings as #59: eight store
pictures (JPEG quality 90), thumbnails (quality 82), contact sheet; the
exploded tour with scripts/render_tour.js at 1920 x 1080 (two renders
byte-identical) and 1080 x 1350, its two posters (frame 780, 192
colours) and model/exploded-static.png (frame 0, 960 x 720, 128 colours).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
…eholder box

P-03 rev20.0 item 24 (correction 28 Oct 2026) names the Falcon
Illumination FLDL-i150x15-W bar light instead of the Banner WLS28. The
head light is now a 158 x 17 x 20 mm aluminium bar across the chest with
a 148 x 13 mm diffuse window on the front face, no glow and no light
source. The Getac ZX10 is drawn as a 275 x 192 x 17.9 mm box (landscape,
screen forward, dock not drawn) between the chest E-stop and the head
light, with the Placeholder badge; its registry-only entry is replaced.
Chest positions stay placeholders until work package M-09.

check_roadmap.py pins the new sizes, requires all three chest items to be
drawn and stacked bottom up without overlap on the profile. Evidence:
geometry diff, robot-frame arm collision check (37 box overlaps, 31 with
the Getac, 6 with the head light, none with the chest E-stop), stills.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
…bb897e

Same jobs and settings as ca3e850, now from abb897e (Falcon head light,
Getac ZX10 box drawn): eight store pictures (JPEG quality 90), thumbnails
(quality 82), contact sheet; the exploded tour with scripts/render_tour.js
at 1920 x 1080 (two renders byte-identical) and 1080 x 1350, its two
posters (frame 780, 192 colours) and model/exploded-static.png (frame 0,
960 x 720, 128 colours). Replaces the media of ca3e850, which showed the
Banner head light and no Getac box.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
The order-run collision check shows the arms passing through the Getac
ZX10 (31 box overlaps) and the head light (6) at their placeholder
positions. New shared build option chestPlaceholders (default true):
false draws the chest E-stop only. The exploded view keeps all three
chest items with their Placeholder badges; robot.html builds with the
option off and says the Getac and head light are not shown until work
package M-09 sets their positions. No geometry is deleted.

Collision check on the store scene as rendered: 0 overlaps (chest E-stop
only). The abb897e report for the Getac and head light stays in the
evidence folder as input for M-09. check_roadmap.py: exploded view builds
with the option on, robot.html with it off, chestItems stops before the
Getac and head light when off, the page states it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
…idden

Rendered from b685d48 (robot.html builds with chestPlaceholders off) with
the same names, cameras, sim times, sizes and settings: eight pictures
(JPEG quality 90), thumbnails (quality 82), contact sheet. Tour videos,
posters and exploded-static.png from 81b3eb3 stay (exploded view
unchanged).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
P-03 rev20.0 item 24 (28 Oct 2026 correction) replaces the Getac ZX10 by
the Getac ZX80, 234 x 149.8 x 17.6 mm, 590 g, mounted portrait. The
placeholder is now a 234 mm tall, 149.8 mm wide, 17.6 mm deep box, dark
grey housing with the black screen face forward, centred between the
chest E-stop and the head light; position from work package M-09. Model,
registry, exploded.json and the robot page text updated. BOM Issue 7.14
UI-001 and UI-002 still name the previous tablet; that correction is
pending with the BOM owner.

The store scene still builds with chestPlaceholders off (chest E-stop
only); its geometry is unchanged. Collision check with the ZX80 at its
placeholder position: 14 box overlaps (8 tablet, 6 head light, all right
arm), kept as input for M-09; store scene as rendered: 0.
check_roadmap.py pins the ZX80 portrait size and rejects the ZX10 name
and dimensions in the model, exploded.json and the robot and exploded
pages.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
… ZX80

Full media job from 7c0a529 with the same jobs and settings: the exploded
tour with scripts/render_tour.js at 1920 x 1080 (two renders
byte-identical) and 1080 x 1350, and model/exploded-static.png (frame 0,
960 x 720, 128 colours) now show the ZX80 portrait placeholder. The eight
store pictures, their thumbnails and contact sheet and both tour posters
were re-rendered too and came out byte-identical to the committed files
(store scene unchanged, posters show the opened base).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
P-03 rev20.0 item 24 and its 28 Oct 2026 corrections now give the Getac
ZX80 as 234 mm wide x 149.8 mm tall x 17.6 mm, mounted landscape like the
ZX10 it replaces. The placeholder box is now landscape, still centred
between the chest E-stop and the head light; position from work package
M-09. Model, registry, exploded.json and the size rule updated;
check_roadmap.py also rejects "portrait" in the model, exploded.json and
the robot and exploded pages.

The store scene is unchanged (chestPlaceholders off, robot page geometry
identical). M-09 collision report replaced: 32 box overlaps in 21 of 154
sampled frames, 26 with the tablet and 6 with the head light, none with
the chest E-stop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
…head camera hp30

P-03 rev20.0 layout update of 28 Oct 2026 (items 15, 17, 18 and 24):
- the second E-stop (formerly the chest E-stop, now second_estop) sits on
  the rear face of the static DOLD profile, close to its upper edge,
  facing rearward, in the static lift group;
- the moving chest, bottom up: head light, its top edge 30 mm below the
  Getac bottom edge, then the Getac ZX80, 50 mm higher than before;
- head camera lens 42 mm ahead of the shoulder (was 22 mm) and baseline
  pitch hp30 (was hp25): M.build default 30, exploded view headPitch 30,
  robot.html builds with headPitch 30 and starts its state, slider,
  readout and configuration table at hp30. robot.html used to build with
  headPitch 0 and never applied hp25 at load; the camera now shows hp30.
Page text, registry, exploded.json stages and labels and the reference
pages follow. The register CONFIG-IDS entry, the platform-sw URDF row on
progress.html and BOM Issue 7.14 keep their recorded values, pending with
their owners. Positions stay placeholders until work package M-09.

check_roadmap.py: second E-stop once in the static group on the rear
face, moving-chest order and the 30 mm gap, hp30 on both builds and the
robot page controls, lens 42 mm, no chest_estop. Collision checks: store
scene 1 box overlap (right finger2 with the second E-stop at t = 65 s),
kept and reported for M-09; all three items drawn: 26 overlaps.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
BotshareAI and others added 3 commits October 28, 2026 21:01
- One robot on both pages: the chestPlaceholders option is removed, so
  robot.html draws the Getac ZX80 and the head light like exploded.html;
  only robot page scene items (store, totes, riser, decals, cable) differ.
- Lift stop sensor set (P-03 rev20.0 item 24, LIFT-SNS-01 rev 1, BOM
  Issue 7.14 LFT-001, LFT-003 to LFT-006): three SICK IME12-04BNSZC0S on
  BEF-WN-M12 brackets at 120, 295 and 470 mm above the column base
  (static group); MISUMI 20 x 20 rod 430 mm with corner bracket and SS400
  flag 45 x 20 x 2, centre 410 mm below the adapter plate underside, 2 mm
  gap, rod 9 mm beside the sensors (moving group). LIFT-SNS-01 names no end
  face, so the set is on the left side face, placeholder until M-09.
  Registry entries, exploded-view stage 7 offsets and labels.
- Visible fixes: the lift cable ran through the second E-stop (rear drop
  rerouted to the -y side); the adapter plate was 72 mm wide, P-03 item
  18 gives 100 mm.
- Second E-stop: the height sweep finds the order run clear only at a
  centre 180 mm below the static profile top, over the 100 mm limit, so
  the P-03 position (40 mm) is kept and recorded for M-09.
- scripts/audit_sync.js and scripts/sync_audit.json: every registry part
  drawn on both pages, staged in exploded.json, same mesh count and
  transforms (63 part groups, 0 mismatches); check_roadmap.py fails on a
  mismatch or a stale audit, on page build options, and when the flag
  does not face S1, S2 and S3 at L1000, L1175 and L1350.
- Collision report over the full order run with carried items, sensor
  set against totes, risers and cable.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
#63 changed docs/reference/openamrobot-2/index.md, general-arrangement.md
and dark-store-simulation.md, which this branch also changed; the three
files are resolved in favour of main, which carries the 28 Oct values and
the chest and second E-stop rows. check_roadmap.py, mkdocs build --strict
and check_docs.sh pass after the merge.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
The guided tour had no lift beat; one beat (46 to 48 s) frames the three
stop sensors, the flag rod and the steel flag with their numbers and the
caption "Lift stop sensors: three fixed inductive sensors on the static
column, one steel flag moving with the lift (L1000, L1175, L1350)". The
upper-body hold ends at 45 s, so the tour stays 49.5 s. Sync audit
refreshed (63 part groups, 0 mismatches).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>

Copy link
Copy Markdown
Contributor Author

Status at 654c1ed (layout of 28 Oct complete; merge of main #63 in 52fc1a1). The full media job started from 654c1ed at 21:11 UTC; the description is completed when it finishes.

Done: one model on both pages (chestPlaceholders removed; sync audit 63 part groups, 0 mismatches, enforced by check_roadmap.py); lift stop sensor set LFT-001, LFT-003 to LFT-006 on the left side face of the static profile (LIFT-SNS-01 names no end face), flag faces S1/S2/S3 at L1000/L1175/L1350 (checked); fixes: lift cable ran through the second E-stop (rerouted), adapter plate 72 to 100 mm (P-03 item 18); tour beat for the lift sensors (tour stays 49.5 s).

Stills: robot front, robot rear, robot overview, exploded front, exploded rear, column top L1000, column top L1350, fixes: cable, adapter plate.

Collision summary (full order run, every 10th frame, 154 samples, robot-frame boxes, arms and pick logic unchanged): 37 overlaps in 20 frames with arm links and carried items: Getac 23, second E-stop 2, flag rod 2, corner bracket 3, sensor S3 2, bracket S3 2, head light 2, head camera 1. Lift parts vs scene: sensors S1 and S2 overlap the left tote body in every frame (3.2 mm in y); rod, flag, brackets and S3 clear of totes, risers and cable. Second E-stop sweep: first clear at a centre 180 mm below the static top (over the 100 mm limit), so the P-03 position (40 mm) is kept and recorded for M-09. Full lists: evidence/2026-10-28-chest-riser-rerender/README.md.


Generated by Claude Code

@BotshareAI BotshareAI changed the title roadmap: chest E-stop, Getac and head light placeholders, tote riser, pictures and videos re-rendered, store video at 4x roadmap: upper-body layout of 28 Oct (second E-stop on the column, Getac and head light, head camera forward and hp30), lift stop sensors, one model on both pages, all media re-rendered Oct 28, 2026
BotshareAI and others added 3 commits October 28, 2026 22:38
…54c1ed

Full media job from 654c1ed (layout of 28 Oct, lift stop sensors, one
model on both pages): eight store pictures (JPEG quality 90),
thumbnails (quality 82), contact sheet; the exploded tour with
scripts/render_tour.js at 1920 x 1080 (two renders byte-identical,
sha256 2c123ad6...c3b7) and 1080 x 1350, its two posters (frame 780,
192 colours) and model/exploded-static.png (frame 0, 960 x 720,
128 colours).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
media/openamrobot-2-store-1080p.mp4: the robot page order run rendered
frame by frame at speed 4 and 24 fps (1536 frames, 1920 x 1080, H.264,
no audio, 64.0 s), two-pass to 14,076,327 bytes (target 14.5 MB), caption
"OpenAMRobot 2.0, simulation visualization, 4x speed". The render resumed
twice from its saved frames after container restarts. First 60 frames
identical with 1 and 2 workers. Poster PNG from frame 788 (192 colours)
and its 640 px thumbnail. The text under the video states 64.0 s,
14.1 MB and 4x speed; check_roadmap.py checks it against the file. Robot
page wording shortened to stay within the #59 first-load budget. Evidence:
five sample frames, two tour frames, sha256 of every media file, render log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
Media sizes, durations and hashes, render times (store video resumed
twice after container restarts), page checks of both pages at 375 and
1280 px against main (no console errors, no horizontal scroll, robot
page defaults unchanged, first load 4,195,668 bytes within the #59
budget, record button works).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01CbdEKoRknKntfTStGVniSo
Signed-off-by: Alex Reznichenko <info@botshare.ai>
@BotshareAI
BotshareAI marked this pull request as ready for review October 29, 2026 19:25
@BotshareAI

Copy link
Copy Markdown
Contributor Author

adopt

@BotshareAI
BotshareAI merged commit 7b038b5 into main Oct 29, 2026
6 checks passed
@BotshareAI
BotshareAI deleted the claude/sleepy-heisenberg-3v2bho branch October 29, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant