Агуулгын хүснэгт:

Робот техникч: 8 алхам
Робот техникч: 8 алхам

Видео: Робот техникч: 8 алхам

Видео: Робот техникч: 8 алхам
Видео: Всего 3 минуты в день! Удалите носогубные складки с помощью японского пилинг-массажа фасции. 2024, Долдугаар сарын
Anonim
Робот техникч
Робот техникч

Та өөрийгөө Ангараг гариг дээр газардсан сансрын нисгэгчдийн нэг гэж төсөөлөөд үз дээ. Танд хийх ёстой олон зүйл, авах дээж, ажиллуулах туршилт, цуглуулах өгөгдөл байгаа боловч өдөрт нэг эсвэл хоёр удаа амьдарч, ажиллаж буй орон сууц, судалгааны модулиудыг тойрон гүйх хэрэгтэй. Шаардлагатай бол хэн нэгэн зүйл сайн хэлбэртэй, олон мянган ширхэг эд анги, эд анги нь ажиллаж, байгаа эсэхийг баталгаажуулах ёстой. Гэхдээ эдгээр үүргээс чөлөөлөх автомат туслагч байсан бол яах вэ. Бүх зүйл байрандаа, ажиллаж, аюулгүй байгаа эсэхийг шалгахын тулд модулийн дотор эргэлддэг бяцхан робот байсан бол яах вэ.

Робо-техникч аврах ажилд.

Үндсэндээ энэ код нь газар дээрх цайвар өнгийн замыг даган явахдаа Robo-Technician-ийг хянадаг. Энэ зам нь уулзвар эсвэл эргэх цэгийг олох хүртэл энэ замыг дагах бөгөөд энэ нь зураг боловсруулах зориулалттай зураг авах бөгөөд ингэснээр Робо-техникч цаашид хаашаа явахаа шийдэх боломжтой болно. Хөнгөн овойлт ба овойлтын мэдрэгч нь Robo-Technician-ийг эвдрэлээс хамгаалахын тулд ажилладаг бөгөөд овойлтын мэдрэгч нь оношлогооны зураг авах хугацааг хянадаг. Робо-техникч нь Мар модулиудыг ойртуулж, сансрын нисгэгчдийн цагийг чөлөөлж, шалгалтын үндсэн үүргийг гүйцэтгэхэд зориулагдсан бөгөөд буруу зүйл олж мэдсэн тохиолдолд л хүний оролцоог шаарддаг.

Дахин сануулахын тулд энэ бол хийгдэж буй ажил юм. Энэ код нь одоо байгаа шиг ажилладаг боловч ялангуяа олон тооны давхцаж буй програмууд байдаг тул алдаа гардаг. Түүнчлэн, энэ төслийг Ангараг гаригийн жинхэнэ даалгаварт ажиллуулахын тулд тусгай зориулалтаар робот бүтээх шаардлагатай болно, тиймээс энэ бол "үзэл баримтлалын нотолгоо" загвар юм.

Үүнийг ажиллуулахын тулд танд хэдэн зүйл хэрэгтэй болно. Танд үнэтэй програм, энэ програмыг дэмжих багцууд, код бичих талаар бага зэрэг мэдээлэл хэрэгтэй болно. Би оюутан бөгөөд доод давхрын зарим кодыг өгсөн (бөөрөлзгөнө пи-ийн хувьд), би тохиргооны талаар тусгайлан ярихгүй. Та үндсэн кодын бүх холбоосыг доороос олж болно. Материалын жагсаалт руу орцгооё.

Техник хангамж

  • Raspberry Pi (бид 3 -р хувилбарыг ашигласан)
  • iRobot ®
  • Raspberry Pi-ийг Robo-Technician-тэй холбох зориулалттай ямар нэгэн төхөөрөмж
  • Raspberry Pi камер (ямар ч хамаагүй, автофокус сайн, зургийн нягтрал сайтай байдаг)
  • Робо-техникч дээр камераа урагш харуулахын тулд ямар нэгэн зогсоол эсвэл бүрхүүл
  • шалан дээр найдвартай наасан цагаан (эсвэл маш цайвар өнгөтэй) тууз болгон ашиглах материал. Энэ нь урд талын хоёр хадан мэдрэгчийн хоорондох зайнаас арай илүү өргөн байх ёстой.
  • Маш том бичвэр бүхий 4 тэмдэг (IMAGE, RIGHT, BACK, LEFT гэсэн бичигтэй)
  • Өнгөт цаасан хуудас (дор хаяж гурваас илүү улаан, ногоон, цэнхэр)

Програм хангамж

  • Matlab (2018a ба 2017b хоёуланг нь ашигласан бөгөөд ялгаа багатай мэт санагдсан)
  • Matlab -ийн Raspberry Pi дэмжлэгийн багц
  • Matlab -тай холбогдох Raspberry Pi код (доорх эх кодын линк)
  • Matlab -д зориулсан зураг боловсруулах хэрэгслийн хайрцаг (та энэ төслийг багажны хайрцаггүйгээр хийх боломжгүй)
  • НЭМЭЛТ: Matlab Mobile таны утсан дээр суулгасан бөгөөд үүнийг дараа тайлбарлах болно

Алхам 1: Тоног төхөөрөмжийг тохируулах

ef.engr.utk.edu/ef230-2018-08/projects/roo…

Энэ бол iRobot® -ийн үндсэн хичээлийн хамт Matlab -тай харилцах боломжийг баталгаажуулах үндсэн кодын холбоос юм. Өмнө нь хэлсэнчлэн би энэ хэсгийг тусад нь авч үзэхгүй, учир нь энэ хичээлийг маш сайн боловсруулсан болно. Та линк дээрх алхмуудыг хийсний дараа Matlab -ийн "doc" командыг ашиглан оруулсан мэдээллийг үзэх боломжтой гэдгийг би хэлэх болно. Тодруулбал:

doc roomba

Бас нэг маш чухал цэг.

Та файлуудыг дээрх линкээс татаж авахдаа Matlab нь хэрэглэгчийн үүсгэсэн файлуудыг одоогийн ажлын хавтсанд байхыг шаарддаг тул миний дүрсэлсэн фолдерт байрлуулна уу.

Үүнийг хийчихээд код руу оръё.

Алхам 2: Эдгээр бүх мэдрэгчийг хайж олох

Эдгээр бүх мэдрэгчийг хайж олох
Эдгээр бүх мэдрэгчийг хайж олох
Эдгээр бүх мэдрэгчийг хайж олох
Эдгээр бүх мэдрэгчийг хайж олох

Секундийг аваад iRobot® -д шалгалт өг. Эдгээр нь хаана байгааг мэдэх нь сайн хэрэг бөгөөд ингэснээр та Робо-техникч хүлээн авч буй оролтуудын талаар ойлголттой болох бөгөөд энэ нь таны тохируулсан замыг дагахын оронд энэ зүйл яагаад тойрог хэлбэрээр эргэлдэж байгааг олж мэдэх болно. эсвэл тохиолдоогүй байж магадгүй). Та урд талын том физик цохилтын мэдрэгчийг харах болно. Хадны мэдрэгчийг харахад арай илүү төвөгтэй байдаг тул та үүнийг эргүүлж, урд ирмэгийн ойролцоо дөрвөн тунгалаг хуванцар цонхыг хайх хэрэгтэй болно. Гэрлийн цохилтын мэдрэгч нь бүр ч илүү нуугдмал байгаа боловч одоогоор гялалзсан хар хамтлагт байгаа биет овойлтын мэдрэгчийн баарны урд талд байрлах iRobot® -ийн урдуур гүйдэг гэж хэлэхэд л хангалттай байх болно.

Дугуй унах мэдрэгч байдаг боловч эдгээр төслийг энэ төсөлд ашиглаагүй тул бид мэдрэгчийг туршиж үзэх болно.

Алхам 3: Параметрүүдийг тохируулах тест хийх

Параметрүүдийг тохируулахын тулд тест хийж байна
Параметрүүдийг тохируулахын тулд тест хийж байна

Робо-техникчийг ажлаа явуулахын тулд бид түүний онцлог шинж чанар, мэдрэгчийн хүрээг олж мэдэх хэрэгтэй. IRobot® бүр нь арай өөр бөгөөд роботын ашиглалтын явцад өөрчлөгддөг тул мэдрэгч нь ажиллаж буй хэсгийг хэрхэн уншдагийг олж мэдэх хэрэгтэй. Үүнийг хийх хамгийн хялбар арга бол цайвар өнгийн замыг тохируулах явдал юм. Би цагаан принтерийн цаасны туузыг ашигласан боловч цайвар өнгөтэй зүйлийг хийх болно) гадаргуу дээр Робот техникч ажиллах болно.

Matlab -ийг эхлүүлээд шинэ скрипт нээнэ үү. Скриптийг би ЭРТХҮҮНИЙГ ДЭЭРХҮҮЛСЭН ХУУЛЬД хадгалж, хүссэнээрээ нэрлэ (гэхдээ энэ файлын нэр нь функцын нэр байх тул товчлохыг хичээгээрэй). Роботыг асаагаад командын цонхонд командыг оруулаад зааварчилгаанаас Roomba хувьсагчийн тохиргоог ашиглана уу.

Raspberry Pi iRobot® -д залгагдсан бөгөөд таны компьютер ижил интернет холболттой байгаа эсэхийг шалгаарай. Матлаб яагаад холбогдохгүй байгааг олж мэдэхийн тулд үсээ сугалахад бага цаг зарцуулах болно

r = roomba (таны тохируулсан дугаар)

Энэ тохиолдолд "r" хувьсагч шаардлагагүй, та үүнийг хүссэнээрээ дуудаж болно, гэхдээ энэ нь ганц үсэг хувьсагч ашиглахад амьдралыг хөнгөвчилдөг.

Замыг тохируулсны дараа өрөөний холболтыг амжилттай холбосны дараа ирээдүйн Робо-техникчийг тавь. Энэ нь нөгөө хоёр, гурав нь таны сонгосон гадаргуугийн дээд талд байна гэсэн үг юм.

Одоо туршилтын мэдрэгчийг дараах тушаалаар эхлүүлнэ үү.

r.testSensors

"R." Нь таны өмнө нь тодорхойлсон хувьсагч гэдгийг санаарай, тиймээс хэрэв "r" биш бол "r" -г өөрчилнө үү. таны шийдсэн бүх зүйлд. Энэ нь туршилтын мэдрэгч дэлгэцийг олон тооны мэдээлэлтэй болгоно.

Энэхүү төслийн хувьд lightBamper, bamper, cliff хэсэгт анхаарлаа хандуулаарай. Робо-техникчийг хөдөлгөж, мэдрэгчүүд өөр өөр гадаргуу дээр хэрхэн өөрчлөгдөж байгааг, эсвэл бамперын утгыг өөрчлөхийн тулд объект хэр ойрхон байх ёстойг харах хэрэгтэй. Эдгээр тоонуудыг санаж байх (эсвэл бичих). параметрүүдийг секундын дотор тохируулахын тулд тэдэнд хэрэгтэй болно.

Алхам 4: Кодыг эхлүүлэх

Юуны өмнө та функцийг бүтээх болно. Би үүнийг "зам" гэж нэрлэсэн боловч дахин хэлэхэд энэ нэр шаардлагагүй, гэхдээ би үүнийг одооноос "зам" гэж хэлэх болно.

Кодын дээд хэсэг нь хэрэглэгчийн оруулах зарим сонголтыг тохируулж өгдөг. Энэ нь in listdlg -д ашиглагдах зарим жагсаалтыг гаргаж, дараа нь жагсаалтын харилцах цонхыг авчирдаг. Энэ нь хэрэглэгч аль замыг сонгохыг сонгох боломжийг олгодог бөгөөд энэ нь дараа нь тоглох болно.

list = {'Улаан', 'Цэнхэр', 'Ногоон'}

problist = {'Санамсаргүй байдал, Зургийг хадгалах', 'Бүрэлдэхүүн хэсэг байхгүй, Зургийг хадгалах', 'Хүлээгдэж буй, Үргэлжлүүлэх'} pathcolor = listdlg ('PromptString', 'Замын өнгө сонгох',… 'SelectionMode', 'ганц бие', 'ListString', list) prob = 0; driv = ;

"Проб" ба "драйв" хувьсагчдыг функцын үндсэн while цикл дотор ашиглах тул энд зарлах шаардлагатай боловч дахин хэлэхэд хэрэв та эдгээр хувьсагчдын аль нэгнийх нь нэрийг өөрчлөх эсвэл жагсаалтын сонголтыг өөрчлөхийг хүсч байвал сайн байна. Та кодын үлдсэн хэсэгт тууштай байна.

Алхам 5: Давталтын дээд хэсэг: Биеийн цохилтын мэдрэгч

While давталтын дээд хэсэг нь овойлт мэдрэгчийн физик логикийг агуулдаг. Үндсэндээ Robo-Technician ямар нэгэн зүйл дээр зогсоход (эсвэл урд талын овойлтын мэдрэгчийн хувьд 0.1 метрийн зайтай) зураг авхуулахаар өөрийгөө байрлуулдаг. Эхлээд хурд, байрлалыг хянах хэсгийг авч үзье.

Хэрэв та өмнөх алхамуудад Robo-Technician дээрх бүх мэдрэгчийг туршиж үзсэн бол овойлт мэдрэгч нь логикийн утгатай (0 эсвэл 1) бөгөөд тэг нь мэдрэгчийн дарагдаагүй хэвийн байрлалыг илэрхийлдэг болохыг та мэдэх болно. Кодын хувьд үүнийг санаарай.

while true %main байхад loop %нь бамперын мэдээллийг хүлээн авна

Энэ бол "Хэрэв энэ нь ямар нэгэн зүйлд хүрвэл зогс" гэсэн үндсэн хэсэг юм. Хэрэв мэдрэгч нь мөргөлдөөнийг илрүүлсэн бол кодын дараагийн хэсэгт шилжих бөгөөд энэ нь зураг авахын тулд робот техникчийн байрлалыг өөрчилдөг.

if S.left ~ = 0 %, хэрэв давталт нь бамперын мэдээллийг авч, камерыг зургийн хувьд тохируулдаг бол r.turnAngle (5) pause (0.5) img = r.getImage %нь зураг авч, дүрс (img) %харилцах цонхыг харуулна prob = listdlg (' PromptString ',' Гэнэтийн саад бэрхшээл олдлоо, тодорхойлно уу '…,' SelectionMode ',' single ',' ListString ', problist) elseif S.right ~ = 0 r.turnAngle (-5) pause (0.5) img = r. getImage image (img) prob = listdlg ('PromptString', 'Гэнэтийн саад бэрхшээл олдлоо, тодорхойлно уу'…, 'SelectionMode', 'single', 'ListString', problist) өөр S.ifont ~ = 0 r.moveDistance (- 0.1) түр зогсоох (0.5) img = r.getImage image (img) prob = listdlg ('PromptString', 'Гэнэтийн саад бэрхшээл олдлоо, тодорхойлно уу'…, 'SelectionMode', 'single', 'ListString', problist) төгсгөл

Үндсэндээ зураг авсны дараа гурван сонголттой өөр харилцах цонх гарч ирнэ. Эхний хоёр сонголт нь зургийг тодорхой хавтсанд хадгалдаг бөгөөд үүнийг дараа нь авч үзэх болно, харин гурав дахь сонголт нь харилцах цонхыг хааж, давталтаар үргэлжлүүлнэ. Хэрэв та сонголтуудыг санахгүй байгаа бол өмнөх алхамыг анхаарч үзээрэй.

Одоо би овойлтын мэдрэгч ба гэрэл хадгалах хэсэг хоёрын хооронд кодын хэсэг орууллаа. Энэ нь lightBumper-ийн утгыг авч, хөтөчийн хурдыг 0.025 метр/сек (маш удаан) болгож тохируулдаг бөгөөд энэ нь тийм ч чухал биш боловч Robo-Technician-ийн юм руу цохиулж, улмаар физик цохилтын мэдрэгчийг элэгдүүлдэг.

L = r.getLightBampers бол L. зүүн> 100 || L.leftFront> 100 || L.rightFront> 100 || L.right> 100 driv = 0.025 r.setDriveVelocity (0.025) else driv = 0.1 end

Энэ бол таны өмнө нь ажиглаж байсан (мөн бичсэн гэж найдаж байсан) үнэт зүйлс нь хэрэгжих хэсэг байх болно

"L. (мэдрэгчийн тал ба чиглэл)> 100" нь миний ажигласан утгууд дээр үндэслэсэн тул хэрэв таны ажиглалт өөр байвал эдгээр тоог өөрчилнө үү. Энэхүү санаа нь хэрэв Робо-техникч урд нь хэдэн см-ийн зайд ямар нэгэн зүйл мэдрэх юм бол энэ нь удаашрах бөгөөд үүнээс илүү шаардлагагүй юм.

Дараагийн хэсэг нь зургийг дараа нь хадгалах болно.

prob харилцах цонхонд эхний эсвэл хоёрдахь сонголтыг хийсэн бол %, хэрэв prob == 1 %бол давталт нь зургийн файлын мэдээллийг бүрдүүлж, t = цаг хугацааны тэмдэгээр бичдэг; basename = sprintf ('\ img_%d_%d_%d_%d_%d.png', t (1), t (2), t (3), t (4), t (5)); хавтас = 'E: / UTK / Classes / fall 18 / ef230 / irobot / images'; fullFileName = fullfile (хавтас, үндсэн нэр); imwrite (img, fullFileName) Close Зураг 1 түр зогсоох (2) elseif prob == 2 t = цаг; basename = sprintf ('\ img_%d_%d_%d_%d_%d.png', t (1), t (2), t (3), t (4), t (5)); хавтас = 'E: / UTK / Classes / fall 18 / ef230 / irobot / images'; fullFileName = fullfile (хавтас, үндсэн нэр); imwrite (img, fullFileName) хаах Зураг 1 түр зогсоох (2) төгсгөл

Зураг хадгалагдсан бүх файлын нэр, байршил нь заавал биш юм. Би танилцуулах үе шатанд үүсгэсэн Roomba фолдер дотор үүрлэсэн фолдерыг сонгосон боловч энэ нь таны хүссэн газар байж болно. Түүнчлэн, зургуудыг цагийн тэмдгээр хадгалдаг боловч энэ нь тийм ч чухал биш юм (энэ нь Ангараг гаригийн нислэгийн хувьд таамаглалын хувьд ашигтай байх болно).

Биет овойлтын мэдрэгчийг хамруулснаар бид хадан цохионы мэдрэгч болон дараагийн зам руу шилжиж болно.

Алхам 6: Замаа дагах

Хадны мэдрэгчийн кодыг урд болон хоёр талын мэдрэгчийн утгыг харьцуулахаар тохируулсан болно. Та эдгээр утгыг (магадгүй) ажиглагдсан утгууд дээрээ үндэслэн өөрчлөх шаардлагатай болно. Та хэд хэдэн туршилтын дараа эдгээр утгыг засварлаж орчны гэрэл, өдрийн цаг (туршилтын талбайн гэрэлтүүлэг хэр сайн байгаагаас хамаарч) эсвэл мэдрэгчийн цонх бохир байх зэргээс шалтгаалан өөрчлөх хэрэгтэй болно.

