Robototexnikada dasturlash



Yüklə 32,58 Kb.
tarix30.12.2023
ölçüsü32,58 Kb.
#167278
2-mustaqil ish


OʻZBEKISTON RESPUBLIKASI OLIY TA’LIM, FAN VA
INNOVATSIYALAR VAZIRLIGI
MIRZO ULUGʻBEK NOMIDAGI OʻZBEKISTON MILLIY
UNIVERSITETINING JIZZAX FILIALI





AMALIY MATEMATIKA FAKULTETI


«KOMPYUTER ILMLARI VA DASTURLASHTIRISH» kafedrasi

ROBOTOTEXNIKADA DASTURLASH ” FANIDAN




MUSTAQIL ISH

Mavzu: Robototexnikada ultratovushli datchiklarni boshqaruvchi dasturiy ta’minotni ishlab chiqish


Bajardi: “Kompyuter ilmlari va dasturlash texnologiyalari” yoʻnalishi
3-kurs 10/21-guruh talabasi Yarlayev Dostonbek
Tekshirdi: Jomurodov Dustmurod
Jizzax – 2023
Mavzu: Robototexnikada ultratovushli datchiklarni boshqaruvchi dasturiy ta’minotni ishlab chiqish
Reja:

  1. Robot texnikasi va ultratovushli sensorlar asoslarini o‘rganish.

  2. Platforma va dasturlash tilini tanlash.

  3. Loyihani rejalashtirish , Kutubxonalar va vositalarni o'rganish.

“Robot” so‘zi birinchi marotaba 1920-yilda chex yozuvchisi K. Chapekning “RUR” (Rossum universal robotlari) pesasida ishlatilgan. Robot tushunchasi keng doiradagi turli sistemalar va qurilmalar bilan bog‘liq. Robotning turli xil avtomatik sistemalar va qurilmalardan asosiy farqi, unda odam harakatlariga o‘xshash harakatlar qila oladigan organning ya’ni mexanik qo‘l (manipulyatorlar) ning borligi va u yordamida robot tashqi muhitga ta’sir qilish imkoniyati borligidir. Robot odam o‘rniga turli xil manipulyatsiyalarni qila oladigan mashina – avtomatdir. Robototexnika asoslari, robotlikda yoki avtomatlashtirilgan tizimlarda ishlashning asosiy muammo va masalalarini hal qilishga yo'naltirilgan ilmiy fan va amaliy kasblarni o'z ichiga olgan soha hisoblanadi. Robototexnika asoslari quyidagilardan iborat bo'lishi mumkin:


1. Mekanika: Robotlarni fizikaviy va mekanik xususiyatlari bilan bog'liq masalalarni hal qilishda mekanika asoslari juda muhimdir. Bu, konstruksiyalar, borik va masofaviy modellar, kuchliq ta'siri, simmetriya va buyuklikning muhimligini o'rganishni o'z ichiga olishni o'z ichiga oladi.


2. Elektronika: Robotlar elektronik qurilmalar, oltita, framplar, sensorlar, avtomatik boshqaruv tizimlari va hatto mikrokontrollerlar yordamida ishlaydi. Elektronika asoslari, robotning istalgan turdagi qurilmaviy komponentlarini, ishlab chiqish qurilmasini va qurilishini o'rganishga yordam beradi.


3. Muhandislik: Robototexnika sohasidagi muhhandislik asoslari, qurilmaviy dizayn va inshootlar, asboblarni o'rnashgan modellash va ishlab chiqarish, ish o'rinlari tartiblash, maslahatlar berish va turli xil yechim topish usullarini o'rganishni o'z ichiga oladi.


4. Algoritmlar va Dasturlash: Robototexnikaga algoritmik hamda dasturlash asoslari juda muhimdir. Algoritmik soha, qurilmaviy uslublarni, qo'llaniladigan mulkni, zarur rivojlanmalar va qo'llanma ishtirokchilarning o'rnini va ish rejalarini o'rganishda foydalaniladi. Dasturlash, robotning iborasi va boshqarishida dasturlarni yaratish va ulardan foydalangan holda muhim vazifalarni bajarishga yordam beradi.


5. Sensortexnologiya: Sensortlar, robotning murojaatlari yoki yaxlitlik o'lchashlari orqali xavfsiz ishini kuzatib borish uchun kerakli ma'lumotlarni olishda o'rniga ishlatiladi. Sensorlar, muloqot qurilmasi orqali axborotlarni o'qib olish, uchuvchi yoki tovushni aniqlash va bir qator o'z vaqtida hakamlangan holatlarni tahlil qilishga imkon beradi.


6. Sun'iy Intellekt (SI): Sun'iy intellekt, o'z o'zini jarayonlarda tahlillaydigan va nasosli ishlaydigan tizimlarni uchun zarur bo'lgan texnikalar va usullarni o'rganishni o'z ichiga oladi. SI, robotlar uchun yuqori darajada hamda odamlarga oxshash ma'lumot ishlash qobiliyatini beradi.


Bu asoslar birgalikda robototexnika sohasidagi boshqa ilmiy fan va amaliy kasblarni tashkil etadi. Robotik texnologiyalar, avtomatik boshqaruvning yanada kengayishi bilan birga, kasblar uchun yengiliti oshiruvchi texnik muammolar, muhito yaxshi tahlilga erishish, iste'molchining emotsional, ma'naviy manzaralarni tushunishiga imkon berish, bir umda tashkilotlarning foydalanishga mo'ljallangan.

Ultratovushli masofa datchigi- To‘siq datchigiga nisbatan murakkabroq, lekin aniqroq ishlaydigan sensor bu ultratovushli masofa datchigi hisoblanadi. U ultratovush to‘lqinini chiqaradi va qaytgan signalni qabul qiladi, masofa signalning to‘siqqacha tarqalishidan orqaga qaytishigacha vaqti bilan aniqlanadi. Bunday holda, sensorning aniqligi bir necha millimetrga teng. Biroq, masofani aniqlash uchun biroz vaqt kerak bo‘ladi, uni robot harakatsiz o‘tkazishi kerak.


Ultratovushli masofa datchigi, obyektlarning yuzaga (uzunlikning o'lchashi) bo'lgan masofalarini o'lchovchi qurilma, boshqacha deyilgan adabiyotlarda ultrasonik misol qilib keltirilgan. Masofa datchiklari o'rnatilgan birlashma, sounder, sensor yoki ovoz kirituvchilar nomlari bilan ham atalishadi. Ultrasonik masofa datchiklari, obyektlardan ovoz dalgasini yuborasiz ovoz dalgalari orqali masofani o'lchaydigan texnologiyani qo'llaydi. Datchikdan o'zgarib keladigan ovoz dalgalari ishoralar ro'yhati orqali datchikning ichidagi prosessorni ishga tushiriladi va obyektga bo'lgan masofa hisoblanadi. Datchikning ovozning tezligini bilganligi mumkin bo'lgan uch eskiylashda doppler effekti qo'llaniladi. Ultratovushli masofa datchiklari har bir sohadagi turli xildagi datchiklar uchun kirish maksimal ovoz tezligi, to'xtatish va tekshirish tezligi, tarkibiy vositalar va boshqa ma'lumotlar boyicha farq qiladi. Ulardan foydalanishning ko'pgina tavsiyalaridan ba'zilari quyidagilardir:


1. Masofani o'lchashdan oldin datchikni operatsiyon rejimiga soxtalab, ichidagi elektronik komponentlarning isitilmasini oldini olishingiz mumkin.
2. Datchikdan o'zgarib kelgan ovozlar endilikda oldin amplifikatsiyalanadi. Masofani to'g'ri o'lchamoqchilarsa, bu narsa kuchayishi kerak.
3. Oyoqlangan temirli rag'batlar so'nggi dastinga asoslangan datchiklar uchun maqbul bo'lganlari kabi qo'llaniladi.
4. Masofani eng yaxshi natijalarni olish uchun, datchik yuqori tezlikda sinchronlashtirilgan ichki taktilar (tamrinlar, bo'lalar) bilan biriktirilmalidir.
5. Umumiy qoidaliklarga qaraydiganligiz, datchikning kuchli o'zgaruvchanligi va sinchronlashtiruvchilarini qo'llashingiz katta talalangan.
Bu ma'lumotlarga asosan, ultratovushli masofa datchigi obyektlarning masofalarini o'lchash va monitoring qilishga yordam beradi. Ovoz sohatini oshirish, o'ziga xos bir ishora kursatib, ma'lumotlar qayd etish va ulardan foydalanishning ko'pgina soharalar borligi ma'lum.
Arduino Uno mashhur mikrokontroller platasidir. Bu kengash Arduino platformasining eng keng tarqalgan va asosiy platalaridan biridir. Arduino Uno ATMega328P mikrokontrolleridan foydalanadi va raqamli va analogli kirish / chiqish pinlari to'plamiga ega. Arduino Uno oddiy elektronika loyihalaridan tortib murakkabroq robototexnika va avtomatlashtirish loyihalarigacha bo'lgan turli ilovalarda qo'llanilishi mumkin. Funktsional va foydalanuvchi uchun qulay mikrokontroller kartasi bo'lgani uchun u keng tarqalgan.
Arduino Uno xususiyatlariga quyidagilar kiradi:
- 14 raqamli kirish / chiqish pinlari (ulardan 6 tasi PWM sifatida ishlatilishi mumkin)
- 6 ta analog kirish pinlari
- 16 MGts kristall osilator
- USB port
- ICSP sarlavhasi (In-Circuit Serial Programming)
- Qayta tiklash tugmasi
- Quvvat portlari (5V va GND)
- Vin kiritish (7-12V oralig'ida)
- Arduino dasturlash interfeysiga ega va uni Arduino IDE bilan osongina dasturlash mumkin. Arduino Uno-ni Arduino dasturlash tilidan foydalangan holda oddiy C++ asosidagi til texnikasi bilan dasturlash mumkin. Arduino IDE (Integrated Development Environment) yordamida Arduino loyihalarini ishlab chiqish va dasturiy ta'minotni Arduino Uno-ga yuklash mumkin. Arduino Uno turli sensorlar, displeylar, motorlar, o'rni va boshqa komponentlar bilan ishlatilishi mumkin. Arduino Uno katta Arduino hamjamiyatiga ega bo'lgani uchun siz resurslarga, namuna kodlariga va loyihalaringiz uchun yordamga osongina kirishingiz mumkin. Arduino Uno - bu elektronika va dasturlashni boshlaganlar uchun ideal tanlovdir, chunki uni ishlatish oson va tez o'rganiladi. Loyihalarni ishlab chiqish, o'rganish va ijodingizni erkinlashtirish uchun Arduino Uno-ni tanlashingiz mumkin.

Robototexnikada qo‘llaniladigan dasturlash tillarining qisqacha tavsifi Robototexnika muayyan vazifalar va platformalarga qarab turli xil dasturlash tillaridan foydalanadi. Quyida robototexnikada ishlatiladigan eng keng tarqalgan dasturlash tillari ro‘yxati keltirilgan:


1. Python: Python soddaligi va kutubxonalarning boy ekotizimi tufayli robototexnikada juda mashhur. ROS (Robot Operating System) va ma'lum robotlarni boshqarish kutubxonalari (masalan, Raspberry Pi va Arduino) kabi kutubxonalar ko‘pincha Python-dan foydalanadilar.
2. C/C++: C va C++ o‘rnatilgan dasturiy ta'minotni ishlab chiqish va robotlarning apparat qismini boshqarish uchun ishlatiladi. Ular apparat resurslariga quyi darajali kirishni ta'minlaydi va drayverlar va kontrollerlarni yozish uchun ishlatilishi mumkin.
3. Java: Java ko‘pincha robototexnikada, ayniqsa mobil robotlar va dronlar sohasida qo‘llaniladi. Bu sizga Java-ning Robot Operating System (ROS) kabi kutubxonalar yordamida platformalararo dasturlarni yaratish va robotlarni boshqarish imkonini beradi.
4. JavaScript: JavaScript brauzerlar orqali robotlarni boshqarish uchun foydalanuvchi interfeyslari va veb-ilovalarni ishlab chiqish uchun ishlatiladi. Bundan tashqari, IoT (buyum Interneti) muhitida ishlaydigan robotlarni dasturlash uchun ham foydalanish mumkin.
5. Blockly: Bu Scratch va LEGO Mindstorms kabi ta'limiy robot platformalarida keng qo‘llaniladigan vizual dasturlash tili. Uning yordamida bolalar va yangi boshlovchilar matnli dasturlash tajribasiga ega bo‘lmasdan robotlarni dasturlashlari mumkin.
6. LabVIEW: LabVIEW-bu muhandislik va ilmiy ilovalarda, shu jumladan robototexnika va avtomatlashtirishda ishlatiladigan yuqori darajali dasturlash tili hisoblanadi. U ko‘pincha robotlar uchun vizual interfeyslar va kontrollerlarni yaratish uchun ishlatiladi.
7. Rapid: Rapid-bu ABB robotlari uchun mo‘ljallangan dasturlash tili. U ABB sanoat robotlarini dasturlash uchun ishlatiladi va ularni boshqarish uchun kuchli vositalarni taqdim etadi.
8. Lua: Lua robototexnikada, ayniqsa robot va dronlarni boshqarish tizimlari kontekstida qo‘llaniladi. U yengil va o‘rnatilgan tizimlarga mos keladi. Dasturlash tilini tanlash loyihaning o‘ziga xos talablariga, robot turiga va siz erishmoqchi bo‘lgan maqsadlarga bog‘liq. Ba'zi robototexnika platformalari, shuningdek, ma'lum dasturlash tillari uchun maxsus ishlab chiqarish muhiti va kutubxonalarni taqdim etishi mumkin. Robot gapiradigan til (o‘yinchoq, robot changyutgich yoki tibbiy asbobuskunalar muhim emas) – bu mashina kodi, ikkilik tizimdagi belgilar to‘plami. U murakkab va inson uchun tuchunarsiz. Unda dastur yozish, ya’ni robot hatti harakatini kiritish mantiqsiz. Shu sababli robot va inson o‘rtasidagi aloqa quyidagi sxema bo‘yicha yuz beradi:
C/C++ C yuqori darajali tillarda yozish va quyi darajali tillarni boshqarish qulayligini birlashtiradi. Boshqa ko‘plab tillardan yaxshiroq mashina kodiga tarjima qilingan, ammo murakkab sintaksisga ega va xatolarni kechirmaydi. Hatto yangi kodning bitta noto‘g‘ri qatori allaqachon mavjud dasturlarning ishlashini buzishi mumkin. Aytgancha, universal robot tilidagi dasturlar (qisqartirilgan GRL – Generic Robot Language) C kabi buyruq tillarida tuziladi. Yuqori darajali C++ dasturlashning boshlang‘ich bosqichida murakkab, lekin Siz uni o‘zlashtirsangiz, u holda undan deyarli istalgan masalalarda foydalanishingiz mumkin. C++ quyidalar uchun qo‘llaniladi: • dasturiy ta’minotni ishlab chiqish; • operatsion tizimlar, turli dasturlar, qurilma drayverlarini yaratish uchun; • o‘rnatilgan tizimlarda, yuqori samaradorlikka ega serverlarda, o‘yinlarda ilovalarni amalga oshirish uchun. “Robix” da C++ dasturlash tilida to‘ldirishlar bilan dasturlanadigan Arduino platasi qo‘llaniladi. Shu sababli mazkur tizim o‘rganuvchilari robototexnika mashg‘ulotlarida C++ da mantiqiy dasturlash bilan ham shug‘ullanishadi.

#include


#define TRIGGER_PIN 10


#define ECHO_PIN 11
#define MAX_DISTANCE 200

NewPing ultrasonic(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);


void setup() {


Serial.begin(9600);
}

void loop() {


delay(500);

unsigned int distance = ultrasonic.ping_cm();


Serial.print("Masofa: ");
Serial.print(distance);
Serial.println(" cm");
}

Bu dasturda NewPing kutubxonasidan foydalaniladi, ulardan Arduino platformalarda ultratovushli masofa datchigini ishlatish uchun yordam olinadi.


Dastur setup funksiyasi orqali Serial kommunikatsiyasini boshqarib, monitor yoki Serial Monitor orqali chiqarish oynasiga ma'lumotlar yoziladi.
loop funksiyasi ichida ultrasonic.ping_cm() funktsiyasi yordamida masofa o'lchab olinadi. Ulgacha to'xtab xar hulosa Serial monitorida chiqariladi.
Yüklə 32,58 Kb.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə