cmcghan / openvr_ros

A package that connects to SteamVR through OpenVR and provides tracking information for VR devices in ROS.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

openvr_ros

This package connects to SteamVR through OpenVR SDK and publishes tracking information of all connected devices (i.e. headsets, controllers, and trackers) to ROS.

This package is tested with Ubuntu 16.04, ROS Kinetic, and HTC Vive.

For calibration of frame origins and CAD model sizes please watch:

Calibration of HTC Vive ROS interface with a point cloud sensor

Installation

# AppID of SteamVR on Steam store is 250820: https://steamdb.info/app/250820/
steamcmd +login anonymous +app_update 250820 +quit
cd
wget https://raw.githubusercontent.com/ValveSoftware/steam-devices/master/60-steam-vr.rules
sudo mv 60-steam-vr.rules /etc/udev/rules.d/
sudo udevadm control --reload && sudo udevadm trigger
git clone https://github.com/ValveSoftware/openvr.git
cd openvr
mkdir build && cd build
cmake ..
make
sudo make install
  • Clone the openvr_ros package into your catkin workspace.
cd <path_to_your_catkin_workspace>
catkin_make

Usage

  • Connect your VR device.
  • Run SteamVR, then calibrate the device:
cd ~/.steam/SteamApps/common/SteamVR/bin
STEAM_RUNTIME=0 ./vrstartup.sh >> /dev/null 2>&1
  • Run the tracker:
source <path_to_your_catkin_workspace>/devel/setup.bash

roslaunch openvr_ros start.launch

TODO

  • Publish all tracking information for the headset, controllers, and trackers.
  • Add 3D models of the headset and controllers/trackers to the rviz visualization.
  • Publish controller states.
  • Publish events, e.g. button press, device connections, standby, etc.

Issues

Please file issues under the issues tab.

References

About

A package that connects to SteamVR through OpenVR and provides tracking information for VR devices in ROS.

License:MIT License


Languages

Language:C++ 71.7%Language:Python 19.0%Language:CMake 9.3%