순서

I. 로봇 구조
II. 전체 제어 흐름
III. 프로젝트 목표
IV. 필요한 개념들


I. 로봇 구조

로봇 팔은 다음과 같은 구조를 가집니다

필츠 로봇 팔 그림 참고.

 

로봇 팔은 진짜 구동부이고
제어기는 로봇 팔을 제어 및 명령하기 위한 "뇌"담당
Teach Pendant는 사용자가 조종할 수 있도록 만든 UI프로그램 장치 입니다.

 

로봇 팔이 구동할 때는 각 팔은 다음과 같이 나뉘어집니다.

굉장히 심플한 그림...

감속기 등 다른 부품을 제외하면,
모터 - 엔코더 - 모터 드라이브로 구성되는데

모터는 실제로 팔모양을 돌리는데 쓰이고
엔코더는 각 팔의 현재 각도를 가지고 있습니다.
모터 드라이브는 엔코더에게 명령등을 해주는 역할입니다.


II. 전체 제어 흐름

따라서 과정을 총 정리하면,

1. 제어기에서 이상적인 Target값을 모터 드라이브로 전달
2. 모터 드라이브에서 엔코더로 전달해 모터 작동
3. 엔코더가 계속해서 현재 각도를 모터 드라이브로 전달(피드백)
4. 모터 드라이브가 제어기로 피드백 값 전달
5. 제어기에서 그 피드백 값을 이용해 다시 Target값 전달 (Full-Closed 제어)
6. 반복...


III. 프로젝트 목표

로봇에 필요한 값들은 위치, 속도, 가속도, 토크입니다.

이번 프로젝트의 목표는 이 제어 과정이 문제없이 진행되는지 확인하기 위한
PC Tool을 만드는 것 입니다.

따라서 TCP/IP통신으로 데이터를 주고 받아야하고,
이 통신을 이용해 필요한 기능에는

1. Target 값 들과 Feedback 값들 모니터링
(데이터 Plotting, 데이터 저장기능)

2. 제어주기가 깨지지 않고 잘 진행되는지 모니터링

3. 위치 값으로 로봇의 현재 모습 렌더링
(petercorke github이용)


IV. 프로젝트 필요 개념

필요한 개념은 다음과 같습니다.

1. python (PC Tool)
네트워크 프로그래밍
pyQt UI 프로그래밍
Anaconda 환경구축
List to .csv (Pandas) 등 모듈 사용

2. C++ (제어기)
네트워크 프로그래밍

+ Recent posts