ዝርዝር ሁኔታ:

Roomba የመኪና ማቆሚያ ፓል: 6 ደረጃዎች
Roomba የመኪና ማቆሚያ ፓል: 6 ደረጃዎች

ቪዲዮ: Roomba የመኪና ማቆሚያ ፓል: 6 ደረጃዎች

ቪዲዮ: Roomba የመኪና ማቆሚያ ፓል: 6 ደረጃዎች
ቪዲዮ: ግዙፉ የመስቀል አደባባይ የመኪና ማቆሚያ Parking 2024, ሀምሌ
Anonim
Roomba የመኪና ማቆሚያ ፓል
Roomba የመኪና ማቆሚያ ፓል

ይህ ፕሮጀክት iRobot ፕሮግራም ሊዘጋጅ የሚችል ክፍልባ ፣ MATLAB r2018a እና MATLAB ሞባይል ይጠቀማል። እነዚህን ሶስት የመገናኛ ዘዴዎች እና የኮድ ዕውቀትን በመጠቀም ፣ ቀለሞችን ለመተርጎም እና የቦርድ ዳሳሾችን ሥራዎችን ለማጠናቀቅ የ iRobot ፍጠር ፕሮግራም አድርገናል። እነዚህ ፕሮጀክቶች እነዚህን ተግባራት ለማከናወን በ Raspberry Pi እና MATLAB ግንኙነት ላይ ይመሰረታሉ።

ደረጃ 1: ቁሳቁሶች

ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች
ቁሳቁሶች

1. iRobot ሮቦት ፍጠር

2. MATLAB r2018a

3. Raspberry Pi

4. የካሜራ ሞዱል

5. 3-ዲ የታተመ የካሜራ ማረጋጊያ ማቆሚያ

6. MATLAB ሞባይል ያለው ዘመናዊ ስልክ ተጭኗል

7. ላፕቶፕ/ኮምፒተር ከ MATLAB ጋር ተጭኗል

ደረጃ 2 - ግንኙነት

ይህ እርምጃ Raspberry Pi ን ከሮቦት ጋር በማገናኘት ፣ ሁለተኛ ሮቦትን ከኮምፒዩተርዎ ጋር በማገናኘት እና ስማርትፎኑን ከኮምፒዩተር ጋር በማገናኘት ላይ ነው።

Raspberry Pi በሮቦት አናት ላይ ስለተጫነ የዚህ ሂደት በጣም ቀላሉ ክፍል Raspberry Pi ን ከሮቦትዎ ጋር ማገናኘት ነው። ማድረግ ያለብዎት ከሮቦት አንድ ገመድ አለ። ወደ Raspberry Pi ጎን መሰካት ነው።

ቀጣዩ ደረጃ ሮቦቱ እንዲሠራ ትዕዛዞችን ማስኬድ እንዲችሉ ሮቦቱን ከኮምፒዩተርዎ ጋር ማገናኘት ነው። ማድረግ ያለብዎት የመጀመሪያው ነገር ኮምፒተርዎ የእርስዎ ክፍልባ ከሚፈጥረው ገመድ አልባ አውታረ መረብ ጋር ማገናኘት ነው። አሁን ፣ ከ MATLAB በ Roomba መሣሪያ ሳጥን ውስጥ ያሉትን ተግባራት መጠቀም እንዲችሉ ዱካውን ለማዘጋጀት በ MATLAB ውስጥ የ Set Path አዶን እንዲጠቀሙ ይመከራል። በሮቦቱ መጠቀምን በጀመሩ እና በሚያቋርጡበት ጊዜ ሁሉ ሮቦቱን “ሁለት ጣት ሰላምታ” ከባድ ዳግም ማስጀመር አለብዎት ፣ ይህ ማለት መለቀቁን የሚያመለክት መብራት እስኪቀንስ ድረስ የመትከያውን እና የቦታ ቁልፎቹን ለአስር ሰከንዶች ያህል ይቆዩ ማለት ነው። ሮቦቱ አጭር ልኬት ሲጫወት ከሰማዎት በዚህ ከባድ ዳግም ማስጀመር ስኬታማ ነበሩ። በመቀጠል ‹x› ላለው ሮቦት የተመደበው ቁጥር እንደዚህ ያለ ‹r = roomba (x)› የሚል የኮድ መስመርን በመጠቀም ከክፍልባው ጋር መገናኘት አለብዎት።

