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...