Optical 3D position tracking with OpenCV and ArUco markers.


Continuing from experimenting with static magnetic fields and hall effect sensors for positioning, this is an attempt at using optical tracking for the same purpose. Optical tracking is a proven technology used in many VR headsets such as Oculus Rift and PlayStation VR but due to its slow refresh rate limited by the camera’s frame rate, it has to be used with an accelerometer and gyroscope to provide faster updates and optical tracking is used to correct for drift introduce by the IMU. The accuracy of optical tracking depends on many factors such as lighting conditions, image recognition algorithms, processing power, camera, and the design of markers with the later three contributing directly to BOM. So here we look at what could be achieved using a standard laptop webcam and printed QR/ArUco codes. Continue reading

Planning Poker with WebGL and three.js


It’s been almost 2 years since the Planning poker mobile web app and a lot has changed in the web landscape. WebGL has become a standard in desktop and mobile browsers and there are lot of great frameworks like three.js, babylon.js and x3dom. So I decided to recreate the planning poker app using thee.js. I picked three.js mainly because it seems to be the more popular framework with more documentation and resources available online. It took me awhile to learn all the best ways of doings things and gotchas but ones I did, I was impressed by the performance and how well it worked on mobile.

You can now see the end result at http://chris-gunawardena.github.io/planning-poker/
Full source available at https://github.com/chris-gunawardena/planning-poker

Planning Poker is a estimating technique used by scrum teams to make faster and more accurate estimations using a deck of cards. Now instead of looking for a deck of cards, all you have to do is open http://chris-gunawardena.github.io/planning-poker/ on your mobile phone 🙂