套件包装说明

一、整体架构

Amfitrack实际上分成四部分:

             Source(磁场发射器)
             ┌────────────┐
             │ X Coil     │
             │ Y Coil     │
             │ Z Coil     │
             └─────┬──────┘
                   │
      三轴磁场
                   │
          Sensor(接收器)
     ┌────────────────────┐
     │ X Coil             │
     │ Y Coil             │
     │ Z Coil             │
     │ IMU                │
     │ Magnetometer       │
     └────────────────────┘

                ↓

      Position Solver

                ↓

        Position + Quaternion

因此所有参数实际上都是围绕:

  • Source(三轴发射线圈)

  • Sensor(三轴接收线圈)

  • IMU

  • RF

  • Calibration

  • Tracking


二、EMF Calibration

这是最重要的一部分。

例如:

Calib split X
Calib split Y
Calib split Z

意思:

每个Sensor都有三个接收线圈

X Coil

Y Coil

Z Coil

每个线圈:

都有不同灵敏度

所以厂家在生产时都会测:

真实灵敏度

ADC增益

模拟放大器增益

最后得到:

Calibration Value

因此:

Calib split X

其实就是:

Sensor X线圈增益修正

官方特别注明:

Do not change

因为:

一旦改了:

整个位置都会错。


三、PLL

你看到很多:

PLL sensor phase bias

PLL preamp phase bias

这里PLL不是CPU里的PLL。

而是:

Phase Locked Loop

相位锁定。

因为Amfitrack不是测磁场大小。

它真正测的是:

磁场相位

例如:

Source发:

X Coil

32kHz

Sensor收到:

31.9998kHz

相位:

+18°

软件就是靠:

Phase

Amplitude

解算距离。

所以:

PLL bias

就是:

补偿硬件产生的固定相位误差。

正常:

说明:

校准正确。


四、PLL Active Coils

0=XY

1=XZ

2=YZ

3=XYZ

4=Smart

意思:

PLL使用哪些线圈。

官方建议:

Smart

即可。


五、IMU Calibration

这一部分就是:

普通IMU校准。

例如:

Gyro Offset

表示:

角速度零偏

例如:

实际静止:

X:

0.12 deg/s

应该:

0

所以:

写进去:

Offset

以后自动减掉。


Accelerometer:

Offset

Compensation

就是:

Bias

Scale

Rotation Matrix

例如:

Accel Compensation XX

XY

XZ

其实就是:

3×3矩阵。

|XX XY XZ|

|YX YY YZ|

|ZX ZY ZZ|

用于:

修正:

比例误差

安装误差

轴不垂直。


六、Mag Calibration

包括:

Hard Iron

Soft Iron

Hard Iron:

Offset

例如:

旁边螺丝:

一直:

+20uT

减掉即可。


Soft Iron:

就是:

XX

XY

XZ

...

也是:

3×3矩阵。

修正:

铁件造成:

磁场畸变。


七、Hardware Config

例如:

Device ID

就是:

设备编号。


LED intensity

灯亮度。


Use Synchronization

多个设备:

Frame同步。


External Sync

外部同步。

例如:

TTL同步。


八、RF Config

就是:

无线通信。

例如:

RF frequency

RF address

TX power

就是:

无线频道。

例如:

2.402GHz

2.415GHz

2.432GHz

Auto Channel Finder

启动时:

自动寻找:

最干净频道。


Auto Channel Switching

运行过程中:

动态切换频道。

避免:

WiFi干扰。


九、Source Config

例如:

Source #1

Source #2

Source #3

Source #4

表示:

一个Sensor:

可以追踪:

最多:

4个Source。

每个Source:

都有:

Position

Orientation

Quaternion

Offset

例如:

Source1

(0,0,0)
Source2

(1.5m,0,0)

即可:

建立:

统一世界坐标。


十、Startup Pose

例如:

Startup pose X

Y

Z

QX

QY

QZ

QW

就是:

告诉算法:

启动时:

Sensor大概在哪里。

例如:

0.6

0

0.3

表示:

距离Source:

60cm

高30cm

这样:

PLL收敛:

更快。


十一、EMF Parameter Set

这是:

真正控制:

Source发射磁场。

里面包括:

Frequency

Current

Voltage

PWM

Boost

Calibration

例如:

Frequency X

32000Hz

就是:

X线圈:

共振频率。


Target Current

目标:

线圈电流。

例如:

0.7A

PWM

驱动PWM。


Boost Voltage

Boost电源。

例如:

18V

24V

36V

Coil Calibration

Source:

每个线圈:

发射强度修正。


Calibration Multiplier

静态金属补偿。

例如:

桌子:

钢架。

可以:

稍微修正:

发射场强。


十二、Measurement Package(数据包)

这是SDK真正输出的数据。

Sensor包:

Pose

Quaternion

IMU

Mag

Temperature

FrameID

RSSI

Metal Distortion

GPIO

其中:

pose

就是:

真正的位置。

position_x

position_y

position_z

单位:

LSB=0.01mm

因此:

Raw

÷100000

=

meter

例如:

123456

=

1.23456m

Quaternion:

orientation_x

orientation_y

orientation_z

orientation_w

转换:

÷1000000

即可。


IMU:

加速度:

4g

16bit

转换:

g

=

raw

×

4

/

32767

Gyro:

0.07 deg/s

LSB

转换:

rad/s

=

raw

×

0.07

×

π

/

180

十三、状态信息(Status)

sensorStatus 用于快速判断传感器工作状态:

字段含义
Battery Level电池电量(0=满电,3=严重不足)
Battery Charging是否正在充电
Source Connected是否已连接到 Source
BFieldStatus磁场跟踪状态
Sync是否收到同步信号

其中 BFieldStatus 是最关键的诊断字段:

含义
0Tracking(正常跟踪)
1Uncertain tracking(跟踪不稳定)
2No tracking(丢失跟踪)
3Magnetic field too low(磁场过弱)
4Magnetic field too high/异常(不同固件可能定义略有不同)
5Source coil defect(发射线圈故障)
6Sensor coil defect(接收线圈故障)