Skip to content

HAPTIX Optitrack Control

hmhan1236 edited this page Mar 30, 2018 · 2 revisions

Overview

이 튜토리얼은 HAPTIX 가제보 시뮬레이터를 함께 사용하여 Optitrack 모션 추적기를 구성하는 방법에 대하여 설명한다. 장비의 각 부분에 대해 배우고 싶거나 각 요소가 올바르게 작동하기 위한 마커 보정 방법에 대하여 배운다.

What you'll need

모든 소프트웨어 구성 요소를 포함한 필수 항목들은 HAPTIX에 제공된다. 자신의 키트를 만들고 싶은 사용자들에게 링크를 제공한다.

  1. 가제보 시뮬레이터가 설치된 리눅스 컴퓨터 (설명은 여기에)
  2. Motive 모션 추적기 소프트웨어가 설치된 윈도우 컴퓨터 또는 윈도우 가상머신 (VM). HAPTIX 팀은 시작시 초기화되는 윈도우 VM이 사전 설치되어있다. (Motive 소프트 웨어 설치 방법은 여기에)
  3. Optitrack V120 Trio 3D 카메라 및 동봉된 와이어, 허브 등 (여기에서 구매)
  4. 1~2 높이의 카메라 삼각대
  5. 모션 추적 대상 세트 (DIY 사용자는 여기에서 모션 추적 악세서리를 찾을 수 있다: 반사 마커 9개, 9개 짧은 베이스 및 강체 베이스 2개를 구성하는 것을 추천한다.)

Camera setup

Optitrack을 삼각대에 장착한다.

Optitrack 키트에는 긴 USB 케이블과 전원 케이블 및 여러개의 포트가 있는 허브가 함께 제공된다. 전원 케이블을 벽면과 허브에 연결한다. 그리고 USB 키에블을 허브에 연결한다. 나중에 이 케이블을 사용하여 Motive (또는 다른 추적 프로그램)을 실행하는 기계에 연결한다. 마지막으로 허브에서 나오는 와이어를 Optitrack의 뒷면에 꽂는다. 카메라 설정에 대한 추가 도움이 필요하면 V120 Trio Quick Start Guide를 참조하여라.

Optitrack을 컴퓨터의 오른쪽 1~2 미터 지점에 설치하고 카메라를 모니터면에서 90도 회전시켜 사용자가 앉아있는 워크스테이션/의자를 향하게 한다. 커메라는 어께 너머에서 사용자의 오른쪽을 보아야 한다. Optitrack을 윈도우 컴퓨터에 연결하는 케이블은 충분히 길어야 하고, 아무것도 잡히거나 잡아당기지 않도록 주의하여야 한다.

Note: 왼쪽 팔을 시뮬레이션 해야하는 경우, 물리적 설정을 뒤집어야 한다: 카메라를 워크스테이션 왼쪽에 놓고 모션 추적 대상이 왼쪽에 착용되어 있는지 확인한다.

Motion tracking target setup

Arm and head trackers

HAPTIX teams은 팔과 머리에 에 찰 수 있는 미리 만들어진 모션 추적 타킷이 제공된다. 만약 팔과 머리 추적기를 이미 가지고 있다면, monitor tracker placement 항목을 생략하여라.

자신의 모션 추적 타깃을 만들려면, 대상 당 최소 3개의 은색 동작 추적구가 필요하다.

HAPTIX 프로젝트에서 Optitrack은 시뮬레이션 된 로봇 팔의 자세를 직접 제어하는 사용자 팔의 포즈를 추적하는데 사용된다. 또한 사용자의 모리 포즈는 시뮬레이션의 관측점 제어를 위해 추적된다. 따라서 사용자 팔에 묶을 수 있는 모션 추적 대상을 하나 만들고, 머리에 착용할 수 있는 다른 모션 추적 대상을 만들어야 한다.

pinch에서는 모션 추적 영역을 판자 또는 단단한 플라스틱으로 테이핑 하거나 붙여 추적 목표를 만들 수 있다.
이 타깃은 천이나 밸크로로 완장에 부착하여 팔 추적기로 만들 수 있다.

머리 추적 장치를 만들려면, 대상을 머리띠에 부착한다. 또는 Nvidia 3D glasses를 사용하는 경우 안경의 오른쪽 다리에 부착한다.

Monitor tracker placement

HAPTIX 팀은 한면에 양면테이프가 있는 둥근 바닥에 부착된 세개의 동적 구체를 제공된다. ~[][(https://bitbucket.org/osrf/gazebo_tutorials/raw/default/haptix_optitrack/files/spheres.png) 이 구들을 가제보 머신과 함께하는 모니터의 코너에 부착한다. 하나는 모니터의 오른쪽 상단 모서리에, 다른 하나는 왼쪽 상단 모서리에, 그리고 나머지 하나는 오른쪽 모서리 중간에 부착한다.

Configuring the Motive Project File

미리 만들어진 추적 대상 셋을 받은 경우, Motive 프로젝트 파일 haptix_osrf.ttp 을 윈도우 바탕화면에 다운로드 한다. 각 구성 요소를 교정하기 위해 약간의 수정을 한다.

Tracking rigid bodies

리눅스에서 가제보가 종료되었는지 확인한다. 윈도우 컴퓨터에서 USB를 통해 Optitrack가 연결되었는지 확인하고 바탕화면에서 Motive 소프트웨어를 실행한다. 아래와 같은 팝업창이 뜬다: 만약 Motive 화면에서 "라이센스를 찾을 수 없음"이라는 오류 메시지가 뜬다면, Optitrack를 올바로 연결하지 않은 것이다. 웨의 Camera Setup장을 확인하고 Optitrack를 USB를 사용하여 전원과 컴퓨터에 연결했는지 다시 확인한다. 만약 윈도우 가상 머신을 사용한다면, "Natural Point Optitrack" USB 장치가 VM window 우측 하단 구석에 켜져있는지 확인한다.

시작 메뉴를 닫는다.

상단 툴바에서 "View" 아래 "Data Streaming" 버튼을 선택하고 "Broadcast Frame Data" 를 선택한다. 이제 "File", "Open"을 선택하여 다운로드한 haptix_osrf.ttp 프로젝트 파일을 선택한다.

** Motive의 알려진 버그: 가상 머신에서 Motive을 실행한다면, 프로젝트 파일을 열기 전에 "Broadcast Frame Data"가 활성화 되어있는지 확인해야 한다! 만약 프로젝트를 바로 열어버리면 Motive이 충돌을 일으킨다.**

아직 보이지 않는 경우, 상단 툴바에서 "Views" 아래 Rigid Body Properties view를 연다.

카메라 미리보기에서 세개의 작은 흰색점이 이미지에 표시된다. 점들은 카메라 프레임에서 모션 추적기 구체의 위치를 나타낸다 (Optitrack Trio에는 3개의 카메라가 있다). 3D 보기에서 각 구체의 3D 공간 내 위치를 확인한다. 만약 동작 추적 객체에 해당하지 않는 점이나 큰 원이 표시되면 적외선에 간섭이 있을 수 있다는 것이다. 금속성/반작이는 물체를 제거하거나 숨기고 근처의 자연광을 차단한다.

원근 뷰에서 어떤 구체가 모니터 앞에 놓인 구체를 의미하는지 확인한다. 머리 및 팔 추적기를 화면 외부로 가져가면 쉽게 확인할 수 있다. selection rectangle을 클릭하고 드래그하여 세개의 마커를 강조시킨다.

강체 속성에서 "Create From Selection" 을 누른다. 선택한 점과 레이블을 연결하는 삼각형이 3D 보기에 나타난다. 새로운 강체에 "MonitorTracker"라고 이름 붙인다. 강체 속성으로 들어가거나, 강체 위에서 우클릭하여 프로젝트 탭의 하위에 "Rename Asset"를 선택하여 할 수 있다.

팔과 머리 트렉커를 생성하였다면: 이전 강체의 구체가 선택 해제 되었는지 확인한다. 팔 타겟을 들고 클릭하고 드래그하여 팔 타겟의 구체를 선택한다. 팔 추적기를 착용하고 손바닥에 대고 팔을 똑바로 잡는다. 마커에 수직으로 부착 된 구가 똑바로 향하도록 두 개의 diagonal prongs가 가메라를 향하도록 추적기가 정렬되어 있는지 확인한다. (참고용 팔 자세는 "Starting Gazebo" 하단 그림을 확인한다)

팔을 잡고 "Create From Selection"을 클릭한다. 새 강체에 "ArmTracker"라는 이름을 붙인다.

머리 표적에 대해서도, 석택된 머리 추적기 구체를 확인하고 관련 구체를 선택한다. Nvidia 3D 안경을 사용한다면, 머리 추적기를 켜고 가능한 똑바로 모니터를 향하게 한다. 표적이 작용 위치 (예: 귀 위쪽)와 일치하는 위치에 놓여있는지 확인한다.

가능한 추적기를 잡고 "Create from Selection"을 클릭한다. 강체의 이름을 "HeadTracker"로 변경한다.

중요: 강체의 이름을 정확한지 확인한다. 그렇지 않으면 가제보가 시뮬레이션에서 모션 추적 대상을 해당 객체에 연결하지 않는다!

Motive의 3D 뷰에서 팔과 머리 추적기를 따라 이동하고 위치가 바뀌는 것을 볼 수 있어야 한다.

Check the result

이제 설정을 위해 Motive을 구성하였다. 모든 마커가 올바르게 추적되는지 확인하기에 좋은 타이밍이다. 팔 및 머리 추적기를 다시 scene으로 가져와서 카메라 및 원근 뷰에서 움직이는 것을 확인한다.

Save the result

상단 툴바에서 "파일" 아래 "프로젝트 저장"을 누른다. 바탕화면에 haptix_osrf.ttp이 저장되어 있는지 확인한다.

추적기에서 개별 마커의 위치를 변경하거나 카메라 각도를 크게 변경하지 않는 한 구성을 나중에 수정할 필요는 없다.

Starting Gazebo

Optitrack가 연결되었는지 확인하고 리눅스 컴퓨터에서 haptixStart 바탕화면 아이콘을 두번 클릭하여 가제보를 시작한다.

팔 추적기 및 머리 추적기를 착용한다. 시뮬레이션에서 로봇 팔과 같이 팔을 들고 머리를 바로 세운다. 다른 손을 사용하여 v, b, 또는 n을 눌러 시뮬레이션 일시 중지를 해제한다. 팔을 흔들면 제어할 수 있다.

Table of Contents




Clone this wiki locally