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:
Installation
-
Install SteamCMD. For the list of commands for SteamCMD see: Command_Line_Options.
-
Install SteamVR by the following command:
# AppID of SteamVR on Steam store is 250820: https://steamdb.info/app/250820/
steamcmd +login anonymous +app_update 250820 +quit
- Install udev.rules. See usb device requirements for more details.
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
- Install OpenVR:
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
- A great tutorial on using OpenVR: https://github.com/osudrl/CassieVrControls/wiki/OpenVR-Quick-Start
- OpenVR wiki: https://github.com/ValveSoftware/openvr/wiki