I sent you some log data just before I went to bed last night. Here’s a fragment:
s=gyr,x=-0.14690529,y=-0.028577317,z=0.09692149,ts=1424988205037,acy=3 |
s=mag,x=-172.73999,y=-170.28,z=-164.09999,ts=1424988205041,acy=3 |
s=gyr,x=-0.13305685,y=-0.030707845,z=0.09798675,ts=1424988205042,acy=3 |
s=uwb,t=tag #1,tu=87289750000000,ts=1424988205044,d=1.3906851,acy=0 |
s=gyr,x=-0.116012625,y=-0.032838374,z=0.09798675,ts=1424988205045,acy=3 |
s=gyr,x=-0.100033656,y=-0.03390364,z=0.10011728,ts=1424988205049,acy=3 |
s=mag,x=-172.68,y=-170.34,z=-164.04,ts=1424988205052,acy=3 |
s=gyr,x=-0.085119955,y=-0.03390364,z=0.10011728,ts=1424988205054,acy=3 |
s=acc,x=-0.61291564,y=6.895301,z=7.967903,ts=1424988205055,acy=0 |
s=gyr,x=-0.07127152,y=-0.03390364,z=0.10011728,ts=1424988205059,acy=3 |
s=gyr,x=-0.05529255,y=-0.03177311,z=0.09798675,ts=1424988205064,acy=3 |
s=prs,p=949.69,ts=1424988205065,acy=0 |
It seems clear that it contains all the components to build an IMU, plus a pressure sensor. I’ll have a look around for documentation, but it seems mostly obvious. Here’s my parsing:
record ::= “s=” <sensorRecord> ” <newline> // one sensor record per line
sensorRecord ::= <accRecord> | <gyrRecord> | <magRecord> |
<prsRecord> | <uwbRecord> // five different sensor record types
<prsRecord> | <uwbRecord> // five different sensor record types
timestamp ::= “ts=” <unixTime> // milliseconds since 1/1/1970
accInd ::= “acy=” (“0” | “3”)
accRecord ::= “acc,” <xVal> “,” <yVal> “,” <zVal>
“,” <timestamp> “,” <acInd> // x,y,z, timestamp, accuracy?
“,” <timestamp> “,” <acInd> // x,y,z, timestamp, accuracy?
gyrRecord ::= “gyr,” <xVal> “,” <yVal> “,” <zVal>
“,” <timestamp> “,” <acInd>
“,” <timestamp> “,” <acInd>
magRecord ::= “acc,” <xVal> “,” <yVal> “,” <zVal>
“,” <timestamp> “,” <acInd>
“,” <timestamp> “,” <acInd>
prsRecord ::= “prs,” <pVal>
“,” <timestamp> “,” <acInd> // mbar, timestamp, accuracy
“,” <timestamp> “,” <acInd> // mbar, timestamp, accuracy
uwbRecord ::= “uwb,” <tagId> “,” <tuVal> “,” <timestamp>
“,d=” <range> “,” <accInd> // tagName, tuVal? ts, meters, accuracy
“,d=” <range> “,” <accInd> // tagName, tuVal? ts, meters, accuracy
tuVal ::= <64-bit? cardinal> // quality assessment?
range ::= <10.7 floatingPoint> // distance in meters
I think accInd may represent the sensor sensitivity (maxG for example). The tuVal number is a mystery, but I’m wondering if it is some representation of the impulse signal that reveals the quality of the range assessment. |