Skip to main content

Programmēšanas sarežģītība

Roboti var būt izstrādāti, lai veiktu dažādus uzdevumus. Daži no šiem uzdevumiem ir ļoti vienkārši, piemēram, automātisko durvju atvēršana. Citi var būt daudz sarežģītāki, piemēram, autonoma automašīna, kas pārvietojas pilsētas vidē. Neatkarīgi no tā, cik sarežģīts ir uzdevums, to var sadalīt vienkāršākos uzdevumos. Šie uzdevumi ir pazīstami kā uzvedība, un tie ir robotikas programmēšanas pamatelementi.

Uzvedība ir veids, kā robots darbojas, un tas var būt ļoti sarežģīts atkarībā no tā, kā robots ir uzbūvēts vai ieprogrammēts. Vienkāršam mobilajam robotam, piemēram, VEX V5 Speedbot, ir tikai divi motori, savukārt Clawbot ir četri motori, tostarp divi papildu motori rokai un spīlei. Abu robotu rīcība ietvers šo motoru pagriešanu, lai sasniegtu izvirzītos mērķus. Izmantojot plašāku dizainu un programmēšanu, varat sākt no šīs vienkāršās darbības un veikt sarežģītākas darbības.

Zemāk ir saraksts ar robotu uzvedību, kas kļūst no vienkāršas līdz sarežģītai gan Speedbot, gan Clawbot. Iekavās varat redzēt vienkāršākos uzvedības veidus, kas veido katru no tiem.

  • Pagrieziet motoru, kas piešķirts noteiktam portam

  • Brauciet uz priekšu (pagrieziet gan kreiso, gan labo motoru, izmantojot piedziņu)

  • Brauciet 5 metrus (brauciet uz priekšu, tad apstājieties)

  • Satveriet tālu objektu (nobrauciet 2 metrus, pagrieziet spīļu motoru, lai to satvertu)

  • Paņemiet priekšmetu un novietojiet to uz augsta plaukta (satveriet tālu esošu priekšmetu, apgriezieties, nobrauciet 2 metrus, izmantojiet roku un spīļu motorus, lai paceltu un atbrīvotu priekšmetu)

Varat redzēt, kā jebkuru sarežģītāku uzvedību var dekonstruēt vienkāršākā uzvedībā. Tie kļūst par jebkura sarežģīta uzdevuma pamatelementiem.

Skolotāju padomu ikona Skolotāju padomi

  • Uzdodiet studentiem sadalīt sarežģīto robotu uzvedību mazākos, vienkāršos soļos. Šis process ir pazīstams kā sadalīšanās.

  • Paskaidrojiet studentiem, ka sarežģītas uzvedības sadalīšana (sadalīšana) vienkāršākos uzdevumos ir svarīga plānošanas un programmēšanas sastāvdaļa.

  • Ļaujiet studentiem vadīt savus autonomos projektus, ja ir pietiekami daudz laika.

Paplašiniet savu mācību ikonu Paplašiniet savu mācīšanos

Lai savienotu šo darbību ar skaitļošanas domāšanu un sadalīšanu, palūdziet studentiem iezīmēt vai uzskaitīt uzvedības soļus, ko robots veiktu, lai pabeigtu tālāk norādītās darbības.

  • Pirmā aktivitāte: nobrauciet 1 metru un atgriezieties sākuma vietā.

  • Otrā aktivitāte: apgrieziet kastīti, kas atrodas 60 cm robota priekšā.

  • Trešā aktivitāte: paņemiet priekšmetu, sakratiet to, nobrauciet 30 cm, novietojiet priekšmetu uz zemes un atgriezieties sākuma punktā.

Motivēt diskusijas ikona Motivēt diskusiju

Studentiem ir jādalās ar uzvedības soļiem, ko viņi uzskaitīja iepriekš minētajā sadaļā Paplašiniet mācības. Katru no šiem jautājumiem var uzdot pēc jebkuras vai visām darbībām.

J: Kādus soļus vai uzvedību katra grupa uzskaitīja, lai veiksmīgi pabeigtu šo aktivitāti?
A: Studentiem būs jāņem vērā garums, kāds robotam jāpārvietojas, kā arī rokas kustība un ātrums, papildus jāuzskaita vienkāršas robota darbības, kas nepieciešamas, lai pabeigtu darbību vai uzdevumu (braukšana uz priekšu, atpakaļgaita, pagriešanās pa kreisi vai pa labi). Studentiem ir jāizveido savi uzvedības saraksti, lai katrs solis būtu attēlots.

J: Kādas bija šīs aktivitātes risinājumu (soļu sarakstu) līdzības un atšķirības?
A: Studenti veiks salīdzinājumus, pamatojoties uz saviem risinājumiem. Venna diagramma varētu būt labs veids, kā organizēt skolēnu kopīgos soļus. Ja lielākā daļa skolēnu nosauc konkrētu soli, pievienojiet to centram, kur apļi pārklājas. Ja tikai viens vai daži skolēni nosauc konkrētu soli, pievienojiet to vienam vai otram lokam. Kad tas ir izdarīts, centrā esošajiem soļiem jābūt ticami vienkāršiem un tos nevar sīkāk sadalīt, turpretim soļiem, kas uzskaitīti tikai vienā no apļiem, visticamāk, nav tik vienkārši, kā varētu būt. Tomēr šis modelis var mainīties atkarībā no klases pieredzes sarežģītās uzvedības sadalīšanā to vienkāršākajās darbībās.

J: Vai bija līdzības ar veiksmīgiem risinājumiem? Ja jā, kādi tie bija?
A: Visveiksmīgākie risinājumi bija tie, kas ietvēra vislielāko detaļu un specifiku. Robots ir ieprogrammēts valodā ar ļoti specifisku uzvedību, kas ir sadalīta to mazākajos komponentos. Piemēram, var būt ierasts teikt, ka robots "nobrauc 1 metru un atgriežas sākuma vietā", taču programmēšanas laikā šo augsta līmeņa aprakstu nav viegli iztulkot. Jums tas ir jāsadala tālāk: brauc uz priekšu 1 metru, pagriežas par 180 grādiem un brauc uz priekšu par 1 metru. Bet pat tas var nebūt pietiekami precīzs, un jums ir nepieciešams šāds detalizācijas līmenis, lai būtu gatavs programmēšanai: iestatiet piedziņas un pagrieziena ātrumu uz 40%, brauciet uz priekšu 1 metru, pagaidiet 3 sekundes, pagriezieties pa kreisi par 180 grādiem, pagaidiet 1 sekundi. , un brauciet uz priekšu 1 metru. Jo tālāk mēs sadalām sarežģītās uzvedības metodes, lai padarītu tās programmēšanai gatavus robotu uzvedību, jo labāk esam sagatavoti projekta pabeigšanai.