Posted by McFly on the Dualsense OT, I think it's worth a new thread since this is pretty crazy.
https://www.roadtovr.com/watch-ps5-dualsense-controller-imu-motion-tracking/
https://www.roadtovr.com/watch-ps5-dualsense-controller-imu-motion-tracking/
While the PS5 DualSense controller doesn't currently allow for position (6DOF) tracking, its rotational (3DOF) tracking is very impressive thanks, apparently, to a stellar IMU inside
Sony seems to have found some ultra-precise IMU because, even without any external reference point, the DualSense controller seems almost devoid of drift. That's counter to my experience with PSVR devices in the past. Even with external tracking from the PS4 camera, I've noticed plenty of drift from the headset, PS Move, and PS Aim in various games.
While playing in 'Cooling Springs' in Astro's Playroom the game allowed me to 'inspect' an object I found by rotating my controller in space, which would then rotate the object on screen. This gave me a good chance to test out the DualSense motion tracking.
No matter how violently I tried to shake and twist the controller, the on-screen object never lost its 'forward' direction—even without an external camera aiding in the tracking. I even sat the controller down in a random orientation for 30 minutes, and then compared the position of the object before and after, and found hardly any change. This shows that the controller's IMU has very little internal drift and noise.
You'll surely notice the latency in the video, but considering this isn't a VR application (and therefore not tuned for latency) I'm not terribly worried about that.
The really impressive thing we're seeing here is the controller seems to remember its forward direction with absolutely no problem, even without an external point of reference. With PS4's DualShock controller (as well as PSVR, PS Aim, and PS Move), the PS4 camera provides the external frame of reference to ensure the devices can maintain an absolute forward direction.
From an IMU alone, knowing a device's downward direction is pretty trivial because gravity offers a strong directional force which can be detected reliably by an accelerometer. While a gyroscope can reliably tell you when an object is rotating around its axis, it's still doesn't have any explicit understanding of 'forward', which means its susceptibility to drift is equal to its margin of error.
While not as strong as gravity, there is another force that can be used to help reliably maintain a forward heading: the Earth's magnetic field. Some modern IMUs incorporate magnetometers to do just that, and it seems like the IMU in the DualSense controller may now include a magnetometer—or perhaps a much more precise one than was available previously.