rumah - Dinding kering
Lego ev3 mengikut garisan hitam. Lego EV3. Pergerakan sepanjang garis hitam. Penderia Warna - Mod Keamatan Cahaya Ambien


Untuk membuat robot bergerak dengan lancar di sepanjang garis hitam, anda perlu memaksanya untuk mengira kelajuan pergerakan itu sendiri.

Seseorang melihat garis hitam dan sempadannya yang jelas. Sensor cahaya berfungsi sedikit berbeza.

Ini adalah sifat penderia cahaya - ketidakupayaan untuk membezakan dengan jelas antara sempadan putih dan hitam - dan kami akan menggunakannya untuk mengira kelajuan pergerakan.

Pertama, kami memperkenalkan konsep "Titik trajektori Ideal".

Bacaan sensor cahaya berkisar antara 20 hingga 80, selalunya pada warna putih bacaan adalah kira-kira 65, pada hitam kira-kira 40.

Titik ideal ialah titik bersyarat kira-kira di tengah-tengah warna putih dan hitam, mengikut mana robot akan bergerak di sepanjang garis hitam.

Di sini, pada dasarnya, lokasi titik adalah antara putih dan hitam. Ia tidak mungkin untuk menanyakannya dengan tepat pada warna putih atau hitam atas sebab matematik, mengapa - ia akan jelas kemudian.

Secara empirik, kami telah mengira bahawa titik ideal boleh dikira menggunakan formula berikut:

Robot mesti bergerak dengan ketat di sepanjang titik ideal. Jika sisihan berlaku dalam mana-mana arah, robot mesti kembali ke titik ini.

Jom mengarang huraian matematik masalah.

Data awal.

Titik sempurna.

Bacaan semasa penderia cahaya.

Hasilnya.

Kuasa putaran motor V.

Kuasa putaran motor C.

Penyelesaian.

Mari kita pertimbangkan dua situasi. Pertama: robot telah menyimpang dari garis hitam ke arah yang putih.

Dalam kes ini, robot mesti meningkatkan kuasa putaran motor B dan mengurangkan kuasa motor C.

Dalam situasi di mana robot memasuki garis hitam, sebaliknya adalah benar.

Lebih banyak robot menyimpang dari titik ideal, lebih cepat ia perlu kembali kepadanya.

Tetapi penciptaan pengawal selia sedemikian adalah tugas yang agak sukar, dan ia tidak selalu diperlukan secara keseluruhan.

Oleh itu, kami memutuskan untuk menghadkan diri kami hanya kepada pengawal P, yang bertindak balas secukupnya kepada penyelewengan dari garis hitam.

Dalam bahasa matematik, ia akan ditulis seperti ini:

dengan Hb dan Hc ialah kuasa akhir motor B dan C, masing-masing,

Hbase - kuasa asas tertentu motor, yang menentukan kelajuan robot. Ia dipilih secara eksperimen, bergantung pada reka bentuk robot dan ketajaman selekoh.

Itek - bacaan semasa sensor cahaya.

I id - dikira titik ideal.

k - pekali perkadaran, dipilih secara eksperimen.

Dalam bahagian ketiga, kita akan melihat cara memprogram ini dalam persekitaran NXT-G.

Tugas ini adalah klasik, mudah dari segi konsep, ia boleh diselesaikan berkali-kali, dan setiap kali anda akan menemui sesuatu yang baharu untuk diri sendiri.

Terdapat banyak pendekatan untuk menyelesaikan masalah garisan berikut. Pilihan salah satu daripada mereka bergantung pada reka bentuk khusus robot, pada bilangan sensor, lokasi mereka berbanding dengan roda dan antara satu sama lain.

Dalam contoh kami, kami akan menganalisis tiga contoh robot berdasarkan model latihan asas Robot Educator.

Sebagai permulaan, kami memasang model asas robot latihan Robot Educator, untuk ini anda boleh menggunakan arahan dalam perisian MINDSTORMS EV3.

Selain itu, sebagai contoh, kami memerlukan penderia warna terang EV3. Penderia cahaya ini, tidak seperti yang lain, adalah yang paling sesuai untuk tugas kita, apabila bekerja dengannya, kita tidak perlu risau tentang keamatan cahaya ambien. Untuk penderia ini, dalam program kami akan menggunakan mod cahaya pantulan, di mana jumlah cahaya pantulan lampu latar merah penderia dianggarkan. Had bacaan sensor ialah 0 - 100 unit, masing-masing untuk "tiada pantulan" dan "total pantulan".

Sebagai contoh, kami akan menganalisis 3 contoh program untuk bergerak sepanjang trajektori hitam yang digambarkan pada latar belakang rata dan terang:

· Satu sensor, dengan pengawal selia P.

· Satu sensor, dengan pengawal PC.

· Dua penderia.

Contoh 1. Satu sensor, dengan pengawal P.

Reka bentuk

Penderia cahaya dipasang pada rasuk yang terletak dengan mudah pada model.


Algoritma

Operasi algoritma adalah berdasarkan fakta bahawa bergantung pada tahap pertindihan pancaran lampu latar sensor dengan garis hitam, bacaan yang dikembalikan oleh sensor berbeza dengan kecerunan. Robot mengekalkan kedudukan sensor cahaya pada sempadan garis hitam. Dengan menukar data input daripada sensor cahaya, sistem kawalan menjana nilai untuk kelajuan putaran robot.


Oleh kerana pada trajektori sebenar sensor menjana nilai dalam keseluruhan julat kerjanya (0-100), maka nilai yang diusahakan oleh robot ialah 50. Dalam kes ini, nilai fungsi putaran yang dihantar terbentuk dalam julat -50-50, tetapi nilai ini tidak mencukupi untuk membelok trajektori yang curam. Oleh itu, julat perlu dikembangkan sebanyak satu setengah kali ganda kepada -75 - 75.

Akibatnya, dalam program ini, fungsi kalkulator adalah pengawal berkadar yang mudah. fungsi siapa ( (a-50) * 1.5 ) dalam julat kerja sensor cahaya menjana nilai putaran mengikut graf:

Contoh bagaimana algoritma berfungsi

Contoh 2. Satu sensor, dengan pengawal PC.

Contoh ini dibina pada pembinaan yang sama.

Anda mungkin perasan bahawa dalam contoh sebelumnya, robot itu bergoyang secara berlebihan, yang tidak membenarkannya memecut dengan cukup. Sekarang kita akan cuba memperbaiki keadaan ini sedikit.

Pada pengawal berkadar kami, kami juga menambah pengawal kiub ringkas yang akan menambah kelenturan pada fungsi pengawal. Ini akan mengurangkan goyang robot berhampiran sempadan trajektori yang diingini, serta membuat hentakan yang lebih kuat pada jarak yang jauh daripadanya.

Beginilah cara seseorang melihat garis:

Beginilah cara robot itu melihatnya:


Ciri inilah yang akan kami gunakan semasa mereka bentuk dan memprogramkan robot untuk kategori pertandingan "Trajektori".

Terdapat banyak cara untuk mengajar robot melihat dan bergerak mengikut garisan. Terdapat program yang kompleks dan yang sangat mudah.

Saya ingin memberitahu anda tentang kaedah pengaturcaraan yang walaupun kanak-kanak 2-3 gred akan kuasai. Pada usia ini, lebih mudah bagi mereka untuk memasang struktur mengikut arahan, dan pengaturcaraan robot adalah tugas yang sukar bagi mereka. Tetapi kaedah ini akan membolehkan kanak-kanak memprogramkan robot untuk mana-mana laluan trek dalam masa 15-30 minit (dengan mengambil kira pengesahan langkah demi langkah dan pelarasan beberapa ciri trajektori).

Kaedah ini telah diuji pada pertandingan robotik perbandaran dan wilayah di wilayah Surgut dan Khanty-Mansi Autonomous Okrug-Yugra dan membawa sekolah kami tempat pertama. Di tempat yang sama, saya menjadi yakin bahawa topik ini sangat relevan untuk banyak pasukan.

Baiklah, mari kita mulakan.

Sebagai persediaan untuk jenis persaingan ini, pengaturcaraan hanyalah sebahagian daripada penyelesaian kepada masalah tersebut. Anda perlu bermula dengan mereka bentuk robot untuk trek tertentu. Dalam artikel seterusnya, saya akan menunjukkan kepada anda cara melakukan ini. Oleh kerana pergerakan sepanjang garis adalah perkara biasa, saya akan mulakan dengan pengaturcaraan.

Mari kita pertimbangkan varian robot dengan dua penderia cahaya, kerana ia lebih mudah difahami untuk pelajar sekolah rendah.

Penderia cahaya disambungkan ke port 2 dan 3. Motor ke pelabuhan B dan C.
Penderia dijajarkan di sepanjang tepi garisan (cuba bereksperimen dengan penderia pada jarak yang berbeza antara satu sama lain dan pada ketinggian yang berbeza).
Satu perkara penting. Untuk operasi yang lebih baik bagi litar sedemikian, adalah dinasihatkan untuk memilih sepasang sensor mengikut parameter. Jika tidak, anda perlu memasukkan blok untuk membetulkan nilai sensor.
Pemasangan sensor pada casis mengikut skema klasik (segi tiga), kira-kira seperti dalam rajah.

Program ini akan terdiri daripada sebilangan kecil blok:


1. Dua blok sensor cahaya;
2. Empat blok "Matematik";
3. Dua blok motor.

Dua motor digunakan untuk mengawal robot. Kapasiti setiap satu ialah 100 unit. Untuk skim kami, kami akan mengambil nilai purata kuasa motor bersamaan dengan 50. Iaitu, kelajuan purata semasa memandu dalam garis lurus akan bersamaan dengan 50 unit. Apabila menyimpang daripada gerakan garis lurus, kuasa motor akan meningkat atau berkurang secara berkadar, bergantung pada sudut pesongan.

Sekarang mari kita fikirkan cara menyambung semua blok, sediakan program dan apa yang akan berlaku di dalamnya.
Mari sediakan dua penderia cahaya dan tetapkan port 2 dan 3 kepada mereka.
Ambil blok matematik dan pilih Penolakan.
Mari sambungkan penderia cahaya daripada output "Intensiti" dengan bas ke blok matematik kepada input "A" dan "B".
Jika penderia robot dipasang secara simetri dari tengah garisan trek, maka nilai kedua-dua penderia akan sama. Selepas menolak, kita mendapat nilai - 0.
Blok matematik seterusnya akan digunakan sebagai pekali dan anda perlu menetapkan "Pendaraban" di dalamnya.
Untuk mengira nisbah, anda perlu mengukur tahap "putih" dan "hitam" dengan unit NXT.
Katakan putih ialah -70, hitam ialah -50.
Kemudian kita mengira: 70-50 = 20 (perbezaan antara putih dan hitam), 50/20 = 2.5 (kami menetapkan nilai purata kuasa apabila bergerak dalam garis lurus dalam blok matematik pada 50. Nilai ini ditambah dengan tambahan kuasa semasa membetulkan pergerakan harus sama dengan 100)
Cuba tetapkan nilai kepada 2.5 pada input "A", dan kemudian pilihnya dengan lebih tepat.
Sambungkan output "Hasil" bagi blok matematik "Penolakan" sebelumnya kepada input "B" bagi blok matematik "Pendaraban".
Seterusnya datang sepasang - blok matematik (Tambahan) dan motor B.
Menyediakan blok matematik:
Input "A" ditetapkan kepada 50 (separuh kuasa motor).
Output blok "Result" disambungkan oleh bas ke input "Kuasa" motor B.
Seterusnya, stim ialah blok matematik (Tolak) dan motor C.
Menyediakan blok matematik:
Input "A" ditetapkan kepada 50.
Input "B" disambungkan oleh bas dengan output "Hasil" blok matematik "Pendaraban".
Output blok "Result" disambungkan oleh bas ke input "Kuasa" motor C.

Hasil daripada semua tindakan ini, anda akan menerima program berikut:

Memandangkan semua ini akan berfungsi dalam satu gelung, kami menambah "Gelung", pilihnya dan pindahkan semuanya ke "Gelung".

Sekarang mari kita cuba memikirkan bagaimana program ini akan berfungsi dan cara mengkonfigurasinya.


Semasa robot bergerak dalam garis lurus, nilai sensor bertepatan, yang bermaksud bahawa output blok Penolakan akan mempunyai nilai 0. Output blok Pendaraban juga memberikan nilai 0. Nilai ini diberi makan dalam selari dengan pasangan kawalan motor. Oleh kerana blok ini ditetapkan kepada 50, menambah atau menolak 0 tidak menjejaskan kuasa motor. Kedua-dua motor berjalan pada kuasa 50 yang sama, dan robot bergolek dalam garis lurus.

Katakan trek membuat pusingan atau robot menyimpang dari garis lurus. Apa yang akan berlaku?

Angka tersebut menunjukkan bahawa pencahayaan sensor yang disambungkan ke port 2 (selepas ini dirujuk sebagai sensor 2 dan 3) meningkat, kerana ia bergerak ke medan putih, dan pencahayaan sensor 3 berkurangan. Katakan nilai sensor ini menjadi: sensor 2 - 55 unit, dan sensor 3 - 45 unit.
Blok "Penolakan" akan menentukan perbezaan antara nilai dua sensor (10) dan menyerahkannya ke blok pembetulan (daraban dengan faktor (10 * 2.5 = 25)) dan kemudian ke unit kawalan
motor.
Dalam blok matematik (Tambahan) kawalan motor B kepada nilai purata kelajuan 50
25 akan ditambah dan nilai kuasa 75 akan dibekalkan kepada motor B.
Dalam blok matematik (Penolakan) kawalan motor C, 25 akan ditolak daripada nilai kelajuan purata 50 dan nilai kuasa 25 akan dibekalkan kepada motor C.
Oleh itu, sisihan dari garis lurus akan diperbetulkan.

Jika trek membelok tajam ke sisi dan penderia 2 berwarna putih dan penderia 3 berwarna hitam. Nilai pencahayaan sensor ini menjadi: sensor 2 - 70 unit, dan sensor 3 - 50 unit.
Blok "Penolakan" akan menentukan perbezaan antara nilai dua sensor (20) dan menyerahkannya ke blok pembetulan (20 * 2.5 = 50) dan kemudian ke unit kawalan motor.
Sekarang, dalam blok matematik (Tambahan) kawalan motor B, nilai kuasa 50 +50 = 100 akan disalurkan kepada motor B.
Dalam blok matematik (Penolakan) kawalan motor C, nilai kuasa 50 - 50 = 0 akan disalurkan kepada motor C.
Dan robot akan membuat pusingan tajam.

Di medan putih dan hitam, robot mesti memandu dalam garis lurus. Jika ini tidak berlaku, cuba padankan penderia dengan nilai yang sama.

Sekarang mari kita buat blok baharu dan gunakannya untuk menggerakkan robot di sepanjang mana-mana trek.
Pilih kitaran, kemudian dalam menu "Edit" pilih arahan "Buat blok saya".

Dalam kotak dialog "Block Constructor", berikan nama pada blok kami, sebagai contoh, "Go", pilih ikon untuk blok tersebut dan klik "DONE".

Kami kini mempunyai blok yang boleh digunakan dalam kes di mana kami memerlukan pergerakan baris.

Teks kerja diletakkan tanpa imej dan formula.
Versi penuh kerja tersedia dalam tab "Fail kerja" dalam format PDF

Set pembinaan Lego Mindstorms EV3

Peringkat persediaan

Mencipta dan menentukur program

Kesimpulan

kesusasteraan

1. Pengenalan.

Robotik adalah salah satu bidang terpenting dalam kemajuan saintifik dan teknologi, di mana masalah mekanik dan teknologi baharu bersentuhan dengan masalah kecerdasan buatan.

Dalam beberapa tahun kebelakangan ini, kemajuan dalam robotik dan sistem automatik telah mengubah bidang peribadi dan perniagaan dalam kehidupan kita. Robot digunakan secara meluas dalam pengangkutan, dalam penerokaan Bumi dan angkasa lepas, dalam pembedahan, dalam industri ketenteraan, dalam penyelidikan makmal, dalam bidang keselamatan, dalam pengeluaran besar-besaran barangan industri dan barangan pengguna. Banyak peranti yang membuat keputusan berdasarkan data yang diterima daripada penderia juga boleh dianggap sebagai robot - seperti, sebagai contoh, lif, tanpanya kehidupan kita sudah tidak dapat difikirkan.

Mindstorms EV3 Constructor menjemput kami untuk memasuki dunia robot yang menarik, terjun ke dalam persekitaran teknologi maklumat yang kompleks.

Objektif: Belajar memprogramkan pergerakan robot dalam garis lurus.

    Berkenalan dengan pembina Mindstorms EV3 dan persekitaran pengaturcaraannya.

    Tulis atur cara untuk pergerakan robot dalam garis lurus pada 30 cm, 1 m 30 cm dan 2 m 17 cm.

    Pembina Mindstorms EV3.

Bahagian set pembinaan - 601 pcs., Motor servo - 3 pcs., Sensor warna, sensor gerakan sentuh, sensor inframerah dan sensor sentuh. Blok mikropemproses EV3 ialah otak pembina LEGO Mindstorms.

Motor servo yang besar bertanggungjawab untuk pergerakan robot, yang disambungkan ke mikrokomputer EV3 dan membuat robot bergerak: pergi dan balik, pusing dan pandu sepanjang trajektori yang diberikan. Motor servo ini mempunyai sensor putaran terbina dalam, yang membolehkan kawalan yang sangat tepat terhadap pergerakan robot dan kelajuannya.

Anda boleh menggunakan perisian komputer EV3 untuk membuat robot anda melakukan tindakan. Program ini terdiri daripada pelbagai unit kawalan. Kami akan bekerja dengan blok gerakan.

Blok pergerakan mengawal motor robot, menghidupkannya, mematikannya, menjadikannya berfungsi mengikut tugas. Anda boleh memprogramkan pergerakan untuk bilangan revolusi atau darjah tertentu.

    Peringkat persediaan.

    Penciptaan bidang teknikal.

Di bidang kerja robot, kami akan menggunakan tanda, menggunakan pita elektrik dan pembaris, mencipta tiga garisan 30 cm panjang - garis hijau, 1 m 15 cm - garis merah dan 2 m 17 cm - garis hitam .

    Pengiraan yang diperlukan:

Diameter roda robot ialah 5 cm 7 mm = 5.7 cm.

Satu pusingan roda robot adalah sama dengan lilitan dengan diameter 5.7 cm.Lilitan didapati oleh formula

Di mana r ialah jejari roda, d ialah diameter, π = 3.14

l = 5,7 * 3,14 = 17,898 = 17,9.

Itu. dalam satu pusingan roda, robot bergerak sejauh 17.9 cm.

Mari kita hitung bilangan pusingan yang diperlukan untuk memandu:

N = 30: 17.9 = 1.68.

    1 m 30 cm = 130 cm

N = 130: 17.9 = 7.26.

    2 m 17 cm = 217 cm.

N = 217: 17.9 = 12.12.

    Penciptaan dan penentukuran program.

Kami akan mencipta program mengikut algoritma berikut:

Algoritma:

    Pilih blok gerakan dalam perisian Mindstorms EV3.

    Hidupkan kedua-dua motor mengikut arah yang ditentukan.

    Tunggu perubahan dalam nilai penderia putaran salah satu motor kepada nilai yang ditentukan.

    Matikan motor.

Kami memuatkan program yang telah siap ke dalam unit kawalan robot. Kami meletakkan robot di lapangan dan tekan butang mula. EV3 memandu merentasi medan dan berhenti di penghujung garisan yang ditetapkan. Tetapi untuk mencapai kemasan yang tepat, adalah perlu untuk menentukur, kerana faktor luaran mempengaruhi pergerakan.

    Medan dipasang pada meja pelajar, jadi pesongan sedikit permukaan mungkin.

    Permukaan padang adalah licin, oleh itu, lekatan yang lemah dari roda robot ke medan adalah mungkin.

    Dalam mengira bilangan revolusi, kami perlu membulatkan nombor, dan oleh itu, dengan menukar perseratus revolusi, kami mencapai keputusan yang diperlukan.

5. Kesimpulan.

Mempelajari cara memprogram robot untuk bergerak dalam garis lurus akan berguna untuk mencipta atur cara yang lebih kompleks. Sebagai peraturan, semua saiz pergerakan ditunjukkan dalam terma rujukan untuk pertandingan robotik. Ia adalah perlu supaya program tidak dibebani oleh keadaan logik, kitaran dan blok kawalan kompleks yang lain.

Pada peringkat seterusnya mengenali robot Lego Mindstorms EV3, anda perlu belajar cara memprogramkan belokan ke sudut tertentu, pergerakan dalam bulatan, lingkaran.

Ia sangat menarik untuk bekerja dengan pembina. Dengan mempelajari lebih lanjut tentang keupayaannya, anda boleh menyelesaikan sebarang masalah teknikal. Dan pada masa hadapan, mungkin, cipta model menarik robot Lego Mindstorms EV3 anda sendiri.

kesusasteraan.

    D. Koposov "Langkah pertama ke robotik untuk gred 5-6". - M .: Binom. Makmal Pengetahuan, 2012 - 286 p.

    Filippov S. A. "Robotik untuk kanak-kanak dan ibu bapa" - "Sains" 2010.

    sumber Internet

    http: // lego. rkc-74.ru/

    http://www.9151394.ru/projects/lego/lego6/beliovskaya/

    http: // www. lego. com / pendidikan /

15.01.2012, 18:51

Sehingga kini, dalam artikel tentang algoritma yang digunakan semasa bergerak mengikut garisan, kaedah telah dipertimbangkan apabila penderia cahaya kelihatan mengikut sempadan kiri atau kanannya: sebaik sahaja robot bergerak ke bahagian putih medan, pengawal mengembalikan robot ke sempadan, sensor mula bergerak lebih dalam ke dalam garis hitam - pengawal selia meluruskannya kembali.
Walaupun fakta bahawa gambar di atas adalah untuk pengawal geganti, prinsip umum pergerakan berkadar (pengawal P) adalah sama. Seperti yang telah disebutkan, kelajuan purata pergerakan sedemikian tidak begitu tinggi dan beberapa percubaan telah dibuat untuk meningkatkannya disebabkan oleh sedikit komplikasi algoritma: dalam satu kes, brek "lembut" digunakan, dalam satu lagi, sebagai tambahan kepada pusingan. , pergerakan ke hadapan diperkenalkan.
Untuk membolehkan robot bergerak ke hadapan di beberapa kawasan, kawasan sempit telah diperuntukkan dalam julat nilai yang diberikan oleh sensor cahaya, yang secara konvensional boleh dipanggil "sensor berada di sempadan garisan".
Pendekatan ini mempunyai kelemahan kecil - jika robot "mengikuti" sempadan kiri garisan, maka di sebelah kanan belokan ia tidak segera mengesan kelengkungan trajektori dan, akibatnya, menghabiskan lebih banyak masa mencari garisan dan berpusing. . Lebih-lebih lagi, adalah selamat untuk mengatakan bahawa semakin curam belokan, semakin lama pencarian ini dilakukan.
Angka seterusnya menunjukkan bahawa jika sensor tidak berada di sebelah kiri sempadan, tetapi di sebelah kanan, maka ia telah pun mengesan kelengkungan trajektori dan akan mula membuat manuver pusingan.

Oleh itu, adalah idea yang baik untuk melengkapkan robot dengan dua penderia sekaligus, yang terletak di sisi bertentangan garisan dan, dengan itu, akan membantu robot bertindak balas dengan lebih cepat kepada perubahan arah pergerakan.
Langkah seterusnya adalah untuk menentukan bagaimana perubahan reka bentuk ini akan mempengaruhi program. Untuk kesederhanaan, anda harus bermula sekali lagi dengan pengawal geganti yang paling mudah dan oleh itu, pertama sekali, anda berminat dengan kemungkinan kedudukan sensor berbanding garisan:

Malah, satu lagi keadaan yang dibenarkan boleh dibezakan - di laluan yang sukar ia akan menjadi persimpangan persimpangan atau sejenis penebalan dalam perjalanan.
Kedudukan penderia yang lain tidak akan dipertimbangkan, kerana sama ada ia berasal daripada yang ditunjukkan di atas, atau ini adalah kedudukan robot apabila ia meninggalkan garisan dan tidak lagi akan dapat kembali sendiri kepadanya menggunakan maklumat daripada penderia. Akibatnya, semua peruntukan di atas boleh dikurangkan kepada klasifikasi berikut:
  • sensor kiri, serta yang kanan - di atas permukaan cahaya
  • penderia kiri di atas permukaan yang terang, penderia kanan di atas permukaan yang gelap
  • penderia kiri di atas permukaan gelap, penderia kanan di atas cahaya
  • kedua-dua penderia terletak di atas permukaan gelap
Jika pada masa tertentu program pada robot mengesan salah satu daripada kedudukan ini, ia perlu bertindak balas dengan sewajarnya:
    Jika kedua-dua penderia berada di atas permukaan putih, maka ini adalah situasi biasa di mana garisan berada di antara penderia, jadi robot harus berjalan lurus. Jika penderia kiri masih di atas permukaan cahaya, dan penderia kanan sudah berada di atas yang gelap, maka robot telah memacu sebelah kanannya ke garisan. dan ini bermakna dia perlu membelok ke kanan supaya garisan itu sekali lagi berada di antara penderia. Jika penderia kiri berada di atas permukaan gelap, dan yang kanan berada masih di atas yang terang, kemudian untuk menyelaraskan robot perlu membelok ke kiri. Jika kedua-dua sensor berada di atas permukaan gelap, maka secara amnya, robot itu sekali lagi terus bergerak lurus.

Gambar rajah di atas serta-merta menunjukkan bagaimana sebenarnya tingkah laku motor harus berubah dalam atur cara. Sekarang, menulis atur cara tidak sepatutnya sukar. Anda harus mulakan dengan memilih penderia yang akan ditinjau dahulu. Ia tidak begitu penting, jadi mari kita simpan di sebelah kiri. Adalah perlu untuk menentukan sama ada ia berada di atas cahaya atau di atas permukaan gelap:
Tindakan ini belum lagi membenarkan anda untuk memberitahu arah mana robot harus pergi. Tetapi ia akan membahagikan negeri yang disenaraikan di atas kepada dua kumpulan: (I, II) untuk cawangan atas dan (III, IV) untuk yang lebih rendah. Setiap kumpulan kini mempunyai dua keadaan, jadi anda perlu memilih salah satu daripadanya. Jika anda melihat dengan teliti pada dua keadaan pertama I dan II, mereka berbeza dalam kedudukan sensor yang betul - dalam satu kes ia berada di atas permukaan yang terang, dalam yang lain - di atas yang gelap. Inilah yang akan menentukan pilihan tindakan yang perlu diambil:
Kini anda boleh memasukkan blok yang mentakrifkan kelakuan motor mengikut jadual di atas: cawangan atas keadaan bersarang mentakrifkan gabungan "kedua-dua sensor pada cahaya", yang atas - "kiri pada cahaya, kanan pada gelap":
Cawangan bawah keadaan utama bertanggungjawab untuk kumpulan lain negeri III dan IV. Kedua-dua keadaan ini juga berbeza antara satu sama lain dalam tahap pencahayaan yang diambil oleh sensor yang betul. Oleh itu, ia akan menentukan pilihan setiap daripada mereka:
Dua cawangan yang terhasil diisi dengan blok pergerakan. Cawangan atas bertanggungjawab untuk keadaan "kiri pada gelap, kanan pada terang", dan bahagian bawah - untuk "kedua-dua penderia pada gelap".
Perlu diingatkan bahawa reka bentuk ini hanya menentukan cara menghidupkan motor bergantung pada bacaan sensor di tempat tertentu di lapangan, secara semula jadi selepas seketika program harus menyemak sama ada bacaan telah berubah untuk membetulkan tingkah laku motor, dan selepas seketika lagi, sekali lagi, dan seterusnya. .d. Oleh itu, ia mesti diletakkan dalam gelung yang akan menyediakan semakan berulang ini:

Program yang agak mudah sedemikian akan memberikan kelajuan pergerakan robot yang agak tinggi di sepanjang garisan tanpa melampauinya, jika anda menetapkan kelajuan maksimum dengan betul semasa memandu di negeri I dan IV, dan juga menetapkan kaedah brek optimum di negeri II dan III - semakin curam selekoh di trek , semakin "lebih keras" brek sepatutnya - kelajuan harus turun lebih cepat, dan sebaliknya - dengan selekoh yang lancar adalah agak mungkin untuk menggunakan brek melalui pemadaman kuasa atau secara amnya melalui penurunan sedikit dalam kelajuan.

Beberapa perkataan berasingan juga harus dikatakan tentang penempatan penderia pada robot. Jelas sekali, untuk lokasi kedua-dua penderia ini berbanding dengan roda, pengesyoran yang sama akan digunakan seperti untuk satu penderia, hanya untuk puncak segi tiga, dalam kes ini, bahagian tengah segmen yang menyambungkan dua penderia diambil. Jarak yang sama antara penderia juga harus dipilih daripada ciri-ciri trek: semakin dekat penderia terletak antara satu sama lain, semakin kerap robot akan menjajarkan (melakukan pusingan yang agak perlahan), tetapi jika penderia tersebar cukup luas , terdapat risiko terbang keluar dari trek, jadi anda perlu melakukan pusingan yang lebih ketat dan kelajuan perjalanan yang lebih perlahan pada bahagian lurus.



 


Baca:



Kehidupan peribadi Yuri Trutnev Yuri Trutnev

Kehidupan peribadi Yuri Trutnev Yuri Trutnev

Siapa sangka, baru-baru ini, perceraian akan berlaku secara terbuka dalam kerajaan persekutuan? Namun, masanya agak...

Gabenor Sakhalin, Alexander Horoshavin, ditahan kerana disyaki menerima rasuah Apa yang berlaku kepada Horoshavin

Gabenor Sakhalin, Alexander Horoshavin, ditahan kerana disyaki menerima rasuah Apa yang berlaku kepada Horoshavin

Bekas pegawai mengadu kepada Putin tentang kekurangan kapal layar, vila dan hotel di tepi laut Jumlah kos adalah lebih daripada 240 juta rubel. kereta...

Penguasa purba. III. Yang berdaulat dan mahkamahnya. Diocletian: Quae fuerunt vitia, mores sunt - Maksiat yang dahulunya kini telah menjadi kebiasaan

Penguasa purba.  III.  Yang berdaulat dan mahkamahnya.  Diocletian: Quae fuerunt vitia, mores sunt - Maksiat yang dahulunya kini telah menjadi kebiasaan

400 tahun yang lalu, dinasti Romanov naik ke takhta Rusia. Dengan latar belakang tarikh yang tidak dapat dilupakan ini, perbincangan berkobar tentang bagaimana kuasa tsarist mempengaruhi ...

Perintah reformasi di Rusia

Perintah reformasi di Rusia

Sistem organ kuasa negara pusat, yang mula terbentuk di bawah Ivan III, menerima bentuk yang agak lengkap semasa reformasi Ivan ...

suapan-imej Rss