ओपनआर्म 101 सेटअप गाइड

अनबॉक्सिंग से लेकर अपनी पहली AI-प्रशिक्षित गति तक इस पथ का अनुसरण करें। कुल मिलाकर लगभग 4-5 घंटे लगते हैं।

7 में से चरण 1
1

अनबॉक्सिंग एवं सुरक्षा जांच

⏱ ~30 मिनट
⚠️
पहले सुरक्षा दिशानिर्देश पढ़ें को पढ़िए पूर्ण सुरक्षा दिशानिर्देश चालू करने से पहले. बिजली चलाते समय कभी भी कार्यस्थल पर न पहुंचें। केबलों को समायोजित करने से पहले हमेशा बिजली बंद कर दें।

आरंभ करने से पहले

  • सुनिश्चित करें कि आपके पास एक स्थिर सतह पर 1m × 1m का स्पष्ट कार्यक्षेत्र है
  • Ubuntu 22.04 वाला एक लैपटॉप तैयार रखें (VM काम करता है, देशी को प्राथमिकता)
  • हाथ को संचालित रखें बंद नीचे भौतिक निरीक्षण के दौरान

बॉक्स में

ओपनआर्म 101 आर्म यूनिट
बिजली की आपूर्ति (24V डीसी)
कैन यूएसबी एडाप्टर
माउंटिंग हार्डवेयर
त्वरित प्रारंभ कार्ड

निरीक्षण चेकलिस्ट

  • सभी 8 जोड़ स्वतंत्र रूप से घूमते हैं (कोई पीस या प्रतिरोध नहीं)
  • आर्म बॉडी के साथ केबल रूटिंग बरकरार है
  • पावर कनेक्टर क्षतिग्रस्त नहीं है
  • आपातकालीन स्टॉप सुलभ और कार्यात्मक है
⚠️
सुरक्षा नियम
  • जब हाथ चालू हो तो कभी भी कार्यस्थल पर न पहुंचें
  • केबल समायोजित करने या हार्डवेयर परिवर्तन करने से पहले हमेशा बिजली बंद कर दें
  • ऑपरेशन के दौरान बच्चों और पालतू जानवरों को दूर रखें
  • पहली बार चलाने से पहले आधार को एक स्थिर सतह पर सुरक्षित करें
2

सॉफ़्टवेयर वातावरण और CAN कॉन्फ़िगरेशन

⏱ ~60 मिनट

सिस्टम आवश्यकताएं

  • उबंटू 22.04 एलटीएस (अनुशंसित) या 20.04
  • पायथन 3.10+
  • ROS2 विनम्र
  • USB-CAN एडाप्टर (CANable या संगत - पूर्ण 5 Mbit/s डेटा दर के लिए CAN FD का समर्थन करना चाहिए)

चरण 2ए - मोटर आईडी कॉन्फ़िगरेशन

किसी भी सॉफ़्टवेयर सेटअप से पहले, प्रत्येक डेमियाओ मोटर को उसकी CAN आईडी निर्दिष्ट की जानी चाहिए। यह डेमियाओ यूएसबी कैन डीबगर का उपयोग करके विंडोज़ पर किया जाने वाला एक बार का कदम है।

दामियाओ डिबगिंग टूल (विंडोज़): डाउनलोड करना डिबगिंग_टूल्स_v.1.6.8.8.exe और प्रत्येक मोटर के ट्रांसमीटर और रिसीवर आईडी को सेट करने के लिए इसका उपयोग करें। चेन लगाने से पहले हमेशा एक समय में एक मोटर का परीक्षण करें।

प्रत्येक जोड़ (J1-J8) के लिए विहित आईडी असाइनमेंट के रूप में नीचे दी गई तालिका का उपयोग करें:

संयुक्त ट्रांसमीटर आईडी रिसीवर आईडी
J10x010x11
J20x020x12
J30x030x13
J40x040x14
J50x050x15
J60x060x16
J70x070x17
J80x080x18

चरण 2बी - ओपनआर्म पैकेज स्थापित करें

अपनी उबंटू मशीन पर, आधिकारिक ओपनआर्म पीपीए से सभी आवश्यक पैकेज इंस्टॉल करें:

sudo apt install -y software-properties-common
sudo add-apt-repository -y ppa:openarm/main
sudo apt update
sudo apt install -y \
  can-utils \
  iproute2 \
  libeigen3-dev \
  libopenarm-can-dev \
  liborocos-kdl-dev \
  liburdfdom-dev \
  liburdfdom-headers-dev \
  libyaml-cpp-dev \
  openarm-can-utils

