नफा:
- AI च्या मदतीने फॉरवर्ड/इनव्हर्स किनेमॅटिक्स आणि ट्रॅजेक्टोरी प्लॅनिंग समस्या सेट अप आणि सोडवण्याची क्षमता
- प्रॉम्प्टला संदर्भ म्हणून रोबोट संयुक्त मर्यादा, वेग आणि प्रवेग मर्यादा देऊन सुरक्षित कक्षा तयार करण्याची क्षमता
- AI द्वारे उत्पादित किनेमॅटिक आणि ट्रॅजेक्टोरी आउटपुट संख्यात्मक आणि भौतिकरित्या सत्यापित करण्याची क्षमता
रोबोट हाताच्या शेवटी असलेल्या ग्रिपरला अवकाशातील एका विशिष्ट बिंदूवर, विशिष्ट अभिमुखतेमध्ये आणणे; हे सोपे वाटते, परंतु त्यामागे किनेमॅटिक समीकरणे, संयुक्त मर्यादा, एकलता आणि मार्ग नियोजन आहे. येथे, मेकाट्रॉनिक्स अभियंता त्रिकोणमिती, रेखीय बीजगणित आणि नियंत्रण सिद्धांत एकत्र वापरतात. या प्रक्रियेत कृत्रिम बुद्धिमत्ता ही एक शक्तिशाली मदत आहे: ती फॉरवर्ड किनेमॅटिक्स समीकरणे स्थापित करू शकते, व्यस्त गतीशास्त्रासाठी उपाय सुचवू शकते, वेग/प्रवेग मर्यादांनुसार प्रक्षेपणाचे पॅरामीटराइज करू शकते. तथापि, रोबोटिक्स हे मेकाट्रॉनिक्समधील सर्वात जास्त शारीरिक जोखीम असलेल्या क्षेत्रांपैकी एक आहे; AI द्वारे व्युत्पन्न केलेला कोन अनुक्रम पडताळणीशिवाय रोबोटला पाठवला गेल्यास, हात स्वतःला, पर्यावरणाला किंवा ऑपरेटरला धडकू शकतो. या युनिटमध्ये आपण AI सह किनेमॅटिक्स आणि ट्रॅजेक्टोरी प्लॅनिंग कसे सेट अप आणि सत्यापित करायचे ते पाहू.
फॉरवर्ड आणि इनव्हर्स किनेमॅटिक्स
फॉरवर्ड किनेमॅटिक्स (FK): संयुक्त कोन ज्ञात असल्यास एंड-इफेक्टरची स्थिती आणि अभिमुखता शोधणे. एकच उपाय आहे, तो थेट.
इन्व्हर्स किनेमॅटिक्स (IK): शेवटच्या फंक्शनची इच्छित स्थिती ज्ञात असल्यास, हे प्रदान करणारे संयुक्त कोन शोधणे. यात सहसा एकापेक्षा जास्त सोल्यूशन असतात (जसे की कोपर वर/खाली), काहीवेळा त्यात कोणतेही उपाय नसतात (अगम्य बिंदू), काहीवेळा त्यात अनंत समाधाने (एकवचन) असतात.
संकल्पना
इनपुट
आउटपुट
उपायांची संख्या
किनेमॅटिक्स फॉरवर्ड करा
संयुक्त कोन
अत्यंत स्थिती/भिमुखता
अविवाहित
व्यस्त गतीशास्त्र
अत्यंत स्थिती/भिमुखता
संयुक्त कोन
एकाधिक/कोणतेही/अनंत
दोन-संयुक्त प्लॅनर आर्मसाठी, AI मध्ये इन्व्हर्स किनेमॅटिक्स सेट केले जाऊ शकते आणि खालीलप्रमाणे व्यक्तिचलितपणे सत्यापित केले जाऊ शकते:
npdef inverse_kinematik_2r(x, y, L1, L2) म्हणून numpy आयात करा: """2-संयुक्त प्लॅनर आर्मसाठी IK. रेडियनमध्ये कोन मिळवते (कोपर-खाली सोल्यूशन).""" r2 = x**2 + y**2 # प्रवेशयोग्यता तपासणी: कार्यक्षेत्रात बिंदू आहे का? जर np.sqrt(r2) > (L1 + L2) किंवा np.sqrt(r2) < abs(L1 - L2): raise ValueError("पॉइंट ऍक्सेस करण्यायोग्य कामाच्या जागेच्या बाहेर आहे") cos_t2 = (r2 - L1**2 - L2**2) / (2 * L1 * L2) cos_t., cos_t2 = (2 * L1 * L2) cos_t. 1.0) # अंकीयसुरक्षा t2 = np.arccos(cos_t2) # कोपर खाली t1 = np.arctan2(y, x) - np.arctan2(L2*np.sin(t2), L1 + L2*np.cos(t2)) रिटर्न np.degrees(t2) (Valdgrees)#t. L1=L2=1, लक्ष्य (1,1) -> अपेक्षित t2=90 डिग्रीप्रिंट(inverse_kinematik_2r(1.0, 1.0, 1.0, 1.0)) # ~ (0.0, 90.0)
येथे गंभीर ओळी आहेत जिथे AI अनेकदा वगळते: पोहोचण्यायोग्यता तपासणी (कार्यक्षेत्रातील बिंदू आहे) आणि `np.clip` (गोलाकार त्रुटीमुळे arccos इनपुटला ±1 च्या पुढे जाण्यापासून प्रतिबंधित करते). या दोन संरक्षणांशिवाय, कोड NaN तयार करेल किंवा अवैध बिंदूवर क्रॅश करेल.
टीप: IK रिझोल्यूशनसाठी विचारताना, AI ला स्पष्टपणे सांगा की "ॲक्सेसिबिलिटी कंट्रोल जोडा आणि arccos इनपुट क्लिपवर मर्यादित करा". या दोन ओळी शेतात सर्वाधिक डोकेदुखी ठरणाऱ्या मूक त्रुटींना प्रतिबंध करतात.
संयुक्त मर्यादा, एकवचन आणि बहुविध उपाय
वास्तविक रोबोटच्या प्रत्येक जॉइंटमध्ये कोन श्रेणी असते (उदा. -170° ते +170°), वेग मर्यादा आणि प्रवेग मर्यादा. जरी IK ने गणितीयदृष्ट्या वैध कोन दिलेला असला तरी, तो कोन संयुक्तच्या भौतिक श्रेणीच्या बाहेर असल्यास तो वापरला जाऊ शकत नाही. याव्यतिरिक्त, रोबोट काही कॉन्फिगरेशनमध्ये एकलतेमध्ये येतो: दोन अक्ष संरेखित केले जातात, एक अंश स्वातंत्र्य गमावले जाते आणि संयुक्त वेग एका लहान टिप हालचालीसाठी अनंताकडे जाण्याचा प्रयत्न करतात.
म्हणूनच केवळ एचआर सोल्यूशन पुरेसे नाही; प्रत्येक समाधानाने स्वीकार्यता फिल्टर पास करणे आवश्यक आहे:
def solution_gecerli_mi(acilar_deg, limits_deg): """वेदना: [t1,t2,...], मर्यादा: [(किमान, कमाल),...]""" वेदनांसाठी, (amin, amax) zip(acilar_deg, limits_deg) मध्ये: नसल्यास (amine <= वेदना <= amax): रिटर्न false: {1}False. deg ({amine},{amax}) वगळता "रिटर्न ट्रू, "OK" limits = [(-170, 170), (-120, 120)]print(cozum_valid_mi([0.0, 90.0], limits)) # (True, 'OK')print(cozum_valid_mi, #0mi,01) 5. (खोटे, 'संयुक्त मर्यादा ओलांडली...')
AI IK चे "गणितीय" उपाय देऊ शकते; परंतु संयुक्त मर्यादा आणि एकलता टाळणे हे तुमच्या सिस्टमसाठी विशिष्ट आहे आणि ते प्रॉम्प्टला संदर्भ म्हणून दिले जाणे आवश्यक आहे.
कक्षा नियोजन
बिंदू A ते बिंदू B पर्यंत रोबोट मिळवणे म्हणजे दोन कोनांमध्ये सरळ रेषा काढणे नाही. अचानक वेग बदलल्याने यांत्रिक धक्का आणि कंपन निर्माण होते. त्याऐवजी, सॉफ्ट प्रोफाइल वापरले जातात: ट्रॅपेझॉइडल वेग प्रोफाइल (स्थिर प्रवेग–स्थिर गती–सतत घट) किंवा एस-वक्र (नितळ, जेथे प्रवेग देखील मर्यादित आहे). एआय जनरेट करताना, आपण लक्ष्य, कालावधी आणि मर्यादा देणे आवश्यक आहे.
npdef trapez_yorunge(q0, q1, v_max, a_max, dt=0.01) म्हणून numpy आयात करा: """सिंगल जॉइंटसाठी ट्रॅपेझॉइडल वेग प्रोफाईल. पोझिशन ॲरे परत केला आहे.""" अंतर = abs(q1 - q0) दिशा = np.sign (q1 - max) = qpe_sign(q1_max) अंतर_वेग = 0.5 * a_max * t_speed**2 जर 2 * अंतर_स्पीड > अंतर: # त्रिकोणी प्रोफाइल (v_max पोहोचण्यायोग्य नाही) t_speed = np.sqrt(अंतर / a_max) t_constant = 0.0 v_peak = a_max * t_speed else: * t_conspeed = /d_constant) v_max v_peak = v_max T = 2 * t_accelerate + t_constant t = np.arange(0, T, dt) # ... प्रत्येक t साठी स्थिती गणना (प्रवेग/स्थिर/मंदीच्या टप्प्यांवर आधारित) रिटर्न t, T, v_peak, कालावधी, vz = trapezoidal,(90_0. v_max=60.0, a_max=120.0)मुद्रण(f"एकूण कालावधी: {कालावधी:.3f} s, कमाल गती: {vz:.1f} deg/s")
येथे तर्क तपासणे हे आहे: जर अंतर कमी असेल, तर मोटर कधीही v_max पर्यंत पोहोचणार नाही आणि प्रोफाइल ट्रॅपेझॉइडलपासून त्रिकोणी होईल. AI ने ही अट चुकवल्यास, लहान हालचालींसाठी चुकीचा कालावधी मोजला जाईल. आपण ज्ञात मूल्यासह कोडची चाचणी करून हे सत्यापित करू शकता (उदाहरणार्थ, खूप कमी अंतर).
कमकुवत प्रॉम्प्ट / मजबूत प्रॉम्प्ट
कमजोर:"रोबोट हाताला A ते B पर्यंत नेणारा मार्ग लिहा."(कोणतेही बंधन नाही: वेग मर्यादा? प्रवेग? संयुक्त अंतर? अंध आउटपुट.)STRONG:"6-अक्षीय रोबोटसाठी संयुक्त जागेत पॉइंट-टू-पॉइंट ट्रॅजेक्टोरी व्युत्पन्न करा. प्रत्येक जॉइंटसाठी वेग मर्यादा 90 deg/1g/8g, मर्यादा आहे. कोनाची श्रेणी टेबलमध्ये दिली आहे, जर अंतर कमी असेल तर त्रिकोणी प्रोफाइलमध्ये पडा, तसेच एक पडताळणी फंक्शन लिहा की ते संयुक्त मर्यादा ओलांडत नाही: {{table}}.
पडताळणी: सिम्युलेशनपासून रोबोटपर्यंत
रोबोटकडे जाण्यापूर्वी AI द्वारे व्युत्पन्न केलेला मार्ग या क्रमाने सत्यापित केला जातो:
- संख्यात्मक: प्रत्येक पायरीचा संयुक्त कोन, गती आणि प्रवेग मर्यादेत आहे का?
- टक्कर: मार्गावर, हात स्वतःशी किंवा वातावरणाशी टक्कर घेतो (शक्य असल्यास कल्पना करा/अनुकरण करा)?
- एकलता: कक्षा एका विलक्षणतेच्या प्रदेशातून जाते (जेकोबियन निर्धारक शून्याकडे जातो का)?
- स्लो हार्डवेअर चाचणी: कमी वेगाने रोबोट चालवा (उदा. 10%) आणि त्याचे दृश्यमानपणे निरीक्षण करा.
- हळूहळू वेग वाढणे: प्रत्येक गोष्टीची पडताळणी झाल्यावर, वेग नाममात्र मूल्यापर्यंत टप्प्याटप्प्याने वाढतो.
खबरदारी: प्रथमच नवीन ट्रॅजेक्टोरीसह रोबोट सुरू करताना, वेग ओव्हरराइड नेहमी कमी असावा आणि ई-स्टॉप उपलब्ध असावा. जरी एआय आउटपुट "गणितीयदृष्ट्या बरोबर" असले तरीही, भौतिक सेटअपमधील ऑफसेट, रिव्हर्स अक्ष किंवा केबल स्नॅग केवळ संथ चाचणीनेच उघड होईल.
मिनी केस
ऑटोमेशन अभियंता Ece पिक-अँड-प्लेस ऍप्लिकेशनसाठी AI ला संयुक्त जागेत ट्रॅजेक्टोरी कोड विचारतो. AI एक ट्रॅपेझॉइडल प्रोफाइल तयार करते, परंतु जेव्हा Ece लहान-अंतराच्या हालचालीची चाचणी घेते तेव्हा ती वेळ नकारात्मक असल्याचे पाहते: कोडने त्रिकोणी प्रोफाइल केस हाताळले नाही जेथे v_max पोहोचू शकत नाही. Ece प्रॉम्प्टला "अंतर कमी असल्यास, त्रिकोणी प्रोफाइलमध्ये पडा" असे सांगून हे दुरुस्त करते. ते नंतर AI द्वारे दिलेले संयुक्त कोन त्याच्या स्वतःच्या मर्यादा सारणीच्या प्रमाणीकरण कार्याद्वारे चालवते आणि आढळते की संयुक्त 5 ला एका टप्प्यावर +125° हवे होते, तर मर्यादा +120° होती. तो प्रक्षेपणाची पुनर्रचना करतो आणि त्याचे निरीक्षण करतो, यावेळी 10% वेगाने रोबोट चालवतो. पहिल्या फेरीत, तो पाहतो की ग्रिपर टेबलच्या खूप जवळ येत आहे आणि Z ऑफसेट दुरुस्त करतो. एआयने काही मिनिटांत कार्य रूपरेषा परत केली; परंतु तीन वेगळे प्रमाणीकरण (त्रिकोणी प्रोफाइल, संयुक्त मर्यादा, मंद चाचणी) तीन वेगळ्या वास्तविक समस्या पकडल्या.
सामान्य चुका
- संयुक्त मर्यादा आणि प्रवेशयोग्यता नियंत्रणाशिवाय IK सोल्यूशन वापरणे.
- arccos/arcsin एंट्री क्लिप करत नाही परंतु राउंडिंग एररच्या बाबतीत NaN तयार करत आहे.
- गती/प्रवेग मर्यादित न करता आणि यांत्रिक धक्का निर्माण न करता कक्षाची विनंती करणे.
- सिंग्युलॅरिटी झोनकडे दुर्लक्ष करून आणि संयुक्त गती वाढू द्या.
- ट्रॅपेझॉइडल-त्रिकोणी प्रोफाइलचे संक्रमण कमी अंतरावर वगळणे आणि चुकीच्या वेळेची गणना करणे.
- पूर्ण वेगाने आणि ई-स्टॉप प्रवेशाशिवाय प्रथम परिभ्रमण चाचणी आयोजित करणे.
सारांशात
- फॉरवर्ड किनेमॅटिक्समध्ये एकच उपाय आहे; व्युत्क्रम किनेमॅटिक्स एकाधिक, अस्तित्वात नसलेले किंवा अनंत उपाय तयार करू शकतात.
- IK सोल्यूशन्स संयुक्त मर्यादा, प्रवेशयोग्यता आणि एकलता या संदर्भात फिल्टर करणे आवश्यक आहे.
- मार्ग नियोजन; हे मऊ, मर्यादा-सुसंगत प्रोफाइल वापरते जसे की ट्रॅपेझॉइडल किंवा एस-वक्र.
- थोड्या अंतरावर प्रोफाइल ट्रॅपेझॉइडल ते त्रिकोणी बदलते; हे कोडमध्ये हाताळले पाहिजे.
- AI गणिताला गती देते; मर्यादा आणि भौतिक स्थापना संदर्भ प्रॉम्प्टमध्ये प्रविष्ट केले पाहिजेत.
- नवीन मार्गक्रमण नेहमी प्रथमच कमी वेगाचे प्रमाण आणि प्रवेशयोग्य ई-स्टॉपसह चालवले जाते.
अर्ज कार्य
दोन- किंवा तीन-संयुक्त आर्म मॉडेल निवडा (वास्तविक किंवा काल्पनिक लिंक लांबी आणि संयुक्त मर्यादांसह). AI ला या संदर्भासह एक व्यस्त किनेमॅटिक्स फंक्शन आणि ट्रॅजेक्टोरी प्लॅनर तयार करा. नंतर: (1) ज्ञात लक्ष्यासह IK आउटपुट व्यक्तिचलितपणे सत्यापित करा (तुम्ही कोन मागे ठेवून FK सारख्या बिंदूकडे परत जाता का), (2) किमान एक दुर्गम बिंदू आणि लक्ष्यापेक्षा एक संयुक्त मर्यादा देऊन कोड त्यांना कॅप्चर करतो याची चाचणी करा, (3) थोड्या अंतरावर परिभ्रमण वेळ वाजवी असल्याचे तपासा. Write down how many validation issues you found in the first version of the code and which layer caught each one.