Ishlab chiqarish vazifalarida robotlarni boshqarish tizimi

|
Ishlab chiqarish vazifalarida robotlarni boshqarish tizimi
|
bet | 146/182 | Sana | 19.05.2024 | Hajmi | 5,69 Mb. | | #244351 |
Bog'liq Python sun\'iy intellekt texnologiyasi Dasrlik 2024Ishlab chiqarish vazifalarida robotlarni boshqarish tizimi:
Tavsif: yig’ish yoki qadoqlash kabi vazifalarni bajarish uchun ishlab chiqarish korxonasida robotlarning harakatini avtomatik ravishda boshqaradigan tizimni ishlab chiqish.
Amalga oshirish: robot vazifalarini aniqlash va bajarish uchun harakatni rejalashtirish, mashinali o‘qitish va kompyuterni ko‘rish algoritmlaridan foydalanish.
Ushbu misollar sun’iy intellektdan foydalangan holda avtomatik boshqaruv tizimlarining turli xil qo‘llanilishini ko‘rsatadi. Amalga oshirish har bir loyihaning o‘ziga xos talablari va xususiyatlariga bog’liq.
Python-da sun’iy intellekt yordamida avtomatik boshqarish va qaror qabul qilish tizimlarini yaratishning ikkita amaliy misolini ko‘rib chiqaylik.
1-misol: xona haroratini avtomatik boshqarish
Vazifa: xona haroratini avtomatik boshqarish uchun sun’iy intellektdan foydalanadigan tizimni ishlab chiqish.
import random
class HVACSystem:
def __init__(self):
self.temperature = 25 # Dastlabki harorat
self.target_temperature = 22 # Kerakli harorat
def measure_temperature(self):# Simulyatsiya qilingan haroratni o‘lchash
self.temperature += random.uniform(-1, 1)
def control_temperature(self):# Sun’iy intellekt yordamida oddiy boshqaruv algoritmi
if self.temperature < self.target_temperature - 1:
print("Isitishni yoqing ")
elif self.temperature > self.target_temperature + 1:
print("Konditsionerni yoqing ")
else:
print("Harorat normal ")# Biz avtomatik haroratni boshqarish tizimidan foydalanamiz
hvac_system = HVACSystem()
for _ in range(10):
hvac_system.measure_temperature()
hvac_system.control_temperature()
2-misol: mashinali o‘qitish yordamida yoritishni avtomatik boshqarish
Vazifa: mashinani o‘rganishga asoslangan avtomatik yoritishni boshqarish tizimini ishlab chiqish.
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
class LightingControlSystem:
def __init__(self): # Ma’lumotlarni simulyatsiya qilish: kunning vaqti (soat ichida) va yorug’lik holati (0-o‘chirilgan, 1-yoqilgan)
self.data = [(6, 0), (8, 1), (12, 1), (18, 1), (22, 0)]
def train_lighting_model(self):# Ma’lumotlarni belgilarga (kun vaqti) va maqsadli o‘zgaruvchiga (yorug’lik holati)bo‘lish
features, labels = zip(*self.data)
# Ta’lim va test ma’lumotlar to‘plamiga bo‘linish
features_train, features_test, labels_train, labels_test = train_test_split(features, labels, test_size=0.2, random_state=42)
# Tasodifiy o‘rmon modelini yaratish va o‘qitish
model = RandomForestClassifier()
model.fit([[hour] for hour in features_train], labels_train)
return model
def automatic_lighting_control(self, current_hour, trained_model):
# Joriy vaqt va o‘qitilgan model asosida yoritish holatini bashorat qilish
predicted_status = trained_model.predict([[current_hour]])[0]
# Prognozga muvofiq yoritishni boshqarish
if predicted_status == 1:
print(f" Yoritishni yoqing, chunki joriy vaqt:{current_hour}")
else:
print(f" Yoritishni o‘chiring, chunki joriy vaqt:
{current_hour}")# Biz yoritishni boshqarish tizimidan foydalanamiz
lighting_system = LightingControlSystem()
# Mavjud ma’lumotlar asosida modelni o‘rgatish
trained_lighting_model = lighting_system.train_lighting_model()
# Joriy vaqtni taqlid qilish (soat ichida)
current_time = 10 # Avtomatik boshqaruv tizimidan foydalaning
lighting_system.automatic_lighting_control(current_time, trained_lighting_model)
Ushbu misollar turli kontekstlarda avtomatik boshqaruv tizimlarini yaratish uchun sun’iy intellekt va mashinali o‘qitish usullaridan qanday foydalanish mumkinligini ko‘rsatadi. Biroq, haqiqiy loyihalar muammoning o‘ziga xos xususiyatlariga qarab yanada murakkab modellar va algoritmlarni talab qilishi mumkin.
Avtomatik boshqaruv tizimlarida jismoniy qurilmalar bilan integratsiya ko‘pincha turli kontrollerlar, sensorlar va aktuatorlar bilan o‘zaro aloqani o‘z ichiga oladi. Rpi kutubxonasidan foydalanish misoli.Raspberry Pi-da GPIO bilan ishlash uchun GPIO quyida keltirilgan:
import RPi.GPIO as GPIO
import time # PIN raqamlash rejimini sozlash (BCM - Broadcom SOC channel)
GPIO.setmode(GPIO.BCM) # PIN-kodni chiqish uchun sozlash(bu holda PIN 18)
GPIO.setup(18, GPIO.OUT) # Orqa tarafdagi qurilmani (bu holda, LED) yoqish 18
GPIO.output(18, GPIO.HIGH)
print("Qurilma yoqilgan ") # 2 soniya pauza qiling
time.sleep(2) # Qurilmani o‘chirish
GPIO.output(18, GPIO.LOW)
print("Qurilma o‘chirilgan ") # PIN sozlamalarini tozalash
GPIO.cleanup()
Ushbu kod rpi kutubxonasidan foydalanishni namoyish etadi.Raspberry Pi-da GPIO-ni boshqarish uchun GPIO. Ushbu misolda PIN 18 PIN sifatida o‘rnatiladi, LED yoqiladi, keyin pauza bo‘ladi va LED o‘chadi. Nihoyat, GPIO chaqiriladi.foydalanishdan keyin resurslarni bo‘shatish uchun cleanup().
Bu oddiy misol va haqiqiy loyihalarda siz harorat, bosim sezgichlari, motorlar va boshqa aktuatorlar kabi turli xil qurilmalar bilan o‘zaro aloqada bo‘lishingiz mumkin. Qurilmaga qarab, maxsus kutubxonalar yoki drayverlar talab qilinishi mumkin.
Optimallashtirish algoritmlari ularning ishlashini optimallashtirish uchun avtomatik boshqaruv tizimlarining parametrlarini sozlash uchun ishlatiladi. Quyida ushbu kontekstda optimallashtirish algoritmlarini qo‘llashning umumiy tavsifi keltirilgan:
Tavsif:
Avtomatik boshqaruv tizimlarida optimallashtirish algoritmlarini qo‘llash ishlash, barqarorlik yoki boshqa mezonlar kabi maqsadli funktsiyani minimallashtirish yoki maksimal darajada oshirish uchun optimal parametr qiymatlarini (masalan, Pid kontroller koeffitsientlari) topishga qaratilgan.
|
| |