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.