Oculus Rift - modulabs/gazebo-tutorial GitHub Wiki
Introduction
Gazebo 6 ์ด์์ Oculus Rift VR ํค๋์ DK1 ๋ฐ DK2๋ฅผ ์ง์ํฉ๋๋ค.
์ด ์์ต์๋ฅผ ๋ง์น๋ฉด ๋ชจ๋ธ์ ์๊ฐ์ ๋งํฌ ์ค ํ๋์ ๊ฐ์ Oculus ์นด๋ฉ๋ผ๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. After this tutorial, you will be able to attach a virtual Oculus Camera to one of the visual links of your model.
OculusVR SDK installation.
Gazebo๋ฅผ ์ํด ์ค๋นํ Oculus SDK ๋ฒ์ ์ ์ค์นํ๋ ค๋ฉด ๋ค์ ์ง์นจ์ ๋ฐ๋ฅด์ญ์์ค.
sudo apt-get install libusb-dev libudev-dev libxinerama-dev libxrandr-dev
hg clone https://bitbucket.org/osrf/oculussdk
cd oculussdk
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install
sudo cp ../LibOVR/90-oculus.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
Gazebo compilation with OculusVR support.
Oculus VR SDK๊ฐ ์ค์น๋๋ฉด Oculus Rift๋ฅผ ์ง์ํ๋ ์์ค์์ Gazebo๋ฅผ ์ปดํ์ผ ํ ์ ์์ด์ผํฉ๋๋ค.
Gazebo๋ฅผ ์ปดํ์ผํ๋ ค๋ฉด ๋ค์ ์ง์นจ์ ๋ฐ๋ฅด์ญ์์ค. cmake ๋ช ๋ น์ ์คํํ๋ ๋์์ด ๋ฉ์์ง๊ฐ ๋ํ๋ Oculus SDK๊ฐ ์๋์ง ํ์ธํด์ผํฉ๋๋ค.
-- checking for module 'OculusVR' -- found OculusVR, version 0.4.4
Configuration
Gazebo๋ฅผ ์์ํ๊ธฐ ์ ์ Oculus ํค๋์ ์์ ๋ ๋๋ง ํ ์ ์ฐฝ์ ์์ฑํ๋๋ก ์๋ ค์ผํฉ๋๋ค.
1.Oculus ํค๋์ ์ ์ผ๊ธฐ ์ ์ ์ฐ๋ถํฌ์์ Applications > System Tools > Preferences > Displays .
2.Oculus Rift ํค๋์ ์ ์ฐ๊ฒฐํ๊ณ ์ผญ๋๋ค. ์ฃผ ๋ฐ์ฌ๊ธฐ๊ฐ ํค๋์ ์ผ๋ก ์ฎ๊ฒจ ์ก์ ์ ์์ต๋๋ค. Oculus ์ฐฝ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐฐ์น๋์๋์ง ํ์ธํด์ผํฉ๋๋ค. 1.Oculus ๋์คํ๋ ์ด๋ฅผ ๋ฉ์ธ ๋ชจ๋ํฐ์ ์ค๋ฅธ์ชฝ ์์ ๋๋๊ทธํ์ญ์์ค. 2.Oculus ๋์คํ๋ ์ด๊ฐ ๋๋ฐ๋ก๋์ด ์๋์ง ํ์ธํ์ญ์์ค. Rotation ์ Counterclockwise ๋ก ์ค์ ํด์ผ ํ ์๋ ์์ต๋๋ค. 3.์ฐ๋ฆฌ๋ Gazebo์๊ฒ ์ฐ๋ฆฌ๊ฐ Oculus ์คํฌ๋ฆฐ์ ์ด๋์ ๋์๋์ง, ์ฆ ๋ฉ์ธ ๋์คํ๋ ์ด์ ์ค๋ฅธ์ชฝ ์๋จ์ ๋งํด์ผํฉ๋๋ค. ์ํ ์ขํ๋ ์ฃผ ๋ชจ๋ํฐ์ ๋ ( x = ๋ชจ๋ํฐ ๋๋น)์ด๊ณ ์์ง ์ขํ๋ ํ๋ฉด์ ์๋จ ( y = 0)์ ๋๋ค.
์ข์ํ๋ ํธ์ง๊ธฐ๋ฅผ ์ด๊ณ ~/.gazebo/gui.ini ํ์ผ์ ๋ค์ ๋ด์ฉ์ผ๋ก ํธ์งํ์ญ์์ค.
[geometry]
x=0
y=0
[oculus]
x=<REPLACE_BY_YOUR_HORIZONTAL_RESOLUTION>
y=0
visual=<REPLACE_BY_THE_VISUAL_LINK_ATTACHED_TO_OCULUS>
autolaunch=0
x ๋ฅผ ๋ชจ๋ํฐ์ ์ํ ํด์๋ ๊ฐ์ผ๋ก ๋ฐ๊พธ๊ณ Oculus Rift๊ฐ ๋ถ์ฐฉ ๋ ๋น์ฃผ์ผ ์ด๋ฆ์ผ๋ก ์๊ฐ์ ์ผ๋ก ํ์ํ์ญ์์ค.
์๋ฅผ ๋ค์ด, ๋ค์์ gui.ini ํ์ผ์ ๋ด์ฉ์ ๋๋ค.
As an example, this is the content of our gui.ini file:
[geometry]
x=0
y=0
[oculus]
x=2560
y=0
visual=camera::link::visual
autolaunch=0
Running
1.ํฐ๋ฏธ๋์์ oculusd daemon์ ์คํํ์ญ์์ค. cd ~/oculussdk ./oculusd
2.๋ ๋ฒ์งธ ํฐ๋ฏธ๋์์ ๊ฐ์ ๋ณด๋ฅผ ์คํํ์ญ์์ค.
gazebo worlds/camera.world
3.๊ฐ์ ๋ณด๊ฐ ์คํ๋๋ฉด Window-> Oculus Rift๋ฅผ ํด๋ฆญํ๋ฉด Oculus ํค๋์ ์์ ์ธ๊ณ๋ฅผ ๋ณผ ์ ์์ต๋๋ค.
Gazebo๋ฅผ ์์ํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก Oculus ์ฐฝ์ ํ์ฑํ ํ ์๋ ์์ต๋๋ค. gui.ini ํ์ผ์ ์์ ํ๊ณ gui.ini autolaunch=1 ์ค์ ํ์ญ์์ค. ์ด์ ์ ๋ง๋๋ฅผ ์์ํ๊ณ Oculus Rift๋ ๊ฐ์ ์์ด ์๋ํด์ผํฉ๋๋ค.
gazebo worlds/camera.world