robosavvy / vive_ros

ROS package for publishing HTV VIVE device locations.
BSD 3-Clause "New" or "Revised" License
98 stars 73 forks source link

Angular velocities #36

Open Akesto opened 1 year ago

Akesto commented 1 year ago

I am currently working on a project that uses the HTC Vive Pro headset. Within this project, a mechanism was developed to reproduce the head movement of the user. The HTC Vive Pro is used to maintain the angular speeds for the roll, pitch and yaw axes. However, the data sent by the headset is not neatly separated from each other. The roll and pitch axis depend on each other. This dependence is variable and depends with a trigonometric function on the angle of the yaw axis. As soon as a motion is made around the pitch axis, the data transmitted by the headset are pitch and roll speeds. After a 90-degree rotation around the roll axis, an angular velocity for the yaw axis is transmitted when the headset is pitched. How is it possible that the transmitted angular velocities do not depend on each other and always fit a fixed coordinate system on the headset?