Repository navigation
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
Conversation
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>
- 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>
|
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: Generated by Claude Code |
…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>
|
adopt |
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). Heade8fbeff. Merge of main:52fc1a1merges origin/main (#63);docs/reference/openamrobot-2/index.md,general-arrangement.mdanddark-store-simulation.mdresolved in favour of main; check_roadmap.py, mkdocs build --strict and check_docs.sh pass after the merge.Sources
Changes
chestPlaceholdersremoved; 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_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.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 inscripts/sync_audit.json.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).
media/openamrobot-2-store-1080p.mp4media/openamrobot-2-tour-1080p.mp4media/openamrobot-2-tour-1080x1350.mp4media/openamrobot-2-store-1080p-poster.pngmedia/store/thumbs/store_video_poster.jpgmedia/openamrobot-2-tour-1080p-poster.png,-1080x1350-poster.pngmodel/exploded-static.pngmedia/store/*.jpg(8 pictures, contact sheet),thumbs/store_media/media_sha256.txtCaption 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/roadmapserved 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.jsagainst 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.evidence/2026-10-28-chest-riser-rerender/.Not verified
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