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

Хокинг Бот: 5 алхам
Хокинг Бот: 5 алхам

Видео: Хокинг Бот: 5 алхам

Видео: Хокинг Бот: 5 алхам
Видео: Трансформеры 5, первое знакомство(русская озвучка) 2024, Долдугаар сарын
Anonim
Image
Image
Хокинг Ботоо бүтээгээрэй
Хокинг Ботоо бүтээгээрэй

Hawking Bot бол талийгаач Стивен Хокингоос санаа авсан Lego MINDSTORMS EV3 төсөл юм. Стивен Хокинг хошин шогийн мэдрэмж сайтай байсан тул энэ төслийг батлах байсан гэдэгт итгэлтэй байна. Хокинг Бот саад бэрхшээлийг даван туулж, хөдөлгөөнд хариу үйлдэл үзүүлж, дараа нь Стивен Хокингийн алдартай дууны нэгийг хэлж, хөдөлж буй объектын чиглэлд хөдөлж чадна. Энэ нь хэт авиан мэдрэгчийг ашигладаг бөгөөд толгойгоо шүүрдэх замаар хүрээлэн буй орчноо сканнерддаг.

Алхам 1: Хокинг ботоо бүтээгээрэй

Шаардлагатай бүх хэсгүүдийг тусад нь худалдаж авах шаардлагатай хэт авианы мэдрэгч (түүний нүд) -ээс бусад EV3 Lego MINDSTORMS үндсэн багцад оруулсан болно.

Алхам 2:

Зураг
Зураг

Hawking Bot -ийн кодыг бүгдийг нь python 3 дээр бичсэн болно. Hawking Bot дээр Debian Linux орчинд python ажиллуулах зориулалттай ачаалагдах зургийн файлыг ev3dev вэбсайтаас татаж авах боломжтой. Hawking Bot -ийг ажиллуулах кодыг эндээс татаж авах боломжтой. Бүх код нь ангийн файл дотор байдаг тул та одоо байгаа аргуудыг ашиглах эсвэл хүсвэл өөрчлөх боломжтой.

Энэ видеог үзээд робот дээрээ Debian Linux болон Python3 -ийг хэрхэн тохируулах талаар дэлгэрэнгүй зааврыг үзээрэй. Хэдийгээр энэ нь Mac -ийн тохиргоонд зориулагдсан боловч үйл явцын талаар ерөнхий ойлголт авахад тустай хэвээр байх болно. Энэ бол хийгдэж буй ажил. Хэт авианы мэдрэгч нь заримдаа найдваргүй байдаг тул "гадуур" илрүүлэхийн тулд илүү ухаалаг код шаарддаг. Кодыг илүү үр ашигтай, алдаа гаргах магадлал багатай болгохын тулд бусад хүмүүсийн оруулсан хувь нэмрийг харахыг хүсч байна.

Алхам 3: Hawking -ийг өөрийн гараар хий

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

Танд дуртай дуу чимээгээ сонгох, таслахын тулд олон платформ дээр ажилладаг Audacity гэх мэт програм хэрэгтэй.

Дуу чимээгээ wav моно файл хэлбэрээр SH6, SH7,… SH11, SH12 гэх мэтээр хадгалаарай.

Дээрх аргын дагуу миний бүтээсэн хэдэн дээжийг доороос олж болно.

Алхам 4: Зөвлөмж ба заль мэх

Зөвөлгөө болон заль
Зөвөлгөө болон заль
Зөвөлгөө болон заль
Зөвөлгөө болон заль

Hawking Bot нь бүх кабелийг холбосон, батерейны хүчин чадлыг хангахын тулд өөрөө шалгах модулийг дагалддаг. Сул, алга болсон эсвэл бүр эвдэрсэн холболт амархан үүсч болно. Тиймээс энэ модуль нь маш ашигтай юм. 'CheckConnection' арга нь зөвхөн цахилгаан холболт байгаа эсэхийг шалгадаг. Та моторыг зөв порт руу холбосон эсэхийг шалгах ёстой.

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

Hawking Bot нь том саад бэрхшээлтэй, хавтгай, гөлгөр гадаргуу дээр хамгийн сайн ажилладаг. Хивс нь моторын хувьд илүү төвөгтэй тул та өөр өөр гадаргуугийн зан байдлыг тохируулахын тулд тохиргоогоо өөрчлөх шаардлагатай болж магадгүй юм.

Хокинг Бот бол төгс төгөлдөр зүйл биш бөгөөд энэ нь цаашдын сайжруулалтаас ашиг хүртэх загвар юм. Кодыг бүрэн тайлбарласан бөгөөд янз бүрийн аргууд юу хийж байгааг ойлгоход хялбар байх ёстой. Төрөл бүрийн битүүдийг # гэж тайлбарласан болно, хэрэв та "хэвлэх" -ийн урд байгаа # тэмдгийг устгавал ажиллаж буй програм нь мэдрэгчийн янз бүрийн уншилт, тооцоог харуулах болно.

Алхам 5: Санал болгож буй сайжруулалт, шинэчлэлт, ирээдүйн санаанууд

Та роботыг амжилттай хийснийхээ дараа түүнийг шинэ түвшинд гаргахыг хүсч байна. Та MotionDetector аргыг сайжруулах боломжтой. Яг одоо ихэнхдээ буруу уншдаг. Та бодит уншилтыг disA болон disB -ийг тайлбарлахгүйгээр харах боломжтой (аргын блокийн доод талд). Буруу унших нь бусад уншилтаас ялгардаг тул та буруу уншсан тохиолдолд роботыг зогсоох алгоритм бичиж болно.

Магадгүй та роботыг бүрэн удирдаж, түүний янз бүрийн функцийг алсаас удирдахыг хүсч магадгүй юм. Та үүнийг Bluetooth ашиглан хийж, роботтой харилцах Андройд програм бичиж болно. Гэсэн хэдий ч хэт ягаан туяаны мэдрэгчийг Hawking Bot -ийг удирдах газар олох нь илүү хялбар арга юм.

Роботыг хүрээлэн буй орчныхоо талаар сургахад яах вэ? Үүнийг хамгийн ойрын хөршийн хандлага эсвэл мэдрэлийн сүлжээгээр хийж болно. EV3 тоосго нь Numpy -ийг дэмждэг боловч боловсруулах хүчин чадал хязгаарлагдмал байдаг. Өөр сонголт бол BrickPi байж болох бөгөөд энэ нь танд Tensorflow гэх мэт хиймэл оюун ухааны номын сан ажиллуулах боломжийг олгодог боловч энэхүү гарын авлагын зорилго нь хэт авианы мэдрэгчээс бусад олон үнэтэй нэмэлт эд ангиудыг худалдаж авахгүйгээр Lego EV3 MINDSTORMS хэрэгслийг ашиглах явдал юм.

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

Hawkings Bot -ийн арматурын сургалт

Энэхүү санаа нь USS -ийн 7 уншилтыг вектор болгон кодлодог бөгөөд сүүлийн 10 толгой эргэлтийг 70 оролтын дараалсан вектор үүсгэхэд ашигладаг. Эхний уншлага бүрэн бус байгаа тул тэгээр бөглөх болно. Оролт бүр нь USS -ээс зайны утгыг агуулдаг. Энэ бол улсын вектор юм. Систем нь 1000 бичлэг оруулахыг зөвшөөрдөг. Үүний дараа хамгийн эртний оруулгыг сольж, s-r хос бүрийн насны бичлэгийг нэгээр бууруулна.

Бот нь объект руу 10 см -ээс ойртох ёсгүй. Энэ нь сөрөг урамшууллыг бий болгодог. Энгийн байдлын хувьд; сайн үйлдлийг 1-ээр, мууг нь 0-ээр шагнадаг. Үр дүнтэйгээр энэ нь үйлдэл-төлөв байдлын хослол бүрийн шагналын магадлалыг бий болгодог. Бид хөнгөлөлттэй шагнал, epsilon шунахай бодлогыг ашиглах болно.

Энэ нь баруун, урагш, зүүн гэсэн гурван үйлдэлд урамшуулал (s-r) гэсэн 3 том төлөвийг бий болгодог-үйлдэл бүрт хурдан, удаан хурдтай байх боломжтой байж магадгүй юм. Дараа нь бидэнд 6 үйлдэл, 6 хайлтын s-r хүснэгт байх болно.

Шинэ төлөв бүртгэгдэх бүрт үүнийг хүснэгтүүдтэй харьцуулж үзээд хамгийн ойр хөршөө олохын тулд Евклидийн зайг (эсвэл үүнтэй төстэй хэмжигдэхүүнийг) ашигладаг. Энэ нь эрэмблэгдэхгүй, харин мужийг маш төстэй гэж хүлээн зөвшөөрч, одоо байгаа төлөвийг дарж, хамгийн өндөр шагналыг шинэчилж, холбогдох үйлдлийг гүйцэтгэх босго t -ийг тогтоосон болно. Хэрэв энэ нь ижил биш бол (d> t) a үйлдэл бүрт шинэ s-r хос оруулна уу. Хэрэв s-r-ийн үйл ажиллагааны хооронд уялдаа холбоо байгаа бол (бүгд ижил шагналтай) санамсаргүй байдлаар сонгоно уу, гэхдээ энэ нь түгээмэл биш бөгөөд үүнийг орхигдуулж болно.

t -ийг туршилтаар тодорхойлох шаардлагатай болно, хэрэв t нь хэтэрхий жижиг бол ижил төстэй төлөв байдлыг үл тоомсорлож, муж бүрийг өвөрмөц гэж үзнэ. Хэт том гэдэг нь бүр өөр өөр мужуудыг нэгтгэж, сайн үйлдлийг сонгоход нөлөөлнө гэсэн үг юм. Хамгийн сайн t -ийг тодорхойлохын тулд статистикийн аргыг ашиглах боломжтой байж магадгүй юм.

Хүснэгт дараах байдлаар харагдаж байна.

Бодит хэрэгжилт нь хэцүү байх болно гэж би бодож байна, гэхдээ энэ нь хүчин чармайлт гаргах ёстой. Амжилт хүсье!

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