ዝርዝር ሁኔታ:
ቪዲዮ: Roomba ከ MATLAB ጋር: 4 ደረጃዎች (ከስዕሎች ጋር)
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:33
ይህ ፕሮጀክት MATLAB ን እና iRobot Create2 ፕሮግራም ሊደረግ የሚችል ሮቦት ይጠቀማል። የ MATLAB እውቀታችንን ወደ ፈተናው በማስገባት ምስሎችን ለመተርጎም እና ምልክቶችን ለመለየት ፍጠር 2 ን ፕሮግራም ማድረግ እንችላለን። የሮቦቱ ተግባር በዋናነት በ MATLAB የሞባይል መተግበሪያ እና በ Raspberry Pi ካሜራ ሞዱል ላይ የተመሠረተ ነው።
ደረጃ 1: ክፍሎች እና ቁሳቁሶች
1. አይሮቦት ፍጠር ፣ ስሪት 2
- ይህ Roomba የሚመስል በፕሮግራም ሊሠራ የሚችል ሮቦት ነው። ከ iRobot የመጣ ይህ ምርት ባዶ አለመሆኑን ይወቁ። በተጠቃሚው ለግል ፕሮግራም የታሰበ ነው።
2. MATLAB 2017 ሀ
- አብዛኛዎቹ የቆዩ ስሪቶች ከዚህ በታች ከተጠቀምንበት ኮድ ጋር ተኳሃኝ ይሆናሉ። MATLAB ካለዎት ስሪት ጋር ተኳሃኝ ያልሆነውን ትእዛዝ ይለያል እና በጣም ተስማሚ የሆነ ትእዛዝን ይጠቁማል።
3. Raspberry Pi 3 ሞዴል ቢ ፣ ስሪት 1.2
- የትኛው Raspberry Pi ከእርስዎ iRobot ጋር ተኳሃኝ እንደሆነ ለማየት ይፈትሹ። ለተጨማሪ ዕርዳታ ይህንን አገናኝ ይመልከቱ https://www.irobotweb.com/~/media/MainSite/PDFs/A… ይህ ትምህርት ሊሰጥዎት የሚችለው በቅድመ ዝግጅት ከተሰራው Raspberry Pi ጋር ነው። የሚከተሉት እርምጃዎች እንዲሠሩ በቅድሚያ ከተዘጋጀው ፒ ጋር መስራት እንደሚያስፈልግዎት እባክዎ ልብ ይበሉ። ቅድመ -መርሃግብር የተደረገ ፒን በመጠቀም ሁሉንም ኮድዎን በ MATLAB ውስጥ ብቻ እንዲያከናውኑ ያስችልዎታል።
4. የካሜራ ሞዱል V2 (ለ Raspberry Pi)
- ትገረም ይሆናል; መጠኑ ቢኖረውም ፣ Raspberry Pi ካሜራ ሞዱል በጣም ጥሩ ጥራት ነው። ለዚህ ፕሮጀክት በጣም ርካሹ እና ተኳሃኝ አማራጭ ነው።
አማራጭ-3 ዲ የታተመ ማቆሚያ። ይህ ካሜራውን ለማረጋጋት ያገለግላል። በሮቦቱ ተግባር ላይ ተጽዕኖ አያሳድርም ፣ ግን ለቀለም እና/ወይም ለዕቃ ማወቂያ የምስል መረጃን ለመጠቀም ከፈለጉ ኮድዎን ለማገዝ ይረዳል።
ደረጃ 2: ውቅር
1. Raspberry Pi እና የካሜራ ሞዱል (ሃርድዌር) ማገናኘት
- Raspberry Pi ን ለማብራት ፣ በማይክሮ መቆጣጠሪያው ላይ የወንድ መጨረሻ ማይክሮ ዩኤስቢን ወደ ሴት የኃይል ወደብ ማሄድ ያስፈልግዎታል። አማራጭ - ቮልቴጁ ከ 5 ቮ ያልበለጠ መሆኑን ለማረጋገጥ የቮልቴጅ ተቆጣጣሪ ጥቅም ላይ ሊውል ይችላል። Raspberry Pi ን ካበሩ በኋላ የወንድ ጫፍ ዩኤስቢን ከእናትቦርዱ ወደ ዩኤስቢ ወደብ በማይክሮ መቆጣጠሪያው ላይ በማሄድ ከሮቦትዎ ጋር ማገናኘት ይችላሉ።
- Pi ን ከ Roomba ጋር ካገናኘ በኋላ ካሜራው ለመጫን ዝግጁ ነው። የካሜራ ሞዱል እርስዎ ከሚጠብቁት በጣም ያነሱ ይሆናሉ። ሌንስ ወደ ዳሳሽ እንደተጫነ ልብ ይበሉ ፣ እና ነጭ ሪባን ከካሜራው ይዘልቃል። ሪባን አታስወግድ ወይም አትቀደድ! ከ Raspberry Pi ጋር ለማገናኘት የሚያስፈልግዎት ይህ ገመድ ነው። በመጀመሪያ ፣ የሪባን መጨረሻውን ይያዙ እና የብር አያያorsችን እና ሰማያዊውን ገመድ ያግኙ። እነዚህ በተቃራኒ ጎኖች ላይ ናቸው። በመቀጠል በእርስዎ Raspberry Pi ላይ በኤተርኔት እና በኤችዲኤምአይ ወደቦች መካከል ያለውን ቦታ ይፈልጉ። የሚሸፍነው ትንሽ ፣ ነጭ መቆለፊያ እንዳለ ልብ ይበሉ። መቆለፊያውን ቀስ ብለው ያንሱ ፣ ነገር ግን ከመጥፋቱ አያስወግዱት ፣ ምክንያቱም ይንቀጠቀጣል እና በቋሚነት ይጎዳል። አንዴ መቆለፊያውን ካነሱ በኋላ ሪባን ይያዙ እና ከኤችዲኤምአይ ወደብ ጋር የብር አያያ faceችን ይጋፈጡ። ሰማያዊው ጎን የኢተርኔት ወደብ ያጋጥመዋል። ገና ተከፍቶ እያለ ሪባኑን ወደ ማስገቢያው ቀስ ብለው ያንሸራትቱ። ወደ ማስገቢያ ውስጥ ማስገደድ የለብዎትም። ካስገቡ በኋላ መቆለፊያውን ወደ ታች ይግፉት። ካሜራዎ በትክክል ደህንነቱ የተጠበቀ ከሆነ (በቀስታ) ሪባን ላይ መሳብ እና ውጥረት ሊሰማዎት ይገባል። ሪባን ልቅ መሆን የለበትም። ካሜራዎን ከ Pi ጋር ካገናኙ በኋላ ምን ያህል ልቅ እንደሆነ ያስተውሉ ይሆናል። ለማረጋጋት በ 3 ዲ የታተመ ተራራ የተጠቀምንበት ለዚህ ነው። ካሜራዎን ለከፍተኛ ጥራት ምስላዊነት ለማቆየት ምን ዓይነት ቁሳቁሶችን መጠቀም እንደሚፈልጉ መወሰን የእርስዎ ምርጫ ነው።
2. ትክክለኛ ፋይሎችን መጫን እና Roomba ን ከኮምፒዩተርዎ ጋር ማገናኘት ሁሉም የእርስዎ ሃርድዌር ከተዋቀረ በኋላ ፣ አሁን ከሮቦቱ ጋር ለመገናኘት ከሚያስችሉት ተጓዳኝ ኤም-ፋይሎች ጋር MATLAB ን ለመጫን መቀጠል ይችላሉ። ይህንን ለማድረግ ሁሉንም ተዛማጅ ፋይሎች አንድ ላይ ለማቆየት MATLAB ን ይክፈቱ እና አዲስ አቃፊ ይፍጠሩ። አስፈላጊዎቹን ፋይሎች ለመጫን/ለማዘመን ይህንን ስክሪፕት ይጠቀሙ
- ሁሉም ፋይሎች አሁን በተፈጠረው አቃፊዎ ውስጥ መታየት አለባቸው። አሁን ባለው አቃፊ መስኮት ውስጥ በቀኝ ጠቅ ያድርጉ እና MATLAB ፋይሎችን በሚፈልግበት ማውጫዎች ዝርዝር ውስጥ ያንን መንገድ ለማከል ‹ወደ መንገድ አክል› ን ይምረጡ። ሁሉም ፋይሎችዎ በትክክለኛው መንገድ ላይ መሆናቸውን ያረጋግጡ።
3. ፋይሎቹ አንዴ ከተጫኑ አሁን ከሮቦትዎ ጋር መገናኘት መጀመር ይችላሉ። ሮቦትዎን በማብራት ይጀምሩ እና ከዚያ ከጀመሩ በኋላ በቀጥታ እንደገና ማቀናበር (ከመጠቀምዎ በፊት እና በኋላ ሁል ጊዜ ሮቦትዎን እንደገና ማስጀመርዎን አይርሱ)። ሁለተኛ ፣ ሁለቱንም ሮቦትዎን እና ላፕቶፕዎን ከተመሳሳይ የ wifi አውታረ መረብ ጋር ያገናኙ። ከዚህ በኋላ ፣ የተሰጠውን ስም እና የተግባር ክፍልባን በመጠቀም Roomba ን በመደወል በቅድመ -መርሃግብር የተያዘውን Raspberry Pi በ MATLAB በኩል እናነጋግረዋለን። ለምሳሌ ፣ የሚከተለውን መስመር በመጠቀም ከሮቦት 28 ጋር እገናኛለሁ - R = roomba (28)።
- ነገሩን ለተለዋዋጭ አርእስት እንዴት እንደመደብኩ ያስተውሉ አሁን ተለዋዋጭ R ን እንደ መዋቅር በማከም ተጓዳኝ የ Roomba ተግባሮችን ከተጫነ ፋይል ማግኘት እችላለሁ።
- R.turnAngle (90) ሁሉም ነገር በጥሩ ሁኔታ ከሄደ ግንኙነቱን የሚያረጋግጥ የሙዚቃ ቃና መጫወት አለበት።
ደረጃ 3: MATLAB ሎጂክ
በዚህ ደረጃ ግርጌ ላይ ያለው የፒዲኤፍ ሰነድ በ MATLAB ውስጥ ለኮድ አሰጣጥ ሂደታችን ዝርዝር የሎጂክ ፍሰት ገበታ ነው። ሮቦቱ አንድ ነገር በአቅራቢያው ሲገኝ ከእኛ ጋር እንዲገናኝ ለማስቻል ገደል ፣ ብርሃን እና ቀላል የመብራት ዳሳሾችን አነቃቅተናል። ለምሳሌ ፣ ሮቦቱ ወደ ፊት ሲንቀሳቀስ ፣ የብርሃን ዳሳሾቹ በሚጓዙበት ቬክተር መሠረት በመንገዱ ላይ ያሉትን ነገሮች ይቃኛሉ። ወደ አንድ ነገር ሲጠጋ ፣ ከእሱ ጋር ከመጋጨት ይልቅ እንዲቀለበስ ለሮቦቱ የርቀት ደፍ መርጠናል። የእኛ ሮቦት በእኛ በትዊተር (ኮዲንግ) ሂደት ውስጥ ከገለፅነው ጋር ተዋቅሯል (ይህ ከዚህ በታች ይታያል)።
ተሞክሮውን ለማሳደግ ፣ ስልኮቻችንን በማዘንበል ብቻ የሮቦቱን እንቅስቃሴ ለመቆጣጠር እንዲቻል በሞባይል መሣሪያዎቻችን ላይ የ MATLAB መተግበሪያን ተጠቀምን። በምትኩ በ MATLAB ኮድ ክፍል ውስጥ የእንቅስቃሴ ርቀት ትዕዛዙን በመጠቀም ሮቦቱ እንዲንቀሳቀስ ስለሚያደርጉ ይህ አማራጭ እንቅስቃሴ ነው። ግብዎ ትክክለኛ ከሆነ ሮቦትን ለመቆጣጠር MATLAB ትዕዛዞችን መጠቀም ተመራጭ መሆኑን ያስታውሱ። ካሜራው በተወሰነ ቦታ ላይ ፎቶግራፍ እንዲያነሳ ሮቦትን ለማነጣጠር ከፈለጉ በማቲላቢ ውስጥ የሮቦቱን እንቅስቃሴዎች ኮድ ማድረጉ የተሻለ ሊሆን ይችላል። በሚዝናኑበት ጊዜ ሮቦትዎን ለመቆጣጠር የ MATLAB መተግበሪያን በመጠቀም ለትክክለኛነት አይመከርም።
ሕጉ Roomba መሰረታዊ ቅንብርን እንዲያከናውን ያዛል ከዚያም በተከታታይ ዑደት በኩል ይቀጥሉ። መጀመሪያ ላፕቶ laptop የ Roomba () ትዕዛዙን በመጠቀም ከ Roomba ጋር አገናኝ ያዘጋጃል። እንዲሁም በ MATLAB ውስጥ የድር ፃፍ () ትዕዛዙን በመጠቀም የትዊተር ግንኙነቱን ያዘጋጃል። ሉፕ በ Roomba ዙሪያ ባለው አካባቢ ላይ በመመርኮዝ አምስት ዋና ምክንያታዊ ፍሰቶችን ይ containsል። በመጀመሪያ Roomba እንቅፋቶችን ይፈትሻል ፣ እና መሰናክል ሆኖ ካገኘው ወደ ኋላ ያስተካክላል። በዚያ ሉፕ ውስጥ የተካተተው Roomba እየተወሰደ ከሆነ ተጠቃሚዎችን የሚያስጠነቅቅ ሁለተኛው መንገድ ነው። በከባድ ማርቲያን ዋርዞን ውስጥ አስፈላጊ መገልገያ። Roomba ቦታው ደህንነቱ የተጠበቀ መሆኑን ከወሰነ በኋላ ቀጣዩን እንቅስቃሴውን ለመወሰን ወደ ተንቀሳቃሽ መሣሪያ ይመለከታል። የሞባይል መሣሪያው ወደ ፊት ከተጣመመ በተሽከርካሪው ደረጃ ላይ በመመርኮዝ ለመዞር የግለሰቡን የጎማ ፍጥነቶች ከማስተካከል ይልቅ በጥቅሉ ልኬት ክብደት ላይ በመመርኮዝ የመሠረት ፍጥነቱን ያሰላል። ስልኩ ደግሞ Roomba ን በተቃራኒው ማንቀሳቀስ ይችላል። ገለልተኛ የሞባይል መሣሪያ የመጨረሻዎቹን ሁለት መንገዶች ይዘጋል። የሚያርፍ Roomba የውጭ ዜጋ ባንዲራ ይፈልግና በዚህ መሠረት ተጠቃሚውን ያስጠነቅቃል።
ከዚህ በታች የእኛ ኮድ (በ MATLAB 2017a ውስጥ ተጠናቋል)
%ግብዓቶች -ከ wifi ከተገናኘ መሣሪያ ፣ ካሜራ የመጣ የአቀማመጥ መረጃ
%መረጃ ፣ ዳሳሽ ውሂብ
%ውፅዓት -እንቅስቃሴ በ wifi በተገናኘ መሣሪያ እና በእንቅስቃሴው ቁጥጥር ይደረግበታል
የአነፍናፊ ውሂብን በማንበብ % ደህንነቱ ተረጋግጧል። ካሜራው ካወቀ
% የባዕድ አገር ባንዲራ ከዚያ ክፍልባው የጠላትን ባንዲራ በትዊተር ይመልሳል
% ታይቷል።
%ዓላማ - የእኛ መሣሪያ እነዚያን ለመጠበቅ ካልሆነ በስተቀር ያለ ዓላማ ይኖራል
% ፈጥሮታል ፣ ለፈጣሪው ያገለግላል እና ያደርጋል
% በትክክል የነገረውን።
%አጠቃቀም - በመሠረቱ ፕሮግራሙ በራሱ ይሠራል።
ሁሉንም ያፅዱ ፣ ሁሉንም ይዝጉ ፣ clc
%ነገሮችን እና ተለዋዋጮችን ማስጀመር
r = roomba (28);
m = mobiledev;
%አጠቃቀም ምላሽ = ድር መጻፍ (የአስተናጋጅ ስም ፣ ውሂብ)
የአስተናጋጅ ስም = 'https://api.thingspeak.com/apps/thingtweet/1/statuses/update';
ኤፒአይ = 'SGZCTNQXCWAHRCT5';
tweet = 'ሮቦኮፕ ተግባራዊ ነው… ትዕዛዙን በመጠበቅ ላይ';
ውሂብ = strcat ('api_key =', API, '& status =', tweet);
reponse = የድር መጻፍ (የአስተናጋጅ ስም ፣ ውሂብ);
%ያለማቋረጥ ሩጫ
ሳለ 1 == 1
የመልሶ ማግኛ መረጃን የያዙት መዋቅሮች
o = m.orientation; %የተንቀሳቃሽ መሣሪያ አቀማመጥ
ብርሃን = r.getLightBumpers (); %የብርሃን መከላከያ እሴቶች
a = r.getCliffSensors (); %ገላጭ ዳሳሽ እሴቶች
ቡም = r.getBumpers (); %የአደጋ መከላከያ ዳሳሾች
%ባምፐርስ ይፈትሹ
bump.right == 1 || bump.left == 1 || bump.front == 1
r.moveDistance (-. 2,.2);
%የቼክ ብርሃን ዳሳሾች
elseif light.left> 60 || light.leFFront> 60 || light.leftCenter> 60 || light.right> 60 || light.rightFront> 60 || ብርሃን.እኩል ማእከል> 60
r.moveDistance (-. 2,.2);
%የገደል ዳሳሾችን ይፈትሹ
%የፀረ-ስርቆት ምልክት እና ማሳወቂያ
ሌላ ከሆነ a
r.stop ();
r.beep ();
tweet = 'ሮቦኮፕ ተነስቷል!'
ውሂብ = strcat ('api_key =', API, '& status =', tweet);
reponse = የድር መጻፍ (የአስተናጋጅ ስም ፣ ውሂብ);
%መደበኛ የገደል አጠባበቅ አሠራር
ሌላ ከሆነ ሀ. ግራ <300 || እሺ <300 || ሀ.ግራ ፊት <300 || a.rightFront <300
r.moveDistance (-. 2,.2);
%Roomba ቼኮችን አል passedል እና አሁን በመደበኛ ቀዶ ጥገና ይሠራል።
%መጀመሪያ የመሳሪያው ጥቅል ይለካና መሠረት ይሆናል
የተሽከርካሪ ፍጥነትን ለማስላት %velocity wich ጥቅም ላይ ይውላል
%አስተላልፍ እንቅስቃሴ
elseif o (3)> = 0 && o (3) <= 60
baseVel = (-. 5/60)*(o (3) -60);
o (2)> =-70 && o (2) <0
r.setDriveVelocity (baseVel+(. 3/50)*abs (o (2)) ፣ baseVel-(. 3/50)*abs (o (2)));
ሌላ ከሆነ (2) = 0
r.setDriveVelocity (baseVel-(. 3/50)*abs (o (2)) ፣ baseVel+(. 3/50)*abs (o (2)));
ሌላ r.stop
አበቃ
%ወደ ኋላ እንቅስቃሴ
elseif o (3)> 100 && o (3) <150
r.setDriveVelocity (-. 2, -.2)
r.beep ();
r.beep ();
%ማረፊያ ክፍልባ እንደ አበባ አበባ ምልክት የተደረገበትን የውጭ ዜጋ ሰንደቅ ይፈልጋል
%አረንጓዴ የወረቀት ቁራጭ
ሌላ
r.stop
img = r.getImage (); %ምስልን ያንሱ
ደፍ = ግራጫማ (img (200: 383 ፣:, 2))+.1; %calc አረንጓዴ ደረጃ
ደፍ ከሆነ>.42
tweet = 'ጠላት ተለይቷል !!'
ውሂብ = strcat ('api_key =', API, '& status =', tweet);
reponse = የድር መጻፍ (የአስተናጋጅ ስም ፣ ውሂብ);
ሌላ
አር. ማቆም
አበቃ
አበቃ
አበቃ
ደረጃ 4 መደምደሚያ
ያስታውሱ ፣ ከላይ የጻፍነውን ስክሪፕት ሊጠቀሙ ይችላሉ ፣ ግን ሁል ጊዜ ከእርስዎ ፍላጎቶች ጋር እንዲስማማ ሊቀይሩት ይችላሉ። በስልክዎ ቁጥጥር ሊደረግበት አይገባም! (ሆኖም ፣ እሱ የበለጠ አስደሳች ያደርገዋል።) ሮቦትዎን ለመቆጣጠር የትኛውን ዘዴ እንደሚመርጡ ይምረጡ። በሮቦትዎ ዙሪያ ይንዱ እና ይደሰቱ!
የሚመከር:
Roomba Bot the Bulider: 5 ደረጃዎች (ከስዕሎች ጋር)
Roomba Bot the Bulider: Bot ግንበኛው የ ‹ክፍልፋዮች› ነው ፣ እሱም ከ ‹ቀማኞች› ጋር። ከፊት ለፊት ተያይዞ ዕቃዎችን ለማንቀሳቀስ ይችላል። በእሱ ያለው ኮድ በመዳፊትዎ ጠቅታ ብቻ ሊቆጣጠሩት በሚችሉት GUI ሳጥን የመጀመሪያውን እንቅስቃሴ ለመመዝገብ ተዘጋጅቷል። ከዚያ በኋላ
MATLAB ቁጥጥር የሚደረግበት Roomba: 5 ደረጃዎች
በ MATLAB ቁጥጥር የሚደረግበት Roomba - የዚህ ፕሮጀክት ግብ MATLAB ን እንዲሁም የተቀየረውን iRobot ፕሮግራም -ተኮር ሮቦት መጠቀም ነው። የገደል አነፍናፊዎችን ፣ የመገጣጠሚያ ስሜትን ጨምሮ ብዙ የ iRobot ተግባሮችን የሚጠቀም የማቲላቢ ስክሪፕት ለመፍጠር ቡድናችን የኮድ ክህሎቶቻችንን አጣምሮ
በአሳሽ ቁጥጥር የሚደረግበት Roomba ሮቦት ከ Raspberry Pi ሞዴል 3 ሀ+6 ደረጃዎች (ከስዕሎች ጋር)
በአሳሹ ቁጥጥር የሚደረግበት Roomba ሮቦት በ Raspberry Pi ሞዴል 3 ሀ+አጠቃላይ እይታ ይህ አስተማሪ ለሞተ Roomba አዲስ አንጎል (Raspberry Pi) ፣ አይኖች (ዌብካም) እና ሁሉንም ነገር ከድር አሳሽ በሚቆጣጠርበት መንገድ ላይ ያተኩራል። በተከታታይ በይነገጽ በኩል ቁጥጥርን የሚፈቅዱ ብዙ የ Roomba ጠለፋዎች አሉ። የለኝም
Roomba MATLAB ፕሮጀክት 5 ደረጃዎች
የ Roomba MATLAB ፕሮጀክት - NASA ለማርስ ሮቨር ያለው የአሁኑ ዕቅድ የመረጃ ሰብሳቢ እንዲሆን እና በማርስ ዙሪያ የሚንከራተቱ ፣ ሳይንቲስቶች ቀደም ያሉ የሕይወት ቅርጾች መኖራቸውን ለማየት ወደ ምድር ለመመለስ የአፈር ናሙናዎችን በመሰብሰብ ነው። ፕላኔቷ። ተጨማሪ
የክፍል ማገጃ: የ ROS አሰሳ ከ Roomba ፣ Raspberry Pi እና RPLIDAR ጋር ለመማር መድረክ - 9 ደረጃዎች (ከስዕሎች ጋር)
Roomblock: Roomba ፣ Raspberry Pi እና RPLIDAR ጋር የ ROS ዳሰሳ ለመማር መድረክ - ይህ ምንድን ነው? የሮቦት መድረክ Roomba ፣ Raspberry Pi 2 ፣ የሌዘር ዳሳሽ (RPLIDAR) እና የሞባይል ባትሪ ያካትታል። የመጫኛ ፍሬም በ 3 ዲ አታሚዎች ሊሠራ ይችላል። የ ROS አሰሳ ስርዓት የክፍሎችን ካርታ ለመስራት እና i ን ለመጠቀም ያስችላል