This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
doc:lighthouse:setup [2019-03-08 07:53] arnaud [Space orientation, startup position] |
doc:lighthouse:setup [2019-04-04 11:24] arnaud [Setting up SteamVR without Head Mounted Display] |
||
---|---|---|---|
Line 5: | Line 5: | ||
The lighthouse deck allows to use the HTC-Vive/ | The lighthouse deck allows to use the HTC-Vive/ | ||
- | The VR computer must have [[https:// | + | The VR computer must have [[https:// |
- | In order to setup the system you must also be able to compile a custom firmware for your Crazyflie and to program your Crazyflie 2.X. To do so youcan | + | In order to setup the system you must also be able to compile a custom firmware for your Crazyflie and to program your Crazyflie 2.X. To do so you can follow the [[https:// |
===== Setting up SteamVR without Head Mounted Display ===== | ===== Setting up SteamVR without Head Mounted Display ===== | ||
Line 13: | Line 13: | ||
If you already have a setup VR system jump to the next section. | If you already have a setup VR system jump to the next section. | ||
- | It is possible to setup the SteamVR without a Head Mounted Display (HDM). This allows to setup a minimal system with just two Base stations and one controller or tracker. It can be quite useful when a full VR system is not needed or to setup a system at fairs or conference. | + | It is possible to setup the SteamVR without a Head Mounted Display (HMD). This allows to setup a minimal system with just two Base stations and one controller or tracker. It can be quite useful when a full VR system is not needed or to setup a system at fairs or conference. |
- | Follow the guide from Triad: [[http:// | + | Follow the guide from Triad: [[http:// |
- | The only difference with an HDM setup is the orientation of the space: with an HDM the space will be oriented when you setup the room. Without an HDM the slave base station (the one in Mode A or C) will be at the origin of the space and the Z axis will be normal to the base station window. | + | For the floor to be flat, it is good to start steamVR with the controller placed on the floor. |
- | ===== Setting up the space origin and orientation with an HDM ===== | + | {{: |
+ | |||
+ | |||
+ | <WRAP center round info> | ||
+ | **Troubleshooting** | ||
+ | |||
+ | If you get the following message when running the tracker_test.py script of the tutorial (step 16): | ||
+ | |||
+ | '' | ||
+ | |||
+ | Or this when running the script from the Crazyflie firmware repos: | ||
+ | |||
+ | < | ||
+ | $ python3 get_bs_position.py | ||
+ | Openning OpenVR | ||
+ | python3: Relink `/ | ||
+ | Segmentation fault (core dumped) | ||
+ | </ | ||
+ | |||
+ | Then you are maybe missing some essential packages for openvr: | ||
+ | |||
+ | * libudev-dev | ||
+ | * libvulkan-dev | ||
+ | * libsdl2-dev | ||
+ | |||
+ | On Ubuntu: | ||
+ | |||
+ | < | ||
+ | $ sudo apt-get install libudev-dev | ||
+ | $ python3 -m pip uninstall openvr | ||
+ | $ python3 -m pip install openvr | ||
+ | </ | ||
+ | |||
+ | if this still doesn' | ||
+ | [[https:// | ||
+ | |||
+ | </ | ||
+ | |||
+ | <WRAP center round info> | ||
+ | **Troubleshooting²** | ||
+ | |||
+ | When running SteamVR on Linux, by default the access right to USB device might not be configured right. If you have problem connecting the tracker/ | ||
+ | < | ||
+ | # cat > / | ||
+ | KERNEL=" | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | You may need to restart SteamVR to see the connected devices. | ||
+ | </ | ||
+ | |||
+ | ===== Setting up the space origin and orientation with an HMD ===== | ||
When using a full VR setup, SteamVR has a developer menu that allows to quickly and accurately setup the system origin and orientation. By default the system origin is going to be placed in the center of the playground and the orientation will depend of the shape and of where the monitor is located. | When using a full VR setup, SteamVR has a developer menu that allows to quickly and accurately setup the system origin and orientation. By default the system origin is going to be placed in the center of the playground and the orientation will depend of the shape and of where the monitor is located. | ||
- | To set the orientation and origin yourself, you can go to the SteamVR settings, to the developer subscreen and you can display the room overview. Then you can place the HDM on the floor, with the front pointing at where you want the Crazyflie X axis to point, and then click 'Quick Calibrate': | + | To set the orientation and origin yourself, you can go to the SteamVR settings, to the developer subscreen and you can display the room overview. Then you can place the HMD on the floor, with the front pointing at where you want the Crazyflie X axis to point, and then click 'Quick Calibrate': |
{{: | {{: | ||
===== Getting the base station position and programming the Crazyflie ===== | ===== Getting the base station position and programming the Crazyflie ===== | ||
- | Launch SteamVR and make sure at least one controller or the HDM is tracking: | + | Launch SteamVR and make sure at least one controller or the HMD is tracking: |
{{: | {{: | ||
Line 34: | Line 85: | ||
Clone or download the latest version or the [[https:// | Clone or download the latest version or the [[https:// | ||
< | < | ||
- | pip install openvr | + | python3 -m pip install openvr |
cd tools\lighthouse | cd tools\lighthouse | ||
- | python | + | python3 |
</ | </ | ||
Line 51: | Line 102: | ||
</ | </ | ||
- | <WRAP center round info 80%> | + | <WRAP center round info> |
- | **Note**: If you have a setup without | + | **Note**: If you have a setup without |
</ | </ | ||
- | Copy the last two lines and, on the computer or virtual machine you use for Crazyflie development, | + | Copy the last two lines and, on the computer or virtual machine you use for Crazyflie development, |
{{: | {{: | ||
<code c> | <code c> | ||
- | // # | + | // #ifndef DISABLE_LIGHTHOUSE_DRIVER |
+ | // # | ||
+ | // #endif | ||
baseStationGeometry_t baseStationsGeometry[] = { | baseStationGeometry_t baseStationsGeometry[] = { | ||
Line 67: | Line 120: | ||
</ | </ | ||
- | Now that the Crazyflie firmware is modified | + | Now that the Crazyflie firmware is modified you can save, compile and program the Crazyflie. For example this can be done from command line with: |
< | < | ||
make | make | ||
Line 83: | Line 136: | ||
| | | | ||
- | This allows to easily orient the Crazyflie when setting up the system with an HDM. | + | This allows to easily orient the Crazyflie when setting up the system with an HMD. |
While the Lighthouse deck has 4 receiver and so can recover its orientation, | While the Lighthouse deck has 4 receiver and so can recover its orientation, |