ዝርዝር ሁኔታ:

የማርስ ህዳሴ ሮቦት 4 ደረጃዎች
የማርስ ህዳሴ ሮቦት 4 ደረጃዎች

ቪዲዮ: የማርስ ህዳሴ ሮቦት 4 ደረጃዎች

ቪዲዮ: የማርስ ህዳሴ ሮቦት 4 ደረጃዎች
ቪዲዮ: TechTalk With Solomon S19 Ep6: የጦር ጀቶች የፊዚክስ ህግን በሚጥስ መልኩ አጭር መንደርደሪያ ካለው የጦር መርከብ ላይ እንዴት ይነሳሉ/ያርፋሉ 2024, ህዳር
Anonim
የማርስ ህዳሴ ሮቦት
የማርስ ህዳሴ ሮቦት

ይህ Instructable የማርስ ህዳሴ ሮቦት መርሃ ግብርን ለማዘዝ እና ለማዘዝ የደረጃ በደረጃ መመሪያ ነው።

ለመጀመር ፣ አንድ ሰው የሚከተሉትን ቁሳቁሶች ዝርዝር ማግኘት አለበት-በቴኔሲ በቴክሌይ ኢኒንግሪንግ ዩኒቨርሲቲ ኮሌጅ ብጁ የተደረገ የ iRobot ፍጠር ፣ በ iRobot ውስጥ ከ Raspberry Pi ጋር የተገናኘ ገመድ አልባ አውታረመረብ ፣ ዩቲኬ 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 (files, '') '' '' ወደዚህ አቃፊ ያውርዳል ፦ '' '' cd '' '' መቀጠል ይፈልጋሉ? '}; ቢፕ; yn = questdlg (ጥያቄ ፣… dlgTitle ፣… 'አዎ' ፣ 'አይ' ፣ 'አዎ') ፤

~ strcmp (yn ፣ ‘አዎ’) ከሆነ ፣ ይመለሱ ፤ አበቃ

ነባር_ ፋይሎች = ፋይሎች (የሴልfun (@exist ፣ ፋይሎች)> 0) ያሉ የፋይሎች ዝርዝር % ያግኙ ፤ ~ isempty (ነባር_ፋዮች) % ወዲያውኑ እነሱን ለመተካት በእርግጥ ትክክል መሆኑን ያረጋግጡ = {'እነዚህን ፋይሎች (ዎች) እየተተኩ ነው' '' 'strjoin (ነባር_ፋይሎች ፣' ')' '' 'ለመተካት እሺ?' ' }; ቢፕ; yn = questdlg (ጥያቄ ፣… dlgTitle ፣… 'አዎ' ፣ 'አይ' ፣ 'አዎ') ፤ ~ strcmp (yn ፣ ‘አዎ’) ከሆነ ፣ ይመለሱ ፤ መጨረሻ መጨረሻ

% ፋይሎቹን ያውርዱ cnt = 0; ለ i = 1: ርዝመት (ፋይሎች) f = ፋይሎች {i}; disp (['ማውረድ' ረ]); url = [አገልጋይ ረ] ን ይሞክሩ; ድር አስቀምጥ (ረ ፣ ዩአርኤል ፣ አማራጮች); የደህንነት ስህተቶችን ለማስወገድ % የታከሉ አማራጮች cnt = cnt + 1; መያዝ ዲስክ (['ማውረድ ስህተት' ረ]); ዱሚ = [f '.html']; ካለ (ዱሚ ፣ ‹ፋይል›) == 2 ሰርዝ (ዱሚ) የመጨረሻ መጨረሻ መጨረሻ

cnt == ርዝመት (ፋይሎች) msg = 'መጫኑ ተሳክቷል'; ተጠባባቂ (msgbox (msg ፣ dlgTitle)); ሌላ msg = 'የመጫን ስህተት - ለዝርዝሮች የትእዛዝ መስኮቱን ይመልከቱ'; ተጠባባቂ (errordlg (msg ፣ dlgTitle)); አበቃ

ጨርስ %roomba ጫን

ደረጃ 2 - ለመገናኘት በመዘጋጀት ላይ

ለመገናኘት በመዘጋጀት ላይ
ለመገናኘት በመዘጋጀት ላይ
ለመገናኘት በመዘጋጀት ላይ
ለመገናኘት በመዘጋጀት ላይ

ከሮቦት የሚወጣውን ማይክሮ ዩኤስቢ ወደ Raspberry Pi የታችኛው ወደብ ያገናኙ። ከዚያ በ Roomba አናት ላይ ፣ Roomba ላይ ያለው መብራት እስኪጨልም ድረስ የመርከብ መትከያውን እና የቦታ ቁልፎቹን በተመሳሳይ ጊዜ ተጭነው ይያዙ። ከለቀቁ በኋላ ከ Roomba የኤሌክትሮኒክ ልኬት መስማት አለብዎት።

ደረጃ 3 ከሮቦት ጋር መገናኘት

ከሮቦት ጋር መገናኘት
ከሮቦት ጋር መገናኘት

በኮምፒተርዎ ላይ ያሉትን አውታረ መረቦች ይክፈቱ እና በኮምፒተር እና በ Raspberry Pi መካከል ያለውን አውታረ መረብ ይምረጡ። በ MATLAB የአሁኑ አቃፊ ውስጥ ፣ አሁን ባለው የፕሮጀክት አቃፊዎ ላይ በቀኝ ጠቅ ያድርጉ እና በደረጃ 1 የወረደውን የክፍልባ መሣሪያ ሳጥን ይምረጡ እና ወደ ዱካው ይጨምሩ። ለብዙ ፒ ግንኙነቶች በተዘጋጀ አውታረ መረብ ውስጥ ፣ የክፍል Roomba ን ነገር በመፍጠር ሮቦትዎን ይግለጹ። ከዚህ በታች ምሳሌን ይመልከቱ

ለቁጥር 7 የተመደበ Roomba ካለዎት የሚከተሉትን ያስገቡ

r = roomba (7)

%ይህ ተለዋዋጭ አሁን ለክፍልባው የተመደበ መሆኑን ያስታውሱ ፣ ለሮቦቱ የተሰጠው ማንኛውም ትእዛዝ በተመደበው ተለዋዋጭ መመራት አለበት።

ደረጃ 4 ኮድ

ኮድ
ኮድ

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

ከላይ ያለውን አገናኝ በመጠቀም ዋናውን ፕሮግራም በሚሠራበት አቃፊ ውስጥ ሁሉንም የ.m ፋይሎችን ያስቀምጡ። አገናኙ አገናኙ ላላቸው ሁሉ ክፍት መሆን አለበት። አሁን ባለው አቃፊ ውስጥ አዲስ ስክሪፕት ይክፈቱ እና ከዚህ በታች እንደሚታየው mycontrolprogram.m ን ያሂዱ።

ተግባር mycontrolprogram (r) ግሎባል ሜ m = mobiledev; emailInit (); ሩጫ = 1; ዓለም አቀፋዊ ረ ዓለም አቀፍ ቆጠራ ብዛት = 0; ረ = r; ዓለም አቀፋዊ ዳይሬክ ዳይሬክ = 0; r.getAngle; r.getDistance; ዓለም አቀፍ curLoc curLoc = [0, 0]; ዓለም አቀፍ ነጥቦች pts = ዜሮዎች (1 ፣ 2 ፣ 2); ማንዋል = እውነት; ግራፍ (1); v = 0.15; (50 = ሐሰተኛ) obsDetect (r ፣ v ፣ pts) ከሆነ <50 direc = direc + r.getAngle; r.setLEDDigits (num2str (ቆጠራ)); ሌላ direc = direc + r.getAngle; manualDrive (); መጨረሻ መጨረሻ figSend (); አበቃ

ሮቦቱ አሁን የተነደፈውን ሥራ ማከናወን አለበት።

የሚመከር: