ዝርዝር ሁኔታ:
ቪዲዮ: የጠፈር ተመራማሪ ረዳቱ Roomba: 4 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:32
ይህ ፕሮጀክት የተሠራው በ RasPberry Pi 3 ላይ በ iRobot ፍጠር ስሪት 2. MATLAB ዳሳሾችን እና ካሜራውን በመጠቀም የተወሰኑ መመሪያዎችን እንዲከተል ሮቦትን ለማቀድ ነው። ጠቋሚዎችን እና ካሜራዎችን አንድ የጠፈር ተመራማሪን የሚከተሉ እና አንድ ነገር ከተሳሳተ ከቤታቸው መሠረት ጋር የመግባባት ችሎታ እንዲኖራቸው የተወሰኑ ተግባሮችን ለማከናወን ያገለግላሉ።
ደረጃ 1: የሚያስፈልጉ ክፍሎች
1. አይሮቦት ሥሪት 2 ን ይፍጠሩ
አይሮቦት ፍጠር በፕሮግራም ሊሠራ የሚችል ስለሆነ እና ጠፈርተኞችን ለሚከተል እና ለወደፊቱ ለሚረዳቸው እውነተኛ ሮቨር ታላቅ ውክልና ሊሆን ስለሚችል የዚህ ፕሮጀክት በጣም አስፈላጊ አካል ነው።
2. Raspberry Pi 3
Raspberry Pi ለዚህ ፕሮጀክት ያገለገለ ፕሮግራም ነበር። ኮዱ ለ Pi የተነደፈ ሲሆን የ Pi የተያያዘው ስሪት 3 (ሞዴል ለ) ነው። እንደ አርዱዲኖ ያሉ ሌሎች በፕሮግራም ሊሠሩ የሚችሉ ቦርዶች ጥቅም ላይ ሊውሉ ይችላሉ ፣ ሆኖም ግን አርዱዲኖ እና አብዛኛዎቹ ሌሎች ሰሌዳዎች በሌላ ደረጃ ከተገለፀው የተለየ ኮድ ይፈልጋሉ።
3. Raspberry Pi ካሜራ ሞዱል
ለዚህ ፕሮጀክት ከሚያስፈልገው ከ Raspberry Pi ጋር ያለው ብቸኛ ግንኙነት የካሜራ ሞዱል ነው። የክፍሉ ክፍሉ በካሜራው ውስጥ በሚያየው ላይ በመመሥረት ብቻ ተግባሮችን ስለሚያከናውን የካሜራ ሞጁሉ የዚህ ፕሮጀክት ዋና አካል ነው።
4. MATLAB 2018 ሀ
የ MATLAB ሁለተኛው በጣም የቅርብ ጊዜ ስሪት ፣ 2018a ፣ በዚህ ማዋቀር ውስጥ ለሚሳተፍ ኮድ ጥቅም ላይ ውሏል። የክፍልባ ፕሮግራሙ ለተወሰነ ጊዜ ስለነበረ ብዙ ሌሎች የ MATLAB ስሪቶች ከዚህ ጋር አብረው ይሠሩ ይሆናል
ደረጃ 2 - ፋይሎች እና የካሜራ ውቅር
1. Raspberry Pi እና የካሜራ ግንኙነቶች ወደ ክፍልባ
- ፒው በቀጥታ ከ iRobot ጋር በማይክሮ ዩኤስቢ ሊገናኝ ይችላል። ለአገልግሎት ዝግጁ ለመሆን የሚያስፈልገው ያ ብቻ ነው። ሆኖም ፣ እስካሁን ባለው የዝግጅት አቀራረብ ውስጥ በስዕሎች ላይ እንደሚታየው በመኝታ ክፍሉ ላይ ደህንነቱ በተጠበቀ ሁኔታ እንዲቀመጥ ይመከራል።
- ካሜራው ከ Raspberry Pi ጋር ቀጥተኛ ግንኙነት አለው እና ካሜራውን ቀጥታ ለመያዝ አንድ ነገር እንዲገዛ ወይም እንዲደረግ በጣም ይመከራል። ክፍሉን የሚያየውን ለማሳየት በቦታው መያዝ ካልተቻለ ለካሜራው ትክክለኛ ነጥብ የለም።
2. ፋይሎች
- ሁሉም ነገር ከተዋቀረ እና ከተገናኘ በኋላ ሮቦቱ ዳግም መጀመሩን እና የ “ስፖት” እና “ዶክ” ቁልፎችን ለ 10 ሰከንዶች በአንድ ላይ በመያዝ ለመሄድ ዝግጁ መሆኑን ያረጋግጡ።
- MATLAB መጀመሪያ የሚያስፈልገው እዚህ ነው። ለክፍልባው ፋይሎች መጀመሪያ መጫን አለባቸው እና ለእነዚህ ፋይሎች የሚፈለገው በዚህ አገናኝ ላይ የቀረበው ኮድ ነው።
- https://ef.engr.utk.edu/ef230-2017-08// ፕሮጀክቶች/ro…
ደረጃ 3 የመጀመሪያ Roomba ሙከራ
እየሰራ መሆኑን ለማረጋገጥ በክፍልባው ላይ የሚደረጉ ብዙ የመጀመሪያ ቼኮች አሉ።
1. ከክፍልባው ጋር ከተመሳሳይ የ WiFi አውታረ መረብ ጋር መገናኘትዎን ያረጋግጡ። ያለዚህ ፣ በ MATLAB በኩል በጭራሽ አይገናኙም።
2. በተለይ እርስዎ ከመረጡት ክፍልባ ጋር መገናኘት እንዲችሉ የእርስዎ ክፍልባ የተመደበለትን ቁጥር ይወቁ። ለምሳሌ ፣ የእርስዎ ክፍልባ ቁጥር 30 ከሆነ ፣ MATLAB ውስጥ ባለው የትእዛዝ መስኮት ውስጥ ክፍልባ (30) በመተየብ ከእሱ ጋር ይገናኙታል።
3. ክፍሉን በ MATLAB ውስጥ በመቆጣጠሪያዎች መቆጣጠር ይቻላል። ለምሳሌ ፣ ለክፍልባ (30) ኮድዎን ወደ ተለዋዋጭ ‹r› ካዋቀሩት ሮቦቱ በትእዛዙ r.moveDistance (0.2 ፣ 0.1) ወደፊት ሊንቀሳቀስ ይችላል።
4. ከክፍልባው ጋር ሊነጋገሩ የሚችሉ ብዙ የተለያዩ ትዕዛዞች አሉ እና እነዚህ በትእዛዝ መስኮቱ ውስጥ 'doc roomba' ን በመተየብ ሊታዩ ይችላሉ።
5. ለብርሃን ፣ ለጉድጓድ እና ለገደል ንባብ ዳሳሾች ሁሉም በ ‹doc roomba› ውስጥ የታዩትን ትዕዛዞች በመጠቀም ሊነበቡ ይችላሉ ፣ ግን አነፍናፊ ውሂቡን ለማየት የማያቋርጥ ፣ ሥርዓታማ ምናሌ ያለው መንገድ ‹r.testSensors› ን በመጠቀም ሊታይ ይችላል። '.
6. ይህን ሁሉ ከፈተነ በኋላ የሮቦቱን ምስል የመሰብሰቢያ ሶፍትዌር ለማንበብ እና የተወሰዱ ፎቶዎችን ለማየት ሊያገለግል ይችላል። የዚህ መሠረታዊ ኮድ img = r.getImage እና imshow (img) ይሆናል።.
7. የስዕሉ አርጂቢ እሴቶች ከኮዶች ጋር ሊገኙ ይችላሉ red_mean = አማካይ (አማካይ (img (:,:, 1)));
green_mean = አማካይ (አማካይ (img (:,:, 2)))); እና ሰማያዊ_ማለት = አማካይ (አማካይ (img (:,:, 3))));.
ደረጃ 4 - ምሳሌ MATLAB ኮድ
በዚህ ጊዜ ፣ በሰው መርዳት ፕሮቶታይፕ ማርስ ሮቨር ላይ የራስዎን ሽክርክሪት ለመፍጠር አሁን ዳሳሾችን እና የምስል ማንሻ ሶፍትዌሮችን ለመጠቀም ዝግጁ ነዎት። የእኛ ምሳሌ ነጭውን ቀለም በመከታተል እና ወደ እሱ በመንቀሳቀስ ጠፈርተኛውን መከተል ነው። ጠፈርተኛው ሮቦቱ ከተጣበቀ ወይም ሄዶ ወስዶ አንስቶ በገደል ላይ ከተጣበቀ እንደገና እንዲያስተካክለው ዳሳሾች ከፍተኛ እሴቶችን እያነበቡ ከሆነ ይጮኻል። ሆኖም ፣ ነጭ እስኪያይ ድረስ እነዚህን ስህተቶች ብቻ ያነባል። ነጭውን ቀለም ማየት ሳይችል ፣ ሮቦቱ ወደ የስህተት ሁኔታ ይገባል። እሱ በሚያየው ላይ በመመስረት ሁለት የተለያዩ ኢሜሎችን ወደ መነሻ መሠረት ለመላክ ፕሮግራም ተይ is ል። የጠፈርተኛውን የቆዳ ቀለም ከተመለከተ ፣ ያ ጥሩ ጥሩ አይደለም ፣ ስለሆነም የጠፈር ተመራማሪው በአለባበስ ጉድለት የሚያሳይ ቆዳ ካለው የቤት መሠረትን ያስጠነቅቃል። ጠፈርተኛው በቀላሉ ከእይታ ከጠፋ ሌላኛው መልእክት ተዘጋጅቷል። ለካሜራዎቹ ምንም ነጭ ወይም የቆዳ ቀለም ከሌለ ሮቦቱ ይሽከረከራል እና ሌላ ፣ ግን የተለየ ኢሜል ይልካል። ክፍልዋ ጠፈርተኛውን ማየት የማትችልባቸው ምስሎች በኢሜይሎች ውስጥ ከመልዕክቱ ጋር አብረው ይላካሉ። የፕሮጀክታችን ኮድ ከዚህ በታች ይታያል
ለ i = 1:.1: 3 img = r.getImage; ምስል (img) red_mean = አማካይ (አማካይ (img (:,:, 1)))); green_mean = አማካይ (አማካይ (img (:,:, 2)))); blue_mean = አማካይ (አማካይ (img (:,:, 3)))); if red_mean> 110 && red_mean 110 && blue_mean 110 && green_mean0 || bump.left> 0 || bump.front> 0 r.beep () r.beep () r.beep () r.stop elseif ገደል.ግራ <10 || ገደል.ግራ ከፊት <10 || ገደል. ቀኝ ፊት <10 || ገደል. መብት 700 || light.leftFront> 700 || light.leftCenter> 700 || light.rightCenter> 700 || light.rightFront> 700 || light.right> 700 r.beep () r.beep () r.beep () r.beep () r.beep () r.step ሌላ ለ i = 1: 2 r.moveDistance (0.2, 0.1) r. setDriveVelocity (.3,.2) r.stop መጨረሻ መጨረሻ መጨረሻ አረንጓዴ_ማለት <35 && blue_mean <35 %የቆዳ ቀለም እያሳየ (በጠፈርተኛ የቆዳ ቀለም ላይ በመመርኮዝ ማስተካከል ያስፈልጋል) r.beep (); r.beep (); r.beep (); ደብዳቤ = '[email protected]'; %ኢሜል ይልካል psswd = 'አዎ' የሚል ጠፍቷል። አስተናጋጅ = 'smtp.gmail.com'; ወደብ = '465'; emailto = '[email protected]'; m_subject = 'ርዕሰ ጉዳይ'; m_text = 'ሙከራ'; setpref ('በይነመረብ' ፣ 'ኢ_ሜል' ፣ ሜይል); setpref ('በይነመረብ' ፣ 'SMTP_Server' ፣ አስተናጋጅ); setpref ('በይነመረብ' ፣ 'SMTP_Username' ፣ ሜይል); setpref ('በይነመረብ' ፣ 'SMTP_Password' ፣ psswd); props = java.lang. System.getProperties; props.setProperty ('mail.smtp.user', mail); props.setProperty ('mail.smtp.host', አስተናጋጅ); props.setProperty ('mail.smtp.port', ወደብ); props.setProperty ('mail.smtp.starttls.enable', 'true'); props.setProperty ('mail.smtp.debug', 'true'); props.setProperty ('mail.smtp.auth', 'true'); props.setProperty ('mail.smtp.socketFactory.port', ወደብ); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback' ፣ 'ሐሰተኛ'); ኢሜል (ኢሜል ፣ ‘እርዳ!’ ፣ ‘የጠፈር ተመራማሪዎች ዩኒፎርም ጠፍቷል!’ ፣ img) ፤ ቀይ_ማለት ከሆነ 135 || አረንጓዴ_ማለት 135 || blue_mean 135 ለ j = 1: 2 %ሮቦቱ r.turnAngle (360) mail = '[email protected]' ማግኘት ካልቻለ; psswd = 'አዎ'; አስተናጋጅ = 'smtp.gmail.com'; ወደብ = '465'; emailto = '[email protected]'; m_subject = 'ርዕሰ ጉዳይ'; m_text = 'ሙከራ'; setpref ('በይነመረብ' ፣ 'ኢ_ሜል' ፣ ሜይል); setpref ('በይነመረብ' ፣ 'SMTP_Server' ፣ አስተናጋጅ); setpref ('በይነመረብ' ፣ 'SMTP_Username' ፣ ሜይል); setpref ('በይነመረብ' ፣ 'SMTP_Password' ፣ psswd); props = java.lang. System.getProperties; props.setProperty ('mail.smtp.user', mail); props.setProperty ('mail.smtp.host', አስተናጋጅ); props.setProperty ('mail.smtp.port', ወደብ); props.setProperty ('mail.smtp.starttls.enable', 'true'); props.setProperty ('mail.smtp.debug', 'true'); props.setProperty ('mail.smtp.auth', 'true'); props.setProperty ('mail.smtp.socketFactory.port', ወደብ); props.setProperty ('mail.smtp.socketFactory.class', 'javax.net.ssl. SSLSocketFactory'); props.setProperty ('mail.smtp.socketFactory.fallback' ፣ 'ሐሰተኛ'); ኢሜል (ኢሜል ፣ ‹እርዳኝ!› ፣ ‹የጠፈር ተመራማሪው ሊገኝ አይችልም!› ፣ img) ፤ r.stop መጨረሻ መጨረሻ መጨረሻ
በእርግጥ እዚህ የተዝረከረከ ነው ፣ ግን አንዴ ከተገለበጠ በኋላ መበተን አለበት። ለዚህ የይለፍ ቃል እና ኢሜይሎች ይህንን ፕሮጀክት በሚሠሩ ሰዎች መቅረብ አለባቸው።
ሆኖም ፣ የእኛ ምሳሌ ለሁሉም ሰው የሚስማማ እንዲሆን በዚህ ሮቦት ለመበታተን ከብዙ መንገዶች አንዱ ነው። ለራስዎ የሚስማሙ ብዙ የተለያዩ ነገሮች አሉ።
የሚመከር:
በ TinkerCad Codeblock ውስጥ የጠፈር ጣቢያ ይፍጠሩ -- ቀላል ትምህርት -7 ደረጃዎች (ከስዕሎች ጋር)
በ TinkerCad Codeblock ውስጥ የጠፈር ጣቢያ ይፍጠሩ || ቀላል መማሪያ - በጠፈር ውስጥ የመኖር ሀሳብ የሳይንስ ልብ ወለድ መስሎ ቢታይም ፣ ይህንን በሚያነቡበት ጊዜ ዓለም አቀፉ የሕዋ ጣቢያ ምድርን በሰከንድ አምስት ማይል ፍጥነት እየዞረ ምድርን አንድ ጊዜ እያዞረ ነው። በየ 90 ደቂቃዎች። በዚህ ፕሮጀክት ውስጥ ይማራሉ
የኤሌክትሮኒክስ የጠፈር መጓጓዣ - 8 ደረጃዎች (ከስዕሎች ጋር)
የኤሌክትሮኒክስ የጠፈር መንኮራኩር - እኔ የምወዳቸውን ሁለት መስኮች ማለትም ኤሌክትሮኒክ እና ቦታን የሚያገናኝ ይህንን ፕሮጀክት ሠራሁ። ይህ የጠፈር መንኮራኩር ሙሉ በሙሉ ከባዶ የተሠራ ነው
“የጠፈር ተፅእኖ” ጨዋታ ከጂሮ ዳሳሽ እና ከኖኪያ 5110 ኤልሲዲ ጋር - 3 ደረጃዎች
“የጠፈር ተፅእኖ” ጨዋታ ከጂሮ ዳሳሽ እና ከኖኪያ 5110 ኤልሲዲ ጋር - የእኔ ታማጎቺ ከሞተ በኋላ (የመጨረሻው ፕሮጀክት) ፣ ጊዜዬን ለማባከን አዲስ መንገድ መፈለግ ጀመርኩ። በአርዱዲኖ ላይ የሚገኘውን “የጠፈር ተፅእኖ” የሚለውን የተለመደ ጨዋታ ፕሮግራም ለማድረግ ወሰንኩ። ጨዋታውን ትንሽ ሳቢ እና አስደሳች ለማድረግ ፣ ሊይ ያለኝን የጂሮሮስኮፕ ዳሳሽ ተጠቀምኩ
ኤልሲዲ ወራሪዎች - በ 16x2 LCD ቁምፊ ማሳያ ላይ እንደ የጠፈር ወራሪዎች እንደ ጨዋታ - 7 ደረጃዎች
ኤልሲዲ ወራሪዎች - በ 16x2 ኤልሲዲ ቁምፊ ማሳያ ላይ እንደ የጠፈር ወራሪዎች እንደ ጨዋታ - አፈታሪክ የሆነውን “የጠፈር ወራሪዎች” ጨዋታ ማስተዋወቅ አያስፈልግም። የዚህ ፕሮጀክት በጣም አስደሳች ገጽታ ለግራፊክ ውፅዓት የጽሑፍ ማሳያ መጠቀሙ ነው። የተገኘው 8 ብጁ ገጸ -ባህሪያትን በመተግበር ነው። ሙሉውን አርዱዲኖ ማውረድ ይችላሉ
የስነ ፈለክ ተመራማሪ የሻይ መብራት - መግቢያ 8 ደረጃዎች (ከስዕሎች ጋር)
የስነ ፈለክ ተመራማሪ የሻይ መብራት - መግቢያ - በቅርብ ጊዜ በትርፍ ጊዜዬ ስለ ሥነ ፈለክ ጥናት እና ለኮከብ መመልከቴ ፍላጎት አደረብኝ እና አስትሮኖሚውን የበለጠ ሳቢ ለማድረግ ሊያገለግሉ የሚችሉ ሁሉም ዓይነት አስደሳች ነገሮች እንዳሉ አገኘሁ። እኔ ከፈለግኳቸው የመጀመሪያ ነገሮች አንዱ ቀይ የእጅ ባትሪ ለ