안녕하세요.
오늘은 포스팅하던 델타로봇을 제작합니다.
제작까지는 아니고 정확하게는 구현이라고 해야겠습니다.
git hub에 있는 delta robot one을 기초로하여 기구학과 알고리즘을 제작 합니다.
우선 필요제원은 아래와 같이 하였습니다.
하드웨어
1. 다이나믹셀 AX-12A 서보모터 3EA
2. 로봇 기구물
3. 다이나믹셀 U2D2 통신보드
소트웨어
1. C# 프로그램
- 다이나믹셀
AX-12A 입니다.
로보티즈사 시리즈 제품으로 가격이 저렴한 편 입니다.
토크는 크게 기대하기 힘들고 장난감 로봇 수준 정도는 가능합니다.
-U2D2 통신보드
U2D2 통신 보드 입니다.
다이나믹셀을 PC와 통신하기 위해 필요합니다. 전원과 통신을 다이나믹셀에 공급합니다.
아래는 통신 코드 입니다.
전체적인 프로그램은 다이나믹셀 모터3개를 제어하는 형태입니다.
아래 프로그램의 전체 흐름은 타이머를 활용하여 모터를 주기적으로 제어합니다.
아래 플로우를 주기적으로 제어합니다.
로봇 기구학 함수->현재 위치값과 명령값을 비교하여 오차를 산출->모터 출력값 산출
실제 모터의 제어는 embedded 보드를 제작하여 제어를 하는것이 적합 합니다.
당연한 이야기이지만 제어주기는 빠르면 빠를수록 정확하게 모터가 동작합니다.
위치 명령값과 각도값을 주기적으로 비교하여 모터를 제어 한다가 골자 입니다.
다이나믹셀 라이브러리를 활용하였습니다.
다이나믹셀은 각도 모드와 바퀴모드가 있습니다.
현재는 제어를 위해 바퀴모드를 사용하여 제어 합니다.
바퀴모드로 사용하여 제어 한 이유는 다이나믹셀의 속도제어를 통해 모터를 부드럽게 정지 시키기 위함 입니다.
-전체 코드-
프로그램 실행 GUI는 아래와 같습니다.
시작 버튼을 누른 후 트랙바를 이용해 통신하여 위치 값을 전송 합니다.
X,Y,Z 의 위차값으로 산출된 다이나믹셀 서보의 각 위치값을 각축의 명령값에 표시합니다.
그에 따른 모터의 현재 위치값을 피드백 받아 현재값에 표시 합니다.
다음에는 실제 기구물을 제작하여 연동시키는 것을 포스팅하겠습니다.
'로봇' 카테고리의 다른 글
Delta Robot 기구학 해석2 (0) | 2020.11.25 |
---|---|
Delta Robot 기구학 해석1 (0) | 2020.10.19 |
댓글