Apakah robotika adalah bagian dari AI? Apa perbedaan di antara mereka?


Jawaban 1:

Tidak juga, kedua bidang saling tumpang tindih tetapi tidak satu pun yang super-set.

Komunitas riset robotika adalah apa yang dapat Anda lihat sebagai banyak orang dari CS menggunakan robot sebagai domain aplikasi mereka. Robot menghadirkan perbedaan dari CS klasik untuk memiliki sistem komputasi yang sangat terkait dengan dunia: dunia yang real-time, sangat dinamis dan sulit untuk diprediksi dan melibatkan banyak sensor dan aktuator yang cenderung berisik (jauh lebih banyak dari Anda komputer desktop biasa di mana sensor - mouse dan keyboard - dan "aktuator" - tampilan - cenderung sangat andal secara relatif).

Dalam pengertian itu, robot adalah tambalan dari banyak domain CS yang semuanya bekerja pada domain "spesifik": robot. Anda menemukan banyak bidang AI (bahkan beberapa seperti pembelajaran penguatan yang benar-benar mendapatkan momentum berkat robot) tetapi juga banyak tentang teori kontrol, pemrosesan sinyal, ...

AI mencakup aspek mencoba menggunakan komputer untuk melakukan tugas-tugas yang dapat dengan cepat didefinisikan sebagai "mudah dilakukan untuk manusia tetapi sulit untuk komputer" ini mencakup spektrum yang sangat luas dari inferensi / perencanaan hingga pembelajaran melalui pengenalan bahasa / suara atau gambar pengolahan. Sementara banyak dari mereka yang digunakan oleh robot lagi Anda akan melihat banyak pekerjaan di AI yang:

- Memiliki asumsi yang tidak cocok untuk masalah robot (misalnya kompleksitas perencanaan dan asumsi offline tidak berjalan baik dengan sifat robotika waktu nyata)

- telah banyak dikembangkan tanpa memperhatikan hal-hal spesifik untuk aplikasi robot (sebagian besar pembelajaran mesin misalnya tidak melakukan pembelajaran secara bertahap tetapi dalam proses batch yang lagi-lagi memainkan posisi robot yang buruk)

- bukan masalah yang sangat penting atau spesifik untuk robot (memiliki robot dengan pengenalan suara itu bagus tapi cara kerjanya hanya sedikit atau tidak ada tantangan khusus ketika diterapkan pada robot)

Sementara banyak orang bekerja untuk mengintegrasikan atau bahkan meningkatkan beragam teknik AI terhadap robotika, hal ini tetap membuat kedua domain tersebut berbeda. Tentu saja beberapa orang bekerja dengan AI yang diterapkan pada robot (atau robot yang menggunakan teknik AI) tetapi orang-orang itu tetap relatif pinggiran di kedua komunitas.


Jawaban 2:

Tidak, kedua bidang tumpang tindih tetapi tidak ada yang disertakan dalam yang lain.

Beberapa bidang AI secara langsung berkaitan dengan robotika, misalnya semua karya tentang pelokalan dan pemetaan simultan (SLAM) dan navigasi, segala sesuatu tentang persepsi aktif, banyak literatur tentang pembelajaran penguatan, pendekatan pengembangan juga, dll. Lebih umum, ada ada banyak hal tentang kognisi dan apa yang kami anggap kecerdasan dan perilaku cerdas yang hanya masuk akal jika Anda mendekatinya sebagai hasil yang muncul dari hubungan antara agen (robot atau biologis) dan lingkungannya, yang berinteraksi dengan melalui sistem sensorimotor. Dengan kata lain, kita adalah hewan dengan tubuh fisik yang bertindak (setidaknya kadang-kadang) dengan cerdas di dunia fisik dan tidak berotak dalam benak atau pikiran tanpa tubuh yang memproses informasi abstrak, dan itu penting ketika Anda mempelajari banyak aspek kecerdasan, buatan atau tidak. Ini adalah dasar dari kesadaran yang terkandung, yang merupakan bidang penelitian yang menarik dan hidup; Saya dan kelompok penelitian saya sebagian besar fokus pada aspek-aspek dari AI yang diwujudkan untuk robotika.

Sekarang, definisi AI selebar definisi yang Anda miliki tentang kecerdasan, dan ada bagian yang jelas di luar cakupan ini. Hal-hal seperti AI game abstrak (catur, go, beberapa videogame, dll.), Sistem pakar, filter spam, sistem pemberi rekomendasi, terjemahan otomatis (dan lebih umum sebagian besar NLP), dll. Tidak terlalu membutuhkan robot (atau badan ) bekerja. Hal-hal itu adalah bagian dari AI, tetapi bukan robot. (Di sisi lain, metode umum yang sama dan kerangka kerja teoritis sering dapat digunakan untuk aplikasi robot dan non-robot. Jaringan saraf tiruan digunakan di mana-mana dengan cara yang berbeda untuk banyak hal yang sangat berbeda, pembelajaran penguatan memiliki banyak aplikasi -robotic juga, jaringan Bayesian dapat digunakan untuk membuat pengontrol robot seperti halnya filter spam, dll.)

Dan robot juga termasuk banyak hal yang cukup jauh dari AI. Banyak robotika tentang mekanik, mekatronik, sensor dan aktuator bangunan, teori kontrol, dan otomatisasi. Secara teoritis, di bawah paradigma kognisi yang diwujudkan tidak ada alasan untuk memisahkan hal-hal dari AI (itu adalah sistem sensorimotor yang bertindak dalam lingkungan yang cerdas, bukan kotak cerdas yang kebetulan memiliki beberapa sensor dan aktuator), tetapi dari titik praktis Dari pandangan, mereka membutuhkan keahlian yang sangat berbeda yang lebih banyak berkaitan dengan fisika dan kadang-kadang matematika daripada dengan ilmu kognitif, ilmu komputer dan apa yang biasanya kita pikirkan tentang “AI”.


Jawaban 3:

Anda tidak dapat melakukan robotika tanpa AI

ArKeyHandler keyHandler;
 Aria :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 ArLog :: log (ArLog :: Normal, "Navigasi Robot dan perencanaan jalur");
 ArSonarDevice sonar;
 robot.addRangeDevice (& sonar);
 robot.runAsync (true);
 // nyalakan motornya, matikan suara amigobot
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // tambahkan satu set tindakan yang bergabung bersama untuk mempengaruhi perilaku mengembara
 ArActionStallRecover pulih;
 Bumper ArActionBumpers;
 mengembara mengembara;
 scattergram scattergram;
 // render render;
 //render.display(scattergrams.rightpoints);
 robot.addAction (& scattergrams, 50);
 robot.addAction (& memulihkan, 100);
 robot.addAction (& bumper, 75);
 robot.addAction (& mengembara, 50);
 // tunggu loop tugas robot untuk berakhir sebelum keluar dari program
 robot.waitForRunExit ();
 Aria :: exit (0);
}

sejauh file utama hanya merupakan implementasi dari kelas, semua perilaku robot diimplementasikan melalui instance kelas jadi pada dasarnya itu adalah cara saya lebih suka mengatur kode saya, dalam hal apa pun pengkodean AI untuk robot biasanya ditempatkan sebagai kelas dalam header yang rapi dan file implementasi, ini adalah tempat saya akan melakukan pengangkatan AI / ML yang berat dan hanya menggunakan instance kelas dalam pemanggilan utama fungsi yang diperlukan. Saya pikir AI / ML harus menjadi bagian dari robotika dan dalam kasus saya saya biasanya berlatih robotika saya menggunakan algoritma AI, ini diambil dari "proyek kesayangan" milik saya. Ya AI adalah bagian dari robotika.

Jika saya ingin me-render sesuatu menggunakan SFML C ++ API saya memanggil instance kelas yang sesuai, jadi mungkin saja, ini sebenarnya adalah ARIA C ++ robot API tetapi saya menampilkan grafik untuk itu menggunakan perpustakaan grafik C ++ SFML.