Mundarija:
- 1 -qadam: komponentlar
- 2 -qadam: Har bir komponent uchun ishlatiladi
- 3 -qadam: Dizayn
- 4 -qadam: o'yin strategiyasi
- 5 -qadam: Dasturlash
Video: Arduino Sumo roboti: 5 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
Boshlashdan oldin.
Sumo roboti nima?
Bu o'ziga xos o'lchovlar va xususiyatlarga ega bo'lgan o'z-o'zini boshqaradigan robotlar, shuningdek, boshqa robotlar bilan musobaqalarda va musobaqalarda qatnashish uchun mos keladigan dushman shakllarda yaratilgan.
"Sumo" nomi qadimgi yapon sportidan kelib chiqqan bo'lib, u ikkita raqib bilan ringda jang qiladi, ularning har biri boshqa raqibini itarib yuborishga harakat qiladi va robotlar sumo robototexnika musobaqalarida ham shunday qilishlari kerak. robotlar ringga joylashtirilgan va bir -birlari raqibini itarib yuborishga urinishgan.
Fikr:
Muayyan texnik xususiyatlarga ega bo'lgan robotni yarating va bu raqobat qonunlariga mos kelsin (Sumo), bu robot hech qanday tarzda ringdan chiqib ketmaslik uchun kurashish va omon qolish uchun aniq o'lchamlarga ega bo'lishi kerak.
Keling, Sumo robotlarining raqobat qonunlarini ko'rib chiqaylik:
Men o'z SUMO -ni tuzishda e'tiborga olish kerak bo'lgan ba'zi muhim rollarni tushuntirib beraman, bu sizga o'z g'oyangizni chuqur tafsilotlargacha kiritmasdan tasavvur qilish va yangilashga yordam beradi.
1. Olchamlari: Maksimal kengligi 20 sm, Maksimal uzunligi 20 sm, Balandligi ko'rsatilmagan.
2. Shakl: robotning shakli poyga boshlanganidan keyin o'zgarishi mumkin, lekin ajralmas qismlarsiz bitta markaziy ob'ekt bo'lib qoladi.
3. Og'irligi: 3 kg dan oshmaydi.
4. Robot o'zini o'zi boshqarishi kerak.
1 -qadam: komponentlar
1 Arduino Ano3
2 shahar dvigateli
Arduino uchun 1 L298N ikki tomonlama ko'prik
1 Ultrasonik sensor
2 ta IR TCRT5000
1 batareya 9v
AA batareyasi 4 * 1,5 v dona + Batareya uyi
4 ta robot g'ildiraklari
o'tish simlari
2 -qadam: Har bir komponent uchun ishlatiladi
Endi bizda kerakli komponentlar bor, shuning uchun nima uchun ishlatilishini bilib olaylik..
1- Arduino Ano3
Bu barcha qismlarni boshqaradigan va uni bir -biriga bog'laydigan asosiy taxta
2- shahar dvigateli
Bu robotga manevr qilish va Raqobat doirasi ichida harakatlanishiga yordam beradi
4- Arduino uchun L298N dual H ko'prigi
Bu dvigatellarga doimiy kuchlanishni ta'minlaydigan, shuningdek, harakat va kuchlanishni yaxshi boshqaradigan Arduino plastinkasini qo'llab -quvvatlaydigan kichik panel.
5- Ultrasonik sensor
Ultrasonik sensor raqib robotining joylashishini aniqlash uchun ishlatiladi va odatda robotning yuqori qismiga joylashtiriladi.
6- IR TCRT5000
Yuqorida aytib o'tganimizdek, tanlov o'lchami ma'lum hajmda yaratilgan va u ikkita rangga ega, to'ldirish qora va ramka oq. Tanlov ishtirokchisi tashqariga chiqmasligi kerak. Shuning uchun biz robotni ringdan tashqariga chiqmasligiga ishonch hosil qilish uchun IQ sensoridan foydalanamiz. Bu sensor halqaning ranglarini farqlash qobiliyatiga ega).
7- Batareya 9v
U asosiy platani (Arduino) muhim kuchlanish bilan qo'llab -quvvatlaydi.
8- AA batareyasi 4 * 1,5 v dona + Batareya uyi
U ikkita dvigatelni (shahar motorini) muhim kuchlanish bilan qo'llab -quvvatlaydi va g'ildiraklar uchun to'liq kuch berish uchun uni ajratish kerak.
9- o'tish simlari
3 -qadam: Dizayn
Men Google 3D sketch-up yordamida ikkita sumo robotining konstruktsiyasini yaratdim, chunki men lazer to'sarda akril qismlarini kesishdan oldin robotlarning qog'oz modellarini yaratishni yaxshi ko'raman. Barcha qismlar bir -biriga to'g'ri joylashishini tekshirish uchun qog'oz modellari chizmalarning aniq hajmida chop etilishi muhim.
Va men raqobat qonunlarini aniq o'lchashni hisobga olaman, shuning uchun yanada ijodiy dizaynda o'ylashga va o'z modelingizni qilishga harakat qiling.
Robotning og'irligiga sezgir bo'lish uchun yoki batareyani robotning old qismiga 45 daraja burchak ostida joylashtiring.
1 -dizaynni bu erdan yuklab oling
Dizayn 2 ni bu erdan yuklab oling
Siz shuningdek qog'oz namunasi shablonini yuklab olishingiz mumkin
PDF faylini Adobe Acrobat Reader bilan oching (tavsiya etilgan dasturiy ta'minot)
4 -qadam: o'yin strategiyasi
Yuqorida aytib o'tganimizdek, robot o'zini o'zi boshqarish qobiliyatiga ega bo'lishi kerak, shuning uchun u bizga robotni har xil raqiblar kabi ringda qanday o'ynashini xohlashingizga qarab, uni bir necha usulda dasturlash imkoniyatini beradi. haqiqiy o'yinda g'alaba qozonishni xohlayman.
O'yin strategiyasi (1):
· Biz robotni doimiy ravishda o'z atrofida aylantiramiz.
· Robot har doim aylanish paytida masofani doimiy ravishda o'lchab turadi.
· Agar o'lchangan raqib masofasi (masalan, 10 sm) pastroq bo'lsa, demak, raqib to'g'ridan -to'g'ri robot oldida.
· Robot aylanishni to'xtatishi va keyin hujumni boshlashi kerak (tezlik bilan oldinga siljish).
· Robot biz chegara chegarasini kesib o'tmaganimizga ishonch hosil qilish uchun har doim IQ sensorlaridan o'qishni olishi kerak.
· Agar IQ oq rangda bo'lsa, u robotni to'g'ridan -to'g'ri sensorning teskari yo'nalishi bo'yicha harakatlantirishi kerak (masalan: Agar robotning oq rangini ko'rsatuvchi oldingi sensor orqaga qarab harakat qilsa)!
O'yin strategiyasi (2):
· Ishga tushganda, robot oldingi masofani o'lchaydi.
· Robot bir xil o'lchangan masofani orqaga qaytaradi.
· Robot aylanishni to'xtatadi va keyin to'satdan hujum qila boshlaydi (to'liq kuch bilan oldinga siljish).
· Agar raqib qo'shilsa, robot 45 daraja burilishi kerak, halqadan yiqilib tushganda esa omon qoladi.
· Robot biz chegara chegarasini kesib o'tmaganimizga ishonch hosil qilish uchun har doim IR sensorlaridan o'qishni olishi kerak.
· Agar oq rangli IR borligini o'qigan bo'lsangiz, u robotni to'g'ridan -to'g'ri sensorning teskari yo'nalishi bo'yicha harakatlantirishi kerak (masalan: agar robotning oq rangini ko'rsatuvchi oldingi sensor orqaga qarab harakat qilsa)!
5 -qadam: Dasturlash
Iltimos, sxemani va kodni tekshiring
* Yangilanish 26.03.2019
Ultrasonik kutubxonani avval bu erdan yuklab oling va o'rnating:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
Muallif: Ahmad Azouz
www.instructables.com/id/How-to-Make-Ardu…
Libni avval shu erdan yuklab oling
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#Ultrasonik.h kiriting
Ultrasonik ultratovush (4, 3);
const int IN1 = 5;
const int IN2 = 6; const int IN3 = 9; const int IN4 = 10; #IR_sensor_front A0 // old sensori #IR_sensor_back A1 // orqa senson int masofasini aniqlang;
bo'sh o'rnatish ()
{Serial.begin (9600); kechikish (5000); // sumo moslik rollari bo'yicha} void loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); masofa = ultrasonik.read (); Aylantirish (200); // rotete boshlang, agar (masofa <20) {Stop (); while (masofa 650 || IR_back> 650) {tanaffus;} kechikish (10); } if (IR_front <650) // <650 oq chiziqni bildiradi {Stop (); kechikish (50); Orqaga (255); kechikish (500); } if (IR_back <650) // {Stop (); kechikish (50); Oldinga (255); kechikish (500); } /* ----------- disk raskadrovka ---------------- Serial.print (ultratovushli Rangni o'zgartirish (CM)); Serial.println ("sm"); Serial.println ("IR front:"); Serial.println (IR_front); Serial.println ("IR orqaga:"); Serial.println (IR_back); */
} //--------------------------------------------
void FORWARD (int Speed) {// Biz Dvigatelning oldinga siljishiga ruxsat bermoqchi bo'lsak, // bu qismni pastadir qismida bekor qiling. analogWrite (IN1, Tezlik); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, Tezlik); } // -------------------------------------------- bekor BACKWARD (int Speed) {// Biz Dvigatelning oldinga siljishiga ruxsat bermoqchi bo'lsak, // bu qismni pastadir qismida bekor qiling. analogWrite (IN1, 0); analogWrite (IN2, Tezlik); analogWrite (IN3, Tezlik); analogWrite (IN4, 0); } // -------------------------------------------- bekor aylantirish (int Speed) {// Biz motorning aylanishiga ruxsat bermoqchi bo'lsak, // bu qismni pastadir qismida bekor qiling. analogWrite (IN1, Tezlik); analogWrite (IN2, 0); analogWrite (IN3, Tezlik); analogWrite (IN4, 0); } // -------------------------------------------- bekor bekor () {// Dvigatel to'xtashini xohlaganimizda, // bu qismni pastadir bo'limida bekor qiling. analogWrite (IN1, 0); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, 0); }
Tavsiya:
Arduino robotining 5 tasi 1 - Meni kuzatib boring - Keyingi qator - Sumo - Chizma - To'siqlardan qochish: 6 qadam
Arduino robotining 5 tasi 1 | Meni kuzatib boring | Keyingi qator | Sumo | Chizma | To'siqlardan qochish: Bu robot boshqaruv panelida ATmega328P mikrokontroller va L293D dvigatel drayveri mavjud. Albatta, bu Arduino Uno taxtasidan farq qilmaydi, lekin u foydaliroq, chunki dvigatelni boshqarish uchun boshqa qalqon kerak emas! Bu sakrashdan ozod
Mini-sumo boti: 9 qadam
Mini-sumo boti: Sumo boti nima? Bu loyiha sumo robototexnika musobaqalari uslubidan ilhomlangan, buning misolini bu erda topish mumkin. Qora halqaga ikkita bot qo'yilgan, oq chegarasi bor, uning maqsadi - boshqa botni avtonom tarzda yiqitish
Chang ko'taruvchi (Sumo Bot): 4 qadam
Dust Ruffler (Sumo Bot): asboblar va materiallar ro'yxati Dust Ruffler qurilishida ishlatiladigan asboblar va materiallar juda sodda va sotib olish oson. Elektronika: Batareya to'plami, doimiy aylanadigan yuqori torkli servo (x3), qabul qilgich va masofadan boshqarish pulti. 3x2 'ko'pikli yadroli x-a
Arduino 3D bosma sumo bot: 6 qadam
Arduino 3D bosma sumo bot: Shunday qilib, mening uyim atrofida bir nechta qismlar yotardi. Men bir necha oy ichida bo'ladigan sumo musobaqasida qatnashmoqchi edim, lekin menda bot yo'q edi. Bot sotib olish yoki mavjud dizayndan foydalanishning o'rniga, men uchun kerakli narsalarni sotib olishim kerak edi
ARDUINO HDD SUMO ROBOT: 10 qadam (rasmlar bilan)
ARDUINO HDD SUMO ROBOT: Bu Arduino bilan ishlaydigan sumo ROBOTini yaratish uchun eski qattiq diskdan foydalanish bo'yicha ko'rsatmalar