Სარჩევი:

EyeRobot - რობოტული თეთრი ჯოხი: 10 ნაბიჯი (სურათებით)
EyeRobot - რობოტული თეთრი ჯოხი: 10 ნაბიჯი (სურათებით)

ვიდეო: EyeRobot - რობოტული თეთრი ჯოხი: 10 ნაბიჯი (სურათებით)

ვიდეო: EyeRobot - რობოტული თეთრი ჯოხი: 10 ნაბიჯი (სურათებით)
ვიდეო: This newest airline in Korea has ONE unexpected drawback | Air Premia ICN - NRT 2024, ივლისი
Anonim
EyeRobot - რობოტული თეთრი ჯოხი
EyeRobot - რობოტული თეთრი ჯოხი

რეზიუმე: iRobot Roomba Create- ის გამოყენებით, მე მაქვს პროტოტიპი მოწყობილობის სახელწოდებით eyeRobot. ის უხელმძღვანელებს ბრმა და მხედველობით დაქვეითებულ მომხმარებლებს არეულ და დასახლებულ გარემოში, Roomba- ს გამოყენებით, როგორც ტრადიციული თეთრი ხელჯოხის სიმარტივეზე დაქორწინების მიზნით, მხედველობითი ძაღლის ინსტინქტებით. მომხმარებელი მიუთითებს თავის სასურველ მოძრაობაზე სახელურის ინტუიციური დაჭერით და გადახვევით. რობოტი იღებს ამ ინფორმაციას და აღმოაჩენს მკაფიო გზას დერეფნის ქვემოთ ან ოთახის გასწვრივ, იყენებს სონარს, რომ მომხმარებელი მართოს სწორი მიმართულებით სტატიკური და დინამიური დაბრკოლებების გარშემო. შემდეგ მომხმარებელი მიჰყვება რობოტს, რადგან ის მართავს მომხმარებელს სასურველი მიმართულებით სახელურით შესამჩნევი ძალით. ეს რობოტული ვარიანტი მოითხოვს მცირე ტრენინგს: წადი წასასვლელად, გაიყვანე შეჩერება, ირონია გადააქციე. შორსმჭვრეტელი დიაპაზონის მნახველები ჰგავს მხედველ ძაღლს და მნიშვნელოვანი უპირატესობაა მუდმივ ცდასა და შეცდომასთან შედარებით, რაც თეთრი ხელჯოხის გამოყენებას აღნიშნავს. თუმცა eyeRobot მაინც გაცილებით იაფ ალტერნატივას იძლევა, ვიდრე მეგზური ძაღლები, რომლებიც 12 000 დოლარზე მეტი ღირს და სასარგებლოა მხოლოდ 5 წლის განმავლობაში, ხოლო პროტოტიპი აშენდა 400 დოლარამდე. ის ასევე შედარებით მარტივი მანქანაა, რომელიც მოითხოვს რამდენიმე იაფ სენსორს, სხვადასხვა პოტენომეტრს, ზოგიერთ ტექნიკას და რა თქმა უნდა, Roomba Create.

ნაბიჯი 1: ვიდეო დემონსტრაცია

ვიდეო დემონსტრაცია
ვიდეო დემონსტრაცია

მაღალი ხარისხის ვერსია

ნაბიჯი 2: ოპერაციის მიმოხილვა

ოპერაციის მიმოხილვა
ოპერაციის მიმოხილვა

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

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

ნაბიჯი 3: დიაპაზონის სენსორები

დიაპაზონის სენსორები
დიაპაზონის სენსორები

ულტრაბგერითი: EyeRobot ატარებს 4 ულტრაბგერითი დიაპაზონის მაძიებელს (MaxSonar EZ1). ულტრაბგერითი სენსორები განლაგებულია რობოტის წინა ნაწილში, რათა უზრუნველყოს ინფორმაცია რობოტის წინ და გვერდებზე მდებარე ობიექტების შესახებ. ისინი აცნობებენ რობოტს ობიექტის დიაპაზონის შესახებ და ეხმარებიან მას იპოვოს ღია მარშრუტი ამ ობიექტის გარშემო და დაუბრუნდეს პირვანდელ გზას.

IR დიაპაზონი: eyeRobot ასევე ატარებს ორ IR სენსორს (GP2Y0A02YK). IR დიაპაზონის მაჩვენებლები განლაგებულია 90 გრადუსით მარჯვნივ და მარცხნივ რობოტის დასახმარებლად კედელში. მათ ასევე შეუძლიათ გააფრთხილონ ობიექტის რობოტი, რომელიც ძალიან ახლოს არის მის გვერდებზე, სადაც მომხმარებელი შეიძლება შევიდეს.

ნაბიჯი 4: ხელჯოხის პოზიციის სენსორები

ხელჯოხის პოზიციის სენსორები
ხელჯოხის პოზიციის სენსორები

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

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

ნაბიჯი 5: პროცესორი

პროცესორი
პროცესორი

პროცესორი: რობოტს აკონტროლებს Zbasic ZX-24a, რომელიც ზის Robodyssey Advanced დედაპლატაზე II. პროცესორი შეირჩა მისი სიჩქარის, მარტივად გამოყენების, ხელმისაწვდომი ღირებულებისა და 8 ანალოგური შეყვანისთვის. იგი დაკავშირებულია პროტოტიპების დიდ დაფაზე, რათა მოხდეს სწრაფი და მარტივი ცვლილებები. რობოტის მთელი ძალა მოდის დედაპლატის კვების ბლოკიდან. ზბასიჩი კომუნიკაციას უწევს რუმბას ტვირთის ყურის პორტის საშუალებით და აქვს სრული კონტროლი რუმბას სენსორებსა და ძრავებზე.

ნაბიჯი 6: კოდის მიმოხილვა

კოდის მიმოხილვა
კოდის მიმოხილვა

დაბრკოლების თავიდან აცილება: დაბრკოლების თავიდან აცილების მიზნით eyeRobot იყენებს მეთოდს, როდესაც რობოტთან ახლოს მდებარე ობიექტები ვირტუალურ ძალას აყენებენ რობოტს, რომელიც მას ობიექტიდან შორსაა. სხვა სიტყვებით რომ ვთქვათ, საგნები რობოტს აძევებენ საკუთარი თავისგან. ჩემი განხორციელებისას, ობიექტის მიერ განხორციელებული ვირტუალური ძალა უკუპროპორციულია მანძილზე კვადრატში, ამიტომ ბიძგის სიძლიერე იზრდება, როდესაც ობიექტი უახლოვდება და ქმნის არაწრფივი პასუხის მრუდს: PushForce = ResponseMagnitudeConstant/Distance2თითოეული სენსორიდან მომავალი ბიძგები ემატება ერთად; სენსორები მარცხენა მხარეს უბიძგებენ მარჯვნივ და პირიქით, რობოტის მოგზაურობის ვექტორის მისაღებად. ბორბლის სიჩქარე იცვლება, ასე რომ რობოტი ბრუნდება ამ ვექტორისკენ. იმის უზრუნველსაყოფად, რომ რობოტის წინ მკვდარი საგნები არ აჩვენებენ "არ პასუხობენ" (რადგან ორივე მხარის ძალები დაბალანსებულია), მკვდარი ფრონტის საგნები რობოტს უბიძგებს უფრო ღია მხარეს. როდესაც რობოტმა გაიარა ობიექტი, ის იყენებს Roomba- ს კოდირებას, რომ შეასწოროს ცვლილება და დაუბრუნდეს საწყის ვექტორს.

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

ნაბიჯი 7: ნაწილების სია

ნაწილების სია
ნაწილების სია

საჭირო ნაწილები: 1x) Roomba create1x) დიდი ფურცელი აკრილის 2x) მკვეთრი GP2Y0A02YK IR დიაპაზონი 4x) Maxsonar EZ1 ულტრაბგერითი დიაპაზონი 1x) ZX-24a მიკროპროცესორი 1x) Robodyssey Advanced დედაპლატა II1x) სლაიდ პოტენომეტრსი 1 მ) ერთჯერადი) ლონდერსი) ერთჯერადი) პონტეინტერი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) ერთჯერადი) გამტარი საკინძები, დუელები, ხრახნები, თხილი, ფრჩხილები და მავთულები

ნაბიჯი 8: მოტივაცია და გაუმჯობესება

მოტივაცია და გაუმჯობესება
მოტივაცია და გაუმჯობესება

მოტივაცია: ეს რობოტი შეიქმნა იმისათვის, რომ შეავსოს აშკარა უფსკრული ქმედუნარიან, მაგრამ ძვირადღირებულ ძაღლსა და იაფ, მაგრამ შეზღუდულ თეთრ ხელჯოხს შორის. გაყიდვადი და უფრო ქმედითი Robotic White Cane– ის შემუშავებისას Roomba Create იყო სრულყოფილი მანქანა სწრაფი პროტოტიპის შესაქმნელად, რათა გაერკვია, მუშაობს თუ არა კონცეფცია. გარდა ამისა, პრიზები უზრუნველყოფს ეკონომიკურ მხარდაჭერას უფრო ძლიერი რობოტის მშენებლობისთვის.

გაუმჯობესება: თანხა ვისწავლე ამ რობოტის შექმნისას იყო მნიშვნელოვანი და აქ შევეცდები გადმოვცე ის რაც ვისწავლე მეორე თაობის რობოტის შექმნის მცდელობისას: 1) დაბრკოლებების თავიდან აცილება - მე ბევრი ვისწავლე რეალურ დროში დაბრკოლების შესახებ არიდება ამ რობოტის შექმნის პროცესში მე გავიარე დაბრკოლებების თავიდან აცილების ორი სრულიად განსხვავებული კოდი, დაწყებული ობიექტური ძალის იდეით, შემდეგ გადავედი ყველაზე ღია ვექტორის პოვნასა და ძიებაზე, შემდეგ კი ობიექტის ძალის იდეაზე. მთავარი გაცნობიერება, რომ ობიექტის პასუხი უნდა იყოს არაწრფივი. მომავალში მე გამოვასწორებ ჩემს შეცდომას, რომ არ ვიკვლევდი ადრე გამოყენებულ მეთოდებს, სანამ ჩემს პროექტს დავიწყებდი, რადგან ახლა ვსწავლობ Google– ის სწრაფ ძებნას ამ თემაზე მრავალი დიდი ნაშრომი მოჰყვებოდა. 2) ჯოხის დიზაინი სენსორები - ამ პროექტის დაწყებისთანავე ვფიქრობდი, რომ ჩემი ერთადერთი ვარიანტი ხაზოვანი სენსორისთვის იყო სლაიდ ქოთნის და გარკვეული სახის წრფივი ტარების გამოყენება. ახლა ვხვდები, რომ ბევრად უფრო მარტივი ვარიანტი იქნებოდა ჯოისტიკზე ჯოხის თავზე უბრალოდ მიმაგრება, ისე რომ ჯოხის წინ წამოწევა ჯოისტიკს წინ წაწევდა. გარდა ამისა უბრალო უნივერსალური სახსარი საშუალებას მისცემს ჯოხის ირონია ითარგმნოს მრავალი თანამედროვე ჯოისტიკის ბრუნვის ღერძზე. ეს განხორციელება იქნებოდა ბევრად უფრო მარტივი, ვიდრე მე ამჟამად ვიყენებ. 3) უფასო ბორბლები - მიუხედავად იმისა, რომ ეს შეუძლებელი იქნებოდა Roomba– სთან, ახლა აშკარაა, რომ რობოტი თავისუფალი ბრუნვის ბორბლებით იდეალური იქნებოდა ამ ამოცანისთვის. რობოტი, რომელიც პასიურად ტრიალებს, არ საჭიროებს ძრავას და მცირე ბატარეას და, შესაბამისად, უფრო მსუბუქი იქნება. გარდა ამისა, ამ სისტემას არ სჭირდება წრფივი სენსორი, რათა გამოავლინოს მომხმარებლების ბიძგი, რობოტი უბრალოდ გადატრიალდება მომხმარებლის სიჩქარით. რობოტი შეიძლება მოტრიალდეს ბორბლების მართვით, როგორც მანქანა და თუკი მომხმარებლის გაჩერება დასჭირდება, მუხრუჭების დამატება შეიძლება. მომდევნო თაობის eyeRobot მე აუცილებლად გამოვიყენებ ამ ძალიან განსხვავებულ მიდგომას. 4) ორი სენსორი კედლისთვის - როგორც უკვე აღვნიშნეთ, პრობლემები წარმოიშვა, როდესაც კედლის გაყვანის მცდელობა იყო მხოლოდ ერთი მხარის სენსორით, ამიტომ აუცილებელი იყო რობოტის გადატანა კითხვებს შორის მივაღწიოთ სხვადასხვა საცნობარო პუნქტს. ორი სენსორი, რომელთა შორის მანძილიც მნიშვნელოვნად გაამარტივებს კედელს. ეს გახდიდა სანავიგაციო კოდს ბევრად უფრო მძლავრი სონარის მასივით (მაგრამ რა თქმა უნდა სენსორებს ეღირება ფული, რაც მე იმ დროს არ მქონდა).

ნაბიჯი 9: დასკვნა

დასკვნა
დასკვნა

დასკვნა: iRobot აღმოჩნდა იდეალური პროტოტიპის პლატფორმა რობოტული თეთრი ხელჯოხის კონცეფციის ექსპერიმენტისთვის. ამ პროტოტიპის შედეგებიდან ჩანს, რომ ამ ტიპის რობოტი მართლაც სიცოცხლისუნარიანია. ვიმედოვნებ, რომ განვავითარებ მეორე თაობის რობოტს იმ გაკვეთილებიდან, რაც მივიღე Roomba Creat- ის გამოყენებით. EyeRobot– ის მომავალ ვერსიებში მე წარმომიდგენია მოწყობილობა, რომელსაც შეუძლია გააკეთოს არა მხოლოდ ადამიანი დერეფნის გავლით, არამედ რობოტი, რომელიც ბრმათა ხელში ჩაგდება ყოველდღიურ ცხოვრებაში გამოსაყენებლად. ამ რობოტით, მომხმარებელი უბრალოდ ისაუბრებდა დანიშნულების ადგილზე და რობოტი მიუძღოდა მათ იქ, მომხმარებლის შეგნებული ძალისხმევის გარეშე. ეს რობოტი იქნება საკმარისად მსუბუქი და კომპაქტური, რომ ადვილად აიყვანოს კიბეებზე და ჩააგდოს კარადაში. ამ რობოტს შეეძლო გლობალური ნავიგაციის გაკეთება ადგილობრივთან ერთად და შეეძლო გაუძღვა მომხმარებელი თავიდან დანიშნულების ადგილის გარეშე მომხმარებლების წინასწარი ცოდნისა და გამოცდილების გარეშე. ეს უნარი სცილდება მეგზურ ძაღლსაც კი, GPS- ით და უფრო მოწინავე სენსორებით, რაც ბრმებს თავისუფლად ნავიგაციის საშუალებას აძლევს, ნატანიელ ბარშაი, (შესულია სტივენ ბარშაი) (განსაკუთრებული მადლობა ჯეკ ჰიტს Roomba Create- ისთვის)

ნაბიჯი 10: მშენებლობა და კოდი

მშენებლობა და კოდი
მშენებლობა და კოდი

რამდენიმე უცნაური სიტყვა მშენებლობის შესახებ: გემბანი დამზადებულია აკრილის ნაჭრის მიერ, წრეში მოჭრილი, უკანა ხვრელით, რათა უზრუნველყოს ელექტრონიკა და შემდეგ ხრახნიან სამონტაჟო ხვრელებს ტვირთის ყურის გვერდით. პროტოტიპის დაფა ხრახნიანია ხრახნიან ხვრელში, დაფნის ბოლოში. Zbasic დამონტაჟებულია L ფრჩხილით იგივე ხრახნებით, როგორც გემბანი. თითოეული სონარი ხრახნიან აკრილის ნაჭერში, რომელიც, თავის მხრივ, მიმაგრებულია გემბანზე მიმაგრებულ L ფრჩხილზე (L ფრჩხილები 10 გრადუსით არის გადახრილი უკან უკეთესი ხედის მისაღებად). ხაზოვანი სენსორის ბილიკი ხრახნიან პირდაპირ გემბანზე და სლაიდ ქოთანი დამონტაჟებულია მის გვერდით L ფრჩხილებით. ხაზოვანი სენსორისა და საკონტროლო ღეროს კონსტრუქციის უფრო ტექნიკური აღწერა შეგიძლიათ ნახოთ მე –4 ნაბიჯში.

კოდი: მე დავამატე რობოტების კოდის სრული ვერსია. ერთი საათის განმავლობაში მე შევეცადე გამესუფთავებინა ფაილში არსებული სამი ან ოთხი თაობის კოდისგან, რომლის მიყოლაც ახლა ადვილი უნდა იყოს. თუ თქვენ გაქვთ ZBasic IDE, მისი ნახვა ადვილი უნდა იყოს, თუ არა, გამოიყენეთ notepad დაწყებული ფაილის main.bas– დან და სხვა.bas ფაილების გავლით.

გირჩევთ: