현상
실기 RBQ10 보행 중 Joint[7] JAM Error!가 발생했습니다. 같은 시점에 전 관절의 motion ownership이 해제됐고, 약 0.1초 뒤 DAEMON E_Stop Activated가 걸렸습니다.
환경
API 버전: v1.19.47 (3f44b6b)
제어 방식: 외부 프로세스(process id 20)가 DDS SDK로 12관절 저수준 지령 전송 (ref_position + kp/kd, kp 80.0, kd 2.0)
관측값: SDK JointInfo 피드백을 50 Hz로 기록
로그
[16:24:47.639] [HW] motion ownership lost: joint 0 owner=0 (ours 20)
[16:24:47.643] [RAINBOW] Joint[7] JAM Error!
[16:24:47.741] Motion owner is NOT ACTIVE.
[16:24:47.743] [RAINBOW] DAEMON E_Stop Activated
[HW]와 Motion owner is NOT ACTIVE.는 저희 프로세스의 출력입니다. joint 0은 검사에서 처음 확인한 관절 번호이며, 피드백상으로는 12개 관절의 owner가 같은 샘플에서 동시에 0이 됐습니다.
JAM 발생 관절: Joint[7] = FR pitch
Joint[7]을 0부터 센 인덱스로 보면 FR pitch입니다. JointInfo.current에서도 7번 관절만 먼저 0이 됐고, 40 ms 뒤 전 관절 owner가 0이 됐습니다.
t (s)
FR pitch (7) current
FL pitch (10) current
owner
-0.02
-20.1 A
-26.3 A
전부 20
0.00
0.0 A
-26.2 A
전부 20
+0.02
0.0 A
-26.0 A
전부 20
+0.04
0.0 A
-27.1 A
전부 0
JAM 직전 상태 비교
FR pitch (7) — JAM 발생
FL pitch (10) — JAM 없음
직전 약 0.7초 전류
-20 ~ -22 A
-26 ~ -31 A
위치
0.972 rad에서 고정 (0.66초간 변화 1 mrad 미만)
0.979 → 0.992 rad로 조금씩 계속 이동
속도
0.00 rad/s
+0.01 ~ +0.07 rad/s
위치 오차 (pos − ref_position)
+0.60 ~ +0.64 rad
+0.77 ~ +0.91 rad
전류 20 A 이상이 끊기지 않고 유지된 최대 시간
700 ms
840 ms
전류 25 A 이상이 끊기지 않고 유지된 최대 시간
40 ms
740 ms
kp / kd (피드백)
88.14 / 2.01
88.14 / 2.01
첨부
rbq10_joint7_jam_all_joints.csv: 12개 관절의 pos, vel, current, torque, ref_position, ref_vel, ref_ff_torque, kp, kd, owner, temperature_board, temperature_coil
50 Hz, JAM 10초 전 ~ 1초 후 (551 샘플)
t = 0은 FR pitch 전류가 0이 된 샘플
관절 순서: HRR, HRP, HRK, HLR, HLP, HLK, FRR, FRP, FRK, FLR, FLP, FLK
rbq10_joint7_jam_all_joints.csv
console_excerpt.txt: JAM 전후 콘솔 출력
console_excerpt.txt
TalkMedia_talkv_hevc.mp4.online-video-cutter.com.mp4
simplescreenrecorder-2026-09-18_04.10.40.mp4
(보라색은 reference position)
JAM Error 직전의 reference position 캡처 1
JAM Error 직전의 reference position 캡처 2
문의 사항
JAM Error의 원인과, 방지할 수 있는 방법을 알고 싶습니다.
지령 kp 80이 피드백에서 roll/pitch 88.14, knee 76.66으로 읽힙니다. 지금까지 관측된 피드백 kp는 모두 roll/pitch 17.627 , knee 25.554 의 정수배였습니다(예: 80 → 5 × 17.627, 125 → 7 × 17.627). 드라이버가 gain을 이 단위로 양자화해서 적용하는 것인지, 양자화 단위와 반올림 규칙이 어떻게 되는지 알고 싶습니다
현상
실기 RBQ10 보행 중
Joint[7] JAM Error!가 발생했습니다. 같은 시점에 전 관절의 motion ownership이 해제됐고, 약 0.1초 뒤DAEMON E_Stop Activated가 걸렸습니다.환경
3f44b6b)ref_position+kp/kd, kp 80.0, kd 2.0)JointInfo피드백을 50 Hz로 기록로그
[HW]와Motion owner is NOT ACTIVE.는 저희 프로세스의 출력입니다.joint 0은 검사에서 처음 확인한 관절 번호이며, 피드백상으로는 12개 관절의owner가 같은 샘플에서 동시에 0이 됐습니다.JAM 발생 관절:
Joint[7]= FR pitchJoint[7]을 0부터 센 인덱스로 보면 FR pitch입니다.JointInfo.current에서도 7번 관절만 먼저 0이 됐고, 40 ms 뒤 전 관절owner가 0이 됐습니다.JAM 직전 상태 비교
pos−ref_position)첨부
rbq10_joint7_jam_all_joints.csv: 12개 관절의pos,vel,current,torque,ref_position,ref_vel,ref_ff_torque,kp,kd,owner,temperature_board,temperature_coilrbq10_joint7_jam_all_joints.csv
console_excerpt.txt: JAM 전후 콘솔 출력console_excerpt.txt
TalkMedia_talkv_hevc.mp4.online-video-cutter.com.mp4
simplescreenrecorder-2026-09-18_04.10.40.mp4
(보라색은 reference position)
문의 사항