Სარჩევი:

ჰოკინგის ბოტი: 5 ნაბიჯი
ჰოკინგის ბოტი: 5 ნაბიჯი

ვიდეო: ჰოკინგის ბოტი: 5 ნაბიჯი

ვიდეო: ჰოკინგის ბოტი: 5 ნაბიჯი
ვიდეო: 5 უჩვეულო საქორწილო ტრადიცია სხვადასხვა ქვეყნებიდან 2024, ივლისი
Anonim
Image
Image
შექმენით თქვენი ჰოკინგის ბოტი
შექმენით თქვენი ჰოკინგის ბოტი

ჰოკინგის ბოტი არის Lego MINDSTORMS EV3 პროექტი, რომელიც შთაგონებულია გვიან სტივენ ჰოკინგის მიერ. სტივენ ჰოკინგს ჰქონდა კარგი იუმორის გრძნობა, დარწმუნებული ვარ, რომ ის დაამტკიცებდა ამ პროექტს. ჰოკინგის ბოტს შეუძლია ნავიგაცია გაუაროს დაბრკოლებებს და პასუხობს მოძრაობებს, შემდეგ კი წარმოთქვამს სტივენ ჰოკინგის ერთ -ერთ ცნობილ ხმოვან ნაკბენს და მოძრაობს მოძრავი ობიექტის მიმართულებით. ის იყენებს ულტრაბგერითი სენსორს, რომელიც სკანირებას უკეთებს გარემოს თავის მოძრაობის საშუალებით.

ნაბიჯი 1: შექმენით თქვენი ჰოკინგის ბოტი

ყველა საჭირო ნაჭერი არის ძირითად EV3 Lego MINDSTORMS– ში, გარდა ულტრაბგერითი სენსორისა (მისი თვალები), რომელიც ცალკე უნდა შეიძინოთ.

ნაბიჯი 2:

გამოსახულება
გამოსახულება

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

გთხოვთ უყუროთ ამ ვიდეოს დეტალური ინსტრუქციით, თუ როგორ უნდა დააყენოთ Debian Linux და Python3 თქვენს რობოტზე. მიუხედავად იმისა, რომ ეს არის სპეციალურად Mac– ის დაყენებისთვის, ის მაინც სასარგებლო იქნება პროცესის ზოგადი გაგებისთვის. ეს არის სამუშაოები. ულტრაბგერითი სენსორი ხანდახან არასანდოა და ეს მოითხოვს უფრო ჭკვიან კოდს, რათა გამოავლინოს "გარეთა". ვისურვებდი სხვა ადამიანების წვლილს, რათა კოდი იყოს უფრო ეფექტური და ნაკლებად შეცდომებისკენ მიდრეკილი.

ნაბიჯი 3: შექმენით თქვენი საკუთარი ჰოკინგის ხმოვანი ნაკბენები

კარგი, ახლა გინდათ გქონდეთ რამდენიმე ცნობილი ციტატა ან უბრალო გამონათქვამი პროფესორ ჰოკინგისგან. არსებობს უამრავი ვიდეო, სადაც შეგიძლიათ მოისმინოთ მისი საუბარი და შემდეგ არის მისი ლექციები, რომლებიც სიბრძნის საგანძური და სასარგებლო ხმოვანი ნაკბენებია.

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

შეინახეთ თქვენი soundbite, როგორც wav მონო ფაილი, როგორც SH6, SH7,… SH11, SH12 და ასე შემდეგ.

ქვემოთ ნახავთ რამდენიმე ნიმუშს, რომელიც მე შევქმენი ზემოთ აღნიშნული მეთოდის მიხედვით.

ნაბიჯი 4: რჩევები და ხრიკები

Რჩევები და ხრიკები
Რჩევები და ხრიკები
Რჩევები და ხრიკები
Რჩევები და ხრიკები

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

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

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

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

ნაბიჯი 5: შემოთავაზებული გაუმჯობესებები, განახლებები და მომავალი იდეები

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

ალბათ გსურთ რობოტის სრული კონტროლის აღება და მისი სხვადასხვა ფუნქციების დისტანციური მართვა. თქვენ შეგიძლიათ ამის გაკეთება Bluetooth– ით და დაწეროთ Android პროგრამა რობოტთან კომუნიკაციისთვის. თუმცა, ბევრად უფრო მარტივი მიდგომა იქნებოდა ინფრაწითელი სენსორისთვის ადგილის პოვნა, რათა ჰოკინგის ბოტი დაეკონტროლებინა.

რა შეიძლება ითქვას რობოტის გაცნობაზე მისი გარემოს შესახებ? ეს შეიძლება განხორციელდეს k- უახლოესი მეზობლის მიდგომით ან შესაძლოა ნერვული ქსელით. EV3 აგურს აქვს შეზღუდული დამუშავების ძალა, თუმცა მხარს უჭერს Numpy. ალტერნატივა იქნება BrickPi, რომელიც საშუალებას მოგცემთ აწარმოოთ ხელოვნური ინტელექტის ბიბლიოთეკა, როგორიცაა Tensorflow, მაგრამ ამ სახელმძღვანელოს განზრახვა იყო გამოიყენოთ Lego EV3 MINDSTORMS ნაკრები ულტრაბგერითი სენსორის გარდა ბევრი ძვირადღირებული დამატებითი ნაწილის ყიდვის გარეშე.

თუმცა, k- უახლოესი მეზობლების ხელახალი ინფორმირების სწავლების მიდგომა უნდა მუშაობდეს EV3 აგურზე და ეს არის შემოთავაზებული ალგორითმი. თქვენზეა დამოკიდებული, რომ იპოვოთ სამუშაო განხორციელება ან შენიშნოთ რაიმე პრობლემა:

ჰოკინგსის ბოტის სწავლების გაძლიერება

იდეა იმაში მდგომარეობს, რომ USS– ის 7 წაკითხვა დაშიფრულია ვექტორში, ხოლო ბოლო 10 თავები გამოიყენება 70 ჩანაწერის თანმიმდევრული ვექტორის შესაქმნელად. პირველი კითხვები არასრულია, ამიტომ ნულებით იქნება სავსე. თითოეული ჩანაწერი შეიცავს მანძილს USS– დან. ეს არის სახელმწიფო ვექტორი ს. სისტემა იძლევა 1000 ჩანაწერს. ამის შემდეგ შეიცვლება უძველესი ჩანაწერი და თითოეული s-r წყვილის ასაკობრივი ჩანაწერი შემცირდება ერთით.

ბოტი არ უნდა მიუახლოვდეს ობიექტს 10 სმ -ზე მეტს. ეს ქმნის უარყოფით ჯილდოს. სიმარტივისთვის; კარგი მოქმედებები დაჯილდოვდება 1-ით და ცუდი მოქმედებებით 0. ეფექტურად ეს ქმნის ალბათობას ჯილდოს თითოეული მოქმედების მდგომარეობის კომბინაციისთვის. ჩვენ გამოვიყენებთ შეღავათიან ჯილდოებს და epsilon ხარბ პოლიტიკას.

ეს ქმნის 3 დიდ მდგომარეობას-დაჯილდოების (s-r) ცხრილს სამივე მოქმედებისთვის მარჯვნივ, პირდაპირ წინ და მარცხნივ-შეიძლება შესაძლებელი იყოს სწრაფი და ნელი სიჩქარე თითოეული მოქმედებისთვის. ჩვენ გვექნება 6 მოქმედება და 6 საძიებელი s-r ცხრილი.

ყოველ ჯერზე ახალი მდგომარეობის ჩაწერა ხდება ცხრილებთან შედარებით, ევკლიდური მანძილი (ან მსგავსი ზომა) გამოიყენება უახლოესი მეზობლის მოსაძებნად. ეს არ იქნება რანგირებული, არამედ არის ბარიერი t, რომელიც მიიღებს მდგომარეობას, როგორც ძალიან მსგავსს, გადააწერს არსებულ მდგომარეობას და განაახლებს უმაღლესი ჯილდოს და განახორციელებს მასთან დაკავშირებულ მოქმედებას a. თუ არ არის მსგავსი (d> t) შეიყვანეთ ახალი s-r წყვილი თითოეული მოქმედებისთვის a. თუ არსებობს კავშირი მოქმედებებს შორის s-r (მათ აქვთ ერთი და იგივე ჯილდო) აირჩიე შემთხვევით, მაგრამ ეს არ არის გავრცელებული და შეიძლება გამოტოვებული იყოს.

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

ცხრილი ასე გამოიყურება: შესვლის ნომერი - სახელმწიფო ვექტორი - ჯილდო მოქმედებისათვის 1 - ჯილდო მოქმედებისთვის 2 - ჯილდო მოქმედებისთვის 3.

ვფიქრობ, ფაქტობრივი განხორციელება სახიფათო იქნება, მაგრამ ძალისხმევას უნდა უღირდეს. Წარმატებები!

გირჩევთ: