2012/04/30

Роботоор хөл бөмбөг тоглох: байршил олох


Эхлэл нь: Роботоор хөл бөмбөг тоглох: Бөмбөг таних

Сарын өмнө Германы Магдебюрг хотод Robocup German Open гэж тэмцээн болов. Гурван удаа тоглож гурван удаа хожигдоод тойргоосоо ч гарсангүй :) Нэлээд туршлага суув. Түрүүлсэн баг гэхэд л хорь, гуч гаруй хүнтэй, харин манайх дөрвүүлээ, хамгийн бага хүнтэй баг байлаа. Дараа жил гайгүй тоглохыг хичээнэ ээ...

За энэ удаа робот өөрийгөө хөл бөмбөгийн талбай дээр хаана байгааг яаж олох тухай бичье. Хавтгай дээр 2 цэгийн координат мэдэгдэж байвал 3 дахь цэгийн координатыг олохыг triangulation гэдэг.  Робот харагдаж байгаа хаалга, торгуулийн талбай, булангийн координатыг ашиглаад tringulation хийж өөрийн байгаа байршлаа тодорхойлж болно. Энэ бол хамгийн амархан арга. Гэхдээ амьдрал дээр найдвартай ажиллахгүй. Камераас ирж байгаа зургаас computer vision хаалга, цагаан зураас гэх мэт объектуудын координат олоход робот хөдлөхгүй байлаа ч signal noise-оос болоод координат нь үргэлж ийш тийшээ тодорхой хэмжээгээр үсчинэ. Заримдаа тухайн орчны гэрлээс ч болоод юм уу хайж байгаа объект яаг урд нь байсан ч computer vision заримдаа тухайн объектыг олдоггүй. Эсвэл юу ч байхгүй газар гэнэт худлаа объект олно. German Open дээр зохион байгуулагч нар заримдаа мини банзалтай хүүхнүүдийг хөөж явуулаад байлаа. Учир нь роботууд шалдан гуяа шилбийг шар хаалгатай андуураад гоол хийх гэж оролдоод байв :) Иймэрхүү зүйлсээс болоод triangulation амьдрал дээр ашиглагддаггүй.

Нэгэнт computer vision-оос 100% найдвартай мэдээлэл ирдэггүй тул магадлалын онол ашиглах хэрэгтэй болдог. Нэг ёсондоо хаалга яаг энэ координатад байна гэх биш харин хаалга тийм координатад ийм магадлалтай байх боломжтой шүү гэсэн мэдээлэл ирнэ. Үүнээс хамаараад роботын байршил бас тодорхой магадлалтай гарна. Зүүн доод буланд байх магадлал 50%, баруун дээд буланд байх магадлал нь 50% гэх мэт. Ер нь роботын ихэнх онол магадлалын онол дээр суурилсан байдаг. Жишээ нь роботыг чанх урагшаа 1 метр урагшаа яав гэж тушаахад робот тухайн араа шүдний элэгдэл гэх мэт эсэн бус зүйлсээс хамаараад дандаа хажуу тийшээгээ далийна, бас 1 метрээс илүү дутуу явна. Энэ бүхэнд магадлалын онол ашиглана.

Магадлалын онол ашиглаж роботын байршил тогтоох хэд хэдэн арга бий. Тэр дундаас хамгийн амархан бөгөөд найдвартай ажилдаг нь particle filter. Ажиллах зарчим нь тун хялбар. Эхлээд талбай дээгүүр тодорхой тооны (1000 ширхэг ч юм уу) тоосонцор (particle гэдгийг ингэж бүдүүлэг орчуулав) санамсаргүйгээр жигд тараана. Тоосонцор болгон роботын байж болох байрлалыг заана, олон ширхэгтэй болох тусам байршлыг яваандаа нарийн тодорхойлно.

Туршилт хийх гэж өөртөө нэг жижигхэн simulation бичсэн юм. Тэрэн дээрээ particle filter-ийг тайлбарлаад явъя. Доорх зураг дээр simulation эхлэхээс өмнө 500 ширхэг тоосонцор жигд тараасан байгаа байдал:

Дээрх зураг дээрх тас хар цагираг simulation болох гэж байгаа роботыг дүрсэлнэ. Энэ роботоос гарсан хоёр улаан зураас камерын харах өнцгийг үзүүлнэ. Энэ өнцөг дотор харагдсан хаалганы шонгуудын координатыг normal distribution-ы тусламжтайгаар signal noise-той болгоно. Үүгээрээ нөгөө computer vision-оос ирж байгаа мэдээлэл ийш тийшээ үсчдэгийг загварчилна. Роботын хөдөлгөөнийг бас normal distribution-аар загварчилсан. 90 градус эргэ гэхэд яаг 90 эргэхгүй оронд нь 95 ч юм уу 87 градус эргэх гэх мэт.

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

Магадлал бодсоныхоо дараа тоосонцруудаасаа яаг ижилхэн тооны тоосонцрууд сонгож авна. Энэ үйлдлийг resampling гэдэг. Ингэж сонгохдоо магадлал ихтэй тоосонцрыг сонгож авах боломж өндөр, мөн олон удаа сонгож авч болно. Магадлал багатай тоосонцруудыг цөөхөн сонгоно. Нэг ёсондоо аяндаа л роботын жинхэнэ байршилтай төстэй тоосонцрууд амьд хоцроод бусад тоосонцрууд сонгогдохгүй устаад алга болно гэсэн үг. Гэхдээ нийт тоосонцрын тоо үргэлж тогтмол байна.

Доорх зураг  зөвхөн нэг шон харж байгаа тохиолдолд тоосонцрууд хэрхэн хуваагдсаныг харуулав. Өөрийн болон өрсөлдөгчдийн хаалга гэж ялгахгүй байгаа тул тоосонцрууд талбай дээр хоёр хуваагдсан байна. Тоосонцруудаас роботын байршлыг олохдоо тоосонцруудын дундаж координатыг бодно. Доорх тохиолдолд бүх тоосонцроо хоёр хэсэгт хуваагаад тус бүрд нь дунджийг нь бодно. Тэгээд тэр хоёр координатаа роботын байршил болгож ашиглана.
Робот хөдлөх болгонд бүх тоосонцруудыг бас адилхан хөдөлгөнө. Гэхдээ нөгөө магадлалынхаа онолыг ашиглана. Робот урагшаа 1 метр явахад тоосонцруудын заримыг нь 1.1 метр, заримыг нь 0.9 метр хөдөлгөнө. Заримыг нь баруун тийшээ эсвэл зүүн тийшээ хазайлгана. Тэгэхээр аяндаа тоосонцрууд салж сарниад эхэлнэ. Ер нь бол сенсороос мэдээлэл ирэхэд тоосонцрууд хоорондоо бөөгнөрөөд, хөдлөх болгонд салж сарнидаг. Доорх зураг өмнөх зураг дээр байгаа робот дээшээгээ хэсэг хугацаанд ямар ч шон харахгүй явахад тоосонцрууд хэрхэн салж сарниж байгааг үзүүлж байна:
Хялбарчлаад тайлбарлавал particle filter гэж нэг иймэрхүү. Үүнийг өнөөдөр robocup-ын багууд, жолоочгүй автомашин гэх мэт роботын бүх салбарт роботын байршил тогтооход ашиглаж байна.

Танд хэрвээ сонирхолтой санагдсан бол дээрх дэлгэцийн агшнууд хийхэд ашигласан simulation программыг маань эндээс татаж аваад туршиж үзээрэй.

2012/04/27

Мангаа үндэслэв



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

Monstera хэмээх энэ ургамалыг анх харахад сүрдмээр, бас monster буюу мангаа гэдэгтэй адилхан сонсогддог болохоор би үүнийг "мангаа" гэдэг юм. Нүүлгэлцэж өгч байхдаа нэг хэсгийг нь тайрах болоход нь би авч тарьж үзье гэснээр энэ блогийг бичих шалтгаан гарч байгаа нь энэ билээ.


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



Гэвч нөхөр интернэт дээр хайж судалж мэдсэн зүйлээ намайг суулгаж байх үед зөвлөж ингэж хэлсэн юм: Эдгээр нь агааржуулагч хоолой биш, хүмүүс л тэгж нэрлээд байдаг болохоос биш үндсэн үүрэг нь газар олж ус сорох гэж хайж доошоогоо унжиж ургадаг. Тийм болохоор үндэслүүлэх гэж байгаа ус руугаа дүрчих. Яадагийг нь харъя. Навчны тэр том том нүхнүүд нь бол ердөө л өөрт нь далдлагдсан навчиндаа гэрэл нэвтрүүлэх гэж нүхтэй ургадаг юм байна гээд л ...


Байгаль үнэхээр гайхамшигтай зохицолдлогоотой юм даа. Би ч хэлсэнээр нь бүгдгийг нь устай хувинд дүрээд тавиад хэд хоносон нь дараах зурагт харуулав.




За тэгээд л үнэхээр тэр нь агаар сордог биш, газар хайж ургадаг нь зурган дээрээс харагдаж байгаа биз? Гайхамшигтай. Ингээд л баярлаад хоёр гурав долоо хоног болоод байсан чинь нөгөө ус нь үнэр ороод, булингартаад эхэлдэг юм байна. Нөхөр өрөөний хажуугаар орж ирж харсанаа. Пөөх үнэртэж байна. Усыг нь солих хэрэгтэй, хэрэв ингэж ялзрах юм бол наадах чинь тэр чигтээ хэрэггүй болно гэвээ. Хэхэ, ус солино гэж ерөөсөө толгойд орж ирээгүй юм байна. Бас яагаад ч юм энэ хоёр мөчир нь анх жаахан сэргэж өндийж байснаа буцаад доошоо гудайгаад байсныг нь тэгэхэд ойлгов. Усыг нь долоо хоногт нэг удаа бүрэн солиод хоёр долоо хоног орчим болоход л мөчир нь бүр босоод ирдэг байгаа. Бас нөгөө үндэснүүд нь бүр багсайгаад эхэлвээ. Ургамал хүртэл өөрт нь шаардагдах нөхцлийг нь бүрдүүлэхээр өндийгөөд ирэхийг нь харахаар их сонин сэтгэгдэл төрдөг юм байна лээ. Мангас тэжээж байгаа юм хойно хэхэ.




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




Гэтэл миний магнай хамар хоёрын дунд байдаг хоёр цэхэр маань бас нэг юм олж харлаа шүү. Олимпын хоёр найдварын нэгнийх нь зах нь шарлаж эхэлсэн бөгөөд нөгөө нь харин ногооноороо байгаад байсан тул "Олимпын ганц найдвар" болж өөрчлөгдөв. Тэгсэн чинь миний ам хамар хоёрын дээхэн талд байдаг өнөөх хоёр цэхэр чинь бас нэг юм олж харлаа. Олимпын найдварын нурууг нь угнаас дагуулаад цагаан зураас татаж хэд хонож байсан нь сүүлдээ зурган дээр харагдаж байгаа эрвээхэйн авгайлдархуу шиг хумиастай юм болоод ирдэг юмдаа. Ингээд дараах хэд хоногт ажилдаа орж ирэнгүүтээ л нөгөөхөө харж шалгадаг дон тусваа. Өдөр болгон шахуу өнөөх нь томорч өндийсөөр зурган дээрх шиг харь гаригийн амьтны хамарнаас гарсан антенн шиг юм болоод өндийчихлөө. Нээрээ мангас тэжээж байгаагаа мартчихсан байна шүү дээ хэхэ.






За таминь ээ тэгсэн чинь өнөөх миний эрүү зулай хоёрын дундах эд юмсыг харж чаддаг өнөөх хоёр цэхэр чинь бас нэг юм олж хараваа. Тав дахь өдөр нь л гозойчихсон байсан мангасын антенн чинь нэг дэх өдөр өглөө ороод ирсэн чинь пал хийтэл малийсан юм "Аавааа..." гээд байж байдаг байгаа. Иййй...




Дараах хоёр зураг бол нэг нь долоо хоногийн дараа, өнөөх нь дэлгэрсэнээс хойш хоёр долоо хоногийн дараах байдал. Залуу хүүхдийг "чи ч ногооноороо байна даа" гэдэг дээ. Мангасын энэ жижиг хүү ч бас ногооноороо байгаа биз? хэхэ. Долоо долоо хоногоор л өнгө нь ахмад навч шигээ өтгөрч ирж байгаа нь анзаарагдсан юм.





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





Би амьдралдаа ерөөсөө мангас тэжээж байгаагүй юм байна. Цэцэг ч тарьж үзээгүй болохоор мангас үржүүлнэ гэж санаанд ч багтдаггүй байв. Одоо бол жаахан дөртэй болж байх шиг. Долоо хоногтоо нэг л ус өгнө. Өглөө ирэнгүүтээ гар шүршүүрээр навчнуудыг нь усаар шүршинэ. Ингээд л болоо. Мангас юм чинь цадаж ханахаа мэдэхгүй алж өгөх юм байх гэсэн чинь арай өөр юмаа.


За нэг иймэрхүү. Энэ блог миний урьд өмнө бичиж байсан IT блогноос хамгийн онцгой технoлогитой нь байсан байхөө :)

2012/04/16

Усгүй талд цусгүй тулаан

Ийм тулаанд би бол хамгийн түрүүнд л чад хийх нөхөр. Тэгээд ч сонирхолын журмаар худлаа үнэн үзнээ бас. Ингээд өнгөрсөн зун нагац ахтайгаа нэг нүүдэг юм болов. Ахын дэлгэсэн шатрын хөлөг нь тал шиг том зузаан шир, бод хүүнүүд нь сөөм хэрийн өндөр, жижиг шатар гөлийж сурсан надад Гулеверийн аялалд гардаг үлэмж биетний хэсэг санаанд ордог байгаа. Дасах гэж хэсэг л сандардаг юм байна. Ингээд л хааяа хааяа нэг тийм шатрын хөлөг тааралдвал авах юм шүү гэж бодсоор өдий хүрчээ. Тэгж яваад санамсаргүй нэг өдөр интернэт дээр шатрын хөлөг олов. Үнэ ч гэж дээшээгээ өндөөр юм. Хамгийн хямд тэмцээний стандартад зориулсан нь 22 евроноос эхлээд л дээшээ талийжээ. За дүрснүүдийг нь модоор хийсэн бол нэг өөр, хуванцар бол бас нэг өөр үнээр гээд ерөнхийдөө бүгдийг нь хамгийн хямдаар тооцвол тээврийн зардалтайгаа нийлээд тавь орчим евро болж байх юм. Тэгээд гэнэт нэг тэнэг бодол орж ирлээ: "өөрөө хийчихэе л дээ".

Онолын хэсэг

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

Тэмцээний шатрын хэмжээ

Ердийн тэмцээний шатрын хөлгийн дөрвөлжин 5 аас 6.5 хүртэлх см ийн хэмжээтэй байж болдог юм байна. Ноёны өндөр 8.5 аас 10.5 хүртэл байж болно.

Улсын аваргын шатрын хэмжээ

Модон хөлөг байх ёстой. Хөлгийн дөрвөлжин 5.8 см байна. Ноёны өндөр 9.5 см байх ёстой бөгөөд дүрснүүд Стаунтон хэлбэртэй байх ёстой.

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

Оролдлого - 1

Mahagony (монгол нэрийг нь олсонгүй), Maple гэсэн мод өнгө оруулагч лак авав. 50x50 см-н хулдаас аваад тэрэндээ дөрвөлжин нүхнүүд ухаж аваад тэр нүхээрээ өнгө оруулаад байвал яадаг юм гэж бодов. Тэгээд цаасан дээр эх бэлтгэл хийж туршлаа. Гэвч энэ аргаар хийх юм бол нэг өнгийн 32 нүхийг хоёр удаа будах шаардлагатай. Нийтдээ дөрвөн удаагийн будалт хийж байгаа юм. Будах тоолондоо хатахыг нь хүлээх юм бол бас удах шинжтэй. Тэрнээс гадна өнгө оруулагч лак энэ нүхэнд таарсан зураас шигээр нарийн түрхэгдэхгүй тархаж уусах шинжтэй юм гэнэ. Ингээд энэ дурлал бүтсэнгүй.

Оролдого - 2

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

Оролдоогүй оролдлого - 3

