LeRobot documentation

OpenArm

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

OpenArm

OpenArm, fiziksel yapay zeka araştırması ve dağıtımı için tasarlanmış açık kaynaklı 7DOF insansı bir koldur.

OpenArm'ınızı, montajlı veya kendin yap olarak edinmek ve küresel topluluğa katılmak için dünya genelindeki doğrulanmış ve sertifikalı üreticileri openarm.dev adresinde inceleyin.

Neyi Farklı Kılıyor?

  • İnsan Ölçeğinde Tasarım: OpenArm, yaklaşık 160-165 cm boyundaki bir kişiye uygun orantılarla tasarlanmıştır. Bu, güvenli ve tepkisel bir çalışma için pratik erişim ile yönetilebilir atalet arasında optimal bir denge sağlar.

  • Güvenlik Öncelikli Mimari: QDD geri sürülebilir motorlar ve yüksek uyumlulukla geliştirilen OpenArm, gerçek dünya görevleri için pratik taşıma kapasitelerini (6,0 kg tepe / 4,1 kg nominal) korurken güvenli insan-robot etkileşimini önceliklendirir.

  • Dayanıklılık İçin Tasarlandı: Kritik yapısal bileşenler, alüminyum ve paslanmaz çelikten üretilmiştir; bu da tekrarlayan veri toplama ve sürekli araştırma kullanımında sağlam performans sağlar.

  • Tamamen Erişilebilir ve Üretilebilir: CNC parçalarından 3D baskılı kasalara ve elektrik kablolarına kadar her bileşen, bireysel araştırmacılar ve laboratuvarlar tarafından satın alınabilir ve üretilebilir şekilde tasarlanmıştır; tam üretim verileri sağlanmaktadır.

  • Pratik ve Uygun Fiyatlı: Tam bir çift kollu sistem için 6.500 ABD doları karşılığında OpenArm, geleneksel humanoid robot maliyetlerinin çok küçük bir kısmıyla araştırma sınıfı yetenekler sunar.

Platform Gereksinimleri

**Linux Only**: OpenArm currently only works on Linux. The CAN bus USB adapter does not have macOS drivers and has not been tested on Windows.

Güvenlik Kılavuzu

OpenArm'i kullanmadan önce lütfen resmi güvenlik kılavuzunu okuyun. Temel noktalar:

  • Güvenli kurulum: Kolu, vidalar veya kelepçelerle düz ve kararlı bir yüzeye sabitleyin
  • Güvenli mesafe: Çalışma sırasında vücut kısımlarını ve nesneleri hareket alanının dışında tutun
  • Koruyucu ekipman: Her zaman güvenlik gözlüğü takın; gerektiğinde ek KKD kullanın
  • Yük sınırları: Belirtilen yük sınırlarını aşmayın (kol başına 6,0 kg zirve / 4,1 kg nominal)
  • Acil durdurma: Acil durdurma cihazının konumunu ve kullanımını bilin
  • Düzenli kontrol: Gevşemiş vidaları, hasarlı mekanik sınırları, olağandışı sesleri ve kablo hasarlarını kontrol edin

Donanım Kurulumu

Şu konular için resmi OpenArm donanım belgelerini izleyin:

  • Malzeme listesi ve tedarik
  • 3D baskı talimatları
  • Mekanik montaj
  • Elektrik tesisatı

Donanım depoları github.com/enactic/openarm adresinde mevcuttur.

CAN Bus Kurulumu

OpenArm, Damiao motorlarla CAN bus iletişimi kullanır. CAN bus USB adaptörünü Linux bilgisayarınıza taktıktan sonra, arayüzü yapılandırmak için Damiao Motors and CAN Bus guide kılavuzunu izleyin.

Hızlı kurulum:

# Setup CAN interfaces
lerobot-setup-can --mode=setup --interfaces=can0,can1

# Test motor communication
lerobot-setup-can --mode=test --interfaces=can0,can1

LeRobot 🤗'u Yükle

Yükleme Kılavuzu’muzu izleyin, ardından Damiao motor desteğini yükleyin:

pip install -e ".[damiao]"

Kullanım

Takip Kolu (Robot)

Komut
API örneği
lerobot-calibrate \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_openarm_follower

Lider Kol (Teleoperatör)

Leader kol, teleoperasyon için kullanılır; takipçi kolu kontrol etmek için manuel olarak hareket ettirilir.

Komut
API örneği
lerobot-calibrate \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_openarm_leader

Teleoperasyon

OpenArm'i lider-takipçi kontrolüyle teleoperasyon yapmak için:

lerobot-teleoperate \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_openarm_follower \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_openarm_leader

Kalibrasyon sırasında kullanılan --robot.id ve --teleop.id değerlerini kullanın; böylece LeRobot kalibrasyon dosyalarını bulur.

İki Ellilik Uzaktan Kontrol

İki lider ve iki takipçi kolu olan bimanüel bir OpenArm kurulumunu teleoperasyonla kontrol etmek için:

lerobot-teleoperate \
    --robot.type=bi_openarm_follower \
    --robot.left_arm_config.port=can0 \
    --robot.left_arm_config.side=left \
    --robot.right_arm_config.port=can1 \
    --robot.right_arm_config.side=right \
    --robot.id=my_bimanual_follower \
    --teleop.type=bi_openarm_leader \
    --teleop.left_arm_config.port=can2 \
    --teleop.right_arm_config.port=can3 \
    --teleop.id=my_bimanual_leader

Veri Kaydı

Teleoperasyon sırasında bir veri seti kaydetmek için:

lerobot-record \
    --robot.type=openarm_follower \
    --robot.port=can0 \
    --robot.side=right \
    --robot.id=my_openarm_follower \
    --teleop.type=openarm_leader \
    --teleop.port=can1 \
    --teleop.id=my_openarm_leader \
    --dataset.repo_id=${HF_USER}/my_openarm_dataset \
    --dataset.single_task="Describe your task here" \
    --dataset.fps=30 \
    --dataset.num_episodes=10

lerobot-record, oturumun tarih ve saatini veri seti adının sonuna ekler; bu nedenle veri seti my_hf_username/my_openarm_dataset_YYYYMMDD_HHMMSS olarak kaydedilir. Kameralar, klavye kontrolleri ve iş akışının geri kalanı için kayıt kılavuzuna bakın.

Yapılandırma Seçenekleri

Takipçi Yapılandırması

ParametreVarsayılanAçıklama
port-CAN arayüzü (ör. can0)
sideNoneArm tarafı: özel sınırlar için "left", "right" veya None
use_can_fdTrueDaha yüksek veri hızları için CAN FD'yi etkinleştirin
can_bitrate1000000Nominal bit hızı (1 Mbps)
can_data_bitrate5000000CAN FD veri bant genişliği (5 Mbps)
max_relative_targetNoneGöreceli hedef konumları için güvenlik sınırı
position_kpEklem başınaKonum kontrolü oransal kazançları
position_kdEklem başınaKonum kontrolü türev kazançları

Lider Yapılandırması

ParametreVarsayılanAçıklama
port-CAN arayüzü (ör. can1)
manual_controlTrueManuel hareket için torku devre dışı bırak
use_can_fdTrueDaha yüksek veri hızları için CAN FD'yi etkinleştirin
can_bitrate1000000Nominal bit hızı (1 Mbps)
can_data_bitrate5000000CAN FD veri bant genişliği (5 Mbps)

Motor Yapılandırması

OpenArm, aşağıdaki varsayılan yapılandırmayı kullanan Damiao motorlarını kullanır:

BirlikteMotor TürüKimlik GönderAlıcı Kimliği
joint_1 (Omuz pan)DM80090x010x11
joint_2 (Omuz kaldırma)DM80090x020x12
joint_3 (Omuz rotasyonu)DM43400x030x13
joint_4 (Dirsek fleksiyonu)DM43400x040x14
joint_5 (Bilek yuvarlama)DM43100x050x15
joint_6 (Bilek pitch)DM43100x060x16
joint_7 (Bilek rotasyonu)DM43100x070x17
gripperDM43100x080x18

Sorun Giderme

Motorlardan Yanıt Alınamadı

  1. Güç kaynağı bağlantılarını kontrol edin
  2. Verify CAN wiring (CAN-H, CAN-L, GND)
  3. Tanılama çalıştırın: lerobot-setup-can --mode=test --interfaces=can0
  4. Daha fazla ayrıntı için Damiao sorun giderme kılavuzuna bakın

CAN Arayüzü Bulunamadı

CAN arayüzünün yapılandırıldığından emin olun:

ip link show can0

Kaynaklar

Update on GitHub