로봇 공학은 AI의 일부입니까? 그들 사이의 차이점은 무엇입니까?


대답 1:

실제로 두 필드가 겹치지는 않지만 다른 필드의 수퍼 세트도 아닙니다.

로봇 공학 연구 커뮤니티는 로봇을 응용 분야로 사용하여 CS에서 여러 사람으로 볼 수 있습니다. 로봇은 클래식 CS와 다른 점을 제시하여 컴퓨팅 시스템을 세계와 강력하게 연계시킵니다. 실시간, 매우 역동적이며 예측하기 어렵고 시끄러운 경향이있는 많은 센서와 액츄에이터가있는 세상 센서 (마우스 및 키보드 및 "액추에이터"-디스플레이)는 비교적 안정적인 말하기 경향이있는 일반적인 데스크탑 컴퓨터).

그런 의미에서 로봇은 "특정"도메인에서 작동하는 많은 CS 도메인 (로봇)의 패치 워크입니다. 인공 지능의 많은 분야 (로봇 덕분에 실제로 추진력을 얻은 강화 학습과 같은)도 있지만 제어 이론, 신호 처리,…

인공 지능은 컴퓨터를 사용하여 "인간에게는 쉽지만 컴퓨터에는 어려움"으로 빠르게 정의 할 수있는 작업을 수행하는 측면을 다룹니다. 이는 추론 / 계획에서 언어 / 음성 인식 또는 이미지를 통한 학습에 이르기까지 매우 광범위한 범위를 포괄합니다. 가공. 많은 것들이 다시 로봇에 의해 사용되지만 AI에서는 다음 중 하나의 많은 작업을 볼 수 있습니다.

-로봇 문제에 적합하지 않은 가정이 있습니다 (예 : 계획 복잡성 및 오프라인 가정은 로봇 공학의 실시간 특성과 잘 맞지 않음)

-대부분 로봇 응용 분야와 관련하여 개발되었습니다 (예를 들어 대부분의 기계 학습은 학습을 점진적으로 수행하지 않지만 로봇의 위치가 좋지 않은 배치 프로세스에서 학습하는 경향이 있음)

-로봇에게 실제로 중요하거나 특정한 문제는 아닙니다 (음성 인식 기능이있는 로봇을 갖는 것은 좋지만 로봇에 적용될 때 로봇이 작동하는 방식은 별다른 문제가되지 않습니다)

많은 사람들이 로봇 공학을 향한 다양한 인공 지능 기술을 통합하거나 개선하기 위해 노력하고 있지만 여전히 두 영역이 다릅니다. 물론 어떤 사람들은 로봇에 적용되는 AI (또는 AI 기술을 사용하는 로봇)에 대해 연구하지만 그 사람들은 두 공동체에서 상대적으로 프린지로 남아 있습니다.


대답 2:

아니요, 두 필드는 겹치지 만 다른 필드에는 포함되지 않습니다.

인공 지능의 일부 분야는 로봇 공학과 직접 관련이 있습니다. 예를 들어 SLAM (동시 현지화 및 매핑) 및 탐색에 대한 모든 작업, 적극적인 인식에 관한 모든 것, 강화 학습에 대한 많은 문헌, 개발 접근 방식 등이 있습니다. 인지에 관한 많은 것들과 우리가 지능 (지능)과 지능적 행동으로 간주하는 것은 당신이 그것들이 감각 운동 시스템을 통해 상호 작용하는 작용제 (로봇이나 생물학적)와 그 환경 사이의 결합 된 결과로서 접근 할 때만 이해 될 수 있습니다. 다시 말해서, 우리는 육체 세계에서 (적어도 때때로) 지능적으로 행동하는 육체를 가진 동물이며 추상 정보를 처리하는 항아리 나 정신이없는 두뇌에서는 뇌가 아니며, 인공 지능의 인공 지능이든 아니든 지능의 여러 측면을 연구 할 때 중요합니다. 그것은 매력적이고 활기찬 연구 영역 인 구체화 된인지의 기초입니다. 나와 연구 그룹은 로봇 공학을위한 인공 지능의 이러한 측면에 주로 중점을두고 있습니다.

이제 인공 지능의 정의는 지능의 정의만큼 넓으며,이 범위를 벗어난 인공 지능의 일부가 분명히 있습니다. 추상적 게임 AI (체스, 고, 일부 비디오 게임 등), 전문가 시스템, 스팸 필터, 추천 시스템, 자동 번역 (및 대부분의 NLP) 등과 같은 것들에는 로봇 (또는 신체)이 필요하지 않습니다. ) 일하다. 그러한 것들은 AI의 일부이지만 로봇 공학의 일부는 아닙니다. (반면, 동일한 일반 방법과 이론적 프레임 워크는 로봇 및 비 로봇 응용 프로그램 모두에 종종 사용될 수 있습니다. 인공 신경 네트워크는 매우 다양한 것들을 위해 다른 방식으로 어디에서나 사용되며, 강화 학습에는 많은 것이 없습니다 -로보틱스 응용 프로그램, 베이지안 네트워크는 스팸 필터뿐만 아니라 로봇 컨트롤러를 만드는 데 사용될 수 있습니다.)

또한 로봇 공학에는 인공 지능과는 거리가 멀다. 많은 로봇 공학은 역학, 메카트로닉스, 빌딩 센서 및 액추에이터, 제어 이론 및 자동화에 관한 것입니다. 이론적으로, 구현 된인지 패러다임 아래에서 인공 지능으로부터 그러한 것들을 분리 할 이유가 없다 (이것은 지능적인 환경에서 작용하는 감각 운동 시스템이다. 일부 센서와 액추에이터를 갖는 지능적인 상자는 아니다). 관점에서 볼 때,인지 과학, 컴퓨터 과학 및 우리가 일반적으로 "AI"에 대해 생각하는 것보다 물리학 및 때로는 수학과 관련이있는 매우 다른 기술이 필요합니다.


대답 3:

AI없이 로봇 공학을 할 수 없습니다

ArKeyHandler keyHandler;
 Aria :: setKeyHandler (& keyHandler);
 robot.attachKeyHandler (& keyHandler);
 ArLog :: log (ArLog :: Normal, "로봇 탐색 및 경로 계획");
 ArSonarDevice 소나;
 robot.addRangeDevice (& sonar);
 robot.runAsync (true);
 // 모터를 켜고 amigobot 소리를 끕니다.
 robot.enableMotors ();
 robot.comInt (ArCommands :: SOUNDTOG, 0);
 // 방황 행동에 영향을 미치기 위해 결합하는 일련의 동작 추가
 ArActionStallRecover 복구;
 ArActionBumpers 범퍼;
 방황 방황;
 산포도 산포도;
 // 렌더링 렌더링;
 //render.display(scattergrams.rightpoints);
 robot.addAction (& scattergrams, 50);
 robot.addAction (& 복구, 100);
 robot.addAction (& bumpers, 75);
 robot.addAction (& wander, 50);
 // 프로그램을 종료하기 전에 로봇 작업 루프가 끝나기를 기다립니다
 robot.waitForRunExit ();
 아리아 :: 종료 (0);
}

메인 파일이 클래스의 구현에 지나지 않는 한 모든 로봇 동작은 클래스 인스턴스를 통해 구현되므로 기본적으로 코드를 정렬하는 것을 선호합니다. 어쨌든 로봇의 AI 코딩은 일반적으로 클래스로 배치됩니다 깔끔한 헤더 및 구현 파일에서 이것은 무거운 AI / ML 리프팅을 수행하고 필요한 함수를 호출하는 클래스 인스턴스를 사용하는 곳입니다. AI / ML은 로봇 공학의 일부가되어야한다고 생각하며 필자의 경우에는 AI 알고리즘을 사용하여 로봇 공학을 연습합니다. 예. AI는 로봇 공학의 일부입니다.

SFML C ++ API를 사용하여 무언가를 렌더링하려면 적절한 클래스 인스턴스를 호출하므로 가능하면 실제로 ARIA C ++ 로봇 API이지만 SFML 그래픽 C ++ 라이브러리를 사용하여 그래픽을 표시합니다.