Гэсэн хэдий ч бид хадан цохионы мэдрэгчийн код руу орохоос өмнө Matlab -аас шаардлагагүй зарим өгөгдлийг зайлуулахын тулд миний оруулсан богино кодын хэсэг байдаг. Энэ хэсэг шаардлагагүй, гэхдээ би үүнийг програмыг ажиллуулахад шаардлагатай хадгалах санг багасгахад ашигласан.

clear img clear t clear basename clear fullFileName clear folder

Дараагийн кодын сегмент бол төслийн мах юм. Энэ нь Robo-Technician-ийг шалан дээр тавьсан цайвар өнгийн замыг дагах боломжийг олгодог. Товчхондоо, энэ нь өөрийгөө удирдах гэж оролддог тул таны ажигласан утгууд дээр үндэслэн урд талын хоёр хадан мэдрэгч нь босгоноос дээгүүр байгаа бөгөөд зураг боловсруулах үе шатыг хэсэг хугацааны дараа эхлүүлэх боломжийг олгодог.

C = r.getCliffSensors %бол гогцоо өнгөт зурвас (цагаан) дагадаг бол C.leftFront> 2000 &&rrightFront> 2000 %шулуун замын удирдамж r.setDriveVelocity (driv) elseif C.leftFront робот хэт хол явах тохиолдолд 2000 %баруун тийш эргэдэг. зүүн r.turnAngle (-2.5) өөр бол C.leftFront> 2000 && C.rightFront <робот хэт баруун тийш хэтэрсэн бол 2000%зүүн тийш эргэх r.turnAngle (2.5) өөр C. solFront <2000 &&rrightFront 100 || L.leftFront> 100 || L.rightFront> 100 || L.right> 100 img = r.getImage end %нь C.left> 2800 && C. баруун <2800 r.turnAngle (2.5) өөр замд гулзайлт байгаа эсэхийг шалгадаг. 2.5) замын дүрс таних дисп ('GETTING IMAGE') төгсгөлийн төгсгөлийн төгсгөлийн %байр эзэмшигч

Миний сонгосон хувьсагчийн нэр нь заавал биш гэдгийг санаарай, гэхдээ боломжтой бол ганц үсэг хувьсагчийг ашиглах нь амьдралыг илүү хялбар болгодог гэж би бодож байна

Кодын дунд хэсгийг тайлбарлахын тулд урд талын хоёр мэдрэгч нь замын ирмэгээс гүйх үед (уулзвар дээр эсвэл замын төгсгөлд хүрэх үед) урд нь ямар нэгэн зүйл байгаа эсэхийг харах болно.. Үүнийг ажиллуулахын тулд замын төгсгөлд эсвэл ямар нэгэн уулзвар дээр газар дээр объект байрлуулах шаардлагатай болно.

Зураг авсны дараа юу хийхээ ойлгохын тулд дүрс таних аргыг ашигладаг. Кодын энэ хэсэгт бас газар эзэмшигч байна:

Замын дүрс таних дэлгэцийн %байр эзэмшигч ('Зураг авах')

Дараагийн алхамд гарч буй текст, өнгөний боловсруулалтын талаар тусгайлан ярихыг хүссэн тул би үүнийг энэ мөчид ашигласан.

Алхам 7: Зураг боловсруулах

Зураг боловсруулах хоёр хэсэг байдаг. Нэгдүгээрт, өнгө таних нь зурган дээрх өнгөний эрчмийг тооцоолж, текст таних ажлыг үргэлжлүүлэх эсэхээ шийдэх болно. Өнгөний тооцоо нь хамгийн эхний харилцах цонхонд хийсэн сонголт дээр үндэслэсэн болно (би улаан, цэнхэр, ногоон өнгийг ашигласан боловч өнгөний эрчмийн дундаж утгыг хүлээн зөвшөөрч чадвал та хүссэн өнгөө сонгож болно. Raspberry Pi камер).

