AI көру сенсорымен конфигурацияланған Түс қолтаңбасы және Түс кодтары бар екеніне көз жеткізіңіз, осылайша оларды блоктарыңызбен пайдалануға болады. Оларды конфигурациялау туралы көбірек білу үшін төмендегі мақалаларды оқуға болады:
- VEXcode EXP ішіндегі AI Vision Signature көмегімен түсті қолтаңбаларды теңшеу
- Түс кодтарын VEXcode EXP ішіндегі AI Vision Signature арқылы конфигурациялау
AI көру сенсоры сонымен қатар AI классификациялары мен AprilTags анықтай алады. Осы анықтау режимдерін қосу жолын білу үшін мына жерге өтіңіз:
- VEXcode EXP ішіндегі AI көру сенсорымен AI классификациялары
- AprilTags VEXcode EXP ішіндегі AI көру сенсорымен
AI Vision Sensor көмегімен визуалды деректерді алыңыз
Әрбір AI Vision Sensor пәрмені конфигурацияланған AI Vision Sensor атауынан басталады. Осы мақаладағы барлық мысалдар үшін пайдаланылатын AI көру сенсорының атауы AIVisionболады.
Snapshot түсіру
takeSnapshot әдісі AI көру сенсоры қазір көріп отырған нәрсенің суретін түсіреді және сол суреттен деректерді алады, содан кейін жобада пайдалануға болады. Сурет түсірілген кезде, AI көру сенсоры қандай нысанның түрі туралы деректерді жинау керектігін көрсетуіңіз керек:
-
түсті қолтаңба немесетүс коды
- Бұл визуалды қолтаңбалар AI көру сенсорының атынан басталады, қос астын сызу, содан кейін Көрнекі қолтаңба атауы, мысалы:
AIVision1__Blue.
- Бұл визуалды қолтаңбалар AI көру сенсорының атынан басталады, қос астын сызу, содан кейін Көрнекі қолтаңба атауы, мысалы:
-
AI классификациялары -
aivision::ALL_AIOBJS -
сәуірБелгілер-
aivision::ALL_TAGS
Суретке түсіру сіз көрсеткен барлық анықталған нысандардың массивін жасайды. Мысалы, егер сіз «Көк» түсті қолтаңбаныанықтағыңыз келсе және AI көру сенсоры 3 түрлі көк нысанды анықтаса, үшеуінің деректері массивке қойылады.
Бұл мысалда AIVision1деп аталатын AI көру сенсорынан "Көк" түсті қолтаңбасуреті түсірілген. Ол массивте анықталған нысандардың санын көрсетеді және әрбір 0,5 секунд сайын жаңа суретті түсіреді.
while (true) {
// Көк түсті барлық нысандардың суретін алу.
AIVision.takeSnapshot(AIVision1__Көк);
// Деректерді алудан бұрын суретте нысанның анықталғанын тексеріңіз.
егер (AIVision.objectCount > 0) {
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
Brain.Screen.print(AIVision1.objectCount);
}
күту(5, мсек);
}
нысандар
Суреттегі әрбір нысанда сол нысан туралы ақпаратты хабарлау үшін пайдалануға болатын әртүрлі сипаттар бар. Objects әдісі осы қасиеттерге қол жеткізуге мүмкіндік береді.
Қол жетімді қасиеттер келесідей:
- id
- centerX және centerY
- OriginX және OriginY
- ені
- биіктігі
- бұрыш
- бар
- ұпай
Нысанның қасиетіне қол жеткізу үшін AI көру сенсорының атын, одан кейін нысандар әдісін, содан кейін нысанның индексін пайдаланыңыз.
Нысан индексі қай нақты нысанның қасиетін шығарып алғыңыз келетінін көрсетеді. Суретке түсіргеннен кейін AI көру сенсоры нысандарды өлшемі бойынша автоматты түрде сұрыптайды. Ең үлкен нысанға 0 индексі тағайындалады, ал кішірек нысандар жоғары индекс сандарын алады.
Мысалы, ең үлкен нысанның енін шақыру AIVision1.objects[0].widthболады.
id
id сипаты тек сәуірдегі және AI классификациялары үшін қол жетімді.
AprilTagүшін id сипаты анықталғанAprilTag(лар) ID нөмірін білдіреді.
Нақты сәуірдегіТагтарды анықтау таңдамалы шарлау мүмкіндігін береді. Сіз роботты басқаларды елемей, белгілі бір тегтерге қарай жылжу үшін бағдарламалай аласыз, оларды автоматтандырылған навигация үшін бағдаршалар ретінде тиімді пайдалана аласыз.
AI классификациясыүшін id сипаты анықталған AI классификациясының арнайы түрін білдіреді.
Арнайы AI классификациясын анықтауроботқа көк емес, тек қызыл Бакиболға қарай шарлау сияқты нақты нысандарға ғана назар аударуға мүмкіндік береді.
сәуірдегі және AI классификациялары және оларды AI Vision утилитасында анықтауды қосу жолы туралы қосымша ақпарат алу үшін осы мақалаларға өтіңіз.
centerX және centerY
Бұл анықталған нысанның пиксельдегі орталық координаталары.
CenterX және CenterY координаттары навигацияға және орналасуға көмектеседі. AI Vision Sensor 320 x 240 пиксел рұқсатына ие.
AI көру сенсорына жақынырақ нысанның алыстағы нысанға қарағанда CenterY координатасы төмен болатынын көруге болады.
Бұл мысалда AI көру сенсорының көрінісінің орталығы (160, 120) болғандықтан, робот анықталған нысанның centerX координатасы 150 пиксельден үлкен, бірақ 170 пикселден аз болғанша оңға бұрылады.
while (true) {
// Көк түсті барлық нысандардың суретін алу.
AIVision.takeSnapshot(AIVision__Blue);
// Деректерді алудан бұрын суретте нысанның анықталғанын тексеріңіз.
егер (AIVision.objectCount > 0) {
if (AIVision.objects[0].centerX > 150,0 && 170,0 > AIVision.objects[0].centerX) {
Drivetrain.burn(оңға);
} else {
Drivetrain.stop();
}
}
күту(5, мсек);
}
бастапқы X және бастапқы
OriginX және OriginY - анықталған нысанның пиксельдегі жоғарғы сол жақ бұрышындағы координат.
OriginX және OriginY координаттары навигацияға және орналасуға көмектеседі. Осы координатаны нысанның ені мен биіктігімен біріктіру арқылы нысанның шектейтін өрісінің өлшемін анықтауға болады. Бұл қозғалатын нысандарды қадағалауға немесе нысандар арасында шарлауға көмектеседі.
ені және биіктігі
Бұл анықталған нысанның пиксельдегі ені немесе биіктігі.
Ені мен биіктігі өлшемдері әртүрлі нысандарды анықтауға көмектеседі. Мысалы, Бакиболдың биіктігі сақинаға қарағанда үлкенірек болады.
Ені мен биіктігі де нысанның AI көру сенсорынан қашықтығын көрсетеді. Кішірек өлшемдер әдетте нысанның алыс екенін білдіреді, ал үлкен өлшемдер оның жақынырақ екенін көрсетеді.
Бұл мысалда нысанның ені шарлау үшін пайдаланылады. Робот тоқтау алдында ені белгілі бір өлшемге жеткенше нысанға жақындайды.
while (true) {
// Барлық көк нысандардың суретін алыңыз.
AIVision.takeSnapshot(AIVision1__Көк);
// Деректерді алудан бұрын суретте нысанның анықталғанын тексеріңіз.
егер (AIVision.objectCount > 0) {
if (AIVision.objects[0].ені < 250,0) {
Drivetrain.drive(алға);
} else {
Drivetrain.stop();
}
}
күту(5, мсек);
}
бұрыш
бұрышы сипаты тектүс кодтары жәнесәуірдеүшін қол жетімді.
Бұл анықталған Түс кодынемесе AprilTag басқаша бағдарланғанын білдіреді.
Сіз роботтыңТүс коды немесеAprilTag қатысты басқаша бағдарланғанын көре аласыз және соған сәйкес навигация шешімдерін қабылдай аласыз.
Мысалы, егерТүс коды дұрыс бұрышта анықталмаса, ол көрсететін нысанды робот дұрыс ала алмауы мүмкін.
ұпай
ұпай қасиеті AI көру сенсорыменAI классификациясын анықтау кезінде пайдаланылады.
Сенімділік көрсеткіші AI көру сенсорының оны анықтауға қаншалықты сенімді екенін көрсетеді. Бұл суретте бұл төрт нысанның AI классификациясын анықтауға 99% сенімді. Сіз бұл ұпайды роботыңыздың тек жоғары сенімді анықтауларға назар аударуын қамтамасыз ету үшін пайдалана аласыз.
бар
бар сипаты соңғы түсірілген суретте көрсетілген визуалды қолтаңба анықталғанын анықтау үшін пайдаланылады.
Бұл алдыңғы суретте анықталған нысандардың анықталғанын тексеруге мүмкіндік береді. Бұл сипат нысан бар кезде True мәнін, ал объект жоқ кезде False мәнін қайтарады.
objectCount
objectCount әдісі соңғы суретте анықталған нысандардың санын қайтарады.
Бұл мысалдаТүс белгісі "Көк" белгісімен екі нысан анықталды. TakeSnapshot әдісі пайдаланылған кезде олардың екеуі де массивке қойылады.
Бұл код үзіндісі EXP миын анықталған нысандар санымен үздіксіз жаңартады. Берілген мысал негізінде ол екі нысанның анықталғанын көрсететін 2 мәнін қайта-қайта жібереді.
while (true) {
// Барлық көк нысандардың суретін алыңыз.
AIVision.takeSnapshot(AIVision__Blue);
Brain.Screen.clearScreen();
Brain.Screen.setCursor(1, 1);
// Деректерді алудан бұрын суретте нысанның анықталғанын тексеріңіз.
егер (AIVision.objectCount > 0) {
Brain.Screen.print(AIVision1.objectCount);
}
күту(5, мсек);
}