HTC Vive Tracker Setup

Take data from steamvr without headset

Setup SteamVR (for using openvr to track HTC Vive tracker)

If there's unkillable popup window when SteamVR is started on Linux

https://github.com/ValveSoftware/SteamVR-for-Linux/issues/577

sed -ri 's/("preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/drivers/lighthouse/resources/webhelperoverlays.json
sed -ri 's/("preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/resources/webhelperoverlays.json
#sed -ri 's/("_preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/drivers/vrlink/resources/webhelperoverlays.json

Disable auto popup of room setup

This is to prevent the room setup popup when SteamVR is started. Sometimes the popup window can't be closed on Linux, so it looks better to disable it.

sed -ri 's/("preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/drivers/lighthouse/resources/webhelperoverlays.json
sed -ri 's/("preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/resources/webhelperoverlays.json
#sed -ri 's/("_preload".*)true/\1false/g' ~/.steam/steam/steamapps/common/SteamVR/drivers/vrlink/resources/webhelperoverlays.json

Using with libsurvive

如果是 Python 版,直接 pip 安装即可。

Install libsurvive

git clone https://github.com/cntools/libsurvive.git --recursive
cd libsurvive
sudo cp ./useful_files/81-vive.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger
sudo apt update && sudo apt install build-essential zlib1g-dev libx11-dev libusb-1.0-0-dev freeglut3-dev liblapacke-dev libopenblas-dev libatlas-base-dev cmake
make
./bin/survive-cli

# For visulization
sudo apt install websocketd
./bin/survive-websocketd & xdg-open ./tools/viz/index.html

使用 SteamVR 标定以提高追踪精度

  1. 删除原有的标定文件。在不同平台上,我们将 Steam 有关 Lighthouse 的配置路径称为 STEAM_CONFIG_PATH。删除 STEAM_CONFIG_PATH/lighthousedb.json
    1. Linux: ~/.steam/steam/config/lighthouse/
    2. Windows: <Steam-install-path>\config\lighthouse\,可能是C:\Program Files (x86)\Steam\config\lighthouse
  2. 打开 SteamVR ,并确保tracker已被识别。此时lighthousedb.json的配置被生成。
  3. 将新产生的标定文件放置到~/.steam/steam/config/lighthouse/目录下.或者留下来后续手动指定。
  4. 删除运行survive代码设备上的 ~/.config/libsurvive/config.json
  5. 执行survive-cli --steamvr-calibration, 这个选项后面可以显式的传入标定文件, 待出现 Info: MPFIT success <...> 后,终止代码。libsurvive 将从lighthousedb.json中读取标定参数,并保存到~/.config/libsurvive/config.json中。
  6. 标定后基站不可更改位姿,否则需要重新标定。
  7. 运行时可以带上--globalscenesolver 0以禁止运行时对基站位姿进行优化。打开实时优化效果可能会更好

Concepts

坐标系