본문 바로가기

허큘렉스(Herkulex)

버섯돌이의 허큘렉스 다루기 - 서보 모터 제어(Raspberry Pi)

herkulex.tar



안녕하세요 버섯돌이 유재성입니다.


이 글을 보기전에 기존에 작성된 글들을 먼저 읽어 보시기 바라며

이번 시간에는 라즈베리 파이용 API를 이용해서 직접 허큘렉스 서보를 제어하는 간단한 샘플을 살펴보겠습니다.


라즈베리 관련 자료들을 어디선가 봤던걸로 기억되는데...

막상 찾으려니 호비스 공식 홈페이지나 동부 로봇 자료실에서도 안 보이는군요.^^';;;


현재 라즈베리 파이용 API는 아래 URL에만 존재합니다.

http://www.homerobot.co.kr/herkulex.tar


그리고 C언어와 아두이노용은 호비스 홈페이지의 커리큘렴에있습니다.

http://hovis.co.kr/guide/hovis_lite_curri_kor.html




동부 로봇 자료실도 살펴보시기 바라며, 굳이 라즈베리 파이용이 아니더라도 각자 편한걸 이용하시면 될 듯 싶습니다.

개인적으로 각 각의 문서들도 읽어 보면 많은 도움이 될 듯 싶네요.


저는 라즈베리 파이용 API로 진행하겠습니다.(정확하게는 C++ 버전입니다.)

항상 그렇듯 저는 root 계정으로 진행하니 그 외의 계정을 사용하는 분들은 적절히 알아서 처리하시기 바랍니다.


먼저 홈 폴더에 study 폴더를 만들고 study 폴더에 herkulex.tar 파일을 다운로드 받습니다.

> mkdir ~/study

> cd ~/study

> wget http://www.homerobot.co.kr/herkulex.tar




ls로 정상적으로 다운로드되었나 확인 후 tar를 이용해서 다운로드 받은 herkulex.tar 파일의 압축을 해제합니다.

> tar xvzf herkulex.tar



압축을 풀면 herkulex 폴더가 생성되는데 herkulex 폴더로 이동합니다.

> cd herkulex




4개의 파일중 "HerkuleX.h / HerkulexX.cpp" 파일이 가장 중요합니다.

One_Servo_Test.cpp 파일은 서보 모터 1개만 연결해서 제어하는 간단한 샘플이며,

Multiple_Servo_Test.cp 파일은 n개의 모터를 동시에 제어하는 방법에 대한 간단한 샘플입니다.

워낙 소스가 간단하기때문에 훑어보시면 쉽게 이해 할 수 있습니다.


c++이라 g++로 컴파일을 하며, 허큘렉스 API를 사용하기 위해서는

파란색의 헤더와 소스 파일은 항상 지정해주시기 바랍니다.


g++ -o one_servo_test HerkuleX.h HerkuleX.cpp One_Servo_Test.cpp




정상적으로 컴파일이 되었으면 위 처럼 one_servo_test 이름의 실행 파일이 생성됩니다.

참고로, -o 다음에 적어주는 이름이 생성될 실행 파일명이며,

샘플에서의 서보ID는 0으로 설정되어있으니 기존 강좌를 참고하셔서

서보 ID값을 0으로 변경하시거나 현재 자신의 서보 ID에 맞도록 소스를 바꾸시기 바랍니다.


./one_servo_test  로 싱글 서보 예제를 실행합니다.



1,2,3번을 선택하면서 직접 테스트 해 보시기 바랍니다.

1번을 선택하면 서보 위치를 235 위치로, 2번 메뉴를 선택하면 789 위치로 이동하게 됩니다.


지금까지 관련 내용들을 설명 드렸기 때문에 소스를 보시면 대충 이해 할 수 있을거라 봅니다.

다음 시간에는 간단히 샘플 소스를 살펴보고 모션 캡춰를 위한 방안을 살펴 보겠습니다.