በመጨረሻ ፣ ለዚህ ፕሮጀክት በሚጠቀሙበት በማንኛውም ተንቀሳቃሽ መሣሪያ ላይ MATLAB ሞባይል ማውረድ አለብዎት ፣ እና ይህ ትግበራ በሁለቱም በ Android እና በአፕል መሣሪያዎች ላይ ይገኛል። አንዴ መተግበሪያው ከተጫነ ፣ ምስክርነቶችን በመጠቀም መግባት ይኖርብዎታል። ከዚያ “ተጨማሪ” የተሰየመውን ትር በመጠቀም ይህንን መሣሪያ ከኮምፒዩተርዎ ጋር ማገናኘት አለብዎት -> ከዚያ “ቅንብሮች” -> ከዚያ “ኮምፒተር አክል” ን ጠቅ ያድርጉ ይህ ከላይ ባሉት ሥዕሎች ላይ የሚታየውን ማያ ገጽ ማምጣት አለበት። ይህንን ካዩ በኋላ እርስዎ ማለፍ ያለብዎት ቀጣዩ ደረጃ የጠየቀውን መረጃ መሰካት እና መቧጨር ብቻ ነው። አንዴ በተሳካ ሁኔታ ከተገናኙ በኋላ ሮቦትዎን ለመቆጣጠር በስልክዎ ላይ በኮምፒተርዎ ላይ የገለ functionsቸውን ተግባራት መደወል ይችላሉ።

ደረጃ 3 - አመላካቾችን ለመጠቀም የ MATLAB ኮድ አመክንዮ መፍጠር

ዳሳሾችን ለመጠቀም የ MATLAB ኮድ አመክንዮ መፍጠር
ዳሳሾችን ለመጠቀም የ MATLAB ኮድ አመክንዮ መፍጠር

ክፍልባው የሚመለከታቸው ትክክለኛ እሴቶችን በየጊዜው ማዘመን እንዲችል ኮዱ በሚበራበት ጊዜ አብዛኛው ሲበራ ኮዱ ለመፍጠር ቀላሉ ይሆናል። ስህተት ካለ ፣ MATLAB ስህተትን እና በኮዱ ውስጥ የሚታየውን ያሳያል ፣ ይህም መላ መፈለግ በአንፃራዊነት ቀላል ያደርገዋል።

በ r2018a MATLAB ውስጥ የተነደፈው ይህ ኮድ መደበኛ የመሣሪያ ሳጥኖቹን ፣ iRobot ፍጠር የመሣሪያ ሣጥን ፣ እንዲሁም የ MATLAB ተንቀሳቃሽ መሣሪያ ሳጥን ይጠቀማል። በዚህ ምሳሌ ውስጥ ጥቅም ላይ የዋለው ክፍልባ 26 ተብሎ ተሰይሟል ፣ እና r = roomba (26) ከክፍልባው ጋር ሙሉ በሙሉ ለመገናኘት አንድ ጊዜ ብቻ መሮጥ አለበት።

ኮድ ፦

ተግባር parkassist (x) x == 1 ከሆነ

r = roomba (26) % ከክፍልባ ጋር ይገናኛል

እውነት እያለ

r.setDriveVelocity (.05 ፣.05) % ክፍሉን ወደ ቀርፋፋ የማሽከርከር ፍጥነት ያዘጋጃል

bump = r.getBumpers % ውሂቡን ከድብ ዳሳሾች ያገኛል

ገደል = r.getCliffSensors % ውሂቡን ከገደል ዳሳሾች ያገኛል

light = r.getLightBumpers % ውሂቡን ከብርሃን ብጉር ዳሳሾች ያገኛል

img = r.getImage;% ካሜራውን ከሮቦቱ ያነባል

red_mean = አማካይ (አማካኝ (img (:,:, 1))) % የቀይ ፒክሰሎችን አማካይ መጠን ያነባል

green_mean = አማካይ (አማካኝ (img (:,:, 2))) % የአረንጓዴ ፒክሰሎች አማካይ መጠን ያነባል

blue_mean = አማካኝ (አማካኝ (img (:,:, 3))) % አማካይ የፒክሰሎች መጠን ያነባል

bump.front == 1 %የፊት ጉብታ ዳሳሾችን ያነባል

r.stop %roomba ያቆማል

