All Projects → linzuzeng → TJUCam

linzuzeng / TJUCam

Licence: GPL-2.0 License
SteamVR Compatible Motion Controller with ESP8266 and Raspberry Pi

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
HTML
75241 projects
go
31211 projects - #10 most used programming language
Makefile
30231 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to TJUCam

hobo vr
SteamVR driver prototyping tool
Stars: ✭ 44 (+51.72%)
Mutual labels:  vr, openvr, steamvr
Joy2OpenVR
Interface to OpenVR Input Emulator to translate any Direct Input controllers commands into VR Controller commands
Stars: ✭ 25 (-13.79%)
Mutual labels:  vr, openvr, steamvr
thedarkmodvr
VR support for The Dark Mod
Stars: ✭ 49 (+68.97%)
Mutual labels:  vr, openvr, steamvr
Simple-OpenVR-Driver-Tutorial
A sample OpenVR Driver for you to learn from
Stars: ✭ 157 (+441.38%)
Mutual labels:  vr, openvr, steamvr
TurnSignal
An anti-cable-twisting management utility for SteamVR.
Stars: ✭ 73 (+151.72%)
Mutual labels:  vr, openvr, steamvr
EasyOpenVRUtil
EasyOpenVRUtilは、Steam VR for Unityのちょっと足りないところを埋め合わせるためのライブラリです。特に、コントローラやトラッカーの座標を直接取得したり、非VRだけど位置情報は使いたいといった用途に向いています。その他あると便利な機能も実装しています。
Stars: ✭ 37 (+27.59%)
Mutual labels:  vr, openvr, steamvr
VRTK-PUN-NetworkTest
A small test project showing how to sync VR CameraRig objects using Photon's PUN and VRTK.
Stars: ✭ 30 (+3.45%)
Mutual labels:  vr, steamvr
KinectToVR
KinectToVR EX (Official)
Stars: ✭ 163 (+462.07%)
Mutual labels:  openvr, steamvr
IMU-VR-Full-Body-Tracker
Inertial Measurement Unit (IMU) based full body tracker for Steam VR.
Stars: ✭ 46 (+58.62%)
Mutual labels:  openvr, steamvr
Vridge.Kinect
Using the Kinect sensor with RIftcat/Vridge has head and hands trackers.
Stars: ✭ 18 (-37.93%)
Mutual labels:  vr, steamvr
sdk-for-unity-vr-starter-project
[Deprecated] SpatialOS SDK for Unity Virtual Reality Starter Project
Stars: ✭ 43 (+48.28%)
Mutual labels:  vr, steamvr
vr-python-quickstart-hg1
VR Headset Controller Tutorial, get started with virtual reality in Python
Stars: ✭ 29 (+0%)
Mutual labels:  vr, openvr
soundstagevr
virtual reality music sandbox built specifically for room-scale VR
Stars: ✭ 38 (+31.03%)
Mutual labels:  vr, steamvr
zephyr
Mirror Android notifications to VR
Stars: ✭ 78 (+168.97%)
Mutual labels:  vr, openvr
openvr widgets
SteamVR overlay widgets
Stars: ✭ 20 (-31.03%)
Mutual labels:  openvr, steamvr
PhoneVR
Use Steam VR-enabled applications with your phone as HMD (Head-mounted display). The only Open-Source solution to similar commercial packages like VRidge, iVRy, Trinus etc etc.
Stars: ✭ 178 (+513.79%)
Mutual labels:  vr, steamvr
DesktopPortal
An overlay and utility program for SteamVR
Stars: ✭ 27 (-6.9%)
Mutual labels:  vr, steamvr
Nomai Vr
Outer Wilds VR Mod
Stars: ✭ 120 (+313.79%)
Mutual labels:  vr, steamvr
Zinnia.unity
A collection of design patterns for solving common problems.
Stars: ✭ 177 (+510.34%)
Mutual labels:  vr, steamvr
reshade-vrtoolkit
Modular shader to enhance you HMD clarity & sharpness with minimal performance impact.
Stars: ✭ 40 (+37.93%)
Mutual labels:  vr, steamvr

TJUCam

SteamVR Compatible Motion Controller with ESP8266 and Raspberry Pi

This project allows you to quciky setup a VIVE-like motion controller with opensource hardware and software.

Inspired by [1] and [2].

Demonstration

Demonstration video on youtube

Features

  • SteamVR-Compatible Windows Driver (with OpenVR SDK)
  • MQTT protocol for underlying messaging system
  • Avahi for automatic node discovery
  • Automatic calibration for MPU9250 on Target Node
  • Web-based control & configuration (with Golang on Raspbery Pi and HTTPServer on ESP8266)
  • Kalman Filter fusing data form MVG and inertia sensor

Setup

Hardware

  • Camera Node
    • Raspberry Pi with built-in Wi-Fi or ethernet connected
    • PI NOIR CAMERA V2 (Sony IMX219 8-megapixel sensor)
    • IR-pass filter (optional)
  • Target Node
    • ESP8266 (NodeMCU v2 board)
    • IR-Leds or markers for tracking
    • MPU9250 (GY-9255 board)
    • Joystick for simulating touchpad behavior (3D Joystick Repair Parts for XBox 360)
    • Buttons for triggers
    • Battery
    • Custom-built PCB holding everything above
  • Central Node
    • PC with good enough video card for VR rendering
    • VR headset or cardboard (optional)

Dependency

  • Camera Node
    • Arch Linux for ARM
    • OpenCV 3.1
    • paho.mqtt.c
    • Avahi
    • base-devel, gcc (build)
  • Target Node
    • Arduino for ESP8266
  • Central Node (Windows-side)
    • SteamVR for game support
    • OpenVR SDK
    • Visual Studio (build)
  • Central Node (Linux-side)
    • Arch Linux environment with VM or WSL (or you can build on any one of the existing Camera Nodes if you hate VMs)
    • OpenCV 3.1 with opencv_contrib (for MVG features)
    • any kind of MQTT broker (mosquito, etc.)
    • paho.mqtt.c
    • Avahi
    • base-devel, gcc and golang (build)

Images

TargetNode TargetNode

Note

This project was built for a Hackathon-style event held in Jun, 2017 at TJU. Currently, it is able to demonstrate basic functionality, but the design and code need more polish due to limited time.

Contributions are welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].