6-एक्सिस आर्म#

परिचय#

VEX का 6-एक्सिस रोबोटिक आर्म एक एंड इफेक्टर को त्रि-आयामी स्थान में घुमाता है, एंड इफेक्टर के ओरिएंटेशन को नियंत्रित करता है, और मैग्नेट पिकअप टूल या पेन होल्डर टूल जैसे संलग्न उपकरणों के साथ काम करता है।

नीचे उपलब्ध सभी तरीकों की सूची दी गई है:

कार्य — 6-एक्सिस आर्म को विभिन्न स्थितियों या अभिविन्यासों में ले जाएं।

  • move_to — एंड इफेक्टर को निर्दिष्ट x, y, और z निर्देशांक पर ले जाता है।

  • move_inc — एंड इफेक्टर को उसकी वर्तमान स्थिति से एक निर्दिष्ट दूरी से स्थानांतरित करता है।

  • move_end_effector_to — एंड इफेक्टर को निर्दिष्ट यॉ, रोल और पिच ओरिएंटेशन में घुमाता है।

  • move_end_effector_inc — निर्दिष्ट यॉ, रोल और पिच राशि द्वारा एंड इफेक्टर को घुमाता है।

म्यूटेटर्स — गति, उपकरण और नियंत्रण सेटिंग्स को कॉन्फ़िगर करें।

  • set_speed — 6-एक्सिस आर्म द्वारा उपयोग की जाने वाली गति निर्धारित करता है।

  • set_end_effector_type — 6-एक्सिस आर्म से जुड़े एंड इफेक्टर का प्रकार सेट करता है।

  • set_end_effector_magnet — मैग्नेट पिकअप टूल को संलग्न या रिलीज़ करता है।

  • set_pen_offset — पेन होल्डर टूल के साथ उपयोग किए जाने वाले z-अक्ष ऑफ़सेट को सेट करता है।

  • set_control_stop — 6-एक्सिस आर्म के लिए कंट्रोल स्टॉप को सक्षम करता है।

  • set_timeout — 6-एक्सिस आर्म मूवमेंट विधियों द्वारा उपयोग किए जाने वाले टाइमआउट को सेट करता है।

गेटर्स — गति की स्थिति, स्थान, अभिविन्यास और कनेक्शन मान लौटाते हैं।

  • is_done — यह बताता है कि 6-एक्सिस आर्म ने चलना समाप्त कर दिया है या नहीं।

  • get_x — एंड इफेक्टर की वर्तमान x स्थिति लौटाता है।

  • get_y — एंड इफेक्टर की वर्तमान y स्थिति लौटाता है।

  • get_z — एंड इफेक्टर की वर्तमान z स्थिति लौटाता है।

  • get_pitch — एंड इफेक्टर की वर्तमान पिच लौटाता है।

  • get_roll — एंड इफेक्टर का वर्तमान रोल लौटाता है।

  • get_yaw — एंड इफेक्टर का वर्तमान यॉ लौटाता है।

  • can_arm_reach_to — यह बताता है कि क्या 6-एक्सिस आर्म एक निर्दिष्ट स्थिति तक पहुँच सकता है।

  • can_arm_reach_inc — यह बताता है कि क्या 6-एक्सिस आर्म एक निर्दिष्ट दूरी से चल सकता है।

  • can_end_effector_reach_to — यह बताता है कि क्या एंड इफेक्टर किसी निर्दिष्ट अभिविन्यास तक पहुँच सकता है।

  • can_end_effector_reach_inc — यह बताता है कि क्या एंड इफेक्टर एक निर्दिष्ट मात्रा से घूम सकता है।

  • get_timeout — मूवमेंट विधियों द्वारा उपयोग किए जाने वाले वर्तमान टाइमआउट मान को लौटाता है।

  • is_connected — यह बताता है कि 6-एक्सिस आर्म मस्तिष्क से जुड़ा है या नहीं।

