Ang Mindstorm EV3 ay isang robot mula sa LEGO na kinokontrol ng isang mobile phone. Mga LEGO Robot

Ang seksyon na ito ay nagpapakita ng iba't ibang mga Lego robot. Simula sa Mindstorms - isang robot para sa mga advanced na user at maging sa mga propesyonal, na nagtatapos sa mga character ng mga alamat: Hero Factory, Ninjago, Chima, atbp.


Simulan natin ang ating kwento sa isang hindi pangkaraniwang laruang Lego - isang electronic interactive na robot batay sa NXT 2.0 processor! Kahit na ang isang 10-12 taong gulang na bata ay maaaring tipunin ito sa tulong ng mga tagubilin! Ang mga mindstorm ng LEGO Robots ay mag-apela hindi lamang sa mga bata, kundi pati na rin sa kanilang mga magulang, dahil ito ay napaka-functional at ang mga posibilidad sa programming nito ay tunay na walang limitasyon! Maaari kang magdisenyo ng iyong sariling mga programmable na modelo!

Ang pag-program ng robot ay napaka-maginhawa sa pamamagitan ng user-friendly na interface ng programa, na maaaring mai-install mula sa disk! Kung ninanais, maaari kang pumili ng isang hanay ng mga function gamit ang key combination sa central control unit. Ang robot ay may napakahusay na pag-andar, na nakakamit sa pamamagitan ng mga interactive na servomotor at mga espesyal na sensor na tumutugon sa liwanag, tunog, mekanikal na impluwensya at iba pang panlabas na stimuli!

Ang mga mindstorm ay maaaring lumipat sa iba't ibang direksyon, maglaro ng mga tunog, makilala ang mga kulay, mag-solve ng Rubik's cube, pumili ng mga magaan na bagay, bantayan ang isang silid, kontrolin ang isang Lego na tren o kotse mula sa malayo at marami pang iba! Bilang karagdagan sa mga karaniwang sensor na ibinibigay sa paunang kit, maaari kang bumili ng iba't ibang mga accessory: iba't ibang mga sensor, adapter, motor, baterya at marami pa, na makabuluhang magpapalawak ng mga kakayahan ng iyong Lego robot!

Ang mga tagubilin, na nasa software disk, ay nag-aalok ng ilang inisyal, madaling i-assemble na mga modelo ng mindstorm: Robogator, Colored Ball Sorter, Room Watchman at ilang iba pa.

Ang iyong anak ay hindi kailanman magsasawa, at ang pag-aaral ng disenyo at mga kasanayan sa programming sa isang mapaglarong paraan ay isa ring napaka-edukasyon na aktibidad!

Ang isa pang serye ay Hero Factory. Ang mga bida sa Hero Factory series ay napakakulay na nilalang, hybrid sila ng tao at robot at ang pangalan nila ay cyborgs! Ang mga robot figure ay may mga movable arm at legs, may hawak silang iba't ibang armas na tumutulong sa kanila na labanan ang mga sangkawan ng mga mutant na naglilingkod sa Fire Lord.

Ang seryeng Hero Factory na ito ay isang analogue ng Bionicles, kaya malugod itong tatanggapin ng mga tagahanga ng mga cartoons tungkol sa mga robot.

Kabilang sa mga karakter ay parehong mabubuti: Stormer, Furno, Breeze at iba pa, at mga negatibong karakter: Drilldozer, Jetbug, Vaughn Nebula, na sumusunod sa makapangyarihan at masamang Fire Lord. Subukang kolektahin ang buong koleksyon ng LEGO Robot Hero Factory figure at ayusin ang sarili mong laban para sa tagumpay ng kabutihan at katarungan!

Nangangarap ba ang iyong anak na bumuo at magprogram ng isang robot na tutuparin ang lahat ng kanyang mga utos? Pagkatapos ay mahigpit naming inirerekumenda na ibaling mo ang iyong pansin sa natatanging serye ng mga hanay ng konstruksiyon mula sa sikat sa mundong kumpanyang Danish na Lego Robots.

Ang serye ng Lego Mindstorms ay isang espesyal na tagumpay ng kumpanya ng Lego. Ang bagay ay ang mga taga-disenyo na ito ay batay sa electromechanics at robotics, na nangangahulugang magiging interesado sila sa mga may orihinal na pag-iisip at mahusay na imahinasyon, pati na rin ang kaalaman at pag-unawa sa lahat ng mga teknikal na proseso na nagaganap. Iyon ang dahilan kung bakit madalas ang set ng Lego Robots ay nagiging paboritong laruan hindi lamang para sa mga bata sa edad ng high school, ngunit isang libangan din para sa kanilang mga ama at maging sa mga lolo.

Sa pagbili ng Lego Mindstorms construction set, makakakuha ka ng:

Ang pinaka-kagiliw-giliw na laro ng konstruksiyon

Ang Lego Robots ay isang produkto sa paggawa kung saan ginamit ang pinakabagong mga teknolohiya sa larangan ng robotics. Ang mga laruan mula sa serye ng Lego Mindstorms ay may ilang mga motor, karagdagang mga sensor at isang display ng kulay. Nagagawa ng Lego Robots na makuha ang imahinasyon ng lahat ng makaharap sa kanila sa unang pagkakataon, dahil kumikilos sila na parang mga buhay na nilalang. Ang Lego Mindstorms ay tumutugon sa pagpindot at tunog, at natutukoy ang temperatura ng isang bagay at distansya. Maaari silang dumating kapag narinig nila ang iyong pagpalakpak, kunin ang mga bagay na malapit, at makilala ang pagkakaiba sa pagitan ng kadiliman at liwanag. Ang lahat ng ito ay medyo kumplikado, ngunit ipinapakita ng pagsasanay na ang sinumang bata na nagmamay-ari ng isang computer sa antas ng gumagamit ay madaling mag-program ng isang constructor mula sa serye ng Lego Robots, na lumilikha ng kanyang sariling personal na robot. Tandaan na ang mga utos sa laruang Lego Mindstorms ay maaaring ibigay hindi lamang mula sa isang computer, kundi pati na rin mula sa anumang mobile phone na may naka-install na Bluetooth.

Malaking pagkakataon para sa pagbuo ng pagkamalikhain

Ang set ng Lego Robots ay binubuo ng higit sa 500 mga bahagi, na ginagawang posible na mag-ipon ng isang malaking bilang ng iba't ibang mga pagbabago ng mga robotic constructor: isang mythological na hayop na nabubuhay lamang sa iyong mga pantasya, isang humanoid robot, isang kotse ng hinaharap, atbp.

Dekalidad na produkto

Bago ang paglulunsad ng mass production ng mga construction set, ang lahat ng kanilang mga bahagi ay nasubok para sa lakas sa mga test bench. Ang bawat elemento ng Lego Robots ay idinisenyo upang tumagal ng higit sa 50,000 clutch cycle. Walang mga mabibigat na metal o iba pang materyal na nakakapinsala sa kalusugan ang ginagamit upang makagawa ng mga plastik na elemento ng Lego Mindstorms.

Maaari tayong mag-usap nang walang katapusan tungkol sa mga kakayahan sa pag-unlad ng mga konstruktor ng Lego Mindstorms. Ang Lego Robots ay hindi lamang tungkol sa pagkilala sa mga pinakabagong teknolohiya, kundi pati na rin sa paggamit ng mga ito. Ang mga batang may-ari ng Lego Mindstorms ay magiging hindi kapani-paniwalang maipagmamalaki at masaya kapag sila ay sumulat at nag-load ng kanilang unang computer program sa robot. At hindi na kailangang pag-usapan ang tungkol sa pagmamalaki ng mga magulang sa kanilang minamahal na anak, na madaling makayanan ang mga pinakabagong teknolohiya!

Ang pang-adultong laruang Lego Robots ay nanalo na ng milyun-milyong tagahanga sa buong planeta at ang kanilang bilang ay dumadami lamang araw-araw. Ngayon, mayroon nang mga buong club na nakatuon sa mga constructor ng Lego Mindstorms, kung saan tinatalakay ng mga tao ang mga paraan upang mapabuti ang mga function ng Lego Robots, ibahagi ang kanilang mga tagumpay, pagtuklas, atbp.

Bumili ng Lego set mula sa aminMindstormsat lumikha ng mga laruan na tiyak na mabubuhay sa iyong mga kamay!

Ang seksyong ito ay nagpapakita ng mga set ng Lego na naglalaman na ng mga elemento ng Power Functions o ang kanilang functionality ay maaaring palawakin gamit ang mga elemento ng Power Functions. Susunod, maaari mong gawing pamilyar ang iyong sarili sa mga kakayahan ng mga elemento ng Power Functions at matutunan kung paano magagamit ang mga ito upang mapataas ang functionality ng iba't ibang Lego set.

Ano ang Power Functions?
Ang LEGO Power Functions ay isang bagong electrical system na may malalakas na motor at remote control.

Paano gumagana ang Power Functions?
Ang kompartimento ng baterya ay nagbibigay ng kapangyarihan sa system. Kung ikabit mo ang isang motor sa connector, magsisimula itong iikot sa isang direksyon o iba pa, depende sa posisyon ng switch. Ang isang kumikinang na berdeng indicator ay nagpapahiwatig na ang power ay naka-on. Kapag nasa gitnang posisyon ang switch, naka-off ang power.


Ang remote control at infrared na receiver ay nagtutulungan - ang remote ay nagpapadala ng mga infrared na signal upang kontrolin ang receiver. Ang huli ay may 2 konektor para sa pagkonekta ng mga motor. Sa pamamagitan ng pagpindot sa isa sa dalawang lever pasulong o paatras, inilalapat mo ang kapangyarihan sa motor na konektado sa isa sa mga output ng receiver, at nagsisimula itong umikot sa isang direksyon o sa iba pa. Kung ang mga kontrol ay tila hindi lohikal (halimbawa, ang modelo ay pasulong kapag itinulak mo ang lever pabalik), maaari mong gamitin ang switch ng direksyon upang baligtarin ang direksyon ng pag-ikot ng motor na konektado sa kaukulang output.


Ang remote control system ay may 4 na channel. Ang channel ay lumipat sa remote control at ang receiver ay dapat na nakatakda sa parehong posisyon para makontrol ng remote control ang receiver na iyon. Kaya 4 na bata ay maaaring maglaro sa iba't ibang mga channel sa parehong oras, o maaari kang bumuo ng 4 na receiver sa isang modelo at sa gayon ay may kontrol sa walong magkakaibang mga function.

Anong mga baterya ang kailangan?
Compartment ng baterya: 6 na laki ng AA na baterya (AA) - alkaline o rechargeable na baterya

Control panel:
3 AAA na baterya

Paano mag-install ng mga baterya?
Compartment ng baterya: Alisin ang mga takip sa magkabilang gilid at magpasok ng 3 AA na baterya sa bawat panig, na obserbahan ang polarity na nakasaad sa ibaba.

Control panel:
Alisin ang turnilyo sa likod ng remote, tanggalin ang takip at ipasok ang 3 AA na baterya sa bawat panig, na obserbahan ang polarity na ipinahiwatig sa ibaba.

Mahalagang palitan ang lahat ng baterya nang sabay-sabay - huwag paghaluin ang luma at bago - ang mga ginamit na baterya ay maaaring tumagas o maging mainit.

Gaano katagal ang mga baterya?
Baterya Compartment: Humigit-kumulang 4 na oras ng paggamit kapag nagmamaneho ng mabigat na modelo tulad ng Bulldozer.

Control panel:
2-3 taon

Ano ang nagpapahiwatig na oras na upang palitan ang mga baterya?
Kompartimento ng baterya:
Mas mabagal ang pag-ikot ng mga motor. Palitan ang mga baterya kung bumababa ang bilis/kapangyarihan ng modelo.

Control panel:
Ang distansya kung saan posible ang kontrol ay nabawasan.

Bakit gumana lang ang aking modelo sa loob ng maikling panahon pagkatapos kong palitan ang mga baterya?
1. Tiyaking palitan mo ang lahat ng 6 na baterya, hindi lamang ang 3 sa isang gilid.
2. Gumamit ng alkaline o rechargeable na mga baterya
3. Tandaang patayin ang power sa kompartamento ng baterya kapag hindi ginagamit.

Bakit mabagal ang pagtakbo ng aking modelo?
May tatlong posibleng dahilan:
1. Siguraduhing walang makakasagabal sa normal na transmission mula sa motor papunta sa mga gumagalaw na bahagi, hindi umiikot ang mga gear, atbp.
2. Tiyaking gumagamit ka ng mga bagong baterya
3. Masyadong maraming mga motor na tumatakbo nang sabay-sabay at sa ilalim ng mabigat na karga.

Ilang motor ang maaaring tumakbo nang sabay-sabay mula sa isang kompartimento ng baterya?
Bilang isang tuntunin, maaari kang magpatakbo ng 2 XL na motor o 4 na regular na motor sa parehong oras. Ang kompartamento ng baterya at infrared na receiver ay protektado mula sa labis na karga, kaya ang pagsisikap na patakbuhin ang mas maraming motor sa parehong oras ay hindi makakasakit ng anuman.

Kapag pinagana ang proteksyon sa labis na karga, babawasan ng kahon ng baterya o infrared na receiver ang power na ipinadala sa mga motor hanggang sa umabot sa mga limitasyon ang paggamit ng kuryente. Upang maibalik ang kuryente, bawasan ang pagkarga sa motor, o patayin ang mga hindi kinakailangang motor. Ang enerhiya na natupok ng motor ay nakasalalay sa pagkarga dito. Sa isang makatwirang (nominal) na pagkarga, ang motor ay gumagana nang mas mahusay. Kung may humahadlang sa pag-ikot ng motor, ito ay kumonsumo ng mas maraming enerhiya. Ang XL motor ay kumukonsumo ng humigit-kumulang dalawang beses na mas maraming enerhiya kaysa sa isang maginoo na motor.

Paano kung hindi gumana ang aking modelo?
1. Tiyaking gumagamit ka ng mga bagong baterya sa kompartamento ng baterya at remote control.
2. Tiyaking konektado nang tama ang lahat.
3. Tiyaking nakailaw ang berdeng ilaw sa kompartamento ng baterya.
4. Siguraduhing nakailaw ang berdeng ilaw sa infrared receiver.
5. Siguraduhin na ang infrared na receiver ay tumatanggap ng mga signal mula sa remote control.
6. Siguraduhing walang nakaharang sa pag-ikot ng mga motor.

Paano ko matitiyak na ang infrared na receiver ay tumatanggap ng mga signal mula sa remote control?
1. Dapat na naiilawan ang berdeng indicator sa infrared receiver.
2. Ang berdeng indicator sa remote control ay umiilaw kapag nagpadala ng mga signal.
3. Tiyaking nakatakda ang remote control at receiver sa parehong channel.
4. Ang berdeng indicator sa receiver ay kumikislap kapag tumatanggap ng mga signal.

Mula sa anong distansya maaari itong kontrolin?
Ito ay nakasalalay sa isang pulutong - sa ilalim ng normal na mga kondisyon ang distansya ay maaaring lumampas sa 10 metro.

Ang magagamit na distansya ay nabawasan:
. Maliwanag na sikat ng araw
. Mga patay na baterya sa control panel
. May humaharang sa mga signal sa kanilang dinadaanan

Karagdagang impormasyon at komento.

  • Ang mga lever sa remote control ay maaari lamang nasa tatlong nakapirming posisyon - pasulong, paatras at neutral. Ang bilis ng pag-ikot ng mga motor ay pare-pareho sa bawat kaso. Bukod dito, ito ay isang tampok ng remote control - dahil ang mga infrared receiver mismo ay naglalaman ng mahusay na pag-andar, kabilang ang kakayahang ayusin ang bilis ng pag-ikot ng mga motor gamit ang pulse width modulation.
  • Ang mga infrared na receiver ay gumagana lamang sa mga bagong kompartamento ng baterya - hindi sila gumagana sa mga luma sa pamamagitan ng isang adaptor.
  • Sa kabila ng limitasyon ng dalawang XL na motor, posible na gumamit ng dalawang XL na motor nang sabay-sabay upang itulak, sabihin, isang kotse, at sa parehong oras ay pana-panahong "patnubayan" sa isang pangatlong maginoo na motor.
  • Ang XL motor ay naglalaman ng "teknikal" na mga butas sa harap at mga gilid para sa paglakip ng modelo, ang regular na motor ay naglalaman ng mga butas sa harap at isang karaniwang Lehov na plato sa ibaba sa ibaba.
  • Ang bilis ng pag-ikot ng isang diskargado na conventional motor ay 405 rpm, XL ay 220 rpm. Kapag gumagamit ng mga rechargeable na baterya (kabuuang boltahe 7.2 volts), ang bilis ay nababawasan ng humigit-kumulang isa at kalahating beses.
  • Posible na sa malapit na hinaharap ay maglalabas sila ng hindi bababa sa isang bagong control panel - na may kakayahang kontrolin ang bilis ng pag-ikot ng mga motor - ang naturang pag-andar ay itinayo na sa IR receiver.
  • Ang Power Function ay may mga "through" connectors. Ibig sabihin, higit sa isang device ang nakakonekta sa isang output - bawat isa lang sa tabi ng isa. Kaya, maaari mong ikonekta ang dalawang motor sa isang output ng infrared na receiver at i-on ang mga ito nang sabay-sabay sa isang pingga.