img = r.getImage img = imcrop (img, [0 30 512 354]) imgb = imcrop (img, [0 30 512 354]) imgt = imcrop (img, [0 30 512 354]) улаан = дундаж (дундаж (imgb (:,,:, 1))); g = дундаж (дундаж (imgb (:,,:, 2)))); b = дундаж (дундаж (imgb (:,,, 3))));

Энэ бол эрчмийн шалгалт юм. Үүнийг дараагийн сегментэд юу хийхийг хүсч байгаагаа шийдэхэд ашиглах болно.

хэрэв улаан> g && red> b if pathcolor == 1 imgc = imcrop (img, [0 30 512 354]) R = ocr (img) бол R. Words {1} == IMAGE || R. Words {2} == ЗУРАГ || R. Words {3} == IMAGE t = цаг; basename = sprintf ('\ img_%d_%d_%d_%d_%d.png', t (1), t (2), t (3), t (4), t (5)); хавтас = 'E: / UTK / Classes / fall 18 / ef230 / irobot / images'; fullFileName = fullfile (хавтас, үндсэн нэр); imwrite (img, fullFileName) түр зогсоох (2) өөр тохиолдолд R. Words {1} == ЗӨВ || R. Words {2} == ЗӨВ || R. Words {3} == ЗӨВ r.turnAngle (-75) өөр тохиолдолд R. Words {1} == ЗҮҮН || R. Words {2} == ЗҮҮН || R. Words {3} == LEFT r.turnAngle (75) өөр тохиолдолд R. Words {1} == БУЦАХ || R. Words {2} == БУЦАХ || R. Words {3} == BACK r.turnAngle (110) төгсгөл өөр r.turnAngle (110) төгсгөл төгсгөл

Энэ сегмент нь эхний харилцах цонхонд сонгосон өнгө нь камер харж буй өнгөтэй тохирч байгаа эсэхийг шийддэг. Хэрэв тийм бол энэ нь текст таних функцийг ажиллуулдаг. Энэ нь ямар дүрс (IMAGE, BACK, RIGHT or LEFT) гарч ирэхийг харах бөгөөд дараа нь эргэх (баруун, зүүн тийш), эргэн тойрон эргэх (нуруугаараа) эсвэл зургийг авч, өмнөх шигээ хадгалах болно.

Би өөр өөр өнгөний кодын ганц хэсгийг л өгсөн

Кодыг цэнхэр, ногоон өнгөөр танихыг зөвшөөрөхийн тулд кодыг хуулж, сегментийн дээд хэсэгт байрлах логик шалгалтыг өөрчилж, "pathcolor == (тоо)" -ыг дээд харилцах цонхноос өнгөний сонголттой нийцүүлэхээр тохируулна уу. кодыг харуулбал цэнхэр 2, ногоон 3 байх болно).

Алхам 8: Бэлэн бүтээгдэхүүн

Бэлэн бүтээгдэхүүн
Бэлэн бүтээгдэхүүн

Одоо Робо-техникч Ангараг гаригийн зорилтот модулийг томруулж, ямар нэгэн зүйл байхгүй бол сансрын нисгэгчдэд тайлагнах ёстой.

Клифф мэдрэгч ба lightBamper -ийн бүх утгыг таны ажиглаж буй утга болгон өөрчлөх шаардлагатай гэдгийг санаарай. Түүнчлэн, туршлагаасаа харахад энэхүү төслийг хар өнгийн шалан дээр туршиж үзэх нь илүү дээр байсан бөгөөд хэрэв шал нь тусгалгүй байвал илүү дээр юм. Энэ нь зам ба шалны хоорондох ялгаатай байдлыг нэмэгдүүлдэг бөгөөд ингэснээр Робот техникч үүнийг зөв дагах магадлал өндөр байдаг.

Ангараг гаригийн даалгаварт бяцхан туслах ажиллуулж, барилга байгууламжийг хөгжилтэй өнгөрөөсөн нь танд таалагдсан гэж найдаж байна.

Зөвлөмж болгож буй: