[인공지능] 8-2 지능 로봇

[인공지능] 8-2 지능 로봇

로봇 요소간의 통신 방식

하드웨어간 통신 UART RS-232/422/485 SPI/I2C USB

소프트웨어간 통신 공유 메모리 소켓

하드웨어간 통신 방식

UART

GND, TX, RX 등의 통신선 이용한 직렬통신

병렬 데이터 ↔ 직렬 데이터 변환

보통 MCU 등에 내장

비동기 방식

방식 미리 송/수신쪽에서 전송 속도 설정

TTL level 전압 사용

사용 디지털 신호를 직접 전달

근거리 통신에 사용

RS-232/422/485

TTL level 전압으로 통신하는 UART 통신을 보완 한 방식

한 방식 12V/-12V 또는 25V/-25V 전압으로 신호 전송

UART보다 먼거리까지 통신 가능

전송속도가 느리고, 전송 거리도 짧음

SPI / I2C

근거리 통신 규격

1:n 통신 지원

지원 MCU가 master가 되고, 센서들이 slave

USB

다양한 병렬, 직렬 방식의 기기 연결 지원

디바이스 드라이버 필요

UART 통신 모듈을 USB로 연결 가능

소프트웨어간 통신 방식

공유 메모리

같은 메모리 공간에 대한 접근

동일 컴퓨터 내에서만 가능

소켓통신

IP 주소와 포트 번호로 식별되는 통신 단말 제공

클라이언트-서버

로봇 제어 패러다임 : 감지, 계획, 행동 관련된 기능의 구성방식에 따라 구별된다.

계층형 패러다임

감지하고, 계획을 수립하고, 이를 바탕으로 행동을 하는 과정의 반복

NIST 실시간 제어 시스템 RCS 구조

반응형 패러다임 : 행위들이 병렬적으로 수행

계획수립을 하는 단계가 없이 센서를 통해 감지된 상황별로 바로 어떤 행동을 할지 대응

센서를 통해 감지된 별도의 지식을 표현하지 않고, 상황별로 수행할 행동 만을 지정

중재자 두 가지 이상의 행위가 실행 가능하면서 충돌이 생기면 실행할 행동 결정 경쟁적 방식 : 우선순위 부여 또는 다수결 투표 협력적 방식 : 실행 가능한 두 개 이상의 동작을 동시에 사용 혼합적 방식 : 상황에 따라 경쟁적 중재 방식과 협력적 중재 방식 사용

반응형 시스템 포섭 구조 (경쟁적 중재 방식) : 행위 모듈을 계층적인 구조로 구성 전위장 (협력적 중재 방식) : 2개 이상의 행위를 결합하여 수행할 수 있도록 함. 로봇이 위치하는 2차원 공간을 일정 크기의 그리드로 분할하여 표현 그리드의 각 셀(cell)에서의 이동 벡터 계산 이동 벡터를 더하여 최종 이동 벡터를 결정

혼합형 패러다임

우선 계획수립을 해 놓은 다음 에 이를 이용하여 반응형 패러다임처럼 로봇 동작

에 이를 이용하여 계획 모듈 : 부분 태스크들로 분해하는 임무 계획수립을 한 다음, 각 부분 태스크를 수행할 행위를 결정

로봇 : 실행 가능한 행위들이 중재를 통해서 병렬 수행

로봇 제어 코드 구현

각 모듈이 소프트웨어적으로 병렬로 실행되고 있는 것처럼 각 모듈을 스레드로 구현

단일 프로세스를 사용하여 운영체제에서 시분할 처리하는 것처럼 모듈을 일정시간씩 돌아가면서 처리

로봇 소프트웨어 개발 프레임워크

: 미들웨어 + 각종 개발 도구 + 라이브러리 제공

ROS

가장 많이 사용되고 있는 프레임워크

Linux Ubuntu만 공식 운영체제로 지원 -> 타 운영체제 환경 사용 가능

노드 : 최소 단위 실행 가능한 프로그램

토픽 : 노드간에 메시지를 교환하는 이름을 붙인 버스

마스터 : 노드 간의 연결 및 메시지 통신을 위한 네임서버 역할을 하는 노드

발행 : 토픽의 내용을 해당 메시지 형태의 데이터로 전송하는 것

발행자 : 발행하기 위해 토픽과 자신의 정보를 마스터에 등록하는 노드

구독 : 토픽의 내용을 정해진 메시지 형태의 데이터로 수신하는 것

구독자 : 구독하기 위해 토픽 및 자신의 정보를 마스터에 등록하는 노드, 발행자 정보를 마스터로 부터 수신

로봇 계획수립

움직임 계획수립 : 로봇이 원하는 움직임 작업을 수행할 수 있도록 일련의 이산적인 움직임들을 찾는 것

: 로봇이 원하는 움직임 작업을 수행할 수 있도록 일련의 이산적인 움직임들을 찾는 것 경로 계획수립 : 시작 위치에서 목표 위치로 가기 위한 시간적 순서에 따른 위치들을 찾는 것

: 시작 위치에서 목표 위치로 가기 위한 시간적 순서에 따른 위치들을 찾는 것 궤적 계획수립 : 경로와 제약조건 및 로봇의 기계적인 특성을 고려하여 매 시점의 관절 또는 바퀴의 위치, 속도, 가속도 등의 값을 결정하는 것

동시적 위치추정 및 지도작성(SLAM) : 로봇이 알려지지 않은 정적인 환경을 이동하면서 지도를 함께 작성하는 것

Kalman Filter (확률 추정)

시간에 따른 관측 데이터를 사용하여 미지의 변수의 추정치를 구하는 알고리즘

잡음(미지의 변수 값)을 가우시안 함수로 표현

최종적으로 변수의 값을 정확한 수치값으로 제공 X

파티클 필터(Particle Filter) (확률 추정)

로봇의 잠재적 위치를 표본(파티클)들의 분포로 표현

1. 파티클 이동 – 각 파티클을 동적 시스템 방정식을 이용해서 이동

2. 확률 계산 – 주어진 지도 및 상황에서 해당 위치가 참일 확률 계산

3. 재 표본 추출 – 계산된 확률에 따라 파티클을 다시 표본 추출하여 파티클 집합 구성

파티클별로 지어진 지도와 감지된 상황에 부합되는 정도에 따라 확률값이 부여된다.

from http://juyami.tistory.com/49 by ccl(A) rewrite - 2021-12-13 04:27:06