Quest2ROS: An App to Facilitate Teleoperating Robots

Quest2ROS enables the user to set an IP and PORT to connect to a ROS node via the ROS-TCP-Connector via a VR interface. The app publishes the relative position and orientation (as PoseStamped), the velocity (Twist), and the button presses of both controllers (custom ROS message). It offers a subscriber for haptic feedback (frequency and amplitude of controller vibration) for each controller. Ideal to set up a teleoperation for robots running ROS.

Download Preprint

Quest2ROS

Click the link to get the app (Alpha version) - Quest2ROS: An App to Facilitate Teleoperating Robots

Quest2ROS enables the user to set an IP and PORT to connect to a ROS node via the ROS-TCP-Connector via a VR interface. The app publishes the relative position and orientation (as PoseStamped), the velocity (Twist), and the button presses of both controllers (custom ROS message). It offers a subscriber for haptic feedback (frequency and amplitude of controller vibration) for each controller. Ideal to set up a teleoperation for robots running ROS.

The relative frame for each controller can be set by pressing both buttons on the controller respectively. For the best intuitive performance line the controller up with the robotic frame and press both buttons (A+B for the right controller, X+Y for the left controller)

Calibration to robot frame (with audio)

Example usage on Franka Panda (x10)

Publishers:

  • /q2r_left_hand_pose
  • /q2r_left_hand_twist
  • /q2r_left_hand_inputs
  • /q2r_right_hand_pose
  • /q2r_right_hand_twist
  • /q2r_right_hand_inputs

The pose is of ROS message type PoseStamped ), the velocity is a Twist message type, and the inputs are via a custom message:

  • bool button_upper
  • bool button_lower
  • float32 thumb_stick_horizontal
  • float32 thumb_stick_vertical
  • float32 press_index
  • float32 press_middle

A haptic feedback can be provided by sending a custom ROS message to the controllers controlling the frequency and amplitude of the controller vibration:

  • float32 frequency
  • float32 amplitude

Subscribers:

  • /q2r_left_hand_haptic_feedback
  • /q2r_right_hand_haptic_feedback

Performance

Accuracy

Mean accuracy from approximately 1 meter was estimated using 2180 data points to be 0.46 mm

accuracy histogram

Latency

Mean latency was masured over eight trails to be 82 ms

Latency measurements

Frequency

Mean Frequency was masured over all topics to be 71.86 Hz

Topic Frequency
/q2r_left_hand_pose 72.08 HZ
/q2r_left_hand_twist 71.83 HZ
/q2r_left_hand_inputs 71.83 HZ
/q2r_right_hand_pose 71.87 HZ
/q2r_right_hand_twist 71.78 HZ
/q2r_right_hand_inputs 71.81 HZ

ROS code repository

ROS code repository

Privacy policy

Q2Rs Privacy policy

Use the following to cite us:

@inproceedings{welle2024quest2ros,
title={Quest2ROS: An App to Facilitate Teleoperating Robots},
author={Welle, Michael C and Ingelhag, Nils and Lippi, Martina and Wozniak, Maciej and Gasparri, Andrea and Kragic, Danica},
booktitle={7th International Workshop on Virtual, Augmented, and Mixed-Reality for Human-Robot Interactions},
year={2024} }

Contact

  • Michael C. Welle; mwelle(at)kth.se; KTH Royal Institute of Technology, Sweden