can I send attitude control command through crazyradio?

Firmware/software/electronics/mechanics
Post Reply
Allen
Beginner
Posts: 20
Joined: Tue Nov 24, 2020 2:05 am

can I send attitude control command through crazyradio?

Post by Allen »

Hi,
I have used crazyflie2.1 and bigquad to build a bigger drone,
and now,
I want to use ROS to control crazyflie 2.1 to make some specific actions and posture, I know I can use ros and motion capture system and crazyradio to send position command to get the drone to a point in space, I wonder if I can send attitude control commands (I just want to achieve the target attitude, regardless of the position of the drone)?
(1)If crazyflie 2.1 supports it, what do I need to do? Is there any example I can use for reference?
And if I can send attitude control commands through ROS and crazyradio,can I send attitude control commands through cfclient directly?

(2)Can crazyflie2.1 reverse the rotation of the motor when the UAV needs to change the roll angle quickly?

(3)By the way,
When the big UAV I made was powered on, I tried to manually flip and modify the attitude of the crazyflie flight control board to make it level. Suddenly, the motor started to rotate and stopped in a second (I didn't control the remote control at that time). Have you ever encountered such a situation? Or what's wrong with my operation? Should I not move the flight control board when the UAV is powered on?

Thank you!
tobias
Bitcraze
Posts: 2339
Joined: Mon Jan 28, 2013 7:17 pm
Location: Sweden

Re: can I send attitude control command through crazyradio?

Post by tobias »

Hi!

I don't know all the answers but let me try to answer.

(1) The Crazyflie_cpp implementation that ROS uses does implement the sendSetpoint command. Maybe this can be used?

(2) No it can't and I don't think it will add that much, rather only reduce efficiency.

(3) If the system is armed (by default it is after startup) it might try to correct itself if there is some thrust enabled. You could add a flag to improve safety so you have to arm it by setting the system.forceArm paramter to 1 to arm it. See e.g. this forum post.
Post Reply