• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Register
  • Login
ModalAI Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
    • Register
    • Login

    Get vehicle attitude

    Flight Core
    2
    9
    581
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Andrew Keefe
      last edited by 16 Apr 2021, 18:08

      Is there a parameter I need, or a minimum number of sensors, to produce a vehicle_attitude message? I'm looking for a clean pitch/roll/yaw but it's not being published. I don't have a GPS/compass plugged in at the moment, but my gyros and IMU are calibrated.

      1 Reply Last reply Reply Quote 0
      • M
        modaltb ModalAI Team
        last edited by 16 Apr 2021, 19:20

        Hey @Andrew-Keefe ,

        What FW version are you running? Are you using vision features or just the flight controller?

        By default, PX4 (and EKF2 by way of the ECL library) won't initialize without mag data.....

        Our 1.10 release (we have a 1.11 release as well in 'beta') provides the ability to allow EKF2 to initialize without mag data. The 1.10 release needs "EV" data (external vision) but our 1.11 allows initialization even without EV data.

        1 Reply Last reply Reply Quote 0
        • A
          Andrew Keefe
          last edited by 16 Apr 2021, 19:33

          I branched off of version 1.0.

          Just the flight controller, and honestly not really even that. Just the sensors. There is no vision. I will connect my compass and calibrate it and see if that does the trick. I'm on the bench so rotating the compass isn't always easy.

          1 Reply Last reply Reply Quote 0
          • M
            modaltb ModalAI Team
            last edited by 16 Apr 2021, 20:44

            Yes I've had this issue myself. Here's were we tweak the ECL/EKF2 init:

            https://github.com/modalai/ecl/commit/207ad805368141f92211281b607a3a9f76a868e6#diff-a002684e5addc90ff5d584ea8d7c0061104b10c15112b3d28f8bf34f0742deb2L186

            You could hack at that code on your local branch and ignore mag totally and the estimator should get going (I'm more of a drivers guy and not a flight guy, so the ramifications of this are still in the air (no pun intended!))

            1 Reply Last reply Reply Quote 0
            • A
              Andrew Keefe
              last edited by 14 May 2021, 15:37

              That worked, and now I'm getting pitch from vehicle_attitude.
              With the filter enabled though, PWM is also being enabled by the system, which is interfering with the code I wrote to manually control them. I'm getting chattering.

              1 Reply Last reply Reply Quote 0
              • A
                Andrew Keefe
                last edited by 26 May 2021, 20:53

                @modaltb Can you help point me to where PWM is being enabled once EKF2 is initialized? I can't seem to get rid of this chatter.

                1 Reply Last reply Reply Quote 0
                • M
                  modaltb ModalAI Team
                  last edited by 26 May 2021, 22:38

                  It's been a bit since I was in this area, but I think this is close to where you can debug setting of the PWM outputs:

                  https://github.com/modalai/px4-firmware/blob/modalai-1.11/platforms/nuttx/src/px4/stm/stm32_common/io_pins/pwm_servo.c#L65

                  That's not in the 'normal' source tree which can cause break point headaches, but it's called from here: https://github.com/modalai/px4-firmware/blob/modalai-1.11/src/drivers/pwm_out/PWMOut.cpp#L562

                  I had an issue before in here that was caused by a timer bug and the wrong CCR was being used. This has been fixed, but for reference the timers are setup here: https://github.com/modalai/px4-firmware/blob/modalai-1.11/boards/modalai/fc-v1/src/timer_config.cpp#L55

                  Not sure if that will help but that's where I'd start if you haven't alraedy trie

                  1 Reply Last reply Reply Quote 0
                  • A
                    Andrew Keefe
                    last edited by 27 May 2021, 20:24

                    I don't have a pwm_out driver. I do have a pwm_servo, and it's being called from PX4FMU, such as from update_pwm_out_state.

                    What I need to do, I think, is disable the mixer values for PWM so that I can set them manually. I'm not sure if my

                    ret = px4_ioctl(fd, PWM_SERVO_SET(PORT_FIN), pwm_value);

                    command goes to the mixer, or if I can bypass the mixer in mixer_module.cpp.

                    I'm basically commenting out things one at a time to see what happens since I'm not set up to step through the code.

                    1 Reply Last reply Reply Quote 0
                    • A
                      Andrew Keefe
                      last edited by 27 May 2021, 20:45

                      Ah, when I run the PWM program there is no chatter on the PWM signals, so I'm going to review that code again and compare it to mine.

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Powered by NodeBB | Contributors