Სარჩევი:

RADbot: 7 ნაბიჯი
RADbot: 7 ნაბიჯი

ვიდეო: RADbot: 7 ნაბიჯი

ვიდეო: RADbot: 7 ნაბიჯი
ვიდეო: BIT.TRIP RUNNER 2-7 Radbot 2024, ოქტომბერი
Anonim
RADbot
RADbot

ჯექსონ ბრეკელის, ტაილერ მაკუბინსის და იაკობ ტალერის პროექტი EF 230 -ისთვის

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

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

ნაბიჯი 1: შეიძინეთ საჭირო ნაწილები და მასალები

შეიძინეთ საჭირო ნაწილები და მასალები
შეიძინეთ საჭირო ნაწილები და მასალები
შეიძინეთ საჭირო ნაწილები და მასალები
შეიძინეთ საჭირო ნაწილები და მასალები
შეიძინეთ საჭირო ნაწილები და მასალები
შეიძინეთ საჭირო ნაწილები და მასალები

რა დაგჭირდებათ დასაწყებად (სურათები მოთავსებულია იმისათვის, რომ ჩამოთვლილი იყოს)

1. ერთი Roomba (ნებისმიერი ახალი მოდელი)

2. ერთი გეიგერ-მიულერის მრიცხველი

3. ერთი ჟოლო პი

4. ერთი დაფის კამერა USB გასასვლელით

5. ერთი მიკრო USB USB კაბელი

6. ერთი USB to USB კაბელი

7. საკმარისი აქტივობის ერთი რადიოაქტიური ნიმუში (~ 5μSv ან უფრო მაღალი)

8. ერთი კომპიუტერი დამონტაჟებულია Matlab– ით

9. წებოვანი (სასურველია წებოვანი ლენტი ადვილად მოსახსნელი)

ნაბიჯი 2: კამერის და გეიგერ-მიულერის მრიცხველის კონფიგურაცია

კამერის და გეიგერ-მიულერის მრიცხველის კონფიგურაცია
კამერის და გეიგერ-მიულერის მრიცხველის კონფიგურაცია

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

ნაბიჯი 3: დაუკავშირდით თქვენს Roomba- ს და შექმენით სინათლის სენსორის კოდი

დაუკავშირდით თქვენს Roomba– ს და შექმენით სინათლის სენსორის კოდი
დაუკავშირდით თქვენს Roomba– ს და შექმენით სინათლის სენსორის კოდი

პირველი, გადმოწერეთ EF 230 ვებსაიტის Roomba ინსტრუმენტები და დარწმუნდით, რომ განათავსეთ იგი მითითებულ საქაღალდეებში. თქვენს Roomba– სთან დასაკავშირებლად, უბრალოდ მიუთითეთ Raspberry Pi– ზე მიმაგრებული სტიკერი და ბრძანების ფანჯარაში ჩაწერეთ „r = roomba (x)“ბრჭყალების გარეშე და სადაც x წარმოადგენს Roomba– ს ნომერს. Roomba უნდა უკრავდეს მელოდიას, ხოლო სუფთა ღილაკს უნდა აჩვენოს მწვანე ბეჭედი მის გარშემო. დაიწყეთ თქვენი კოდი "while" განცხადებით და მიმართეთ სინათლის სენსორებს, როგორც ისინი გამოჩნდება სენსორების სიაში. გახსენით სენსორების სია ბრძანების ფანჯარაში "r.testSensors" აკრეფით.

ჩვენი ობიექტის ფერიდან გამომდინარე, რომელიც განსაზღვრავს თუ რამდენად აისახება სინათლე, დავადგინეთ მოთხოვნები while განცხადებისათვის, როგორც ფუნქცია>. ჩვენს შემთხვევაში, ჩვენ ვაყენებთ წინა სინათლის სენსორს, რომ გაუშვას კოდი while განცხადებაში, თუ მარცხენა ან მარჯვენა ცენტრალური სინათლის სენსორების კითხვა იყო> 25. შესრულებადი განცხადებისთვის, დააყენეთ Roomba– ს სიჩქარის შენელება „r.setDriveVelocity (x, y)“აკრეფით, სადაც x და y არის მარცხენა და მარჯვენა ბორბლების სიჩქარე, შესაბამისად. ჩადეთ "სხვა" განცხადება ისე, რომ Roomba არ შენელდეს დაუზუსტებელი მნიშვნელობებისთვის და კვლავ შეიყვანეთ მითითებული დრაივის სიჩქარის ბრძანება, გარდა სხვა სიჩქარისა. დაასრულეთ while განცხადება "დასასრულით". კოდის ეს სეგმენტი აიძულებს Roomba- ს მიუახლოვდეს ობიექტს და შეანელოს მას შემდეგ რაც მიაღწევს გარკვეულ დიაპაზონს ზემოქმედების შესამცირებლად.

