Change gimbal bounds with Olympe

Hi,

I’m trying to move gimbal front camera but I can’t reach Anafi-ai bounds.
It looks like I can’t move the gimbal in Yaw, the pitch bounds looks -90/+90 and Roll looks correct (±36°).

Is there a way to change gimbal bounds to correspond to Anafi-ai datasheet ?

I saw in Olympe the absolute_attitude_bounds event (Gimbal feature - 7.7), but I can’t find the command to set the gimbal bounds.

Any help ?

Best,
Clément

Hello,

On Anafi Ai the gimbal will always be locked for a ground control station (Olympe, GroundSDK, etc…). You can listen to the lock value to know when an axis can be controlled:

https://developer.parrot.com/docs/olympe/arsdkng_gimbal.html?highlight=bounds#olympe.messages.gimbal.axis_lock_state

Also bounds for the yaw in ABSOLUTE frame of reference are +/-180 degrees because the drone and gimbal are linked together.

The only way to manage the yaw of the gimbal is to use AirSDK and write a specific guidance mode.

Thanks,

Hi @Ronan,

You say that the gimbal will always be locked for a ground control station, but I can move the gimbal roll and gimbal pitch from Olympe with

        cameraAction = drone(gimbal.set_target(
            gimbal_id=0,
            control_mode="position",
            yaw_frame_of_reference="none",
            yaw=0.0,
            pitch_frame_of_reference="absolute",
            pitch=-90.0,
            roll_frame_of_reference="none",
            roll=36.0,
        )).wait()

It’s sad to be able to move every axis from Olympe except Yaw. I would love to make move the drone in front looking 45° aside without using AirSDK.

Anyway, I’ll try to write my own Guidance mode but It looks like the doc is very poor in python. Is it something you’re working on ?

Best,
Clément

For example, how to know how to use ColibryLite::Messages::YawControlConfig::Enum in python ?

I tryied to import colibrylite.messages but I have a No Module Found error. Can’t find any python documentation of how to write a Guidance mode …

Sorry I meant the gimbal YAW. roll and pitch axes are not (always) locked.

1 Like

To import a message:

import colibrylite.yaw_control_config_pb2 as cbry_ycc

To use it in generate_attitude_references:

self.output.has_yaw_reference = True
yref = self.output.yaw_reference
yref.rate.ref = 1.0
yref.rate.config = cbry_ycc.SOFT

Thank you for your answer @Ronan, but It’s a shame to ask this kind of question on the forum each time I need documentation.

Where could I find this information without disturbing you ?

Best,
Clément

We are working on adding more examples of guidance modes.

There is an example of an import of colibrylite messages the hello mission:

https://github.com/Parrot-Developers/airsdk-samples/blob/master/hello/autopilot-plugins/fsup/ground/stage.py#L3

Probably the best source is the hello airsdk mission currently.

Thanks,

Also, the list of drone controller / colibrylite messages are available here: Messages list - 7.1

Thanks,

Yes I saw this section but it’s C++ Syntax. I understand python is just adding _ between words and _pb2 at the end.

Thank again for your answer !

Best,
Clément

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.