Nkeji 2 / 9

Ọgụgụ isi Artificial na Robotics na njikwa ngagharị

Uru:

  • Ikike ịtọlite ​​na dozie kinematics na-aga n'ihu / ntụgharị na nsogbu atụmatụ atụmatụ site n'enyemaka nke AI
  • Ikike imepụta orbit dị nchebe site n'inye oke nkwonkwo robot, ọsọ ọsọ na mmachi ngwa ngwa dị ka ihe gbara ya gburugburu.
  • Ikike iji ọnụọgụgụ na n'anụ ahụ nyochaa mmepụta kinematic na trajectory nke AI mepụtara

Na-ebute gripper na njedebe nke ogwe aka robot gaa n'otu ebe na mbara igwe, na nhazi ụfọdụ; Ọ dị ka ọ dị mfe, mana enwere nha nhata kinematic, oke nkwonkwo, ndị otu na atụmatụ trajectory n'azụ ya. N'ebe a, injinia mechatronics na-eji trigonometry, algebra linear na tiori njikwa ọnụ. Ọgụgụ isi bụ ihe enyemaka dị ike na usoro a: ọ nwere ike guzobe nha nhata kinematics, na-atụ aro ụzọ ngwọta maka kinematics dị iche iche, na-edozi ọnọdụ dịka oke ọsọ/ọsọ ọsọ siri dị. Agbanyeghị, robotics bụ otu n'ime mpaghara mechatronics nwere nnukwu ihe egwu anụ ahụ; Ọ bụrụ na ezigara usoro nkuku nke AI mepụtara na robot na-enweghị nkwenye, ogwe aka ahụ nwere ike ịdakwasị onwe ya, gburugburu ebe obibi, ma ọ bụ onye ọrụ. N'ime nkeji a, anyị ga-ahụ otu esi edozi ma nyochaa kinematics na atụmatụ trajectory na AI.

Forward na Inverse Kinematics

Kinematics na-aga n'ihu (FK): Ịchọta ọnọdụ na nhazi nke njedebe njedebe ma ọ bụrụ na a maara akụkụ nkwonkwo. Enwere naanị otu ngwọta, ọ bụ kpọmkwem.

Inverse kinematics (IK): Ọ bụrụ na amaara ọnọdụ achọrọ nke njedebe ọrụ, ịchọta akụkụ nkwonkwo nke ga-enye nke a. Ọ na-enwekarị ihe karịrị otu ngwọta (dị ka ikpere aka elu / ala), mgbe ụfọdụ ọ nweghị ngwọta (ebe a na-apụghị ịchọta), mgbe ụfọdụ ọ na-enwe ngwọta na-enweghị njedebe (singularity).

echiche

ntinye

mmepụta

Ọnụọgụ nke ngwọta

Kinematics na-aga n'ihu

nkwonkwo akụkụ

Oke ọnọdụ/nghazi

otu

Inverse kinematics

Oke ọnọdụ/nghazi

nkwonkwo akụkụ

Otutu/enweghị/enweghị ngwụcha

Maka ogwe aka atụmatụ nkwonkwo abụọ, enwere ike ịtọlite ​​kinematics inverse na AI wee jiri aka gosi ya dị ka ndị a:

mbubata numpy dị ka npdef inverse_kinematik_2r (x, y, L1, L2): """ IK maka ogwe aka 2-njikọ ọnụ. Na-eweghachi akụkụ na radians (ihe ngwọta n'ikpere ụkwụ)." ma ọ bụrụ np.sqrt (r2)> (L1 + L2) ma ọ bụ np.sqrt (r2) < abs (L1 - L2): welie ValueError ("Point dị n'èzí ohere ọrụ") cos_t2 = (r2 - L1**2 - L2**2) / (2 * L1 * L2) / (2 * L1 * L2) cos_t2 = (np. 1.0) # numericalsecurity t2 = np.arccos (cos_t2) # elbow down t1 = np.arctan2 (y, x) - np.arctan2 (L2*np.sin (t2), L1 + L2 * np.cos (t2)) laghachi np.degrees (t1), np.2 target, np. (1,1) -> tụrụ anya t2 = 90 degreesprint (inverse_kinemtik_2r (1.0, 1.0, 1.0, 1.0)) # ~ (0.0, 90.0)

Ahịrị ndị dị oke egwu ebe a bụ ebe AI na-amalikarị: nlele ike iru (bụ isi ihe dị na ebe ọrụ) na `np.clip` (na-egbochi ntinye arccos ịgafe ± 1 n'ihi njehie okirikiri). Enweghị nchebe abụọ a, koodu ahụ ga-emepụta NaN ma ọ bụ daa na ebe adịghị mma.

NDỤMỌDỤ: Mgbe ị na-arịọ maka mkpebi IK, gwa AI nke ọma ka ọ "tinye njikwa nnweta yana kpachie ntinye arccos na clip". Ahịrị abụọ a na-egbochi mmejọ ndị dị jụụ nke na-akpata isi ọwụwa n'ọhịa.

Oke nkwonkwo, ịdị n'otu na ọtụtụ Ngwọta

Njiko ọ bụla nke ezigbo robot nwere akụkụ akụkụ (dịka -170° ruo +170°), oke ọsọ, yana oke osooso. Ọbụlagodi na IK na-enye akụkụ mgbakọ na mwepụ na-arụ ọrụ, enweghị ike iji ya ma ọ bụrụ na akụkụ ahụ dị n'èzí anụ ahụ nke nkwonkwo. Na mgbakwunye, robot na-adaba n'otu n'otu na nhazi ụfọdụ: anyụike abụọ na-ahazi, otu ogo nnwere onwe na-efunahụ, na nkwonkwo ụkwụ na-anwa ịga na njedebe maka obere mmegharị ọnụ.

Ọ bụ ya mere HR ngwọta naanị ezughị; Ngwọta ọ bụla ga-agaferịrị nzacha nnabata:

def solution_gecerli_mi (acilar_deg, limits_deg): """ mgbu: [t1,t2,...], ókè: [(min,max),...]""" maka mgbu, (amin, amax) na zip (acilar_deg, limits_deg): ma ọ bụrụ na ọ bụghị (amine <= mgbu <= amax): nloghachi ụgha, f"Njikọta: ({amine},{amax}) ma ewezuga" weghachi Eziokwu, "OK"liits = [(-170, 170), (-120, 120)]print(cozum_valid_mi([0.0, 90.0], limits))) # (Eziokwu, 'OK') ebipụta (cozum_valid_mi (cozum_valid_mi)], (15.0) 'oke njikọ agafeela...')

AI nwere ike inye ngwọta "mgbakọ na mwepụ" nke IK; mana oke nkwonkwo na ịzere otu onye bụ kpọmkwem maka sistemụ gị ma a ga-enyerịrị ya dị ka ihe gbara ya gburugburu.

Atụmatụ Orbit

Inweta rọbọt site n'ebe A ruo n'ókè B abụghị maka ịbịaru ahịrị kwụ ọtọ n'etiti akụkụ abụọ. Mgbanwe ọsọ mberede na-emepụta ujo na ịma jijiji. Kama nke ahụ, a na-eji profaịlụ dị nro: trapezoidal velocity profile (mgbasa ngwa ngwa-ngwa ngwa-ngwa ngwa mgbe niile) ma ọ bụ S-curve (na-adị nro, ebe acceleration nwekwara oke). Mgbe ị na-eme AI na-emepụta trajectory, ị ga-enyerịrị ebumnuche, oge na mgbochi.

mbubata numpy dị ka npdef trapez_yorunge (q0, q1, v_max, a_max, dt = 0.01): """ Profaịlụ ngwa ngwa trapezoidal maka otu nkwonkwo. A na-eweghachite nhazi ọnọdụ. 0.5 * a_max * t_speed**2 ma ọ bụrụ na 2 * distance_speed> anya: # profaịlụ triangular (v_max adịghị erute ya) t_speed = np.sqrt (distance / a_max) t_constant = 0.0 v_peak = a_max * t_speed ọzọ: t_constant = vak_2 = (distance_max) v_max T = 2 * t_accelerate + t_constant t = np.arange (0, T, dt) # ... ọnọdụ ngụkọta oge maka nke ọ bụla t (dabere na acceleration / mgbe niile / deceleration phases) nloghachi t, T, v_peak, duration, vz = trapezoidal_trajectory (0.0, _max = 0.0, vz). a_max=120.0)bipụta(f"Ngụkọta oge: {oge:.3f} s, ọsọ kacha elu: {vz:.1f} deg/s")

Nyocha echiche ebe a bụ nke a: ọ bụrụ na anya dị mkpụmkpụ, moto agaghị eru v_max ma profaịlụ ga-atụgharị site na trapezoidal gaa na triangular. Ọ bụrụ na AI agbaghara ọnọdụ a, a ga-agbakọ oge na-ezighi ezi maka mmegharị mkpụmkpụ. Ị nwere ike nyochaa nke a site na iji uru amaara nwalee koodu ahụ (dịka ọmụmaatụ, ebe dị mkpụmkpụ).

Ngwa ngwa adịghị ike / Ike ngwa ngwa

NA-adịghị ike: "Dee trajectory nke na-ewere ogwe aka robot site na A ruo B." Profaịlụ ngwa ngwa trapezoidal, ọ bụrụ na anya dị mkpụmkpụ, daa na profaịlụ triangular.

Nyocha: Site na Simulation ruo Robot

A na-enyocha trajectory nke AI mepụtara n'usoro a tupu ịga na robot:

  1. Ọnụọgụgụ: akụkụ nkwonkwo, ọsọ na osooso nke nzọụkwụ ọ bụla ọ bụ oke?
  2. Nkukota: N'akụkụ trajectory, ogwe aka ọ na-adaba n'onwe ya ma ọ bụ gburugburu ebe obibi (na-ele anya / mee ka ọ bụrụ na ọ ga-ekwe omume)?
  3. Ịdị n'otu: Orbit ọ na-agafe mpaghara otu (ndị na-ekpebi Jekọb ọ na-abịaru nso efu)?
  4. Nnwale ngwaike dị nwayọ: rụọ ọrụ rọbọt na obere ọsọ (dịka 10%) wee lelee ya anya.
  5. Mmụba ọsọ nke nta nke nta: Ozugbo achọpụtara ihe niile, ọsọ ahụ na-abawanye nzọụkwụ site na nzọụkwụ ruo uru ọnụ.
Kpachara anya: Mgbe ị na-amalite robọt nwere trajectory ọhụrụ maka oge mbụ, nkwụsị ọsọ kwesịrị ịdị ala mgbe niile yana nkwụsị E-stop kwesịrị ịdị. Ọbụlagodi na mmepụta AI bụ “mgbakọ na mgbakọ na mwepụ ziri ezi,” nkwụghachi azụ, azụ axis, ma ọ bụ eriri USB na nhazi anụ ahụ ka a ga-egosipụta naanị site na iji nwayo nwayọ.

Obere Case

Injinia akpaaka Ece na-arịọ AI maka koodu trajectory na oghere njikọ maka ngwa ịhọrọ na ebe. AI na-emepụta profaịlụ trapezoidal, mana mgbe Ece nwalere njem dị mkpụmkpụ, ọ na-ahụ na oge ahụ adịghị mma: koodu ahụ ejideghị ikpe profaịlụ triangular ebe v_max enweghị ike iru. Ece na-edozi nke a site n'ịgwa ngwa ngwa "ọ bụrụ na anya dị mkpụmkpụ, daba na profaịlụ triangular". Ọ na-agba ọsọ njikọ njikọ AI nyere site na ọrụ nkwado ya megide tebụl oke ya wee chọpụta na nkwonkwo 5 chọrọ + 125 ° n'otu oge, ebe njedebe bụ + 120 °. Ọ na-emegharị trajectory na nyochaa ya, oge a na-agba ọsọ robot na 10% ọsọ. Na agba nke mbụ, ọ na-ahụ na gripper na-abịaru nso na tebụl wee mezie nkwụsị Z. AI weghachiri ihe ndepụta ọrụ na nkeji; mana nkwenye atọ dị iche iche (profaịlụ triangular, njedebe nkwonkwo, nwale nwayọ nwayọ) jidere ezigbo nsogbu atọ dị iche iche.

Mmejọ a na-emekarị

  • Iji ngwọta IK na-enweghị njedebe nkwonkwo na njikwa nnweta.
  • Ọ bụghị clipping arccos/arcsin ntinye mana na-emepụta NaN ma ọ bụrụ na enwere njehie okirikiri.
  • Na-arịọ orbit na-enweghị mmachi ọsọ/ọsọ ọsọ yana imepụta ujo.
  • Na-eleghara mpaghara singularity anya na ikwe ka ọsọ nkwonkwo gbagoro elu.
  • Ịwụfe mgbanwe profaịlụ trapezoidal-triangular na obere anya na ịgbakọ oge na-ezighi ezi.
  • Na-eme ule mbụ orbital na ọsọ zuru oke yana enweghị ohere E-kwụsị.

Na nchịkọta

  • Forward kinematics nwere otu ngwọta; inverse kinematics nwere ike iwepụta ọtụtụ, adịghị adị ma ọ bụ enweghi ngwụcha.
  • A na-enyocha azịza IK n'ihe gbasara oke njikọ, nnweta na ịdị n'otu.
  • Atụmatụ trajectory; Ọ na-eji profaịlụ dị nro, njedebe dakọtara dị ka trapezoidal ma ọ bụ S-curve.
  • N'ebe dị anya, profaịlụ na-agbanwe site na trapezoidal gaa na triangular; a ga-edozi nke a na koodu.
  • AI na-eme ngwa ngwa mgbakọ na mwepụ; Oke na ọnọdụ nrụnye anụ ahụ kwesịrị ịbanye ozugbo.
  • A na-agba ọsọ ọhụrụ a mgbe niile maka oge mbụ yana oke ọsọ dị ala yana ịnweta E-stop.

Ọrụ ngwa

Họrọ ụdị ogwe aka njikọ abụọ ma ọ bụ atọ (nke nwere ogologo njikọ ogologo ma ọ bụ nke echiche na oke njikọ). Mee AI ka ọ mepụta ọrụ kinematics na-agbanwe agbanwe yana onye na-eme atụmatụ trajectory na ọnọdụ a. Mgbe ahụ: (1) jiri aka nyochaa mmepụta IK na ebumnuche ama ama (ị na-etinye akụkụ azụ azụ ma laghachi n'otu ebe dị ka FK), (2) nwalee na koodu ahụ na-ejide ha site n'inye ma ọ dịkarịa ala otu isi ihe na-enweghị ike ịnweta na otu njedebe nkwonkwo karịrị ihe mgbaru ọsọ, (3) lelee na n'ebe dị anya na oge orbital na-atụgharị na ezi uche. Dee nsogbu nkwado ole ị chọtara na ụdị mbụ nke koodu ahụ yana oyi akwa jidere nke ọ bụla.