trying to understand binary yaw pitch roll format
- This topic has 3 replies, 1 voice, and was last updated 4 years, 12 months ago by karl.
- 30 September 2015 at 6:35 pm #905karlGuest
We need to integrate the UM7 into some equipment with relatively precise navigation and timing. An RTK GPS and the UM7 will both be connected to an FPGA which will collate those readings with the electromagnetic measurements the equipment is acquiring. So, on power up I need the UM7 to simply start up and start talking as I won’t really have a way to tell it what to do. Out of the box it looks like the thing is set to 115000 baud and is sending out yaw pitch roll. (I’m not absolutely certain about this, since the CHR Interface program is is very complex and might have sent an initialization ‘cue’ to the UM7 without me knowing it. )
Anyhow, I’ve powered on the UM7, attached it to a level shifter to a serial port on my linux machine. I stared the source code of CHR Interface and guess that each message begins with ascii values ‘snp’ This is all great since I see that sequence captured by my little python program. An example of hex dumps of several of these message is: 736e70d470001a002b07110000fff7ffddfff9000046018e7d0a0e736e70ec56fff5ffdcfff9000046018eb300e8ffa5f04b000046018eb300470065ffef000046018e8c41f1abac46018eb3173d736e70f061bf2b9d17c00c76cebecabddf46018eb33d5e6878bc99824fbf7af68a46018eb33f0f3c263f4c22aabe0febdc46018e8c18da736e70d470001a002c070e0000fff6ffddfffa000046018eb30a42736e70ec56fff5ffdefff9000046018ee700eaffb6f057000046018ee70045005fffe9000046018eb541f1dbdc46018ee71875736e70f061bf1be996c006a854beea245246018ee73d5ec28fbc9d3e1fbf7b4ed246018ee73f0f4e753f4a2c5abe1b4fb646018eb517d7736e70d470001a002c070c0000fff7ffdffff9000046018ee70a76736e70ec56fff7ffddfffb000046018f1a00d6ffa6f03f000046018f1a00480064ffee000046018f0841f1cfd046018f1a1521736e70f061bf14629bc00a894 etc. etc. etc.
Since ‘snp’ is 736e70
Anyhow I can’t find any documentation of exactly what the format is. I’m guess some sort of IEEE floating point, but I rather have a document describing it rather that trying to make any further guesses.
Thanks in advance.
Geometrics1 October 2015 at 9:40 am #906JeffGuest
Check out the “resources” tab on the UM7 product page: http://www.chrobotics.com/shop/um7-orientation-sensor
The datasheet is there.1 October 2015 at 11:36 am #907karlGuest
Ok, great, I was looking at specifications tab instead. What I really want is ASCII / NMEA. After turning off Broadcast Rates – Raw Data twice, turning on health at 1Hz and NMEA Orientation at 15Hz I get quite nice looking reports:
With unit Y vector pointing approximately North, looks good (I added the … characters):
HOWEVER, when I rotate unit so that Y points exactly 180 degrees away from previous heading:
This does not seem to be physically possible. I do need headings both South and North.
I see similar values in the $PCHRP messages. How do I fix this?1 October 2015 at 6:46 pm #908karlGuest
I think it might be okay. The unit was much more sensitive than I expected to the steel desktop computer case about 40 cm away. I do still have a question about why I see the “1” in the gyro fault field.
- You must be logged in to reply to this topic.