R1 · iz 06 · Physical AI · açık uçlu · 4 adım

AI

Claude ile sürüş, kafayla sesli sohbet; sonra SO-101 ve π.

Sonunda

Doğal dille komut alan bir robot ve physical AI yol haritası.

Önce: Yazılım 7

Adım 1 / 4

Claude ile doğal dil sürüşü

"Masanın etrafında kare çiz" yaz; Claude bunu drive(v, w, süre) çağrılarına çevirir, Python omuriliğe gönderir. Tool use, LLM ile fiziksel dünya arasındaki en ince köprü: model ne yapacağına karar verir, sınırları (hız, süre) senin kodun koyar.

Kod
bilgisayar/claude_surucu.py
# bilgisayar/claude_surucu.py — doğal dille sür: "masanın etrafında kare çiz"
# pip install anthropic pyserial ; export ANTHROPIC_API_KEY=...
import json, sys
import anthropic
from surus import drive  # bir önceki dosya

client = anthropic.Anthropic()
tools = [{
    "name": "drive",
    "description": "R1'i sür. v: ileri hız mm/s (-300..300). w: dönüş mrad/s (+ sola, -3000..3000). seconds: süre (0.1..5).",
    "input_schema": {"type": "object", "properties": {
        "v": {"type": "number"}, "w": {"type": "number"}, "seconds": {"type": "number"}},
        "required": ["v", "w", "seconds"]},
}]

msgs = [{"role": "user", "content": " ".join(sys.argv[1:]) or "1 metre ileri git, geri dön"}]
while True:
    r = client.messages.create(model="claude-sonnet-5-5", max_tokens=1024, tools=tools, messages=msgs,
        system="Sen 15x11 cm, iki tekerli bir robotu sürüyorsun. Yavaş ve güvenli sür. Her drive çağrısı en çok 5 sn.")
    msgs.append({"role": "assistant", "content": r.content})
    calls = [b for b in r.content if b.type == "tool_use"]
    if not calls:
        print("".join(b.text for b in r.content if b.type == "text")); break
    results = []
    for c in calls:
        a = c.input
        v, w, t = max(-300, min(300, a["v"])), max(-3000, min(3000, a["w"])), max(0.1, min(5, a["seconds"]))
        print(f"drive v={v} w={w} t={t}"); drive(v, w, t)
        results.append({"type": "tool_result", "tool_use_id": c.id, "content": "tamam"})
    msgs.append({"role": "user", "content": results})
Yapılacaklar
Öğren · Güvenlik zarfı

Kodda Claude'un istediği hız ve süre kırpılıyor (±300 mm/s, en çok 5 s), omurilikte de watchdog ve pil kesimi var. Physical AI'da kural: model önerir, deterministik katman sınırlar. Kol ve humanoid için de aynı.

Yapılacaklar 0/2: hepsi işaretlenince ilerlersin.