![მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი](https://i.howwhatproduce.com/images/011/image-31351-j.webp)
Სარჩევი:
2025 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2025-01-23 14:50
![ღონისძიებებზე ორიენტირებული პროგრამირება FTC– ში ღონისძიებებზე ორიენტირებული პროგრამირება FTC– ში](https://i.howwhatproduce.com/images/011/image-31351-1-j.webp)
წელს, ჩვენმა გუნდმა შეასრულა დიდი სამუშაო ღონისძიებაზე ორიენტირებული პროგრამული უზრუნველყოფის შემუშავებაზე ჩვენი რობოტისთვის. ამ პროგრამებმა გუნდს საშუალება მისცა ზუსტად განევითარებინა ავტონომიური პროგრამები და განმეორებადი სატელეფონო ღონისძიებებიც კი. ვინაიდან პროგრამული უზრუნველყოფის მუშაობა მას მოითხოვს, ჩვენ გადავწყვიტეთ გაგვეზიარებინა ცოდნა, რომელიც მოვიპოვეთ FTC რობოტებისთვის მოვლენებზე ორიენტირებული კოდის შემუშავების შესახებ.
ნაბიჯი 1: რა არის მოვლენებზე ორიენტირებული პროგრამირება?
ზოგადად, Techopedia– ს თანახმად, მოვლენებზე ორიენტირებული პროგრამირება არის პროგრამების შემუშავება, რომლებიც პასუხობენ მომხმარებლის შეყვანას. ამ თვალსაზრისით, ბევრი პროგრამა განიხილება მოვლენებზე ორიენტირებული, მათ შორის გუნდის სატელეფონო პროგრამა, რომელიც ეყრდნობა ადამიანის კონტროლის კონტროლს ნებისმიერი ქმედების განხორციელებისთვის. თუმცა, იმ სამუშაოს თვალსაზრისით, რასაც ჩვენი გუნდი ასრულებდა, ღონისძიებებზე ორიენტირებული პროგრამირება არის პროგრამული უზრუნველყოფის შექმნა სხვადასხვა საშუალებებით; სხვა სიტყვებით რომ ვთქვათ, ჩვენ ვაფორმებთ მოვლენებს კონტროლერებისა და სენსორების შეყვანის საფუძველზე, შემდეგ შეგვიძლია ამ მოვლენების რიგში დგომა და ფაილის გამოყენება ჩაწერილი მოვლენის ხელახლა გასაშვებად.
ჩვენი რობოტისთვის პროგრამების შემუშავების ამ მეთოდს აქვს რამდენიმე უპირატესობა:
- ეს გვაძლევს საშუალებას შევქმნათ ზუსტი ავტონომიური პროგრამები. ვინაიდან ჩვენ ვქმნით პროგრამულ უზრუნველყოფას რეალურ დროში, როდესაც გავდივართ ღონისძიებას, შეგროვებული და გამოყენებული სენსორული მნიშვნელობები იქნება ძალიან ზუსტი, რადგან ისინი პირდაპირ მოდის საწყისი მოვლენიდან.
- ეს გვაძლევს საშუალებას შევქმნათ ავტონომიური პროგრამები სწრაფად. ავტონომიური პროგრამების დამზადება ისეთივე მარტივია, როგორც მოვლენათა სერიის ჩაწერა და საჭიროებისამებრ მოვლენის მორგება.
- ეს საშუალებას გვაძლევს შევქმნათ ავტომატური პროცესები ტელე-ოპერაციისთვის. ტელე – ოპში განმეორებითი მოქმედებებისთვის, მოვლენებზე ორიენტირებული პროგრამირება გვაძლევს საშუალებას ჩავწეროთ ეს ქმედებები და მივცეთ ღონისძიება ღილაკს მატჩების მძღოლის მიერ კონტროლირებადი პერიოდის განმავლობაში. ამ ავტომატიზირებულ მოვლენებზე შეიძლება გავლენა იქონიოს სენსორებმა, რათა მოხდეს მათი ზუსტი შესრულება.
ნაბიჯი 2: მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი
![მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი](https://i.howwhatproduce.com/images/011/image-31351-2-j.webp)
შემდეგი ასახავს მოვლენებზე ორიენტირებული პროგრამის ლოგიკურ მიმდინარეობას: წითელი ასახავს მოვლენის შექმნას, ხოლო ლურჯი ასახავს მოვლენის მოწოდებას. მოვლენის შესაქმნელად, შეყვანის თანმიმდევრობა მიიღება რობოტის მოქმედებით და ჩაწერილია როგორც მოვლენები; ეს მოვლენები იწერება ფაილში. ღონისძიების გამოძახებისთვის, ეს ფაილი იკითხება და შენატანი იგზავნება ღონისძიების პროცესორში, რათა ფაილის კოდი რობოტის მოქმედებად იქცეს.
ნაბიჯი 3: ღონისძიების შემქმნელი
![ღონისძიების შემქმნელი ღონისძიების შემქმნელი](https://i.howwhatproduce.com/images/011/image-31351-3-j.webp)
![ღონისძიების შემქმნელი ღონისძიების შემქმნელი](https://i.howwhatproduce.com/images/011/image-31351-4-j.webp)
ღონისძიების შემქმნელები გამოიყენება სხვადასხვა სახის სენსორებისა და ღილაკების საფუძველზე მოქმედებების ან „მოვლენების“დასაფიქსირებლად. როდესაც რობოტი ასრულებს მოქმედებებს მინდორზე, ღონისძიების შემქმნელთა კლასი ქმნის მოვლენებს თითოეული მათგანისთვის პარალელურად, ეხება მოვლენის კლასში კლასიფიცირებულ მოვლენას. შექმნის შემდეგ, ღონისძიება იდება მოვლენათა კლასში მოვლენების რიგში: პირველი მოვლენა იკავებს პირველ ადგილს, შემდეგ მეორე მოვლენა იკავებს პირველ ადგილს და უბიძგებს ქვემოთ ნებისმიერ მოვლენას, და ეს გრძელდება მანამ, სანამ პროგრამა არ შეჩერდება. როდესაც პროგრამა შეჩერებულია, მოვლენები გადადის ადამიანის მიერ წაკითხული ფორმატის ფაილში, როგორიცაა JSON ფაილი. ეს ფაილი შეიძლება გამოყენებულ იქნას ავტონომიური რუტინების უკეთ გასაუმჯობესებლად.
ზემოთ მოყვანილი კოდი ადგენს მოვლენის პარამეტრებს, რაც ამ შემთხვევაში არის შემობრუნება IMU სენსორის გამოყენებით. შემდეგ ჩვენ ვდგამთ მოვლენას მოვლენების რიგში. დაბოლოს, ჩვენ ვამცირებთ მოვლენას, რომელიც არსებითად აღადგენს მოვლენას ისე, რომ ჩვენ შეგვიძლია გამოვიყენოთ იგი მომავალი მოვლენების რიგში.
ნაბიჯი 4: ღონისძიების პროცესორი
![ღონისძიების პროცესორი ღონისძიების პროცესორი](https://i.howwhatproduce.com/images/011/image-31351-5-j.webp)
![ღონისძიების პროცესორი ღონისძიების პროცესორი](https://i.howwhatproduce.com/images/011/image-31351-6-j.webp)
ღონისძიების გაკვეთილები იღებენ ადამიანის მიერ წაკითხულ ფაილს, რომელიც შექმნილია ღონისძიების შემქმნელთა კლასში და აკეთებს იმას, რასაც თითოეული მოვლენა რიგში ელოდება, რომ გააკეთოს ღონისძიებების პროცესორის კლასში ასახული მეთოდების გამოძახებით. ღონისძიების პროცესორის კლასი ეუბნება რობოტს, რა მოვლენა გაიმეოროს. იქნება ეს უბრალო "წინსვლის" მოვლენა თუ რთული მოვლენა, სავსე დისტანციებით, შემობრუნებებითა და სტრიქონებით, პროცესორი გაიმეორებს მისთვის მინიჭებულ ნებისმიერ მოვლენას. ეს პროცესი ძალიან სასარგებლოა ავტონომიის დროს, რადგან გუნდს შეუძლია ჩაწეროს სენსორები და Tele-Op მოქმედებები მატჩის დაწყებამდე, შემდეგ კი უბრალოდ გაიმეოროს მოვლენები ავტონომიურ რეჟიმში. ამ პროცესს Memory Replay ეწოდება. ეს საშუალებას აძლევს ავტონომიურ პროგრამას იყოს 100% კონფიგურირებადი ერთი ფაილის საშუალებით. მას შემდეგ რაც შეიქმნება ღონისძიების შემქმნელი და პროცესორი, გუნდს შეუძლია უბრალოდ შეცვალოს ავტონომიური რუტინა ადამიანის მიერ წაკითხული ფაილის საშუალებით.
ზემოთ მოყვანილი მაგალითი ჯერ იწყებს JSON ფაილის მოვლენის შემოწმებას, შემდეგ კი ამ მოვლენის შემოწმებას შემთხვევის განცხადების გამოყენებით, რომ ნახოთ რა მოვლენაა, ამ შემთხვევაში შემობრუნება IMU სენსორის გამოყენებით. მას შემდეგ რაც შეძლებს გითხრათ, რომ ეს არის რიგი IMU მოვლენის გამოყენებით, ის ეხება მოვლენის დამუშავებას, რომელიც ჩვეულებრივ მოიცავს კოდის გაშვებას, რომელიც მოვლენადან მოდის მოვლენის ცვლადების გამოყენებით, რომელიც გადაეცა ადრე მომხდარი მოვლენის გამეორებას.
გირჩევთ:
RGB- სინათლეზე ორიენტირებული პალმების მოძრაობა უკონტაქტო: 4 ნაბიჯი
![RGB- სინათლეზე ორიენტირებული პალმების მოძრაობა უკონტაქტო: 4 ნაბიჯი RGB- სინათლეზე ორიენტირებული პალმების მოძრაობა უკონტაქტო: 4 ნაბიჯი](https://i.howwhatproduce.com/images/001/image-2154-6-j.webp)
RGB- სინათლეზე ორიენტირებული პალმების მოძრაობა უკონტაქტო: RGB ღამის შუქი, ღამის შუქის ფერის კონტროლის უნარით ხელის მოძრაობების გამოყენებით. სამი მანძილის სენსორის გამოყენებით, ჩვენ შევცვლით RGB ფერის სამივე კომპონენტის სიკაშკაშეს ხელთან მიახლოებისას ან მოხსნისას. არ
ობიექტზე ორიენტირებული პროგრამირება: საგნების სწავლა/სწავლების მეთოდი/ტექნიკა ფორმის პანჩერის გამოყენებით: 5 ნაბიჯი
![ობიექტზე ორიენტირებული პროგრამირება: საგნების სწავლა/სწავლების მეთოდი/ტექნიკა ფორმის პანჩერის გამოყენებით: 5 ნაბიჯი ობიექტზე ორიენტირებული პროგრამირება: საგნების სწავლა/სწავლების მეთოდი/ტექნიკა ფორმის პანჩერის გამოყენებით: 5 ნაბიჯი](https://i.howwhatproduce.com/images/003/image-8919-j.webp)
ობიექტზე ორიენტირებული პროგრამირება: საგნების შემუშავება/სწავლების მეთოდი/ტექნიკა Shape Puncher– ის გამოყენებით: სწავლის/სწავლების მეთოდი ახალი ობიექტებისთვის ორიენტირებული პროგრამირებისათვის. ეს არის საშუალება მივცეთ მათ ვიზუალიზაცია და დაინახონ კლასებიდან ობიექტების შექმნის პროცესი. ნაწილები: 1. EkTools 2 დიუმიანი დიდი დარტყმა; მყარი ფორმები საუკეთესოა .2. ცალი ქაღალდი ან გ
UWaiPi - დროზე ორიენტირებული ავტომატური მცენარეთა მორწყვის სისტემა: 11 ნაბიჯი (სურათებით)
![UWaiPi - დროზე ორიენტირებული ავტომატური მცენარეთა მორწყვის სისტემა: 11 ნაბიჯი (სურათებით) UWaiPi - დროზე ორიენტირებული ავტომატური მცენარეთა მორწყვის სისტემა: 11 ნაბიჯი (სურათებით)](https://i.howwhatproduce.com/images/008/image-23912-j.webp)
UWaiPi - დროზე ორიენტირებული ავტომატური მცენარეთა მორწყვის სისტემა: გამარჯობა! დაგავიწყდათ მცენარეების მორწყვა დღეს დილით? გეგმავთ შვებულებას, მაგრამ ფიქრობთ ვინ აპირებს მცენარეების მორწყვას? ისე, თუ თქვენი პასუხები დიახ არის, მაშინ მე მაქვს თქვენი პრობლემის გადაწყვეტა. მე ნამდვილად მიხარია, რომ წარმოგიდგენთ uWaiPi
ობიექტზე ორიენტირებული პროგრამირება: ობიექტების შექმნა სწავლის/სწავლების მეთოდი/ტექნიკა მაკრატლის გამოყენებით: 5 ნაბიჯი
![ობიექტზე ორიენტირებული პროგრამირება: ობიექტების შექმნა სწავლის/სწავლების მეთოდი/ტექნიკა მაკრატლის გამოყენებით: 5 ნაბიჯი ობიექტზე ორიენტირებული პროგრამირება: ობიექტების შექმნა სწავლის/სწავლების მეთოდი/ტექნიკა მაკრატლის გამოყენებით: 5 ნაბიჯი](https://i.howwhatproduce.com/images/001/image-2761-16-j.webp)
ობიექტზე ორიენტირებული პროგრამირება: ობიექტების შექმნა სწავლების/სწავლების მეთოდი/ტექნიკა მაკრატლის გამოყენებით: სწავლის/სწავლების მეთოდი მოსწავლეებისთვის, რომლებიც ახლები არიან ობიექტზე ორიენტირებულ პროგრამირებაში. ეს არის საშუალება მივცეთ მათ ვიზუალიზაცია და დაინახონ კლასებიდან ობიექტების შექმნის პროცესი. ნაწილები: 1. მაკრატელი (ნებისმიერი სახის იქნება). 2. ნაჭერი ქაღალდი ან ბარათი. 3. მარკერი
შექმენით ლიდარზე ორიენტირებული რობოტი GiggleBot– ით: 8 ნაბიჯი
![შექმენით ლიდარზე ორიენტირებული რობოტი GiggleBot– ით: 8 ნაბიჯი შექმენით ლიდარზე ორიენტირებული რობოტი GiggleBot– ით: 8 ნაბიჯი](https://i.howwhatproduce.com/images/004/image-10335-j.webp)
შექმენით ლიდარზე ორიენტირებული რობოტი GiggleBot– ით: ამ სახელმძღვანელოში ჩვენ ვაკეთებთ GiggleBot– ს დაძლიოს ლაბირინთის სირთულეები. ჩვენ ვამონტაჟებთ სერვოს GiggleBot– ზე, რომელზედაც ჩვენ ვამაგრებთ დისტანციის სენსორს. მუშაობის დროს, სერვო ბრუნავს წინ და უკან ისე, რომ მანძილის სენსორი