Gimbal: Not possible to set relative frame of reference

Hi,

I am having trouble setting the gimbal attitude of my Anafi FPV to relative both in Olympe and FreeFlight 6.

Olympe: It always ignores my “frame_of_reference” command and keeps the attitude absolute. I know that the command goes through because I can see the gimbal moving to my desired attitude, but when I move the drone around, I can see that the attitude is absolute as the gimbal counteracts my movements.

FreeFlight 6: I go to Preferences/Presets and then choose gimbal dynamic for the mode I am flying in. Then when I take off and do some pitching forwards and backwards I can visibly see that the camera is still stabilized on the horizon. So the dynamic command is clearly ignores here also.

Is this a bug with my drone or is it meant to be this way for the Anafi FPV?

All answers are very appreciated! Please respond quickly as I am finishing up a thesis at school :-).

Best regards

That’s the setting you are using correct ?

Yes, choosing “Dynamic” for my Anafi FPV does not fix the gimbal to the body frame, but instead keeps it around the horizon just as the “Fixed” setting is supposed to do.

@nfugier could you check ?

HI @martinf,

As stated in the help screen the dynamic mode only applies to the roll.
If you are doing only forwards and backwards, the gimbal is still stabilized horizontally.

Regards,

1 Like

Ok, thank you. However, that does not explain the fact that setting the angles to relative (for roll, pitch and yaw) does not make it relative at all.

Here is the code I am using and it runs successfully without raising the assertion.

camera_angle = -90

self.drone(olympe_msgs.gimbal.set_target(
            gimbal_id=0,
            control_mode="position",
            pitch_frame_of_reference="relative",
            pitch=camera_angle,
            roll_frame_of_reference="relative",
            roll=0,
            yaw_frame_of_reference="relative",
            yaw=0
        ))

        assert self.drone(olympe_msgs.gimbal.attitude(
            gimbal_id=0,
            roll_relative=0,
            roll_frame_of_reference="relative",
            pitch_relative=camera_angle,
            pitch_frame_of_reference="relative",
            yaw_relative=0,
            yaw_frame_of_reference="relative"
        )).wait(5).success(), "Failed to pitch camera"

So I basically want the camera to always point straight down in the body frame. When I run this code and move the drone about, I can see that the gimbal is still fixed on pointing straight down in the world frame (i.e. adjusting to my movement of the drone so the camera always looks down).

Any ideas on this?

Thanks in advance!

Best regards

This topic was automatically closed after 30 days. New replies are no longer allowed.