EN RU CN
2 axis gimbal, startup problem, if pitch postition is < -90 before startup.
  • We have a 2 axis gimbal. Mechanical limits are:
    Yaw: 130 degree to both sides. (Yaw has encoder)
    Pitch: (from horizontal position) Down 110 degrees, up 45 degrees. (no encoder)

    All is working great except the following circumstance.
    If we turn off the Gimbal, then with hand turn the pitch down to over 90 degrees. When we turn the gimbal on, it tries to bring up the pitch to the wrong side (alas fliping the camera imu) and the yaw tries to over turn and gets stock obviously which ends in error and emergency turn off. Like if it was trying to use the shortest route possible to get back, but in a way that is mechanically not possible.

    Is there anyway to fix this? We have tried everything.
    If pitch is not past - 89 degrees when turn on, then all is fine. Only happens if at power up, pitch is <-90.<br />
    PS: Alex, on a side note, if you are reading this, it would be so sweet if you could make simple radio buttons on over the profile selection drop down, for quick switching. It is so that it takes 3 clicks to switch profile in configuration, including finding the one from the list.
    Just 5 simple buttons, numbered 1-5 and one can simply click and the profile gets activated. It would make so much sense when setting up without RC input.

    Thank you for you help.

  • Hello,

    "Like if it was trying to use the shortest route possible to get back, but in a way that is mechanically not possible." sorry, no understand. Shortest path from 90 to 0 is always 90. If PITCH goes in opposite directin - is need to travel 270 degrees. Obviously it is not the shortest path.

    What is the Euler order is configured? Default is PITCH-ROLL-YAW. When PITCH is 1st in order, when you turn PITCH upside down, it is displayed correctly (i,e, PITCH can be >90) and the shortest path is correct. If PITCH is 2nd in order, it is always <90 and the path in opposite direction is shorter than in proper direction.<br />
    Regarding profile switch: you mean that you want not just to fill new parameters in all fields (like is it now when you select new profile from drop-down list) but also to switch a profile in a board, and do it in single click?
  • Dear Alex,

    I am so happy that you took time to reply. Thank you.

    For second question (request) answer is "yes/correct". Would like a toggle button (5pcs) for quick switch to profile on the board during setup.

    About original issue and question, I will check it (the euler) in a few minutes and tell you the answer.
    Since then we also had new behavior related to this problem. That is if I use RC to control pitch and push the camera to look down, once it passes 90 degrees, it tries to be smart and keep picture right side up, so it tried to yaw 180 degrees. However as explained in our setup 180 yaw is not possible. Is there a way to disable this (seemingly auto) function. So that we can pitch down and even to 110 degrees with out the yaw trying to turn around? We don't mind video becomes upside down.
    If it is not clear what I am explaining, then I am happy to make video.

    Thank you
    (another) Alex
  • Ok, I checked, ordet was roll, pitch yaw. I changed to pitch-roll-yaw, but this did not help.
    I will make video.
  • I see that it is gimbal camera-PITCH-YAW configuration. If its application is to work in the "Follow" mode, to just repeat the rotation and tilt of a plain, then you have to enable PITCH and YAW motors and set the "Euler order" = Cam-PITCH-ROLL-YAW. I really surprised, why is does not initialize properly in this configuration, because it should work fine and start from any position: PITCH angle is properly defined in full 360 range.

    If target is to lock camera to a point on a ground, for this configuration it is better to use Euler order Cam-YAW-ROLL-PITCH. It perfectly fits for such kind of gimbal and application - you control it in ROLL and PITCH global axes and does not depend how plane is oriented.

    "Would like a toggle button (5pcs) for quick switch to profile on the board during setup. " - ok, I will add it in the nearest 2.65b6 beta release.
  • The behaviour at 2:30 in your video could be explained only if Euler order is set to ROLL-PITCH-YAW.
  • Thank you again. If you like I will make another video to show you the settings, I changed to pitch roll yaw and same problem at startup.
    It seems to want to keep the camera not to flip picture..

    "If target is to lock camera to a point on a ground, for this configuration it is better to use Euler order Cam-YAW-ROLL-PITCH. It perfectly fits for such kind of gimbal and application - you control it in ROLL and PITCH global axes and does not depend how plane is oriented."

    This part I don't understand. We use both follow mode and tarheting mode. We change within rc switch.
    What I don't understand is what you are saying about controlling in roll. There is no roll axis motor in the setup. How can do you want me to control roll? Maybe I misunderstood something.
  • "What I don't understand is what you are saying about controlling in roll. There is no roll axis motor in the setup. How can do you want me to control roll? Maybe I misunderstood something. "

    Sorry, I was mistaken.. My comment is applicable for a gimbal with the PITCH-ROLL or ROLL-PITCH axes only, installed on a plane. For the PITCH-YAW gimbal it will be hard to track a point on a ground, becase it does not compensate a rolling of a plane. So I guess you are going to use it in different modes.
  • Ok, but do you have any solution for our problem? I tried what you said and it did not help. Again as you see in the video, the problem is (not just start up, but also if I move with RC receiver) that if the camera pitch more than 89-90 degrees down, then the yaw tries to turn automatically 180 degree (I guess to try to make picture not to be upside down). However in our case the yaw CANNOT turn 180, but only 110 to each side. So we need to disable this weird auto functions.
    So problem is not just start up, but anytime.
    I tried to change Euler order, but that did not fix the problem.
  • Sorry, I missed this thread for a long time. If you still have this problem, we can continue.

    Actually I do not see problems in my setup when I tried to reproduce your case. In few words: I set gimbal with the YAW and PITCH motors only and the Euler order is set to "CAM-PITCH-ROLL-YAW". My gimbal has encoders loaded with the latest beta firmware 2.66b1.

    There are no problems to tilt PITCH to 90, 120 and further.

    "I guess to try to make picture not to be upside down" - no, it is not true. It is absolutely normal to have picture upside-down and system supports it.

    May be you have something wrong set in the configuration? Give a linnk to profile file, I will check it.
  • I am trying to make PITCH-YAW gimbal without any encoder. I am using 2.63b0. Is there a way to look at one point by compensating roll of a frame. It is multi copter application. I want that if I am looking down and vehicle rolls, gimbal should yaw and pitch to keep looking down.

    If encoder is needed, what will be setup and parameters for that. I am using extended board with CAN IMU.
  • It is not possible with YAW and PITCH motors. For the small roll rotation of the frame, that is orthogonal to the PITCH axis at any moment, gimbal needs to rotate 90 degrees by YAW, and loose it's PITCH angle to stabilize ROLL angle. It can not keep both vertial angles at the same time using only single motor.

    You need to re-align motors to ROLL nd PITCH axes. Also, you have to select option "Order of Euler axes" = "YAW-X-X", i,e, YAW should be first - in this case, gimbal will be stabilized looking at a point on the ground when frame is tilted and rotated by the YAW. But for a 2-axis system in this configuration, camera will rotate around its POV axis, that is still acceptable for some applications.
  • I don't understand clearly. Even, For PITCH-ROLL gimbal, suppose gimbal is looking at (ROLL-0 and PITCH-0) and frame yaw by small angle, ROLL motor have to rotate 90 deg and PITCH motor have to change accordingly to maintain Line of Sight(LoS) on same point.

    Only issue I see is that, in PITCH-YAW case, PITCH and ROLL axes will be swapped after 90 deg yaw.

    Camera rotating about POV axis is acceptable for our application. I have come across off the shelf two axis gimbals which can handle fixed LoS in both CAM-PITCH-ROLL and CAM-PITCH-YAW configuration. Though I am not able to find any controllers separately. I only found SimpleBGC and thought it can handle fixed LoS for PITCH-YAW and PITCH-ROLL configuration.

    Is there any chance of inclusion of this functionality in SimpleBGC in near future? If no, Do you know any controllers which can handle PITCH-YAW fixed LoS application? I was unsuccessful with Storm32.
  • You said that your application is "looking down". So in the example above with the PITCH-ROLL gimbal, ROLL=0 but PITCH=90 (camera looks down). So when frame yaws, line of sight can be kept stable. If the PITCH angle varies around 90, but still looks down, motors are still able to compensate it.

    Our controller is flexible in configuration. It can be switched between configuration PITCH-YAW and PITCH-ROLL on-the-fly using pre-defined profiles. Also, it can auto-detect which axes to statibilize in 2-axis mode, upon startup - it detects which motors are best aligned to wchich global axes.
    Example of settings that relates to your questions:
    http://ybex.com/d/shj5e1gen7icmsuwgku6sf8upa0mqkhf55qhypv5.html
    http://ybex.com/d/6nbpjjn1kub9pzdx7bzh3x89b0i4fizwnl0j2yr7.html
    http://ybex.com/d/z0hjrse3cwlz70wjv62wxc0bcp8g3i4u7zcl8gri.html

    For some functions to work, encoders are required, or second IMU on the frame as alternatives. But two IMUs w/out compasses can't detect YAW angle between them, so only encoders can guaranty 100% functionality we provide in controller.
  • Thanks for the reply.

    Sorry as I was not clear in explaining our application. We are building ISR payload. We are looking for gimbal with continuous 360 pan and -15 to 90 tilt. Payload is belly mounted on UAV.

    We have three modes of operation as outer loop for user. Loops are running at 400 Hz.(We don't know the inner loop frequency of SimpleBGC) We have implemented this algorithms in ArduCopter.
    1. Point to Coordinate - In this mode, user will give LAT, LON. FCS will calculate PAN and TILT based on the UAV location and attitude.
    2. Target Tracking - In this mode, Image processing algorithm will tell the location of target in the image. According to the pixel location we will command rates to the gimbal.
    3. Euler Lock (Fixed LoS) - This is default mode. In this mode, user can give rate commands, but the moment user release stick, we want that LoS (Vector in NED) should be maintained compensating vehicle attitudes including ROLL.

    We are facing issue only for third case. We hoped that Euler lock is available in Gimbal and we don't have to implement outer loop as outer loop will lag significantally because it is implemented outside Gimbal controller.

    Due to weight constraints we wish to build the two axis gimbal rather than three axis gimbal. And I believe PITCH-YAW gimbal is the only way to achieve our objectives.

    We are currently controlling through RC and not Serial.

    My GUI is not showing Cam-ROLL-YAW-PITCH order of hardware axis. I am using 2.63b0 GUI.

  • Found old video illustrating 2-axis gimbal with the YAW-ROLL-PITCH mode of stabilization for ground target tracking: https://youtu.be/NQZ0xq575fs

    "3. Euler Lock (Fixed LoS) - This is default mode. In this mode, user can give rate commands, but the moment user release stick, we want that LoS (Vector in NED) should be maintained compensating vehicle attitudes including ROLL."
    It is possible only if both motor's axes are positioned horisontally. If one of motor is PAN and it is vertical, it's not possible to stabilize an attitude in all directions. But it's obviously, so may be I do not understand you again.