Claude에서 열기ChatGPT에서 열기
https://rainbowrobotics.github.io/RBQ/nightly/llms-full.txt 는 Rainbow Robotics RBQ 4족 로봇 매뉴얼 전문입니다. 읽고 이 문서를 근거로 한국어로 답변해 주세요.
AI 답변은 부정확할 수 있습니다. 안전·정비 항목은 매뉴얼 원문을 확인하세요.
한국어
https://rainbowrobotics.github.io/RBQ/nightly/llms-full.txt 는 Rainbow Robotics RBQ 4족 로봇 매뉴얼 전문입니다. 읽고 이 문서를 근거로 한국어로 답변해 주세요.
AI 답변은 부정확할 수 있습니다. 안전·정비 항목은 매뉴얼 원문을 확인하세요.
한국어
소스: rbq_sdk/cpp/example/src/rbq/rbq_wheel.cpp
외부 앱에서 **RBQ 휠 기체(RBQ-W)**의 바퀴 네 개를 돌립니다. 바퀴 관절의 소유권만 가져오므로 다리는 로봇의 제어기가 계속 맡고 서 있는 자세도 유지됩니다. 몇 초 동안 바퀴를 굴린 뒤 놓아 줍니다.
interface와 선택 인자 torque kd seconds를 읽습니다.ChannelFactory를 초기화하고 앱 슬롯 21 용으로 rt/rbq/ref/motion/_21의 Publisher<MotionRef_>와 rt/rbq/cmd/motion/owner/_21의 Publisher<JointOwnershipCmd_>를 만듭니다. 로봇이 실제로 적용하는 레퍼런스인 rt/rbq/ref/motion/_0도 구독합니다.whl_joint[] = true인 JointOwnershipCmd_를 보냅니다(leg_joint[]는 false 그대로).whl_joint[]를 500 Hz 로 발행합니다 — kp = 0, 주어진 kd, 0.5 초 동안 0 에서 올라가는 토크. 0.5 초마다 적용된 바퀴 레퍼런스를 출력합니다.kp = kd = torque = 0을 보내고 종료합니다.kp = 0이면 바퀴 보드가 torque − kd × 속도를 내므로, 떠 있는 바퀴는 속도 = torque / kd [rad/s]에 수렴합니다. 기본값이면 2 rad/s 입니다.
게인은 CAN FD 기체든 일반 CAN 기체든 물리값(Nm/rad, Nm·s/rad)으로 보냅니다. 로봇의 Network 가 보드에 맞게 바꾸므로, 일반 CAN 기체에서는 보드 게인 단위로 반올림됩니다(예: kd 0.5 → 0.5007).
rbq_low_level은 앱 슬롯 20 을 쓰므로 두 예제를 함께 돌릴 수 있습니다 — 다리는 한 앱이, 바퀴는 다른 앱이 맡습니다.
WARNING
바닥에 있으면 바퀴가 도는 동안 로봇이 굴러갑니다. 공간을 확보하고, 작은 토크부터 시작하고, 원격 비상정지를 손에 두세요.
--wheel로 띄웁니다(bash scripts/sim.bash --robot wheel).rbq_sdk/cpp/example/에서:
bash scripts/setup.bash
bash scripts/build.bash바이너리: bin/rbq_wheel
./bin-x86_64/rbq_wheel [interface] [torque] [kd] [seconds]
# 앞으로 2 rad/s, 3 초(기본값) — 인터페이스가 항상 먼저 옵니다:
./bin-x86_64/rbq_wheel eth0
# 뒤로 1 rad/s, 5 초:
./bin-x86_64/rbq_wheel eth0 -0.5 0.5 5인자는 모두 위치 인자이므로 인터페이스를 첫 인자로 넘겨야 합니다. 로봇에 닿는 인터페이스를 쓰세요 — 로봇 PC 에서 돌리면 lo, 다른 호스트에서는 본인 NIC.
| 인자 | 의미 | 기본값 |
|---|---|---|
interface | CycloneDDS 인터페이스(로봇에서는 lo / 다른 호스트에서는 NIC) | — |
torque | 바퀴 피드포워드 토크 [Nm], |torque| ≤ 10 | 1.0 |
kd | 바퀴 감쇠 [Nm·s/rad], 0 < kd ≤ 6 | 0.5 |
seconds | 바퀴를 놓기 전까지 굴리는 시간 | 3 |
범위를 벗어나면 사용법을 출력하고 아무것도 보내지 않은 채 종료합니다.
예제가 끝난 뒤에도 바퀴는 게인 0 인 채로 앱 21 소유로 남아 자유롭게 돕니다. 다시 서기나 보행 전환을 해도 로봇에게 돌아가지 않습니다. 로봇의 제어기가 바퀴를 다시 써야 하면 로봇 스택을 재시작하세요.
[rbq_wheel] wheel ownership requested (app 21)
[rbq_wheel] applied: HRW(tq=0 kd=3.5) HLW(tq=0 kd=3.5) FRW(tq=0 kd=3.5) FLW(tq=0 kd=3.5)
[rbq_wheel] applied: HRW(tq=0.996 kd=0.5) HLW(tq=0.996 kd=0.5) FRW(tq=0.996 kd=0.5) FLW(tq=0.996 kd=0.5)
[rbq_wheel] applied: HRW(tq=1 kd=0.5) HLW(tq=1 kd=0.5) FRW(tq=1 kd=0.5) FLW(tq=1 kd=0.5)
[rbq_wheel] done - wheels released (kp = kd = torque = 0)첫 줄은 넘겨받기 전 로봇 자신의 바퀴 게인입니다. 바퀴 순서는 HRW HLW FRW FLW(관절 12–15)입니다.