შესავალი

რა არის ხაზზე მავალი რობოტი და როგორ მუშაობს
ხაზზე მავალი რობოტი, ანუ ლაინფოლოვერი (line follower), ავტონომიური რობოტია, რომელიც იატაკზე დახატულ ხაზს — ჩვეულებრივ, თეთრ ფონზე შავს — რაც შეიძლება სწრაფად და ზუსტად მიჰყვება. ხაზზე მავალი რობოტის აწყობა რობოტიკის ერთ-ერთი საუკეთესო პირველი პროექტია: მასში ნამდვილი რობოტის ყველა ნაწილია და მაშინვე ჩანს, მუშაობს თუ არა თქვენი კოდი.
ხაზის მიყოლა საქართველოს რობოტიკის ასოციაციის (GRA) სასკოლო შეჯიბრების ნაწილია (ზიგზაგის ამოცანა), საქართველოს რობოტიკის ჩემპიონატს კი საკუთარი Line Follower კატეგორია აქვს — იხილეთ როგორ დავიწყოთ რობოტიკა სკოლაში და ჩემპიონატი 2026. აქ საკუთარ რობოტს ავაწყობთ და PID მართვით მდორე სვლას ვასწავლით. რობოტიკაში ახალი ხართ? დაიწყეთ სტატიით ჩემი პირველი რობოტი.
მოკლედ: სენსორები ზომავენ, სად არის ხაზი, კონტროლერი ამას ერთ რიცხვად — ცდომილებად (error) — აქცევს და ერთ ბორბალს აჩქარებს, მეორეს ანელებს, სანამ ცდომილება ისევ ნული არ გახდება. ასე — წამში ასობით ჯერ.
ხაზზე მავალი რობოტის ნაწილები
რობოტის ნაწილები — ნომრები დიაგრამის ნომრებს შეესაბამება:
- ინფრაწითელი სენსორების მწკრივი (IR sensor array) — 5–8 არეკვლის სენსორი ერთ რიგში, რობოტის წინა ნაწილში (TCRT5000 ან QTR-ის ტიპის). რაც მეტი სენსორია, მით უფრო ზუსტია ხაზის მდებარეობა.
- კონტროლერი — დასაწყისისთვის Arduino Nano/Uno-ს კლასის დაფაც საკმარისია; ESP32 ან STM32 დაფა მოგვიანებით უფრო სწრაფ ციკლს მოგცემთ.
- ძრავის დრაივერი (motor driver) — კონტროლერის პინი ძრავას ვერ აამუშავებს. MOSFET-იანი დრაივერი (TB6612FNG ან DRV8833 ტიპის) ძველ L298N-ზე გაცილებით ნაკლებ ძაბვას კარგავს.
- ორი რედუქტორიანი ძრავა (gear motor) ბორბლებით — კლასიკური არჩევანია N20 ძრავები, ენკოდერებით კი კიდევ უკეთესი; რეზინის საბურავები ზედაპირს საუკეთესოდ ეჭიდება.
- კვება — 2S LiPo აკუმულატორი (7,4 V) ან ორი 18650 ელემენტი დამცავი დაფით; პირველი, ნელი ვერსიისთვის AA ელემენტებიც გამოდგება.
- ჩამრთველი — აკუმულატორსა და დანარჩენ სქემას შორის.
- საყრდენი ბურთულა (ball caster) — მესამე საყრდენი წერტილი, მცირე ხახუნით.
ამას დაუმატეთ მსუბუქი და მყარი შასი (3 მმ ფანერა ან აკრილი, ან 3D პრინტერზე დაბეჭდილი ფირფიტა), სადენები და ხრახნები. მსუბუქი და დაბალი რობოტი მძლავრ, მაგრამ მძიმე რობოტზე უკეთ იმართება.
სასკოლო ლაინფოლოვერები: ბევრი სასკოლო გუნდი სასწავლო ნაკრებით იწყებს — ჩვენს პირველ სასკოლო შეჯიბრებზე გუნდები mBot-ითა და 4WD Smart Robot Car-ით გამოდიოდნენ. მათ ძრავებიც და ხაზის სენსორებიც უკვე აქვთ, ქვემოთ აღწერილი კალიბრაცია და PID კი მათზეც მუშაობს. GRA-ს 2026 წლის სასკოლო წესებით რობოტი 1 კგ-მდე უნდა იწონიდეს და 180 × 280 მმ ზომის ყუთში უნდა ეტეოდეს.
როგორ ხედავს რობოტი ხაზს: სენსორები და ცდომილება
თითო სენსორში ინფრაწითელი შუქდიოდი და ფოტოტრანზისტორია: თეთრი ზედაპირი ინფრაწითელ სინათლეს ირეკლავს, შავი — შთანთქავს. წაიკითხეთ ანალოგური მნიშვნელობა (Arduino-ზე 0–1023) და არა მხოლოდ ციფრული „კი/არა“ — ასე რობოტი შუალედურ მდებარეობებსაც გაარჩევს.
- სიმაღლე — არეკვლის სენსორების უმეტესობა საუკეთესოდ ზედაპირიდან რამდენიმე მილიმეტრზე მუშაობს (დაახლოებით 2–8 მმ; იხ. მონაცემთა ფურცელი). სიმაღლე მუდმივი უნდა იყოს.
- დაშორება — სენსორებს შორის დაახლოებით 8–12 მმ, რომ 15–20 მმ სიგანის ხაზი ყოველთვის ერთ ან ორ სენსორს ფარავდეს (GRA-ს 2026 წლის სასკოლო წესებში — 1,6 სმ).
- კალიბრაცია — სტარტამდე სენსორები ხაზსა და ფონზე გადაატარეთ, თითოს მინიმუმი და მაქსიმუმი დაიმახსოვრეთ და ყოველი ანათვალი 0–1000 დიაპაზონში გადაიყვანეთ; ასე სენსორებს შორის სხვაობაც ქრება და განათების გავლენაც.
- ცდომილება — თითო სენსორს მიანიჭეთ წონა (7 სენსორისთვის −3-დან +3-მდე) და გამოთვალეთ შეწონილი საშუალო: e = Σ(w·s) / Σs. დიაგრამაზე: 1 — ხაზი ცენტრშია, e = 0, პირდაპირ; 2 — +1 და +2 სენსორებს შორისაა, e = +1,5, მარჯვნივ; 3 — მარცხენა კიდესთანაა, e = −3, მკვეთრად მარცხნივ.
- დაკარგული ხაზი — თუ ყველა სენსორი ფონს ხედავს, რობოტი მკვეთრად იმ მხარეს მოაბრუნეთ, საითაც ბოლო ცდომილება იყო.
- თეთრი ხაზი შავ ფონზე — GRA-ს 2026 წლის სასკოლო წესები შავ ან თეთრ ხაზს უშვებს, კონტრასტულ ფონზე, ამიტომ კოდში „ინვერსია“ ერთი პარამეტრით ჩართეთ (s = 1000 − s).
აწყობა და შეერთება ნაბიჯ-ნაბიჯ
- ორი ძრავა სიმეტრიულად დაამაგრეთ, ბორბლები — ერთმანეთის პარალელურად.
- სენსორების მწკრივი წინ დაამაგრეთ — მყარად, გამოცდილ სიმაღლეზე, მოძრაობის მიმართულების განივად. მანძილი d ბორბლების ღერძიდან (პირველი დიაგრამა): დიდი d მოსახვევს ადრე ამჩნევს, მაგრამ მეტად არხევს; პატარა რობოტისთვის 5–10 სმ კარგი დასაწყისია.
- აკუმულატორი დაბლა და ღერძთან ახლოს მოათავსეთ, რომ ბურთულაზე ცოტა წონა მოდიოდეს.
- კვება: აკუმულატორი → ჩამრთველი → ძრავის დრაივერი და → სტაბილიზატორი → კონტროლერი. ყველა „მიწა“ (GND) ერთმანეთთან შეაერთეთ.
- სიგნალები: სენსორები → ანალოგური შესასვლელები; დრაივერის PWM და მიმართულების პინები → კონტროლერი; ძრავები → დრაივერის გამოსასვლელები.
- პირველი ცდა — ბორბლები ჰაერში: სერიულ მონიტორზე სენსორების მნიშვნელობები ნახეთ და თითო ძრავის ბრუნვის მიმართულება შეამოწმეთ (თუ არასწორია, ძრავის ორ სადენს ადგილი შეუცვალეთ).
უსაფრთხოება:
- რჩილვა — სარჩილავი სადგამზე, განიავებული ოთახი (ფლუსის ორთქლი), დამცავი სათვალე; ტყვიიანი სარჩილის შემდეგ ხელები დაიბანეთ. სარჩილავის წვერი დაახლოებით 300–350 °C-ია.
- LiPo — მხოლოდ ბალანსირების დამტენით, არასდროს უყურადღებოდ, ცეცხლგამძლე ჩანთაში; ერთ ელემენტზე დაახლოებით 3,3 V-ზე ქვემოთ არ დაცალოთ; გაბერილ აკუმულატორს აღარ იყენებენ და არასდროს ხვრეტენ.
- მოკლე ჩართვა — პირველ ჩართვამდე პოლარობა გადაამოწმეთ; დნობადი მცველი (fuse) ბევრ დაფას გადაარჩენს.
PID მართვა მარტივად
ყველაზე მარტივი ლოგიკაა „ჩართე-გამორთე“ (bang-bang): ხაზი მარცხნივაა — მოუხვიე მარცხნივ, მარჯვნივაა — მარჯვნივ. ეს მუშაობს, მაგრამ რობოტი ირხევა და ნელა უნდა იაროს.
PID ყოველ ციკლში ცდომილებიდან (e) მდორე შესწორებას (u) ითვლის. დიაგრამაზე: 1 — სენსორები ხაზის მდებარეობას (x) ზომავენ, ცდომილება კი ცენტრიდან (0) გადახრაა; 2 — PID; 3 — ძრავების შერევა; 4 — ძრავები; 5 — რობოტი მოძრაობს და სენსორები ახალ მდებარეობას ხედავენ. შესწორება სამი ნაწილისგან შედგება:
- P (პროპორციული) — Kp·e: რაც უფრო შორსაა რობოტი ხაზიდან, მით უფრო ძლიერად უხვევს. პატარა Kp-ით მოსახვევში „ზარმაცობს“, დიდით — ირხევა.
- D (დიფერენციალური) — Kd·Δe, ანუ Kd·(e − წინა e): რეაგირებს ცდომილების ცვლილების სიჩქარეზე და რხევას ამუხრუჭებს. სწორედ D აძლევს ხაზზე მავალ რობოტს სისწრაფის საშუალებას.
- I (ინტეგრალური) — Ki·Σe: ასწორებს მცირე მუდმივ გადახრას (მაგალითად, სუსტი ძრავის გამო); ხაზის მიმდევარ რობოტებში ხშირად ძალიან მცირეა ან ნულია.
ძრავების სიჩქარე (ბლოკი 3): L = b + u, R = b − u, სადაც b საბაზო სიჩქარეა; შედეგი PWM-ის დიაპაზონში შეზღუდეთ (Arduino-ზე 0–255). ციკლის ინტერვალი მუდმივი იყოს (Δt, მაგალითად, 2–5 მილიწამი), რომ D და I სტაბილურად მუშაობდეს. თუ რობოტი ხაზს შორდება, u-ს ნიშანი შეაბრუნეთ.
PID-ის დაყენება ნაბიჯ-ნაბიჯ
1. აკუმულატორი ბოლომდე დატენეთ და შეჯიბრის მსგავს ზედაპირზე იმუშავეთ.
2. Ki = 0, Kd = 0, საბაზო სიჩქარე — დაბალი (მაქსიმუმის დაახლოებით 30–40 %).
3. Kp ნელ-ნელა გაზარდეთ, სანამ რობოტი მოსახვევებს გაჰყვება და სწორ მონაკვეთზე ოდნავ რხევას დაიწყებს.
4. Kd გაზარდეთ, სანამ რხევა გაქრება — Kd ხშირად Kp-ზე ბევრად დიდი გამოდის.
5. ცოტაოდენი Ki დაამატეთ მხოლოდ მაშინ, თუ რობოტი სწორ მონაკვეთზე მუდმივად ხაზის ერთ მხარეს მიდის.
6. საბაზო სიჩქარე პატარა ნაბიჯებით გაზარდეთ, ყოველ ჯერზე Kp და Kd თავიდან შეარჩიეთ და ყველაფერი ჩაიწერეთ.
ხშირი პრობლემები: რხევა სიჩქარესთან ერთად იზრდება — Kd გაზარდეთ; მკვეთრ კუთხეში ხაზი იკარგება — დიდი ცდომილებისას სიჩქარე შეამცირეთ; ყოველ დღე სხვანაირად იქცევა — ადგილზე ხელახლა დაკალიბრეთ და აკუმულატორი შეამოწმეთ; ბორბლები სრიალებს — საბურავები გაწმინდეთ.
სატესტო ტრასა სახლში ან სკოლაში
- ზედაპირი — თეთრი მქრქალი დაფა, თეთრად შეღებილი ფანერა ან ქვემოდან ერთმანეთზე დაწებებული სქელი ქაღალდი. მბზინავ ზედაპირს მოერიდეთ — ანარეკლი სენსორებს აბნევს.
- ხაზი — შავი საიზოლაციო ლენტი, 15–20 მმ სიგანის (GRA-ს 2026 წლის სასკოლო წესებში — 1,6 სმ). მოსახვევებში ლენტი პატარა ნაჭრებით დააკარით.
- ელემენტები — გრძელი სწორი მონაკვეთი, ფართო და მჭიდრო მოსახვევები, მკვეთრი ზიგზაგი, S-ის ფორმის მოსახვევი, სტარტისა და ფინიშის ხაზები.
- ინვერსია — პატარა მონაკვეთი თეთრი ხაზით შავ ფონზე: სასკოლო წესები ორივე ვარიანტს უშვებს.
- დრო — ყოველი გავლა სტარტის ხაზიდან ფინიშის ხაზამდე გაზომეთ და რვეულში ჩაიწერეთ: Kp, Ki, Kd, საბაზო სიჩქარე, აკუმულატორის ძაბვა, დრო.
- სტარტი — ღილაკით სტარტიც ივარჯიშეთ: GRA-ს 2026 წლის სასკოლო წესებით, რობოტმა ღილაკზე დაჭერიდან 5 წამში უნდა დაიწყოს მოძრაობა.
შემდეგი ნაბიჯი
- საფუძვლები — ჩემი პირველი რობოტი; იგივე ნაწილებით, სხვა ამოცანისთვის — როგორ ავაწყოთ სუმო რობოტი.
- სკოლის გუნდებისთვის — როგორ დავიწყოთ რობოტიკა სკოლაში და სასკოლო რობოტების შეჯიბრება.
- უფროსი მოსწავლეებისა და სტუდენტებისთვის — SUMO და Line Follower ჩემპიონატი; როგორ ჩატარდა 2026 წელს — ჩემპიონატის ანგარიში.
- წესები: ასოციაციის ყოველი ჩემპიონატი მიმდინარე წესებს თავის გვერდზე აქვეყნებს. ხაზზე მავალი რობოტის წესებზე ცალკე გზამკვლევი მალე გამოვა.
- ყველა სტატია ამ თემაზე — ხაზის მიმდევარი რობოტი; მომავალი ღონისძიებები.




