PID хянагч ev3 шугамын дагуу хөдөлгөөн.  Lego Mindstorms роботын пропорциональ интеграл дифференциал PID хянагч. Пропорциональ хянагч. Робот удирдах хэл

Энэ даалгавар нь сонгодог, үзэл суртлын хувьд энгийн бөгөөд үүнийг олон удаа шийдэж болно, тэр болгонд та шинэ зүйлийг нээх болно.

Дараах шугамын асуудлыг шийдэх олон арга байдаг. Тэдгээрийн аль нэгийг нь сонгох нь роботын тусгай загвар, мэдрэгчийн тоо, дугуй болон бие биентэйгээ харьцуулахад байршил зэргээс хамаарна.

Бидний жишээн дээр робот сурган хүмүүжүүлэгчийн үндсэн заавар загвар дээр үндэслэн гурван роботын жишээг задлах болно.

Эхлэхийн тулд бид робот сурган хүмүүжүүлэгчийн үндсэн загварыг угсарч, үүний тулд та MINDSTORMS EV3 програм хангамжийн зааврыг ашиглаж болно.

Түүнчлэн, жишээ нь бидэнд EV3 цайвар өнгийн мэдрэгч хэрэгтэй. Эдгээр гэрлийн мэдрэгч нь бусадтай адил бидний ажилд хамгийн тохиромжтой тул тэдэнтэй ажиллахдаа орчны гэрлийн эрчмийн талаар санаа зовох шаардлагагүй болно. Энэхүү мэдрэгчийн хувьд бид мэдрэгчийн улаан гэрлийн туссан гэрлийн хэмжээг тооцдог туссан гэрлийн горимыг програмуудад ашиглах болно. Мэдрэгчийн уншилтын хязгаар нь "тусгалгүй" ба "нийт тусгал" -ын хувьд 0 - 100 нэгж байна.

Жишээлбэл, бид жигд, цайвар дэвсгэр дээр дүрсэлсэн хар замаар шилжих програмын 3 жишээнд дүн шинжилгээ хийх болно.

· Нэг мэдрэгч, P зохицуулагчтай.

· Нэг мэдрэгч, PK зохицуулагчтай.

· Хоёр мэдрэгч.

Жишээ 1. Нэг мэдрэгч, P зохицуулагчтай.

Дизайн

Гэрлийн мэдрэгч нь загварт тохиромжтой байрлалтай цацраг дээр суурилагдсан.


Алгоритм

Алгоритмын ажиллагаа нь хар шугам бүхий мэдрэгчийн гэрэлтүүлгийн цацрагийн давхцлын зэргээс хамааран мэдрэгчийн буцаасан заалтууд нь градиентаар өөр өөр байдагт суурилдаг. Робот нь хар шугамын хил дээр гэрлийн мэдрэгчийн байрлалыг хадгалдаг. Хяналтын систем нь гэрлийн мэдрэгчийн оролтын өгөгдлийг хөрвүүлснээр роботын эргэлтийн хурдны утгыг үүсгэдэг.


Бодит зам дээр мэдрэгч нь бүхэл бүтэн ажлын хүрээнд (0-100) утгыг үүсгэдэг тул роботын оролдох утга нь 50 байна. Энэ тохиолдолд эргэлтийн функцэд дамжуулагдсан утгууд нь мужид үүсдэг. -50 - 50, гэхдээ эдгээр утгууд нь эгц траекторийн эргэлт хийхэд хангалтгүй юм. Тиймээс хүрээг -75 - 75 хүртэл нэг хагас дахин нэмэгдүүлэх хэрэгтэй.

Эцэст нь, програмын хувьд тооцоолуурын функц нь энгийн пропорциональ хянагч юм. хэний үүрэг ( (a-50)*1.5 ) гэрлийн мэдрэгчийн ажиллах мужид графикийн дагуу эргэлтийн утгыг үүсгэдэг.

Алгоритмын жишээ

Жишээ 2. Нэг мэдрэгч, PK хянагчтай.

Энэ жишээг ижил загвар дээр эмхэтгэсэн.

Өмнөх жишээн дээр робот хэт их ганхсан нь хангалттай хурдлах боломжгүй байсныг та анзаарсан байх. Одоо бид энэ байдлыг бага зэрэг сайжруулахыг хичээх болно.

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

Легоконструкцийн үндсэн хөдөлгөөнүүдийн нэг бол хар шугамыг дагах явдал юм.

Програм үүсгэх ерөнхий онол, тодорхой жишээг wroboto.ru сайт дээр тайлбарласан болно

Ялгаатай тул би үүнийг EV3 орчинд хэрхэн хэрэгжүүлэх талаар тайлбарлах болно.

Роботын мэдэх ёстой хамгийн эхний зүйл бол хар, цагаан өнгийн хил дээр байрлах "хамгийн тохиромжтой цэг" -ийн үнэ цэнэ юм.

Зураг дээрх улаан цэгийн байршил нь энэ байрлалтай тохирч байна.

Тооцооллын хамгийн тохиромжтой сонголт бол хар ба цагааны утгыг хэмжиж, арифметик дундажийг авах явдал юм.

Та үүнийг гараар хийж болно. Гэхдээ сул тал нь шууд харагдах болно: богино хугацаанд ч гэсэн гэрэлтүүлэг өөрчлөгдөж, тооцоолсон утга буруу болж хувирна.

Тиймээс та үүнийг роботоор хийлгэж болно.

Туршилтын явцад бид хар, цагаан аль алиныг нь хэмжих шаардлагагүй болохыг олж мэдсэн. Зөвхөн цагаан өнгийг хэмжиж болно. Мөн хамгийн тохиромжтой цэгийн утгыг хар шугамын өргөн, роботын хурд зэргээс хамааран цагааны утгыг 1.2 (1.15)-д хуваана.

Тооцоолсон утгыг дараа нь хандахын тулд хувьсагч руу бичих ёстой.

"Хамгийн тохиромжтой цэг" -ийн тооцоо

Хөдөлгөөнд хамаарах дараагийн параметр бол эргэлтийн харьцаа юм. Энэ нь том байх тусам робот нь гэрэлтүүлгийн өөрчлөлтөд илүү хурдан хариу үйлдэл үзүүлдэг. Гэхдээ хэт өндөр үнэ цэнэ нь роботыг ганхахад хүргэдэг. Утгыг роботын загвар тус бүрээр туршилтаар дангаар нь сонгоно.

Сүүлийн параметр нь моторуудын үндсэн хүч юм. Энэ нь роботын хурдад нөлөөлдөг. Хөдөлгөөний хурд нэмэгдэх нь гэрэлтүүлгийн өөрчлөлтөд роботын хариу үйлдэл үзүүлэх хугацаа нэмэгдэхэд хүргэдэг бөгөөд энэ нь замаасаа гарахад хүргэдэг. Мөн утгыг туршилтаар сонгоно.

Тохиромжтой болгох үүднээс эдгээр параметрүүдийг хувьсагчдад мөн бичиж болно.

Жолооны харьцаа ба үндсэн хүч

Хар шугамын дагуу шилжих логик нь дараах байдалтай байна: хамгийн тохиромжтой цэгээс хазайлтыг хэмждэг. Энэ нь том байх тусам робот түүнд буцаж очихыг хичээх ёстой.

Үүнийг хийхийн тулд бид хоёр тоог тооцоолно - В ба С мотор тус бүрийн чадлын утгыг тус тусад нь тооцно.

Томъёоны хэлбэрээр энэ нь дараах байдалтай байна.

Энд Isens нь гэрлийн мэдрэгчийн заалтуудын утга юм.

Эцэст нь EV3 дахь хэрэгжилт. Тусдаа блок хэлбэрээр гаргах нь хамгийн тохиромжтой.

Алгоритмыг хэрэгжүүлэх

Энэ бол WRO 2015 дунд ангиллын роботод хэрэгжсэн алгоритм юм

Робот техник нь шинэ сонирхолтой чиглэл бөгөөд үүнийг компьютерийн шинжлэх ухаан, технологийн сургуулийн хичээлийн хүрээнд цаашид хөгжүүлэх болно. Роботехникийн өсөлт нь "Бид яагаад програмчлалд суралцдаг вэ?" Гэсэн асуултанд хариулах боломжийг олгодогтой холбоотой юм. Нэмж дурдахад робот техникийн хичээлээр та автомат удирдлагын онолын анхан шатны ойлголтуудтай танилцах боломжтой.

Энэ хуудсанд зохиогчийн боловсруулсан програмчлалын симуляторууд болон Arduino самбаруудыг танилцуулж байна. Тэд ямар нэг шалтгааны улмаас бодит техник хангамж ашиглах боломжгүй тохиолдолд тусалж чадна.

Сургагч багш нар HTML5 функцийг ашигладаг тул зөвхөн орчин үеийн хөтөч дээр ажиллах болно (үүнийг ашиглах нь хамгийн тохиромжтой Гүүгл Кромэсвэл Mozilla Firefox).

Мэдээ одоо Telegram сувагт

2015 оны арваннэгдүгээр сарын 27
Симуляторуудад "үр хөврөлийн" замыг нэмсэн ( М.В. Лазарев, Орехово-Зуево).

2015 оны аравдугаар сарын 13
Одоо LEGO роботын симуляторуудад та өөрийн замуудыг (роботын талбар) байршуулж болно. Үүнийг хэрхэн хийх вэ? Харна уу.
Шинэ симуляторууд нэмэгдсэн - хоёр, гурав, дөрвөн гэрлийн мэдрэгч бүхий LEGO роботууд.

Робот удирдах хэл

Симулятор дахь роботуудыг удирдахын тулд ажлын нэрийг хүлээн авсан энгийн програмчлалын хэлийг ашигладаг SiRoP (Энгийн робот програмчлал).

Гэрэл мэдрэгч бүхий роботын удирдлага

Гэрлийн мэдрэгч нь роботыг ширээний гадаргуу дээр чиглүүлэх, жишээлбэл, цагаан ба хар хэсгүүдийн хоорондох хилийн дагуу (хар шугамын ирмэгийн дагуу) шилжих боломжийг олгодог. Фотодиод нь гадаргууг гэрэлтүүлж, фотодетектор нь туссан туяаг "барьж", түүний эрчмийг хэмждэг.

Энэ төрлийн хамгийн алдартай ажил бол шугамын дагуу хөдөлж байна. Симуляторын тусламжтайгаар та янз бүрийн хяналтын хуулиудыг судлах боломжтой - реле, пропорциональ, тэр ч байтугай PID хяналт (пропорциональ-интеграл-дериватив).

Гэрэл мэдрэгч бүхий роботын програмын жишээ

1 (хэрэв мэдрэгч > 128 ( мотор = 100 мотор = 0 ) бол өөр ( мотор = 0 мотор = 100 ) хүлээнэ (10) )

KP = 0.2 байхад 1 ( u = kP*(мэдрэгч-128) мотор = 50 + u мотор = 50 - u хүлээх(20) )

Үндсэн ( байхад 1 ( байхад мэдрэгч > 128 ( мотор = 100 мотор = 100 хүлээх(10) ) буцах() эргэх() ) ) буцах ( мотор = -100 мотор = -100 хүлээх(260) ) эргэх ( мотор = -50 мотор = 50 хүлээх (50) )

Хоёр гэрлийн мэдрэгч бүхий роботын удирдлага

Хоёр гэрлийн мэдрэгч нь роботыг илүү сайн жолоодож, нимгэн шугамыг дагах боломжийг олгодог. Тэдгээрийг бага зэрэг урагшлуулж, хажуу тийш нь салгана. Нэг мэдрэгчтэй даалгаврын хувьд энэхүү симуляторыг ашиглан та янз бүрийн хяналтын хуулиудыг судлах боломжтой.

Гурван гэрлийн мэдрэгч бүхий роботын жишээ програмууд

Дөрвөн гэрлийн мэдрэгч бүхий роботын удирдлага

Дөрвөн гэрлийн мэдрэгч нь роботыг огцом эргэлтийг илүү сайн илрүүлэх боломжийг олгодог. Дотоод мэдрэгчийг нарийн тохируулахад ашигладаг бөгөөд пропорциональ хяналтыг ашигладаг. Хоёр гадаад мэдрэгчийг бага зэрэг урагш байрлуулж, хажуу тийш нь тусгаарлана. Тэдгээр нь огцом эргэлттэй үед ашиглагддаг. Гаднах хосын мэдрэгчүүдийн уншилтын дагуу хяналтын ашгийн коэффициентийг дотоод хосоос илүү томоор сонгоно (Зураг 2-ыг үз). Л.Ю. Овсяницкая нар, шугамын дагуу Lego Mindstorms EV3 роботын хөдөлгөөний алгоритм ба программууд, М.: "Перо", 2015).

Дөрвөн гэрлийн мэдрэгч бүхий роботын жишээ програмууд

1 ( d0 = кодлогч > 128 d1 = кодлогч > 128 d2 = кодлогч > 128 d3 = кодлогч > 128 бол d1 & !d2 ( мотор = 100 мотор = 0 ) бол! d1 & d2 ( мотор = 0 мотор = 100 ) бол d1 == d2 ( мотор = 100 мотор = 100 ) хэрэв d0 & !d3 ( мотор = 30 мотор = 0 ) хэрэв! d0 & d3 ( мотор = 0 мотор = 30 ) хүлээ (10) )

K1 = 0.2 k2 = 0.4 байхад 1 ( u1 = мэдрэгч - мэдрэгч u2 = мэдрэгч - мэдрэгч мотор = 50+k1*u1+k2*u2 мотор = 50-k1*u1-k2*u2 хүлээх(10) )

Холын мэдрэгч бүхий роботыг удирдах (сонар)

Зайны мэдрэгч (сонар) нь робот хөдөлж байх үед хамгийн ойрын саад хүртэлх зайг тодорхойлох боломжийг олгодог. Энэ нь хэт авианы дохиог гаргаж, туссан дохиог хүлээн авдаг. Дамжуулсан болон хүлээн авсан дохионы хоорондох хугацаа урт байх тусам зай ихсэх болно.

Зайны мэдрэгч ашиглан роботыг хэлбэр дүрс нь тодорхойгүй хэмжээтэй төөрдөг байшинд автоматаар чиглүүлэх программчлагдаж болно.

Дэлгэрэнгүй Зохиогч: Коновалов Игорь Пропорциональ хянагч нь сайжруулалт юм. Релений гол сул тал нь одоогийн утга нь мэдрэгчийн ердийн утгаас хэр зэрэг ялгаатай байх нь хамаагүй юм. Энэ нь зөвхөн хоёр төлөвтэй байдаг - хэрэв мэдрэгчийн утгыг хэвийн хэмжээнээс бага бол тодорхой тогтмол тоогоор нэмэгдүүлэхийг оролдох эсвэл нэмэгдүүлэх. Үүнээс болж тогтмол далайцтай хэлбэлзэл үүсдэг бөгөөд энэ нь маш үр ашиггүй юм.
Одоогийн уншилтууд хэвийн хэмжээнээс хэр хол байгааг тодорхойлж, үүнээс хамааран далайцыг өөрчлөх нь илүү логик юм. Илүү ойлгомжтой болгохын тулд жишээг авч үзье. Жишээ нь өмнөх нийтлэлтэй ижил байна: Lego Mindstorms EV3 робот нь гэрлийн горимд нэг өнгө мэдрэгч ашиглан хар шугамын дагуу хөдөлдөг.

Робот нь цагаан ба хар өнгийн хилийн дагуу жолоодохыг оролддог бөгөөд мэдрэгч нь ойролцоогоор 50% гэрэлтүүлгийг харуулж байна. Ердийн байрлалаас хол байх тусам робот 50% руу буцахын тулд илүү их хүчин чармайлт гаргадаг.
Програм бичихийн тулд бид "алдаа", "хяналтын үйлдэл" гэсэн нэр томъёог ашиглана. Алдаа - мэдрэгчийн одоогийн уншилт ба ердийнх хоорондын ялгаа. Манай тохиолдолд робот одоо гэрэлтүүлгийн 20%-ийг харж байгаа бол алдаа нь 20-50= -30% байна. Алдааны тэмдэг нь алдаанаас ангижрахын тулд робот ямар чиглэлд эргэх ёстойг заана. Одоо бид моторуудад роботыг ямар чиглэлд, ямар хурдтай, ямар огцом эргүүлэхийг хэлэх хэрэгтэй. Хөдөлгүүрүүдэд хяналтын нөлөө үзүүлэх шаардлагатай бөгөөд энэ нь хэвийн байрлалдаа хэр зэрэг огцом буцаж ирэх ёстой гэсэн үг юм. Хяналтын үйлдлийг (UP) алдаа (алдаа) пропорциональ хүчин зүйл (k) -ээр үржүүлсэн байдлаар тооцогдоно. Энэ хүчин зүйл нь хяналтын үйлдэлд алдааны нөлөөллийг нэмэгдүүлэх эсвэл багасгахад ашиглагддаг. Удирдлагын үйлдэл нь роботын дундаж хурдыг тохируулсан жолоодлогод ордог.
Хэрхэн харьцааг тохируулах вэ? Утгыг эмпирик байдлаар сонгоно уу, жишээлбэл, роботын хурд, дизайнаас хамааран 0.2-оос 1.5 хүртэл траекторийн замыг туулах боломжтой. Коэффициент хэт том бол робот хүчтэй эргэлдэх болно, хэрэв жижиг бол энэ нь жигд жолоодох болно, гэхдээ эргэх үед зарим үед хяналтын арга хэмжээ хангалтгүйгээс болж хөдөлнө. Хөтөлбөрийн хоёр хувилбарыг бичье - хувьсагчтай (тэдгээрийг аль хэдийн судалж үзсэн хүмүүсийн хувьд) болон байхгүй.


Гэхдээ энэ зохицуулагчийг пропорциональ ба салшгүй бүрэлдэхүүн хэсгийг нэвтрүүлэх замаар бэхжүүлж болно, тайлбарыг дараах нийтлэлүүдэд өгөх болно. Удахгүй уулзацгаая!

Үүнтэй төстэй нийтлэлүүд

2022 parki48.ru. Бид хүрээ байшин барьж байна. Тохижилт. Барилга. Суурь.