본문 바로가기

허큘렉스(Herkulex)

버섯돌이의 허큘렉스 다루기 - 서보 모터 설정및 테스트(HerkuleX Manager)


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

 

지난 시간에는 DRS-0101 서보 모터편( http://blog.naver.com/dev4unet/120210588673 )에서

DRS-0101의 외형 및 매뉴얼을 비롯하여 라즈베리 파이에서 사용 가능한 API의 일부를 살펴봤었습니다.

 

매뉴얼에 자세한 통신 방법을 비롯한 설명들이 상세히 기술되어 있으니 가급적 한 번씩은 훑어 보시기를 권해드리며,

최소한 지난 글의 내용은 알고 있어야 원하는 작업을 하는데 많은 도움이 될거라 생각됩니다.

 

이번에는 HerkuleX Manager를 이용한 필수 설정및 서보의 동작에 대해서 살펴 보겠습니다.

HerkuleX Manager 프로그램을 사용하기 위해서는 매니저 킷을 구매하셔야 하며,

매니저 킷에서 가장 중요한건 씨리얼 인터페이스 유닛입니다.

 

세부 사항은 이전의 준비물편을 확인하시기 바라며, 씨리얼 인터페이스 유닛없이 작업하실 분들은

제가 내공이 부족한 관계로 다른 분들의 글을 참고하시기 바랍니다.^^;;

HerkuleX Manager의 경우 저 처럼 AVR에 대한 지식이 없고 이제 막 입문하시는 분들에게 상당히 좋은 유틸입니다.

 



지난 글에서 설명드렸듯이 시리얼 인터페이스 서보와 PC 또는 라즈베리와 연결하는 용도로 사용됩니다.



최종적으로 씨리얼 인터페이스 유닛을 기준으로 아래와 같은 형태로 결합됩니다.


 

USB는 PC나 라즈베리 파이의 USB 포트에 연결하고, 전원 단자는 어댑터나 베터리등에 연결하면됩니다.

위 상태가 서보를 제어하기위한 최소한의 상태라고 보시면됩니다.

 

그럼 서보의 다양한 파라메터 설정및 기능을 테스트하기 위한 HerkuleX Manager를 살펴 보겠습니다.

먼저 동부로봇의 호비스 사이트를 방문하면 Software & Driver쪽에 HerkuleX Manager이 있습니다.

사이트 : http://hovis.co.kr/guide/main_kor.html

 


 

Software를 다운로드 받습니다.


 

URL : http://hovis.co.kr/guide/herkulex_manager_kor.html

단축 URL : http://hovis.co.kr/guide/sw/herkulex/[KOR]%20HerkuleX%20Manager%20Setup_ver1_4.zip

 

2014-05-10 (토) 기준으로 1.4버전을 내려 받 을 수 있습니다.

설치는 어렵지 않으니 압축 파일을 풀어서 설치후 실행하시기 바랍니다.

 

만약, 아직 Driver를 설치하지 않은 분들은 기존 글을 참고 하셔서 드라이버를 설치 하시기 바랍니다.

버섯돌이의 허큘렉스 다루기 - 드라이버 설정편

http://blog.naver.com/dev4unet/120210096390 

 


 

USB Serial Port에 할당된 COM포트를 확인하시기 바랍니다.

(확인 방법을 모르시는 분들은 드라이버 설정편의 후반 부분을 참고하세요.)

 

ㅎㅎㅎ..제공받은 HerkuleX Manager 설명서에 COM 포트 부분에 대한 내용이 없어서 초반에 고생했었네요.^^;;;

가장 먼저 진행 할 작업은 자신의 COM포트를 설정하는 것입니다.

 

우측 상단 모서리의 "환경설정"을 클릭합니다.



아래와같은 환경 설정 화면이 나오면 Port 부분에 자신의 USB Serial Port를 선택하시기 바랍니다.


 

COM포트를 선택했으면 우측 상단 모서리의 Apply 버튼을 클릭후 창을 닫으시면 됩니다.

 


 

허큘렉스 매니저의 좌측 창 모서리를 보시면 자신이 설정한 COM포트 번호가 나옵니다.

정상적으로 선택되었는지 확인하시기 바라며, 현재 시점에서는 저는 COM8번입니다.^^

그 뒤에는 우측의 "연결하기" 버튼을 클릭하면 연결된 서보를 하나씩 찾습니다.

 


 

0부터 253까지 총 254개의 서보를 연결 할 수 있기때문에 0번부터 차례대로 연결된 모든 서보를 찾고 있는데,

만약 빨간색으로 표시한것처럼 연결된 서보가 모두 찾아졌으면 굳이 끝까지 기다릴 필요 없이 취소 버튼을 클릭해도 됩니다.

참고로, 서보를 처음 구매하시면 서보 ID가 253으로 설정되어있습니다.

 

허큘렉스 서보의 제어는 ID 값(숫자)으로 제어합니다.

이전 글에도 설명드렸듯이 서보 여러개를 연결 할 수 있는데 모두 253의 ID를 갖게 되면 오동작하게 되므로

가장 먼저 해야 할 작업은 각 각의 서보 모터에 대해 적절한 ID값을 부여하는 작업입니다.

같은 이유로 최초 구매시에는 동일한 ID값을 갖기 때문에 한번에 하나씩 연결해서 설정하시기 바랍니다.

 


 

모터의 상태 점검및 속성 확인을 위해 "기본속성설정"을 클릭합니다.

 



좌측 상단의 첫 번째 영역은 저처럼 처음 입문할 때 가장(?)많이 사용될 화면입니다.

워낙 직관적이라 대충봐도 서보가 움직일 수 있는 범위와 LED 상태..

그리고 입력 전압및 온도등의 중요한 정보들이 나오는걸 알 수 있습니다.

서보의 범위는 "버섯돌이의 허큘렉스 다루기 - DRS-0101 서보 모터편"을 참고 하시기 바라며,

실시간으로 LED를 컨트롤 할 수 있으며 현재 서보의 위치 파악및 수정이 가능합니다.




빨간색 사각형 안의 부분이 서보의 이동 가능한 범위및 현재 위치입니다.

빨간색 일직선이 현재 서보의 위치인데 512가 정 중앙입니다.

특정 모형을 조립하기전에 항상 512위치인지 확인후 조립하시는게 좋습니다.

(조립후에 발견하면 그땐 피곤한 일이 발생하죠^^;;)

 

포지션 설정 방법은 토크를 On으로 하신후 원하는 위치를 클릭하시면됩니다.

뒤에 가서 다시 설명드리겠습니다.

 



LED의 경우 가장 직관적이니 Red를 클릭하시면 위 화면에 LED 색이 반영됩니다.


실제 서보의 경우 위처럼 LED를 표시하는 곳이 4개가 모여있는 곳과 1개만 있는 곳의 2군데입니다.

양쪽 모두 실시간으로 반영되며 혼합색의 경우 조금 다르게 표시됩니다.

 



Blue를 선택하면 당연히 위처럼 Blue가 표시됩니다.



또한, Red + Blue의 혼합색도 가능합니다.

색상의 경우 아주 정확하지는 않으니 대충 그렇구나..라고 생각하세요.*^_^*

 

그외의 화면들은 대충 훑어보시면 정말 다양한 옵션들을 설정및 조회가 가능하다는걸 알 수 있습니다.

마구 마구 만지다가 이상이 생기면 기본 값으로 복원하시면됩니다.^^;;

 

그럼 "기본속성설정"에서 가장 중요한(?) 부분을 살펴 보겠습니다.
화면을 최대한 크게 키우시고 스크롤을 끝까지 내리시면 가장 마지막 부분에 "ID & Policy" 영역이 있습니다.


 

바로 이 부분에서 선택된 서보의 ID값을 변경 할 수 있습니다.

제 경우 선택된 서보는 0번이라서 0으로 표시되는데 원하는 숫자를 입력후 "Save"버튼을 클릭하시면 반영됩니다.

대부분의 모델들이 0번부터 순차적으로 사용되기때문에 0번부터 차례대로 번호를 부여하시면 되겠습니다.

그 외 정책관련된 부분이 있으니 적절히 수정하실 분들은 수정하시기 바랍니다.

 

현재 버전에서 스크롤 버그가 있어서 화면 해상도가 낮은 분들은 ID & Policy창이 안 보입니다.



13인치 맥북을 사용중인데 세로 해상도가 높지 않습니다.
현재 상태에서 빨간색 표시부분의 스크롤 바를 끝까지 내립니다.


 

스크롤바를 끝까지 내렸음에도 화면의 변화가 거의 없습니다.^^;;

보시면 ADC Limit의 아래 부분이 아주 조금 더 보이는 정도입니다.

해상도에 따라서 가변적으로 배치되다보니 생기는 버그인데...

제 맥북에서는 위 처럼 최대 2칸까지만 보입니다.^^;;

만약, 가로 해상도라도 컸으면 옆으로 3~4칸씩 보이기 때문에 "ID & Policy" 영역이 보였을텐데..

처음에 매니저 킷을 구매할 때 잘 몰라서 몇 번 시도하다가 포기했었네요.^^;;

위 버그는 현재 수정중에 있다고 합니다.


만약, 저처럼 노트북에서 작업하시면서 해상도 때문에 "ID & Policy" 영역이 안 보이는 분들은

모니터에 연결하셔서 해상도를 키우거나 사용하는 노트북의 그래픽 속성에서 해상도를 강제로 높게 설정하시기 바랍니다.


 

참고로, 저희집 모니터에 연결해서 1920 * 1080 해상도인 경우 위 처럼 가로로 4칸까지 나옵니다.

 

자.. 그럼 이젠 HerkuleX Manager의 좀 더 멋진(?) 작업을 해 보겠습니다.

서보 모터편의 매뉴얼을 받으셔서 패킷 설명 부분을 읽어보시면 구현하려는 작업에 많은 도움이 됩니다.

그 내용들을 기반으로 HerkuleX Manager에서 테스트를 진행하시기 바랍니다.

 

HerkuleX Manager에는 Debug를 비롯하여 다양한 기능들이 있는데 세부 내용들은 직접 해 보시기 바라며...

초보자 입장에서 4DOF 2족 보행 로봇의 소스를 개발하실 때 가장 필요한 부분은 "Graph" 메뉴라고 생각되네요.

 

상단 탭에서 "Graph" 버튼을 클릭합니다.



아래와 같은 "동작 그래프" 창이 하나 뜹니다.

 

다양한 그래프를 확인 할 수 있지만... 현재로서는 그런것들은 중요하지는 않고...^^;;;



 

상단의 이 부분이 제일 중요합니다.^^;;;

서보를 제어하기 위해서는 반드시 Torque On되어야 하는데

우측 상단에 표시된 "Torque On" 버튼을 클릭 하시면 Torque를 On/Off할 수 있습니다.

 

토크가 On되면 서보를 제어할 준비가된 상태입니다.

이 상태에서 서보 혼을 손으로 움직이시면 바로 옆의 포지션 그래프에서 Postion이 실시간으로 변경됩니다.

 

또한, A, B, C Postion등의 값을 이용해서 원하는 제어를 할 수 있습니다.

예를들어, A Postion 부분에 위치는 320을 입력하고 Play Time에 60을 입력 후 "실행" 버튼을 클릭하면

서보는 도달시간 60ms를 기준으로 320위치에 도달하게 됩니다.

RGB LED는 당연히 LED를 제어하겠지요^^;;

 

이 부분이 초보에게 가장 중요하다고한 이유는 나중에 라즈베리 파이에서 API를 이용해서

기능을 구현하실 때 제 경우 이정도 수준이상은 사용하지 않기 때문입니다.^^;;

반대로, 위 기능을 완벽하게 이해하셔야 원하는 기능 구현에 도움이 되겠지요^^

 

또한, "Break On"버튼을 클릭하시면 Break On/Off가 됩니다.

이 부분도 상당히 중요합니다.

토크의 경우 몇 가지 모드가 있지만 기본적으로 Torque가 On 되면 서보가 동작한다고 생각하시면 됩니다.

이 상태에서 Break가 On되면 서보를 손으로 움직일 수 없게됩니다.

따라서, 손으로 뭔가 원하는 값을 얻기 위해서는 반드시 Torque만 On되고 Break는 걸면 안됩니다.

참고로, 라즈베리에서 손으로 서보를 돌리면서 원하는 모션을 얻고 싶은 경우에는 Torque를 Off 하시면 됩니다. 


즉, 2족 보행 로봇을 비롯하여 다양한 모델을 만드신 후...

해당 모델에 모션을 부여하기 위해 적절한 위치 값을 획득하시려면 손으로 원하는 모양을 만들고

위치 값을 확인하는 형태로 작업하실 텐데 브레이크가 걸려있으면 불 가능하겠지요^^;;

이런 작업을 보다 편하게 해주는 툴이 지난번에 간단히 언급했던 DR-SIM입니다.

 

끝으로, 앞에서 잠깐 설명했었던 포지션 설정의 다른 방법입니다.

 

 

 

Graph에서 Torque를 On으로 하셨으면 "기본속성설정" 화면의 그래프에서

원하는 위치를 한번 클릭하시면 사진처럼 초록색 라인이 생깁니다.

그리고 빨간색 라인이 해당 위치로 이동하는걸 볼 수 있습니다.

 

"본 제품은 동부로봇에서 후원하고 아이씨뱅큐 무상체험단 13기 활동의 일환으로 체험 제품을 제공받아 작성되었습니다."