Мазмұны:

Роботтан кейінгі ілгері сызық: 22 қадам (суреттермен)
Роботтан кейінгі ілгері сызық: 22 қадам (суреттермен)

Бейне: Роботтан кейінгі ілгері сызық: 22 қадам (суреттермен)

Бейне: Роботтан кейінгі ілгері сызық: 22 қадам (суреттермен)
Бейне: РОБОТТАР ӘЛЕМДІ ЖАУЛАП АЛА МА? 2024, Шілде
Anonim
Image
Image
Прототиптер - Perfboard
Прототиптер - Perfboard

Бұл мен құрған және бұрыннан жұмыс істеп келе жатқан Teensy 3.6 мен QTRX желісінің сенсорына негізделген роботтан кейінгі жетілдірілген желі. Менің алдыңғы роботтан кейінгі роботтың дизайны мен өнімділігінде бірнеше маңызды жақсартулар бар. Роботтың жылдамдығы мен реакциясы жақсарды. Жалпы құрылым ықшам және жеңіл. Бұрыштық импульсті азайту үшін компоненттер доңғалақ осіне жақын орналасқан. Жоғары қуатты микро металл редукторлары жеткілікті моментті қамтамасыз етеді, алюминий хабының силикон дөңгелектері жоғары жылдамдықта қажет тартымдылықты ұсынады. Қабырға мен дөңгелекті кодтағыштар роботқа оның орналасуы мен бағытын анықтауға мүмкіндік береді. Бортта Teensyview орнатылған кезде барлық қажетті ақпаратты көруге болады және бағдарламаның маңызды параметрлерін батырмалар көмегімен жаңартуға болады.

Бұл роботты құрастыруды бастау үшін сізге келесі жабдықтар қажет (және сіздің қолыңызда көп уақыт пен шыдамдылық).

Жабдықтар

Электроника

  • Teensy 3.6 дамыту тақтасы
  • Қозғалыс сенсорлары бар тірек қалқан
  • Sparkfun TeensyView
  • Pololu QTRX-MD-16A шағылысу датчигінің жиыны
  • 15х20 см көлеміндегі екі жақты ПХД прототипі
  • Pololu S9V11F3S5 кернеу реттегіші
  • Pololu реттелетін 4-5-20В кернеу реттегіші U3V70A
  • MP12 6V 1580 айн / мин жылдамдықтағы моторлы кодты қозғалтқыш (x2)
  • DRV8833 қос моторлы драйвер тасымалдаушысы (x2)
  • 3.7V, 750mAh Li-Po батареясы
  • ON/OFF қосқышы
  • Электролиттік конденсатор 470uF
  • Электролиттік конденсатор 1000uF (x2)
  • Керамикалық конденсатор 0.1uF (x5)
  • Түймешіктер (x3)
  • 10 мм жасыл жарық диоды (x2)

Аппараттық құрал

  • Atom силиконды дөңгелегі 37x34mm (x2)
  • 3/8 дюймдік металл доппен Pololu шарды дөңгелегі
  • N20 қозғалтқышы (x2)
  • Болт пен жаңғақтар

Кабельдер мен коннекторлар

  • 24AWG икемді сымдар
  • 24 істікшелі FFC - DIP үзілісі мен FFC кабелі (А түрі, ұзындығы 150 мм)
  • Дөңгелек аналық түйреуіш тақырыбы
  • Дөңгелек аналық түйреуіштің ұзын терминалы
  • Тік бұрышты қос қатарлы әйел басы
  • Тік бұрышты қос қатарлы еркек басы
  • Еркек түйреуіш тақырыбы
  • Ине түйреуішінің еркек тақырыбы

Құралдар

  • Мультиметр
  • Пісіру темірі
  • Дәнекерлеу сымы
  • Сымды тазартқыш
  • Сым кескіш

1 -қадам: жүйелерге шолу

Бұрынғы өзін-өзі теңестіретін роботтың конструкциясы сияқты, бұл робот-бұл перформат тақтасына орнатылған сынғыш тақталардың жиынтығы, ол сонымен қатар құрылымның мақсатына қызмет етеді.

Роботтың негізгі жүйелері төменде көрсетілген.

Микроконтроллер: 32 биттік 180 МГц ARM Cortex-M4 процессоры бар Teensy 3.6 даму тақтасы.

Сызық сенсоры: Пололудың QTRX-MD-16A 16 каналды аналогтық шығыс сызығының сенсорлық жиілігі орташа тығыздықта (сенсорлық қадам 8 мм).

Жетек: 6В, 1580 айналым / мин, магнитті доңғалақты кодері бар алюминий тораптарына орнатылған силиконды дөңгелектері бар жоғары қуатты микро металды беріліс қозғалтқыштары.

Одометрия: Координаттар мен өтетін қашықтықты бағалауға арналған магнитті доңғалақ кодер жұптары.

Бағыт сенсоры: роботтың орнын және бағытын бағалауға арналған қозғалыс сенсорлары бар тіреуіш қалқан.

Қуат көзі: 3.7В, 750мАч липо батареясы қуат көзі ретінде. 3.3В жоғарылату/төмендету реттегіші микроконтроллерге, сенсорларға және дисплейге қуат береді. Реттелетін реттегіш екі қозғалтқышқа қуат береді.

Қолданушы интерфейсі: ақпаратты көрсету үшін Teensyview. Пайдаланушы кірістерін қабылдауға арналған үш түйме. Жұмыс кезінде күйді көрсетуге арналған диаметрі 10 мм жасыл жарықдиодты екі сан.

2 -қадам: прототиптеуді бастайық

Image
Image

Біз жоғарыда көрсетілген схеманы перформан тақтасына енгіземіз. Алдымен біз тақырыптық тақталарды олардың үстіңгі жағын дәнекерлеу арқылы дайын ұстауымыз керек. Бейнеде қандай тақырыптарды қай тақталарға дәнекерлеу керектігі туралы түсінік беріледі.

Тақырыптарды бөлу тақталарында дәнекерлегеннен кейін Teensyview мен батырманың үзілуін Teensy үстіне қойыңыз.

3 -қадам: прототиптеу - Perfboard

Прототиптер - Perfboard
Прототиптер - Perfboard

15x20 см екі жақты пернетақтаның прототипін алыңыз және суретте көрсетілгендей шекараны тұрақты маркермен белгілеңіз. Ақ шеңбермен белгіленген орындарда сенсорлық массивті, дөңгелекті және микро металл редукторларын орнатуға арналған M2 өлшемді тесіктерді бұрғылаңыз. Біз кейінірек барлық компоненттерді дәнекерлеп, тексергеннен кейін шекараны бойлай перфорация тақтасын кесеміз.

Біз прототиптеуді перфорация тақтасындағы тақырып түйреуіштері мен розеткаларды дәнекерлеуден бастаймыз. Кесте тақталары кейінірек осы тақырыптарға енгізіледі. Перформат тақтасындағы тақырыптардың орналасуына мұқият назар аударыңыз. Біз барлық сымдарды осы тақырыптардың орналасуына сүйене отырып қосамыз.

4 -қадам: прототиптеу - Prop Shield

Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан
Прототиптеу - тірек қалқан

Біз алдымен тіреуіш қалқанға қосылыстарды дәнекерлейміз. Біз тек тіреуіш қалқанның қозғалыс сенсорларын қолданатындықтан, 3В мен тірек қалқанының жерге түйреуіштерінен басқа SCL, SDA және IRQ түйреуіштерін ғана қосу керек.

Байланыс аяқталғаннан кейін, Teensy мен тіреуішті енгізіңіз және мұнда көрсетілген қадамдарды орындау арқылы қозғалыс сенсорларын калибрлеңіз.

5 -қадам: прототиптеу - қуат пен жер

Прототиптер - Power and Ground
Прототиптер - Power and Ground

Суретке сәйкес барлық қуат пен жерге қосылуды дәнекерлеңіз. Барлық сынғыш тақталарды орнына салыңыз және мультиметр көмегімен үзіліссіздікті қамтамасыз етіңіз. Борттағы әр түрлі кернеу деңгейін тексеріңіз.

  • Li-po шығыс кернеуі (әдетте 3 В пен 4,2 В аралығында)
  • Көтеру/төмендету реттегішінің шығыс кернеуі (3,3В)
  • Реттелетін реттегіш шығыс кернеуі (6 В-қа орнатылған)

6 -қадам: прототиптеу - мотор жүргізушісінің тасымалдаушысы

Прототиптеу - мотор жүргізушісінің тасымалдаушысы
Прототиптеу - мотор жүргізушісінің тасымалдаушысы
Прототиптеу - мотор жүргізушісінің тасымалдаушысы
Прототиптеу - мотор жүргізушісінің тасымалдаушысы
Прототиптеу - мотор жүргізушісінің тасымалдаушысы
Прототиптеу - мотор жүргізушісінің тасымалдаушысы

DRV8833 қос моторлы драйверлердің тақтасы бір арнаға 1,2А үздіксіз және 2А максималды ток жеткізе алады. Біз бір моторды жетектеу үшін екі арнаны параллель қосамыз. Төмендегі әрекеттерді орындау арқылы қосылыстарды дәнекерлеңіз.

  • Суретте көрсетілгендей мотор жүргізушісінің екі кірісі мен екі шығысын қатарластырыңыз.
  • Мотор драйверіне кіріс басқару сымдарын қосыңыз.
  • 1000uF электролиттік конденсатор мен 0.1uF керамикалық конденсаторды екі тасымалдаушы тақтаның Vin және Gnd терминалдарына жалғаңыз.
  • Қозғалтқыш драйверінің шығыс терминалдарына 0.1uF керамикалық конденсаторды қосыңыз.

7 -қадам: прототиптеу - сызық сенсорының массив тақырыбы

Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы
Прототиптеу - Line Sensor массивінің тақырыбы

Teensy 3.6 екі ADC бар - ADC0 және ADC1, олар 25 қол жетімді түйреуішке мультиплексирленген. Біз бір уақытта екі ADC -тен кез келген екі түйреуішке қол жеткізе аламыз. Біз әрқайсысы ADC0 және ADC1 -ге сегіз желілік датчиктерді қосамыз. Жұп сан датчиктері ADC1 -ге, тақ сан датчиктері ADC0 -ге қосылады. Төмендегі әрекеттерді орындау арқылы қосылыстарды дәнекерлеңіз. Кейін біз FFC көмегімен желі сенсорын DIP адаптері мен кабеліне қосамыз.

  • Барлық жұп сенсорлық түйреуіштерді (16, 14, 12, 10, 8, 6, 4, 2) суретте көрсетілгендей жалғаңыз. 12 сенсорлық түйреуішті қосуға арналған сымды перфбордтың артқы жағынан өткізіңіз.
  • Эмитентті басқару түйреуішін (EVEN) Teensy pin 30 -ға қосыңыз.
  • Барлық тақ датчиктерді (15, 13, 11, 9, 7, 5, 3, 1) суретте көрсетілгендей жалғаңыз.
  • Vcc және Gnd арқылы 470uF электролиттік конденсаторды қосыңыз.

Егер сіз борттағы сызық сенсорының түйреуіштерін және оларға сәйкес тақырып түйреуіштерін мұқият бақылайтын болсаңыз, онда сызық сенсорының жоғарғы қатары пербердегі үстіңгі жолдың төменгі қатарына сәйкес келетінін байқайсыз. Себебі, біз екі қатарлы тік бұрышты тақырыптарды қолдана отырып, сенсорды перфорация тақтасына қосқан кезде, жолдар дұрыс реттеледі. Мұны анықтап, бағдарламадағы түйреуіштерді түзетуге біраз уақыт кетті.

8 -қадам: прототиптеу - Micro Gear моторы және кодтаушы

