Skip to main content
Version: Nightly

HMD를 활용한 텔레오퍼레이션 방법

적용 버전: SW 1.0

이 문서는 SW 1.0 기준입니다. SW 0.1 로봇의 데이터 수집 방법은 지원 및 연락처로 문의해 주세요. 버전 확인 방법은 SW 버전 확인을 참고해 주세요.

info

해당 과정은 베이스 자세를 기준으로 시작합니다. 베이스 자세가 아니라면 초기설치 & 세팅 가이드 탭을 참고해주세요.

HMD를 활용한 텔레오퍼레이션 또는 데이터 수집을 위해서 Data Studio 사용 가이드 과정을 수행해 주세요.


1. HMD의 텔레오퍼레이션 어플 실행​

  • HMD는 Meta Quest 3 모델 사용을 권장드립니다. 다른 종류의 기기 사용 시 정상적인 동작을 보장하지 않습니다.

1.1. HMD 유닛 착용​

HMD 유닛을 착용합니다.

착용 시 주의사항
  • 머리카락/모자 등이 이마·센서 영역을 가리지 않도록 착용하세요.
  • 센서가 가려지면 인식 불량, 화면 미출력, 오동작이 발생할 수 있습니다.
HMD 센서

1.2. 네트워크 연결​

네트워크가 ALICE M1과 연결되어 있는지 확인합니다.

  1. Meta Quest 3 메뉴 화면에서 우측 하단의 빠른 컨트롤 메뉴 버튼을 눌러 빠른 컨트롤 창을 띄웁니다.
HMD 하단 메뉴바 - 빠른 설정
  1. 빠른 컨트롤 창에서 Wi-Fi 메뉴를 선택하고 ALICE_M1 네트워크를 찾아 연결합니다.
HMD Wi-Fi 설정
네트워크 연결 불가 시
  • HMD를 재부팅한 후 다시 시도하세요.
  • 로봇의 Wi-Fi 상태를 확인하세요.
유선 연결시 가이드라인
  1. C to 랜 허브를 사용하여 Meta Quest 3 기기와 ALICE M1을 랜선으로 연결합니다.
  2. Wi-Fi 메뉴에서 Wi-Fi를 끕니다.

1.3. 텔레오퍼레이션 앱 실행​

텔레오퍼레이션 앱 안내

앱 설치 및 메뉴얼를 통해 요청하시면 설치 메뉴얼과 앱을 제공합니다.

  1. Meta Quest 3 메뉴 화면에서 좌측의 메뉴 버튼을 누릅니다.
HMD 하단 메뉴바 - 라이브러리
  1. 메뉴 버튼을 눌렀을때 나오는 선택지에서 알 수 없는 출처를 선택합니다.
HMD 라이브러리 메뉴
  1. 알 수 없는 출처 창에서 Aeirobot_Teleop_Lite_TCP 앱을 선택하여 실행 합니다.
HMD 알 수 없는 출처 창
앱 icon
app icon
  1. 앱 실행 후 원점을 현재 위치 기준으로 재정렬합니다.
    • 정면을 바라봅니다.
    • HMD 앞에 손바닥이 보이도록 왼손 또는 오른손을 펼칩니다.
    • 엄지와 검지 사이에 회색 메타 로고가 보이면 엄지와 검지를 서로 만나게 합니다.
    • 그 상태로 잠시 기다리면 화면 정중앙에 검은색 메타 로고가 뜨고, 로딩바가 진행됩니다.
    • 로딩바가 완료되면 화면이 현재 바라보는 방향으로 재정렬됩니다.
Telop 앱 실행
재정렬 시점
  • HMD를 처음 착용했을 때
  • 화면이 기울어지거나 방향이 맞지 않을 때
  • 텔레오퍼레이션 시작 전 매번 수행을 권장합니다.
바라보는 방향이 원점과 다를 경우, 로봇 허리가 의도하지 않은 방향으로 움직입니다.
  • 로봇의 허리는 HMD의 원점을 기준으로 본 자신의 허리 각도로 제어됩니다.
  • 예를 들어, 원점이 바라보는 방향으로부터 시계방향으로 40도 돌아간 상태로 제어를 시작하면, 로봇의 허리도 마찬가지로 40도 돌아가게 됩니다.
  • 텔레오퍼레이션 시작 전 반드시 정면을 바라본 상태에서 원점을 재정렬하세요.

1.4. 로봇 연결 및 텔레오퍼레이션 시작​

아래 사진의 UI와 실제 실행된 UI는 텔레오퍼레이션 앱의 설정에 따라 다를 수 있습니다.
Aeirobot_Teleop_Lite_TCP 어플의 메인 UI 설명
Body Measurement
  • 1 : 로봇 시점 이미지 → 설정 창에서 로봇의 양 카메라 이미지 / 왼쪽 카메라 이미지 / 오른쪽 카메라 이미지를 선택하여 출력할 수 있습니다.
  • 2 : 로봇 시점 이미지 간격 조절바 → 로봇의 양 카메라 이미지를 출력할 때, 각 이미지 사이 간격을 조절하여 초점 조절이 가능합니다.
  • 3 : 설정 메뉴 버튼 → 설정 메뉴를 열 수 있습니다.
  • 4 : 로봇과 연결 상태 표시등
  • 5 : teleoperation On / Off 제어 버튼
  • 6 : 로봇의 동작 상태 표시등
  • 7 : 원점 표시 UI → 해당 표식이 있는 위치가 어플의 원점 입니다.
  • 8 : 모방학습 데이터 수집 시작 / 종료 버튼 (현재 지원되지 않는 기능 입니다.)
  1. 가장 먼저 자신의 손 및 상체 동작이 정상적으로 인식 되고 있는지 확인 합니다.

    • 인식이 정상적으로 되고 있다면 아바타가 착용자의 신체 동작을 그대로 따라합니다.
  2. 자신의 발 위치의 원점 표시 UI가 실제 바닥 높이에 위치하고 있는지 확인합니다.

    • 원점 표시 UI는 HMD 자체가 현재 인식하고 있는 바닥 높이를 의미합니다.
    • 만약 원점 표시 UI가 실제 바닥 높이와 다르다면, HMD를 벗었다 쓰는 등의 동작을 통해 HMD가 바닥 높이를 제대로 인식할 수 있도록 해야 합니다.
HMD의 바닥 인식 관련 주의사항
  • 로봇은 HMD가 인식한 바닥 높이를 기준으로 본 자신의 허리 높이를 활용하여 로봇의 높낮이를 조절합니다.
  • 실제 바닥 높이와 HMD가 인식한 바닥 높이가 다른 상태로 동작을 진행할 경우 로봇이 의도와는 다르게 동작하니 주의해 주세요.
  1. 자신의 신체 동작이 정상적으로 인식되고 있는것을 확인 했다면, Body Measurement 버튼을 누릅니다.
    • 버튼을 눌렀을 때 자신의 허리 높이가 로봇 Base 자세의 최고 높이 기준이 됩니다.
    • 사람의 신체 높이가 버튼을 눌렀을 때보다 더 높아져도 로봇은 그 이상 위로 올라가지 않습니다.
Body Measurement
Body Measurement 주의사항

아래 상태에서 측정하면 로봇 동작 범위가 제한되거나 비정상 동작할 수 있습니다.

  • 손 및 상체 동작이 정상 인식되지 않은 상태 (아바타가 착용자 동작을 제대로 따라하지 않는 상태)
  • 바닥 높이 인식이 실제와 다른 상태 (원점 표시 UI의 높이가 실제 바닥 높이와 다른 상태)
  • 원점이 정면과 정렬되지 않은 상태 (착용자가 바라보는 방향이 원점과 다른 상태)
  1. Body Measurement 버튼을 누르면 IP 주소 입력 키패드가 자동으로 나타납니다. 로봇의 IP 주소를 입력 후 Connect 버튼을 누릅니다.
    • 기본 IP: 192.168.10.3
IP 주소 입력
연결 표시

로봇과 연결되면 좌측 연결 표시(Connect)가 초록색으로 켜집니다.

ros 연결 상태
  1. 로봇 시점 이미지의 하단 좌측 버튼 중 Teleop On을 누르면 텔레오퍼레이션이 시작됩니다.
Motion Teleop 버튼
Teleop 시작 시 주의사항
  • Teleop On 버튼을 누르면, 로봇이 버튼을 누른 시점의 착용자 자세로 약 4초간 천천히 이동하는 준비 단계가 시작됩니다.
  • 준비 단계가 완료되면 로봇 동작 상태 표시등이 초록색으로 바뀌며, 그때부터 착용자의 움직임을 실시간으로 따라갑니다.
  • 표시등이 초록으로 바뀌기 전까지는 반드시 버튼을 누른 시점의 자세를 유지하세요. 그 전에 자세를 바꾸면 준비 단계 완료 후 로봇 동작이 크게 튈 수 있습니다.
Teleop 동작 상태 확인.
  • Teleop 동작 상태는 어플 UI의 로봇 동작 상태 표시등의 색상을 통해 확인 가능합니다.
teleop 동작 상태
  1. 로봇 시점 이미지의 하단 좌측 버튼 중 Teleop Off를 누르면 텔레오퍼레이션이 중단됩니다.
Teleop 중단 주의사항.
  • Teleop Off 버튼을 누르면 눌렀을때 자세에서 동작이 멈춥니다.
  • 로봇의 팔이 다른 사람 및 사물과 부딫히지 않는지 충분히 주의후 Off 버튼을 눌러주세요.

2. 텔레오퍼레이션 어플의 설정창 설명​

  • Aeirobot_Teleop_Lite_TCP 어플의 메인 UI에서 **설정 버튼 (톱니바퀴 모양 버튼)**을 클릭하면 어플리케이션의 설정창이 나타납니다.
teleop어플 설정창 설명

2.1. Info​

  • App Fps : Aeirobot_Teleop_Lite_TCP의 FPS가 표시됩니다.
  • Max Pelvis Height : Body Measurement버튼을 눌렀을 때 사람의 pelvis 높이가 표시됩니다.
  • Current Pelvis Height : 현재 인식된 착용자의 pelvis 높이가 표시됩니다.
  • ROS IP : 어플이 로봇과 연결 중, 혹은 연결 시도중인 IP 주소가 표시됩니다.

2.2. Robot View Mode​

  • Use Stereo View : 로봇의 left / right 시점 이미지를 동시에 출력합니다.
  • Use Only Left View : 로봇의 left 시점 이미지만 출력합니다.
  • Use Only Right View : 로봇의 right 시점 이미지만 출력합니다.
warning
  • Use Stereo View를 선택할 경우, HMD의 왼쪽 렌즈에는 로봇의 left 시점 이미지만, 오른쪽 렌즈에는 로봇의 right 시점 이미지만 보여집니다.
  • 때문에 사람에 따라서는 초점이 안맞거나, 심한 어지러움이 느껴질 수 있습니다.
  • 초점이 잘 안맞는다면 로봇 시점 이미지 간격 조절바를 통해 각 이미지 사이의 간격을 조절해 주거나, Use Only Left View / Use Only Right View를 사용해 주세요.

2.3. UI On / Off​

  • Show Robot View : 로봇 시점 이미지 On / Off
  • Show Torque Warning Ui : 로봇의 각 관절에 가해지는 토크를 모니터링 할 수 있는 UI On / Off (현재 버전에서는 지원되지 않음)
  • Show IK Debug Model : 인식된 착용자의 상체 동작을 기반으로 해석된 IK 결과 모니터링 UI On / Off (현재 버전에서는 지원되지 않음)
  • Show Hand Debug UI : 인식된 손가락 동작을 로봇 손 제어 데이터로 변환하는 과정 디버깅용 UI On / Off
  • Show Avatar : 착용자의 상체 동작을 나타내는 아바타 On / Off
  • Show Hand : 착용자의 손가락 동작을 나타내는 손 모델 On / Off
  • Show Ray : UI 상호작용에 사용되는 ray On / Off
  • Show Avatar Joints : 아바타의 주요 관절 표시 On / Off
  • Show Hand Joints : 손가락 모델의 주요 관절 표시 On / Off

2.4. Control On / Off​

  • Control Left Arm : 왼 팔은 차렷자세로 고정하여 제어합니다. (현재 버전에서는 지원되지 않음)
  • Control Right Arm : 오른 팔은 차렷자세로 고정하여 제어합니다. (현재 버전에서는 지원되지 않음)

3. VR 텔레오퍼레이션 주의사항​

조명 환경

충분히 밝은 조명에서 HMD를 사용해 주세요.

  • HMD에 달린 카메라를 기반으로 사람의 손 및 상체 동작을 인식하기 때문에, 조명이 어두우면 인식 성능이 크게 떨어집니다.
  • 조명이 어두우면 사람의 상체 동작을 완전히 인식하지 못하거나, 인식된 값이 크게 튈 수 있습니다.
안전 거리 확보

HMD 착용자 반경 1.5m 내에 다른 사물 및 사람이 진입하지 못하도록 해주세요.

  1. 다른 사람의 신체 인식 문제

    • HMD의 카메라 인식 범위 내에 착용자 이외의 다른 사람의 신체가 들어오면, 착용자가 아닌 다른 사람의 신체를 인식하여 로봇의 모션이 크게 튈 수 있습니다.
  2. 충돌 위험

    • HMD 착용자가 로봇을 조작 중에는 착용자 주변 외부 환경을 신경 쓰기 어렵기 때문에, 조작 반경 내 사물 및 사람이 있으면 부딪힐 수 있습니다.
조작 종료 후 HMD 탈착

반드시 로봇의 조작을 종료한 이후 HMD를 벗어주세요.

  • 로봇이 조작 중일 때 (Teleop ON 상태일 때)는 로봇이 항상 HMD 착용자의 동작을 따라합니다.
  • 조작 중에는 HMD를 벗는 등의 다른 행동은 삼가해 주세요.
무리한 동작 금지

로봇을 조작 중에는 무리한 동작을 하지 않도록 주의해서 움직여 주세요.

아래와 같은 동작은 로봇이 인식하지 못하거나 오동작을 유발할 수 있습니다:

  1. HMD 카메라 인식 범위를 벗어나는 동작

    • 팔을 몸 뒤로 빼는 동작
    • 팔을 너무 높게 들어올리는 동작
    • 팔을 양옆으로 과도하게 벌리는 동작
  2. 팔에 과한 힘이 가해지는 동작

    • 팔로 책상을 아래로 과하게 누르는 동작 등
  3. 팔이 로봇의 다른 신체에 부딪히는 동작


4. 문제 해결​

Teleop ON 버튼을 눌렀는데 로봇이 움직이지 않을 때 — 아래 순서대로 확인하세요

1. HMD Wi-Fi 연결 확인​

HMD가 로봇의 Wi-Fi(ALICE_M1)에 연결되어 있는지 확인하세요.

  • HMD가 로봇과 통신하기 위해서는 반드시 로봇의 Wi-Fi에 연결되어야 합니다.
  • Wi-Fi 설정에서 ALICE_M1 네트워크를 확인하세요.

2. Teleop 앱 연결 상태 확인​

HMD의 Teleop 어플이 로봇과 정상적으로 연결되었는지 확인하세요.

  • Teleop 앱의 TCP 연결 상태를 나타내는 UI가 초록색 화살표로 변해야 연결이 완료된 것입니다.
  • 만약 회색 화살표 상태라면:
    • Wi-Fi가 ALICE_M1 네트워크에 연결되어 있는지 확인
    • IP 주소(192.168.10.3)를 정확히 입력했는지 확인

3. 로봇에서 토픽 수신 확인​

로봇이 HMD에서 보내는 데이터를 받고 있는지 확인하세요.

  • Teleop ON 상태에서 /aeirobot/teleop/human_pose 토픽이 발행되지 않으면 로봇은 동작하지 않습니다.
  • 아래 명령어로 토픽이 발행 중인지 확인하세요:
ros2 topic hz /aeirobot/teleop/human_pose
# 또는
ros2 topic echo /aeirobot/teleop/human_pose

4. 로봇에서 VR 코드 실행 확인​

로봇에서 VR 관련 코드가 실행 중인지 확인하세요.

  • VR 코드가 실행되지 않은 상태라면 텔레오퍼레이션 명령을 처리하지 않습니다.
  • Data Studio 사용 가이드를 참고하여 Teleop 관련 코드의 실행 여부를 확인해 주세요.