Skip to content

Zbiorczy merge PR-ow pawel120: #49 #34 #42 #36 #51 - #53

Merged
TomkeMonke merged 25 commits into
masterfrom
tomek/merge-pawel
Sep 27, 2026
Merged

TomkeMonke merged 25 commits into
masterfrom
tomek/merge-pawel

Conversation

@TomkeMonke

Copy link
Copy Markdown
Collaborator

Jeden merge zamiast pieciu: kazdy kolejny merge robil nowy konflikt w docs/LOG.md / docs/STATUS.md.

Zawiera branche (bez zmian w kodzie poza rozwiazaniem konfliktow):

Konflikty: tylko LOG.md (wpisy polaczone) i STATUS.md (obie strony). Po merge te PR-y GitHub oznaczy jako zmergowane.

pawel120 and others added 15 commits September 26, 2026 13:19
The robot drove into the arm over the laggy hotspot. Delayed heartbeats
arrive in bursts and, since #33, stale "W held" heartbeats restarted
driving after the failsafe while the key release came later. The
dead-man measures arrival time, so late messages look fresh. The
heartbeat is a plain ping again (press the key anew after a failsafe).

web_control MAX_PWM 500 -> 250; arm panel per-tick step 2 -> 1 deg
(gripper 4 -> 2).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… calibrate

Default is read-only (servo registers vs so101.json). --record S turns
torque off on that joint only and records a manual sweep through the
full range, then proposes Homing_Offset and limits so the range is
centered on 2047 (away from the encoder zero). --write stores them in
the servo EEPROM and in that joint's so101.json entry after typing TAK,
with a timestamped backup; other joints are untouched. The math
reproduces the 2026-09-25 shoulder fix (offset 1977).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Step-by-step guide from the 2026-09-26 session: hotspot or ethernet,
finding the Pi IP, two SSH terminals (web_control.py, tools/arm_web.py),
browser URLs, shutdown order and a troubleshooting table. Link from
README, note in SETUP.md that Pi WiFi works now, STATUS and LOG updated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One torque-off recording for every joint, one TAK confirmation, one
backup of so101.json. A joint that barely moved (or did a full turn) is
reported and skipped instead of aborting the whole run.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
HOME_POSE in arm_control.py, pinecone_bot/arm.py and motions/home.json is now
the pose the arm was set to by hand on 2026-09-26. grasp_mid still starts and
ends at the old HOME, so its test is xfail until it is re-recorded. The panel
STOP test jogs shoulder_lift down, because the new HOME sits near the top of
its range.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…/live_grasp

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ntinue

tools/live_grasp/ runs on the Pi over ssh stdin (pi.sh), nothing is copied
to the Pi. Hand-guided recording and replay of a grasp-to-jar cycle work.
Teaching sessions (HOME depth snapshot + hand grasp) gave 8 unambiguous
samples; the camera->joints model is ~6 cm off, so autonomous grasps missed.
docs/LIVE_GRASP.md has the exact steps to continue: clean teaching with one
cone at a time, fit.py, pick.py.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Etap 1 uczony (ACT tylko na chwycie), etap 2 nagrany ruch do sloika. STATUS/LOG:
leader na Pi, nagrywanie datasetu, naprawa venv po spadku napiecia.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…_pick

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Kamera (RealSense i kazda USB) jest na wylacznosc jednego procesu, wiec
rs_mjpeg_server.py nie moze chodzic obok lerobot-record/rollout. Wrapper
uruchamia komende lerobot w swoim procesie i serwer MJPEG (8081) obok;
hook na Camera.__init__ rejestruje kamery, podglad bierze read_latest()
(peek, petla sterowania dostaje te same klatki). act_pick.py puszcza
rollout przez wrapper (--preview-port, 0 = wylacz).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…opu phyphox

Niesprawdzone na sprzecie. Prawdopodobnie dubluje base_test.py --measure
(pawel/base-calibration) i turn_loop (frane/gyro-rate-loop) - do decyzji.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts:
#	docs/LOG.md
#	docs/STATUS.md
@TomkeMonke
TomkeMonke merged commit 412d5d8 into master Sep 27, 2026
2 checks passed
# Conflicts:
#	docs/LOG.md
#	docs/STATUS.md
# Conflicts:
#	docs/LOG.md
#	docs/STATUS.md
…artbeat-half-speed

# Conflicts:
#	docs/LOG.md
#	docs/RUNBOOK.md
#	docs/STATUS.md
#	tests/test_arm_panel.py
#	web_control.py
…f-speed' into tomek/merge-pawel

# Conflicts:
#	docs/LOG.md
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.

2 participants