कॉलबैक — आर्म इवेंट होने पर फ़ंक्शन चलाएँ।

  • control_stopped — कंट्रोल स्टॉप सक्षम होने पर चलाने के लिए एक फ़ंक्शन पंजीकृत करता है।

कंस्ट्रक्टर — मैन्युअल रूप से 6-एक्सिस आर्म ऑब्जेक्ट बनाएं।

  • Arm — 6-एक्सिस आर्म ऑब्जेक्ट बनाता है।

यह पृष्ठ सीटीई टाइल के साथ 6-एक्सिस आर्म का उपयोग करने के लिए है। न्यूमेटिक्स या कन्वेयर जैसे अन्य सीटीई वर्कसेल घटकों के साथ 6-एक्सिस आर्म का उपयोग करने के लिए, 6-एक्सिस आर्म को एक EXP ब्रेन से कनेक्ट करें और संबंधित EXP आर्म पृष्ठ का उपयोग करें।

कार्रवाई#

move_to#

move_to कमांड 6-एक्सिस आर्म को निर्दिष्ट x, y और z निर्देशांक पर ले जाता है।

x, y और z निर्देशांक त्रि-आयामी स्थान में एंड इफ़ेक्टर की स्थिति का वर्णन करते हैं। यदि लक्ष्य स्थिति 6-एक्सिस आर्म के पहुंच योग्य कार्यक्षेत्र से बाहर हो सकती है, तो इस विधि से पहले can_arm_reach_to का उपयोग करें।

Usage:
arm.move_to(x, y, z, wait)

पैरामीटर

विवरण

x

लक्ष्य की स्थिति का x-निर्देशांक मिलीमीटर में।

y

लक्ष्य की स्थिति का y-निर्देशांक मिलीमीटर में।

z

लक्ष्य की स्थिति का z-निर्देशांक मिलीमीटर में।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) गतिविधि पूरी होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False गतिविधि शुरू करता है और तुरंत कोड की अगली पंक्ति पर चला जाता है।

# Move the 6-Axis Arm to (40, 140, 210)
arm.move_to(40, 140, 210)

# Start moving, then print the y-position while the arm moves
arm.move_to(-100, 200, 100, wait=False)

while not arm.is_done():
    brain.print(arm.get_y())
    brain.new_line()
    wait(0.25, SECONDS)

move_inc#

move_inc x, y और z अक्षों के अनुदिश अपनी वर्तमान स्थिति से एक निर्दिष्ट दूरी तक 6-अक्षीय भुजा को स्थानांतरित करता है।

एंड इफ़ेक्टर की वर्तमान स्थिति के सापेक्ष गति करने के लिए इस विधि का उपयोग करें। यदि गति के कारण 6-एक्सिस आर्म अपने पहुंच योग्य कार्यक्षेत्र से बाहर हो सकता है, तो इस विधि से पहले can_arm_reach_inc का उपयोग करें।

Usage:
arm.move_inc(x, y, z, wait)

पैरामीटर

विवरण

x

एक्स-अक्ष के अनुदिश तय की गई दूरी (मिलीमीटर में)।

y

वाई-अक्ष के अनुदिश तय की जाने वाली दूरी (मिलीमीटर में)।

z

z-अक्ष के अनुदिश तय की जाने वाली दूरी (मिलीमीटर में)।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) गतिविधि पूरी होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False गतिविधि शुरू करता है और तुरंत कोड की अगली पंक्ति पर चला जाता है।

# Move the 6-Axis Arm 100 millimeters along the y-axis
arm.move_inc(0, 100, 0)

move_end_effector_to#

move_end_effector_to 6-एक्सिस आर्म के एंड इफेक्टर को निर्दिष्ट यॉ, रोल और पिच ओरिएंटेशन में घुमाता है।

ओरिएंटेशन यह बताता है कि एंड इफेक्टर किस दिशा में घूमता है। yaw z-अक्ष के चारों ओर घूमता है, roll x-अक्ष के चारों ओर घूमता है, और pitch y-अक्ष के चारों ओर घूमता है।

