Სარჩევი:

მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი
მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი

ვიდეო: მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი

ვიდეო: მოვლენებზე ორიენტირებული პროგრამირება FTC– ში: 4 ნაბიჯი
ვიდეო: 12. ობიექტზე ორიენტირებული პროგრამირება 2024, ივლისი
Anonim
ღონისძიებებზე ორიენტირებული პროგრამირება FTC– ში
ღონისძიებებზე ორიენტირებული პროგრამირება FTC– ში

წელს, ჩვენმა გუნდმა შეასრულა დიდი სამუშაო ღონისძიებაზე ორიენტირებული პროგრამული უზრუნველყოფის შემუშავებაზე ჩვენი რობოტისთვის. ამ პროგრამებმა გუნდს საშუალება მისცა ზუსტად განევითარებინა ავტონომიური პროგრამები და განმეორებადი სატელეფონო ღონისძიებებიც კი. ვინაიდან პროგრამული უზრუნველყოფის მუშაობა მას მოითხოვს, ჩვენ გადავწყვიტეთ გაგვეზიარებინა ცოდნა, რომელიც მოვიპოვეთ FTC რობოტებისთვის მოვლენებზე ორიენტირებული კოდის შემუშავების შესახებ.

ნაბიჯი 1: რა არის მოვლენებზე ორიენტირებული პროგრამირება?

ზოგადად, Techopedia– ს თანახმად, მოვლენებზე ორიენტირებული პროგრამირება არის პროგრამების შემუშავება, რომლებიც პასუხობენ მომხმარებლის შეყვანას. ამ თვალსაზრისით, ბევრი პროგრამა განიხილება მოვლენებზე ორიენტირებული, მათ შორის გუნდის სატელეფონო პროგრამა, რომელიც ეყრდნობა ადამიანის კონტროლის კონტროლს ნებისმიერი ქმედების განხორციელებისთვის. თუმცა, იმ სამუშაოს თვალსაზრისით, რასაც ჩვენი გუნდი ასრულებდა, ღონისძიებებზე ორიენტირებული პროგრამირება არის პროგრამული უზრუნველყოფის შექმნა სხვადასხვა საშუალებებით; სხვა სიტყვებით რომ ვთქვათ, ჩვენ ვაფორმებთ მოვლენებს კონტროლერებისა და სენსორების შეყვანის საფუძველზე, შემდეგ შეგვიძლია ამ მოვლენების რიგში დგომა და ფაილის გამოყენება ჩაწერილი მოვლენის ხელახლა გასაშვებად.

ჩვენი რობოტისთვის პროგრამების შემუშავების ამ მეთოდს აქვს რამდენიმე უპირატესობა:

  • ეს გვაძლევს საშუალებას შევქმნათ ზუსტი ავტონომიური პროგრამები. ვინაიდან ჩვენ ვქმნით პროგრამულ უზრუნველყოფას რეალურ დროში, როდესაც გავდივართ ღონისძიებას, შეგროვებული და გამოყენებული სენსორული მნიშვნელობები იქნება ძალიან ზუსტი, რადგან ისინი პირდაპირ მოდის საწყისი მოვლენიდან.
  • ეს გვაძლევს საშუალებას შევქმნათ ავტონომიური პროგრამები სწრაფად. ავტონომიური პროგრამების დამზადება ისეთივე მარტივია, როგორც მოვლენათა სერიის ჩაწერა და საჭიროებისამებრ მოვლენის მორგება.
  • ეს საშუალებას გვაძლევს შევქმნათ ავტომატური პროცესები ტელე-ოპერაციისთვის. ტელე – ოპში განმეორებითი მოქმედებებისთვის, მოვლენებზე ორიენტირებული პროგრამირება გვაძლევს საშუალებას ჩავწეროთ ეს ქმედებები და მივცეთ ღონისძიება ღილაკს მატჩების მძღოლის მიერ კონტროლირებადი პერიოდის განმავლობაში. ამ ავტომატიზირებულ მოვლენებზე შეიძლება გავლენა იქონიოს სენსორებმა, რათა მოხდეს მათი ზუსტი შესრულება.

ნაბიჯი 2: მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი

მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი
მოვლენებზე ორიენტირებული პროგრამირების ლოგიკური ნაკადი

შემდეგი ასახავს მოვლენებზე ორიენტირებული პროგრამის ლოგიკურ მიმდინარეობას: წითელი ასახავს მოვლენის შექმნას, ხოლო ლურჯი ასახავს მოვლენის მოწოდებას. მოვლენის შესაქმნელად, შეყვანის თანმიმდევრობა მიიღება რობოტის მოქმედებით და ჩაწერილია როგორც მოვლენები; ეს მოვლენები იწერება ფაილში. ღონისძიების გამოძახებისთვის, ეს ფაილი იკითხება და შენატანი იგზავნება ღონისძიების პროცესორში, რათა ფაილის კოდი რობოტის მოქმედებად იქცეს.

ნაბიჯი 3: ღონისძიების შემქმნელი

ღონისძიების შემქმნელი
ღონისძიების შემქმნელი
ღონისძიების შემქმნელი
ღონისძიების შემქმნელი

ღონისძიების შემქმნელები გამოიყენება სხვადასხვა სახის სენსორებისა და ღილაკების საფუძველზე მოქმედებების ან „მოვლენების“დასაფიქსირებლად. როდესაც რობოტი ასრულებს მოქმედებებს მინდორზე, ღონისძიების შემქმნელთა კლასი ქმნის მოვლენებს თითოეული მათგანისთვის პარალელურად, ეხება მოვლენის კლასში კლასიფიცირებულ მოვლენას. შექმნის შემდეგ, ღონისძიება იდება მოვლენათა კლასში მოვლენების რიგში: პირველი მოვლენა იკავებს პირველ ადგილს, შემდეგ მეორე მოვლენა იკავებს პირველ ადგილს და უბიძგებს ქვემოთ ნებისმიერ მოვლენას, და ეს გრძელდება მანამ, სანამ პროგრამა არ შეჩერდება. როდესაც პროგრამა შეჩერებულია, მოვლენები გადადის ადამიანის მიერ წაკითხული ფორმატის ფაილში, როგორიცაა JSON ფაილი. ეს ფაილი შეიძლება გამოყენებულ იქნას ავტონომიური რუტინების უკეთ გასაუმჯობესებლად.

ზემოთ მოყვანილი კოდი ადგენს მოვლენის პარამეტრებს, რაც ამ შემთხვევაში არის შემობრუნება IMU სენსორის გამოყენებით. შემდეგ ჩვენ ვდგამთ მოვლენას მოვლენების რიგში. დაბოლოს, ჩვენ ვამცირებთ მოვლენას, რომელიც არსებითად აღადგენს მოვლენას ისე, რომ ჩვენ შეგვიძლია გამოვიყენოთ იგი მომავალი მოვლენების რიგში.

ნაბიჯი 4: ღონისძიების პროცესორი

ღონისძიების პროცესორი
ღონისძიების პროცესორი
ღონისძიების პროცესორი
ღონისძიების პროცესორი

ღონისძიების გაკვეთილები იღებენ ადამიანის მიერ წაკითხულ ფაილს, რომელიც შექმნილია ღონისძიების შემქმნელთა კლასში და აკეთებს იმას, რასაც თითოეული მოვლენა რიგში ელოდება, რომ გააკეთოს ღონისძიებების პროცესორის კლასში ასახული მეთოდების გამოძახებით. ღონისძიების პროცესორის კლასი ეუბნება რობოტს, რა მოვლენა გაიმეოროს. იქნება ეს უბრალო "წინსვლის" მოვლენა თუ რთული მოვლენა, სავსე დისტანციებით, შემობრუნებებითა და სტრიქონებით, პროცესორი გაიმეორებს მისთვის მინიჭებულ ნებისმიერ მოვლენას. ეს პროცესი ძალიან სასარგებლოა ავტონომიის დროს, რადგან გუნდს შეუძლია ჩაწეროს სენსორები და Tele-Op მოქმედებები მატჩის დაწყებამდე, შემდეგ კი უბრალოდ გაიმეოროს მოვლენები ავტონომიურ რეჟიმში. ამ პროცესს Memory Replay ეწოდება. ეს საშუალებას აძლევს ავტონომიურ პროგრამას იყოს 100% კონფიგურირებადი ერთი ფაილის საშუალებით. მას შემდეგ რაც შეიქმნება ღონისძიების შემქმნელი და პროცესორი, გუნდს შეუძლია უბრალოდ შეცვალოს ავტონომიური რუტინა ადამიანის მიერ წაკითხული ფაილის საშუალებით.

ზემოთ მოყვანილი მაგალითი ჯერ იწყებს JSON ფაილის მოვლენის შემოწმებას, შემდეგ კი ამ მოვლენის შემოწმებას შემთხვევის განცხადების გამოყენებით, რომ ნახოთ რა მოვლენაა, ამ შემთხვევაში შემობრუნება IMU სენსორის გამოყენებით. მას შემდეგ რაც შეძლებს გითხრათ, რომ ეს არის რიგი IMU მოვლენის გამოყენებით, ის ეხება მოვლენის დამუშავებას, რომელიც ჩვეულებრივ მოიცავს კოდის გაშვებას, რომელიც მოვლენადან მოდის მოვლენის ცვლადების გამოყენებით, რომელიც გადაეცა ადრე მომხდარი მოვლენის გამეორებას.

გირჩევთ: