TEK AYITIAprann · Bati · Pataje
Akèy›Robotik
Modil 6 · Konstwi entèlijans

Robotik

Yon robo se yon machin ki santi, ki deside, epi ki aji — an bouk, san rete. Nan leson sa a, w ap aprann tout pyès yo, kijan yo kominike, kijan pou w fè yon robo mache dwat, epi kijan pou w evite pyèj ki fè pifò premye robo echwe.

Nivo: debitan → entèmedyè ⏱️ 2–3 èdtan 18 seksyon 5 labo entèaktif

Kisa yon robo ye, tout bon?

Nan imaj popilè, yon robo se yon moun metal ki gen de je limen. Nan reyalite, yon robo se yon machin ki pran enfòmasyon sou mond lan, ki pran yon desizyon, epi ki aji. Yon machin lave ki suiv yon pwogram fiks san li pa gade anyen se yon otomàt, pa yon robo. Yon robo ki pa santi anyen pa ka adapte lè mond lan chanje.

1. Santi

Sansò yo mezire distans, limyè, mouvman, tanperati, imaj. San sa, robo a avèg.

2. Deside

Kontwolè a (Arduino, ESP32, Raspberry Pi) egzekite kòd: «si mi devan, vire».

3. Aji

Motè, servo, pòmpe, limyè. Se kò robo a — pati ki fè bagay rive.

Bouk la: Santi → Deside → Aji → Santi ankò. Yon robo fè bouk sa a 10, 50, oswa 1000 fwa pa segond. Tout sa w ap aprann nan leson sa a se pou fè bouk sa a pi rapid, pi egzak, epi pi fasil pou w konprann lè l pa mache.

Nan Ayiti, robotik pa yon liks

Yon robo ki pote dlo nan yon jaden, ki kontwole kalite dlo nan yon sous, ki triye mango, oswa ki fè mezi nan yon lekòl — se bagay ou ka bati ak pyès ki genyen deja. Objektif la se rezoud yon pwoblèm lokal, pa imite yon fim.

Kalite robo

KaliteSa li fèEgzanp
Bras endistriyèlRepete yon mouvman egzak nan yon zòn fiksSoude, pentire, monte pyès
Robo mobilDeplase sou tè (wou, chemiy, pye)Aspiratè, livrezon, agrikòl
DwonVole; kat propulsèKatografi, enspèksyon, cinematografi
ROV / AUVNavige anba dloEnspèksyon bato, syans maren
HumanoyidGen fòm moun; mache ak de pyeRechèch, sèvis
SwamAnpil ti robo ki kolaboreFormasyon dwon, similyasyon
Robo edikatifFèt pou aprannLine follower, bras servo, kits

Pifò robo ou pral bati poukont ou se robo mobil ki gen wou: li pi senp, pi bon mache, epi li anseye prèske tout konsèp enpòtan yo.

Anatomi yon robo

        ┌─────────────────────────────┐
        │        KONTWOLÈ             │  ← "sèvo": Arduino / ESP32 / Pi
        │  (li sansò, deside, kòmande)│
        └───────┬─────────────┬───────┘
                │             │
        ┌───────▼──────┐  ┌───▼──────────┐
        │   SANSÒ      │  │  DRIVÈ MOTÈ  │
        │ distans, IMU │  │  (H-bridge)  │
        └──────────────┘  └───┬──────────┘
                              │
                        ┌─────▼─────┐
                        │  MOTÈ     │
                        └─────┬─────┘
                              │
                        ┌─────▼─────┐
                        │  WOU      │  → kò a deplase
                        └───────────┘

        + CHASI (estrikti)  + BATRI (pouvwa)  + KÒD (lojisyèl)
PatìWòlSa pou w gade
ChasiKenbe tout bagay ansanmRèd, lejè, fasil pou modifye
AksyonèFè mouvmanKoupl, vitès, vòltaj, kouran
SansòMezire mond lanSeri, presizyon, vitès, bri
KontwolèEgzekite kòd laPin, memwa, vitès, Wi-Fi
PouvwaBay enèjiVòltaj estab, kouran ase, sekirite
KominikasyonPale ak lòt aparèyWi-Fi, Bluetooth, seri, radio

Aksyonè: sa ki fè robo a deplase

Yon aksyonè konvèti enèji elektrik an mouvman. Gen plizyè kalite, epi chwazi bon an se mwatye siksè a.

KaliteKijan li macheBon pouFèb pou
Motè DCVire kontinyèl; vitès selon vòltaj/PWMWou, propulsè, pòmpePozisyon egzak (san kodè)
ServoAle nan yon ang (0–180°) selon siyalBras, direksyon, pinzaRotasyon kontinyèl
StepperVire pa ti pa egzakEnprimant 3D, CNCVitès wo, senp
BrushlessElektwonik, pi efikasDwon, gwo vitèsPri, kontwolè konplèks
LineyèPouse oswa rale an liy dwatPòt, pòmpe, presyonVwayaj long
PneumatikLè konpreseFòs rapid, anviwònman difisilPresizyon, bezwen konpresè

Koupl, vitès, ak angrenaj

Koupl (torque) se fòs wotasyon. Li mezire an N·m oswa kg·cm. Yon motè ki gen anpil koupl ka leve yon chaj lou men li vire dousman. Yon motè ki vire vit men li gen mwens koupl.

Pouvwa mekanik P = koupl × vitès angilè (rad/s)
Fòs sou wou F = koupl ÷ reyon wou
Vitès robo v = (π × dyamèt wou × RPM) ÷ 60

Yon angrenaj (gearbox) chanje balans lan: si rapò a se 10:1, vitès la divize pa 10 epi koupl la miltipliye pa 10 (mwens pèt). Se poutèt sa motè ak angrenaj se pi bon zanmi yon robo.

Pa alimante yon motè ak yon pin Arduino

Yon pin dijital bay ~20–40 mA. Yon motè ti kras mande 200–2000 mA, epi li fè yon pik lè li demare. Si w konekte motè dirèkteman sou pin, ou boule kontwolè a. Sèvi ak yon drivè motè (L298N, TB6612, DRV8833) ak yon alimantasyon separe.

Kontwole yon motè DC

Pou kontwole yon motè DC ou bezwen de bagay:

  1. Direksyon — yon pon H (H-bridge) ki ka ranvèse polarite a.
  2. Vitès — PWM: ou limen/epenn kouran a byen vit. Si li limen 50% tan an, motè a resevwa ~50% vòltaj. Sa rele rapò sik (duty cycle).
Arduino — de motè ak L298N
// L298N: IN1/IN2 = motè goch, IN3/IN4 = motè dwat
const int IN1 = 5, IN2 = 6, IN3 = 9, IN4 = 10;

void setup() {
  pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
}

void moteur(int g, int d) {          // -255 rive 255
  analogWrite(IN1, g >= 0 ? g : 0);  // direksyon + vitès
  analogWrite(IN2, g >= 0 ? 0 : -g);
  analogWrite(IN3, d >= 0 ? d : 0);
  analogWrite(IN4, d >= 0 ? 0 : -d);
}

void loop() {
  moteur(180, 180);  // avanse
  delay(2000);
  moteur(180, -180); // vire sou plas
  delay(800);
}

Sonje: L298N pèdi anpil vòltaj (1,5–3 V). Pou yon robo ki sot sou batri 7,4 V, sa grav. TB6612 oswa DRV8833 pi efikas.

Servo: mouvman egzak

Yon servo resevwa yon siyal PWM 50 Hz. Yon enpilsyon 1 ms = 0°, 1,5 ms = 90°, 2 ms = 180° (apeprè). Li gen yon kontwolè entèn ki kenbe ang lan.

  • Koupl: yon SG90 se ~1,8 kg·cm — ase pou yon ti bras, pa pou leve yon bwat lou.
  • Kouran: yon servo ka pran 500 mA–2 A lè l anba chaj. Alimante l separeman, epi konekte tè yo ansanm.
  • Pa fòse l pi lwen pase limit mekanik li — li ap chofe epi boure.
Arduino — servo
#include <Servo.h>
Servo bras;

void setup() {
  bras.attach(9);      // siyal sou pin 9
}

void loop() {
  bras.write(0);       // 0°
  delay(1000);
  bras.write(90);      // mitan
  delay(1000);
  bras.write(180);     // 180°
  delay(1000);
}

Sansò: je, zòrèy, ak po robo a

Yon robo san sansò se yon machin avèg. Men sansò ki pi komen yo ak fay yo:

SansòMezireKijanPyèj
Ultrasonik (HC-SR04)Distans 2–400 cmVoye yon son, mezire tan retouSifas mou, ang, entèferans
Infrawouj (IR)Liy nwa/blan, pwoksimiteRefleksyon limyèLimyè solèy, koulè sifas
IMU (MPU6050)Akselerasyon, rotasyonMEMS entènDrift, bri, bezwen fusion
KodèRotasyon wouDisk twou + detektèPousyè, fil kase
KameraImajLidar/CMOSBezwen anpil pouvwa kalkil
LDRLimyèRezistans ki chanjeLantè, kouvèti
Swich limitKontakMekanikRebond (debounce)
Kouran (ACS712)KouranHall effectOffset, bri

Ultrasonik: fòmil la

Son vwayaje ~343 m/s nan lè a (0,0343 cm/µs). Li fè ale-retou, kidonk:

Distans (cm) = (tan ale-retou an mikrosegond × 0,0343) ÷ 2

Si w mezire 5800 µs: 5800 × 0,0343 ÷ 2 = 99,5 cm.

Filtre se pa yon liks

Yon sansò toujou gen bri. Pratik senp: pran 5 mezi, jete pi wo ak pi ba a, fè mwayèn rès la. Pou yon swich, ajoute yon debounce 20–50 ms. Pou yon IMU, konbine akseleromèt (drift ki ba, bri wo) ak jiroskòp (bri ba, drift wo) — sa rele filtè konplemantè.

Kontwolè: chwazi sèvo a

KontwolèPriPwen fòPa bon pou
Arduino Uno$Senp, solid, anpil dokimantasyonWi-Fi, AI, gwo kalkil
ESP32$Wi-Fi + Bluetooth + dual-core, 3,3 VPin 3,3 V (pa 5 V tolerant)
Raspberry Pi$$Linux, kamera, AI, PythonPa tan reyèl, bezwen SD card bon
Raspberry Pi Pico$MicroPython, rapid, bon machePa gen Wi-Fi (Pico W genyen)
STM32$$Tan reyèl, pisanKoub aprantisaj pi apik

Règ pratik: kòmanse ak Arduino oswa ESP32 pou kontwòl motè ak sansò. Si w bezwen kamera oswa AI, ajoute yon Raspberry Pi ki pale ak Arduino a (seri oswa I2C). Pa eseye fè yon Pi kontwole motè dirèkteman san drivè.

Pouvwa: kote pifò robo echwe

Yon robo ki mache byen sou tab epi ki fou lè motè yo demare — prèske toujou se yon pwoblèm pouvwa. Men règ yo:

  • Tè komen: tout bagay (batri, drivè, kontwolè, sansò) dwe pataje menm tè a. Sinon siyal yo pa gen referans.
  • Alimantasyon separe: motè yo sou batri dirèkteman (ak fuse), kontwolè a sou yon regilatè estab.
  • Kondansatè: 100–470 µF tou pre drivè motè a, ak 0,1 µF tou pre chak sansò. Sa absòbe bri.
  • Fuse: sou fil pozitif batri a, tou pre batri a. Yon kout-sikui san fuse se yon dife.
  • Kont pit vòltaj: yon batri 7,4 V ka tonbe a 6 V lè motè yo mande kouran. Verifye pi piti vòltaj kontwolè a.
  • Kapasite: dire (èdtan) ≈ kapasite (mAh) ÷ kouran mwayèn (mA) × 0,8.
Batri ityòm

Yon batri LiPo ki gonfle, ki pèse, oswa ki cho se yon danje dife. Sèvi ak yon BMS, yon chajè ki fèt pou li, epi pa janm chaje l san sipèvizyon. Pou yon premye robo, yon batri 6×AA oswa yon 18650 ak BMS pi fasil epi pi sekirize.

Kontwòl: louvri bouk ak fèmen bouk

Nan yon bouk ouvè, ou di motè a «vire 50%» epi ou espere sa mache. Nan yon bouk fèmen, ou mezire rezilta a epi ou korije.

Erè = sib − mezi
Sòti = Kp × erè + Ki × Σ(erè × dt) + Kd × (Δerè ÷ dt)

Se PID. Li senp men li pisan:

  • P (pwopòsyonèl): «plis erè, plis fòs». Twò wo → osilasyon.
  • I (entegral): «akimile erè ki rete». Li retire yon deplasman konstan, men twò wo → rale.
  • D (derivatif): «gade kote erè a prale». Li frennen epi diminye depase.

Metòd manyèl: kòmanse ak Ki=0, Kd=0, monte Kp jiskaske li kòmanse osile; ajoute Kd pou kalme; ajoute yon ti Ki pou retire erè ki rete. Gen yon labo PID anba a pou w santi sa.

De bagay ki ​​gate PID

Saturation: si motè a deja 100%, plis erè pa chanje anyen. Anti-windup: lè sòti a satire, sispann akimile entegral la. Epitou, kenbe dt konstan — yon bouk ki pa regilye fè PID konpòte l dwòl.

Kinemati: kote robo a prale

Robo ak de wou (differential drive)

Si w konnen vitès wou goch (vG) ak wou dwat (vD), epi distans ant yo se L:

v = (vG + vD) ÷ 2   ·   ω = (vD − vG) ÷ L

Si vG = vD, robo a ale dwat. Si vG = −vD, li vire sou plas. Si vG = 0, li vire alantou wou goch la.

Bras ak de segman

Pou yon bras ki gen longè L1 ak L2, ak ang θ1 ak θ2:

x = L1·cos(θ1) + L2·cos(θ1+θ2)
y = L1·sin(θ1) + L2·sin(θ1+θ2)

Sa rele kinemati dirèk: ou konnen ang yo, ou jwenn pwent lan. Kinemati envès se kontrè a: ou vle pwent lan nan yon pwen, ou kalkile ang yo. Gen yon labo pou sa tou.

Pwogramasyon yon robo

Yon pwogram robo gen yon estrikti ki toujou menm:

  1. Inisyalize: konfigre pin, sansò, motè.
  2. Bouk: li sansò → deside → aji.
  3. Wè tan: pa sèvi ak delay() pou tout bagay; li sansò ak motè dwe kontinye.
Arduino — evite obstak
const int TRIG = 9, ECHO = 10;

long distansCM() {
  digitalWrite(TRIG, LOW);  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  long t = pulseIn(ECHO, HIGH, 30000);  // timeout 30 ms
  if (t == 0) return 999;               // pa gen eko
  return t * 0.0343 / 2;
}

void loop() {
  long d = distansCM();
  if (d < 30) {          // mi devan
    moteur(-120, 120);   // vire sou plas
  } else {
    moteur(180, 180);    // avanse
  }
  delay(50);             // 20 mezi pa segond
}
ESP32 — MicroPython (Wi-Fi)
from machine import Pin, PWM
import time

g = PWM(Pin(25), freq=1000)
d = PWM(Pin(26), freq=1000)

def moteur(vg, vd):          # 0 rive 1023
    g.duty(vg)
    d.duty(vd)

while True:
    moteur(700, 700)         # avanse
    time.sleep(1)
    moteur(700, 200)         # vire
    time.sleep(0.6)
  • Odométri: konte rotasyon wou yo pou estimasyon pozisyon. Li toujou drift — li pa ase pou li menm.
  • Swiv liy: de sansò IR ki kenbe w sou yon liy. Senp, solid, bon pou kòmanse.
  • Swiv mi: yon sansò distans ki kenbe yon distans fiks.
  • Jaden potansyèl: atire robo a sou sib la, repouse l soti nan obstak. Bon pou evite obstak.
  • A*: chèche pi kout chemen sou yon griy. Bon lè w gen yon kat.
  • SLAM: bati yon kat epi lokalize tèt ou an menm tan. Sa mande lidar oswa kamera ak anpil kalkil — se yon pwojè avanse.
  • Fizyon sansò: konbine odométri, IMU, ak kamera pou diminye erè.

AI ak vizyon

«AI» nan robotik se sitou pèsepsyon (rekonèt sa kamera a wè) ak desizyon (chwazi aksyon).

  • Vizyon klasik: seuil, koulè, kontou, deteksyon liy. Bon kòmanse ak OpenCV sou yon Pi.
  • Apwantisaj pwofon: yon modèl (YOLO, MobileNet) ki detekte objè. Li kouri sou Pi ak TensorFlow Lite oswa Coral.
  • Reinforcement learning: robo a aprann pa eseye nan yon similyatè. Li mande anpil tan ak yon similyatè bon.
  • ESP32-CAM: bon mache pou yon kamera ki voye imaj, men li pa ase pou AI lou.
Kote AI pa nesesè

Anpil «robo entèlijan» se senpleman yon bon sansò ak yon règ senp. Yon robo ki swiv yon liy ak de sansò IR ka fè plis pase yon robo ki gen yon kamera ki pa byen regle. Konprann pwoblèm nan anvan w ajoute AI.

ROS: lè w grandi

ROS (Robot Operating System) se yon seri lojisyèl pou bati robo konplèks. Li pa yon sistèm operasyon; se yon «bwal zouti» kominikasyon.

  • Nod: yon ti pwogram ki fè yon travay (li kamera, kontwole motè).
  • Topic: yon kanal kote nod yo voye mesaj (pibliye/abòne).
  • tf: sistèm pou swiv pozisyon tout pati robo a nan tan.
  • Gazebo: similyatè fizik pou teste anvan w kase yon bagay reyèl.

Pa kòmanse ak ROS. Bati yon robo ki mache ak Arduino/ESP32 an premye. Lè w gen yon robo ki gen kamera, lidar, ak plizyè pati ki dwe kowòdone, ROS ap vin natirèl.

Sekirite ak etik

Sekirite fizik

  • Yon robo ki gen motè ka kase dwèt. Fè premye tès yo leve sou yon bwat, wou yo pa touche tè.
  • Mete yon swich arè ijans oswa retire batri a fasil.
  • Pwotèj je lè w soude oswa w koupe.
  • Pa fè yon dwon vole bò moun, bò kay, oswa nan yon zòn ki gen règ.
  • Batri: pa chaje san sipèvizyon, pa kout-sikui, pa pèse.

Etik

  • Yon robo ka pran travay — mande ki moun li sèvi, epi ki moun li deplase.
  • Pa fè robo pou siveye moun san konsantman.
  • Pa fè zèl pou zam oswa pou fè moun mal.
  • Bati bagay ki reparab: vis, pa kole; dokimante fil yo.
  • Pataje konesans ou — se konsa yon kominote teknik grandi.

Pwojè: soti nan zewo rive byen lwen

  1. Brushbot (0 elektwonik)

    Yon ti motè vibre, yon bwòs dan, yon batri. Li deplase aza. Objektif: wè mouvman, sant, ak enèji.

  2. Robo ki evite obstak

    Chasi 2 wou, 2 motè DC, yon L298N, yon HC-SR04, yon Arduino. Premye vrè bouk fèmen: mezire → deside → aji.

  3. Swiv liy ak PID

    De sansò IR, yon kontwolè, yon kòd ki kenbe robo a sou liy. Ajoute PID epi wè diferans lan.

  4. Kontwòl pa Wi-Fi

    ESP32 + yon paj wèb senp sou menm rezo a. Ou ka kontwole robo a soti nan telefòn ou.

  5. Bras ak servo

    Twa oswa kat servo, yon chasi, ak kinemati envès. Objektif: pran yon objè nan yon pozisyon ou chwazi.

  6. Vizyon oswa SLAM

    Raspberry Pi + kamera. Detekte yon objè, swiv yon liy, oswa bati yon ti kat. Sa a se yon pwojè plizyè mwa.

PwojèMateryèlTanPri w
BrushbotMotè vibre, bwòs, batri AA1 èdtan________
Evite obstakChasi, 2 motè, L298N, HC-SR04, Arduino1 wikenn________
Swiv liy2 sansò IR, chasi, Arduino1 wikenn________
Wi-FiESP32, drivè, batri2 wikenn________
Bras servo4 servo, chasi, alimantasyon2–3 semèn________

Depanaj: sentòm ak solisyon

SentòmKòz posibSa pou w fè
Robo vire an sèkYon motè branche ranvèseRanvèse de fil yo oswa koreksyon nan kòd
Motè a pa vire men li fè briKouran twò fèb oswa mekanik blokeMezire vòltaj anba chaj, dekonekte wou
Arduino reset lè motè demarePik kouran, tè komen pòvAlimantasyon separe, kondansatè, fil pi gwòs
Ultrasonik bay valè fouAng, sifas mou, de sansò pale ansanmFiltre, espas mezi, ang dwat
Servo tranbleAlimantasyon fèbBatri separe pou servo yo
Robo driftOdométri, wou pa menm gwosèKalibre, fusion IMU
Swiv liy echèk sou koulèSansò IR sansib a limyèRegle seuil, pwoteje soti nan solèy
Anvan w achte

Desine robo a sou papye: ki sansò, ki motè, ki batri, ki kontwolè, ki fil. Verifye vòltaj ak kouran chak pati. Yon plan 10 minit sove yon semèn.

Pratike kounye a — san materyèl

Laboratwa robotik la gen 5 eksperyans: pwograme yon robo sou griy, evite obstak ak kòd, regle yon PID, kalkile yon bras, epi kalkile motè a. Tout mache sou paj la.

Louvri laboratwa a →

Fè omwen de labo anvan w make leson sa fini.