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!
can I send attitude control command through crazyradio?
Re: can I send attitude control command through crazyradio?
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.
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.