Usage:
arm.move_end_effector_to(yaw, roll, pitch, wait)

पैरामीटर

विवरण

yaw

लक्ष्य यॉ एंगल, डिग्री में।

roll

लक्ष्य रोल कोण, डिग्री में।

pitch

लक्ष्य पिच कोण, डिग्री में।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) गतिविधि पूरी होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False गतिविधि शुरू करता है और तुरंत कोड की अगली पंक्ति पर चला जाता है।

# Rotate the end effector to 90 degrees of roll
arm.move_end_effector_to(0, 90, 0)

move_end_effector_inc#

move_end_effector_inc 6-एक्सिस आर्म के एंड इफेक्टर को उसकी वर्तमान स्थिति से निर्दिष्ट यॉ, रोल और पिच मात्रा से घुमाता है।

एंड इफेक्टर के वर्तमान यॉ, रोल या पिच के सापेक्ष घुमाने के लिए इस विधि का उपयोग करें।

Usage:
arm.move_end_effector_inc(yaw, roll, pitch, wait)

पैरामीटर

विवरण

yaw

पृथ्वी के झुकाव में परिवर्तन, डिग्री में।

roll

डिग्री में रोल का परिवर्तन।

pitch

स्वर की तीव्रता में परिवर्तन, डिग्री में।

wait

वैकल्पिक। wait=True (डिफ़ॉल्ट) गतिविधि पूरी होने तक प्रोजेक्ट को प्रतीक्षा कराता है। wait=False गतिविधि शुरू करता है और तुरंत कोड की अगली पंक्ति पर चला जाता है।

# Rotate the end effector -50 degrees in pitch
arm.move_end_effector_inc(0, 0, -50)

उत्परिवर्तक#

set_speed#

set_speed 6-एक्सिस आर्म द्वारा मूवमेंट विधियों के लिए उपयोग की जाने वाली गति निर्धारित करता है।

किसी परियोजना की शुरुआत में 6-एक्सिस आर्म की गति 50% पर सेट की जाती है।

Usage:
arm.set_speed(speed)

पैरामीटर

विवरण

speed

The movement speed of the 6-Axis Arm, from 1 to 100 percent.

# Set the 6-Axis Arm speed to 30%
arm.set_speed(30)

set_end_effector_type#

set_end_effector_type 6-एक्सिस आर्म से जुड़े एंड इफेक्टर के प्रकार को सेट करता है।

एंड इफेक्टर का प्रकार बदलने पर, 6-एक्सिस आर्म स्वचालित रूप से चयनित टूल के अनुसार अपना जेड-ऑफसेट समायोजित कर लेता है। प्रोजेक्ट की शुरुआत में एंड इफेक्टर का प्रकार Arm.MAGNET पर सेट होता है।

Usage:
arm.set_end_effector_type(type)

पैरामीटर

विवरण

type

6-एक्सिस आर्म से जुड़ा उपकरण: Arm.MAGNET (मैग्नेट पिकअप टूल) या Arm.PEN (पेन होल्डर टूल)।

# Set the end effector type to the Pen Holder Tool
arm.set_end_effector_type(Arm.PEN)

set_end_effector_magnet#

set_end_effector_magnet मैग्नेट पिकअप टूल को संलग्न या मुक्त करता है।

मैग्नेट की स्थिति तब तक सक्रिय रहती है जब तक कि कोई अन्य set_end_effector_magnet विधि इसे बदल नहीं देती। प्रोजेक्ट की शुरुआत में मैग्नेट की स्थिति False पर रीसेट हो जाती है।

Usage:
arm.set_end_effector_magnet(state)

पैरामीटर

विवरण

state

मैग्नेट पिकअप टूल की स्थिति: True वस्तुओं को उठाने और पकड़ने के लिए या False किसी भी पकड़ी हुई वस्तु को छोड़ने और नई वस्तुओं को उठाना बंद करने के लिए।

# Pick up objects and then drop them
arm.set_end_effector_type(Arm.MAGNET)
arm.set_end_effector_magnet(True)
wait(2, SECONDS)
arm.set_end_effector_magnet(False)

set_pen_offset#

set_pen_offset पेन होल्डर टूल को 6-एक्सिस आर्म से जोड़ने पर उपयोग किए जाने वाले z-अक्ष ऑफसेट को सेट करता है।

इस विधि का उपयोग करने से पहले एंड इफेक्टर प्रकार को Arm.PEN पर सेट करें। यदि पेन होल्डर टूल चयनित नहीं है, तो इस विधि का कोई प्रभाव नहीं होगा।

पेन ऑफ़सेट, पेन होल्डर टूल के शीर्ष से ड्राई-इरेज़ मार्कर की नोक तक की दूरी है। किसी प्रोजेक्ट की शुरुआत में, पेन ऑफ़सेट 0पर सेट होता है। 0 का पेन ऑफ़सेट, आर्म के z-अक्ष मूल को उस बिंदु पर रखता है जहाँ पेन होल्डर टूल 6-अक्ष आर्म से जुड़ता है।

Usage:
arm.set_pen_offset(zOffset)

पैरामीटर

विवरण

zOffset

पेन ऑफसेट का मान मिलीमीटर में।

# Set the end effector type to the Pen Holder Tool and set the pen offset
arm.set_end_effector_type(Arm.PEN)
arm.set_pen_offset(25)

set_control_stop#

set_control_stop 6-एक्सिस आर्म के लिए कंट्रोल स्टॉप को सक्षम करता है।

जब कंट्रोल स्टॉप सक्षम होता है, तो 6-एक्सिस आर्म तुरंत किसी भी गतिविधि को रोक देता है और प्रोजेक्ट के पुनः आरंभ होने तक आर्म मूवमेंट के किसी भी तरीके को आगे नहीं चलाएगा।

Usage:
arm.set_control_stop(state)

पैरामीटर

विवरण

state

वैकल्पिक। True (डिफ़ॉल्ट) नियंत्रण स्टॉप को सक्षम करता है। False नियंत्रण स्टॉप को सक्षम नहीं करता है।

# Stop the 6-Axis Arm and prevent further movement
arm.set_control_stop()

set_timeout#

set_timeout 6-एक्सिस आर्म को घुमाते समय उपयोग किए जाने वाले टाइमआउट मान को सेट करता है।

यदि कोई गतिविधि समय सीमा समाप्त होने से पहले पूरी नहीं होती है, तो प्रोजेक्ट कोड की अगली पंक्ति पर चला जाता है।

Usage:
arm.set_timeout(timeout, units)

पैरामीटर

विवरण

timeout

नया टाइमआउट मान।

units

वैकल्पिक। समय इकाई: MSEC (डिफ़ॉल्ट), SECONDSया SEC

# Set the 6-Axis Arm timeout to 2 seconds
arm.set_timeout(2, SECONDS)

टिककर खेल#

is_done#

is_done यह बताता है कि 6-एक्सिस आर्म ने चलना समाप्त कर दिया है या नहीं।

यह विधि तब उपयोगी होती है जब मूवमेंट विधि को wait=False के साथ कॉल किया जाता है।

  • True — 6-एक्सिस आर्म की गति समाप्त हो गई है।

  • False — 6-एक्सिस आर्म अभी भी चल रही है।

Usage:
arm.is_done()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Display the 6-Axis Arm's y-position while it moves
arm.move_to(-100, 200, 100, wait=False)

while not arm.is_done():
    brain.print(arm.get_y())
    brain.new_line()
    wait(0.25, SECONDS)

get_x#

get_x मिलीमीटर में एंड इफेक्टर की वर्तमान x स्थिति लौटाता है।

इस विधि का उपयोग करके आप यह पता लगा सकते हैं कि एंड इफेक्टर वर्तमान में x-अक्ष के अनुदिश कहाँ स्थित है।

Usage:
arm.get_x()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current x position of the 6-Axis Arm
brain.print(arm.get_x())

get_y#

get_y एंड इफेक्टर की वर्तमान y स्थिति को मिलीमीटर में लौटाता है।

इस विधि का उपयोग करके आप यह पता लगा सकते हैं कि एंड इफेक्टर वर्तमान में वाई-अक्ष पर कहाँ स्थित है।

Usage:
arm.get_y()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current y position of the 6-Axis Arm
brain.print(arm.get_y())

get_z#

get_z मिलीमीटर में एंड इफेक्टर की वर्तमान z स्थिति लौटाता है।

इस विधि का उपयोग करके यह पता लगाएं कि एंड इफेक्टर वर्तमान में जेड-अक्ष के अनुदिश कहाँ स्थित है।

Usage:
arm.get_z()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current z position of the 6-Axis Arm
brain.print(arm.get_z())

get_pitch#

get_pitch एंड इफेक्टर की वर्तमान पिच को डिग्री में लौटाता है।

Usage:
arm.get_pitch()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current pitch of the end effector
brain.print(arm.get_pitch())

get_roll#

get_roll एंड इफेक्टर के वर्तमान रोल को डिग्री में लौटाता है।

Usage:
arm.get_roll()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current roll of the end effector
brain.print(arm.get_roll())

get_yaw#

get_yaw एंड इफेक्टर के वर्तमान यॉ को डिग्री में लौटाता है।

Usage:
arm.get_yaw()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current yaw of the end effector
brain.print(arm.get_yaw())

can_arm_reach_to#

can_arm_reach_to यह बताता है कि क्या 6-एक्सिस आर्म एंड इफेक्टर को निर्दिष्ट x, y और z निर्देशांक पर ले जा सकता है।

move_to का उपयोग करने से पहले लक्ष्य स्थिति की जाँच करने के लिए इस विधि का उपयोग करें।

  • True — 6-एक्सिस आर्म अनुरोधित स्थिति तक पहुँच सकता है।

  • False — 6-एक्सिस आर्म अनुरोधित स्थिति तक नहीं पहुंच सकता।

Usage:
arm.can_arm_reach_to(x, y, z)

पैरामीटर

विवरण

x

लक्ष्य की स्थिति का x-निर्देशांक मिलीमीटर में।

y

लक्ष्य की स्थिति का y-निर्देशांक मिलीमीटर में।

z

लक्ष्य की स्थिति का z-निर्देशांक मिलीमीटर में।

# Move the 6-Axis Arm to (100, -20, 50) if it can reach
if arm.can_arm_reach_to(100, -20, 50):
    arm.move_to(100, -20, 50)

can_arm_reach_inc#

can_arm_reach_inc यह बताता है कि क्या 6-एक्सिस आर्म एंड इफेक्टर को उसकी वर्तमान स्थिति से निर्दिष्ट x, y और z दूरी तक ले जा सकता है।

move_inc का उपयोग करने से पहले सापेक्ष गति की जाँच करने के लिए इस विधि का उपयोग करें।

  • True — 6-एक्सिस आर्म अनुरोधित गति कर सकता है।

  • False — 6-एक्सिस आर्म अनुरोधित गति नहीं कर सकता।

Usage:
arm.can_arm_reach_inc(x, y, z)

पैरामीटर

विवरण

x

एक्स-अक्ष के अनुदिश तय की गई दूरी (मिलीमीटर में)।

y

वाई-अक्ष के अनुदिश तय की जाने वाली दूरी (मिलीमीटर में)।

z

z-अक्ष के अनुदिश तय की जाने वाली दूरी (मिलीमीटर में)।

# Increment the 6-Axis Arm 100 mm along the x-axis if possible
if arm.can_arm_reach_inc(100, 0, 0):
    arm.move_inc(100, 0, 0)

can_end_effector_reach_to#

can_end_effector_reach_to यह बताता है कि क्या एंड इफेक्टर निर्दिष्ट यॉ, रोल और पिच ओरिएंटेशन में घूम सकता है।

move_end_effector_to का उपयोग करने से पहले लक्ष्य अभिविन्यास की जाँच करने के लिए इस विधि का उपयोग करें।

  • True — एंड इफ़ेक्टर अनुरोधित अभिविन्यास तक पहुँच सकता है।

  • False — एंड इफ़ेक्टर अनुरोधित अभिविन्यास तक नहीं पहुँच सकता।

Usage:
arm.can_end_effector_reach_to(yaw, roll, pitch)

पैरामीटर

विवरण

yaw

लक्ष्य यॉ एंगल, डिग्री में।

roll

लक्ष्य रोल कोण, डिग्री में।

pitch

लक्ष्य पिच कोण, डिग्री में।

# Rotate the end effector to 90 degrees of roll if possible
if arm.can_end_effector_reach_to(0, 90, 0):
    arm.move_end_effector_to(0, 90, 0)

can_end_effector_reach_inc#

can_end_effector_reach_inc यह बताता है कि क्या एंड इफेक्टर अपनी वर्तमान स्थिति से निर्दिष्ट यॉ, रोल और पिच मात्रा से घूम सकता है।

move_end_effector_inc का उपयोग करने से पहले सापेक्ष अभिविन्यास आंदोलन की जांच करने के लिए इस विधि का उपयोग करें।

  • True — एंड इफ़ेक्टर अनुरोधित रोटेशन कर सकता है।

  • False — एंड इफ़ेक्टर अनुरोधित रोटेशन नहीं कर सकता।

Usage:
arm.can_end_effector_reach_inc(yaw, roll, pitch)

पैरामीटर

विवरण

yaw

पृथ्वी के झुकाव में परिवर्तन, डिग्री में।

roll

डिग्री में रोल का परिवर्तन।

pitch

स्वर की तीव्रता में परिवर्तन, डिग्री में।

# Increment the end effector by 10 degrees of pitch if possible
if arm.can_end_effector_reach_inc(0, 0, 10):
    arm.move_end_effector_inc(0, 0, 10)

get_timeout#

get_timeout मिलीसेकंड में 6-एक्सिस आर्म मूवमेंट विधियों द्वारा उपयोग किए जाने वाले टाइमआउट मान को लौटाता है।

Usage:
arm.get_timeout()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print the current movement timeout in milliseconds
brain.print(arm.get_timeout())

is_connected#

is_connected यह बताता है कि 6-एक्सिस आर्म मस्तिष्क से जुड़ा है या नहीं।

  • True — 6-अक्षीय भुजा मस्तिष्क से जुड़ी होती है।

  • False — 6-एक्सिस आर्म मस्तिष्क से जुड़ा नहीं है।

Usage:
arm.is_connected()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Print whether the 6-Axis Arm is connected
brain.print(arm.is_connected())

कॉलबैक#

control_stopped#

control_stopped एक फ़ंक्शन को पंजीकृत करता है जो कंट्रोल स्टॉप सक्षम होने पर चलता है।

यह विधि Event क्लास का एक इंस्टेंस लौटाती है।

Usage:
arm.control_stopped(callback, arg)

पैरामीटर

विवरण

callback

एक पूर्व-परिभाषित फ़ंक्शन जो नियंत्रण स्टॉप सक्षम होने पर चलता है।

arg

वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर के साथ फ़ंक्शन का उपयोग करना देखें।

# Define a function to run when control stop is enabled
def when_control_stopped():
    brain.print("The arm has been control stopped")

# Run when_control_stopped when the 6-Axis Arm is control stopped
arm.control_stopped(when_control_stopped)

कंस्ट्रक्टर्स#

Arm#

Arm एक 6-एक्सिस आर्म ऑब्जेक्ट बनाता है।

Usage:
Arm()

पैरामीटर

विवरण

इस कंस्ट्रक्टर में कोई पैरामीटर नहीं है।

# Construct a 6-Axis Arm named arm with the Arm class
arm = Arm()