常见问题

 

问:目前可供销售发货的产品具体有哪些?

目前可供销售发货的产品有TM200, TM352, TM353, TM500系列。

 

问:TM352/TM353的区别在哪里?

TM352和TM353的传感器本体和性能完全相同,当选择TM353编号下订单时,我们会附上杜邦线散线(请参阅附件TM35x数据手册)仅此区别。但是为了配合我们的图形化配置软件,如果你的电脑不具备串口通讯接口的话,您仍需要自己配备一个USB转串口设备。

 

问:国内下单后,供货周期大致是多少时间?

国内订单默认顺丰快递,发货时间约1~2天,特殊情况3~4天(不包含邮寄时间)。

 

问:TransducerM是否能和里程计配合使用?

TransducerM有很多配合里程计应用的案例,但是本身不可以直接和里程计接口,需要用户自己处理这一部分。 除非采用我们的定制服务(例如我们给丹麦这边的农用拖拉机定制里程计和惯性模块,系统各方面配合良好的情况下,可以达到+-0.2%的前近距离误差的精度(+-0.2% = 误差/前进距离))。

 

问:模块已经在地上静置了10分钟,Qos依然到不了5级,这种情况怎么办?

将启动模式设置为Dynamic保存,重启模块并放置6-7分钟,若Qos达到5级就OK;

若依旧不能达到,请勿断电,点击Calibration Panel,点击CalibB执行一次校准,等待一分钟(显示校准完成Success字样后)重启模块。

注意事项:执行过程中(以及执行完毕之后一段时间)不可以断电,否则会导致模块内部数据存储不正确从而出现不可恢复地损坏。

 

问:若在AGV上安装是否需要进行CalibB校准?还是说只要达到QoS 5就可以进行记录测试了?

单个AGV测试,若使用上没有问题则无需CalibB,达到QoS5即可。因为不当的CalibB操作可能会导致精度下降或模块损坏。

 

问:IMU Assistant 为什么时不时或者总是不能扫描到模块的ID号?

可能是因为IMU Assistant默认通讯波特率(115200bps)与模块已设置的波特率不匹配。

解决方法:不管模块已设置的波特率为何值,上电前6秒会默认采用115200通讯,然后跳变成设置波特率。如果在前6秒期间收到了IMU Assistant的扫描命令,则该次上电忽略用户设定的波特率一直用115200直到下一次重启(这个机制为模块配置提供了方便)。因此,在模块上电后6秒之内执行IMU Assistant的扫描命令即可。

 

问:有没有C++、Python的SDK方便使用?

我们有C语言和C++语言版本的库文件(点击此处跳转至下载页面)暂时还没有Python的。

如需Python版本可根据说明书自行编写,如果仅仅是读取模块数据,解码是很方便的,数据结构固定是数据头+长度+数据类型指示+数据内容+CRC校验。

 

问:TransducerM能不能在Ros系统上使用呢?

TransducerM全系列都可以配合ROS使用,请在“点击此处”下载示例接口代码。

 

问:按照标准测试步骤执行,在QoS到5后将传感器安装到AGV上、笔记本也放置在AGV上,传感器x轴对准行进方向(对准有没有很严格的要求?),传感器外壳上的安装孔是否能对应到AGV的安装孔,以及还有其他注意事项吗?

1)TransducerM传感器的x轴对准车辆前进轴向,精度在±1度以内。在大多数情况下都是认可接受的,这主要是因为TransducerM的航向输出是相对值,所以在实际应用中用户程序可能会对其进行进一步对准,故在机械上的安装要求不是特别严格。类似地,对于俯仰和航向安装角度建议控制到±1度以内,如果能控制到±0.5度误差以内则更佳。

2)产品技术手册(Data Sheet) 中含有安装孔位图,如果条件允许可以在AGV中配置安装孔,通过M2.5(TM353型号),或者M4(TM500型号),或者M3(其它标准型号) 的螺丝螺母固定。如果是临时测试在要求不高的情况下,可以使用例如3M VHB无痕双面胶带粘贴到目标机器。

3)虽然TransducerM对安装位置没有严格要求,但是一般避免强振动区域或者强烈变化的电磁干扰区域。链接线缆时避免用手触碰电线,如果采用外接电源必须反复检查电源正负极(非常重要!反接会导致模块损坏)和电源电压之后再接上电源。

 

问:是否支持ARM?

我们提供的 TransducerM 通讯库是C/C++源码级的,并且不依赖特殊库文件,所以很容易移植,同时我们可以提供ARM CortexM3版本的代码示例,此外,还有在QT、Arduino环境下的示例。

 

问:TM200的北向Yaw角不准,与地理北极方向差了90°左右,多次CalibB也不能解决,这是为什么?

这个型号的模块只在上电时与本地磁场北对准,航向角是相对的(不具备电子指南针功能),电子指南针功能可以通过后续代码实现。

如果您需要实现电子指南针功能,将通讯库升级,具体方式您可以通过邮箱联系我们。

 

问:如何将模块的通讯方式设置成问询通讯?

将模块链接至电脑端,打开IMU Assistant将“Output Data”所有勾取消,保存。通过其它应用程序进行握手式回传所请求的数据。

但实际上,设置成连续输出的数据类型仍旧可以进行问询,此时该数据输出速率会高于设定的连续输出速率(多出了被问询数量的数据包)

 

问:产品手册中描述输出频率最大可达到300hz 最大输出频率配置下推荐的波特率是?

1)手册应该是300Hz最大:波特率配制成1Mbps(或2Mbps),Inhibit Time设置成0,只选择一种数据类型输出,同时接收段要配合及时处理缓存中的数据包,防止数据包堆积溢出而丢包同时接收端要配合及时处理缓存中的数据包,防止数据包堆积溢出而丢包。

2)如果用了我们的库代码,可以参考说明书“Avoid Buffer Overflow”章节及时处理接收端缓存中已经收到的数据包,约位于26页。

3)如果用了操作系统(Linux),接收端串口缓冲区大小可能要适当调整试一下来实现最高效率。缓冲区设置恰当即可,关键点是解包的频率一定要大于等于收到包的频率,防止数据堆积。

 

问:QoS是否在模块非工作状态下才能提升?

1)QoS指示器被设计成了只有在模块静态的时候提升,与静态时模块已上电时长相关;与当时数据是否正在被用户采集测量(在工作状态)无关,而且与静置前的工作状态(是否运动)无关。例如:模块在前三分钟时一直在运动中,QoS=Limited,并且测量数据被用户使用,然后静置约20到35秒左右(取决于静置条件),QoS会跳到Fine,接着又三分钟一直在运动,然后静置30秒左右,QoS会跳到VeryGood。

2) QoS也可以通过对模块通讯接口的命令调用实现上升。

 

问:QoS在代码层面是怎样体现的?

关于软件界面用户软件要获取QoS,可以通过读取模块的Status数据包输出(产品手册TransducerM_UserGuide_EN_V128-R2.pdf第33页)。我们提供的示例代码和通讯库中也有涉及。

 

问:软件的Communication Protocol面板中,Power-on Slient Time和Inhibit Time分别是什么含义,UART1和2的区别在哪里?

1)UART1是用户串口,UART2 用户是无法使用到的。

2)Power-on Slient Time: 设置模块上电后若干秒时间内不进行连续输出, 从而防止干扰与其连接的机载计算机的启动过程。例如TransducerM与一台嵌入式WinCE电脑链接,如果启动时TransducerM一直输出数据则有概率会被WinCE操作系统错认成串口鼠标硬件,此时设置Power-on Slient Time时间为大于等于 WinCE系统启动完毕并且用户测量程序加载并打开串口 即可。

3)Inhibit Time: 设置成连续输出的数据类型,两个相邻发送的数据包的时间间隔的最小值。此设置用于防止总线带宽被用完(TransducerM发送数据过于频繁,会导致总线带宽被过多的占用,导致影响总线上的其它设备的正常数据传输)。Inhibit Time 的概念与CANopen标准中Inhibit Time的定义基本相同。

 

问:能否介绍一下Export Protocol Lib中的Generate Code功能?

图形化配置软件中预存了一些代码片段,Generate Code用于将其导出。导出内容就是标准通讯库文件+示例代码。目前Export Protocol Lib的功能还比较简单,并不会根据用户设置裁剪代码,仅进行简单导出通用库代码。

 

问:在没有勾选磁力计选项的情况下为什么能输出磁力计数据,不勾选该数据的含义是什么?

勾选或者不勾选只影响内部数据融合算法(勾选采用9轴算法或者不勾选采用6轴算法,6轴算法在某些情况下表现比9轴好,故有此设置),磁力计一直是开的,所以原始数据一直都能输出磁力计数据。指南针功能(TM500系列)也是一直开的。此设置不应理解为打开或者关闭磁力计,而是磁力计数据是否被用于数据融合算法的开关。

 

问:磁力计数据似乎存在数据漂移现象,能否针对这点说明一下?

1)如果被测设备经常性的长时间不动,或作往复运动(例如测量门窗的开合角度)让磁力计参与数据融合有利于航向角保持。

2)如果周围有变化的磁场,特别是远小于地磁场的缓慢改变方向的磁场, 不建议让磁力计参与数据融合。

3)不管磁力计是否参与数据融合,航向角始终不会在短时间内因为干扰突然出现很大误差,航向角的误差的产生总是很缓慢且连续的,并且在一定时间之后航向角会产生累计误差。如果要尽可能消除累计误差,用电子指南针功能纠偏(TM500系列),或者在用户自己的程序中进行清零补偿(TM35x和TM500系列适用)。

 

关于QoS的相关解释

Status (1字节)定义如下:

8个bit: [保留位, 保留位, 保留位, 保留位, 保留位,QOS(2),QOS(1),QOS(0) ]

QOS == 0; // QOS unavailable

                    //(QOS读数暂时不可用, 通常出现于系统启动时, 此时系统正在评估和计算QOS)

QOS == 1; // Service unavailable due to System Fault.

                     //(QOS等于1表示系统故障,无法提供正常功能)

QOS == 2; // Limited service

                     //(QOS等于2表示系统功能受限, 但仍然在输出数据, 例如:超量程测量时导致测量精度无法保证,此时QOS会降级为2,一段时间之后被测量不再超量程且系统重新完成收敛后,则QOS会自动增加数值)

QOS == 3; // Basic Service (i.e. After static boot) -- All functions available and providing basic performance

                     //(所有功能都可用且正常,但是仅提供基本的测量精度,此时系统精度可能非常接近但是无法完全达到标称指标的典型值)

QOS == 4; // Fine service (i.e. DynamicGyroCalib success approx 25+10 seconds after boot (系统工作正常)

QOS == 5; // Very Good Service   (系统工作正常)

(注: QOS是Quality of service的简称 QOS数值越大表示状况越佳,一般QOS>=3即可满足基本使用要求,当然最好达到4或者5)

其他疑问

若上述常见问题的解答并没有帮到你,点击此处联系我们,

提出你所遇到的问题或疑虑,我们将在2~3个工作日回复你的问题。