Penanganan kendaraan di simulator: menyesuaikan koefisien model





Gameplay dari simulator kendaraan adalah untuk mengontrol pergerakan suatu objek di luar angkasa dengan beberapa derajat kebebasan. Tindakan pemain mengubah vektor keadaan sesaat sistem ke arah yang diinginkan atau tidak diinginkan. Permainan tidak akan menarik jika objeknya tidak dapat beradaptasi dengan baik dengan kontrol pemain.



Adaptasi sistem teknis untuk pengendalian manusia (kemampuan pengendalian ) adalah karakteristik yang agak kompleks dan multifaset. Model matematis dari perilaku objek yang dikendalikan ditangani oleh teori kontrol otomatis (TAU). Model yang diadopsi di TAU juga dapat menggambarkan perilaku pemain - sistem "manusia-operator" dan "mesin-manusia".



Perlu dicatat bahwa model manusia yang dibuat selalu relevan untuk berbagai kondisi terbatas. Karena alasan ini, pemecahan masalah praktis di bidang kemampuan pengendalian sering kali melampaui TAU.



Pengendalian mesin mengacu pada sifat ergonomisnya, yang kehilangan maknanya dalam isolasi dari konteks aktivitas manusia. Di bawah potongan, pendekatan untuk menyiapkan model simulator disajikan, berdasarkan studi eksperimental dari proses permainan.



Untuk simulator yang mengklaim dapat mensimulasikan sistem yang ada secara akurat, kesamaan dengan prototipe itu penting, tidak peduli seberapa buruk penanganannya. Pengoptimalan karakteristik relevan untuk game yang tidak memiliki model tertentu, misalnya, simulator objek yang fantastis.



Mengesampingkan masalah simulasi objek nyata dengan sekumpulan karakteristik tertentu, kami mencatat bahwa simulator pasti tidak akan kalah dari kehadiran fisik yang ditentukan secara subjektif. Dengan kata lain, bahkan objek yang tidak ada di alam mungkin atau mungkin tidak sesuai dengan ekspektasi pemain terkait perilaku (objek) nya. Faktor perilaku alam benda harus diperhitungkan.



Rumusan masalah



Untuk simulator, perlu untuk menyesuaikan koefisien model matematika kendaraan untuk memastikan penanganan yang terbaik. Pengoptimalan harus dilakukan berdasarkan data eksperimen. Diinginkan untuk mendapatkan model yang terlihat alami bagi pemain.



Deskripsi sistem



Dalam percobaan kami, kami akan menggunakan simulator dengan grafik 3D .



Kompleksitas model matematis dari sebuah kendaraan nyata hanya dibatasi oleh tingkat abstraksi yang diterima dan kekasaran asumsi yang digunakan. Kompleksitas model dalam masalah yang dipecahkan di sini ditentukan oleh tingkat kealamian permainan yang rasional.



Penyederhanaan berikut akan diterapkan di bawah ini:



1. Arah pergerakan benda diambil sesuai dengan sumbu longitudinalnya.



2. Gerak rotasi suatu benda dapat dianggap sebagai penjumlahan komponen independen - gerak rotasi sekitar tiga sumbu sistem koordinat (CCS) yang terkait dengan benda tersebut.



3. Percepatan sudut dalam saluran kontrol terpisah (di sekitar sumbu CCS terpisah) ditentukan oleh kombinasi linier dari nilai aksi kontrol saat ini dan kecepatan sudut di saluran ini.



Akseptabilitas penyederhanaan pertama dalam pemodelan objek nyata ditentukan oleh sifat sistem dan masalah yang dipecahkan. Misalnya, sifat anak panah yang terkenal adalah kemampuan mereka untuk terbang setelah dilempar "dengan satu poin ke depan". Model sederhana ini cukup untuk menarik kesimpulan yang berguna: Jangan melempar anak panah ke atas Anda.







Namun jika diperlukan model yang akurat untuk menentukan konsekuensi kontak anak panah dengan target, maka perlu diingat bahwa dalam penerbangan vektor kecepatannya membentuk sudut tertentu dengan sumbu longitudinal.



Keteguhan arah vektor kecepatan dalam sistem koordinat benda sesuai dengan biomekanik berjalan: paling mudah bagi seseorang untuk berjalan, mempertahankan keadaan "menghadap ke depan". Gerakan ke arah yang tidak biasa, sebaliknya, merusak penglihatan pemain dan membutuhkan usaha mental tambahan darinya.



Butir 2 menetapkan isolasi timbal balik saluran kontrol "terpasang" ke sumbu SSC.