Мебелний хуулга байдаг юм байна. Яг тэр хоёр модны өнгөтэй хуулганууд бас байх юм. 45 Х 200 см ийн тийм хуулга 6.50 евро гэж байх юм. хайчлаад л дөрвөлжин модон дээрээ наах юм бол болох байх л даа. Гэхдээ би өмнөх оролдлогуудад зориулж хүнээс хөрөө зээлж, шинээр будаг авчихсан байсан болохоор ийм амархан болчихно гэхээр нэг л гомдолтой санагдаад байв. Хүүхэд хуруугаараа хуулчихвал яана гэж шууд сул тал хайж олов. Гэхдээ дээрээс нь лакдчихвал ч болох л байх л даа. Нарийн хайчилж чадаа ч уу үгүй ч уу, тэр болгоныг нь хуулгыг нь авч наах гэж төвөг гэх мэтчилэн ёстой дургүйд хүчгүй тайлбарууд урсгаж байгаад энэ оролдлогыг оролдсонгүй ээ хэхэ.

Шинэчлэл: яг энэ аргаар хийх зааврыг нөхөр явуулав.

Оролдсон оролдлого - 3

Ингээд жаахан интернэт дээр сэлгүүцэж байгаад нэг хуудас олов. Энийг хийнээ. Энэ заавар дээрх шиг модтой харьцах нарийн багажнууд байхгүй болохоор панердахаар шийдэв. 50 х 50 см ийн хэмжээтэй 4 мм-н зузаантай панер 2 евро 60 цент гэхээр нь хоёрыг авчихлаа. Нэгийг нь 55 х 55 мм ийн хэмжээтэйгээр жижиглэж хөрөөдөв. Хөрөөдсөнийхөө дараа өнгө оруулагч лакаар өнгөлөв. Өнөөх дөрвөлжин дээрээ өрж наав. Санасныг бодоход аятайхан болж байнаа. Дүрснүүдийг нь анхандаа өөрөө хийчихэе гэж бодсон ч эхлээд нь ямар юм байдгийг нь үзэх гээд бас хямд болохоор нь хуванцараар хийсэн дүрснүүдийг арваад евро гэхээр нь авчихлаа. Тэгээд өрж байгаад хүүгээ түлхсэн чинь доод зөөлрүүлэгчтэй нь зууралдаад олигтой гулгадаггүй. Дахиад хоёр давхар өнгөггүй лакаар будаж дуусгалаа. Хийж байх зуураа жаахан юм юмнаас төсөөрсөнөө мэдэж авсан ч юм юм сурж авсандаа би лав баяртай байв. Нэгдүгээрт: Зориулалтын багажгүй бол үнэхээр явдаггүй юм байна. Хоёрдугаарт панер гэсэн сонголт буруу юм байна. Панер өнгө оруулах үед норохоороо хотойх юмуу гүдийдэг юм байна. Дээрээс нь юм овоолж цаг болж байж тэгширсэн л дээ хэхэ. Хөрөөдөж жижиглэхээсээ өмнө өнгө оруулах ёстой байж гэх мэтчилэн алдаандаа анализ хийлээ хэхэ.

Оролдох ёстой оролдлого - 4

Ингээд хийсэн зургаа таньдаг хүндээ гайхуулж үзүүлээд ийм ийм багаж байхгүй болохоор модоор хийж чадсангүй гэж хэлсэн чинь - "надад тэр багажнууд чинь байгаа, хэрэгтэй бол авч хэрэглээрэй" гэдэг юм даа. Тэгэхээр нь дэлгүүрт байгаа модны үнэ харсан чинь хоёр метр мод 80 сент гэж байна. Нэг евронд багтааж хийх оролдлого байгаа л юм байна… :)

ШИНЭЧЛЭЛ: Бусад хүмүүсийн оролдлого

Сэтгэгдэл дээр өөрөө оролдож хийсэн Аниагийн бичлэгийг уншаад энэ хэсгийг нэмэрлэв. Хэрэв уншигч авхай нараас өөрөө хийж чадсан бол зургаа энэ хаягаар илгээвэл энд тавьж харуулъя. Мод хөрөөтэй, эсвэл хайч хутгатай харьцаж байгаагүй бол болгоомжтой байхад илүүдэхгүй шүү :)