Robotics là một phần của AI? Sự khác biệt giữa chúng là gì?


Câu trả lời 1:

Không thực sự, hai trường trùng nhau nhưng không phải là một siêu tập hợp của trường kia.

Cộng đồng nghiên cứu Robotics là những gì bạn có thể thấy khi nhiều người từ CS sử dụng robot làm miền ứng dụng của họ. Rô bốt thể hiện sự khác biệt so với CS cổ điển để có hệ thống máy tính gắn chặt với thế giới: một thế giới thời gian thực, rất năng động và khó dự đoán và liên quan đến rất nhiều cảm biến và bộ dẫn động có xu hướng ồn ào (hơn cả bạn máy tính để bàn điển hình trong đó các cảm biến - chuột và bàn phím - và bộ truyền động của máy - hiển thị - có xu hướng rất đáng tin cậy tương đối nói).

Theo nghĩa đó, robot là một bản vá của rất nhiều miền CS, tất cả đều hoạt động trên một miền cụ thể của YouTube: robot. Bạn tìm thấy nhiều lĩnh vực của AI (thậm chí một số như học tăng cường thực sự có được động lực nhờ robot) nhưng cũng rất nhiều về lý thuyết điều khiển, xử lý tín hiệu, Khắc

AI bao quát khía cạnh cố gắng sử dụng máy tính để thực hiện các nhiệm vụ có thể được định nghĩa nhanh chóng là một cách dễ dàng đối với con người nhưng khó đối với máy tính. Điều này bao trùm một phạm vi rất rộng từ suy luận / lập kế hoạch đến học thông qua nhận dạng ngôn ngữ / hình ảnh Chế biến. Trong khi nhiều trong số đó được sử dụng lại bởi robot, bạn sẽ thấy rất nhiều công việc trong AI:

- có các giả định không chơi tốt cho vấn đề robot (ví dụ: lập kế hoạch phức tạp và các giả định ngoại tuyến không hoạt động tốt với bản chất thời gian thực của robot)

- hầu hết được phát triển với các ứng dụng cụ thể liên quan đến ứng dụng robot (ví dụ, hầu hết các máy học có xu hướng không thực hiện việc học tăng dần nhưng trong quy trình hàng loạt, một lần nữa chơi kém vị trí của robot)

- không thực sự là vấn đề quan trọng hoặc cụ thể đối với robot (có robot nhận dạng giọng nói là tốt nhưng cách thức hoạt động của nó ít có thách thức cụ thể khi áp dụng cho robot)

Trong khi nhiều người làm việc để tích hợp hoặc thậm chí cải thiện kỹ thuật AI đa dạng đối với người máy, điều này vẫn khiến 2 miền đó khác nhau. Chắc chắn một số người làm việc trên AI áp dụng cho robot (hoặc robot sử dụng kỹ thuật AI) nhưng những người đó vẫn tương đối giống nhau trên cả hai cộng đồng.


Câu trả lời 2:

Không, hai trường trùng nhau nhưng không bao gồm trong trường kia.

Một số lĩnh vực của AI liên quan trực tiếp đến robot, ví dụ như tất cả các công việc về bản địa hóa và lập bản đồ đồng thời (SLAM) và điều hướng, mọi thứ về nhận thức tích cực, rất nhiều tài liệu về học tập củng cố, cách tiếp cận phát triển, v.v. có nhiều điều về nhận thức và những gì chúng ta coi là trí thông minh và hành vi thông minh chỉ có ý nghĩa nếu bạn tiếp cận chúng như là kết quả nổi bật của sự ghép nối giữa một tác nhân (robot hoặc sinh học) và môi trường của nó, mà nó tương tác thông qua hệ thống cảm biến. Nói cách khác, chúng ta là động vật có cơ thể vật lý hoạt động (ít nhất là đôi khi) thông minh trong thế giới vật chất và không phải là bộ não trong bình hoặc trí óc bị coi thường xử lý thông tin trừu tượng, và đó là điều quan trọng khi bạn nghiên cứu nhiều khía cạnh của trí thông minh, nhân tạo hay không. Nó là cơ sở của nhận thức thể hiện, là một lĩnh vực nghiên cứu hấp dẫn và sống động; Tôi và nhóm nghiên cứu tôi là một phần chủ yếu tập trung vào những khía cạnh của AI được thể hiện cho robot.

Bây giờ, định nghĩa về AI cũng rộng như định nghĩa bạn có về trí thông minh, và rõ ràng có những phần nằm ngoài phạm vi này. Những thứ như AI trò chơi trừu tượng (cờ vua, cờ vây, một số trò chơi điện tử, v.v.), hệ thống chuyên gia, bộ lọc thư rác, hệ thống đề xuất, dịch tự động (và nói chung là hầu hết NLP), v.v. đặc biệt không cần robot (hoặc cơ thể ) làm việc. Những thứ đó là một phần của AI, nhưng không phải là robot. (Mặt khác, các phương pháp chung và khung lý thuyết chung thường có thể được sử dụng cho cả ứng dụng robot và phi robot. Mạng lưới thần kinh nhân tạo được sử dụng ở mọi nơi theo nhiều cách khác nhau cho nhiều thứ rất khác nhau, học tập củng cố có rất nhiều thứ không ứng dụng -robotic cũng vậy, mạng Bayes có thể được sử dụng để tạo bộ điều khiển robot cũng như bộ lọc thư rác, v.v.)

Và robot cũng bao gồm rất nhiều thứ khá xa với AI. Rất nhiều robot là về cơ học, cơ điện tử, cảm biến xây dựng và cơ cấu chấp hành, lý thuyết điều khiển và tự động hóa. Về mặt lý thuyết, theo mô hình nhận thức được thể hiện, không có lý do gì để tách biệt những thứ đó khỏi AI (đó là hệ thống cảm biến hoạt động trong môi trường thông minh, không phải là một hộp thông minh có một số cảm biến và cơ cấu chấp hành), nhưng từ một điểm thực tế Về quan điểm, những thứ đó đòi hỏi những bộ kỹ năng rất khác nhau có liên quan nhiều đến vật lý và đôi khi là toán học hơn là với khoa học nhận thức, khoa học máy tính và những gì chúng ta thường nghĩ về Trò chơi AI AI.


Câu trả lời 3:

Bạn không thể làm robot mà không có AI

ArKeyHandler keyHandler;
 Aria :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 ArLog :: log (ArLog :: Bình thường, "Điều hướng robot và lập kế hoạch đường đi");
 Sonar ArSonarDevice;
 robot.addRangeDevice (& sonar);
 robot.runAsync (đúng);
 // bật động cơ, tắt âm thanh amigobot
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // thêm một tập hợp các hành động kết hợp với nhau để thực hiện hành vi đi lang thang
 Phục hồi ArActionStallRecover;
 Cản trước ArActionBumpers;
 đi lang thang;
 phân tán biểu đồ phân tán;
 // kết xuất đồ họa;
 //render.display(scattergrams.rightpoint);
 robot.addAction (& phân tán, 50);
 robot.addAction (& recovery, 100);
 robot.addAction (& cản, 75);
 robot.addAction (& đi lang thang, 50);
 // đợi vòng lặp tác vụ robot kết thúc trước khi thoát khỏi chương trình
 robot.waitForRunExit ();
 Aria :: thoát (0);
}

đối với tệp chính chỉ là một lớp thực hiện, tất cả các hành vi của robot được thực hiện thông qua các thể hiện của lớp, vì vậy về cơ bản đó là cách tôi thích sắp xếp mã của mình, trong mọi trường hợp, mã hóa AI cho robot thường được đặt là một lớp trong một tệp thực hiện và tiêu đề gọn gàng, đây là nơi tôi sẽ thực hiện nâng AI / ML nặng và chỉ sử dụng một thể hiện lớp trong việc gọi chính các hàm cần thiết. Tôi nghĩ AI / ML phải là một phần của robot và trong trường hợp của tôi, tôi thường thực hành chế tạo robot của mình bằng thuật toán AI, điều này được lấy từ một dự án thú cưng của Drake. Có AI là một phần của robot.

Nếu tôi muốn kết xuất một cái gì đó bằng API SFML C ++, tôi gọi trường hợp lớp thích hợp, do đó có thể, đây thực sự là API robot ARIA C ++ nhưng tôi hiển thị đồ họa cho nó bằng thư viện C ++ đồ họa SFML.