mirror of
https://github.com/huggingface/lerobot.git
synced 2026-05-18 02:00:03 +00:00
33 lines
1017 B
Python
33 lines
1017 B
Python
# snifflonger.py
|
|
import csv, time, sys
|
|
from sniff import LowCmdSniffer # uses latest() -> ok, q, dq, kp, kd, tau
|
|
|
|
IFACE = sys.argv[1] if len(sys.argv) > 1 else "en7"
|
|
DT = float(sys.argv[2]) if len(sys.argv) > 2 else 0.01 # seconds
|
|
|
|
N = 35
|
|
|
|
def header(prefix):
|
|
return [f"{prefix}{i}" for i in range(N)]
|
|
|
|
def main():
|
|
sniffer = LowCmdSniffer(iface=IFACE)
|
|
|
|
with open("lowcmd_log.csv", "w", newline="") as f:
|
|
w = csv.writer(f)
|
|
w.writerow(["t"] + header("kp") + header("kd") + header("q") + header("dq") + header("tau"))
|
|
try:
|
|
while True:
|
|
ok, q, dq, kp, kd, tau = sniffer.latest()
|
|
if ok:
|
|
t = time.time()
|
|
# ensure lists (in case numpy arrays)
|
|
w.writerow([t, *kp.tolist(), *kd.tolist(), *q.tolist(), *dq.tolist(), *tau.tolist()])
|
|
f.flush()
|
|
time.sleep(DT)
|
|
except KeyboardInterrupt:
|
|
pass
|
|
|
|
if __name__ == "__main__":
|
|
main()
|