trying to understand binary yaw pitch roll format

Home Forums UM7 Product Support trying to understand binary yaw pitch roll format

This topic contains 3 replies, has 1 voice, and was last updated by  karl 2 years, 6 months ago.

  • Author
    Posts
  • #905

    karl

    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.

    Karl
    Software Engineer
    Geometrics

  • #906

    Jeff

    Check out the “resources” tab on the UM7 product page: http://www.chrobotics.com/shop/um7-orientation-sensor

    The datasheet is there.

  • #907

    karl

    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):

    $PCHRA,2703.684,0.10,-2.12,-0.21,*6B
    $PCHRH,2703.694,00,00,0.0,0,0,0,0,0,1,0,0,0,*4D
    $PCHRA,2703.752,0.10,-2.12,-0.20,*60
    …….
    $PCHRA,2704.495,0.14,-2.09,-0.30,*60
    $PCHRA,2704.564,0.13,-2.09,-0.30,*68
    $PCHRA,2704.631,0.14,-2.09,-0.31,*6D
    $PCHRH,2704.694,00,00,0.0,0,0,0,0,0,1,0,0,0,*4A
    $PCHRA,2704.698,0.14,-2.10,-0.31,*66
    $PCHRA,2704.766,0.16,-2.10,-0.31,*64

    HOWEVER, when I rotate unit so that Y points exactly 180 degrees away from previous heading:

    $PCHRH,2904.860,00,00,0.0,0,0,0,0,0,1,0,0,0,*41
    $PCHRA,2904.867,0.46,-3.56,93.64,*75
    $PCHRA,2904.934,0.46,-3.57,93.62,*75
    …..
    $PCHRA,2905.746,0.48,-3.57,93.50,*70
    $PCHRA,2905.813,0.48,-3.58,93.49,*78
    $PCHRH,2905.862,00,00,0.0,0,0,0,0,0,1,0,0,0,*42

    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?

  • #908

    karl

    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.