How to control Crazyflie
As you have seen throughout this book, the cmd_vel
topic (the geometry_msgs/Twist
message) is the common control method for ROS robots, whether driving on the ground or flying in the air. For TurtleBot, mobile_base_commands/velocity
and cmd_vel_mux/input/navi
are used to move around the base. For Crazyflie, the crazyflie/cmd_vel
topic is published to control the flight of the quadrotor.
Within the crazyflie_autonomous
package, the crazyflie_controller
node (control_crazyflie.py
) determines the Crazyflie's control state and publishes the crazyflie/cmd_vel
topic. To launch the crazyflie_controller
node, the control_crazyflie.launch
file is used. This launch file also launches the crazyflie_window
node that observes the Crazyflie and takes action when it flies near the edge of the Kinect image frame. The function of this node is described in the subsequent section, using an observer mode.
Crazyflie control states
The crazyflie_controller
node has five states of flight...