LeRobot ile SO-101 Kurulumu ve Teleoperasyon Rehberi
SO-101 robot kolunu Hugging Face LeRobot ile çalıştırmak için Python ortamından teleoperasyona, oradan taklit öğrenmeye kadar adım adım yol haritası.
SO-101'i LeRobot ile kurmak için önce Python ve pip install lerobot ile kütüphaneyi kurun, follower ve leader kolları USB'den bağlayın, seri portları ve Feetech STS3215 motorlarını tanımlayıp kalibre edin, sonra teleoperasyonu başlatın. Hashtag Robotics kolu kurulu ve kalibre teslim ettiği için bu adımlar çok daha hızlı tamamlanır.
LeRobot, Hugging Face'in açık kaynak robotik kütüphanesidir ve SO-101 (açık SO-ARM100 / SO-ARM101 tasarımı temelli) ile tam uyumludur. Python tabanlı olduğu için teleoperasyon, veri toplama, taklit öğrenme ve politika eğitimini aynı araç setiyle yapabilirsiniz. Bu sayfa genel bir akış sunar; tam ve güncel komutlar için her zaman resmi LeRobot dokümantasyonunu ve GitHub deposunu takip edin.
SO-101, leader (operatörün elle yönlendirdiği kontrol kolu) ve follower (görevi yapan kol) ikilisinden oluşur. 5 eksen artı paralel tutucu (toplam 5 DOF + gripper) ile çalışır ve gövdesi 3D baskı (PLA/PETG) PLA/PETG malzemedir.
Başlamadan önce
- İşletim sistemi: LeRobot, Python kurabildiğiniz Linux, macOS ve Windows ortamlarında çalışır.
- Donanım: Bir SO-101 follower kol, bir SO-101 leader kol, Feetech STS3215 seri bus akıllı servolar, servo bus kartı ve güç kaynağı.
- Bağlantı: Her kol için bir USB portu.
- Eğitim için: Taklit öğrenme politikası eğitmek istiyorsanız bir GPU işleri ciddi biçimde hızlandırır, ancak veri toplama için zorunlu değildir.
Adım adım kurulum
Python ortamı ve pip install lerobot
Python 3'ün ve pip'in kurulu olduğundan emin olun. Bağımlılıkları temiz tutmak için bir sanal ortam oluşturup içinde LeRobot'u kurun.
# Python sürümünü doğrula
python --version
# İzole bir sanal ortam oluştur ve etkinleştir
python -m venv lerobot-env
source lerobot-env/bin/activate # Windows: lerobot-env\Scripts\activate
# LeRobot'u kur
pip install lerobot
Bazı sürümlerde Feetech servoları için ek bir donanım eklentisinin kurulması gerekebilir. Kurulumdan sonra import lerobot çalışıyorsa kütüphane hazırdır. Kesin paket adları ve eklentiler için resmi dokümantasyona bakın.
Follower, leader ve servo bus
Önce follower kolu, sonra leader kolu USB üzerinden bilgisayara bağlayın. Feetech STS3215 servolar, kolun servo bus kartına ve ayrı bir güç kaynağına bağlı olmalıdır. Servolar seri bus (daisy-chain) mantığıyla zincirleme çalışır, bu yüzden tek kabloyla bütün eklemlere ulaşılır.
- Güç kaynağını kolun gerektirdiği gerilime uygun bağlayın.
- USB bağlantısını yapın; bilgisayar her kol için yeni bir seri port göstermelidir.
- Hareket alanını boşaltın; ilk teleoperasyonda kolun serbestçe dönebilmesi gerekir.
Seri port, motor kimlikleri ve kalibrasyon
LeRobot'un follower ve leader kolu doğru seri porttan tanıyabilmesi için portları tespit etmeniz ve Feetech STS3215 motorlarını tanımlamanız gerekir. Ardından kalibrasyon adımı, her eklemin sıfır ve uç noktalarını öğreterek leader ve follower hareketlerinin örtüşmesini sağlar.
# Bağlı seri portları listele (örnek)
python -m lerobot.find_port
# Kolları tanımla ve kalibrasyonu çalıştır
# (komut ve argümanlar resmi LeRobot dokümanını izler)
python -m lerobot.calibrate
Leader ile follower'ı sür
Kalibrasyon tamamlandıktan sonra teleoperasyonu başlatın. Leader kolu elinizle hareket ettirdiğinizde follower kol bu hareketi gerçek zamanlı taklit eder. Bu, hem sistemi doğrulamanın hem de görev gösterimleri (demonstration) toplamanın temelidir.
# Teleoperasyonu başlat (leader -> follower)
python -m lerobot.teleoperate
Follower, leader'ı pürüzsüz takip ediyorsa kurulum çalışıyor demektir. Takipte gecikme veya kayma varsa kalibrasyon adımını tekrarlayın ve port atamalarını kontrol edin.
Kayıt, veri seti ve politika
SO-101'in asıl gücü, teleoperasyonla topladığınız gösterimlerden bir politika öğrenmesidir. Bir görevi leader ile birkaç kez tekrarlayıp kayıt alarak veri seti oluşturursunuz, sonra bu veriyle bir taklit öğrenme politikası eğitir ve follower üzerinde değerlendirirsiniz.
# Bir görev için gösterim kaydet (veri seti oluştur)
python -m lerobot.record
# Toplanan veriyle bir politika eğit
python -m lerobot.train
# Eğitilen politikayı follower üzerinde çalıştır
python -m lerobot.eval
Veri seti boyutu, görev tekrar sayısı ve seçilen politika mimarisi sonucu doğrudan etkiler. Önerilen iş akışları, episode sayıları ve politika tipleri için LeRobot GitHub deposundaki örneklere bakın.
Hızlı referans
| Aşama | Amaç | Genel komut |
|---|---|---|
| Kurulum | LeRobot'u sisteme ekle | pip install lerobot |
| Port bulma | Seri portları tespit et | lerobot.find_port |
| Kalibrasyon | Eklem sıfır/uç noktaları | lerobot.calibrate |
| Teleoperasyon | Leader ile follower'ı sür | lerobot.teleoperate |
| Veri toplama | Gösterim kaydet | lerobot.record |
| Eğitim | Politika eğit | lerobot.train |
Tablodaki modül adları yön gösterme amaçlıdır. Çalıştırılabilir tam komutlar ve argümanlar için resmi LeRobot dokümantasyonu esas alınmalıdır.
Sık karşılaşılan noktalar
- Port karışıklığı: İki kol da bağlıyken hangi portun follower hangisinin leader olduğunu doğru eşleştirin. Tek tek takıp port listesini karşılaştırmak en güvenli yöntemdir.
- Servo gücü: Feetech STS3215 servolar USB üzerinden değil, ayrı güç kaynağından beslenir. Kol "ölü" görünüyorsa önce güç ve bus bağlantısını kontrol edin.
- SO-100 ve SO-101 ayrımı: SO-100 önceki sürüm, SO-101 günceldir; SO-ARM100 / SO-ARM101 aynı ailenin adlandırmalarıdır. Doküman seçerken sürümü doğrulayın.
- Kalibrasyon teyidi: Hashtag Robotics kollarında kalibrasyon fabrikada yapılır, yine de ilk teleoperasyonda hareketleri gözlemleyip doğrulamanız önerilir.
Daha derli toplu bir başlangıç için resmi kaynaklar ana referanstır: huggingface.co/docs/lerobot ve github.com/huggingface/lerobot. Bu rehber, SO-101 ile genel akışı kurmanız için bir harita; komutların kesin halini her zaman güncel dokümandan alın.