::产品概述::
AmmSensor软件开发工具包
描述
AmmSensor为一款兼容蓝牙技术的3D无线MEMS传感器设备。该产品重量轻,体积小,速度快。结合加速度计、陀螺仪和磁力仪、所有三轴,再加上驱动软件库(DLL),可生成精确的动态方向感应器数据,采用四元数或单位向量的形式。
程序员使用软件开发工具包(SDK)软件可创建自己的应用程序。可访问所有原始传感器输出数据(加速度,角速度和地球磁场方向),以及采用四元数或单位向量形式计算输出的动态传感器方向数据。
AmmSensor SDK为Visual Studio 于2008年采用C#和.Net平台开发。可在所有当前版本的Microsoft Windows系统包括Windows 7、Vista和XP上运行。
SDK包括一个动态链接库,其功能可由用户开发的程序来调用。可使用任何.Net兼容的语言;C++、C#和VB。包括控制传感器的函数调用上的综合文档和固件命令。
软件工具包还包括是称为AmmSampleApp的一个示例程序。本程序演示如何通过蓝牙使用COM端口连接到传感器,以及如何提取并实时显示数据。用户从而能够直接捕捉并保存数据至电子表格。生成的文件是一个逗号分隔的ASCII文本文件。
请注意,您需要一台具有蓝牙功能的Windows电脑,已经安装Visual Studio 2008 VB,才能查看和运行示例应用程序。此示例实现可用作用户创建应用程序的基础。
输出数据的定义
原始数据
数据未经校准,仍然直接来自所涉及传感器的原始计数单位。仅能用于开发和测试。
计数
目前样本计数,从1001循环至16000个,然后再次启动。
计数
m_raw_count
循环
计数已经循环的次数。
循环
m_raw_cycle
温度
原始单位的传感器内部温度。
RawTemp
m_raw_temp
唯一ID
AmmSensor开始通信时的当前的样本计数。
m_raw_uniqueID
UniqueCount
Ax,Ay,Az 原始数据
来自3轴加速度计的加速度向量,相对于传感器的局部坐标轴进行测量,采用原始计数单位。这些值代表传感器线性加速度。需要注意该向量包括重力在内。
RawAccelX RawAccelY,RawAccelZ
m_raw_accX m_raw_accY,m_raw_accZ
Mx,My,Mz原始数据
来自3轴磁力计的磁力向量,相对于传感器的局部坐标轴进行测量,采用原始计数单位。这些值代表指向磁北的一个向量。请注意并非平行于地面,而是地面中的点。
RawMagX RawMagY,RawMagZ
m_raw_magX m_raw_magY,m_raw_magZ
Gx,Gy,Gz原始数据
来自3轴陀螺仪的角旋转速率向量,相对于传感器的局部坐标轴进行测量,采用原始计数单位。这些值代表传感器沿每个轴旋转的速度有多快。
RawGyroX RawGyroY,RawGyroZ
m_raw_gyroX m_raw_gyroY,m_raw_gyroZ
转换后的数据
数据使用校准参数转换为物理单位。校准在出厂时完成并存储在传感器的存储器中。每个传感器都有单独的校准参数。
时间
启动后以秒计算的时间。
时间
m_conv_time
温度
与原始温度相同,尚未进行处理。
ConvTemp
m_conv_temp
Ax,Ay,Az
经过处理的加速度向量,相对于传感器的局部坐标轴进行测量,单位为m/s/s。需要注意的是该向量包括重力在内。
RawAccelX RawAccelY,RawAccelZ
m_conv_accX m_conv_accY,m_conv_accZ
Mx,My,Mz
标准化的磁力仪单位向量,每个参数值范围为1和-1之间。向量是相对于传感器的局部坐标系统而测量。这仅仅是一个方向性的单位向量,因此没有任何单位。
RawMagX RawMagY,RawMagZ
m_conv_magX m_conv_magY,m_conv_magZ
Gx,Gy,Gz
经过处理的角速度向量,相对于传感器的局部坐标轴测量,单位为每秒度。这是一个角速度使用向量。
RawGyroX RawGyroY,RawGyroZ
m_conv_gyroX m_conv_gyroY,m_conv_gyroZ
处理后的数据
使用更复杂的算法生成更为准确的额外参数,来自AmmSensor不同种类传感器的组合值。这些算法包括整合、推导和一个复杂的卡尔曼滤波器。
加工时间
AmmSensor通信开始后以秒为单位的时间,与ConvTime相同
时间
m_proc_time
传感器单位向量
这9个值给出传感器在任何时间点的方向,相对于全球参照帧。事实上,每个传感器的结束点坐标值是内部轴的标准化,范围在1和-1之间。全局参考坐标系从重力向量和磁北向量创建。
相对全局参考坐标系测量的传感器X轴坐标终点是:
Xx,Xy,Xz
m_proc_rotMat00 m_proc_rotMat10 m_proc_rotMat20
相对全局参考坐标系测量的y轴坐标终点是:
Yx,Yy,Yz
m_proc_rotMat01 m_proc_rotMat11 m_proc_rotMat21
相对全局参考坐标系测量的z轴坐标终点是:
Zx,Zy,Zz
m_proc_rotMat02 m_proc_rotMat12 m_proc_rotMat22
四元数
为表示传感器方向的另一种便捷方式。该方法只使用4个组件而不是9个单位向量,因此更为紧凑。更多信息请参阅维基百科。
QuaternionW,QuaternionX QuaternionY,QuaternionZ
m_proc_quatW,m_proc_quatX m_proc_quatY,m_proc_quatZ
惯性直线加速度
这一向量是传感器的线性加速度,仅由运动所生成,单位为m/s2。重力向量消减。仅当传感器方向已知时才能完成该过程,即我们知道重力(9.81m/s2)消减的位置。这样才能准确了解运动所单独创建的加速度。当传感器不移动时该值应为零。该向量为相对于全局参考坐标系测量。
InertialAccelX InertialAccelY,InertialAccelZ
m_proc_globalAccX m_proc_globalAccY,m_proc_globalAccZ
角加速度
角速度向量为差别化生成,测量单位为rad/s2,有3个组成部分。该向量为相对于传感器局部坐标轴测量。
AngularAccelX AngularAccelY,AngularAccelZ
m_proc_gyroConvAccX m_proc_gyroConvAccY,m_proc_gyroConvAccZ
线速度和线性位置
线速度(m/s)由惯线性加速度的整合而产生,线性位置(m)来自线速度的整合。传感器的初始位置认为是原点,相对于全局参考坐标系测量。这些值会产生较大的整合偏移,在每次使用前应提供复位功能。
位置X,位置Y,位置Z
m_proc_globalPosX m_proc_globalPosY,m_proc_globalPosZ
LinearVelX LinearVelY,LinearVelZ
m_proc_globalVelX m_proc_globalVelY,m_proc_globalVelZ
这些向量都会产生重大偏移,具有边际价值。仅出于完整性目的提供这些数据,不具有准确性。
全局参考坐标系
Z轴为垂直指向
X轴为磁北方向指向
Y轴为垂直于X轴和Z轴指向西
X,Y和Z轴为形成一个右手坐标系
AmmSensor单位向量
该单位向量完整定义了AmmSensor局部坐标系的方向。可使用比较容易的方程将这些值转换成各种方位角度类型,包括欧拉角和关节角度值。任何方程方面的疑问请咨询AMM解决。
::应用范围::
适用于手部追踪、仪器追踪、机械臂动作捕捉等
::技术特征::
- 创建自己的创新3D动作捕捉和分析应用
- 实时读取加速度、角速度、磁场数据
- 直接从卡尔曼滤波器提取四元数或单位向量的传感器方向数据
- 多个传感器实现同时通信
- 通过固件命令控制AmmSensor的所有功能
- 读取并写入传感器的固件信息以及校准数据
- 使用Visual Studio进行任何Windows.Net语言编程
- (免版税)Windows.Net兼容DLL
- 250Hz二进制格式的数据传输,用于快速动作更新
- 简单的学习曲线VB演示程序
- 示例应用程序存储输出为ASCII文本文件,可自动发送至一个电子表格