Inilalarawan ng artikulo ang karanasan sa paggamit ng Lego Mindstorms EV3 constructor upang lumikha ng prototype ng isang robot kasama ang kasunod nitong software at manu-manong kontrol gamit ang Robot Control Meta Language (RCML).

  • Pag-assemble ng robot na prototype batay sa Lego Mindstorms EV3
  • Mabilis na pag-install at pagsasaayos ng RCML para sa Windows
  • Software control ng robot batay sa EV3 controller
  • Manu-manong kontrol ng mga peripheral ng robot gamit ang keyboard at gamepad
Sa hinaharap, idaragdag ko na upang ipatupad ang kontrol ng isang Lego robot gamit ang isang keyboard, kailangan mong lumikha ng isang programa na naglalaman lamang ng 3 linya ng code ng programa. Higit pang mga detalye sa kung paano gawin ito ay nakasulat sa ilalim ng hiwa.

1. Upang magsimula, isang robot na prototype ang ginawa mula sa Lego Mindstorms EV3 constructor, na gagamitin para sa programming at manual piloting.

Paglalarawan ng prototype ng robot

Ang robot ay may disenyong katulad ng isang chassis ng kotse. Ang dalawang motor na naka-mount sa frame ay may isang karaniwang axis ng pag-ikot, na konektado sa mga gulong sa likuran sa pamamagitan ng isang gearbox. Ang gearbox ay nagko-convert ng torque sa pamamagitan ng pagtaas ng angular velocity ng rear axle. Ang pagpipiloto ay binuo sa batayan ng isang bevel gear.



2. Ang susunod na hakbang ay ihanda ang RCML para sa pagtatrabaho sa Lego Mindstorms EV3 constructor.

Dapat kang mag-download ng mga archive na may mga executable na file at library file at .

Ang mga na-download na archive ay dapat na i-extract sa isang direktoryo na may arbitrary na pangalan, ngunit dapat mo iwasan Mga letrang Ruso sa pamagat.

Mga nilalaman ng direktoryo pagkatapos i-unpack ang mga archive dito



Susunod, kailangan mong lumikha ng configuration file na config.ini, na dapat na matatagpuan sa parehong direktoryo. Upang ipatupad ang kakayahang kontrolin ang EV3 controller gamit ang isang keyboard at gamepad, dapat mong ikonekta ang mga module ng lego_ev3, keyboard at gamepad.

Listahan ng config.ini configuration file para sa RCML

Module = lego_ev3 module = keyboard module = gamepad


Susunod, kailangan mong ipares ang EV3 controller at adapter.

Mga tagubilin para sa pagpapares ng EV3 controller at Bluetooth adapter

Ang mga tagubilin ay naglalaman ng isang halimbawa ng pagpapares ng Lego Ev3 controller at isang PC na nagpapatakbo ng Windows 7 operating system.

1. Kailangan mong pumunta sa seksyon ng mga setting ng Ev3 controller, pagkatapos ay sa item ng menu na "Bluetooth".

2. Tiyaking nakatakda nang tama ang mga parameter ng pagsasaayos. Dapat lagyan ng check ang mga checkbox sa tabi ng mga item na "Visibility", "Bluetooth".

3. Kailangan mong pumunta sa “Control Panel”, pagkatapos ay “Devices and Printers”, pagkatapos ay “Bluetooth Devices”.

4. Dapat mong i-click ang button na "Magdagdag ng device". Magbubukas ang isang window para pumili ng mga available na Bluetooth device.

5. Piliin ang "EV3" na device at i-click ang "Next" button.

6. Ipinapakita ng EV3 Controller ang dialog box na "Kumonekta?" Kailangan mong piliin ang opsyon sa checkbox at kumpirmahin ang iyong pinili sa pamamagitan ng pagpindot sa center key.

7. Susunod, ipapakita ang dialog box na "PASSKEY", ang mga numerong "1234" ay dapat ipahiwatig sa linya ng input, pagkatapos ay dapat mong kumpirmahin ang key phrase para sa pagpapares ng mga device sa pamamagitan ng pagpindot sa center key sa posisyon na may check mark.

8. Sa wizard ng pagpapares ng device, lalabas ang isang form para sa pagpasok ng key para sa pagpapares ng mga device. Kailangan mong ipasok ang code na "1234" at pindutin ang pindutan ng "Next".

10. Sa PC, kailangan mong bumalik sa "Control Panel", pagkatapos ay "Mga Device at Printer", pagkatapos ay "Mga Bluetooth Device". Ipapakita ng listahan ng mga available na device ang device na ipinares.

11. I-double-click upang pumunta sa mga katangian ng koneksyon na "EV3".

14. Ang COM port index na tinukoy sa mga katangian ay dapat gamitin sa config.ini configuration file ng lego_ev3 module. Ipinapakita ng halimbawa ang mga katangian ng koneksyon sa Bluetooth ng isang Lego EV3 controller gamit ang isang karaniwang COM14 serial port.


Ang karagdagang pagsasaayos ng module ay bumaba sa katotohanan na kinakailangang isulat sa configuration file ng lego_ev3 module ang address ng COM port kung saan isinasagawa ang komunikasyon sa Lego robot.

Listahan ng config.ini configuration file para sa lego_ev3 module

Koneksyon = COM14 dynamic_connection = 0


Ngayon ay kailangan mong i-configure ang module ng keyboard. Ang module ay matatagpuan sa control_modules na direktoryo, pagkatapos ay keyboard. Dapat kang lumikha ng configuration file na config.ini sa tabi ng keyboard_module.dll file. Bago ka gumawa ng configuration file, kailangan mong matukoy kung anong mga aksyon ang dapat gawin kapag pinindot ang mga key.

Nagbibigay-daan sa iyo ang module ng keyboard na gumamit ng mga key na may partikular na numeric code. Maaari mong tingnan ang talahanayan ng mga virtual key code.

Bilang halimbawa, gagamitin ko ang mga sumusunod na keystroke:

  • Ang pataas/pababang mga arrow ay ginagamit upang paikutin ang rear wheel motor pasulong/paatras
  • Pakaliwa/kanan ang mga gulong sa kaliwa/kanang mga arrow
Inilalarawan ng configuration file ng keyboard module kung aling mga axes ang magagamit ng programmer upang makipag-ugnayan sa robot sa manual control mode. Kaya, sa halimbawa mayroong dalawang control group - ito ang mga keyboard axes. Upang magdagdag ng bagong axis, dapat kang sumunod sa mga sumusunod na panuntunan para sa paglalarawan ng mga axes.

Mga panuntunan para sa paglalarawan ng mga palakol para sa module ng keyboard

1. Kapag nagdadagdag ng bagong axis, ito ay kinakailangan sa seksyon magdagdag ng property na ang pangalan ay ang pangalan ng axis at italaga dito ang halaga ng keyboard button sa HEX format, at ang isang katulad na tala ay nilikha para sa bawat pindutan, i.e. ang isang pangalan ng axis ay maaaring gamitin nang maraming beses. Sa pangkalahatan, pagsulat sa isang seksyon magiging ganito ang hitsura:

Axis_name = keyboard_button_value_in_HEX_format
2. Kinakailangang itakda ang maximum at minimum na halaga na maaaring i-plot sa kahabaan ng axis na ito. Upang gawin ito, kailangan mong magdagdag ng isang seksyon sa configuration file sa isang bagong linya config.ini, kapareho ng pangalan ng axis, at itakda ang mga katangian upper_value At lower_value, na tumutugma sa maximum at minimum ng axis, ayon sa pagkakabanggit. Sa pangkalahatan, ganito ang hitsura ng seksyong ito:

[axis_name] upper_value = maximum_axis_value lower_value = minimum_axis_value
3. Susunod, kailangan mong tukuyin kung anong halaga ang magkakaroon ng axis kung pinindot mo ang isang pindutan sa keyboard na dating naka-attach dito. Natutukoy ang mga halaga sa pamamagitan ng paglikha ng isang seksyon, ang pangalan nito ay binubuo ng pangalan ng axis at ang halaga ng pindutan ng keyboard sa HEX format, na pinaghihiwalay ng isang underscore. Upang itakda ang default (hindi pinindot) at pinindot na estado, gamitin ang mga katangian unpressed_value At pressed_value ayon sa pagkakabanggit, kung saan inililipat ang mga halaga. Ang pangkalahatang view ng seksyon sa kasong ito ay ganito ang hitsura:

[axis-name_keyboard-key-value] pressed_value = axis_value when_key_pressed unpressed_value = axis_value_when_key_pressed
Ang teksto ng spoiler ay kinopya mula sa dokumentasyon ng RCML para sa kadalian ng pagtingin.


Upang ipatupad ang kontrol ng robot prototype, isang configuration file para sa keyboard module ay ginawa, na kinabibilangan ng go at rotate axes. Ang go axis ay ginagamit upang itakda ang direksyon ng paggalaw ng robot. Kapag pinindot mo ang "pataas na arrow" na key, ang axis ay makakatanggap ng halaga na 100 kapag pinindot mo ang "pababang arrow" na key, ang axis ay makakatanggap ng halaga na -50; Ang rotate axis ay ginagamit upang itakda ang anggulo ng pagpipiloto ng mga gulong sa harap. Kapag pinindot mo ang kaliwang arrow key, ang halaga ng axis ay magiging -5, kapag pinindot mo ang kanang arrow key, ang halaga ng axis ay magiging 5.

Listahan ng config.ini configuration file para sa keyboard module

; Kinakailangang seksyon ;axis_name = key_code (sa HEX format) ;go axis ay tumatanggap ng mga halaga mula sa up_arrow go = 0x26 ; go axis ay tumatanggap ng mga halaga mula sa go_down_arrow = 0x28 ; rotate axis ay tumatanggap ng mga halaga mula sa left_arrow rotate = 0x25 ;rotate axis tumatanggap ng mga value mula sa right_arrow rotate = 0x27 ;Deskripsyon ng go axis, dapat palaging may parehong key ; Upper limit ng go axis values ​​​​upper_value = -100 ; Lower limit ng go axis values ​​​​lower_value = 100 ; Paglalarawan ng rotate axis, dapat palaging may parehong key; Upper limit ng rotate axis values ​​​​upper_value = - 100 ; Lower limit ng axis values ​​​​rotate lower_value = 100 ; Paglalarawan ng gawi ng go axis para sa *up_arrow* key (0x26 ) ;Kapag pinindot ang *up_arrow* key, itakda ang axis value sa 50 pressed_value = 100 ;Kapag pinakawalan ang *up_arrow* key, itakda ang axis value sa 0 unpressed_value = 0 ;Paglalarawan ng gawi ng go axis para sa *down_arrow * key (0x28) ;Kapag pinindot ang *down_arrow* key, itakda ang axis value sa -50 pressed_value = -50 ; Kapag binitawan ang *down_arrow* key, itakda ang axis value sa 0 unpressed_value = 0 ;Paglalarawan ng gawi ng rotate axis para sa *left_arrow* key (0x25) ;Kapag pinindot ang *left_arrow* key, itakda ang axis value sa -5 pressed_value = -5 ; Kapag binitawan ang *left_arrow* key, itakda ang axis value sa 0 unpressed_value = 0 ;Paglalarawan ng ang pag-uugali ng rotate axis para sa key *right_arrow* (0x27) ;Kapag pinindot ang *right_arrow* key, itakda ang axis value sa 5 pressed_value = 5 ; Kapag binitawan ang *right_arrow* key, itakda ang axis value sa 0 unpressed_value = 0


Susunod, upang ipatupad ang kontrol gamit ang isang gamepad, kailangan mong i-configure ang module ng gamepad. Ang pag-configure sa module ay kinabibilangan ng paggawa ng configuration file na config.ini sa tabi ng gamepad_module.dll, na matatagpuan sa control_modules na direktoryo, pagkatapos ay gamepad.

Universal module configuration file para sa pakikipag-ugnayan sa isang gamepad

;Kinakailangan na seksyon na naglalarawan sa mga axes na ginamit ;Axis to end manual control mode Exit = 9 ; 11 binary axes na naaayon sa mga button ng gamepad B1 = 1 B2 = 2 B3 = 3 B4 = 4 L1 = 7 L2 = 5 R1 = 8 R2 = 6 start = 10 T1 = 11 T2 = 12 ; 4 na axes ng sticks; 2 axes of the cross;Movement of the cross up/down arrowsUD = 17 ;Movement of the cross left/right arrowsLR = 18 ;Paglalarawan ng gawi ng B1 axis;Kapag pinindot ang B1 button, itakda ang axis value sa 1 upper_value = 1;Kapag binitawan ang button na B1, itakda ang axis value sa 0 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 1 lower_value = 1 lower_value 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 upper_value = 1 lower_value = 0 ;Paglalarawan ng gawi ng kanang stick axis na gumagalaw pataas/pababa ; Axis value kapag lumilipat sa maximum posibleng upper position upper_value = 0 ;Axis value kapag lumilipat sa maximum na posibleng lower position lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 upper_value = 0 lower_value = 65535 ;Paglalarawan ng axis ng D-pad /down na paggalaw ;Axis value kapag pinindot ang up arrow upper_value = 1 ;Axis value kapag pinindot ang down arrow lower_value = -1 upper_value = 1 lower_value = -1


Ang karagdagang impormasyon tungkol sa mga detalye ng pag-set up ng module ng gamepad ay ipinapakita sa reference manual ng RCML.

3. Ang susunod na hakbang ay ang pagsulat ng isang programa sa RCML.

Sa ugat ng nilikha na direktoryo, kailangan mong lumikha ng isang file ng programa. Ang pangalan ng file ng programa at ang extension nito ay maaaring anuman, ngunit dapat mong iwasan ang mga letrang Ruso sa pangalan. Ang pangalan ng file na ginamit sa halimbawa ay hello.rcml.

Para sa lego_ev3 module, ang robot reservation code ay may sumusunod na form:

@tr = robot_lego_ev3;

Ang lego_ev3 module connection page ay naglalarawan sa karamihan ng mga function na sinusuportahan ng controller. Bilang isang halimbawa ng pagsubok, nilikha ang isang programa upang awtomatikong ipasok ang robot sa isang skid.

Ang algorithm ng programa ay ang mga sumusunod:

Matapos ireserba ang unang libreng robot, ang isang koneksyon ay itinatag sa pagitan ng dalawang motor para sa kasunod na trabaho sa kanila na parang sila ay isa. Pagkatapos ang robot ay nagsimulang magsagawa ng mga drift. Ang isang paglalarawan ng software ng mga aksyon ng robot ay nagbibigay-daan sa iyo upang tumpak na itakda ang mga anggulo ng pag-ikot ng mga gulong sa harap at ang bilis ng pag-ikot ng mga gulong sa likuran. Ang paggamit ng diskarteng ito ay nagbibigay-daan sa iyo upang makamit ang mga resulta na mahirap kopyahin sa panahon ng manu-manong piloting gamit ang isang keyboard o gamepad.

Listahan ng programa para sa Lego robot sa wikang RCML

function main() (@tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization @tr->motorMoveTo("D",100 , 0,0); system.sleep(500); @tr->trackVehicleForward(-100); ); @tr->motorMoveTo("D",50,50,0);


Upang ipunin ang programa, dapat mong gamitin ang window command line. Una, dapat kang lumipat sa nilikha na direktoryo na may mga executable na file na rcml_compiler.exe at rcml_intepreter.exe. Susunod na kailangan mong ipasok ang mga sumusunod na command.

Utos na mag-compile ng hello.rcml file:

Rcml_compiler.exe hello.rcml hello.rcml.pc
Bilang resulta ng pag-compile, may lalabas na bagong file na hello.rcml.pc sa ginawang direktoryo.

Screenshot ng command line pagkatapos ng matagumpay na compilation



Ngayon ay dapat mong tiyakin na ang EV3 controller ay naka-on at ipinares sa Bluetooth adapter. Ang gamepad ay dapat na konektado sa PC. Pagkatapos nito, kailangan mong isagawa ang utos upang maisagawa ang file ng programa:

Rcml_intepreter.exe hello.rcml

Hitsura ng command line sa panahon ng pagpapatupad ng programa



Ang isang video na nagpapakita ng programa ng paggalaw ng robot ay matatagpuan sa ibaba ng artikulo.

4. Ang susunod na hakbang ay ang kontrolin nang manu-mano ang robot gamit ang keyboard.

Gamit ang keyboard, maaari mong kontrolin ang anumang robot motor. Ang halimbawa ay nagpapatupad ng kontrol sa mga sumusunod na mekanismo:

  • Anggulo ng pagpipiloto ng gulong sa harap
  • Direksyon ng pag-ikot ng mga gulong sa likuran

Listahan ng programa para sa pakikipag-ugnayan sa pagitan ng keyboard at ng Lego robot batay sa EV3 controller

function main() (@tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization system.hand_control(@tr,"keyboard", " straight"," go", "speedMotorD", "rotate");


Susunod, kailangan mong ipunin ang programa at patakbuhin ito. Ang resulta ng manu-manong pagkontrol sa isang Lego robot gamit ang isang keyboard ay ipinapakita sa video sa ibaba ng pahina.

5. Bilang karagdagan sa keyboard, may magagamit na module ng gamepad na nagbibigay-daan sa iyong manipulahin ang robot gamit ang isang gamepad. Upang ipatupad ang kontrol ng robot gamit ang isang gamepad, kinakailangan na ilarawan sa antas ng programa kung aling mga axes ng robot ang kukuha ng mga halaga ng mga axes ng gamepad.

Listahan ng programa para sa pakikipag-ugnayan sa pagitan ng gamepad at ng Lego robot

function main() (@tr = robot_lego_ev3; //Reserve the robot @tr->setTrackVehicle("B","C",0,0); //Setting motor synchronization system.hand_control(@tr,"gamepad", " straight", "RTUD", "speedMotorD", "RTLR");


Susunod, dapat mong ulitin ang proseso ng pag-compile ng programa at pagkatapos ay isagawa ito. Ipinapakita ng sumusunod ang resulta ng manu-manong pagkontrol sa isang Lego robot gamit ang isang gamepad, at lahat ng dating nakakonektang pamamaraan:

Maikling ipinapakita ng artikulong ito ang ilan lamang sa mga kakayahan ng RCML. Ang pinakadetalyadong paglalarawan ay matatagpuan sa reference manual.

Mga Tag:

  • lego mindstorms
  • robotics
  • programming
Magdagdag ng mga tag

Madali mong makokontrol ang robot, na binuo mula sa LEGO Mindstorms EV3 constructor, nang malayuan sa unang tao. Upang gawin ito, kakailanganin mo rin ng dalawang smartphone na may naka-install na RoboCam application sa isa sa mga ito. Tingnan natin ang RoboCam application at alamin kung paano ito gamitin.

Inilalarawan ng artikulo ang mga bagong feature na lumitaw sa unang bersyon ng bersyon 1.0 ng RoboCam application. Maaari mong mahanap ang lahat ng mga artikulo na nakatuon sa RoboCam application. Maaaring i-install ang RoboCam app mula sa Google Play Store.

Una, manood tayo ng video ng isang robot na kinokontrol sa unang tao, na tinawag kong EV3 Explorer. Bilang karagdagan sa katotohanan na ang robot ay maaaring magmaneho sa anumang direksyon, maaari itong itaas at ibaba ang ulo nito, i.e. frame kung saan nakakabit ang smartphone. Nangangahulugan ito na maaari kang tumingin hindi lamang sa paligid, kundi pati na rin pataas/pababa.

Ano ang kailangan upang maisagawa ang eksperimento?

Upang ulitin ang eksperimento na nakikita mo sa video, kakailanganin mo ang sumusunod:

  1. Robot, na binuo mula sa LEGO Mindstorms EV3.
  2. Android smartphone na may camera at ang RoboCam application na naka-install dito. Sinusuportahan ang Android 2.3 at mas mataas. Hindi bababa sa, ang isang smartphone ay dapat magkaroon ng hindi bababa sa isang camera, pati na rin ang mga module ng Bluetooth at Wi-Fi.
  3. Smartphone o tablet na may modernong browser na sumusuporta sa HTML5. Ang mga pinakabagong bersyon ng Google Chrome, Yandex.Browser, Firefox at Opera browser ay angkop at nasubok. Sa prinsipyo, ang operating system ay maaaring maging anuman (Android, iOS o Windows), ngunit ang buong pagsubok ay isinasagawa lamang sa Android. Ang isang smartphone o tablet ay dapat magkaroon ng kahit man lang touch screen (mas maganda kung may kahit man lang 2-point touch recognition) at isang Wi-Fi module.

Diagram ng koneksyon

Una, tingnan natin kung paano konektado sa isa't isa ang lahat ng device na nakalista sa itaas. Ito ay pinakamahusay na inilalarawan ng figure sa ibaba.

Tulad ng nakikita mo, ang RoboCam application ay naka-install sa smartphone 1. Ang smartphone na ito ay nakakabit sa robot at nakakonekta dito sa pamamagitan ng Bluetooth. Ang mga command na kumokontrol sa mga motor ay napupunta mula sa smartphone 1 hanggang EV3, at ang impormasyon mula sa mga sensor ay babalik.

Ang 2nd smartphone o tablet ay kumokonekta sa smartphone 1 sa pamamagitan ng Wi-Fi. Ang Smartphone 1 at smartphone o tablet 2 ay dapat na konektado sa parehong router. Ang mga coordinate ng joystick ay napupunta mula sa smartphone o tablet 2 hanggang sa smartphone 1, at ang video stream mula sa camera ay babalik.

Paano gumagana ang kontrol ng EV3?

Upang mas maunawaan kung paano kinokontrol ang EV3 robot, tingnan natin ang sumusunod na diagram.

Kapag sinimulan mong hawakan ang mga joystick A at B, ipinapadala ng Smartphone o Tablet 2 ang mga coordinate ng iyong mga pagpindot sa Smartphone 1, na ginagawang mga command para sa mga EV3 na motor. Kung paano na-convert ang mga coordinate ay depende sa mga setting ng application ng RoboCam. Pag-uusapan natin ang higit pa tungkol sa mga setting sa ibaba.

Pagtitipon ng isang robot

Upang ulitin ang eksperimento, una sa lahat, kailangan mong mag-ipon ng isang robot na iyong kontrolin. Maaari itong maging isang simpleng robot na may dalawang gulong, isang robot na kotse, o isang robot na may kumplikadong mekanismo ng paggalaw. Sa pangkalahatan, hindi mahalaga kung anong uri ng robot ang mayroon ka, dahil ang RoboCam program ay lubos na nako-customize, at magagamit mo ito upang makontrol ang isang robot ng anumang disenyo. Ang pangunahing bagay ay maaari kang mag-attach ng isang smartphone sa iyong robot upang ang camera ay nakadirekta pasulong, sa direksyon ng paggalaw.

Inirerekomenda kong magsimula sa isang simpleng modelo. Kung mayroon kang LEGO Mindstorms EV3 educational set, maaari mong buuin ang EV3 Explorer, na makikita mo sa larawan at video sa simula ng artikulo. Narito ang EV3 Explorer assembly diagram:

Mga tagubilin para sa pag-assemble ng EV3 Explorer Bersyon:2

Mga tagubilin para sa pag-assemble ng EV3 Explorer Robot mula sa LEGO Mindstorms Education EV3 Basic Educational Set (45544).

Sa bersyon 2: ang frame ay naayos nang mas matatag at hindi nahuhulog.

06/04/2016 4.95 MB 5783

Paghahanda ng Android smartphone at ang RoboCam application

Gumagana ang RoboCam application sa mga smartphone o tablet na tumatakbo sa Android 2.3 operating system at mas mataas. Sapilitan na ang device ay may anumang built-in na camera at Bluetooth at WiFi modules. Ang application ay libre at maaari mo itong i-install gamit ang Google Play store. Narito ang pahina ng aplikasyon ng RoboCam. Upang i-install, i-click ang "INSTALL" na buton at tanggapin ang mga kinakailangang pahintulot sa pamamagitan ng pag-click sa "ACCEPT" na buton.

Pagkatapos ng pag-install, buksan ang application. Sa Android 6 at mas bago, makikita mo kaagad ang isang kahilingan para sa pahintulot na gamitin ang camera. Kailangan talaga namin ng camera, kaya i-click ang "PAHINTULOT".

Pagkatapos magbukas ng application, makikita mo ang tatlong round button para sa mga pangunahing aksyon, at sa background ay isang larawan mula sa camera.

Ang berdeng button sa kaliwa ay may pananagutan sa pagsisimula at pagpapahinto sa RoboCam server, na kinakailangan upang ikonekta ang isang smartphone o tablet 2, tingnan ang diagram sa itaas. Kasabay nito, ipinapakita ng button kung tumatakbo ang server o hindi. Sa larawan, ang background ng pindutan ay puti, na nangangahulugan na ang server ay hindi gumagana. Ang pahiwatig sa itaas ay nagsasabi ng parehong bagay. Maaari mong simulan o ihinto ang server anumang oras sa pamamagitan ng pag-click sa button na ito.

Ang gitnang purple na button ay responsable para sa pagkonekta sa EV3 robot. Kasabay nito, ipinapakita ng button kung nakakonekta ang smartphone sa robot o hindi. Sa larawan, ang background ng pindutan ay puti, na nangangahulugan na ang robot ay hindi konektado. Ang button na ito ay mayroon ding tooltip, sa ibaba mismo ng button, kung saan ang katayuan ng koneksyon ay ipinapakita sa tuktok na linya (sa larawan ay nagsasabing "EV3 not connected"), at sa ilalim na linya ang pangalan ng kasalukuyang mga setting ng robot (sa larawan ito ay "EV3 Explorer").

Binubuksan ng button sa kanan ang mga setting ng RoboCam program. Kung gagamitin mo ang aking EV3 Explorer, hindi mo na kailangang i-configure ang anumang karagdagang, dahil Kaagad pagkatapos ng unang paglunsad ng application, ang mga default na setting na tinatawag na "EV3 Explorer" ay pipiliin. Kung iba ang iyong robot, kailangan mo munang mag-usisa sa mga setting. Ngunit pag-uusapan natin ito sa ibaba.

Pagsisimula sa RoboCam server at pagkonekta dito

Sasabihin ko kaagad na hindi mahalaga kung ano ang una mong gawin, simulan ang RoboCam server o ikonekta ang iyong smartphone sa robot. Ito ay maaaring gawin sa anumang pagkakasunud-sunod.

Kaya, pagkatapos na mai-install ang application sa smartphone 1 (tingnan ang mga diagram sa itaas) at mabuksan, maaari mong simulan ang RoboCam server. Upang gawin ito, mag-click sa berdeng pindutan sa kaliwa, ang pindutan ay magsisimulang kumurap, at ang tooltip ay magsasabi na "Initialize ang RoboCam server...". Pagkaraan ng ilang oras, pagkatapos magsimula ang server, magiging berde ang background ng button, at sasabihin ng tooltip na "Tumatakbo ang RoboCam Server."

Kung hindi pa nakakonekta ang iyong smartphone sa iyong Wi-Fi router (tulad ng nasa aming larawan), oras na para gawin ito. Pagkatapos kumonekta, ang address para sa pagkonekta sa RoboCam server ay ipapakita sa pangalawang linya sa itaas na prompt. Kapag ino-on ang server, walang pinagkaiba kung ano ang unang i-on, ang RoboCam server o Wi-Fi.

Maaari ka na ngayong kumonekta sa RoboCam server. Upang gawin ito, kumuha ng pangalawang smartphone o tablet (gagamit ako ng isang tablet), siguraduhin na ito ay konektado sa parehong Wi-Fi router, buksan ang browser at pumunta sa pahina na may address na ipinapakita sa tooltip sa ang RoboCam application (sa larawan ito ay "http ://192.168.1.153:8088"). Ang browser na kailangan mong gamitin ay isa sa mga inilarawan sa itaas. Kung ginawa mo nang tama ang lahat, ang isang pahina para sa pagpasok ng iyong login at password ay maglo-load sa browser. Ipasok ang iyong username at password dito at i-click ang pindutang "Login". Kung pagkatapos ng pag-install ay wala kang binago sa mga setting, kung gayon ang default na pag-login ay "admin" at ang password ay "123".

Pagkatapos nito, magbubukas ang pangunahing pahina ng RoboCam server, kung saan makikita mo ang isang larawan mula sa camera ng smartphone 1 (tingnan ang diagram sa itaas).

Tulad ng nakikita mo, ang oryentasyon ng smartphone 1 ay portrait, at ang sa aking tablet ay landscape. Maaari mong i-flip ang smartphone 1 upang ito ay nasa landscape na oryentasyon. Sa kasong ito, awtomatikong magiging landscape ang larawan sa tablet.

Pakitandaan na hindi nagbabago ang oryentasyon kung na-lock mo ang smartphone 1.

Upang ngayon ay gawing full screen ang larawan, mag-click sa icon sa kanang tuktok ng page. Aalisin nito ang lahat ng hindi kinakailangang button, mga bookmark ng browser, atbp., at magiging mas malaki ang larawan mula sa camera.

Pagkonekta ng RoboCam sa EV3

Bago ikonekta ang RoboCam app sa EV3, tiyaking ang iyong EV3 robot at smartphone ay naka-enable ang Bluetooth at ipinares. Tiyakin din na ang mga motor ay konektado sa eksaktong mga port na tinukoy sa mga setting ng robot. Ang pangalan ng kasalukuyang mga setting ay nakasulat sa tooltip ng gitnang button sa pangalawang linya, sa larawan sa ibaba, ito ay "EV3 Explorer". Kung na-assemble mo ang EV3 Explorer ayon sa aking scheme (tingnan sa itaas) at hindi binago ang mga setting pagkatapos i-install ang RoboCam application, pagkatapos ay siguraduhin na ang lahat ay na-configure nang tama. Ang mga setting ay ilalarawan nang detalyado sa ibaba.

Kaya, kung handa na ang lahat, mag-click sa gitnang purple na pindutan. Kung naka-off ang Bluetooth sa iyong smartphone, makakakita ka ng kahilingang i-on ito. I-click ang Oo.

Susunod, makikita mo na magsisimulang kumurap ang button, at sa halip na isang prompt, lalabas ang isang listahan ng mga device na ipinares sa pamamagitan ng Bluetooth. Piliin ang iyong EV3 robot dito (ito ay "EV3" sa larawan, ngunit maaari kang magkaroon ng ibang pangalan na nakatakda sa iyong mga setting ng EV3).

Ang app ay kokonekta sa EV3.

Kung sa oras na ito ang kliyente ay konektado sa RoboCam server, makikita mo ang mga joystick na lilitaw (parihaba at bilog na joystick sa larawan sa ibaba). Pagkatapos nito, maaari mong agad na kontrolin ang robot.

Sa mga default na setting para sa EV3 Explorer, magkakaroon ka ng dalawang joystick: isang bilog at patayo (tingnan ang larawan sa itaas). Kinokontrol ng vertical joystick ang frame-holder ng smartphone, at kinokontrol ng round joystick ang paggalaw ng robot. Ang icon ng palad sa kanang bahagi sa itaas ay nagpapalit ng mga joystick upang mabilis na lumipat sa pagitan ng kaliwa at kanang kamay na mga kontrol. Higit pang mga detalye tungkol sa mga joystick ay isusulat sa ibaba.

Ang pagpapahinto sa RoboCam Server at hindi pagpapagana ng EV3

Kapag natapos mo nang kontrolin ang robot, bago isara ang RoboCam app, inirerekomenda na ihinto mo ang RoboCam server at idiskonekta ang EV3 mula sa iyong smartphone. Ito ay maaaring gawin sa anumang pagkakasunud-sunod. Upang ihinto ang server, mag-click sa berdeng pindutan sa kaliwa. Pagkatapos nito, magiging puti ang background ng button at ipapakita ng tooltip ang "Naka-off ang RoboCam Server." Upang i-off ang EV3, pindutin ang gitnang purple na button. Pagkatapos nito, ang background ng button ay magiging puti, at sa tooltip sa tuktok na linya makikita mo ang inskripsyon na "EV3 ay hindi konektado." Sa kasong ito, ang mga motor ay titigil o babalik sa kanilang orihinal na posisyon depende sa mga setting.

Upang pumunta sa mga setting, mag-click sa grey na button sa kanan.

Ang mga setting ay nahahati sa 2 bahagi: mga setting ng server at mga setting ng robot. Tingnan muna natin kung ano ang nasa mga setting ng server. Piliin ang "Server".

Ang mga setting ng server ay nahahati sa 2 pangkat: mga setting ng camera at mga setting ng seguridad. Sa mga setting ng camera, maaari mong piliin ang camera (harap o likuran), laki ng imahe at kalidad ng JPEG. Kung mas maliit ang itinakda mo ang laki ng imahe, magiging mas makinis at mas mabilis ang paglilipat ng video sa kliyente, ngunit ang kalidad ng larawan ay lumalala. Ang paghahatid ng video at kalidad ng JPEG ay may magkatulad na epekto: mas maganda ang kalidad ng JPEG (90 porsiyento o higit pa), mas maganda ang larawan, ngunit mas mabagal ang bilis, at kabaliktaran, mas malala ang kalidad ng JPEG (40 porsiyento o mas mababa), ang mas mabilis ang bilis, ngunit mas masahol pa ang larawan. Piliin kung ano ang pinakamahusay para sa iyo.

Sa mga setting ng seguridad, maaari mong baguhin ang pangalan at password ng driver (bilang default, ang pangalan ay "admin" at ang password ay "123"). Ang mga tagamasid ay pinagana rin bilang default. Maaaring makita ng mga tagamasid ang larawan ng camera nang kasabay mo, ngunit hindi makokontrol ang robot. Maaari ka ring magtakda ng pangalan at password para sa tagamasid (ang default na pangalan dito ay "panauhin" at ang password ay "123"). Upang huwag paganahin ang mga nagmamasid, alisan ng check ang checkbox na "Pahintulutan ang mga tagamasid."

Ang bilang ng mga driver at tagamasid ay hindi limitado, gayunpaman, ang pagkonekta ng higit sa isang driver ay maaaring magdulot ng mga salungatan kapag sabay na kinokontrol at nagpapadala ng video stream. Hindi inirerekomenda na ikonekta ang higit sa isang driver sa RoboCam server. Ang isang malaking bilang ng mga tagamasid ay maaari ring negatibong makaapekto sa paghahatid ng video. Maipapayo na bawasan ang bilang ng mga tagamasid sa pinakamababa o ganap na huwag paganahin ang function na ito.

Pagkatapos baguhin ang mga setting, maaari mong i-save ang mga ito sa pamamagitan ng pag-click sa button na “SAVE” sa kanang tuktok o lumabas nang hindi nagse-save sa pamamagitan ng pag-click sa button na “CANCEL” o ang arrow sa kaliwang tuktok. Pagkatapos i-save ang mga setting ng server, maaaring madiskonekta ang mga kliyente at kakailanganing ikonekta muli.

Listahan ng mga setting ng robot

Ang pangalawang bahagi ng mga setting ng programa ng RoboCam ay ang mga setting ng robot. I-click ang "Robot" upang pumunta sa listahan ng mga setting ng robot.

Sa listahan ng mga setting ng robot, makikita mo ang mga setting para sa lahat ng iyong robot. Maaari kang magdagdag o magtanggal ng mga setting anumang oras sa pamamagitan ng pag-click, ayon sa pagkakabanggit, ang “ADD” o “DELETE” na button sa kanang tuktok. At sa ibaba mismo ng mga pindutan makikita mo ang kasalukuyang mga setting. Gamit ang item na ito, lumipat ka sa pagitan ng mga setting para sa iyong mga robot. Ngayon tingnan natin ang mga setting ng EV3 Explorer. Upang gawin ito, piliin ang "EV3 Explorer" mula sa listahan.

Sa pinakatuktok mayroong pangkalahatang impormasyon: ang pangalan ng robot at paglalarawan. Ang pangalan at paglalarawan ay ipinapakita sa isang listahan upang madali mong mahanap ang mga setting na kailangan mo. Ang pangalan ay ipinapakita din sa pangunahing screen ng programa sa ilalim ng gitnang pindutan kung saan ka kumonekta sa EV3. Nasa ibaba ang mga setting ng joystick.

Sa kabuuan, maaari kang mag-configure ng hanggang 4 na joystick, ngunit sa parehong oras ay isang pares lang ng joystick 1-2 o 3-4 ang makikita sa screen ng kliyente. Gayunpaman, kung gagamit ka ng joystick 1 at 3, hindi pa rin sila makikita sa parehong oras, dahil nabibilang sa iba't ibang pares, at makikita mo ang alinman sa joystick 1 o joystick 3. Ang visibility ng bawat joystick ay naka-on sa pamamagitan ng pagsuri sa " Visibility" Kung pinagana mo ang 2 pares ng joystick, lalabas ang isang button sa screen ng kliyente upang magpalipat-lipat sa mga pares.

Kaya, sa mga setting maaari mong makita ang mga pangkat na "Joystick 1", "Joystick 2", "Joystick 3" at "Joystick 4". Ang bawat isa sa kanila ay naglalaman ng mga setting para sa isang joystick. Tingnan natin ang mga setting para sa Joystick 1. Ang checkbox na "Visibility", tulad ng naintindihan mo na, ay nagpapakita o nagtatago ng joystick. Kung hindi naka-check ang checkbox, itatago ang mga setting para sa joystick na ito.

Nasa ibaba lang sa drop-down list " Form"Maaari mong piliin ang hugis ng joystick, at kasama ang hugis, ang mga katangian nito. Available ang mga sumusunod na hugis ng joystick: patayo, pahalang, bilog, parisukat, mga arrow, mga patayong arrow at mga pahalang na arrow. Narito ang hitsura ng mga nakalistang joystick:

Nararamdaman lang ng vertical joystick ang taas ng contact dito, i.e. wala siyang pakialam kung hinawakan mo siya sa kaliwa o sa kanan, ang pangunahing bagay ay kung anong taas. Ang touch coordinate para dito ay mula -100 sa pinakamababang punto hanggang 100 sa pinakamataas na punto na may 0 sa gitna.

Ang pahalang na joystick ay gumagana nang katulad, ngunit pahalang. Para sa kanya, hindi mahalaga kung anong taas ang nangyayari, ang pangunahing bagay ay kaliwa o kanan. Dito kinakalkula ang touch coordinate nang pahalang mula -100 sa pinakakaliwang punto hanggang 100 sa pinakakanang punto na may 0 sa gitna.

Ang mga bilog at parisukat na joystick ay magkatulad. Dito tinutukoy ang mga touch coordinates sa mga pahalang at patayong axes, sa hanay din mula -100 hanggang 100 na may 0 sa gitna. Ngunit sa isang bilog na joystick, ang mga pagpindot ay hindi maaaring lumampas sa bilog. Yung. kung ang punto ng tangency ay nasa labas ng bilog, kung gayon ang punto ay kukunin na nasa intersection ng linya mula sa punto ng tangency hanggang sa gitna ng bilog na may bilog. Ito ay makikita nang mas malinaw sa figure sa ibaba.

Ang mga arrow joystick ay hindi sensitibo sa touch point, ang pangunahing bagay ay kung aling arrow ang iyong hinawakan. Kung hahawakan mo ang pataas na arrow, ang patayong coordinate ng joystick ay itinuturing na 100, at ang pahalang na coordinate ay 0. Para sa pababang arrow, ang pahalang na coordinate ng joystick ay magiging 0 din, at ang patayong coordinate ay magiging - 100. Katulad din sa kaliwa at kanang mga arrow: ang patayong coordinate ng joystick ay magiging katumbas ng 0, at ang pahalang na coordinate ay magiging -100 at 100, ayon sa pagkakabanggit.

Kaagad sa ibaba ng form, piliin ang uri ng joystick sa drop-down na listahan " Uri" Dito maaari kang pumili mula sa mga sumusunod na opsyon: Independent Motors, Steering 1, Steering 2 at Letterbox.

Mga Joystick na may mga uri " Pagtaxi 1"At" Pagtaxi 2» nagbibigay-daan sa iyong kontrolin ang isang robot na may dalawang independiyenteng drive wheel, gaya ng EV3 Explorer. Ang mga coordinate ng pagpindot sa gayong mga joystick ay awtomatikong gagawing mga utos para sa mga motor. Para sa joystick, kakailanganin mo lamang na piliin kung aling port ang magkakaroon ng kaliwang gulong at kung alin ang magkakaroon ng kanang gulong. Ngunit ito ay isusulat tungkol sa ibaba.

Ang "Steering 1" ay magbibigay-daan sa iyo na kontrolin ang isang robot na may dalawang gulong tulad ng isang kotse. Dito hindi mo magagawang i-deploy ang robot sa lugar. Kung mas malapit ang pagpindot sa vertical center, mas mababa ang bilis. Ang pagpipiloto 2 ay nagpapahintulot sa robot na umikot sa lugar.

Joystick na may uri " Mga independiyenteng motor» kino-convert ang horizontal coordinate ng touch sa mga command sa motor, anuman ang vertical coordinate. Para sa joystick, kakailanganin mong tukuyin kung aling motor ang makokontrol kapag nagbago ang horizontal coordinate, at aling motor kapag nagbago ang vertical coordinate. Ang ganitong uri ng joystick ay maaaring gamitin upang kontrolin ang isang kotse kung saan ang isang motor ay pinaikot ang manibela at ang isang pangalawang motor ay pinaikot ang mga gulong sa pagmamaneho. Sa kasong ito, ang pagpapalit ng pahalang na coordinate ay dapat na i-configure upang paikutin ang unang motor, at ang pagpapalit ng patayong coordinate ay dapat na i-configure upang paikutin ang pangalawang motor.

Joystick na may uri " Mailbox" ay magpapadala lamang ng mga touch coordinate sa mga EV3 mailbox. Upang mabuhay ang iyong robot, kakailanganin mong magsulat ng EV3 program na humahawak sa mga coordinate na ito. Sa ganitong uri ng joystick makakagawa ka ng mas kumplikadong mga modelo ng kontrol ng robot, dahil... Maaari mong ipatupad ang iyong sariling algorithm para sa pag-convert ng mga coordinate na kinuha mula sa joystick sa mga command para sa mga motor. Halimbawa, maaari mong kontrolin ang EV3 Gyrobreaker. Ang Joystick 1 ay nagpapadala ng mga coordinate sa mga mailbox na pinangalanang x at y, joystick 2 sa mga mailbox w at z, joystick 3 sa mga mailbox a at b, at joystick 4 sa mga mailbox na c at d.

Ang susunod na dalawang setting " End of touch (para sa horizontal axis)"At" End of touch (para sa vertical axis)» tukuyin kung ano ang mangyayari kapag huminto ka sa pagpindot sa joystick. Dito maaari kang pumili ng isa sa dalawang opsyon: "Bumalik sa zero" o "Panatilihin ang posisyon". Ang Return to zero ay may katuturan sa karamihan ng mga sitwasyon, halimbawa, kung kailangan mong huminto ang robot kapag huminto ka sa pagpindot sa joystick, ang Return to zero na opsyon ay tama lang. Ang opsyon na i-save ang posisyon ay magiging kapaki-pakinabang kapag kailangan mong tandaan ang huling coordinate ng pagpindot. Ginagamit ang opsyong ito, halimbawa, upang ikiling ang frame ng EV3 Explorer. Available ang setting na ito para sa lahat ng hugis ng joystick maliban sa mga directional joystick.

Kung ginagamit mo ang uri ng Independent Motors, Steering 1 o Steering 2 joystick, makikita mo ang mga setting ng port para sa joystick na iyon sa ibaba. Maaaring idagdag at alisin ang mga port na kokontrolin ng joystick. Upang gawin ito, mayroong "ADD" at "DELETE" na mga pindutan. Ang bilang ng mga port ay hindi limitado. Sa ibaba, ipinapakita ng unang larawan ang mga setting para sa isang joystick na may uri ng "Independent Motors", at ang pangalawang larawan ay nagpapakita ng mga setting para sa isang joystick na may mga uri ng "Steering 1" at "Steering 2". Tulad ng nakikita mo, may kaunting pagkakaiba.

Tingnan natin ang mga setting ng port. Setting " Joystick axis" ay lilitaw lamang para sa isang joystick na may uri ng "Mga Independent na motor." Mayroong dalawang mga pagpipilian dito: "Pahalang" at "Vertical". Kung pinili mo ang "Pahalang", ang motor ay tutugon lamang kapag ang touch coordinate sa kahabaan ng pahalang na axis ay nagbago, at kung pinili mo ang "Vertical", pagkatapos ay sa pagpindot sa kahabaan ng vertical axis.

Setting " Motor" ay lilitaw lamang para sa uri ng joystick na "Steer 1" o "Steer 2". Dito ka pumili sa pagitan ng "Kaliwa" at "Kanan".

Setting " EV3 module" ay kakailanganin kung nag-assemble ka ng robot gamit ang ilang EV3 module na konektado sa isang "daisy chain". Dito maaari kang pumili ng isang numero ng module mula 1 hanggang 4. Kung mayroon ka lamang isang EV3 Brick, ito ay dapat palaging 1.

Setting " Numero ng port"Maaari mong piliin ang port ng motor mula A hanggang D.

Setting " Nababagong halaga" ay lilitaw lamang para sa isang joystick na may uri ng "Mga Independent na motor." Mayroong dalawang mga opsyon dito: "Motor power" at "Motor rotation angle". Kung pinili mo" lakas ng motor", kung gayon ang joystick ay makakaimpluwensya sa lakas ng motor, ibig sabihin. Kung mas malayo sa gitna ng joystick na hinawakan mo, mas mabilis na umiikot ang motor. Kung pinili mo" Anggulo ng pag-ikot ng motor", kung gayon ang joystick ay makakaimpluwensya sa anggulo ng pag-ikot ng motor, i.e. Kung mas malayo sa gitna ng joystick na hinawakan mo, mas malaki ang anggulong iikot ng motor. Sa kasong ito, ang kapangyarihan para sa motor ay iaakma sa pamamagitan ng pagtatakda ng " kapangyarihan" Kung mas mataas ang numerong ito, mas mabilis ang reaksyon ng motor sa mga pagbabago sa coordinate ng pagpindot, at mas mahusay nitong mapanatili ang anggulo.

Lagyan ng check ang kahon" Baliktarin" ay magbibigay-daan sa iyo na baligtarin ang kinakalkula na kapangyarihan o anggulo, at " Coefficient» dagdagan o bawasan ang kinakalkula na halaga.

Kapag sinusuri ang " Preno", mabilis na hihinto ang mga motor, i.e. magpapabagal. Kapag ang checkbox na ito ay hindi naka-check, ang mga motor ay iikot nang ilang oras sa pamamagitan ng pagkawalang-kilos hanggang sa sila ay ganap na huminto.

Iyan talaga ang lahat ng mga setting na nasa programang RoboCam. Kung may hindi malinaw, sumulat sa mga komento.

Koneksyon nang walang router

Ngayon ay may ilang mga trick na maaaring gawing mas maginhawa ang paggamit ng RoboCam app. Kung walang malapit na router, halimbawa kung nasa kalye ka, maaari kang direktang magtatag ng koneksyon sa pagitan ng smartphone 1 at smartphone o tablet 2. Upang gawin ito, kailangan mong paganahin ang hotspot sa smartphone 1 (ang hotspot sa Android ay karaniwang pinagana sa mga setting ng mga koneksyon sa network). Pagkatapos i-on, ang smartphone 1 ay magiging isang W-Fi router at madali mong makokonekta ang tablet o smartphone 2 dito.

Maaari mong malaman ang address ng RoboCam server sa parehong paraan mula sa tooltip hanggang sa button. Sa karamihan ng mga kaso, para sa naturang access point ang address ay palaging http://192.168.43.1:8088.

Paggamit ng smartphone 1 bilang joystick

May isa pang trick na maaari mong gawin sa RoboCam app. Sa smartphone 1 (kung saan naka-install ang RoboCam application), simulan ang server, kumonekta sa robot, at pagkatapos ay sa parehong smartphone, maglunsad ng browser (siyempre, isa na sumusuporta sa HTML5) at pumunta sa http://localhost :8088. Makakakita ka ng isang pahina para sa pagpasok ng iyong login at password. Mag-login bilang driver. Pagkatapos mag-log in, makakakita ka ng mga joystick at makokontrol mo ang robot. Gayunpaman, sa kasong ito, ang imahe mula sa camera ay hindi ipapadala. Maaaring i-off ang Wi-Fi.

Bottom line

Sana ay nakapagbigay ako ng sapat na impormasyon kung paano mo magagamit ang RoboCam app. Kung mayroon kang anumang mga katanungan tungkol sa programa o may anumang mga mungkahi, maaari mong iwanan ang mga ito sa mga komento sa artikulong ito o sa komunidad