ዝርዝር ሁኔታ:

Localino Tracks Roomba IRobot ፣ የአካባቢውን ካርታዎች እና ቁጥጥርን ይፈቅዳል። 4 ደረጃዎች
Localino Tracks Roomba IRobot ፣ የአካባቢውን ካርታዎች እና ቁጥጥርን ይፈቅዳል። 4 ደረጃዎች

ቪዲዮ: Localino Tracks Roomba IRobot ፣ የአካባቢውን ካርታዎች እና ቁጥጥርን ይፈቅዳል። 4 ደረጃዎች

ቪዲዮ: Localino Tracks Roomba IRobot ፣ የአካባቢውን ካርታዎች እና ቁጥጥርን ይፈቅዳል። 4 ደረጃዎች
ቪዲዮ: ROOMBA PONG 2024, ህዳር
Anonim
Image
Image

የ WiFi-UART ድልድይ ለመገንባት ፣ ይህንን github repo መመልከት ይችላሉ-

ለመጀመር ጥሩ መሠረት አለው። መመሪያውን በደንብ ማንበብዎን ያረጋግጡ ፣ ምክንያቱም በመሙላት ጊዜ Roomba VCC እስከ 20 ቮልት ስለሚጨምር! እስከ 20 ቮ ድረስ የሚሰራ እና ወደ ታች የሚለወጠው ወደ 3.3 ቪ የሚሰራ ትክክለኛ የባንክ መቀየሪያ ሳይኖር ESP8266 ካከሉ ፣ የእርስዎን ESP ያበላሻሉ።

እንዲሁም የ 5 ቮ UART ሎጂክ ደረጃዎችን ከ ‹Roomba› ወደ ‹33V› ለማዛወር ደረጃ መለወጫ (ለምሳሌ የቮልቴጅ መከፋፈያ በመጠቀም) መጠቀሙን ያረጋግጡ።

ሌላው አስፈላጊ ዝርዝር ፣ የባክ መቀየሪያው 300mA ሊኖረው ይገባል ፣ ግን በጣም ያነሰ ወይም ብዙ (በገንቢ መቀየሪያው ራሱ ላይ በመመስረት)። ብዙ የበለጠ የአሁኑን ሊያደርጉ የሚችሉ እዚያ አሉ ፣ ግን በመነሻ ጊዜ በጣም ብዙ የአሁኑን ስለሚስሉ ሮምባ እንዲወድቅ ያድርጉ። እኛ Pololu 3.3V ፣ 300mA Step-Down Voltage Regulator (D24V3F3) በትክክል የሚሰራ መሆኑን ደርሰንበታል። 500mA / 600mA ያላቸው ተለዋጭ ስሪቶች የ Roomba UART በይነገጽ እንዲሰናከል አድርገዋል። በመሠረቱ ሮምባ በአዝራር ቁልፍ ላይ ምላሽ እየሰጠ ነበር ፣ ግን በ UART በይነገጽ በኩል በትእዛዞች ላይ አይደለም። አንዴ ይህ ከተከሰተ የ Roomba ባትሪውን አውጥተን የ WiFi-UART ድልድይ ተያይዞ Roomba ን እንደገና ማስጀመር ነበረብን። ሆኖም ፣ በደንብ የሰራው D24V3F3 ብቻ ነው።

ከዚያ ቴክኒካዊ ዝርዝር በተጨማሪ ፣ በ Roomba ክፍት በይነገጽ ዝርዝሮች ውስጥ ሊያገኙት የሚችሉት በኮዱ ላይ ተጨማሪ ትዕዛዞችን ማከል አለብዎት። የክፍልዎ ምላሽ እንዲሰጥ የሚፈልጓቸውን ሁሉንም ትዕዛዞች ማከል ያስፈልግዎታል (ለምሳሌ ፣ ወደ ኋላ ፣ ወደ ፊት ፣ ፍጥነት ፣ ወዘተ)።

በአርዲኖ አይዲኢ ውስጥ ምሳሌዎች-

ባዶ goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (ሐ); }

ባዶነት goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (ሐ); }

ባዶ spin spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Serial.print (ሐ); }

ባዶነት spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Serial.print (ሐ); }

በሉአ ውስጥ ከጻፉ ትንሽ የተለየ ይመስላል ፣ ለ LEFT ማዞሪያ ምሳሌ እንደዚህ ይመስላል

ከሆነ (_GET.pin == "ግራ") ከዚያ ያትሙ ('\ 137'); --VOR

tmr.delay (100);

ማተም ('\ 00'); -ፍጥነት = 200 = 0x00C8 -> 0 እና 200

tmr.delay (100);

አትም ('\ 200'); - ፍጥነት

tmr.delay (100);

አትም ('\ 254'); - ራዲየስ = 500 = 0x01F4 = 0x01 0xF4 = 1 244

tmr.delay (100);

ማተም ('\ 12'); - መዞር

አበቃ

ለእርስዎ Roomba ክፍት በይነገጽ መግለጫ ማረም እንዳለብዎት ያረጋግጡ። ቢያንስ ሁለት ክፍት በይነገጽ ዝርዝሮች አሉ።

ለ Roomba 5xx ተከታታይ:

ለ Roomba 6xx ተከታታይ:

አንዴ የ WiFi-UART ድልድይዎን ከገነቡ እና ትዕዛዞችን የበለጠ ከፍ ካደረጉ በኋላ የበለጠ እርምጃ ወስደዋል። ይህ ቪዲዮ ትግበራ እና አቀራረብ እንደሚሰራ ያሳያል። እኛ ትንሽ ሰነፍ ነበር ፣ የድር በይነገጽ እንደ ወደፊት ፣ ወደ ኋላ ፣ ፍጥነት ፣ ቀኝ ፣ ግራ እና የመሳሰሉት ሌሎች የቁጥጥር ትዕዛዞችን ሁሉ ይጎድለዋል ፣ ግን ትዕዛዞቹን በ http በኩል መስጠት ይችላሉ። ለማንኛውም የ Roomba የርቀት መቆጣጠሪያ ESP8266 ን በመጠቀም ከቀላል ሃርድዌር እና ሶፍትዌር ጋር እንደሚሠራ ማሳያ ነው።

አሁን የእርስዎን Roomba ከፒሲ ትግበራ በርቀት መቆጣጠር እንደቻሉ ፣ የሚጎድለው ብቸኛው ነገር የቤት ውስጥ አካባቢያዊነት ነው። የግብረመልስ ዑደቱን ለመዝጋት ይህ ያስፈልገናል ፣ ምክንያቱም ግባችን ሮቦቱን ወደ አንድ የተወሰነ አቅጣጫ መምራት ነበር። ይህንን እናድርግ.

ደረጃ 3 የቤትዎን አካባቢያዊነት ስርዓት ያዋቅሩ

የግብረመልስ ዑደትን ለመዝጋት የቤት ውስጥ አካባቢያዊነት ስርዓትን እንጠቀማለን። ለዚህ Localino ን እንጠቀማለን። የአካባቢያዊኖ ስርዓት ከ “መልህቆች” እና “መለያዎች” ይ consistsል። መልህቆቹ በክፍሉ ውስጥ ባሉ ቋሚ ቦታዎች ላይ ተዘዋውረው የሚንቀሳቀሱትን መለያ (በ Roomba ላይ የተቀመጠውን) ቦታ ያገኙታል። የቦታ ማቀነባበር የሚከናወነው በፒሲ ትግበራ ውስጥ ነው። ያ ትልቅ ጥቅም ነው ፣ ምክንያቱም እርስዎም Roomba ን ከተመሳሳይ ፒሲ መቆጣጠር ይችላሉ! ከ Localino ድርጣቢያ የሚገኝ ነፃ ምንጭ ኮድ አለ ፣ እሱ በፓይዘን ውስጥ የተፃፈ ሲሆን እንዲሁም የመለያውን XYZ መጋጠሚያዎችን የሚያቀርብ የእውነተኛ ጊዜ ዥረትም አለ። የውሂብ ዥረቱ በ UDP አውታረ መረብ በኩል ይገኛል ፣ ግን እርስዎም እርስዎ የሚወዱትን MQTT ወይም ሌላ ማንኛውንም የሚያምር ነገር ማከል ይችላሉ። Python ን ካወቁ ፣ እርስዎን የሚረዱዎት ብዙ ቤተ -መጻሕፍት አሉ።

በዚህ ቪዲዮ ውስጥ የ Roomba አካባቢያዊነት ታይቷል። ስለዚህ በክፍል ውስጥ 4 መልህቆች ማዋቀር አለን ፣ ይህም የ Roomba 3 ዲ አቀማመጥን ይፈቅዳል። በአጠቃላይ ፣ 3 መልሕቆችን ብቻ እንፈልጋለን ፣ ምክንያቱም ሮምባ ምናልባት በ Z- ዘንግ ውስጥ አይንቀሳቀስም ፣ ስለሆነም 2 ዲ በቂ ይሆናል። ነገር ግን መልህቆቹ በኤሲ ዋና መሰኪያዎች ከፍታ ላይ ስለሚገኙ (ከመሬት ከፍታው 30 ሴ.ሜ ነው) ባለ 2 ዲ ቅንብር አነስተኛ የቦታ ግምት ስህተቶችን ያስከትላል። ስለዚህ 4 መልህቆች እንዲኖሩን እና በ 3 ዲ ውስጥ አካባቢያዊ ለማድረግ ወሰንን።

አሁን እኛ የ Roomba አቋም እንዳለን ቀጣዩ እርምጃችን Roomba ን ከተመሳሳይ ማመልከቻ መቆጣጠር ነው። ሀሳቡ የመሬቱን እውነት መጠቀም እና ለሮቦቱ ፍጹም የፅዳት መንገድ መገመት ነው። በ Localino ን በመጠቀም የግብረመልስ ዑደቱን መዝጋት እና ሮቦቱን ከፒሲ ትግበራ መቆጣጠር እንችላለን።

አስተያየቶችን ያዋቅሩ

በክፍሉ ውስጥ የ Localino መልሕቆችን በተለያዩ የ x ፣ y ቦታዎች እና ሦስቱ በተመሳሳይ የ Z ቦታ ላይ ያስቀምጡ። በአንድ ከፍታ በተለያየ z z ላይ ከአራት መልሕቆች መካከል አንዱን ያስቀምጡ። ከ Roomba መለያ ጋር የሚንቀሳቀስ ከ Localino መለያ ጥሩ ሽፋን መኖሩን ያረጋግጡ።

ሁሉም መልሕቆች በአከባቢው የባርኮድ ኮድ ላይ የሚታየው እና በ “አካባቢያዊኖ ውቅር” መሣሪያ ሊነበብ የሚችል ልዩ መልህቅ መታወቂያ አላቸው።

በ X ፣ Y ፣ Z እና መልህቅ መታወቂያዎች ውስጥ ያሉ ቦታዎችን ልብ ይበሉ። ይህ ለ Localino Processor ሶፍትዌር የሚፈለግ ሲሆን “አካባቢያዊኖ ፕሮሰሰር” በሚለው አቃፊ ውስጥ ባለው “localino.ini” ፋይል ውስጥ ማመቻቸት አለበት።

መልህቆቹ በ Z (የ XY አካባቢ ሲሸፈን) ወደ ላይ ወይም ወደ ታች ማመልከት አለባቸው ፣ ግን በተሸፈነው አካባቢ አቅጣጫ አይደለም። መልህቆቹ በብረት ወይም በሌላ በማንኛውም ገመድ አልባ ምልክት በሚረብሽ ቁሳቁስ መሸፈን የለባቸውም። ይህ የማይቻል ከሆነ በማንኛውም ቁሳቁስ እና መልህቅ መካከል የተወሰነ የአየር ክፍተት መኖር አለበት።

… ተጨማሪ ወደፊት።

ደረጃ 4 የ Python ሶፍትዌርን ያስተካክሉ

ይከታተሉ። የበለጠ የሚመጣ።

የሚመከር: