Robot. Bagian kedua. Ayunan bersayap

Penolakan. Robot adalah orang yang sangat bisa diandalkan. Robot rata-rata dari merek normal dapat berjalan seperti sialan selama bertahun-tahun tanpa gangguan, hanya membutuhkan waktu istirahat singkat untuk pemeliharaan dan pemeriksaan kalibrasi. Semua hal berikut ini semata-mata merupakan konsekuensi dari fakta bahwa kami mencoba memaksa orang-orang ini untuk melakukan apa yang tidak biasa mereka lakukan. Tentu saja, perlu dicatat bahwa kami mencoba melakukan ini dalam kerangka manual, tetapi, tampaknya, kami memasuki hutan seperti itu di mana fungsinya tampaknya ditulis, tetapi pada saat yang sama itu tidak sepenuhnya berhasil. Dalam hubungan ini, kami meraih semua kegembiraan yang akan dibahas lebih lanjut dalam teks ini. Roti panjang.



gambar



Selamat datang di bagian kedua balet Marleson.



Paruh waktu.



Pada bagian pertama, kami berbicara tentang bagaimana, secara umum, penyakit bertemu di wilayah Federasi Rusia, hari ini kami akan membahas apa yang terjadi ketika Anda mendaki sangat jauh ke Robert.

Saya akan memasukkan kutipan untuk menyorot - permintaan maaf saya yang terdalam kepada Khabravchanin yang menulis pesan di bawah posting saya sebelumnya tentang kawasaki dan universals di St. Petersburg. Saya benar-benar minta maaf, dan kegunaan saya bukanlah alasan untuk menekan tombol "komplain" daripada tombol "balas". Ini hanya kelalaian saya, dan saya bahkan tidak punya waktu untuk mengingat nama panggilan Anda untuk meminta maaf. Jika itu tidak mengganggu Anda, ketuk PM agar saya bisa meminta maaf secara langsung. Saya yakin bahwa hanya kerendahan hati yang bajik yang mencegah Anda mengambil langkah ini, dengan komentar “Apa-apaan ini!” Kemarin.
Nah, kami belum mulai - Saya telah mengumpulkan banyak informasi yang beraneka ragam. Akan ada postingan tentang memasuki profesi, akan ada pemrograman mikrokontroler, akan ada keajaiban dalam mengatur dan mengatur proses pengembangan, dan lain sebagainya. Dalam hubungan ini, hub tempat materi akan dipublikasikan akan mengambang agar tidak menyumbat area tematik dengan informasi yang tidak relevan.



Sekarang ayo pergi! (c) Yuri Gagarin.



Apa yang kita lakukan?



Seperti yang telah kita diskusikan dengan Anda di bagian pertama, Roberts ideal dalam situasi "menggali dari sini untuk makan siang", ketika operasinya distandarisasi dan dia memutar program yang sama dalam satu putaran.



gambar



Tapi bagaimana jika tidak? Apa yang terjadi jika kita perlu membuat dalam jumlah kecil, seperti 200 buah? Muat kompleks selama seminggu. Dan setelah seminggu - taruh produk lain di sana. Hanya ada satu jalan keluar - untuk mengetahui program dengan pegangan, melalui remote control. Saya menyoroti ketidaknyamanan ritus sakral ini di artikel terakhir.



Mari memperburuk. Tetapi bagaimana jika - satu produk?



Ambil contoh yang disediakan dengan baik hativakhramov.dllMisalnya dengan penggilingan lambung kapal. Tidak kuat dalam pembuatan kapal (yah, kecuali untuk mikropanel las, yang dalam pembuatan kapal menyandang nama Gulliver semata-mata untuk ejekan - ini bodoh untuk beberapa meter dan berat ratusan kg), tetapi saya dapat mengasumsikan TK berikut:



  1. Kami memiliki lambung kapal dalam beberapa model CAD.
  2. Kami memiliki kubus ukuran non-figuratif yang terbuat dari sesuatu yang digiling.
  3. Kami ingin menyodok tombol, dan agar perangkat lunak membuat sihir, dan robot itu sendiri dari kubus (atau parallelepiped) menggiling sesuatu untuk kami dan diverifikasi.


Sebenarnya, masalahnya mudah bagi kami (ini tidak diselesaikan secara khusus). Ada model 3D, ada blank dan robert pada sistem pergerakan. Kita perlu membuat program untuk itu di mesin, mengontrol implementasinya secara real time, menjalankan pemindai dan membandingkan harapan dan kenyataan dan memoles sesuatu, yah, voila.



Kita akan berbicara tentang pemrograman, nuansa parsing 3D, masalah kebalikan dari kinematika, pembentukan program kontrol, tentang pemindai dan kamera nanti. Jelas bahwa tugas ini tidak sepele, dan kami, yang mengolesi air mata kebahagiaan dengan lengan baju kami, terjun ke dalam proses tersebut. Tetapi, seperti seorang wanita muda yang absurd, Robert dengan bangga menarik belalainya, dan bertanya:



- Mengapa semua perhatian pada program-program Anda ini? Mengapa Anda hanya melakukan sesuatu di sana? Dan bagaimana dengan saya? Apa, apakah mereka melakukan saya dengan sia-sia?

Nah, itu mengeluarkan banyak fitur. Yang akan kita bicarakan.



Keganjilan



Hal pertama yang menanti kita di jalan komunikasi dengan Robert. Faktanya adalah bahwa program untuk satu tangan dapat ditulis dalam dua jenis koordinat dasar: Cartesian dan joint. Yang pertama adalah posisi XYZ dan rotasi di sekitar masing-masing sumbu. Yang kedua adalah indikasi sudut pemasangan masing-masing sumbu, di mana kondisi penempatan bagasi di ruang angkasa terpenuhi. Yang pertama diterjemahkan ke dalam yang kedua dan kembali dengan benar di dalam pengontrol itu sendiri. Ini masalah lain jika Anda, secara tidak sengaja memutuskan bahwa ini pasti cerita yang sama, memutuskan untuk bekerja di Cartesian. Halo bipolar tunggal!



Secara umum, singularitas adalah keadaan pikiran teman besi di mana kecepatan motor di sepanjang sumbu mana pun akan melebihi kecepatan konstruktif. Tidak sepenuhnya jelas, saya akan mencoba menjelaskan.



gambar



Saat Robert menggerakkan tangannya dari titik A ke titik B, ia memiliki dua opsi. Atau - atur kecepatan untuk semua motor secara merata. Dalam hal ini, kecepatan setiap motor sama dengan sudut rotasi yang diperlukan dari sumbu tertentu, dibagi dengan waktu yang diperlukan untuk menjalankan gerakan. Jika mode ini dipilih, maka robot, bergerak di antara titik-titik, menulis busur yang indah. Sangat disayangkan, namun dalam proses pergerakan ini, ia tidak mengemudi dalam garis lurus, tetapi dengan cara yang sesuai untuknya. Akibatnya, kami memiliki kesempatan non-ilusi untuk datang dengan bagasi ke produk / dinding / orang lain seperti dia.



Gerakan linier memastikan bahwa ia bergerak dalam garis lurus. Tetapi pada saat yang sama, motor pada interval waktu yang berbeda perlu bekerja pada kecepatan yang berbeda. Dan jika kecepatan ini melebihi kecepatan yang secara fisik dapat dikeluarkan oleh motor dari jiwanya yang berliku, robot akan menulis "singularitas". Dan itu saja. Program berhenti.



Situasinya sedikit lebih baik dalam kasus di mana koordinat ditentukan dalam sambungan, bukan yang Cartesian. Saya tidak begitu mengerti mengapa pengontrol bereaksi terhadap titik-titik pada sambungan sedikit berbeda dari yang ada di Cartesian - mungkin ini karena logika mengubah koordinat menjadi sudut. Tapi secara umum, "mungkin" adalah frase ajaib dalam robotika, ini sangat membantu dalam pekerjaan dan digunakan sebagai pisang raja universal.



Namun demikian, bahkan pergerakan linier antar titik, yang ditulis di sudut, bukan koordinat, bukan jaminan bahwa robot akan harus mengikutinya. Fanuk membuat instruksi khusus untuk ini, dan Yaskawa umumnya menyatakan bahwa robot mereka tidak memainkan singularitas. Kedua pendekatan tersebut tidak berhasil. Dengan yaskava - jika Anda berpikir tentang esensi dari fenomena ini - ini terlihat seperti upaya untuk melewati fisika. Panel kontrol sebenarnya tidak menunjukkan tulisan "singularitas", tetapi pada saat yang sama menginformasikan tentang ngebut pada beberapa sumbu. Bagaimana ini berbeda dari singularitas? Tidak ada. Fanook memiliki tim khusus. WIRSJ, jika ingatanku masih kuat (sudah lama sekali dan tidak berfungsi, jadi mereka lupa). Baiklah. Robot itu terus melaju. Hanya dalam proses gerakannya ia "menguleni sikat kaku", membuat gerakan dengan ujung sambungan, yang sangat disukai oleh programmer saat mengetik - memutar pergelangan tangan.Konsekuensi berayun, jika Robert memiliki pemotong atau kepala laser di tangannya, sangat lucu, tetapi menakutkan. Oleh karena itu, bentuk tunggalnya harus diperhitungkan.



Ethernet



gambar



Katakanlah kita menemukan cerita ini. Katakanlah kita menemukan nuansa perekaman UP di sudut sendi di funuk dan pulsa model-dependent di Yaskawa. Dan sekarang kita perlu mendorong program ke dalam robot. Anda dapat, tentu saja, membawa flash drive dan seorang pekerja yang dengan bangga akan berparade dengannya kepada Robert, tetapi apakah kita berbicara tentang otomatisasi dalam bentuknya yang paling murni? Oleh karena itu, kita perlu mengirim program ke teman besi. Akses memori langsung tidak ada sebagai kelas, tetapi kami, gelisah, ditinggalkan dengan hal seperti FTP. Tampaknya semuanya keren, terhubung dan pergi. Tapi tidak. Robot hanya bisa menjadi klien.



Faktanya, fungsi ini digunakan untuk mengambil UE dari file bin jaringan perusahaan, memuatnya ke dalam robot dan menjalankannya. Robot adalah hal yang sangat modern, karena jumlah memori di dalamnya dihitung dalam megabyte, dan para baron Kuba menelan air mata putus asa, menghitung biaya 1 byte dan melihat kotak pasir anak-anak mereka dengan bubuk putih. Dalam hubungan ini - tidak akan berhasil menyimpan seribu UP pada Robert - memori akan mengatakan "oh semuanya." Dan jika kita memiliki banyak program, berbaik hati menggunakan remote control untuk masuk ke mesin cuci file dan hore: hanya beberapa menit, dan dia, menjalankan program pada Dial-up, akan melaporkan bahwa dia siap untuk bekerja.



Nah, kalau kekacauan tidak bisa dikalahkan, itu harus dipimpin. Kami akan mewajibkan Robert untuk mengupload file tersebut melalui FTP. Mengapa dia perlu menentukan nama file (baik, atau selalu tempatkan file dengan nama yang sama dalam folder), bisnis. Apa yang dibutuhkan untuk ini? Tulis program untuk Robert, yang di latar belakang akan menunggu perintah untuk memuat dan memuat program. Dan kemudian lakukanlah. Untuk melakukan ini, Yaskawa menawarkan kita untuk membeli lingkungan pengembangan dan menangani sandbox internal yang menjalankan program yang ditulis dalam C. Dalam hal sintaks, ini, tentu saja, C, tetapi dengan konstruksi semuanya tidak begitu jelas dan sangat lemah (karena baru, hingga 2 tahun) didokumentasikan. Dan dukungan teknis ada di Deutschland, dan tidak perlu terburu-buru untuk memberikan bantuan.



Fanuc belum pergi jauh di sini. Anda juga perlu membeli lingkungan pengembangan, pada saat yang sama membeli opsi. Di funook, setiap bersin adalah pilihan. Daftar kegembiraan ini benar-benar mengesankan, dan biayanya dapat menyebabkan alergi akuntansi menjadi kuning. Tapi - setiap orang mendapatkan yang dia bisa.



Menulis, diluncurkan. Ini bahkan berhasil. Kali 5. Dan kemudian bersumpah atas kurangnya memori, karena program Anda panjang - sialan. Tiga kali. Kami mengutuk, kami pergi untuk menyelesaikan penulisan penghapusan. Debazhim. Dan pada titik tertentu, Robert berhenti merespons melalui jaringan. Dan mengapa? Dan karena dia menjaga koneksi dan tidak tahu bagaimana menghubungkan kembali. Apakah server melambat? Tolong reboot makanannya. Taruh breakpoint? Dosviduli, makanan reboot. Selama pekerjaan kami, kami tidak pernah menemukan cara untuk menghidupkan kembali koneksi dari sisi Robert, dan klik nyaring sakelar menjadi obituari untuk setiap sesi debugging.



Debug, selesai dan menyeka keringat tenaga kerja? Robert sudah dalam posisi, kubus siap untuk diarsipkan, pemotong sedang berjalan dan mengasah gigi sebagai antisipasi? Hore? Apakah kamu yakin



Ketepatan



gambar



Koordinat titik ditentukan dengan akurasi 1 ribu mm. Robert bisa berjalan dengan akurasi seratus meter persegi. Secara hipotetis. Tambah kurang. Tapi tetap mengesankan! Tapi apa akurasi ini?



Akurasi ini tentang pengulangan. Terulangnya kedatangan Robert di suatu titik di angkasa adalah 100 ribu kali. Tetapi jika tiba-tiba Anda memutuskan untuk memindahkan Robert sebesar 1000 mm, maka ini tidak akan menjadi 1000 mm. Tidak dalam hidup. Setidaknya pada nilai normal Robert, dan bukan nilai pesawat sayap. Mengapa?



Faktanya adalah bahwa Robert memiliki model virtual di dalam dirinya. Dia tidak tahu bagaimana, seperti seorang terminator, mempertimbangkan jeroan ayam itik yang dipajang di dalam tempurung kepala, tetapi dia menggunakan rangkaian angka ini, yang mencirikan dimensi setiap sendi, untuk mengubah dari Cartesian ke sendi. Faktanya, bagi Robert, koordinat Cartesian hanyalah permainan yang tidak diketahui, yang namanya adalah "abstraksi murni". Semua yang dapat dilakukan pengemudi di dalam pengontrol adalah memutar masing-masing 6 motor Robert pada sudut tertentu. Dan untuk mengubah dari Cartesian ke sambungan, konstanta digunakan yang menunjukkan ukuran sambungan. Dan di pabrik, tempat mereka menuangkan, mempertajam, dan melihat detail masa depan penindas umat manusia, juga ada toleransi. Sekarang bayangkan jenis kesalahan perpindahan ukuran salah satu sambungan yang dapat terjadi, katakanlah, 0,5 mm.



Jadi ternyata pengontrol menganggap semuanya dengan benar, tetapi didasarkan pada data yang tidak akurat. Pada freewheel meter, kami bermaksud penyebaran 1,5 mm untuk kipas yang benar-benar baru, tidak pernah terbiasa dengan dinding. Bahkan ada orang-orang istimewa yang datang dan, melalui wahana rumit dengan peralatan pengukur di seluruh zona aksesibilitas, membuat tabel koreksi, atau - mereka mengoreksi nilai-nilai ini di jeroan ayam itik Robert. Sekali lagi, dalam aplikasi klasik, ini tidak perlu - operator membawa robot ke beberapa titik, memeriksa keakuratannya dan memintanya untuk mengulanginya selama 5 tahun ke depan. Kesalahan tidak berperan di sini - robot kehilangan kemampuannya untuk tumbuh, tidak peduli berapa banyak Anda menuangkannya, segera setelah meninggalkan pabrik. Dan untuk membengkokkan geometri sepotong besi, itu perlu digoyangkan begituuuuuuu ... Saya tidak berpikir bahwa setelah beban seperti itu pada prinsipnya tidak akan dapat bekerja. Tapi kami membutuhkannyadan masalah ini harus diselesaikan.



Umpan balik



... sama sekali tidak ada. Jika Anda ingin menanyakan koordinat Robert saat ini, posisi motor, atau garis program yang dapat dijalankan, burung oblomingo tiba dan dengan senang hati mulai mengisyaratkan bahwa alangkah baiknya melanjutkan manual merokok dan mempelajari pemrograman. Itu perlu - tulis.



Saya tidak keberatan - tetapi saya sepertinya tidak ingin menerima paspor dan kunci apartemen dari Robert. Sepertinya itu hal yang standar. Meskipun, secara umum, saya mungkin tidak mengetahui logika di balik pembatasan ini, yang mengubah Ethernet menjadi jembatan satu arah - sangat mungkin hal ini terkait dengan keamanan.



Saya memutuskan begitu



gambar



Fitur lainnya adalah bug yang ditemukan di kedua pabrikan. Katakan padaku, druh, bagaimana jika J6 diputar pada -210, dan saya meminta Anda untuk berbelok pada +240 derajat, Anda melakukannya di sepanjang jalur terpendek dan kesalahan meludah? Beginilah cara Anda mulai berkomunikasi dengannya saat menghadapi kemalangan ini. Robert, dengan indikasi yang tepat dari nilai dalam sambungan, tidak mengemudi -210-> 0 -> + 240, tetapi hanya berbalik dari -210 ke samping, yaitu +240. Kami mendapatkan fakta -380 (yang sama dengan +240) - dan voila, batas kesalahan, galaksi dalam bahaya.



Selain itu, tidak ada pola yang jelas - terkadang dari -185 hingga +180 drive dapat berjalan dengan benar, dan terkadang dari -165 hingga +175 dapat lepas landas ke arah yang salah. Mengapa pengoptimalan sialan ini tidak jelas, tetapi program harus ditulis dengan memasukkan titik di mana sumbu diatur ke nol. Dan jika, menurut proses teknis, Anda mengubahnya selama ± 180, lalu tambahkan ± 90, karena jika tidak maka akan meledak lagi di sepanjang jalur terpendek. Relevan untuk sumbu ke-4 dan ke-6.



Perdukunan



gambar



Apakah administrator sistem memiliki rebana? Mereka lemah! Pengemudi robotik tidak muncul di depan muka potongan besi tanpa memercikkannya dengan air suci, tanpa menggantung diri di kaki ayam dan kelinci, tanpa meletakkan tengkorak kerbau di kepalanya dan tanpa melepaskan senjata rahasia yaki dari selusin sepatu kuda.



Saya tidak lagi terkejut dengan aturan "tujuh masalah - satu kali reset". Saklar ini sudah menjadi milik saya, seekor anjing. Saya tidak terkejut dengan jawaban "mengapa" dan "karena". Tetapi beberapa hal terus berlanjut. Misalnya, kalibrasi dengan sistem pelacak las, setelah itu Robert bisa mulai mengemudi ke samping. Atau cadangan yang tidak meluas. Atau komentar "% CrapName% berikutnya telah terbang." Atau fillet jalur asli yang benar-benar berfungsi secara acak. Ini sudah menjadi norma.



Alih-alih kesimpulan



Saya tidak menyebut untuk menilai kata-kata saya sebagai rengekan. Seperti "oh, betapa sulitnya hidup bersama mereka." Terlepas dari keanehan mereka, hewan yang sangat lucu ini sangat menyenangkan. Dan menerobos duri fungsi yang didokumentasikan dengan buruk dan mengambil keajaiban pada hal-hal yang tampaknya standar hanya mengatakan satu hal - ketika mengembangkan Roberts, masalah ini tidak diberi perhatian. Dan secara keseluruhan, apa yang digunakan sehari-hari Anda bergantung pada bekerja dengan baik.



Munculnya teknologi baru pasti akan mengarah pada fakta bahwa Roberts akan menjadi lebih ramah terhadap pengembang, dan saat ini menari dengan rebana secara bertahap akan menjadi bagian dari masa lalu. Namun, mereka berubah tidak secepat yang kita inginkan. Dalam hal konservatisme, mereka berpacu di depan evolusi hiu, tetapi tidak mengikuti kecepatan reformasi parlemen Inggris. Anda hanya perlu menunggu, dan hari ini - belajarlah untuk melewati batasan yang mengganggu dan keanehan yang lucu ini.



Lain kali kita akan berbicara tentang ambang batas untuk memasuki profesi, dan kemudian kita akan mempertimbangkan fitur implementasi di .NET dari model impor dari CAD. Atau - nuansa pemindaian permukaan. Semua - pada contoh perahu dari kubus. Kita harus hentikan itu.



All Articles