So-Arm Feetech 모터 제어 및 모니터링 GUI 사용
So-Arm에 들어가는 Feetech 모터의 경우 많이 사용하다보면 고장이 발생하기 때문에 모터 이상이 있는지 확인해줘야 합니다. 모터를 제어하기 위해서 텔레오퍼레이션 말고 직접 모터의 값을 제어해보거나, 현재 모터 값을 확인해 볼 필요가 있습니다.
목적 및 개요
So-Arm의 Feetech 모터는 장시간 사용 시 마모나 과부하로 인해 고장이 발생할 수 있습니다. 이러한 문제를 조기에 발견하고 해결하기 위해서는 실시간 모터 상태 모니터링과 직접 제어가 필요합니다.
이 가이드에서는 다음과 같은 작업을 수행할 수 있는 RobosEasy Motor Control GUI를 소개합니다:
- 모터 불량 테스트: 각 모터의 동작 상태를 개별적으로 확인
- 실시간 모니터링: 현재 위치, 속도, 토크, 온도 등의 값을 실시간으로 확인
- 직접 제어: 텔레오퍼레이션 없이 모터를 직접 제어하여 동작 범위 확인
- 디버깅: 이상 동작 발생 시 원인 파악을 위한 상세 정보 확인
이 도구를 사용하면 복잡한 명령어 없이 그래픽 인터페이스를 통해 모터 상태를 쉽게 확인하고 제어할 수 있습니다.
1. 프로그램 다운로드
RobosEasy Motor Control은 단일 AppImage 파일로 제공되며, 별도의 설치 과정 없이 바로 실행할 수 있습니다.
다운로드 링크
아래 링크에서 최신 버전을 다운로드하세요:
RobosEasyMotorControl.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. 모터 연결
- USB 연결: Feetech 모터를 USB-TTL 어댑터로 PC에 연결합니다.
- 포트 선택: GUI 상단의 Port 드롭다운에서 USB 포트를 선택합니다 (예:
/dev/ttyUSB0). - Connect: “Connect” 버튼을 클릭하여 모터와 연결합니다.
4-2. 모터 제어
연결이 완료되면 다음 기능을 사용할 수 있습니다:
- 모터 ID 설정: 제어할 모터의 ID를 입력합니다 (1-253).
- 위치 제어: Position 슬라이더를 조정하여 모터의 목표 위치를 설정합니다.
- 속도 제어: Speed 슬라이더로 모터의 회전 속도를 조정합니다.
- 토크 제어: Torque 슬라이더로 모터의 출력 토크를 제한할 수 있습니다.
4-3. 실시간 모니터링
GUI 하단에서 다음 정보를 실시간으로 확인할 수 있습니다:
- 현재 위치 (Position): 모터의 현재 각도
- 현재 속도 (Speed): 모터의 회전 속도
- 현재 부하 (Load): 모터에 가해지는 부하
- 온도 (Temperature): 모터의 현재 온도
모터 온도가 70°C 이상으로 올라가면 과열 상태입니다. 즉시 모터를 정지시키고 냉각시켜야 합니다.
5. 모터 불량 테스트
각 모터가 정상적으로 작동하는지 테스트하는 방법입니다.
5-1. 개별 모터 테스트
- 모터 ID를 1부터 순차적으로 입력합니다.
- Position 슬라이더를 천천히 움직여 모터가 정상적으로 반응하는지 확인합니다.
- 다음 사항을 점검합니다:
- 모터가 명령에 따라 정확히 움직이는가?
- 이상한 소음이나 진동이 발생하는가?
- 온도가 비정상적으로 높지 않은가?
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” 오류
해결 방법:
- USB 포트 권한 확인:
sudo usermod -aG dialout $USER
-
로그아웃 후 다시 로그인
-
모터 연결 확인:
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 어댑터