მიმაგრებულია ჩვენი კოდის ეკრანის ანაბეჭდი, მაგრამ მოგერიდებათ მისი რედაქტირება, რომელიც საუკეთესოდ მოერგება თქვენი მისიის პარამეტრებს.

ნაბიჯი 4: შექმენით ბამპერის კოდი

შექმენით ბამპერის კოდი
შექმენით ბამპერის კოდი

Roomba შენელდება, ის შეამცირებს ზემოქმედებას ობიექტზე, თუმცა არა იმდენად, რომ არ გამოიწვიოს ფიზიკური ბამპერი. კოდის ამ სეგმენტისთვის კვლავ დაიწყეთ "while" მარყუჟით და დაადგინეთ მისი გამოხატულება ჭეშმარიტი. განცხადებისთვის, დააყენეთ ცვლადი T უტოლდება ბამპერის გამომავალს, 0 ან 1, ყალბი და ჭეშმარიტი. ამისათვის შეგიძლიათ გამოიყენოთ "T = r.getBumpers". T გამოვა, როგორც სტრუქტურა. შეიყვანეთ "თუ" განაცხადი და დააყენეთ მისი გამოთქმა სუბსტრუქციისთვის T.front 1 -ის ტოლი და განაცხადი დააყენეთ დრაივის სიჩქარე 0 -ზე, "r.setDriveVelocity (x, y)" ან "r.stop ". შეიყვანეთ "შესვენება", რათა Roomba- მ შეძლოს გადაადგილება შემდეგ კოდში მდგომარეობის დაკმაყოფილების შემდეგ. დაამატეთ "სხვა" და დააყენეთ მისი განცხადება, რომ დააყენოს წამყვანი სიჩქარე რუმბას ნორმალურ საკრუიზო სიჩქარეზე.

მიმაგრებულია ჩვენი კოდის ეკრანის ანაბეჭდი, მაგრამ მოგერიდებათ მისი რედაქტირება, რომელიც საუკეთესოდ მოერგება თქვენი მისიის პარამეტრებს.

ნაბიჯი 5: შექმენით კოდი Counter Screen– ის წასაკითხად, მისი ინტერპრეტაციისთვის და უკან დახევის წყაროდან

შექმენით კოდი წაკითხვის ეკრანის, მისი ინტერპრეტაციისა და უკან დახევის წყაროდან
შექმენით კოდი წაკითხვის ეკრანის, მისი ინტერპრეტაციისა და უკან დახევის წყაროდან

ჩვენი პროექტის საფუძველია გეიგერ-მიულერის მრიცხველი და შემდეგი კოდის სეგმენტი გამოიყენება იმის დასადგენად, თუ რას ნიშნავს ეკრანზე არსებული მონაცემები კამერის გამოყენებით. იმის გათვალისწინებით, რომ ჩვენი დახლის ეკრანი ცვლის ფერს წყაროს აქტიურობიდან გამომდინარე, ჩვენ დავაყენებთ კამერას ეკრანის ფერის ინტერპრეტაციას. დაიწყეთ თქვენი კოდი ბრძანების "r.getImage" ტოლი ცვლადის დაყენებით. ცვლადი შეიცავს სურათის ფერის მნიშვნელობების 3D მასივს, რომელიც მან გადაიღო წითელი, მწვანე და ლურჯი. დააყენეთ ცვლადები ამ ფერის შესაბამისი მატრიცების საშუალო მაჩვენებლების გამოყენებით ბრძანებით "საშუალო (საშუალო (img1 (:,, x)))", სადაც x არის მთელი რიცხვი 1 -დან 3.1, 2 და 3 წარმოადგენს წითელს, მწვანე და შესაბამისად ლურჯი. როგორც ყველა მითითებული ბრძანება, არ შეიყვანოთ ბრჭყალები.

მიეცით პროგრამას პაუზა 20 წამის განმავლობაში "პაუზის (20)" გამოყენებით, რათა მრიცხველმა მიიღოს ნიმუშის ზუსტი კითხვა და შემდეგ დაიწყოს "თუ" განცხადება. ჩვენ რუმბას რამდენჯერმე გვქონდა სიგნალი "r.beep" - ის გამოყენებით, სანამ ჩვენ გამოვაქვეყნებდით მენიუს ტექსტით "რადიოიზოტოპი ნაპოვნია! სიფრთხილე!" ეს შეიძლება განხორციელდეს ბრძანებით "waitfor (helpdlg ({'texthere'})" ". ok- ის დაწკაპუნების შემდეგ Roomba გააგრძელებს დანარჩენი კოდის დაცვას" if " - ის განცხადებაში. აიცილეთ Roomba ნიმუშის ირგვლივ "r.moveDistance" და "r.turnAngle" ბრძანებების კომბინაცია. დარწმუნდით, რომ თქვენი if განცხადება დაასრულა "end" - ით.

მიმაგრებულია ჩვენი კოდის ეკრანის ანაბეჭდი, მაგრამ მოგერიდებათ მისი რედაქტირება, რომელიც საუკეთესოდ მოერგება თქვენი მისიის პარამეტრებს.

ნაბიჯი 6: შექმენით კლდის სენსორის კოდი

შექმენით კლდის სენსორის კოდი
შექმენით კლდის სენსორის კოდი

Roomba- ს ჩაშენებული კლდის სენსორების კოდის შესაქმნელად, დაიწყეთ "while" მარყუჟით და დაადგინეთ მისი გამოხატულება ჭეშმარიტი. დააყენეთ ცვლადი "r.getCliffSensors" - ის ტოლი და ეს გამოიწვევს სტრუქტურას. დაიწყეთ "if" განცხადება და დააყენეთ ცვლადები "X.leftFront" და "X.rightFront" სტრუქტურიდან უფრო დიდი ვიდრე წინასწარ განსაზღვრული მნიშვნელობა, სადაც "X" არის ცვლადი, რომელიც თქვენ აირჩიეთ ბრძანება "r.getCliffSensors" უდრის ჩვენს შემთხვევაში, ჩვენ გამოვიყენეთ 1000, რადგან თეთრი ქაღალდის ნაჭერი გამოიყენებოდა კლდეზე და, როდესაც სენსორები მიუახლოვდნენ ქაღალდს, ღირებულებები გაიზარდა 1000 -ზე, რაც უზრუნველყოფს კოდის მოქმედებას მხოლოდ კლდის გამოვლენისას. რა დაამატეთ ბრძანება "შესვენება" შემდეგ და შემდეგ ჩადეთ "სხვა" განცხადება. "სხვა" განცხადებისთვის, რომელიც შესრულდება, თუ კლდე არ არის გამოვლენილი, დააყენეთ წამყვანი სიჩქარე ნორმალური ბორბლის სიჩქარეზე თითოეული ბორბლისთვის. თუ Roomba- მ აღმოაჩინა კლდე, "შესვენება" შესრულდება, შემდეგ კი while მარყუჟის გარეთ კოდი შესრულდება. "თუ" და "ხოლო" მარყუჟისთვის "დასასრულის" დაყენების შემდეგ, დააყენეთ Roomba, რომ გადაადგილდეს უკან გადაადგილების მანძილის ბრძანების გამოყენებით. ასტრონავტების გაფრთხილების მიზნით, რომ კლდე ახლოსაა, თითოეული ბორბლის წამყვანი სიჩქარე, x და y დააყენეთ სიჩქარის ბრძანებაში, a და –a, სადაც a რეალური რიცხვია. ეს გამოიწვევს რუმბას ტრიალს, აფრთხილებს ასტრონავტს კლდეზე.

მიმაგრებულია ჩვენი კოდის ეკრანის ანაბეჭდი, მაგრამ მოგერიდებათ მისი რედაქტირება, რომელიც საუკეთესოდ მოერგება თქვენი მისიის პარამეტრებს.

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

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

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

-EF230 RADbot გუნდი

გირჩევთ: