Unitree UniArmL1:
Açık Kaynak 6 Eksenli Robot Kol ve Teleoperasyon Çatısı.
Unitree Robotics'in UniArmL1 deposunun Türkçesi. Kaynaktaki iki belge de burada: kökteki genel README ile hardware/README_zh-CN.md donanım kılavuzu. Satın alma listesinden baskı ayarlarına, motor ID'lerinden montaj ve kalibrasyona, teleoperasyon modlarından komut satırı parametrelerine kadar hiçbir bölüm atlanmadı.
UniArmL1 nedir?
UniArmL1, hafif ve açık kaynak bir 6 eksenli (6-DOF) robot kol ve teleoperasyon çatısıdır. Üç kontrol modunu ve standartlaştırılmış veri toplamayı destekler; toplanan veri, taklit öğrenme eğitimi ve dağıtımı için unitree_lerobot ile doğrudan kullanılabilir.
UniArmL1, Unitree Robotics'in tasarlayıp geliştirdiği 6 eksenli robot koldur ve artık açık kaynaktır. Standart yazılım ve donanım arayüzleri sayesinde mevcut Unitree platformlarına hızla bağlanır; entegrasyon ile ikincil geliştirmenin eşiğini düşürür, prototipten uygulamaya geçiş süresini kısaltır.
Teleoperasyon kontrolü
VR kumandası, klavye ve ana/uydu kol: üç modda UniArmL1'in gerçek zamanlı kontrolü.
Veri toplama
Sabit frekansta eklem açıları ve kamera görüntüleri kaydedilir, standart biçimde veri kümesi üretilir.
Eğitime bağlanma
Toplanan veri doğrudan unitree_lerobot taklit öğrenme eğitiminde kullanılabilir.
TAM AKIŞ


Kendi UniArmL1'inizi kurun
Şu an yalnızca kendiniz kurmanız destekleniyor. Adımlar: önce baskı dışı parçaları satın alın (satın alma listesi aşağıda), robot kolun gövde parçalarını 3D yazdırın, motorları bizim yapılandırma yöntemimize göre ayarlayın ve montaj kılavuzunu izleyin.
1.1 Parça satın alma
Teleoperasyon sistemi kuracaksanız aşağıdaki iki robot kol için gereken parçaların tamamını satın alın. Tablo ana ve uydu kolun ortak listesidir.
| Parça | Adet | Birim fiyat (RMB) | Satın alma bağlantısı |
|---|---|---|---|
| J288 servo motor | 16 | 599 | Alibaba |
| Motor kontrol kartı | 2 | 99 | Alibaba |
| Bilek kamerası | 1 | 190 | Alibaba |
| Global kamera | 1 | 183 | Alibaba |
| USB-C veri kablosu | 2 | 23,5 | Alibaba |
| 24V-5A güç adaptörü | 2 | 30 | Alibaba |
| Güç dönüştürme kablosu | 2 | 9,9 | Alibaba |
| Sabitleyici | 4 | 7,8 | Alibaba |
Ayrıca bir miktar bağlantı elemanı hazırlayın: 72 adet M2x10 cıvata, 92 adet M2x8 cıvata, 14 adet M2x5 cıvata, 4 adet M3x6 cıvata, 4 adet M3 somun.
Fiyatlar kaynak depoda RMB olarak verilmiştir; bağlantılar üreticinin listelediği satıcı sayfalarıdır. Robotlar.org bu parçaların satıcısı değildir.
1.2 Parçaların baskısı
Adım 1: Yazıcı seçimi
Verdiğimiz STL dosyaları çeşitli FDM 3D yazıcılarda doğrudan basılabilir. Aşağıda test edilmiş ve önerilen baskı ayarları listelenmiştir; başka ayarlar da işe yarayabilir.
Malzeme
PLA+
Nozul ve katman
0,4 mm nozulda 0,2 mm katman
Dolgu yoğunluğu
%30
Örnek yazıcı
Bambu Lab A/P/X serisi, Prusa MINI+, UP Plus 2
Adım 2: Yazıcının hazırlanması
- 1Yazıcının kendi talimatına göre kalibrasyonunun tamamlandığından ve tablanın doğru tesviye edildiğinden emin olun.
- 2Tablayı temizleyin, yüzeyde toz ya da yağ kalmasın. Tablayı su veya başka bir sıvıyla temizlediyseniz önce iyice kurulayın.
- 3Yazıcınız öneriyorsa, tablanın baskı alanına sıradan katı yapıştırıcıyla ince ve düzgün bir kat sürün; yer yer birikmesin.
- 4Yazıcının kendi talimatına göre filamenti takın.
- 5Yazıcı ayarlarının yukarıdaki önerilerle aynı olduğundan emin olun; çoğu yazıcı birden fazla seçenek sunar, önerilen değere en yakın olanı seçin.
- 6Desteği "destek açık" konumuna alın, eşik açısını 30° yapın.
- 7Yatay eksendeki vida deliklerinin içinde destek üretilmemeli.
Adım 3: Parçaların basılması
Ana (leader) ve uydu (follower) kol için gereken parçaların tamamı tek dosyada toplanmış ve 3D baskı için iyileştirilmiştir; destek yapısını en aza indirmek ve baskı doğruluğunu güvenceye almak için parça yönelimleri de doğru ayarlanmıştır. Tabla ölçüsü 220 mm x 220 mm olan yazıcılar için tek dosya basmanız yeterlidir: UniArmL1.3mf.
Dikkat: Uca uydu kolda kamera, ana kolda tutamak eklendiği için uç modelleri aynı değildir; ancak ikisi de aynı baskı dosyasının içindedir, parça yönelimlerine bakarak ayırt edebilirsiniz.
Farklı baskı ya da değiştirme ihtiyacınız varsa, tüm parçalar ayrı dosyalar halinde de bulunuyor:
1. Ortak parçalar
2. Ana kola özel
3. Uydu kola özel
4. Kamera bağlantısı
Adım 4: Desteklerin sökülmesi
- 1Baskı bitince parçaları küçük bir spatulayla tabladan kaldırın.
- 2Ardından parçalar üzerindeki tüm destek malzemesini temizleyin.
1.3 Motor yapılandırması
Hangi eklemde hangi motorun kullanılacağı aşağıdaki tabloda:
| Eklem adı | Adet | İndis |
|---|---|---|
| Shoulder Pan (base) | 1 | 0 |
| Shoulder Lift | 2 | 1 ve 6 |
| Elbow Flex | 2 | 2 ve 7 |
| Wrist Flex | 1 | 3 |
| Wrist Roll | 1 | 4 |
| Gripper | 1 | 5 |
Önce bilgisayar tarafı yazılımı Motor Hata Ayıklama Yardımcısı indirilir; şu an yalnızca Windows 10 ve Windows 11 destekleniyor.
Kontrol kartının bir ucu bilgisayara, diğer ucu motora bağlanır. İşlev alanından motor modeli, haberleşme seri portu ve kontrol edilecek motor ID numarası seçilebilir.
ID değiştirme: mevcut motor ID'si belirtilen hedef ID ile değiştirilir. İşlem başarılı olduğunda motor ID'si hedef değere güncellenir, aynı anda bilgisayar yazılımında kontrol edilen motor ID'si de yeni ID'ye geçer.
Yukarıdaki tabloya göre motor ID'lerini sırayla değiştirin; ana ve uydu kol için aynı şekilde.
1.4 Montaj kılavuzu
Kaynak depoda uydu kolun SolidWorks genel montaj resmi yer alıyor, yalnızca referans amaçlıdır. Adım adım montaj süreci aşağıda; her adımın hareketli görseli depodaki hardware/media klasöründe.
Taban ve 0 numaralı motor.
Tabana motor kılıfı geçirilir, motor mili tarafına Rotation_Pitch sabitlenir.
Dikkat: ID'si 1 ve 2 olan motorların çıkış mili kolun sağ tarafına bakar. Şerit kabloyu motora taktıktan sonra çift motoru Rotation_Pitch üzerine sabitleyin; koldaki için de aynısı geçerli.
Kola motor yerleştirildikten sonra sabitleme koruma kılıfı takılır, ardından Wrist_roll_pitch sabitlenir.
Son olarak uç tutucunun montajı. İki noktaya dikkat: önce kabuk ile motor 4 sabitlenir, sonra motor 5 kabuğa yerleştirilip sabitlenir ve üzerine dişli bağlantı parçası takılır. Paralel tutucu parmakları önce kızak ile eşleştirilir, ardından kabuğa yerleştirilip sabitlenir.
1.5 Kalibrasyon süreci
Kendi bulduğunuz porta göre --port parametresini değiştirin.
UYDU KOL (FOLLOWER)
python teleop/scripts/calibrate_uniarml1.py --port /dev/ttyACM1 --id follower
- 1Uydu kolu sıfır konumuna getirin, duruşu doğruladıktan sonra Enter'a basın.
- 2Her eklemi sırayla sağa ve sola en geniş hareket aralığına kadar döndürün, bitince Enter'a basın.
ANA KOL (LEADER)
python teleop/scripts/calibrate_uniarml1.py --port /dev/ttyACM3 --id leader
- 1Ana kolu sıfır konumuna getirin, duruşu doğruladıktan sonra Enter'a basın. İki duruş seçeneği var, kullanım alışkanlığınıza göre birini seçin.
- 2Uyarıları izleyerek her eklemi sırayla sağa ve sola en geniş hareket aralığına kadar döndürün. Bilek ekleminde ana kol ile uydu kol aynı aralıkta sağa sola dönmeli. Bitince Enter'a basın.
Kalibrasyon verisi ~/.cache/unitree/calibration/ dizinine kaydedilir.
Ortam yapılandırma
1. Depoyu klonlayın
git clone https://github.com/unitreerobotics/UniArmL1 cd UniArmL1
2. Bağımlılıkları kurun
Bu betik bağımlılıkların tamamını kurar (VR modu dahil):
bash setup.sh
3. VR ortamının yapılandırılması
VR ile teleoperasyon için aşağıdaki adımların ek olarak yapılandırılması gerekir. VR kumanda modu xrobotoolkit SDK kurulumunu gerektirir; yapılandırma için xrobotoolkit belgelerine bakın.
3.1 Bilgisayara XRoboToolkit-PC-Service kurulumu
wget https://github.com/XR-Robotics/XRoboToolkit-PC-Service/releases/download/v1.0.0/XRoboToolkit_PC_Service_1.0.0_ubuntu_22.04_amd64.deb sudo dpkg -i XRoboToolkit_PC_Service_1.0.0_ubuntu_22.04_amd64.deb
3.2 Pico'ya istemci kurulumu
- .APK indirin: XRoboToolkit-PICO-1.1.1.apk
- .Pico'yu bilgisayara bağlayın, APK'yı Pico'nun Download klasörüne sürükleyin.
- .APK'yı Pico içinde kurun.
XRoboToolkit uygulamasını kaynak kütüphanesinde bulabilirsiniz.
Teleoperasyon
1. Portların kontrolü
conda activate UniArmL1 # Seri port cihazlarini goruntule python teleop/scripts/check_port_all.py
Seri port izni yetersizse:
sudo chmod 777 /dev/ttyACM*
2. Kalibrasyon
İlk kullanımda veya motor değiştirdikten sonra önce robot kol kalibrasyonunu tamamlamanız gerekir. Kalibrasyondan önce ana ve uydu kola karşılık gelen seri port numaralarını doğrulayın ve --port parametresini duruma göre değiştirin. Tam kalibrasyon komutları, sıfır konumu duruşu ve eklem döndürme adımları için 1.5 Kalibrasyon süreci bölümüne bakın.
Kalibre edilmemiş robot kol düzgün kontrol edilemez. Kalibrasyondan önce robot kolun doğru monte edildiğinden ve enerjilendiğinden emin olun.
3. Yapılandırma dosyasının düzenlenmesi
Varsayılan yapılandırma teleop/teleop_config.yaml dosyasında tutulur. Doğrudan düzenlenebilir ya da komut satırı parametreleriyle geçersiz kılınabilir; ayrıntı için parametre açıklamalarına bakın.
4. Teleoperasyonun başlatılması
4.1 VR KUMANDA MODU
python teleop/teleop.py -i vr
VR başlığında XRoboToolkit uygulamasını açın, bilgisayarın IP adresini girin, bağlan düğmesine basın, kontrol panelinde controller ve send kutularını işaretleyin. Bilgisayar tarafında XRoboToolkit-PC-Service yazılımını açın; kumandanın yan tuşuna basılı tutarak teleoperasyona başlayabilirsiniz.
4.2 KLAVYE MODU
Başlattıktan sonra bir yön tuşunu basılı tuttuğunuzda robot kol buna karşılık gelen yönde yavaşça hareket eder.
python teleop/teleop.py -i keyboard
Robot kolu hangi tuşların nasıl kontrol ettiği terminalde açıklanır, koddan da bakılabilir.
4.3 ANA/UYDU TELEOPERASYON MODU
Başka bir UniArmL1'i ana kol olarak kullanıp eklem açılarını doğrudan eşler:
python teleop/teleop.py -i leader --port /dev/ttyACM1 --leader-port /dev/ttyACM2
Ana kol sıfır sönümleme modundadır, uydu kol doğrudan ana kolun eklem açılarını takip eder.
Veri toplama
--record eklemeniz, teleoperasyon sırasında veri kaydetmek için yeterlidir:
python teleop/teleop.py -i vr --record --task-dir ./data/pick_place --task-goal "pick up the cup"
Parametre açıklamaları
teleop.py betiğinin desteklediği komut satırı parametreleri ve açıklamaları:
| Parametre | Açıklama | Varsayılan |
|---|---|---|
| --input, -i | Girdi kaynağı modu. Seçenekler: vr (VR kumandası), keyboard (klavye), leader (ana/uydu kol). | vr |
| --port, -p | Uydu kolun seri portu. | /dev/ttyACM1 |
| --leader-port | Ana kolun seri portu, yalnızca ana/uydu modunda kullanılır. | /dev/ttyACM2 |
| --urdf | URDF dosya yolu. | assets/uniarml1/urdf/UniArmL1.urdf |
| --mesh-dir | Mesh dizini yolu. | assets/uniarml1/urdf/ |
| --cameras, -c | Kamera yapılandırması, biçim ad:id, örnek head:0 wrist:2. Birden fazla verilebilir. | - |
| --no-camera | Kamera görüntüsünü kapatır. | kapalı |
| --record, -r | Veri kaydını açar. | kapalı |
| --task-dir | Kayıt verisi dizini. | ./data/teleop |
| --task-goal | Görev hedefi açıklaması. | boş dize |
| --record-hz | Kayıt frekansı (Hz). | 50 |
| --meshcat | Meshcat görselleştirmesini açar. | kapalı |
| --vr-scale | VR artım ölçekleme çarpanı. | 1.2 |
Eğitim ve dağıtım
Toplanan veri, unitree_lerobot taklit öğrenme eğitiminde ve dağıtımında doğrudan kullanılabilir; ayrıntı için unitree_lerobot belgelerine bakın. Kaynak depoda bu bölümde iki politika çıkarım demosu yer alıyor.
Teşekkür
Lisans
Kaynak proje Apache License 2.0 ile lisanslanmıştır; ayrıntı için deponun LICENSE dosyasına bakın. Bu sayfa, deponun Türkçeye çevrilmiş halidir; teknik değerler, komutlar ve parametreler kaynaktan değiştirilmeden alınmıştır. Fotoğraflar da aynı depodandır.
unitreerobotics/UniArmL1