常见问题

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

目前可供销售发货的产品有TM131,  TM151,  TM171,  TM200,TM210,  TM210-G,TM310,  TM352/TM353,TM362,TM421/TM431,  TM500,TM510系列。 

问: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级,则问题解决;

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

注意事项:执行过程中(以及执行完毕显示Success字样之后的至少半分钟内)不可以断电,否则可能导致模块内部数据存储不正确从而出现不可恢复的损坏。

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

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

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

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

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

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

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

如需Python版本可根据说明书自行编写,如果仅仅是读取模块输出数据,解码是很方便的,数据包结构为:数据头+数据包长度+数据类型指示+数据内容+CRC校验, 详见产品用户手册

问:TransducerM能不能配合ROS系统使用呢?

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

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

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

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

3)虽然TransducerM对安装位置没有严格要求,但是为了追求更高的性能和可靠性,一般建议应避免安装于强振动区域或者强烈变化的电磁干扰区域,并且应尽可能靠近被测刚体的旋转中心,远离可能产生渗油和腐蚀性液体的部位。连接线缆时避免用手触碰电线,如果采用外接电源必须反复检查电源正负极(非常重要!除部分型号以外,反接通常会导致模块损坏)和电源电压之后再接上电源。

问:是否支持ARM架构处理器?

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

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

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

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

问:TM210 / TM362在未启用磁力计的情况下,启动后航向角未归零,应如何解决?

通过调用清零API实现归零。 或者将传感器安装位置调整为Z轴朝向天空,或者大致朝向天空。

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

将模块连接至电脑,打开IMU Assistant图形化配置软件,将“Output Data”区域的所有输出类型勾选取消(即停止连续数据输出),保存。此后,模块只有在被问询到相应数据类型时,才会回传该数据的最新值(问询模式)。

问:如何达到产品手册中描述的输出频率最大值?

1)例如,若对应产品手册显示300Hz为最大输出频率,配置方法:波特率设置成 921600bps 或 1Mbps,Inhibit Time设置成0,只选择一种数据类型输出(例如RPY角度值),保存设置;数据接收端应配合及时处理缓存中的数据包,防止数据包堆积溢出而丢包。

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

3)如果读取模块数据的主机含有操作系统(例如Linux),接收端端口缓冲区大小可能需要适当调整来实现最高效率。缓冲区设置恰当即可,关键点是尝试解包的频率一定要大于等于收到包的频率,防止数据堆积。

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

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

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

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

用户软件要获取QoS,可以通过读取模块的Status数据包输出(参阅: 用户手册TransducerM_UserGuide_EN_V128-R2.pdf 第33页, 或其它版本用户手册的Status数据包描述章节; 此外, 我们提供的示例代码和通讯库中也有涉及)。

问:图形化配置软件的通讯协议(Communication Protocol)面板中,Power-on Slient Time 和 Inhibit Time 分别是什么含义,UART1和2的区别在哪里?

1)UART 1是用户串口,UART 2 用户是无法使用到的。

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轴好,故有此设置)。不论是否参与数据融合运算,磁力计本身是一直处于运行状态的,所以原始数据(RAW)数据包一直都能保持输出磁力计数据。此外,指南针功能(TM500系列)也是一直处于开启状态的。此设置不应理解为打开或者关闭磁力计,而是磁力计数据是否被用于数据融合算法的开关。

问:如何决定是否让磁力计参与数据融合?

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

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

3)不管磁力计是否参与数据融合,航向角始终保持相对稳定,不会因为在短时间内干扰突然出现而产生较大误差,即:航向角的误差的产生总是很缓慢且连续的,并且在一定时间之后航向角可能产生累计误差。如果要尽可能消除累计误差,可采用电子指南针功能纠偏(TM500系列),或者在用户自己的程序中进行清零补偿或者采用外接信号(例如基于卫星定位的航向角度参考值)通过模块软件接口进行强制干预(TM500系列适用)。

关于QoS的相关解释

QoS 指 Quality of Service, 即系统服务质量,TransducerM能够输出QoS评级,用于指示产品工作状态和传感精度。

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数值越大表示状况越佳,一般QoS>=3即可满足使用要求,当然最好达到4或者5)

其他疑问

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

若您发现页面中存在错误,请点击此处联系我们,

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