Mundarija:

Xoking bot: 5 qadam
Xoking bot: 5 qadam

Video: Xoking bot: 5 qadam

Video: Xoking bot: 5 qadam
Video: GTA 5 Megalodon Attack Titanic Movie (Titanic Sinking and Underwater Scene) GTA 5 Mods 2024, Iyul
Anonim
Image
Image
Xoking botini yarating
Xoking botini yarating

Hawking Bot - bu marhum Stiven Xokingdan ilhomlangan Lego MINDSTORMS EV3 loyihasi. Stiven Xoking yaxshi hazil tuyg'usiga ega edi, shuning uchun men ishonamanki, u bu loyihani ma'qullagan bo'lardi. Xoking Boti to'siqlarni aylanib o'tishi va harakatlarga javob berishi mumkin, keyin Stiven Xokingning mashhur tovushlarini aytadi va harakatlanuvchi ob'ekt tomon harakat qiladi. U ultratovushli sensordan foydalanadi, u atrof -muhitni boshini silliq siljitadi.

1 -qadam: Xoking botini yarating

Barcha kerakli qismlar alohida EV3 Lego MINDSTORMS -da joylashgan bo'lib, ular alohida sotib olinishi kerak bo'lgan ultrasonik sensordan (ko'zlari) tashqari.

2 -qadam:

Rasm
Rasm

Hawking Bot kodi hamma python 3 da yozilgan. Xoking Botida Debian Linux muhitida pythonni ishga tushirish uchun yuklanadigan rasmli faylni ev3dev veb -saytidan yuklab olish mumkin. Hawking Bot -ni ishga tushirish kodini bu erdan yuklab olish mumkin. Barcha kodlar sinf faylida mavjud, shuning uchun siz mavjud usullardan foydalanishingiz yoki xohlasangiz ularni o'zgartirishingiz mumkin.

Iltimos, ushbu videoni robotingizda Debian Linux va Python3 ni sozlash bo'yicha batafsil ko'rsatmalar bilan tomosha qiling. Garchi bu Mac -ni sozlash uchun mo'ljallangan bo'lsa -da, jarayon haqida umumiy tushuncha olish foydali bo'ladi. Bu davom etayotgan ish. Ultrasonik sensori ba'zida ishonchsiz bo'ladi va buning uchun "tashqaridan" aniqlash uchun aqlli kod kerak bo'ladi. Kodni yanada samaraliroq va xatolarga kamroq moyil qilish uchun boshqalarning hissalarini ko'rishni xohlayman.

3 -qadam: Xokingga o'z ovozingizni ayting

OK, endi siz professor Xokingdan mashhur iqtiboslar yoki oddiy iboralarni olishni xohlaysiz. Siz uning nutqini eshitishingiz mumkin bo'lgan juda ko'p videolar bor, keyin uning ma'ruzalari hikmat va foydali ovozli lahzalar xazinasi.

Sizga Audacity kabi dastur kerak, u sevimli platformalaringizni tanlash va kesish uchun ko'plab platformalarda ishlaydi.

Soundbite -ni wav mono fayl sifatida SH6, SH7,… SH11, SH12 va boshqalar kabi saqlang.

Quyida men yuqorida ko'rsatilgan usul bo'yicha yaratgan bir nechta namunalarni topasiz.

4 -qadam: Maslahatlar va fokuslar

Maslahatlar va fokuslar
Maslahatlar va fokuslar
Maslahatlar va fokuslar
Maslahatlar va fokuslar

Hawking Bot barcha kabellar ulanganligini va batareya quvvati etarli ekanligini tekshirish uchun o'z-o'zini tekshirish moduli bilan birga keladi. Bo'shashgan, yo'qolgan yoki hatto shikastlangan ulanishlar osonlikcha paydo bo'lishi mumkin. Shunday qilib, ushbu modul juda foydali. "CheckConnection" usuli faqat elektr aloqasi mavjudligini tekshiradi. Dvigatellar to'g'ri portga ulanganligiga ishonch hosil qilishingiz kerak.

Boshni aylantirish harakati Xoking Boti uchun erni skanerlashi va oldimizda eng uzun to'siqsiz yo'lni topish uchun juda zarur. Kabellar bosh harakatlarini moslashtirish uchun etarli bo'sh joyga muhtoj; shuning uchun ularni rasmda ko'rsatilgandek bog'lash maqsadga muvofiqdir.

Hawking Bot katta to'siqlar bilan va tekis va tekis yuzada yaxshi ishlaydi. Gilamlar dvigatellar uchun qiyinroq va siz turli sirtlarning xatti -harakatlarini sozlash uchun sozlamalarni o'zgartirishingiz kerak bo'lishi mumkin.

Hawking Bot hech qachon mukammal emas va bu prototip bo'lib, u yanada takomillashtiriladi. Kod to'liq sharhlangan va sizga turli usullar nima qilishini aniqlash oson bo'lishi kerak. Har xil bitlar # bilan izohlangan, agar siz "chop etish" oldidagi # raqamini olib tashlasangiz, ishlaydigan dastur sizga sensorning har xil o'qishlari va hisoblarini ko'rsatadi.

5 -qadam: Taklif etilgan yaxshilanishlar, yangilanishlar va kelajak g'oyalari

Endi siz robotni muvaffaqiyatli qurganingizdan so'ng, uni keyingi bosqichga olib chiqmoqchisiz. Siz MotionDetector usulini yaxshilashingiz mumkin. Hozirda ko'pincha noto'g'ri o'qish bo'ladi. Haqiqiy o'qishni disA va disB (usul blokining pastki qismida) izohlamasdan ko'rish mumkin. Noto'g'ri o'qish odatda boshqa o'qishdan ajralib turadi, shuning uchun siz robotning noto'g'ri o'qishga javob berishini to'xtatish uchun algoritm yozishingiz mumkin.

Ehtimol, siz robotni to'liq boshqarishni va uning turli funktsiyalarini masofadan boshqarishni xohlaysiz. Siz buni Bluetooth orqali qilishingiz va robot bilan bog'lanish uchun Android dasturini yozishingiz mumkin. Biroq, infraqizil sensori uchun Hawking Bot -ni boshqarish uchun joy topish ancha osonroq bo'ladi.

Robotni atrof -muhit bilan tanishtirishga nima deysiz? Bunga eng yaqin qo'shnilar yondashuvi yoki, ehtimol, neyron tarmoq yordamida erishish mumkin. EV3 g'ishtining ishlash qobiliyati cheklangan, lekin u Numpy -ni qo'llab -quvvatlaydi. Boshqa variant BrickPi bo'ladi, bu sizga Tensorflow kabi AI kutubxonasini ishga tushirishga imkon beradi, lekin bu qo'llanmaning maqsadi ultrasonik sensordan boshqa qimmatbaho qo'shimcha qismlarni sotib olmasdan Lego EV3 MINDSTORMS to'plamidan foydalanish edi.

Biroq, yaqin atrofdagi qo'shnilar EV3 g'isht ustida ishlashlari kerak va bu taklif qilingan algoritm. Ishlayotgan ilovani topish yoki muammolarni aniqlashni sizga topshiraman:

Hawkings Bot uchun mustahkamlashni o'rganish

Gap shundaki, USS -ning 7 ko'rsatkichi vektorga kodlangan va oxirgi 10 ta bosh aylanishi 70 ta yozuvli ketma -ket vektorni yaratish uchun ishlatiladi. Birinchi o'qishlar to'liq emas, shuning uchun nol bilan to'ldiriladi. Har bir yozuv USS dan masofa qiymatini o'z ichiga oladi. Bu davlat vektori s. Tizim 1000 ta kirishga ruxsat beradi. Shundan so'ng, eng qadimgi yozuv almashtiriladi va har bir s-r juftligi uchun yosh yozuvlari bittaga kamayadi.

Bot ob'ektga 10 sm dan oshmasligi kerak. Bu salbiy mukofotni keltirib chiqaradi. Oddiylik uchun; yaxshi harakatlar 1 bilan, yomonlar esa 0 bilan mukofotlanadi. Bu har bir harakat-holat kombinatsiyasi uchun mukofot olish ehtimolini yaratadi. Biz chegirmali mukofotlar va epsilon ochko'z siyosatidan foydalanamiz.

Bu uchta harakat uchun o'ng, oldinga va chapga uchta katta davlat-mukofot (s-r) jadvalini yaratadi-har bir harakat uchun tez va sekin tezlik bo'lishi mumkin. Keyin bizda 6 ta harakat va 6 ta s-r jadvallari bo'ladi.

Har safar yangi holat yozilganda, bu jadvallar bilan taqqoslanadi, eng yaqin qo'shnini topish uchun Evklid masofasi (yoki shunga o'xshash o'lchov) ishlatiladi. Bu reytingga kiritilmaydi, balki shtatni juda o'xshash deb qabul qilish, mavjud holatni qayta yozish va eng yuqori mukofot uchun yangilanish va tegishli harakatni bajarish uchun chegara t belgilanadi. Agar u o'xshash bo'lmasa (d> t) a har bir harakat uchun yangi s-r juftini kiriting. Agar s-r uchun harakatlar o'rtasida bog'liqlik bo'lsa (ularning hammasi bir xil mukofotga ega) tasodifiy tanlaydi, lekin bu odatiy emas va uni o'tkazib yuborish mumkin.

Agar t juda kichik bo'lsa, shunga o'xshash holatlar e'tiborga olinmaydi va har bir holat o'ziga xos bo'lib ko'riladi. Juda katta t degani, hatto bir -biriga o'xshamaydigan holatlar birlashtirilib, yaxshi harakatlarni tanlash qobiliyatiga ta'sir qilishi mumkin. Eng yaxshi t ni aniqlash uchun statistik usullardan foydalanish mumkin.

Jadval quyidagicha ko'rinadi: Kirish raqami - Davlat vektori - 1 -harakat uchun mukofot - 2 -harakat uchun mukofot - 3 -harakat uchun mukofot.

O'ylaymanki, amalda amalga oshirish qiyin bo'ladi, lekin kuch sarflash kerak. Omad!

Tavsiya: