Talaan ng mga Nilalaman:

Programming-driven na Programming sa FTC: 4 na Hakbang
Programming-driven na Programming sa FTC: 4 na Hakbang

Video: Programming-driven na Programming sa FTC: 4 na Hakbang

Video: Programming-driven na Programming sa FTC: 4 na Hakbang
Video: OUTSEAL PLC 20x4 LCD MODBUS HMI || Modbus Settings Mode ||FLProg 2024, Hulyo
Anonim
Programming-driven na Programming sa FTC
Programming-driven na Programming sa FTC

Sa taong ito, ang aming koponan ay gumawa ng maraming gawain sa pag-unlad na software na hinimok ng kaganapan para sa aming robot. Pinapayagan ng mga programang ito ang koponan na tumpak na makabuo ng mga autonomous na programa at kahit na maulit na mga kaganapan sa tele-op. Dahil kumplikado ang pagtatrabaho ng software na tinatawagan nito, nagpasya kaming ibahagi ang kaalamang nakuha namin sa pagbuo ng code na hinimok ng kaganapan para sa mga FTC robot.

Hakbang 1: Ano ang Programme na Pinatakbo ng Kaganapan?

Sa pangkalahatang mga termino, ang programa na hinihimok ng kaganapan, ayon sa Techopedia, ay ang pagbuo ng mga programa na tumutugon sa input ng gumagamit. Sa puntong ito, maraming mga programa ang itinuturing na hinimok ng kaganapan, kabilang ang programa ng tele-op ng isang koponan, na umaasa sa mga pag-input mula sa isang kinokontrol ng tao upang magsagawa ng anumang pagkilos. Gayunpaman, sa mga tuntunin ng gawaing ginagawa ng aming koponan, ang programa na hinihimok ng kaganapan ay tungkol sa paglikha ng software mula sa iba't ibang mga input; sa madaling salita, dokumentado namin ang mga kaganapan batay sa mga input ng mga controler at sensor, pagkatapos ay maaari naming i-pila ang mga kaganapang ito at gamitin ang file upang muling mailagay ang naitala na kaganapan.

Ang pamamaraang ito ng pagbuo ng mga programa para sa aming robot ay may maraming kalamangan:

  • Pinapayagan kaming lumikha ng tumpak na mga autonomous na programa. Dahil lumilikha kami ng software nang real-time habang sumasailalim sa kaganapan, ang mga halaga ng sensor na nakolekta at ginamit ay magiging tumpak, dahil nagmula ito mula sa orihinal na kaganapan.
  • Pinapayagan kaming mabilis na lumikha ng mga autonomous na programa. Ang paggawa ng mga autonomous na programa ay kasing simple ng pagrekord ng isang serye ng mga kaganapan at pag-aayos ng kaganapan kung kinakailangan.
  • Pinapayagan kaming lumikha ng mga awtomatikong proseso para sa tele-op. Para sa paulit-ulit na mga pagkilos sa tele-op, pinapayagan ng programa na hinimok ng kaganapan na maitala namin ang mga pagkilos na ito at italaga ang kaganapan sa isang pindutan sa panahon ng mga kontrol na pagmamaneho ng driver. Ang mga awtomatikong kaganapan na ito ay maaaring maimpluwensyahan ng mga sensor upang pahintulutan ang kanilang tumpak na pagpapatupad.

Hakbang 2: Daloy ng Logic ng Programming-drivenn na Programming

Daloy ng Logic ng Programming na Pinatakbo ng Kaganapan
Daloy ng Logic ng Programming na Pinatakbo ng Kaganapan

Inilalarawan ng sumusunod ang lohikal na daloy ng isang programa na hinimok ng kaganapan: ang pula ay naglalarawan ng paglikha ng isang kaganapan, at ang asul ay naglalarawan ng pagtawag ng kaganapan. Para sa paglikha ng isang kaganapan, isang pagkakasunud-sunod ng mga input ay kinuha sa pamamagitan ng pagkilos ng robot at naitala bilang mga kaganapan; ang mga kaganapang ito ay nakasulat sa isang file. Para sa pagtawag sa isang kaganapan, nabasa ang file na iyon, at ang mga input ay ipinadala sa isang kaganapan na processor upang gawing pagkilos ng robot ang file code.

Hakbang 3: Tagalikha ng Kaganapan

Tagalikha ng Kaganapan
Tagalikha ng Kaganapan
Tagalikha ng Kaganapan
Tagalikha ng Kaganapan

Ginagamit ang mga tagalikha ng kaganapan upang idokumento ang mga aksyon o "kaganapan" batay sa iba't ibang mga sensor at pindutan. Tulad ng robot na gumagawa ng mga aksyon sa larangan, isang klase ng tagalikha ng kaganapan ang lumilikha ng mga kaganapan para sa bawat isa sa mga pagkilos na iyon nang kahanay, na tumutukoy sa kaganapan na nauri sa isang klase ng kaganapan. Matapos malikha, ang kaganapan ay inilalagay sa isang pila ng mga kaganapan sa klase ng mga kaganapan: ang unang kaganapan ay tumatagal ng pinakamataas na lugar, pagkatapos ang pangalawang kaganapan ay tumatagal ng pinakamataas na puwesto at itulak ang anumang mga kaganapan sa ilalim nito, at ito ay magpapatuloy hanggang sa tumigil ang programa. Kapag ang programa ay tumigil, ang mga kaganapan ay lumalabas sa isang nababasa na format ng file, tulad ng isang JSON file. Maaaring gamitin ang file na ito upang mas mapabuti ang mga autonomous na gawain.

Ang halimbawa ng code sa itaas ay nagtatakda ng mga parameter para sa kaganapan, na sa kasong ito ay isang pagliko gamit ang isang IMU sensor. Pagkatapos ay pinapila namin ang kaganapan sa pila ng kaganapan. Sa wakas, pinuputol namin ang kaganapan, na mahalagang mai-reset ang kaganapan upang magamit namin ito sa pila ng mga hinaharap.

Hakbang 4: Proseso ng Kaganapan

Tagaproseso ng Kaganapan
Tagaproseso ng Kaganapan
Tagaproseso ng Kaganapan
Tagaproseso ng Kaganapan

Kinukuha ng mga klase ng kaganapan ang nababasa ng tao na file na ginawa sa klase ng tagalikha ng kaganapan at ginagawa ang anuman na pinila ng kaganapan na sinasabi nito na gawin sa pamamagitan ng pagtawag ng mga pamamaraan na nakabalangkas sa isang klase ng processor ng kaganapan. Ang klase ng processor ng kaganapan pagkatapos ay sasabihin sa robot kung anong kaganapan ang dapat muling i-replay. Kung ito man ay isang simpleng "drive forward" na kaganapan o isang kumplikadong kaganapan na puno ng mga distansya, pagliko, at strafes, ire-replay ng processor ang anumang kaganapang ibinigay dito. Ang prosesong ito ay lubhang kapaki-pakinabang sa panahon ng nagsasarili, dahil ang isang koponan ay maaaring mag-record ng mga sensor at mga pagkilos sa Tele-Op bago upang tumugma, pagkatapos ay i-replay lamang ang mga kaganapan sa autonomous. Ang prosesong ito ay tinatawag na Memory Replay. Pinapayagan nito ang isang autonomous na programa na maging 100% na mai-configure sa pamamagitan ng isang solong file. Kapag naitatag ang tagalikha ng kaganapan at processor, maaaring baguhin ng isang koponan ang mga autonomous na gawain sa pamamagitan ng nababasa na file ng tao.

Ang halimbawa sa itaas ay nagsisimula muna sa pamamagitan ng pag-check sa file ng JSON para sa isang kaganapan, at pagkatapos ay suriin ang kaganapang iyon gamit ang isang pahayag sa kaso upang makita kung anong uri ng kaganapan ito, sa kasong ito isang turn gamit ang isang sensor ng IMU. Kapag nasabi nito na ito ay isang pagliko gamit ang kaganapan ng IMU, pagkatapos ay makikitungo sa pagproseso ng kaganapan, na karaniwang nagsasangkot ng pagpapatakbo ng code na nagmula ang kaganapan mula sa paggamit ng mga variable mula sa kaganapan, naipasa upang makopya ang kaganapan na nagawa noon.

Inirerekumendang: