update docs

main
詹力 2023-11-29 22:56:01 +08:00
parent 81da026de3
commit dbd6cf2115
4 changed files with 45 additions and 8 deletions

View File

@ -1,8 +1,10 @@
# Triad OpenVR Python Wrapper # Triad OpenVR Python封装库
This is an enhanced wrapper for the already excellent [pyopenvr library](https://github.com/cmbruns/pyopenvr) by [cmbruns](https://github.com/cmbruns). The goal of this library is to create easy to use python functions for any SteamVR tracked system. 这是一个增强的OpenVR的封装库对比现有的一些较为完善的库如 [cmbruns](https://github.com/cmbruns)开发的 [pyopenvr library](https://github.com/cmbruns/pyopenvr)。Triad OpenVR Python 封装库是为了更加简便的方式去使用python处理SteamVR跟踪系统的数据。
# Getting Started ## 一、使用样例
通过python获取SteamVR的手柄的位置并绘制在Figure上示例代码如下
```python ```python
import triad_openvr as vr import triad_openvr as vr
@ -17,9 +19,9 @@ plt.ylabel('X Coordinate (meters)')
![Example plot of captured data](images/simple_xcoord_plot.png "Example Plot") ![Example plot of captured data](images/simple_xcoord_plot.png "Example Plot")
# Configuration file ## 二、配置文件
The goal is to identify devices by serial, in order to keep the same name for the same physical device. for maing it work, you just have to change serials and names in the 'config.json' file. Here is an example of config file : config.json的作用是通过序列号识别设备以便为同一物理设备保持相同的名称。为了使其正常工作只需在'config.json'文件中更改序列号和名称。以下是一个配置文件的示例:
``` ```
{ {

View File

@ -3,7 +3,7 @@ import time
import sys import sys
v = triad_openvr.triad_openvr() v = triad_openvr.triad_openvr()
v.print_discovered_objects() # v.print_discovered_objects()
if len(sys.argv) == 1: if len(sys.argv) == 1:
interval = 1/250 interval = 1/250
@ -17,7 +17,7 @@ if interval:
while(True): while(True):
start = time.time() start = time.time()
txt = "" txt = ""
for each in v.devices["tracker_1"].get_pose_euler(): for each in v.devices["hmd_1"].get_pose_euler():
txt += "%.4f" % each txt += "%.4f" % each
txt += " " txt += " "
print("\r" + txt, end="") print("\r" + txt, end="")

Binary file not shown.

After

Width:  |  Height:  |  Size: 617 KiB

View File

@ -2,4 +2,39 @@
描述这个项目是利用valve的高精度激光定位系统Lighthouse实现对其他非高精度的定位设备进行误差评估的系统。Lighthouse的工作原理文档路径为`Docs\Lighthouse工作原理.md`。 描述这个项目是利用valve的高精度激光定位系统Lighthouse实现对其他非高精度的定位设备进行误差评估的系统。Lighthouse的工作原理文档路径为`Docs\Lighthouse工作原理.md`。
一、 ## 一、硬件设备
### 1.1 设备的准备
将Lighthouse用于定位参考设备只需要准备如下即可。
| 设备名 | 数量 | 备注 |
| ------------------- | ---- | ------------------------------------------------------------ |
| HTC 激光基站 & 电源 | 2 | 根据情况可以选择1.0、2.0、3.0的版本,购买的时候一般商家会配套电源。二手产品需要注意购买电源 |
| HTC 手柄或者Tracker | 1 | 根据情况可以选择1.0、2.0、3.0的版本,购买的时候需要对应购买接收器。 |
| 激光基站的支架 | 2 | 基站的顶部需要额外增加万向转接头,可以调整基站方向。 |
### 1.2 Lightouse的安装与设置
Lighthouse基站安装一般推荐安装在较高的位置可以俯瞰地面的设备。一般安装在2m以上的位置可以选择天花板倒置安装也可以选择支架安装。
![Lighthouse安装示意](.\Image\Lighthouse的安装.png)
## 二、软件的准备
### 2.1 软件的安装概况
软件方面主要需要安装Steam平台和SteamVR。理论上SteamVR底层的OpenVR可以支持各种语言。目前最简单的是采用python读取数据python的运行脚本如下所示
```shell
# 安装openvr库
pip install openvr
# 进入工作目录
cd Code/triad_openvr
# 获取指定设备的位置和姿态, 这里需要根据实际的设备类型对代码进行调整
python tracker_test.py
```
## 2.2 SteamVR的配置
正常来说SteamVR的启动必须需要头显才能启动所以需要对SteamVR的部分配置文件进行修改以得到无头显启动的目的。