Caleb

Forum Replies Created

Viewing 15 posts - 31 through 45 (of 63 total)
  • Author
    Posts
  • in reply to: UM6-LT SPI Troubles #822

    Caleb
    Moderator

    What is the logic level of you Arduino Uno? (ie. 3.3V or 5V?)

  • in reply to: Jumbled binary output - known issue? #817

    Caleb
    Moderator

    Hi Bob,

    That’s very interesting. I haven’t observed that problem directly before, but the Serial Interface does automatically retry if it doesn’t get a response, or if it receives a packet with a bad checksum. And when the Serial Interface does attempt to read the FW revision, it occasionally does receive a packet with a bad checksum. So this may very well be a bug. I’ll look into it.

    In the mean-time, make sure that you validate the checksum before accepting a packet, and on bad checksum, request the FW revision again.

  • in reply to: EKF covariance #809

    Caleb
    Moderator

    Hi Jens,

    No, covariance data is not available from the UM7.

  • in reply to: Drift Yaw Angle #801

    Caleb
    Moderator

    Hi Alejandro,

    It’s most likely that the magnetometer measurements are being distorted by the permanent magnets in the quadrotor motors. On a small rotorcraft like a quadcopter, yaw angle stability is a tough nut to crack.

  • in reply to: Best setup for UAV-application #799

    Caleb
    Moderator

    Also, it’s worth noting that the GP9 does much, much better than the UM7 on a flying platform. And it doesn’t use the magnetometer to measure yaw, so magnetic field distortions are a non-issue.

  • in reply to: Best setup for UAV-application #797

    Caleb
    Moderator

    Usually, if there is yaw drift on the UM7, it is because there are magnetometer calibration issues that prevent the angle from being measured properly. If there are time-varying magnetics fields (from the permanent magnets in a motor, for example), it can make it very difficult to get a good yaw estimate.

    The magnetometer reference vector tells the UM7 what magnetometer measurement to expect when yaw = pitch = roll = 0 degrees. During operation, it takes the measured magnetic field in the sensor body frame and uses the current attitude estimate to rotate it into the inertial frame (see this library article for details about coordinate frames used on the UM7). If the attitude estimate is perfect and there are no magnetic field distortions, the rotated magnetic field measurement should match the reference vector perfectly. Distortions cause the sensor to erroneously measure attitude error.

    You are doing all the right things to prevent yaw drift, but it could be that motor magnetics are causing problems. Also, be sure that you are writing everything to FLASH.

  • in reply to: Assignment (X=roll, Y=pitch, Z=yaw) changeable? #785

    Caleb
    Moderator

    Hi David,

    The UM7 currently does not support coordinate-frame rotations for different mounting orientations.

  • in reply to: time synchronization without gps #736

    Caleb
    Moderator

    Hi Jason,

    You could do that, but it might take some work. The UM7 has a free-running hardware timer with better than microsecond resolution that starts running when it powers on. It uses incoming PPS pulses and GPS packets to perform a second-order calibration on that timer, synchronizing it to GPS time. The PPS pulse is expected to come in at 1 second intervals with very high accuracy, on the second. Once the GP9 receives the PPS pulse, it uses the next GPS RMC packet to extract the time at which the pulse went high.

    To synthesize the timing synchronization without GPS, you’d need to have a piece of hardware that outputs a PPS pulse once a second, and that sends a NMEA RMC packet immediately after each pulse so that the UM7 can extract the time.

  • in reply to: Processed Acceleration Data incorrect #730

    Caleb
    Moderator

    Hi Jason,

    That’s definitely odd. I haven’t observed that behavior before. Can you open the data plot, make sure it is the active window, and take a screenshot? Use Alt-PrintScreen to just take a picture of the data graph. You can then paste it into an email and send it to support@chrobotics.om, or upload it to this forum.

  • in reply to: How to adjust rotation from sensor to body #725

    Caleb
    Moderator

    Hi John,

    Once the UM7 is mounted on your platform, orient it so that yaw = pitch = roll = 0. Note the non-zero angle outputs. For all subsequent measurements from the UM7, apply the inverse of that rotation to the UM7 outputs. This is most easily done with quaternions.

    If the quaternion output of the UM7 is given by q_ib (meaning, the quaternion rotating from the inertial frame (i) to the body-frame (b)), and if the “misalignment” quaternion (the output of the UM7 when it is at angles (0,0,0)) is given by q_m, then the corrected attitude would be given by:

    q = q_ib*q_m^*

    where q_m^* is the conjugate of q_m, and the multiply shown is a quaternion product.

  • in reply to: UM7 simulink #724

    Caleb
    Moderator
  • in reply to: UM7 simulink #721

    Caleb
    Moderator

    Hi LisaN,

    You’ll want to configure Matlab to read data from the serial port and bring it into the S-Function during simulation. We haven’t done that before, so we can’t provide specific instructions for Simulink integration.

  • in reply to: How to adjust rotation from sensor to body #719

    Caleb
    Moderator

    Hi John,

    That feature may be supported in future firmware releases, but currently there is no support for rotating the effective body-frame on the UM7.

  • in reply to: Change Raw Accel Broadcast Rate not reflected in log file #717

    Caleb
    Moderator

    The Serial Interface data graphs currently log data at a fixed rate of ~ 20 Hz regardless of how fast data is being transmitted. If you want data at a higher rate, you can use the “Log” tab in the main app dialog. That logs all packets received over the serial port as they arrive. The only downside is that we don’t currently have a way to retrieve logged data from the packets, so you’d need to write your own parser to pull it out.

  • in reply to: CHR Serial Interface for Windows XP #702

    Caleb
    Moderator

    The Serial Interface requires the latest version of the .NET libraries, but Microsoft no longer provides support and updates for Windows XP. To run the Serial Interface, you need to use Vista, Windows 7, Windows 8, or Windows 8.1

Viewing 15 posts - 31 through 45 (of 63 total)