चरण 2c - CAN इंटरफ़ेस सेट करें (CAN FD)

ओपनआर्म मोटर्स CAN 2.0 और CAN FD दोनों को सपोर्ट करते हैं। CAN FD की अनुशंसा की जाती है - यह डेटा चरण को 5 Mbit/s पर चलाता है और 64-बाइट पेलोड तक का समर्थन करता है, जो पूर्ण डेमियाओ मोटर बैंडविड्थ के लिए आवश्यक है।

तरीका नाममात्र बॉड डेटा बॉड पेलोड
कैन 2.01 एमबीटी/एस8 बाइट्स
एफडी कर सकते हैं1 एमबीटी/एस5 एमबीटी/एस64 बाइट्स तक

अनुशंसित - ओपनआर्म हेल्पर का उपयोग करें:

# CAN FD, 1M nominal / 5M data (recommended for single arm)
openarm-can-configure-socketcan can0 -fd -b 1000000 -d 5000000

# CAN 2.0 fallback (1M baud, no FD)
openarm-can-configure-socketcan can0

# 4-arm bimanual setup (can0–can3)
openarm-can-configure-socketcan-4-arms -fd

# Verify the interface is UP
ip link show can0

मैनुअल आईपी लिंक कमांड (यदि सहायक का उपयोग नहीं कर रहे हैं):

# CAN 2.0
sudo ip link set can0 down
sudo ip link set can0 type can bitrate 1000000
sudo ip link set can0 up

# CAN FD — 1M nominal / 5M data
sudo ip link set can0 down
sudo ip link set can0 type can bitrate 1000000 dbitrate 5000000 fd on
sudo ip link set can0 up
प्रति हाथ एक कैन पोर्ट। सिंगल-आर्म सेटअप का उपयोग करता है can0. एक द्वि-मैन्युअल सेटअप का उपयोग करता है can0 (सही नेता) + can1 (वामपंथी नेता) + can2 (दायाँ अनुयायी) + can3 (बाएं अनुयायी)।

चरण 2डी - मोटर नियंत्रण कमांड और डिबगिंग

इनका प्रयोग करें cansend निम्न-स्तरीय डिबगिंग के लिए आदेश। कोई भी आदेश भेजने से पहले बस की निगरानी करें:

# Monitor all CAN frames
candump -x can0

# Change motor baudrate (replace 1 with target motor CAN ID)
openarm-can-change-baudrate --baudrate 5000000 --canid 1 --socketcan can0
# Persist across power cycles (max ~10,000 flash writes per motor — use sparingly)
openarm-can-change-baudrate --baudrate 5000000 --canid 1 --socketcan can0 --flash

CAN 2.0 मोटर नियंत्रण - प्रतिस्थापित करें 001 उपरोक्त तालिका से लक्ष्य जोड़ की ट्रांसमीटर आईडी के साथ:

# Clear motor error
cansend can0 001#FFFFFFFFFFFFFFFB
# Enable motor
cansend can0 001#FFFFFFFFFFFFFFFC
# Disable motor
cansend can0 001#FFFFFFFFFFFFFFFD

कैन एफडी मोटर नियंत्रण - अतिरिक्त नोट करें #1 बाद ## (बीआरएस ध्वज):

# Clear motor error
cansend can0 001##1FFFFFFFFFFFFFFFB
# Enable motor
cansend can0 001##1FFFFFFFFFFFFFFFC
# Disable motor
cansend can0 001##1FFFFFFFFFFFFFFFD
⚠️
एक समय में एक मोटर का परीक्षण करें पहली बार चालू होने पर, CAN बस पर डेज़ी-चेनिंग से पहले प्रत्येक मोटर को व्यक्तिगत रूप से कनेक्ट करें और उसका परीक्षण करें। यह आईडी टकराव और वायरिंग दोषों को अलग करता है। --flash फ़्लैग बॉड्रेट परिवर्तन जारी रखता है - प्रत्येक मोटर अधिकतम ~10,000 फ़्लैश लेखन चक्रों का समर्थन करता है।

मोटर एलईडी स्थिति

प्रत्येक डेमियाओ मोटर में एक ऑनबोर्ड एलईडी है जो वर्तमान स्थिति का संकेत देती है। बिजली चालू करने के बाद त्वरित स्वास्थ्य जांच के रूप में इसका उपयोग करें:

एलईडी पैटर्न अर्थ
हरा (स्थिर)मोटर सक्षम और तैयार
लाल (स्थिर)मोटर अक्षम
लाल (चमकती)मोटर त्रुटि स्थिति - पुन: सक्षम करने से पहले क्लियर एरर कमांड भेजें

चरण 2e - ROS2 पैकेज स्थापित करें

sudo apt install ros-humble-ros2-control ros-humble-ros2-controllers
git clone https://github.com/enactic/openarm_ros2
cd openarm_ros2 && colcon build

पायथन एसडीके स्थापित करें

pip install roboticscenter
python -c "import roboticscenter; print('SDK ready')"
3

प्रथम प्रस्ताव

⏱ ~30 मिनट

नकली हार्डवेयर से शुरुआत करें (सुरक्षित - कोई शारीरिक गतिविधि नहीं)

वास्तविक भुजा को हिलाने से पहले हमेशा सिमुलेशन में सत्यापित करें। लॉन्च फ़ाइल को इसके साथ चलाएँ use_fake_hardware:=true - किसी CAN कनेक्शन की आवश्यकता नहीं:

ros2 launch openarm_ros2 openarm.launch.py use_fake_hardware:=true
ros2 run openarm_ros2 test_trajectory

यह सत्यापित करने के लिए कि सिम्युलेटेड भुजा परीक्षण प्रक्षेपवक्र के माध्यम से सही ढंग से चलती है, आरवीज़ खोलें। सभी 8 जोड़ सुचारू रूप से सक्रिय होने चाहिए।

रियल हार्डवेयर पर स्विच करें

एक बार जब सिमुलेशन सही दिखने लगे, तो CAN एडॉप्टर प्लग इन करें और बांह पर पावर डालें:

ros2 launch openarm_ros2 openarm.launch.py

फर्स्ट मोशन कमांड भेजें (होम पोजीशन)

ros2 action send_goal /joint_trajectory_controller/follow_joint_trajectory \
  control_msgs/action/FollowJointTrajectory "{...}"
⚠️
पहली वास्तविक दौड़ के लिए अपना हाथ आपातकालीन स्टॉप पर रखें। हाथ घरेलू स्थिति में आ जाएगा। यदि गति गलत लगे तो तुरंत रुकने के लिए तैयार रहें।
4

अंशांकन एवं होमिंग

⏱ ~45 मिनट

सटीक नियंत्रण के लिए संयुक्त शून्य स्थिति को भौतिक वास्तविकता से मेल खाना चाहिए। गलत ढंग से मापे गए जोड़ नीचे की ओर नीतिगत विफलताओं का कारण बनते हैं - इस चरण को न छोड़ें।

घर वापसी प्रक्रिया

  1. ज्ञात सुरक्षित स्थिति में हाथ रखकर बिजली चालू करें (मोटे तौर पर विस्तारित, बाधाओं से दूर)
  2. होमिंग स्क्रिप्ट चलाएँ:
    ros2 run openarm_ros2 homing
  3. स्क्रिप्ट आपको प्रत्येक जोड़ को उसके कठिन पड़ाव पर मैन्युअल रूप से मार्गदर्शन करने के लिए प्रेरित करेगी - धीरे-धीरे आगे बढ़ें
  4. संकेत दिए जाने पर पुष्टि करें कि प्रत्येक जोड़ के लिए शून्य स्थिति सहेजी गई है

अंशांकन सत्यापित करें

ros2 topic echo /joint_states  # check all positions read near zero
अपेक्षित परिणाम: जब हाथ अपनी संदर्भ मुद्रा में हो तो सभी संयुक्त स्थितियों को शून्य के ±0.05 रेड के भीतर पढ़ना चाहिए। बड़े विचलन एक छूटे हुए जोड़ या एनकोडर समस्या का संकेत देते हैं - उस जोड़ के लिए होमिंग प्रक्रिया को दोहराएं।
5

टेलीऑपरेशन

⏱ ~60 मिनट

अपना ऑपरेटर डिवाइस चुनें

वीआर नियंत्रक

मेटा क्वेस्ट / स्टीम वीआर - स्थानिक कार्यों के लिए अच्छा है

कीबोर्ड/गेमपैड

बुनियादी परीक्षण और मोटे पोजिशनिंग के लिए

ऑपरेटर डिवाइस कनेक्ट करें

ros2 launch openarm_ros2 teleop.launch.py operator:=wuji_hand

विलंबता की जाँच करें

लक्ष्य एंड-टू-एंड विलंबता 50 एमएस से कम है। विलंबता परीक्षण चलाएँ और सत्यापित करें:

ros2 run openarm_ros2 latency_check
उच्च विलंबता? USB-CAN एडेप्टर प्रदर्शन में भिन्न होते हैं। यदि विलंबता 80 एमएस से अधिक है, तो एक अलग यूएसबी पोर्ट (यूएसबी 3.0 को प्राथमिकता दें) आज़माएं, पृष्ठभूमि प्रक्रियाओं को कम करें, या मूल कैन इंटरफ़ेस पर स्विच करें।
6

डेटा संग्रहण

⏱ जारी है

डेटा प्रारूप चुनें

  • लेरोबोट (अनुशंसित) - अनुकरण सीखने और मॉडल प्रशिक्षण के उद्देश्य से बनाया गया
  • RLDS - ओपन-एक्स-एम्बोडिमेंट और क्रॉस-रोबोट डेटासेट के साथ संगत

रिकॉर्डिंग प्रारंभ करें

ros2 launch openarm_ros2 record.launch.py \
  output_format:=lerobot \
  task_name:=pick_and_place \
  episode_id:=0

प्रत्येक एपिसोड को संयुक्त स्थिति, कैमरा फ्रेम और एक्शन लेबल के साथ एक स्व-निहित फ़ाइल के रूप में सहेजा जाता है। एकाधिक एपिसोड चलाएं, फिर समीक्षा और फ़िल्टर करने के लिए एसवीआरसी प्लेटफ़ॉर्म का उपयोग करें।

एपिसोड गुणवत्ता चेकलिस्ट

  • कैमरा फ़ीड सिंक्रनाइज़ हैं (5 एमएस के भीतर टाइमस्टैम्प)
  • संयुक्त अवस्थाएँ ≥ 50 हर्ट्ज़ पर दर्ज की गईं
  • कार्रवाई लेबल प्रदर्शित व्यवहार से मेल खाते हैं
  • विफल एपिसोड को बहिष्करण के लिए चिह्नित किया गया है, हटाया नहीं गया है
असफलता के प्रसंग रखें. असफल प्रदर्शनों में सीखने की मजबूती के लिए उपयोगी संकेत होते हैं। उन्हें चिह्नित करें is_failure:=true - प्लेटफ़ॉर्म उनका उपयोग विपरीत शिक्षण या फ़िल्टरिंग के लिए कर सकता है।
7

एआई मॉडल प्रशिक्षण एवं परिनियोजन

⏱ जारी है

ओपनआर्म के लिए अनुशंसित मॉडल

  • अधिनियम (एक्शन चंकिंग ट्रांसफार्मर) - चुनने और रखने के लिए सर्वोत्तम। कैमरे के अवलोकन से कार्रवाई के हिस्सों की भविष्यवाणी करता है।
  • प्रसार नीति —संपर्क-समृद्ध कार्यों के लिए सर्वोत्तम। डीनोइज़िंग के माध्यम से सहज प्रक्षेप पथ उत्पन्न करता है।
  • ओपनवीएलए - भाषा-अनुकूलित कार्यों के लिए सर्वोत्तम। दृष्टि-भाषा की समझ को रोबोट क्रियाओं के साथ जोड़ता है।

अपने डेटा पर ACT को फाइन-ट्यून करें

pip install lerobot
python train.py --config act_openarm --data-path ./recordings/

उपभोक्ता GPU (RTX 3090 या बेहतर) पर प्रशिक्षण में आमतौर पर 50 एपिसोड के लिए 2-4 घंटे लगते हैं। उपयोग --resume चेकपॉइंट से जारी रखने के लिए ध्वज।

किनारे पर तैनात करें

ros2 launch openarm_ros2 inference.launch.py \
  model_path:=./checkpoints/best.pt

अनुमान नोड कैमरा फ्रेम पढ़ता है, मॉडल चलाता है, और नियंत्रण आवृत्ति पर संयुक्त कमांड प्रकाशित करता है। वास्तविक समय नियंत्रण के लिए लक्ष्य अनुमान विलंबता 20 एमएस से कम है।

आपने पूरा सेटअप पथ पूरा कर लिया है!

आपका ओपनआर्म कैलिब्रेटेड, टेलीऑपरेटेड, डेटा-संग्रहित और एआई चलाने वाला है। आपने जो बनाया है उसे समुदाय के साथ साझा करें।

← ओपनआर्म हब पर वापस जाएं फोरम पर जाएँ एक और ओपनआर्म खरीदें →

मदद की ज़रूरत है?

ओपनआर्म फोरम समुदाय और एसवीआरसी टीम से उत्तर प्राप्त करने का सबसे तेज़ स्थान है।