msgbox ('መንገድ ተደብቋል!' ፣ 'የመኪና ማቆሚያ ረዳት መልዕክት') % መንገዱ ተደብቋል የሚል መልዕክት ያሳያል % መዞሩን ያበቃል

ሌላ ከሆነ አረንጓዴ_ማለት> 150

r.stop %roomba ያቆማል

cont = questdlg ('ቀጥል?' ፣ 'ዱካ ተጠናቀቀ') %ለመቀጠል የሚጠይቅ ጥያቄ ሳጥን ያሳያል

cont == 'አዎ'

parkassist (1) %ኮዱን እንደገና ያስጀምረዋል

ሌላ

አበቃ

እረፍት % ምልልሱን ያበቃል

ሌላ ከሆነ red_mean> 140

r.turnAngle (45) %ክፍሉን 45 ዲግሪ ያዞራል

r.timeStart %የጊዜ ቆጣሪ ይጀምራል

እውነት እያለ

r.setDriveVelocity (.05 ፣.05) %የክፍልባውን ፍጥነት ያዘጋጃል

ጊዜ = r.timeGet %ጊዜውን ለተለዋዋጭ ይመድባል

bump = r.getBumpers % ውሂቡን ከድብ ዳሳሾች ያገኛል

ገደል = r.getCliffSensors % ውሂቡን ከገደል ዳሳሾች ያገኛል

light = r.getLightBumpers % ውሂቡን ከብርሃን ብጉር ዳሳሾች ያገኛል

img = r.getImage;% ካሜራውን ከሮቦቱ ያነባል

red_mean = አማካይ (አማካኝ (img (:,:, 1))) % የቀይ ፒክሰሎችን አማካይ መጠን ያነባል

green_mean = አማካይ (አማካኝ (img (:,:, 2))) % የአረንጓዴ ፒክሰሎች አማካይ መጠን ያነባል

blue_mean = አማካኝ (አማካኝ (img (:,:, 3))) % አማካይ የፒክሰሎች መጠን ያነባል

ሰማያዊ_መሆን> 120 ከሆነ

r.

msgbox ('ውሃ ተገኝቷል!' ፣ 'የፓርኪንግ ረዳት መልዕክት') % ውሃ ተገኝቷል የሚል መልእክት ያሳያል r.turnAngle (-80) % roomba 80 ዲግሪ ያሽከረክራል

እረፍት % የአሁኑን ዑደት ያበቃል

elseif light.rightFront> 25 || light.leftFront> 25 %የብርሃን ብልጭታ ዳሳሾችን ያነባል

r.moveDistance (-0.01) % የክፍሉ ቤቱን ወደተወሰነ ርቀት ወደ ኋላ ያንቀሳቅሳል

r.turnAngle (-35) % ክፍሉን 35 ዲግሪ ያሽከረክራል

እረፍት %የአሁኑን ዑደት ያበቃል

otherif cliff.rightFront <2500 && cliff.leftFront <2500 %ሁለቱንም የገደል ዳሳሾች ያነባል

r.moveDistance (-0.1) % ክፍልባ ወደተወሰነ ርቀት ወደ ኋላ ያንቀሳቅሳል

r.turnAngle (-80) %roomba 80 ዲግሪ ያሽከረክራል

እረፍት % የአሁኑን ዑደት ያበቃል

ሌላ ጊዜ> = 3

r.stop %roomba ያቆማል

contin = questdlg ('ጣቢያ ነፃ ፣ ቀጥል?' ፣ 'የመኪና ማቆሚያ ረዳት መልዕክት') %ክፍል = = 'አዎ' ከሆነ ክፍሉን መቀጠል ይችል እንደሆነ ይጠይቃል።

r.turnAngle (-90) % ክፍሉን 90 ዲግሪ ያሽከረክራል

መናፈሻ (1) %ተግባሩን እንደገና ያስጀምራል

ሌላ

r.stop % ክፍሉን ያቆማል

አበቃ

ሌላ

አበቃ

አበቃ

otherif cliff.rightFront <2500 && cliff.leftFront <2500 %ሁለቱንም የገደል ዳሳሾች ያነባል

r.moveDistance (-0.1) %ክፍልባ ወደተወሰነ ርቀት ወደ ኋላ ያንቀሳቅሳል

r.turnAngle (-90) %roomba 90 ዲግሪ ያሽከረክራል

elseif cliff.rightFront <2500 %ትክክለኛውን የገደል አነፍናፊ ያነባል

r

elseif cliff.leftFront <2500 %የግራ ገደል ዳሳሽ ያነባል

r.turnAngle (5) %የገደል አነፍናፊውን በተቃራኒው አቅጣጫ የክፍሉን ክፍል በትንሹ ይቀይረዋል

ሌላ

አበቃ

አበቃ

አበቃ

ደረጃ 4 - ኮዱን እና ሮቦትን መሞከር

ኮዱን እና ሮቦትን መሞከር
ኮዱን እና ሮቦትን መሞከር
ኮዱን እና ሮቦትን መሞከር
ኮዱን እና ሮቦትን መሞከር
ኮዱን እና ሮቦትን መሞከር
ኮዱን እና ሮቦትን መሞከር

ኮዱ ከተዘጋጀ በኋላ ቀጣዩ እርምጃ ኮዱን እና ሮቦቱን መሞከር ነበር። በኮዱ ውስጥ ሊደረጉ የሚችሉ ብዙ የተለያዩ ማስተካከያዎች ስላሉ ፣ ለምሳሌ ሮቦቱ የሚዞርበት አንግል ፣ የሚንቀሳቀስበት ፍጥነት እና ለእያንዳንዱ ቀለም ገደቦች ፣ እነዚህን እሴቶች ለሮቦትዎ ለመለየት በጣም ጥሩው መንገድ መሞከር ነው በሚሄዱበት ጊዜ እነሱን ይለውጡ እና ይለውጡ። እኛ ለነበረን ለእያንዳንዱ የሥራ ቀን እኛ አንዳንድ እሴቶች ሮቦትዎ በሚሠራበት አካባቢ ላይ ስለሚተማመኑ እነዚህን እሴቶች በየጊዜው እንለውጥ ነበር። ያገኘነው በጣም ጥሩው መንገድ የክፍልባውን በሚከተለው መንገድ ላይ ማስቀመጥ እና እንዲኖረን ማድረግ ነው። ካሜራው እርስዎ የማይፈልጓቸውን ቀለሞች መለየት እንዳይችል በቂ የሆነ አጥር። ቀጣዩ ደረጃ ያንን ተግባር እንዲያጠናቅቅ በሚፈልጉበት ጊዜ እንዲሮጥ እና የሚፈልጉትን ቀለሞች እንዲያሳዩ ይፍቀዱለት። በሚሄዱበት ጊዜ ፣ አንድ ጉዳይ ካዩ በጣም ጥሩው ነገር የፊት መከለያውን ወደ ውስጥ ማስገባት ፣ እንዲቆም ማድረግ ፣ ከዚያ ያጋጠሙዎትን ግቤት መለወጥ ነው።

ደረጃ 5 የስህተት ዕውቅና

እያንዳንዱ ፕሮጀክት ሲጠናቀቅ ፣ ሁል ጊዜ የስህተት ምንጮች አሉ። ለእኛ ፣ ሮቦቱ በሚዞርበት አንግል ትክክለኛ ባለመሆኑ በቀላል እውነታ ስህተት አጋጥሞናል ፣ ስለዚህ ወደ 45 ዲግሪ እንዲዞር ቢነግሩት ትክክል አይሆንም። ለእኛ ሌላ የስህተት ምንጭ አንዳንድ ጊዜ ሮቦቱ መበላሸቱ ነው ፣ እና እንደገና ከመሠራቱ በፊት እንደገና ያስጀምሩትታል። ለእኛ የመጨረሻው የስህተት ምንጭ ተመሳሳይ ኮድ በተለያዩ ሮቦቶች ላይ ተመሳሳይ ውጤት አይኖረውም ፣ ስለሆነም ታጋሽ መሆን እና በዚህ መሠረት ማስተካከል ይኖርብዎታል።

ደረጃ 6 መደምደሚያ

አሁን ከክፍልባዎ ጋር የሚጫወቱባቸው ሁሉም መሣሪያዎች አሉዎት ፣ ይህ ማለት እርስዎ የሚፈልጉትን ግቦች ለማሳካት በሚፈልጉበት ጊዜ ኮዱን በማንኛውም መንገድ ማቀናበር ይችላሉ ማለት ነው። ይህ የእርስዎ ቀን ምርጥ ክፍል መሆን አለበት ፣ ስለዚህ ይደሰቱ እና በደህና ይንዱ!

የሚመከር: