Ẹyọ 2 / 9

Oríkĕ oye ni Robotics ati išipopada Iṣakoso

Awọn anfani:

  • Agbara lati ṣeto ati yanju kinematics siwaju / idakeji ati awọn iṣoro igbero itọpa pẹlu iranlọwọ ti AI
  • Agbara lati ṣe agbejade orbit ailewu nipa fifun awọn opin apapọ robot, iyara ati awọn ihamọ isare bi agbegbe si tọ
  • Agbara lati ṣe idaniloju nọmba ati ti ara ti kinematic ati iṣelọpọ itọpa ti a ṣe nipasẹ AI

Mu ohun mimu ni opin apa robot kan si aaye kan ni aaye, ni iṣalaye kan; O ba ndun rọrun, ṣugbọn awọn idogba kinematic wa, awọn opin apapọ, awọn ẹyọkan ati igbero itọpa lẹhin rẹ. Nibi, ẹlẹrọ mechatronics nlo trigonometry, algebra laini ati ilana iṣakoso papọ. Oye itetisi atọwọdọwọ jẹ iranlọwọ ti o lagbara ninu ilana yii: o le fi idi awọn idogba kinematics siwaju, daba awọn isunmọ ojutu fun awọn kinematics onidakeji, ṣe iyasọtọ itọpa kan ni ibamu si awọn ihamọ iyara / isare. Sibẹsibẹ, awọn roboti jẹ ọkan ninu awọn agbegbe ni mechatronics pẹlu eewu ti ara ti o ga julọ; Ti ọna igun kan ti ipilẹṣẹ nipasẹ AI ti firanṣẹ si robot laisi ijẹrisi, apa le lu funrararẹ, agbegbe, tabi oniṣẹ. Ninu ẹyọ yii a yoo rii bii o ṣe le ṣeto ati rii daju kinematics ati igbero itọpa pẹlu AI.

Siwaju ati Inverse Kinematics

Kinematics siwaju (FK): Wiwa ipo ati iṣalaye ti opin-effector ti o ba jẹ pe a mọ awọn igun apapọ. Ojutu kan ṣoṣo ni o wa, taara ni.

Inverse kinematics (IK): Ti o ba jẹ pe ipo ti o fẹ ti iṣẹ ipari ni a mọ, wiwa awọn igun-apapọ ti yoo pese eyi. Nigbagbogbo o ni ojutu diẹ sii ju ọkan lọ (bii igbonwo soke / isalẹ), nigbami ko ni awọn ojutu (ojuami ti a ko le de), nigbami o ni awọn solusan ailopin (singularity).

ero

igbewọle

jade

Nọmba awọn ojutu

Kinematics siwaju

awọn igun apapọ

Iwọn ipo / iṣalaye

nikan

onidakeji kinematics

Iwọn ipo / iṣalaye

awọn igun apapọ

Ọpọ / ko si / ailopin

Fun apa ero apapọ meji, kinematics onidakeji le ṣee ṣeto ni AI ati rii daju pẹlu ọwọ gẹgẹbi atẹle:

gbe wọle numpy bi npdef inverse_kinematik_2r (x, y, L1, L2): """ IK fun 2-isẹpo planar apa. Pada awọn igun pada ni radians (igbowo-isalẹ ojutu)"" r2 = x**2 + y**2 # Ayẹwo Wiwọle: ni ojuami ninu awọn iṣẹ? ti o ba ti np.sqrt (r2)> (L1 + L2) tabi np.sqrt (r2) < abs (L1 - L2): ró ValueError ("Point ni ita awọn wiwọle ṣiṣẹ aaye") cos_t2 = (r2 - L1**2 - L2**2) / (2 * L1 * L2) / (2 * L1 * L2) cos_t2 = (1 * L1 * L2) cos_t2 = (np. 1.0) # numericalsecurity t2 = np.arccos (cos_t2) # igbonwo isalẹ t1 = np.arctan2 (y, x) - np.arctan2 (L2 * np.sin (t2), L1 + L2 * np.cos (t2)) pada np.arccos (t1), np. (1,1) -> ti a ti ṣe yẹ t2=90 degreesprint(inverse_kinematik_2r (1.0, 1.0, 1.0, 1.0)) # ~ (0.0, 90.0)

Awọn laini to ṣe pataki ni ibi ti AI nigbagbogbo fo: ṣayẹwo wiwa arọwọto (ni aaye ninu aaye iṣẹ) ati `np.clip` (ṣe idiwọ igbewọle arccos lati lọ kọja ± 1 nitori aṣiṣe iyipo). Laisi awọn aabo meji wọnyi, koodu yoo gbejade NaN tabi jamba ni aaye ti ko tọ.

Imọran: Nigbati o ba beere fun ipinnu IK, sọ fun AI ni kedere lati “fi iṣakoso iraye si ati idinwo igbewọle arccos si agekuru”. Awọn ila meji wọnyi ṣe idiwọ awọn aṣiṣe ipalọlọ ti o fa awọn efori julọ ni aaye.

Awọn Ifilelẹ Isopọpọ, Singularity ati Awọn Solusan Ọpọ

Apapọ kọọkan ti roboti gidi ni iwọn igun kan (fun apẹẹrẹ -170° si +170°), opin iyara, ati opin isare. Paapa ti IK ba funni ni igun ti o wulo ni mathematiki, ko le ṣee lo ti igun yẹn ba wa ni ita ti ara ti apapọ. Ni afikun, robot ṣubu sinu isọdọkan ni diẹ ninu awọn atunto: awọn aake meji ti wa ni ibamu, iwọn kan ti ominira ti sọnu, ati awọn iyara apapọ gbiyanju lati lọ si ailopin fun iṣipopada sample kekere kan.

Ti o ni idi HR ojutu nikan ni ko to; Gbogbo ojutu gbọdọ kọja àlẹmọ gbigba:

def solution_gecerli_mi (acilar_deg, limits_deg): """ irora: [t1,t2,...], ifilelẹ: [(min,max),...]""" fun irora, (amin, amax) ni zip (acilar_deg, limits_deg): ti o ba ko (amine <= irora <= amax): ipadabọ eke, f"Ipapọ deg. ({amine},{amax}) ayafi" pada Otitọ, "Ok"limits = [(-170, 120)]print(cozum_valid_mi([0.0, 90.0], limits))) 'Opin apapọ ti kọja...')

AI le fun ojutu "mathematiki" ti IK; ṣugbọn awọn opin apapọ ati yago fun iyasọtọ jẹ pato si eto rẹ ati pe o gbọdọ fun ni bi o tọ si tọ.

Eto Orbit

Gbigba robot lati aaye A si aaye B kii ṣe nipa yiya laini taara laarin awọn igun meji. Iyipada iyara lojiji ṣẹda mọnamọna ẹrọ ati gbigbọn. Dipo, awọn profaili rirọ ni a lo: profaili iyara trapezoidal (isare igbagbogbo – iyara igbagbogbo – isọkuro igbagbogbo) tabi S-curve (didun, nibiti isare ti tun ni opin). Nigbati o ba n ṣe AI ṣe ipilẹṣẹ itọpa, o gbọdọ fun ibi-afẹde, iye akoko ati awọn ihamọ.

gbe wọle numpy bi npdef trapez_yorunge (q0, q1, v_max, a_max, dt = 0.01): """ Trapezoidal ere sisa profaili fun kan nikan isẹpo. Apoti ipo ti wa ni pada.""" ijinna = abs (q1 - q0) itọnisọna = np.sign = (q1 - q0) tx_speed_speed_ 0.5 * a_max * t_speed**2 ti o ba jẹ 2 * ijinna_iyara> ijinna: # profaili onigun mẹta (v_max ko le de ọdọ) t_speed = np.sqrt(distance / a_max) t_constant = 0.0 v_peak = a_max * t_speed else: v_constant = (distance_max) v_max T = 2 * t_accelerate + t_constant t = np.arange (0, T, dt) # ... iṣiro ipo fun t kọọkan (ti o da lori awọn ipele isare / ibakan / deceleration) ipadabọ t, T, v_peak, duration, vz = trapezoidal_trajectory (0.0, _max.0.0. a_max=120.0) tẹjade (f"Apapọ Iye akoko: {akoko:.3f} s, iyara oke: {vz:.1f} deg/s")

Ayẹwo oye nibi ni eyi: ti ijinna ba kuru, mọto naa kii yoo de v_max ati pe profaili yoo yipada lati trapezoidal si onigun mẹta. Ti AI ba padanu ipo yii, iye akoko ti ko tọ yoo ṣe iṣiro fun awọn agbeka kukuru. O le mọ daju eyi nipa idanwo koodu pẹlu iye ti a mọ (fun apẹẹrẹ, ijinna kukuru pupọ).

Ailagbara Tọ / Alagbara Tọ

Ailagbara: "Kọ ipasẹ kan ti o gba apa robot lati A si B." Profaili iyara trapezoidal, ti ijinna ba kuru, ṣubu sinu profaili onigun mẹta.

Ijeri: Lati Simulation si Robot

Itọpa ti ipilẹṣẹ nipasẹ AI jẹ iṣeduro ni aṣẹ yii ṣaaju lilọ si robot:

  1. Nọmba: Ṣe igun apapọ, iyara ati isare ti igbesẹ kọọkan laarin awọn opin?
  2. Ikọlura: Lẹgbẹẹ itọpa, ṣe apa naa n ṣakojọpọ pẹlu ararẹ tabi agbegbe (ṣe oju wo/farawe ti o ba ṣeeṣe)?
  3. Ẹyọkan: Njẹ orbit n kọja nipasẹ agbegbe ẹyọkan (njẹ ipinnu Jakobu sunmọ odo) bi?
  4. Idanwo ohun elo ti o lọra: Ṣiṣẹ roboti ni iyara kekere (fun apẹẹrẹ 10%) ki o ṣe atẹle ni wiwo.
  5. Ilọsoke iyara diẹdiẹ: Ni kete ti ohun gbogbo ba ti rii daju, iyara naa pọ si ni igbese nipa igbese si iye ipin.
Išọra: Nigbati o ba bẹrẹ robot pẹlu itọpa tuntun fun igba akọkọ, iyara iyara yẹ ki o wa ni kekere nigbagbogbo ati E-stop yẹ ki o wa. Paapaa ti abajade AI jẹ “titọ ni mathematiki,” aiṣedeede, ipadasẹhin, tabi snag okun ni iṣeto ti ara yoo han nikan pẹlu idanwo o lọra.

Mini Case

Ẹlẹrọ adaṣe Ece beere lọwọ AI fun koodu itọpa ni aaye apapọ fun ohun elo yiyan ati ibi. AI ṣe agbejade profaili trapezoidal, ṣugbọn nigbati Ece ṣe idanwo gbigbe gigun kukuru, o rii pe akoko ko dara: koodu naa ko mu ọran profaili onigun mẹta nibiti v_max ko le de ọdọ. Ece ṣe atunṣe eyi nipa sisọ kiakia "ti ijinna ba kuru, ṣubu sinu profaili onigun mẹta". Lẹhinna o ṣiṣẹ awọn igun apapọ ti AI fun nipasẹ iṣẹ afọwọsi rẹ lodi si tabili opin tirẹ ati rii pe apapọ 5 fẹ + 125 ° ni aaye kan, lakoko ti opin jẹ + 120 °. O ṣe atunṣe itọpa naa ati ṣe abojuto rẹ, ni akoko yii nṣiṣẹ robot ni iyara 10%. Ni akọkọ yika, o ri wipe awọn gripper ti wa ni sunmọ ju tabili ati atunse Z aiṣedeede. AI pada ilana ilana iṣẹ ni awọn iṣẹju; ṣugbọn mẹta lọtọ afọwọsi (triangular profaili, apapọ iye to, o lọra igbeyewo) mu meta lọtọ gidi isoro.

Awọn aṣiṣe ti o wọpọ

  • Lilo ojutu IK laisi awọn opin apapọ ati iṣakoso iraye si.
  • Kii ṣe gige awọn titẹ sii arccos/arcsin ṣugbọn ṣiṣe NaN ni ọran ti aṣiṣe iyipo.
  • Beere fun orbit laisi opin iyara / isare ati ṣiṣẹda mọnamọna ẹrọ.
  • Fojusi awọn agbegbe ita gbangba ati jẹ ki awọn iyara apapọ pọ si ọrun.
  • Sisẹ iyipada profaili trapezoidal-triangular ni ijinna kukuru ati iṣiro akoko ti ko tọ.
  • Ṣiṣe idanwo orbital akọkọ ni iyara ni kikun ati laisi iraye si E-stop.

Ni akojọpọ

  • Siwaju kinematics ni o ni kan nikan ojutu; onidakeji kinematics le gbe awọn ọpọ, ti kii-existent tabi ailopin solusan.
  • Awọn ojutu IK jẹ dandan ni iyọ ni awọn ofin ti awọn opin apapọ, iraye si ati iyasọtọ.
  • Eto itopase; O nlo rirọ, awọn profaili ibaramu opin gẹgẹbi trapezoidal tabi S-curve.
  • Ni ijinna kukuru profaili yipada lati trapezoidal si onigun mẹta; yi yẹ ki o wa ni lököökan ninu awọn koodu.
  • AI iyara soke isiro; Awọn ifilelẹ lọ ati ipo fifi sori ẹrọ ti ara yẹ ki o tẹ itọsi naa sii.
  • Itọpa tuntun nigbagbogbo nṣiṣẹ fun igba akọkọ pẹlu ipin iyara kekere ati wiwọle E-stop.

Ohun elo iṣẹ-ṣiṣe

Yan awoṣe apa apapọ meji tabi mẹta (pẹlu gidi tabi awọn gigun ọna asopọ aropin ati awọn opin apapọ). Jẹ ki AI ṣe ipilẹṣẹ iṣẹ kinematics onidakeji ati olutọpa itọpa pẹlu agbegbe yii. Lẹhinna: (1) pẹlu ọwọ ṣe idaniloju abajade IK pẹlu ibi-afẹde ti a mọ (ṣe o fi awọn igun naa pada ki o pada si aaye kanna bi FK), (2) ṣe idanwo pe koodu naa mu wọn nipa fifun ni o kere ju aaye kan ti a ko le wọle ati opin apapọ kan ti o kọja ibi-afẹde, (3) ṣayẹwo pe ni ijinna kukuru akoko orbital yoo jade lati jẹ oye. Kọ iye awọn ọran afọwọsi ti o rii ni ẹya akọkọ ti koodu ati ipele wo ni o mu ọkọọkan.