Прототиптеу - Micro Gear моторы және кодтаушы
Прототиптеу - Micro Gear моторы және кодтаушы
  • N20 қозғалтқыш қондырғыларын қолдана отырып, микрометальды беріліс моторын кодермен бекітіңіз.
  • Қозғалтқыш пен кодер сымдарын суретте көрсетілгендей жалғаңыз.
  • Сол жақ кодер - 4 және 0 жасөспірім түйреуіштері
  • Оң жақ кодер - 9 және 27 жасөспірімдер түйреуіштері

9 -қадам: прототиптеу - жарықдиодты шамдар

Прототиптер - светодиодтар
Прототиптер - светодиодтар
Прототиптер - светодиодтар
Прототиптер - светодиодтар

Екі светодиод роботтың бұрылысты анықтағанын немесе білмегенін көрсетеді. Мен жарықдиодты Teensy-ге қосу үшін 470 Ом сериялы резисторды қолдандым.

  • Сол жақ жарық диодты анод 6 -пинске
  • Оң жақ жарық диодты анод 8 -ші пинске

10 -қадам: прототиптеу - үзіліс

Image
Image
Прототиптеу - үзіліс
Прототиптеу - үзіліс

Енді біз перфорация тақтасындағы барлық дәнекерлеуді аяқтадық, біз перформан тақтасында белгіленген шекараны мұқият кесіп, перфорданың қосымша бөлшектерін алып тастай аламыз. Сонымен қатар, екі дөңгелекті және дөңгелекті бекітіңіз.

Барлық сынғыш тақталарды сәйкес розеткаларға салыңыз. FFC-DIP үзілісін енгізу және QTRX-MD-16A желілік сенсорды бекіту үшін бейнені қараңыз.

11 -қадам: Бағдарламалық жасақтама кітапханаларына шолу

Бағдарламалық қамтамасыз ету кітапханаларына шолу
Бағдарламалық қамтамасыз ету кітапханаларына шолу

Біз Teensy бағдарламасын Arduino IDE бағдарламасында бағдарламалайтын боламыз. Бастамас бұрын бізге кейбір кітапханалар қажет болады. Біз қолданатын кітапханалар:

  • Кодтаушы
  • Teensyview
  • EEPROM
  • ADC
  • NXPMotionSense

Ал кейбіреулері осы робот үшін арнайы жазылған.

  • Батырмаға басу
  • LineSensor
  • TeensyviewMenu
  • Қозғалтқыштар

Бұл роботқа тән кітапханалар егжей -тегжейлі талқыланады және келесі қадамдарда жүктеуге болады.

12 -қадам: түсіндірілген кітапханалар - PushButton

Бұл кітапхана Teensy -мен түймені ажырату тақтасын байланыстыруға арналған. Қолданылатын функциялар - бұл

PushButton (int leftButtonPin, int centreButtonPin, int rightButtonPin);

Бұл конструкторды объект құру арқылы шақыру түйме түйреуіштерін INPUT_PULLUP режиміне конфигурациялайды.

int8_t waitForButtonPress (жарамсыз);

Бұл функция түйме басылып, босатылғанша күтеді және кілт кодын қайтарады.

int8_t getSingleButtonPress (жарамсыз);

Бұл функция түймені басу мен жіберуді тексереді. Егер иә болса, кілт кодын қайтарады, басқасы нөлді қайтарады.

13 -қадам: түсіндірілген кітапханалар - сызық сенсоры

LineSensor - бұл Teensy көмегімен желілік сенсорлар массивін байланыстыруға арналған кітапхана. Төменде қолданылатын функциялар берілген.

LineSensor (жарамсыз);

Бұл конструкторға объект құру арқылы қоңырау шалу ADC0 мен ADC1 инициализациялайды, EEPROM шекті мәнін, минималды және максималды мәндерді оқиды және сенсорлық түйреуіштерді кіріс режиміне және эмиттердің басқару штифін шығыс режиміне теңшейді.

жарамсыз калибрлеу (uint8_t calibrationMode);

Бұл функция желілік сенсорларды калибрлейді. CalibrationMode MIN_MAX немесе MEDIAN_FILTER болуы мүмкін. Бұл функция келесі қадамда егжей -тегжейлі түсіндіріледі.

void getSensorsAnalog (uint16_t *sensorValue, uint8_t режимі);

Аргумент ретінде берілген үш режимнің кез келгенінде сенсорлық жиымды оқиды. Режим эмитенттердің күйі болып табылады және ON, OFF немесе TOGGLE болуы мүмкін. TOGGLE режимі жарықтың әсерінен шағылудың сенсорлық көрсеткіштерін өтейді. ADC0 және ADC1 қосылған сенсорлар синхронды түрде оқылады.

int getLinePosition (uint16_t *sensorValue);

Сенсорлық массивтің сызықтағы орнын орташа өлшенген әдіспен есептейді.

uint16_t getSensorsBinary (uint16_t *sensorValue);

Сенсорлардың күйінің 16-биттік көрінісін қайтарады. Екілік сан сенсордың сызықтың үстінде екенін көрсетеді, ал екілік нөл сенсордың желіден тыс екенін көрсетеді.

uint8_t countBinary (uint16_t binaryValue);

Бұл функцияға сенсорлық мәндердің 16-биттік көрінісін беру сызықтан асатын сенсорлардың санын қайтарады.

void getSensorsNormalized (uint16_t *sensorValue, uint8_t режимі);

Сенсордың мәндерін оқиды және әр сенсордың мәнін сәйкес минималды және максималды мәндерге шектейді. Содан кейін сенсордың мәндері сәйкес минимумнан максималды диапазонға 0 -ден 1000 диапазонына дейін салыстырылады.

14 -қадам: түсіндірілген кітапханалар - TeensyviewMenu

TeensyviewMenu - дисплей мәзірінің функцияларын пайдалануға болатын кітапхана. Төменде қолданылатын функциялар берілген.

TeensyViewMenu (жарамсыз);

Бұл конструкторды шақыру LineSensor, PushButton және TeensyView класының объектісін жасайды.

жарамсыз кіріспе (жарамсыз);

Бұл мәзірді шарлау үшін.

жарамсыздық сынағы (жарамсыз);

Бұл тексеру үшін Teensyview -те сызық сенсорының мәндері көрсетілетін кезде мәзірде ішкі деп аталады.

15 -қадам: түсіндірілген кітапханалар - қозғалтқыштар

Мотор - бұл екі қозғалтқышты басқаруға арналған кітапхана. Төменде қолданылатын функциялар берілген.

Қозғалтқыштар (жарамсыз);

Бұл конструкторды объект құру арқылы шақыру қозғалтқыш бағытын басқаруды және PWM басқару түйреуіштерін шығыс режиміне конфигурациялайды.

void setSpeed (int leftMotorSpeed, int rightMotorSpeed);

Бұл функцияны шақыру екі қозғалтқышты аргумент ретінде берілген жылдамдықпен басқарады. Айналу бағытының кері екенін көрсететін теріс белгісі бар жылдамдық мәні -255 -тен +255 -ке дейін болуы мүмкін.

16 -қадам: тестілеу - кодердің одометриясы

Біз магнитті доңғалақ кодерлерін тексереміз және робот өтетін позиция мен қашықтықты көрсетеміз.

DualEncoderTeensyview.ino жүктеңіз. Бағдарлама Teensyview -те кодтаушы белгілерін көрсетеді. Егер сіз роботты алға жылжытсаңыз, кодер қадамды жоғарылатады, ал егер сіз оны артқа жылжытсаңыз - төмендейді.

Енді EncoderOdometry.ino жүктеңіз. Бұл бағдарлама роботтың орнын x-y координаттары бойынша көрсетеді, жалпы қашықтықты сантиметрмен және бұрылысты градуспен көрсетеді.

Мен кодерлік кенелерден позицияны анықтау үшін Сиэтл робототехника қоғамының R/C Servo дифференциалды жетегі бар роботта Odometry арқылы жүзеге асырылатын өлі есепке жүгіндім.

17 -қадам: тестілеу - тірек қалқанының қозғалыс сенсорлары

Мұнда көрсетілген қадамдарды орындау арқылы қозғалыс сенсорларын калибрлегеніңізге көз жеткізіңіз.

Енді PropShieldTeensyView.ino жүктеңіз. Сіз Teensyview -де үш осьтің акселерометрін, гиро мен магнитометрінің мәндерін көре білуіңіз керек.

18 -қадам: Бағдарламаға шолу

Жетілдірілген жол ізбасарларына арналған бағдарлама Arduino IDE -де жазылған. Бағдарлама төменде түсіндірілген келесі тізбекте жұмыс істейді.

  • EEPROM -де сақталған мәндер оқылады және мәзір көрсетіледі.
  • LAUNCH пернесін басқан кезде бағдарлама циклге енеді.
  • Сызық сенсорының қалыпқа келтірілген мәндері оқылады.
  • Сызық позициясының екілік мәні сенсордың нормаланған мәндерінің көмегімен алынады.
  • Сызықтан асатын датчиктердің саны сызықтық позицияның екілік мәнінен есептеледі.
  • Кодтаушы кенелер жаңартылады және жалпы қашықтықты, x-y координаттары мен бұрышы жаңартылады.
  • 0 -ден 16 -ға дейінгі екілік санаудың әр түрлі мәндері үшін нұсқаулар жиынтығы орындалады. Егер екілік санау 1 -ден 5 -ке дейінгі аралықта болса және сызықтың үстіндегі датчиктер бір -біріне жақын болса, PID процедурасы шақырылады. Айналдыру екілік мән мен екілік санаудың басқа комбинацияларында орындалады.
  • PID режимінде (бұл PD режиміне сәйкес емес) қозғалтқыштар қатеге, қатенің өзгеруіне, Kp және Kd мәндеріне негізделген жылдамдықпен қозғалады.

Бағдарлама қазіргі уақытта қалқаннан бағдар мәндерін өлшемейді. Бұл орындалатын жұмыс және жаңартылуда.

TestRun20.ino жүктеңіз. Біз роботты тексеретін келесі қадамдарда мәзірде қалай жылжу керектігін, параметрлерді реттеуді және желілік сенсорларды калибрлеуді көреміз.

19 -қадам: Мәзір мен параметрлерді шарлау

Мәзірде келесі параметрлер бар, оларды сол және оң жақ түймешіктермен жылжытуға болады және орталық батырманың көмегімен таңдауға болады. Параметрлер мен олардың функциялары төменде сипатталған.

  1. CALIBRATE: желілік сенсорларды калибрлеу үшін.
  2. TEST: сызық сенсорының мәндерін көрсету үшін.
  3. ІСКЕ ҚОСУ: келесі жолды бастау үшін.
  4. MAX SPEED: робот жылдамдығының жоғарғы шегін орнату үшін.
  5. Айналу жылдамдығы: роботтың айналу жылдамдығының жоғарғы шегін белгілеу үшін, яғни екі доңғалақ қарама -қарсы бағытта бірдей жылдамдықпен айналғанда.
  6. КП: пропорционалды тұрақты.
  7. KD: Туынды тұрақты.
  8. ЖҮРГІЗУ РЕЖИМІ: Екі жұмыс режимінің бірін таңдау үшін - NORMAL және ACCL. NORMAL режимінде робот сызықтың орналасу мәндеріне сәйкес келетін алдын ала анықталған жылдамдықпен жұмыс істейді. ACCL режимінде роботтың MAX SPEED жолдың алдын ала анықталған сатыларында ACCL SPEED ауыстырылады. Бұл роботты жолдың тікелей бөліктерінде жылдамдату үшін қолдануға болады. Келесі параметрлерге RUN MODE ACCL ретінде орнатылған жағдайда ғана қол жетімді болады.
  9. LAP DISTANCE: жүгіру жолының жалпы ұзындығын орнату.
  10. ACCL SPEED: роботтың жеделдету жылдамдығын орнату үшін. Бұл жылдамдық төменде көрсетілгендей жолдың әр түрлі сатыларында MAX SPEED ауыстырады.
  11. ЖОҚ. ОРЫНДАР: ACCL SPEED қолданылатын кезеңдердің санын орнату үшін.
  12. 1 -ҚАДАМ: MAX SPEED ACCL SPEED ауыстырылатын кезеңнің басталу және аяқталу арақашықтығын орнату үшін. Әр кезең үшін басталу мен аяқталу арақашықтығын бөлек орнатуға болады.

20 -қадам: желілік сенсорды калибрлеу

Image
Image

Сызықтық сенсорды калибрлеу - бұл 16 датчиктің әрқайсысының шекті мәнін анықтау процесі. Бұл шекті мән белгілі бір сенсордың сызықтың үстінде немесе жоқтығын анықтау үшін қолданылады. 16 датчиктің шекті мәндерін анықтау үшін біз екі әдістің бірін қолданамыз.

МЕДИАНДЫҚ СҮЗГІ: Бұл әдіс бойынша сызықтық сенсорлар ақ беттің үстіне қойылады және барлық 16 сенсорлар үшін сенсорлардың алдын ала анықталған саны алынады. Барлық 16 датчиктердің орташа мәндері анықталады. Дәл сол процесс сенсорларды қара бетке қойғаннан кейін қайталанады. Шекті мән - қара және ақ беттердің орташа мәндерінің орташа мәні.

MIN MAX: Бұл әдісте сенсордың мәндері пайдаланушы тоқтатуды сұрағанша қайталап оқылады. Әр сенсор кездесетін максималды және минималды мәндер сақталады. Шекті мән - минималды және максималды мәндердің орташа мәні.

Осылайша алынған шекті мәндер 0 -ден 1000 -ға дейінгі диапазонға салыстырылады.

MIN MAX әдісі бойынша желілік датчиктерді калибрлеу бейнеде көрсетілген. Желілік датчиктерді калибрлегеннен кейін, мәліметтерді суретте көрсетілгендей елестетуге болады. Келесі ақпарат көрсетіледі.

  • Тиісті сызық сенсоры сызықтың үстінде екенін көрсететін екілік 1 бар сызық позициясының 16-биттік екілік бейнесі және сызық сенсорының желіден тыс екенін көрсететін 0-екілік.
  • Сызықтан асатын сенсорлардың жалпы санын санау.
  • 16 датчиктің минималды, максималды және сенсорлық мәндері (өңделмеген және қалыпқа келтірілген), бір уақытта бір сенсор.
  • Сызықтың орны -7500 -ден +7500 -ге дейінгі аралықта.

Минималды және максималды желі сенсорларының мәндері EEPROM -де сақталады.

21 -қадам: Тесттік жүгіру

Image
Image

Бейне робот бір айналымды аяқтағаннан кейін тоқтайтын етіп бағдарламаланған сынақ кезеңі.

22 -қадам: Қорытынды ойлар мен жақсартулар

Роботтар сайысы
Роботтар сайысы

Бұл роботты құрастыру үшін жиналған жабдық оны басқаратын бағдарламада толық пайдаланылмайды. Бағдарлама бөлігінде көптеген жақсартулар жасауға болады. Қозғалтқыш қалқанының қозғалыс сенсорлары қазіргі уақытта орналасу мен бағытты анықтау үшін қолданылмайды. Роботтың орналасуы мен бағытын дәл анықтау үшін кодерлерден алынған одометрия деректерін тіреуіш қалқаның бағдарлау деректерімен біріктіруге болады. Бұл деректер роботты бірнеше айналымда жолды үйренуге бағдарламалау үшін пайдаланылуы мүмкін. Мен сіздерді осы бөлімде тәжірибе жасауға және нәтижелеріңізбен бөлісуге шақырамын.

Іске сәт.

Роботтар сайысы
Роботтар сайысы

Роботтар байқауының екінші жүлдесі

Ұсынылған: