Skip to content

cmdVel functionality for setting attitude rate reference (besides euler angles references) #796

@giannisbdk

Description

@giannisbdk

Dear community,

Trying to address the need to transmit angular velocity references from a ground station computer to the on-board inner attitude-rate PID controller of the Crazyflie, as well as the total thrust affecting the positional dynamics, I have been exploring relevant commands within your Python API.

It appears that the function cmdVel(), which takes as arguments the Euler angles (specifically yaw angular velocity rather than the yaw angle) and thrust, might replicate the functionality of the send_setpoint() method from the commander class in cflib.

The cflib documentation specifies that setting the flightmode parameters for roll, pitch, and yaw (e.g., stabModeRol, stabModePitch, stabModeYaw) to 0 enables what is referred to as modeVelocity instead of modeAbs. This configuration allows for bypassing the attitudeControllerCorrectAttitudePID and directly feeding references into the attitudeControllerCorrectRatePID.

Upon reviewing your library’s source code, it seems that no post-processing is done on the user’s input values, nor are the mentioned parameters modified when using cmdVel().

Thus, my question is: Can I expect the same behavior when using cmdVel(), provided that I configure the flightmode parameters correctly? Will this yield the same functionality as send_setpoint() in the commander class, allowing for angular velocity reference control?

If this is the case, I believe it would be beneficial to update the Python API documentation to clarify this for users who wish to send angular velocity reference commands.

Apologies if this is duplicate issue/discussion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions