-
Notifications
You must be signed in to change notification settings - Fork 0
Software design
tomkcook edited this page Jun 18, 2012
·
2 revisions
This page is just a few notes on software components that will be useful in the future.
- Julius speech recognition engine for calling changes etc.
- An open-source 3D human model - see blender-models. Still need to figure out what library to use for display.
- Model the bell movement using this paper. Note that since we are measuring the bell motion directly and probably don't care about friction, all we need to know is the equivalent length of the clapper - one clapper I've measured swung 12.5 full swings in 20 seconds.
- Need to write some UI code. Plan to use Glade and Gtk-- for this, to give best portability.
A few points on the design:
- The software should be separated into components which communicate using UDP to allow things to be moved to other systems. So graphical displays, bell sounding, bell sequencing and detecting real bell motion should all be separate.
OpenNI depth maps and RGB images are in 3-space where the x,y co-ordinates are in pixels and z is mm from the camera origin.
OpenNI skeleton joints are in 3-space where all numbers are in mm. The system is right-handed, with the origin at the camera, z towards the user and y upwards.
The Ogre co-ordinate system is also right-handed, with positive z out of the monitor and positive y upwards. But remember that we then swing the camera around.
The meaning of the orientation matrices and quaternions are beyond me.