Agilex SCOUT MINI 각 Wheel 전류 데이터 문의

안녕하세요

SCOUT MINI + PIPER 으로 구성된 모바일 메뉴퓰레이터를 사용하고 있습니다..

SCOUT을 구동하여 데이터를 받는데 각 wheel에 대한 전류 데이터를 못 받는 것에 대한 해결책 또는 방안이 있는지 문의 드립니다.

첨부한 사진은 리모컨으로 3가지 속도를 다르게 하여 구동하였을 때, 실시간 데이터 시트입니다.
맨 오른쪽 각 wheel의 rpm 값을 보면 알 수 있습니다.

하지만 중간에 I 전류 값은 0.0~0.4 사이의 값이 계속 일정하지 않게 나오고 있습니다.

안녕하세요. 위고로보틱스 기술지원팀입니다.

로봇을 바닥에 놓고 모터에 부하를 가한 상태로 측정해보시기 바랍니다.

바닥에 먼저 저런 문제가 발견되어 첨부한 사진처럼 시도하였습니다 !

  • 전류값을 비롯한 float64는 소수점 6자리까지 출력
  • std_msgs/Header header 출력
    • uint32 seq
    • time stamp
  • uint8 control_mode
  • uint16 fault_code
  • float64 linear_velocity
  • float64 angular_velocity

위 정보를 함께 출력해서 log text file로 전달헤 주시기 바랍니다.

scout_status_log_20260526_231434.txt.zip (66.5 KB)

보내주신 실시간 데이터 시트를 확인하였습니다. 리모컨 속도 변경에 따라 4륜의 RPM은 정상적으로 변화하는 반면, 전류값(I)이 0.0~0.4A 사이에서 일정하지 않게 출력되는 현상을 확인하였습니다. 이는 다음 두 가지 요인이 복합적으로 작용한 결과로, SCOUT 플랫폼의 정상 동작 범위로 판단됩니다.

첫째, SCOUT MINI가 채택한 skid-steering 방식의 특성입니다. 4륜이 각각 독립된 모터 드라이버로 제어되는 구조이며, 직진 명령에서도 각 바퀴의 노면 마찰, 하중 분포, 감속기/모터 개별 편차에 따라 흐르는 전류가 서로 다른 것이 정상 동작입니다. 4륜이 동일한 전류로 동기되어 출력되는 상태는 물리적으로 발생하지 않습니다.

둘째, CAN 프로토콜 상 전류 분해능 자체가 0.1A로 정의되어 있습니다. SCOUT MINI User Manual V2.0.4의 Table 3.7 (Motor driver high-speed information feedback frame, CAN ID 0x251~0x254) 정의에 따르면, 모터 전류는 프레임 byte[2:4]에 signed int16 형식으로 0.1A 단위(unit)로 전송됩니다. 따라서 평지·무부하·저속 구간에서 실제 모터 전류는 0.1A 이하로 떨어질 수 있으며, 이 경우 표시값은 분해능 경계에 걸려 0.0~0.1A 사이를 토글하는 형태로 나타납니다.

또한 SCOUT MINI는 24V 구동 시스템으로, 모터 감속비(1:4.3) 및 감속기 백래쉬(backlash) 등 기계적 요인으로 인해 순간적인 부하 토크가 불연속적으로 변동합니다. 이 결과 특히 이동 시작·정지 및 방향 전환 구간에서 소순간 전류값이 들쪽날쭉한 패턴으로 관측될 수 있으며, 이 또한 정상적인 물리 현상입니다.

따라서 모니터링이나 진단 용도로 전류 데이터를 활용하실 경우, 한 샘플의 순간값을 직접 해석하시기보다는 일정 시간 구간(예: 0.5~1초)의 이동평균(moving average) 또는 RMS를 적용하여 사용하시는 것을 권장드립니다.

감사합니다.

안녕하세요. 충북대 신찬희입니다.

상세한 답변 감사드립니다. 보내주신 설명을 토대로 분해능·skid-steering 관련 설명을 SCOUT MINI User Manual V.2.0.4 (2024/6/원문을 확인해 보았습니다. 다만 매뉴얼 규격과 실측 데이터 사이에 일관되지 않는 부분이 있어 다시 한 번 확인을 요청드립니다.

-확인 사항-

1. Table 3.7 (Motor Rotational Speed and Current Feedback Frame, CAN ID 0x251~0x254)

  • byte[2-3] Motor current: signed int16, unit 0.1A

  • 표현 가능 범위: −3276.8 A ~ +3276.7 A

  • 분해능이 0.1A인 것은 맞으나, 매뉴얼 어디에도 출력값이 0.1~0.5A 범위로 제한된다는 명시는 없습니다.

2. Table 3.9 (Drive Status), byte[5] bit[2]

  • Motor over-current 검출 비트가 정의되어 있습니다.

  • 모터가 상시 0.1~0.5A 수준으로만 동작하는 설계라면 over-current 검출 비트를 정의할 필요가 없습니다. 즉 프로토콜은 모터 전류가 수 A 이상으로 흐를 수 있음을 전제로 설계되어 있습니다.

3. 실측 데이터와 물리 계산 비교

  • 명령 속도 0.5 m/s 평지 주행 시, 모터 4개의 측정 전류값 중 약 70~90%가 정확히 0.0 A로 출력되었습니다.
    (저희 쪽에 보유 하고 있는 scout mini 2대 모두 동일).

  • 이때 동일 frame의 RPM 값은 ±240 RPM 부근에서 정상 변화하고 있었습니다.

  • 물리적 계산 (Scout Mini 23kg × g × 구름저항 0.02 / 4륜 / 휠반경 0.16m / 감속비 1:4.3 / Kt ≈ 0.05 N·m/A) 적용 시, 평지 등속 구간에서 모터당 약 0.84 A가 흘러야 하며, 이는 분해능 0.1A의 8배 수준입니다.

  • 50ms 단위 평균을 적용해도 70~90%가 0이라면, 분해능·백래쉬 transient만으로는 설명되지 않으며 펌웨어 측 전류 송신 로직 점검이 필요할 가능성이 있어 보입니다.

본 연구는 모바일 로봇의 에너지 효율을 정밀 분석하는 것이 목표라 측정 데이터의 신뢰성이 결과 전체를 좌우합니다. 외부 전류 센서(INA226 등) 추가 측정 시스템 구축은 시간·비용·분해 리스크가 모두 크므로, 가능하다면 펌웨어 차원의 해결이 이상적으로 생각하고 있습니다.

회신 기다리겠습니다. 감사합니다.

충북대 신찬희 드림

안녕하세요, 신찬희님.

세세하게 매뉴얼 검토와 물리 계산까지 함께 보내주셔서 감사드립니다. 이전 회신에서 설명이 부족했던 부분이 있어, 보내주신 추가 데이터(Actuator RPM/Current 트레이스)를 함께 확인한 결과를 정리해 답변드립니다.

  1. 전류 출력 범위에 대한 정정

말씀하신 대로 매뉴얼 어떤 조항에도 모터 전류가 0.1~0.5A 범위로 제한된다는 명시는 없으며, 실제로 보내주신 그래프 하단 Actuator current [A] 트레이스에서도 모터 전류가 약 3A까지 측정되어 출력되는 것이 명확히 확인됩니다. 따라서 출력값 자체가 상한 제한되는 구조는 아니며, 이는 매뉴얼 Table 3.7의 인코딩 범위(±3276.7A) 및 Table 3.9의 over-current 검출 비트 존재와도 일치합니다.

제 이전 회신에서 분해능 한계로 설명드렸던 부분은 "저속·무부하 조건에서 평균 전류가 매우 작을 때 표시값이 양자화 경계에 머무르는 경우"에 한정된 설명이었으며, 출력 범위 자체에 대한 설명이 아니었습니다. 이 부분은 혼동을 드린 점 양해 부탁드립니다.

  1. 70~90% 측정값이 0A로 출력되는 현상

보내주신 그래프에서 후반부 등속 직진 구간(RPM ±140 부근)에 짧은 spike(1~3A)와 0A 구간이 빠르게 교대로 나타나는 패턴이 명확히 보입니다. 이는 다음 메커니즘의 복합 결과로 판단됩니다.

  • BLDC 모터 드라이버가 PWM 방식으로 제어하므로 순시 전류 파형 자체가 본질적으로 펄스 형태입니다.
  • CAN 피드백 주기 50Hz(20ms)가 PWM 주기(통상 16~20kHz) 대비 매우 느린 관계로, 샘플링 타이밍이 PWM ON 구간에 걸리면 spike로, OFF 구간에 걸리면 0A로 잡힙니다.
  • 여기에 0.1A 양자화가 더해지면 OFF 구간의 sub-threshold 값들이 모두 0A로 표시됩니다.

따라서 측정된 0A 값들은 "실제 전류가 0"이라기보다는 "PWM duty OFF 구간에서 샘플링된 값"으로 해석하시는 것이 정확합니다. 본 데이터로부터 모터당 평균 전류를 산출하시려면 산술 평균이 아닌 시간 적분(또는 충분히 긴 윈도우 평균)을 적용하셔야 물리 계산과 일치하는 값이 나올 것으로 생각됩니다. 보내주신 0.84A는 적분 평균값에 해당하며, 그래프의 spike density × amplitude 분포를 시간 적분하시면 해당 값에 근접할 것으로 예상됩니다.

  1. 펌웨어 측 해결 가능성

이 부분은 솔직하게 말씀드립니다. SCOUT 시리즈는 양산 플랫폼으로, 제조사(AgileX) 측에서 개별 고객사 요청에 대해 펌웨어 커스터마이징(예: 전류 측정 주기 증가, scale factor 변경, raw ADC 노출 등)을 별도로 제공하지는 않습니다. 이는 저희가 그동안 다른 연구기관과 협업하며 일관되게 확인해 온 사항으로, 본 건도 동일한 답변이 회신될 가능성이 높습니다.

  1. 본 연구 목적에 적합한 측정 권고

에너지 효율 정밀 분석이 연구 목표이시라면, 외부 전류 센서 시스템을 추가 구축하지 않고도 다음 두 가지 방향으로 측정 신뢰도를 충분히 확보하실 수 있을 것으로 판단됩니다.

  • 페이로드 적재 측정: 5~15kg 수준의 정량 페이로드를 적재하시면 정상상태 모터당 전류가 1~3A 영역으로 올라가, 0.1A 분해능과 PWM ON/OFF 샘플링의 영향이 상대적으로 작아집니다. raw 트레이스 자체의 연속성이 크게 개선되고, 부하-전류 회귀 모델 도출에도 더 유리합니다.
  • 장시간 적분 평균: 동일 주행 조건을 충분히 길게(예: 30~60초 등속) 유지하시고, 해당 구간의 전류 데이터를 시간 적분 또는 이동 평균(0.5~1초 윈도우)으로 처리하시면 보내주신 0.84A 값과 직접 비교 가능한 형태로 정리됩니다. 에너지 효율(전력 × 시간) 산출 자체가 본질적으로 적분 연산이므로, 분석 파이프라인에 자연스럽게 통합하실 수 있을 것으로 보입니다.

감사합니다.