Sumbu SSC: longitudinal ( X ) diarahkan dari ekor ke hidung benda, vertikal ( Y ) diarahkan ke atas pada bidang simetri benda pada posisi awalnya, lateral ( Z ) diarahkan tegak lurus dua yang pertama ke kanan. Karenanya, rotasi mengelilingi sumbu X.- saluran lateral, di sekitar saluran jalur sumbu- Y , di sekitar saluran sumbu- Z - saluran longitudinal.



Sesuai dengan ayat 2 dari penyederhanaan yang diadopsi, tidak ada hubungan silang antara saluran kontrol objek. Sistem nyata selalu sesuai dengan model seperti itu dengan beberapa kesalahan yang disebabkan, misalnya, oleh adanya momen giroskopik. Kurangnya tautan silang merupakan keuntungan dari sudut pandang pemain.



Butir 3 menetapkan adanya hanya dua torsi di setiap saluran kontrol:



  • kontrol torsi sebanding dengan sinyal dari kontrol pemain;
  • momen redaman sebanding dengan kecepatan sudut arus.


Persamaan diferensial rotasi di sekitar sumbu i adalah sebagai berikut:







Di sini omega adalah kecepatan sudut rotasi, t adalah waktu, x adalah sinyal kontrol, dan koefisien di sisi kanan persamaan adalah turunan parsial percepatan sudut dari sinyal kontrol dan kecepatan sudut.



Koefisien pertama akan disebut koefisien efisiensi kontrol , yang kedua - koefisien redaman .



Percepatan sudut diukur dalam [rad / s 2], kecepatan sudut dalam [rad / s]. Sinyal kontrol biasanya diukur dalam satuan pergerakan tuas atau upaya pada mereka, lebih jarang dalam satuan posisi elemen perantara sistem kontrol, tetapi untuk kontrol dari keyboard kita akan menganggap nilai ini sebagai tanpa dimensi. Dimensi faktor redaman adalah [1 / s], dan faktor efisiensi kontrol adalah [rad / s 2 ], dengan mempertimbangkan dimensi yang diadopsi dari sinyal kontrol.



Informasi teoritis yang diperlukan
, (1), . , . , :



  • ;
  • ();
  • ().


(1) – x, – . :







(t) – , y(t) – , y – , k – , T – , .



(1) (2) :











( ) , . () – . – .







:







:



  • k ;
  • T « », , t = 3T 0,95k.


:



1. ( ), , .



2. , , .



3. , , , k.







, . k T.



. .



. , : — , — , – . — - , .



, - , . .



, , . .









, . .



( ) k. .







T ( ). T .



( T).







, /2. T.



: ( T) .



Kondisi eksperimental dan kriteria kualitas model



Pengendalian objek yang lebih baik harus memberikan solusi yang lebih efisien untuk masalah ini oleh pemain. Tetapi tugas yang berbeda memerlukan kemampuan kontrol yang berbeda: kepatuhan yang tepat pada parameter mode gerakan tertentu berbeda secara signifikan dari manuver intensif.



Menemukan model universal untuk tugas apa pun pasti terkait dengan kompromi. Kondisi eksperimental menentukan pergeseran keseimbangan subjektif yang mendukung tugas-tugas tertentu. Namun, kondisi spesifik permainan harus dipilih.



Untuk studi, kami akan menggunakan masalah mengunjungi objek terkontrol jumlah maksimum lokasi yang ditentukan dalam waktu terbatas. Solusi efektif untuk masalah ini membutuhkan manuver yang intensif.



Kendaraan akan dikendalikan dengan batasan pada sudut roll dan pitch ( 60 derajat di kedua arah untuk kedua sudut): melewati batas akan menyebabkan kecelakaan. Selain itu, tabrakan dengan permukaan horizontal yang terletak di atas benda menyebabkan kecelakaan. Bagian dari kondisi ini bertanggung jawab atas komponen untuk menjaga parameter dalam tugas pemain.



Nilai modul kecepatan linier benda diasumsikan konstan. Ini berarti bahwa kontrol akselerator, serta ketidakrataan hambatan medium, tidak ada di simulator.



Indikator efisiensi pemain - jumlah lokasi yang dikunjungi sebelum akhir waktu ( 60detik) atau sebelum kecelakaan. Semakin banyak lokasi yang dikunjungi, semakin baik model yang dipertimbangkan. Setiap model (kumpulan nilai koefisien) memberikan tiga operan permainan dengan skor median diperhitungkan.



Saat merencanakan eksperimen, penting untuk meminimalkan pengaruh faktor pembelajaran. Untuk ini, urutan eksperimen ditentukan, di mana setiap model diluncurkan pada sepertiga pertama, kedua, dan ketiga studi:



A, B, C ... N, O,

A, B, C ... N, O,

A, B, C ... N, O
...



Setiap permainan eksperimental diawali dengan satu permainan latihan dengan model yang sesuai.



Simulator



Anda dapat bereksperimen sendiri dengan koefisien model di sini .



Manajemen peluang ada di sudut kanan atas layar. Parameter "efisiensi" adalah koefisien efisiensi kontrol, parameter "redaman" adalah koefisien redaman yang diambil dengan tanda sebaliknya.



Kontrol permainan:



  • Ruang - mulai permainan;
  • W / S - rotasi di sekitar sumbu SSC Z , nose down / nose up;
  • A / D - rotasi di sekitar sumbu Y dari SSK, belok kiri / belok kanan;
  • 4/6 pada numpad - putar di sekitar sumbu X- SSK, putar ke kiri / putar ke kanan.


Pemain indikator kaca depan melihat cakrawala buatan , dan nilai heading saat ini ( «heading» ) dan kedalaman ( «depth» ), yaitu jarak ke permukaan berbahaya. Ini juga menunjukkan sisa waktu permainan dan hasil saat ini ( "skor" ) - jumlah lokasi yang dikunjungi.



Kode simulator ditulis dalam JavaScript menggunakan pustaka Three.js . Nilai parameter gerakan objek diperbarui dalam game loop dengan mengintegrasikan persamaan (1) secara numerik menggunakan metode Euler. Di setiap iterasi, metode update () dari objek dipanggil kendaraan yang melakukan perhitungan untuk setiap saluran kontrol:



vehicle.update = function () {
    //    :
    game.elapsed = (new Date() - game.time) / 1000;
    game.time = new Date();
    // ...
    //       :
    vehicle.omegaX += (vehicle.epsilonX - vehicle.omegaX * vehicle.damping) * game.elapsed;
    vehicle.omegaY += (vehicle.epsilonY - vehicle.omegaY * vehicle.damping) * game.elapsed;
    vehicle.omegaZ += (vehicle.epsilonZ - vehicle.omegaZ * vehicle.damping) * game.elapsed;
    // ...
}

      
      





Bidang epsilonX , epsilonY, dan epsilonZ dari objek kendaraan berisi komponen percepatan sudut tanpa adanya redaman. Nilai masing-masing bidang ini diperoleh dengan "mengalikan" sinyal input dengan faktor efisiensi kontrol:



function init() {
    // ...
    //  :
    document.addEventListener('keydown', function (event) {
        if (game.state == "READINESS")
            if (event.code == "Space") {
                // ...
            }
        if (game.state == "RUN")
            switch (event.code) {
                case "KeyW":
                    vehicle.epsilonZ = vehicle.efficiency;
                    break;
                case "KeyS":
                    vehicle.epsilonZ = -vehicle.efficiency;
                    break;
                case "KeyA":
                    vehicle.epsilonY = -vehicle.efficiency;
                    break;
                case "KeyD":
                    vehicle.epsilonY = vehicle.efficiency;
                    break;
                case "Numpad4":
                    vehicle.epsilonX = vehicle.efficiency;
                    break;
                case "Numpad6":
                    vehicle.epsilonX = -vehicle.efficiency;
                    break;
            }
    });

    document.addEventListener('keyup', function (event) {
        switch (event.code) {
            case "KeyW":
                vehicle.epsilonZ = 0;
                break;
            case "KeyS":
                vehicle.epsilonZ = 0;
                break;
            case "KeyA":
                vehicle.epsilonY = 0;
                break;
            case "KeyD":
                vehicle.epsilonY = 0;
                break;
            case "Numpad4":
                vehicle.epsilonX = 0;
                break;
            case "Numpad6":
                vehicle.epsilonX = 0;
                break;
        }
    });
    // ...
}

      
      





Hasil Eksperimen



Indikator kualitas model akan dianggap sebagai fungsi dari dua variabel. Dengan demikian, hasil studi secara grafis mewakili permukaan 3D , yang masing-masing titiknya menentukan modelnya sendiri dari objek yang dikontrol.







Mari pertimbangkan fitur utama dari beberapa model. Pada bagan, model yang dibahas ditunjukkan dalam huruf Latin.



Dengan nilai koefisien efisiensi pengendalian minimum ( 0,5 rad / s 2 ), maka terdapat model dengan nilai koefisien redaman terbaik (titik A ). Model A dicirikan oleh kemampuan objek yang lemah untuk melakukan manuver dinamis.



Mengubah model A ke arah redaman yang ditingkatkan mengarah pada pembuatan model dengan nilai kecepatan sudut maksimum yang sangat rendah. Objek akhirnya kehilangan kemampuannya untuk bermanuver.



Mengubah model A ke arah penurunan redaman sebagian meningkatkan kemampuan manuver objek, tetapi kualitas keseluruhan sistem menurun karena penurunan sifat dinamisnya: masalah ayunan muncul, kontrol memerlukan tindakan kompensasi yang konstan dari pemain.



Dengan tidak adanya redaman, ada model dengan efisiensi kontrol optimal ( B ). Efisiensi pengelolaannya lebih tinggi daripada model A, yang memberikan kemampuan manuver yang baik. Dalam hal ini, masalah penumpukan menjadi lebih buruk dibandingkan dengan model A , tanpa redaman sama sekali.



Mengubah model B ke arah kontrol yang lebih efisien membawa masalah ayunan ke level di mana perhatian penuh pemain diberikan untuk melawannya. Selanjutnya, bermanuver tanpa melampaui batasan menjadi tidak mungkin.



Model C menggabungkan keunggulan model A dan Tempat Tidur dan . Objek tersebut dikelola dengan cukup efisien, tetapi tanpa berayun. Nilai indikator kinerja permainan untuk model Cjauh lebih tinggi dari model sebelumnya. Namun, model ini bukanlah yang paling efektif.



Form isoline kinerja game di sekitar titik C menunjukkan bahwa perbaikan dalam berkorespondensi hasil untuk gerakan Model arah D .



Pergerakan ini berhubungan dengan penurunan nilai T sambil mempertahankan k pada level konstan (sekitar 0,6 rad / s). Model antara C dan D mengungguli Ctentang keefektifan permainan. Saat bermain dengan model ini, objek kontrol mengikuti penekanan tombol lebih dekat.



Saat berpindah dari model C ke model D , perubahan lain terjadi: kemunduran perilaku alami objek. Konstanta waktu mendekati tingkat di mana durasi transien dan pergeseran fasa dari sinyal keluaran tidak lagi terlihat oleh pengguna.



Perubahan model D menuju penurunan nilai T lebih lanjut dengan tetap mempertahankan nilai k tidak lagi memberikan perbaikan yang signifikan, karena pergeseran fasa sinyal keluaran dan lamanya proses transien dalam model. D sudah cukup kecil untuk dilihat pemain.



Model yang diperoleh dengan "peningkatan" lebih lanjut dari D , dari sudut pandang pemain, tidak berbeda dari penerapan tautan penguat: tidak ada percepatan sudut dari objek dalam permainan, kecepatan sudut langsung mencapai nilai yang stabil saat tombol ditekan.



Analisis tersebut memungkinkan untuk menarik kesimpulan sebagai berikut :



1. Nilai optimal parameter model sesuai dengan degenerasinya menjadi tautan penguat (nilai k adalah sekitar 0,6 rad / s, T = 0 s) dan hilangnya perilaku alami objek.



2. Model yang memberikan kemampuan kontrol yang baik dengan perilaku alami objek sesuai dengan titik C pada grafik (koefisien efisiensi kontrol: dari 2 hingga 3 rad / s 2 ; koefisien redaman: dari -4,5 hingga -3,5 1 / dtk).



3. Mengubah model C ke arah penurunan nilai T pada k = const memungkinkan untuk memperoleh objek dengan kemampuan kontrol yang lebih baik karena penurunan kealamian perilakunya.



Faktor tidak terhitung



Seiring dengan penyederhanaan fisika objek yang dikendalikan, kualitas hasil penelitian dipengaruhi oleh penyederhanaan lain dari kondisi penelitian:



1. Model kemampuan kontrol digambarkan oleh dua nilai parameter, di semua saluran kontrol objek berperilaku sama. Untuk mendapatkan gambaran yang akurat, nilai enam parameter harus divariasikan, karena tidak ada alasan untuk menganggap properti pemain sama untuk semua saluran.



2. Hasil yang diperoleh relevan untuk pengaturan bidang pandang kamera yang digunakan dalam game. Mengubah parameter ini akan memberikan efek yang terlihat pada interaksi pemain dengan objek.



Kelemahan paling serius dalam penelitian ini adalah kurangnya statistik. Setiap penelitian ergonomis harus fokus pada properti dari khalayak sasaran secara keseluruhan. Hasil yang lebih lengkap bisa didapatkan dengan partisipasi sekelompok pemain.



All Articles