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:
-
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
- 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
- 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.
Please file issues under the issues tab.
- A great tutorial on using OpenVR: https://github.com/osudrl/CassieVrControls/wiki/OpenVR-Quick-Start
- OpenVR wiki: https://github.com/ValveSoftware/openvr/wiki