ዝርዝር ሁኔታ:
ቪዲዮ: MATLAB ቁጥጥር የሚደረግበት Roomba: 5 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:31
የዚህ ፕሮጀክት ግብ MATLAB ን እና እንዲሁም የተቀየረውን iRobot ሊሠራ የሚችል ሮቦት መጠቀም ነው። የገደል አነፍናፊዎችን ፣ የመገጣጠሚያ ዳሳሾችን ፣ የብርሃን ዳሳሾችን እና ካሜራውን ጨምሮ በርካታ የ iRobot ተግባራትን የሚጠቀም የማቲላቢ ስክሪፕት ለመፍጠር ቡድናችን የኮድ ችሎታችንን አጣምሮ ነበር። እኛ MATLAB ኮድ ተግባሮችን እና ቀለበቶችን በመጠቀም የምንፈልጋቸውን የተወሰኑ ውጤቶችን እንድንፈጥር በመፍቀድ እነዚህን አነፍናፊ እና የካሜራ ንባቦችን እንደ ግብዓቶች ተጠቀምን። እንዲሁም ከአይሮቦቱ ጋር ለመገናኘት እና ለመቆጣጠር እንደ እኛ MATLAB ተንቀሳቃሽ መሣሪያ እና ጋይሮስኮፕን እንጠቀማለን።
ደረጃ 1: ክፍሎች እና ቁሳቁሶች
MATLAB 2018 ሀ
-የ 2018 የ MATLAB ስሪት በጣም ተመራጭ ስሪት ነው ፣ ብዙውን ጊዜ ከሞባይል መሳሪያው ጋር በሚገናኝ ኮድ በተሻለ ሁኔታ ስለሚሰራ። ሆኖም ፣ አብዛኛው የእኛ ኮድ በአብዛኛዎቹ የ MATLAB ስሪቶች ውስጥ ሊተረጎም ይችላል።
iRobot መሣሪያ ፍጠር
-ይህ መሣሪያ ብቸኛ ዓላማው ለፕሮግራም እና ለኮዲንግ ብቻ የተሠራ ልዩ የተሠራ መሣሪያ ነው። (እሱ እውነተኛ ባዶ አይደለም)
Raspberry Pi (ከካሜራ ጋር)
- ይህ እንደ iRobot አንጎል ሆኖ የሚሠራ ውድ ያልሆነ የኮምፒተር ሰሌዳ ነው። ትንሽ ሊሆን ይችላል ፣ ግን በብዙ ነገሮች ችሎታ አለው። ካሜራው ተጨማሪ ተጨማሪ ነው። እንዲሁም ሁሉንም ተግባሮቹን እና ትዕዛዞቹን ለማግኘት የራስበሪ ፒን ይጠቀማል። ከላይ የሚታየው ካሜራ በቴነሲ ዩኒቨርሲቲ በኢንጂነሪንግ መሠረታዊ ክፍሎች በተሠራው በ 3 ዲ የታተመ ማቆሚያ ላይ ተጭኗል።
ደረጃ 2 - Roomba የውሂብ ጎታ ፋይል
ለክፍልባዎ ተገቢውን ተግባራት እና ትዕዛዞችን ለመጠቀም እርስዎ የሚፈልጉት ዋና ፋይል አለ። የክፍልባዎን አሠራር የበለጠ ለማስተዳደር ይህ ኮድ እርስዎ የፃፉትን ኮድ ተግባሮችን የሚስሉበት ነው።
በዚህ አገናኝ ወይም ከዚህ በታች ሊወርድ በሚችል ፋይል ላይ ፋይሉን ማውረድ ይችላሉ
ef.engr.utk.edu/ef230-2017-08/projects/roomba-s/setup-roomba-instructable.php
ደረጃ 3 ከ Roomba ጋር መገናኘት
በመጀመሪያ ፣ የማይክሮ ዩኤስቢ ተሰኪን በመጠቀም ሮቦትዎ ከሮዝቤሪ ፓይ ቦርድዎ ጋር መገናኘቱን ማረጋገጥ አለብዎት። ከዚያ ኮምፒተርዎን እና ሮቦትዎን ከተመሳሳይ WiFi ጋር በትክክል ማገናኘት ያስፈልግዎታል። አንዴ ይህ ከተደረገ ፣ በሮቦት የመረጃ ቋት ፋይል ውስጥ የተሰጠውን ትእዛዝ በመጠቀም በሮቦትዎ ላይ ማብራት እና ከእሱ ጋር መገናኘት ይችላሉ። (ከመጠቀምዎ በፊት እና በኋላ ሮቦትዎን ሁል ጊዜ እንደገና ያስጀምሩ)። ለምሳሌ ፣ እኛ ከሮቦታችን ጋር ለመገናኘት “r.roomba (19)” የሚለውን ትዕዛዝ እንጠቀማለን ፣ ተለዋዋጭ r ን ወደ መሣሪያችን በመመደብ። ይህ የእኛን ተለዋዋጭ በማንኛውም ጊዜ ልንጠቅሰው የምንችለውን መዋቅር ወደሚያዋቅረው የውሂብ ጎታ ፋይል ይመለሳል።
ደረጃ 4 - ኮዱ
እኛ ሙሉውን ኮድ ከዚህ በታች አያይዘናል ፣ ግን በስክሪፕታችን ውስጥ ያሉትን አስፈላጊ ክፍሎች የሚያጎላ አጭር መግለጫ እዚህ አለ። የሮቦታችንን አቅም ሙሉ በሙሉ ለማሳደግ ሁሉንም አነፍናፊዎች እንዲሁም ካሜራውን ተጠቅመንበታል። እንዲሁም ተንቀሳቃሽ መሣሪያን ከሮቦታችን ጋር ለማገናኘት እና ግሪዮስኮፕን በእጅ ለመቆጣጠር እንድንችል የሚያስችለንን ኮድ አካተናል።
የሮቦቱን ወደፊት ፍጥነት ወደ.06 ሜ/ሰ በሚያቀናብር በቀላል ትዕዛዝ “r.setDriveVelocity (.06)” ጀምረናል። ሮቦቱ ቀድሞ እንዲንቀሳቀስ ለማድረግ ይህ ብቻ ነው።
ከዚያ የእኛ ዋና ስክሪፕት ከዚህ በታች በሁኔታዊ መግለጫዎች ውስጥ ልንጠቅስባቸው እና ልንጠቀምባቸው የምንችላቸውን መዋቅሮችን በመፍጠር የተሰጠውን ሮቦት መረጃን በሚያገኝ ጥቂት ጊዜ (ሉፕ) ተጀምሯል ፣ ስለሆነም በመዋቅር ውሂቡ ላይ በመመርኮዝ አንድ ሮቦት የተወሰነ ትእዛዝ እንዲፈጽም ለመንገር ያስችለናል። ሮቦቱ ከአነፍናፊዎቹ ጋር ያነባል። ሮቦቱ የገደል ዳሳሾቹን እንዲያነብ እና ጥቁር መንገድን እንዲከተል አደረግነው።
“% ሐሰት” የሆነ ነገር እስኪከሰት ድረስ loop በሚሄድበት ጊዜ እውነት % እያለ (በዚህ ሁኔታ ያለገደብ ይቀጥላል) ውሂብ = r.getCliffSensors; data2 = r.getBumpers; % ስለ ገደል ዳሳሽ እሴቶች ያለማቋረጥ መረጃን ሰርስሮ ለተለዋዋጭ % img = r.getImage ይመድባል ፤ % ከተሰቀለው ካሜራ % ምስል (img) ፎቶ ያነሳል ፤ % የተወሰደውን ምስል ያሳያል % red_mean = አማካኝ (አማካኝ (img (:,:, 1))) ፤ % data.rightFront <2000 r.turnAngle (-2) ከሆነ የአረንጓዴውን ቀለም አማካይ ዋጋ ይወስዳል። % ለትክክለኛው የፊት ገደል ዳሳሾች ዋጋ አንዴ ከ 2000 r.setDriveVelocity (.05) በታች ከወደቀ በኋላ Roomba በግምት.2 ዲግሪ CW ይቀይረዋል። elseif data.leftFront data.leftFront && 2000> data.rightFront r.moveDistance (.1); % ከቀኝ የፊት እና የግራ የፊት ዳሳሾች ሁለቱም እሴቶች ከ 2000 % r.turnAngle (0) በታች ከወደቁ በግምት ወደ.2 ሜ/ሰ ወደፊት እንዲቀጥል Roomba ን ይነግረዋል። % ከላይ የተጠቀሱት ሁኔታዎች እውነት ከሆኑ Roomba እንዳይዞሩ ይነግረዋል
elseif data2.right == 1 r.moveDistance (-. 12); r.turnAngle (160); r.setDriveVelocity (.05); elseif data2.left == 1 r.moveDistance (-. 2); r.turnAngle (5); r.setDriveVelocity (.05); elseif data2.front == 1 r.moveDistance (-. 12); r.turnAngle (160); r.setDriveVelocity (.05);
ከዚህ በኋላ loop በሚሆንበት ጊዜ በካሜራው በኩል የተገኘውን መረጃ የሚቀሰቅስ ሌላ ጊዜ እንዞራለን። እና አንድ የተወሰነ ፕሮግራም (alexnet) በመጠቀም ምስልን የሚያውቅ loop በሚሆንበት ጊዜ በዚህ ውስጥ አንድ መግለጫ እንጠቀማለን ፣ እና አንዴ ምስሉን ከለየ ወዲያውኑ የተንቀሳቃሽ መሣሪያውን የርቀት መቆጣጠሪያ ያነቃቃል።
አኔት = alexnet; % Alexnet ጥልቅ ትምህርትን ለተለዋጭ እውነተኛ % ይመድባል % loop ሳለ img = r.getImage; img = imresize (img, [227, 227]); መለያ = መመደብ (አኔት ፣ img); መለያ ከሆነ == "የወረቀት ፎጣ" || መለያ == "ማቀዝቀዣ" መሰየሚያ = "ውሃ"; የመጨረሻ ምስል (img); ርዕስ (ቻር (መለያ)); drawow;
በእኛ ስልክ መሣሪያውን እንድንቆጣጠር የሚያስችለን የዚያ ጊዜ loop ያንን መረጃ ከስልኩ ጋይሮስኮፕ ያወጣል እና በኮምፒዩተር ላይ ወደ MATLAB ያለማቋረጥ መረጃን ወደ ሚመልሰው ማትሪክስ ውስጥ እንሰካለን። የማትሪክስ ውሂቡን የሚያነብ እና በስልኩ ጋይሮስኮፕ የተወሰኑ እሴቶችን መሠረት በማድረግ መሣሪያውን የሚያንቀሳቅስ ውጤት የሚሰጥ መግለጫ እንጠቀማለን። የተንቀሳቃሽ መሣሪያውን የአቀማመጥ ዳሳሾች እንደተጠቀምን ማወቅ አስፈላጊ ነው። ከላይ የተጠቀሰው አንድ በሶስት ማትሪክስ በእያንዳንዱ የስልኩ የአቀማመጥ ዳሳሾች (ኤለሚም) ፣ አዝሙድ ፣ ቅጥነት እና ጎን ነው። መግለጫዎቹ ከጎኑ እሴቶቹ 50 ሲበልጡ ወይም ከ 50 በታች ሲወድቁ የሚናገሩ ሁኔታዎችን ከፈጠሩ ሮቦቱ የተወሰነ ርቀት ወደ ፊት (አዎንታዊ 50) ወይም ወደ ኋላ (አሉታዊ 50) ያንቀሳቅሳል። እና ለቁጥሩ እሴት ተመሳሳይ ነው። የቅጥያው ዋጋ ከ 25 ውድቀቶች ዋጋ ከ 25 በታች ከሆነ ፣ ሮቦቱ በ 1 ዲግሪዎች (አዎንታዊ 25) ወይም አሉታዊ 1 ዲግሪዎች (አሉታዊ 25) ማዕዘን ላይ ይቀየራል።
እውነተኛ ለአፍታ ቆም (.1) % እያንዳንዱ እሴት ከመወሰዱ በፊት.5 ሰከንዶች ያቁሙ ተቆጣጣሪ = iphone. Orientation; % ለ iPhone የአቀማመጥ እሴቶች ማትሪክስ ለተለዋዋጭ Azimuthal = ተቆጣጣሪ (1) ይመድባል ፤ % የማትሪክስን የመጀመሪያ እሴት ለተለዋዋጭ ፒች = ተቆጣጣሪ (2) ይመድባል ፤ % የማትሪክስ ሁለተኛውን እሴት ለተለዋዋጭ ይመድባል (iPhone በጎን ሲይዝ ወደ ፊት እና ወደኋላ ያዘንብሉት) ጎን = ተቆጣጣሪ (3); % የማትሪክስ ሶስተኛውን እሴት ለተለዋዋጭ ይመድባል (አይፎን ወደ ጎን ሲይዝ ወደ ግራ እና ወደ ቀኝ ያጋድላል) % ከጎን ከሆነ 130 በስልኩ አቀማመጥ ላይ የተመሠረተ ውጤት ያስከትላል || ጎን 25 r.move ርቀት (-1 ቢያንስ 25 ዲግሪ ወደ ግራ ያጋደላል ፒች <-25 r.turnAngle (1) % iPhone ቢያንስ 25 ዲግሪ ካዘነበለ Roomba በግምት 1 ዲግሪ CW ይቀይረዋል።
ለጥቅማችን አንድን ክፍል በፍጥነት መቅዳት እና መለጠፍ ካስፈለግን ያካተቱትን የእኛ የኮድ ዋና ዋና ክፍሎች ድምቀቶች ብቻ ናቸው። ሆኖም ፣ ጠቅላላው ኮዳችን አስፈላጊ ከሆነ ከታች ተያይ attachedል።
ደረጃ 5 መደምደሚያ
ይህ የጻፍነው ኮድ ለሮቦታችን እንዲሁም ለፕሮጀክቱ አጠቃላይ እይታችን የተነደፈ ነው። ግባችን አብዛኞቹን የሮቦት ባህሪያትን የሚጠቀምበትን የንድፍ ስክሪፕት ለማዘጋጀት ሁሉንም የእኛን MATLAB ኮድ ችሎታዎችን መጠቀም ነበር። የስልክ መቆጣጠሪያውን መጠቀም እርስዎ እንደሚያስቡት ከባድ አይደለም ፣ እና አይሮቦትን ከኮድ በስተጀርባ ያለውን ፅንሰ -ሀሳብ በተሻለ ሁኔታ እንዲረዱ የእኛ ኮድ ይረዳዎታል ብለን ተስፋ እናደርጋለን።
የሚመከር:
DIY Arduino ብሉቱዝ ቁጥጥር የሚደረግበት መኪና - 6 ደረጃዎች (ከስዕሎች ጋር)
DIY Arduino በብሉቱዝ ቁጥጥር የሚደረግበት መኪና - ሰላም ወዳጆች! ስሜ ኒኮላስ ነው ፣ ዕድሜዬ 15 ዓመት ሲሆን የምኖረው በግሪክ አቴንስ ነው። ዛሬ አርዱዲኖ ናኖ ፣ 3 ዲ አታሚ እና አንዳንድ ቀላል የኤሌክትሮኒክስ ክፍሎችን በመጠቀም ባለ 2 ጎማ ብሉቱዝ የሚቆጣጠር መኪና እንዴት እንደሚሠሩ አሳያችኋለሁ! የእኔን ለመመልከት እርግጠኛ ይሁኑ
4CH Relay-board በ ቁጥጥር አዝራሮች ቁጥጥር የሚደረግበት-4 ደረጃዎች
4CH Relay-board በ ቁጥጥር አዝራሮች ቁጥጥር ይደረግበታል-ግቤ በኦክቶፕሪንት በይነገጽ በኩል የኃይል አቅርቦት መቆጣጠሪያን በማከል የእኔን Anet A8 3D-printer ን ማሻሻል ነው። የሆነ ሆኖ ፣ እኔ ደግሞ ‹በእጅ› መጀመር መቻል እፈልጋለሁ። የእኔ 3 ዲ-አታሚ ፣ የድር በይነገጽን አለመጠቀም ማለት ነው ፣ ግን አንድ ቁልፍን ብቻ በመጫን
MATLAB ቁጥጥር የሚደረግበት ማይክሮ መቆጣጠሪያ (አርዱዲኖ MKR1000) 4 ደረጃዎች
በ MATLAB ቁጥጥር የሚደረግበት ማይክሮ መቆጣጠሪያ (አርዱዲኖ MKR1000) - የፕሮጀክታችን ግብ MATLAB ን እንዲሁም አርዱዲኖ MKR1000 ን በተቻለን አቅም መጠቀም ነበር። ግባችን በአንድ የተወሰነ ግብዓት ላይ በመመርኮዝ የተወሰኑ የአሩዲኖ ባህሪያትን የተወሰነ ውፅዓት እንዲያሸት የሚፈቅድ ስክሪፕት መፍጠር ነበር። ብዙ ተጠቀምን
በአሳሽ ቁጥጥር የሚደረግበት Roomba ሮቦት ከ Raspberry Pi ሞዴል 3 ሀ+6 ደረጃዎች (ከስዕሎች ጋር)
በአሳሹ ቁጥጥር የሚደረግበት Roomba ሮቦት በ Raspberry Pi ሞዴል 3 ሀ+አጠቃላይ እይታ ይህ አስተማሪ ለሞተ Roomba አዲስ አንጎል (Raspberry Pi) ፣ አይኖች (ዌብካም) እና ሁሉንም ነገር ከድር አሳሽ በሚቆጣጠርበት መንገድ ላይ ያተኩራል። በተከታታይ በይነገጽ በኩል ቁጥጥርን የሚፈቅዱ ብዙ የ Roomba ጠለፋዎች አሉ። የለኝም
በሞባይል ቁጥጥር የሚደረግበት ሮቦት እንዴት እንደሚደረግ - በ DTMF ላይ የተመሠረተ - ያለ ማይክሮ መቆጣጠሪያ እና ፕሮግራሚንግ - ቁጥጥር ከየትኛውም የዓለም ክፍል - ሮቦጊኮች 15 ደረጃዎች
በሞባይል ቁጥጥር የሚደረግበት ሮቦት እንዴት እንደሚደረግ | በ DTMF ላይ የተመሠረተ | ያለ ማይክሮ መቆጣጠሪያ እና ፕሮግራሚንግ | ቁጥጥር ከየትኛውም የዓለም ክፍል | RoboGeeks: በዓለም ላይ ከየትኛውም ቦታ ሊቆጣጠር የሚችል ሮቦት መሥራት ይፈልጋል ፣ እናድርገው