ክፍል 2 / 9

በሮቦቲክስ እና በእንቅስቃሴ ቁጥጥር ውስጥ አርቲፊሻል ኢንተለጀንስ

ትርፍ፡

  • በ AI እገዛ ወደፊት / የተገላቢጦሽ ኪኒማቲክስ እና የትሬኾ እቅድ ችግሮችን የማዋቀር እና የመፍታት ችሎታ
  • የሮቦት መጋጠሚያ ገደቦችን፣ የፍጥነት እና የፍጥነት ገደቦችን እንደ አውድ ፈጥኖ በመስጠት ደህንነቱ የተጠበቀ ምህዋር የማምረት ችሎታ።
  • በአይአይ የሚፈጠረውን የኪነማቲክ እና የሂደት ውጤት በቁጥር እና በአካል የማጣራት ችሎታ

በሮቦት ክንድ መጨረሻ ላይ መያዣውን ወደ አንድ የተወሰነ የጠፈር ቦታ, በተወሰነ አቅጣጫ ማምጣት; ቀላል ነው የሚመስለው፣ ነገር ግን ከጀርባው የኪነማቲክ እኩልታዎች፣ የጋራ ገደቦች፣ ነጠላ ነገሮች እና የጉዞ እቅድ አለ። እዚህ፣ የሜካትሮኒክስ መሐንዲሱ ትሪጎኖሜትሪ፣ ሊኒያር አልጀብራ እና የቁጥጥር ንድፈ ሐሳብ አንድ ላይ ይጠቀማል። አርቴፊሻል ኢንተለጀንስ በዚህ ሂደት ውስጥ ሀይለኛ ረዳት ነው፡ ወደ ፊት የኪነማቲክስ እኩልታዎችን መመስረት፣ ለተገላቢጦሽ ኪነማቲክስ የመፍትሄ አቀራረቦችን መጠቆም፣ የፍጥነት/የፍጥነት ገደቦችን መሰረት በማድረግ አቅጣጫውን ይለካል። ይሁን እንጂ ሮቦቲክስ በሜካትሮኒክስ ውስጥ ከፍተኛ የአካል አደጋ ካላቸው አካባቢዎች አንዱ ነው; በአይአይ የተፈጠረ አንግል ቅደም ተከተል ወደ ሮቦት ሳይረጋገጥ ከተላከ ክንዱ እራሱን፣ አካባቢውን ወይም ኦፕሬተሩን ሊመታ ይችላል። በዚህ ክፍል ውስጥ የኪነማቲክስ እና የትሬክተሪ እቅድን በ AI እንዴት ማዋቀር እና ማረጋገጥ እንደሚቻል እንመለከታለን።

ወደፊት እና ተገላቢጦሽ Kinematics

ወደፊት ኪነማቲክስ (ኤፍኬ)፡- የመገጣጠሚያ ማዕዘኖች የሚታወቁ ከሆነ የፍጻሜ-ተፅዕኖውን አቀማመጥ እና አቅጣጫ መፈለግ። አንድ መፍትሄ ብቻ ነው, እሱ ቀጥተኛ ነው.

የተገላቢጦሽ ኪኒማቲክስ (IK): የመጨረሻው ተግባር የሚፈለገው ቦታ ከታወቀ, ይህንን የሚያቀርቡትን የጋራ ማዕዘኖች ማግኘት. ብዙውን ጊዜ ከአንድ በላይ መፍትሄዎች አሉት (እንደ ክርን ወደ ላይ/ወደታች)፣ አንዳንድ ጊዜ መፍትሄዎች የሉትም (የማይደረስበት ነጥብ)፣ አንዳንዴ ማለቂያ የሌለው መፍትሄዎች (ነጠላነት) አለው።

ጽንሰ-ሐሳብ

ግቤት

ውጤት

የመፍትሄዎች ብዛት

ወደፊት kinematics

የጋራ ማዕዘኖች

በጣም ከፍተኛ አቀማመጥ / አቀማመጥ

ነጠላ

ተገላቢጦሽ ኪኒማቲክስ

እጅግ በጣም ከፍተኛ አቀማመጥ / አቀማመጥ

የጋራ ማዕዘኖች

ብዙ/ የለም/ ማለቂያ የሌለው

ለሁለት-የጋራ ፕላነር ክንድ፣ ተገላቢጦሽ ኪኒማቲክስ በ AI ውስጥ ሊዋቀር እና እንደሚከተለው በእጅ ሊረጋገጥ ይችላል።

አስመጣ numpy as npdef inverse_kinematic_2r(x, y, L1, L2): """ IK ለ 2-joint planar arm. በራዲያን ውስጥ ማዕዘኖችን ይመልሳል (ክርን ወደ ታች መፍትሄ)." np.sqrt (r2) > (L1 + L2) ወይም np.sqrt (r2) < abs (L1 - L2) ከሆነ፡ ValueError ("ነጥብ ከተደራሽ የስራ ቦታ ውጭ ነው") cos_t2 = (r2 - L1**2 - L2**2) / (2 * L1 * L2) / (2 * L1 * L2) cos_t2, (2 * L1 * L2) cos_t2 = s_t2 1.0) # numericalsecurity t2 = np.arccos (cos_t2) # ክርን ወደ ታች t1 = np.arctan2 (y, x) - np.arctan2 (L2 * np.sin (t2), L1 + L2 * np.cos (t2)) መመለስ np.degrees (t1=) ዒላማ 2, np.1, np. (1፣1) -> የሚጠበቀው t2=90 የዲግሪ ፕሪንት(የተገላቢጦሽ_kinemtik_2r(1.0፣ 1.0፣ 1.0፣ 1.0)) # ~ (0.0፣ 90.0)

እዚህ ያሉት ወሳኝ መስመሮች AI ብዙ ጊዜ የሚዘልባቸው ናቸው፡ ተደራሽነት ማረጋገጥ (በስራ ቦታ ላይ ያለው ነጥብ ነው) እና `np.clip` (በማጠጋጋት ስህተት ምክንያት የarccos ግብዓት ከ±1 በላይ እንዳይሄድ ይከላከላል)። እነዚህ ሁለት ጥበቃዎች ከሌሉ ኮዱ NaN ይፈጥራል ወይም ልክ ባልሆነ ነጥብ ላይ ይሰናከላል።

ጠቃሚ ምክር፡ የIK ጥራትን በሚጠይቁበት ጊዜ AI ን በግልጽ "የተደራሽነት ቁጥጥርን ጨምር እና የአርክኮስ ግቤትን ወደ ቅንጥብ እንዲገድብ" ንገራቸው። እነዚህ ሁለት መስመሮች በመስክ ላይ ከፍተኛ ራስ ምታት የሚያስከትሉትን ጸጥ ያሉ ስህተቶችን ይከላከላሉ.

የጋራ ገደቦች, ነጠላነት እና በርካታ መፍትሄዎች

እያንዳንዱ የእውነተኛ ሮቦት መገጣጠሚያ የማዕዘን ክልል (ለምሳሌ -170° እስከ +170°)፣ የፍጥነት ገደብ እና የፍጥነት ገደብ አለው። IK በሂሳብ የሚሰራ አንግል ቢሰጥም ያ አንግል ከመገጣጠሚያው አካላዊ ክልል ውጭ ከሆነ መጠቀም አይቻልም። በተጨማሪም, ሮቦቱ በአንዳንድ አወቃቀሮች ውስጥ ወደ ነጠላነት ይወድቃል: ሁለት መጥረቢያዎች ተስተካክለዋል, አንድ ዲግሪ ነፃነት ጠፍቷል, እና የጋራ ፍጥነቶች ለትንሽ ጫፍ እንቅስቃሴ ወደ ማለቂያ ለመሄድ ይሞክራሉ.

ለዚያም ነው የሰው ኃይል መፍትሔ ብቻውን በቂ ያልሆነው; እያንዳንዱ መፍትሔ ተቀባይነት ያለው ማጣሪያ ማለፍ አለበት፡-

def solution_gecerli_mi(acilar_deg, limits_deg): """ ህመሞች: [t1,t2,...], ገደቦች: [(min,max),...]""" ለህመም, (amin, amax) በዚፕ (acilar_deg, limits_deg): ካልሆነ (አሚን <= ህመም <= amax): መመለስ: የውሸት ገደብ: 1. ({amine},{amax}) በስተቀር" ተመለስ እውነት፣ "እሺ" ገደብ = [(-170, 120)] ማተም (cozum_valid_mi([0.0, 90.0]፣ ገደቦች))) 'የጋራ ገደብ አልፏል...')

AI የ IK "የሂሳብ" መፍትሄ ሊሰጥ ይችላል; ነገር ግን የጋራ ገደቦች እና ነጠላነት መራቅ ለስርዓትዎ ልዩ ናቸው እና ለጥያቄው እንደ አውድ መሰጠት አለባቸው።

የምህዋር እቅድ ማውጣት

ሮቦቱን ከ ነጥብ ሀ እስከ ነጥብ ቢ ማግኘት በሁለት ማዕዘኖች መካከል ቀጥ ያለ መስመር መሳል አይደለም። ድንገተኛ የፍጥነት ለውጥ ሜካኒካዊ ድንጋጤ እና ንዝረትን ይፈጥራል። በምትኩ፣ ለስላሳ መገለጫዎች ጥቅም ላይ ይውላሉ፡ trapezoidal velocity profile (የማያቋርጥ ፍጥነት-የማያቋርጥ ፍጥነት መቀነስ) ወይም ኤስ-ከርቭ (ማጣደፍም የተገደበ)። አይአይን አንድ አቅጣጫ እንዲፈጥር ሲያደርጉ ዒላማውን ፣ የቆይታ ጊዜውን እና ገደቦችን መስጠት አለብዎት።

አስመጣ numpy እንደ npdef trapez_yorunge (q0, q1, v_max, a_max, dt=0.01): """ Trapezoidal velocity profile ለአንድ ነጠላ መገጣጠሚያ. የቦታው አቀማመጥ ተመልሷል."" ርቀት = abs (q1 - q0) አቅጣጫ = np.sign = (q1 - q0) t x ርቀት 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 ሌላ፡ t_constant = ርቀት_2 = (ርቀት_ማክስ) v_max T = 2 * t_accelerate + t_constant t = np.arange(0, T, dt) # ... የአቀማመጥ ስሌት ለእያንዳንዱ t (በማጣደፍ/ቋሚ/የማሽቆልቆል ደረጃዎች ላይ የተመሰረተ) መመለስ t, T, v_peak, duration, vz = trapezoidal_trajectory (0.0, _max=0.0. a_max=120.0) ማተም (f"ጠቅላላ ቆይታ፡ {ቆይታ፡.3f} ሰ፣ ከፍተኛ ፍጥነት፡ {vz:.1f} deg/s)

እዚህ ያለው አመክንዮ ፍተሻ ይህ ነው፡ ርቀቱ አጭር ከሆነ ሞተሩ በፍፁም v_max አይደርስም እና መገለጫው ከ trapezoidal ወደ ትሪያንግል ይቀየራል። AI ይህንን ሁኔታ ካጣው, የተሳሳተ የቆይታ ጊዜ ለአጭር እንቅስቃሴዎች ይሰላል. ይህንን ኮድ በሚታወቅ ዋጋ (ለምሳሌ በጣም አጭር ርቀት) በመሞከር ማረጋገጥ ይችላሉ.

ደካማ ፈጣን/ጠንካራ ፍጥነት

ደካማ፡ "የሮቦቱን ክንድ ከ ሀ ወደ ቢ የሚወስደውን አቅጣጫ ይፃፉ።"(ምንም ገደብ የለም፡ የፍጥነት ገደብ? ማጣደፍ? የጋራ ክፍተት? የዓይነ ስውር ውጤት) ጠንከር፡ "ለ 6 ዘንግ ሮቦት በጋራ ቦታ ላይ ነጥብ-ወደ-ነጥብ ትራንዚት ይፍጠሩ። ለእያንዳንዱ መጋጠሚያ የፍጥነት ገደቡ 90 ዲግሪ በሰከንድ ነው፣ የፍጥነት ገደቡ በሠንጠረዥ 180 ነው የተሰጠው። trapezoidal velocity profile, ርቀቱ አጭር ከሆነ, ወደ ሶስት ማዕዘን ቅርፅ ይግቡ.

ማረጋገጫ፡ ከሲሙሌሽን እስከ ሮቦት

ወደ ሮቦት ከመሄዱ በፊት በአይአይ የፈጠረው አቅጣጫ በዚህ ቅደም ተከተል የተረጋገጠ ነው፡-

  1. አሃዛዊ፡ የእያንዳንዱ እርምጃ የጋራ አንግል፣ ፍጥነት እና ፍጥነት በገደብ ውስጥ ናቸው?
  2. ግጭት፡ ከትራፊክ መንገዱ ጋር፣ ክንዱ ከራሱ ወይም ከአካባቢው ጋር ይጋጫል (ከተቻለ በእይታ/በመምሰል)?
  3. ነጠላነት፡ ምህዋር በነጠላ ክልል ውስጥ ያልፋል (የያቆብ መወሰኛ ወደ ዜሮ ይጠጋል)?
  4. ቀርፋፋ የሃርድዌር ሙከራ፡- ሮቦቱን በዝቅተኛ ፍጥነት (ለምሳሌ 10%) ስራ እና በእይታ ይከታተሉት።
  5. ቀስ በቀስ የፍጥነት መጨመር፡ አንዴ ሁሉም ነገር ከተረጋገጠ ፍጥነቱ ደረጃ በደረጃ ወደ ስመ እሴት ይጨምራል።
ይጠንቀቁ፡ ሮቦትን በአዲስ መንገድ ለመጀመሪያ ጊዜ ሲጀምሩ የፍጥነት መሻር ሁልጊዜ ዝቅተኛ መሆን እና ኢ-ስቶፕ መገኘት አለበት። ምንም እንኳን የ AI ውፅዓት “በሂሳብ ትክክለኛ” ቢሆንም ፣ በአካላዊ ውቅር ውስጥ ማካካሻ ፣ የተገላቢጦሽ ዘንግ ወይም የኬብል መሰንጠቅ በዝግታ ሙከራ ብቻ ነው የሚገለጠው።

ሚኒ መያዣ

አውቶሜሽን መሐንዲስ Ece ለምርጫ እና ቦታ ማመልከቻ በጋራ ቦታ ላይ የመከታተያ ኮድ እንዲሰጠው AI ጠየቀ። AI ትራፔዞይድ ፕሮፋይል ያመነጫል፣ ነገር ግን ኢሲ የአጭር ርቀት እንቅስቃሴን ሲፈትሽ፣ ጊዜው አሉታዊ መሆኑን ተመለከተች፡ ኮዱ v_max ሊደረስበት የማይችልበትን የሶስት ማዕዘን መገለጫ ጉዳይ አልያዘም። Ece ይህንን "ርቀቱ አጭር ከሆነ በሶስት ማዕዘን መገለጫ ውስጥ ውደቁ" የሚለውን ጥያቄ በመንገር ያስተካክላል። ከዚያም በ AI የተሰጡትን የጋራ ማዕዘኖች በማረጋገጥ ተግባሩ በራሱ ገደብ ሰንጠረዥ ላይ ያካሂዳል እና መገጣጠሚያ 5 የሚፈለገው +125° በአንድ ነጥብ ላይ ሲያገኘው ገደቡ ግን +120° ነበር። አቅጣጫውን እንደገና ያቅድና ይከታተላል, በዚህ ጊዜ ሮቦቱን በ 10% ፍጥነት ይሮጣል. በመጀመሪያው ዙር ግሪፐር ወደ ጠረጴዛው በጣም እየቀረበ መሆኑን እና የ Z ማካካሻውን ያስተካክላል. AI ​​በደቂቃዎች ውስጥ የስራ ዝርዝርን መለሰ; ግን ሶስት የተለያዩ ማረጋገጫዎች (የሶስት ማዕዘን መገለጫ ፣ የጋራ ገደብ ፣ ዘገምተኛ ሙከራ) ሶስት የተለያዩ እውነተኛ ችግሮች ያዙ።

የተለመዱ ስህተቶች

  • የጋራ ገደቦች እና ተደራሽነት ቁጥጥር ያለ IK መፍትሔ መጠቀም.
  • የአርኮስ/አርክሲን ግቤቶችን አለመቁረጥ ነገር ግን የማጠጋጋት ስህተት ከተፈጠረ ኤንኤን ይፈጥራል።
  • ፍጥነት/ፍጥነት ሳይገድብ እና ሜካኒካዊ ድንጋጤን ሳይፈጥር ምህዋርን መጠየቅ።
  • ነጠላ ዞኖችን ችላ ማለት እና የጋራ ፍጥነቶች ሰማይ ይነካል ።
  • የ trapezoidal-triangular profile ሽግግር በአጭር ርቀት ውስጥ መዝለል እና የተሳሳተ ጊዜን በማስላት ላይ.
  • የመጀመሪያውን የምህዋር ሙከራ በሙሉ ፍጥነት እና ያለ ኢ-ማቆሚያ መዳረሻ ማካሄድ።

በማጠቃለያው

  • ወደፊት kinematics አንድ ነጠላ መፍትሔ አለው; የተገላቢጦሽ ኪኒማቲክስ ብዙ፣ የማይገኙ ወይም ማለቂያ የሌላቸው መፍትሄዎችን ሊያመጣ ይችላል።
  • የIK መፍትሄዎች የግድ ከጋራ ገደቦች፣ ተደራሽነት እና ነጠላነት አንፃር ተጣርተዋል።
  • የትራፊክ እቅድ ማውጣት; እንደ ትራፔዞይድ ወይም ኤስ-ከርቭ ያሉ ለስላሳ፣ ገደብ-ተኳሃኝ መገለጫዎችን ይጠቀማል።
  • በአጭር ርቀት መገለጫው ከ trapezoidal ወደ ትሪያንግል ይቀየራል; ይህ በኮዱ ውስጥ መያያዝ አለበት.
  • AI ሂሳብን ያፋጥናል; ገደቦቹ እና አካላዊ የመጫኛ አውድ ወደ መጠየቂያው ውስጥ መግባት አለባቸው።
  • አዲሱ መሄጃ ሁልጊዜም ለመጀመሪያ ጊዜ በዝቅተኛ ፍጥነት ሬሾ እና ተደራሽ ኢ-ማቆሚያ ይካሄዳል።

የመተግበሪያ ተግባር

ባለ ሁለት ወይም ሶስት-የጋራ ክንድ ሞዴል (በእውነተኛ ወይም ምናባዊ አገናኝ ርዝመቶች እና የጋራ ገደቦች) ይምረጡ። AI ከዚህ አውድ ጋር የተገላቢጦሽ የኪነማቲክስ ተግባር እና የጉዞ እቅድ አውጪ እንዲፈጥር ያድርጉ። ከዚያም፡ (1) የአይኬ ውጤቱን በእጅ አረጋግጡ በሚታወቅ ኢላማ (ማዕዘኖቹን መልሰው ወደ FK ተመሳሳይ ነጥብ ይመለሳሉ)፣ (2) ኮዱ ቢያንስ አንድ የማይደረስ ነጥብ እና አንድ የጋራ ገደብ ከዒላማው በላይ በመስጠት እንደሚይዝ ይፈትሹ፣ (3) በአጭር ርቀት የምህዋሩ ጊዜ ምክንያታዊ መሆኑን ያረጋግጡ። በመጀመሪያው የኮዱ ስሪት ውስጥ ስንት የማረጋገጫ ችግሮችን እንዳገኛችሁ እና እያንዳንዱን የትኛው ንብርብር እንደያዘ ይጻፉ።