Caleb

Forum Replies Created

Viewing 15 posts - 16 through 30 (of 80 total)
  • Author
    Posts
  • in reply to: firmware update #830

    Caleb
    Moderator

    There is a pinout diagram on page 12 of the UM7 datasheet, available here: http://www.chrobotics.com/docs/UM7_Datasheet.pdf

    Connect the pin labeled BT0 to the pin labeled 3.3V, on the bottom-right connector shown in the diagram.

  • in reply to: UM6-LT SPI Troubles #827

    Caleb
    Moderator

    Hi Eugene,

    The SPI pins on the UM7 are not 5V tolerant, and operating above their absolute maximum rating could damage them (See page 10 of the datasheet, here: http://www.chrobotics.com/docs/UM7_Datasheet.pdf). The pins do have built-in ESD protection, so they may be OK. But it’s possible that the protection circuitry was burnt out, since they aren’t designed to handle sustained overvoltage conditions.

    Also, make sure that the timing constraints described in the datasheet aren’t being violated. To wit,

    “The maximum SPI clock rate is 10 MHz. However the UM7 needs at least 5 microseconds between bytes to copy the next byte into the SPI transmit register. For high clock rates, this means that a delay must be added between consecutive bytes for correct operation”

  • in reply to: firmware update #823

    Caleb
    Moderator

    To update the firmware, use the following steps:

    1) Download the newest firmware HEX file from here: http://www.chrobotics.com/shop/um7-orientation-sensor
    2) Make sure you have the latest version of the Serial Interface, available here: http://www.chrobotics.com/serial-interface
    3) Connect the BOOT pin on the UM7 to the 3.3V pin before applying power.
    4) Power up you UM7. The LED should *not turn on. This means that the bootloader started in programming mode.
    5) Make sure that your UM7 is appropriately connected to your computer. The USB Expansion Board is a good way to do so.
    6) Open the Serial Interface and select the correct COM port. Do NOT click “Connect.” Select the firmware HEX file you downloaded in step 1 and click “Program.” It should flash the new firmware. Once it finishes, disconnect the BOOT pin and cycle power. You are finished!

  • 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: Sensor variance settings #794

    Caleb
    Moderator

    Decreasing the GPS variance causes the GPS measurements to be assigned more weight in the filter, so that GPS correction happens more quickly. This causes the yaw angle to converge more quickly, and it causes the bias estimator to lock on faster. This would explain why the yaw drift decreases when you’ve decreased GPS variance.

    The tradeoff is that any GPS error will cause larger yaw, pitch, and roll measurement errors.

  • in reply to: Sensor variance settings #792

    Caleb
    Moderator

    Hi Arto,

    The default settings work very well on small airplanes. The yaw angle is only observable when the sensor is accelerating. The longer it goes without acceleration, the more the yaw angle can drift.

  • 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: GP9 for quadcopter #759

    Caleb
    Moderator

    The GP9 has a built-in GPS and doesn’t need an external module. How much accuracy do you need on position? The accuracy of the GPS on the GP9 depends on the quality of the GPS lock. With a consistent satellite constellation, the GPS is typically accurate to within 3 - 4 meters CEP.

  • 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 [email protected], or upload it to this forum.

Viewing 15 posts - 16 through 30 (of 80 total)