So-Arm Feetech 모터 제어 및 모니터링 GUI 사용

모터 불량 테스트 및 실시간 제어와 모니터링의 필요성

So-Arm에 들어가는 Feetech 모터의 경우 많이 사용하다보면 고장이 발생하기 때문에 모터 이상이 있는지 확인해줘야 합니다. 모터를 제어하기 위해서 텔레오퍼레이션 말고 직접 모터의 값을 제어해보거나, 현재 모터 값을 확인해 볼 필요가 있습니다.


목적 및 개요

So-Arm의 Feetech 모터는 장시간 사용 시 마모나 과부하로 인해 고장이 발생할 수 있습니다. 이러한 문제를 조기에 발견하고 해결하기 위해서는 실시간 모터 상태 모니터링직접 제어가 필요합니다.

이 가이드에서는 다음과 같은 작업을 수행할 수 있는 RobosEasy Motor Control GUI를 소개합니다:

  • 모터 불량 테스트: 각 모터의 동작 상태를 개별적으로 확인
  • 실시간 모니터링: 현재 위치, 속도, 토크, 온도 등의 값을 실시간으로 확인
  • 직접 제어: 텔레오퍼레이션 없이 모터를 직접 제어하여 동작 범위 확인
  • 디버깅: 이상 동작 발생 시 원인 파악을 위한 상세 정보 확인

이 도구를 사용하면 복잡한 명령어 없이 그래픽 인터페이스를 통해 모터 상태를 쉽게 확인하고 제어할 수 있습니다.


1. 프로그램 다운로드

RobosEasy Motor Control은 단일 AppImage 파일로 제공되며, 별도의 설치 과정 없이 바로 실행할 수 있습니다.

다운로드 링크

아래 링크에서 최신 버전을 다운로드하세요:

RobosEasyMotorControl.AppImage 다운로드

AppImage란?

AppImage는 Linux에서 사용하는 단일 실행 파일 형식입니다. 별도의 설치 없이 파일에 실행 권한만 부여하면 바로 실행할 수 있습니다.


2. 시스템 준비

2-1. FUSE 설치

AppImage를 실행하려면 FUSE가 필요합니다. 다음 명령어로 설치하세요:

sudo apt-get update
sudo apt-get install -y fuse libfuse2

2-2. USB 포트 권한 설정

모터를 USB로 연결하여 제어하려면 사용자를 dialout 그룹에 추가해야 합니다:

sudo chmod 666 /dev/ttyACM0
sudo chmod 666 /dev/ttyACM1

sudo usermod -aG dialout $USER
재로그인 필수

위 명령을 실행한 후에는 로그아웃했다가 다시 로그인해야 권한이 적용됩니다.


3. 프로그램 실행

3-1. 실행 권한 부여

다운로드한 AppImage 파일이 있는 디렉토리로 이동한 후, 실행 권한을 부여합니다:

chmod +x RobosEasyMotorControl.AppImage

3-2. 프로그램 실행

다음 두 가지 방법 중 하나로 실행할 수 있습니다:

방법 1: 터미널에서 실행

./RobosEasyMotorControl.AppImage

방법 2: 더블클릭 실행 파일 관리자에서 RobosEasyMotorControl.AppImage 파일을 더블클릭하세요.

실행 확인

프로그램이 정상적으로 실행되면 RobosEasy 로고와 함께 GUI 창이 나타납니다.


4. GUI 사용 방법

4-1. 모터 연결

  1. USB 연결: Feetech 모터를 USB-TTL 어댑터로 PC에 연결합니다.
  2. 포트 선택: GUI 상단의 Port 드롭다운에서 USB 포트를 선택합니다 (예: /dev/ttyUSB0).
  3. Connect: “Connect” 버튼을 클릭하여 모터와 연결합니다.

4-2. 모터 제어

연결이 완료되면 다음 기능을 사용할 수 있습니다:

  • 모터 ID 설정: 제어할 모터의 ID를 입력합니다 (1-253).
  • 위치 제어: Position 슬라이더를 조정하여 모터의 목표 위치를 설정합니다.
  • 속도 제어: Speed 슬라이더로 모터의 회전 속도를 조정합니다.
  • 토크 제어: Torque 슬라이더로 모터의 출력 토크를 제한할 수 있습니다.

4-3. 실시간 모니터링

GUI 하단에서 다음 정보를 실시간으로 확인할 수 있습니다:

  • 현재 위치 (Position): 모터의 현재 각도
  • 현재 속도 (Speed): 모터의 회전 속도
  • 현재 부하 (Load): 모터에 가해지는 부하
  • 온도 (Temperature): 모터의 현재 온도
과열 주의

모터 온도가 70°C 이상으로 올라가면 과열 상태입니다. 즉시 모터를 정지시키고 냉각시켜야 합니다.


5. 모터 불량 테스트

각 모터가 정상적으로 작동하는지 테스트하는 방법입니다.

5-1. 개별 모터 테스트

  1. 모터 ID를 1부터 순차적으로 입력합니다.
  2. Position 슬라이더를 천천히 움직여 모터가 정상적으로 반응하는지 확인합니다.
  3. 다음 사항을 점검합니다:
    • 모터가 명령에 따라 정확히 움직이는가?
    • 이상한 소음이나 진동이 발생하는가?
    • 온도가 비정상적으로 높지 않은가?

5-2. 불량 증상 확인

다음과 같은 증상이 나타나면 모터 불량을 의심해야 합니다:

  • 응답 없음: 명령을 보내도 모터가 전혀 움직이지 않음
  • 불규칙한 움직임: 모터가 떨리거나 갑자기 멈춤
  • 과도한 발열: 정상 작동 시에도 온도가 급격히 상승
  • 이상한 소음: 기어 마모나 베어링 손상으로 인한 소음 발생
  • 위치 오차: 목표 위치와 실제 위치의 차이가 큼
불량 모터 발견 시

불량 모터를 발견했다면 즉시 사용을 중지하고 교체해야 합니다. 불량 모터를 계속 사용하면 다른 부품까지 손상될 수 있습니다.


6. 문제 해결

FUSE 오류

dlopen(): error loading libfuse.so.2
AppImages require FUSE to run.

해결 방법: FUSE를 설치하세요.

sudo apt-get install -y fuse libfuse2

모터를 찾을 수 없음

증상: “No serial ports found” 또는 “Permission denied” 오류

해결 방법:

  1. USB 포트 권한 확인:
sudo usermod -aG dialout $USER
  1. 로그아웃 후 다시 로그인

  2. 모터 연결 확인:

ls -l /dev/ttyUSB* /dev/ttyACM*

프로그램이 실행되지 않음

방법 1: 추출 모드로 실행

./RobosEasyMotorControl.AppImage --appimage-extract
cd squashfs-root
./AppRun

방법 2: 실행 권한 확인

chmod +x RobosEasyMotorControl.AppImage

7. 주요 특징

  • 단일 파일 실행: 별도 설치 없이 바로 사용 가능
  • 직관적인 인터페이스: 그래픽 기반으로 누구나 쉽게 사용
  • 실시간 모니터링: 모터 상태를 실시간으로 확인
  • 안전한 제어: 슬라이더를 통한 정밀한 제어
  • 크로스 플랫폼: 모든 Linux 배포판에서 실행 가능

8. 시스템 요구사항

  • 운영체제: Linux (Ubuntu 20.04 이상 권장)
  • 필수 패키지: FUSE 2.x
  • 권장 사양: RAM 4GB 이상, 저장공간 5GB 이상
  • 하드웨어: USB 포트, Feetech 모터 및 USB-TTL 어댑터

다음 단계

Calibration

모터 테스트 후 정확한 캘리브레이션 수행

하드웨어 조립

모터 교체 및 하드웨어 점검 방법