Სარჩევი:

მარსის შემსწავლელი რობოტი: 4 ნაბიჯი
მარსის შემსწავლელი რობოტი: 4 ნაბიჯი

ვიდეო: მარსის შემსწავლელი რობოტი: 4 ნაბიჯი

ვიდეო: მარსის შემსწავლელი რობოტი: 4 ნაბიჯი
ვიდეო: რუსული ენა დამაბნეველია ხოლმე? 2024, ივლისი
Anonim
მარსის შემსწავლელი რობოტი
მარსის შემსწავლელი რობოტი

ეს ინსტრუქცია არის ნაბიჯ-ნაბიჯ სახელმძღვანელო მარსის სადაზვერვო რობოტის პროგრამირებისა და მეთაურობისთვის.

დასაწყებად, თქვენ უნდა მიიღოთ შემდეგი მასალების სია: დამუხტული iRobot შექმნა მორგებული Tickle College of Eningeering Univerisity of Tennessee– ს მიერ, უკაბელო ქსელი, რომელიც დაკავშირებულია Raspberry Pi– ს iRobot– ში, UTK iRobot ქმნის დამტენს, Wifi- შეუძლია კომპიუტერი, რომელსაც აქვს წვდომა MATLAB და ინტერნეტი.

ნაბიჯი 1: Roomba Toolbox

Roomba Toolbox
Roomba Toolbox

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

კოდი:

roombaInstallclc ფუნქცია; % ფაილების სია ფაილების დასაყენებლად = {'roomba.m', 'roombaSim.m', 'roombaSimGUI.m', 'roombaSimGUI.fig'}; % ადგილმდებარეობა პარამეტრებიდან = weboptions ('CertificateFilename', ''); % უთხარი სერტიფიკატის მოთხოვნების იგნორირება სერვერზე = 'https://ef.engr.utk.edu/ef230/projects/roomba-f2016/install/'; dlgTitle = 'Roomba- ს ინსტალაცია/განახლება'; % ჩვენების მიზანი და მიიღეთ დადასტურების მოთხოვნა = {'ეს პროგრამა გადმოწერს ამ EF 230 Roomba ფაილებს:' '' strjoin (ფაილები, ''] '' 'ამ საქაღალდეში:' '' cd '' 'გსურთ გააგრძელოთ? '}; სიგნალი; yn = questdlg (მოთხოვნა,… dlgTitle,… 'დიახ', 'არა', 'დიახ');

თუ ~ strcmp (yn, 'დიახ'), დაბრუნება; დასასრული

% მიიღეთ არსებული ფაილების სია არსებული_ ფაილები = ფაილები (cellfun (@exist, files)> 0); if ~ isempty (არსებული_ ფაილები) % დარწმუნდით, რომ ნამდვილად კარგია მათი სწრაფი შეცვლა = {'თქვენ შეცვლით ამ ფაილებს (ფაილებს):' '' strjoin (არსებული_ ფაილები, '') '' 'კარგი შესაცვლელად?' }; სიგნალი; yn = questdlg (მოთხოვნა,… dlgTitle,… 'დიახ', 'არა', 'დიახ'); თუ ~ strcmp (yn, 'დიახ'), დაბრუნება; დასასრული დასასრული

% ჩამოტვირთეთ ფაილები cnt = 0; for i = 1: სიგრძე (ფაილები) f = ფაილები {i}; disp (['' გადმოტვირთვა 'f]); სცადეთ url = [სერვერი f]; websave (f, url, პარამეტრები); % დამატებული პარამეტრები უსაფრთხოების შეცდომების თავიდან ასაცილებლად cnt = cnt + 1; catch disp (['გადმოწერის შეცდომა' f]); დუმილი = [f '.html']; თუ არსებობს (დუმილი, 'ფაილი') == 2 წაშლა (ვიწრო) ბოლო დასასრული

თუ cnt == სიგრძე (ფაილები) msg = 'ინსტალაცია წარმატებულია'; waitfor (msgbox (msg, dlgTitle)); else msg = 'ინსტალაციის შეცდომა - იხილეთ ბრძანების ფანჯარა დეტალებისთვის'; waitfor (errordlg (msg, dlgTitle)); დასასრული

დასრულება %roombaInstall

ნაბიჯი 2: მომზადება დასაკავშირებლად

ემზადება დასაკავშირებლად
ემზადება დასაკავშირებლად
ემზადება დასაკავშირებლად
ემზადება დასაკავშირებლად

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

ნაბიჯი 3: დაკავშირება რობოტთან

დაკავშირება რობოტთან
დაკავშირება რობოტთან

გახსენით თქვენს კომპიუტერში არსებული ქსელები და შეარჩიეთ არსებული ქსელი კომპიუტერსა და Raspberry Pi- ს შორის. MATLAB– ის ახლანდელ საქაღალდეში, დააწკაპუნეთ მარჯვენა ღილაკით თქვენი მიმდინარე პროექტის საქაღალდეზე და შეარჩიეთ roomba ინსტრუმენტების ყუთი გადმოწერილი 1 – ე საფეხურზე და დაამატეთ გზას. ქსელში, რომელიც განკუთვნილია მრავალი Pi კავშირისთვის, მიუთითეთ თქვენი რობოტი Roomba კლასის ობიექტის შექმნით. იხილეთ მაგალითი ქვემოთ

თუ თქვენ გაქვთ Roomba მინიჭებული 7 ნომერზე, შეიყვანეთ შემდეგი:

r = roomba (7)

გახსოვდეთ, რომ ეს ცვლადი ახლა ენიჭება roomba- ს, რობოტს მიცემული ნებისმიერი ბრძანება უნდა იყოს მიძღვნილი ცვლადის მიერ.

ნაბიჯი 4: კოდი

კოდი
კოდი

drive.google.com/drive/folders/1OVR5oTHUsn…

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

ფუნქცია mycontrolprogram (r) global m m = mobiledev; emailInit (); გაშვებული = 1; გლობალური f გლობალური რაოდენობა = 0; f = r; გლობალური მიმართულება = 0; r.getAngle; r.getDistance; გლობალური curLoc curLoc = [0, 0]; გლობალური ქულა pts = ნული (1, 2, 2); სახელმძღვანელო = ჭეშმარიტი; graphObs (1); v = 0.15; ხოლო დათვლა <50 if (manual == false) obsDetect (r, v, pts); direc = direc + r.getAngle; r.setLEDDigits (num2str (რაოდენობა)); else direc = direc + r.getAngle; manualDrive (); დასასრული ბოლოს figSend (); დასასრული

რობოტმა უნდა შეასრულოს თავისი შემუშავებული სამუშაო.

გირჩევთ: