This is a compilation of examples ready-to-use for Parrot's Bebop Drone, these examples depends of the following:
Mexican National Robotic Tournament 2018, autonomous drone category's best Color Follower added
These are the examples in this repository:
Node: bebop_test
This program allow to the user to take-off, landing and move across the space using the sensors in the drone. There are four test, and can be selected at the beginning of the source code:
Node: datalogger_node
This tool capture data from the drone sensors and programs and it exports them into a CSV file:
The output file can be easily used in many Spreadsheet programs and MATLAB.
This tool visualizes the different data acquired by Bebop Autonomy.
This program shows the capability to use the image stream from the drone and prepare it for its use with OpenCV.
Node: vicon_test_node
This program performs a basic routine with the vicon camera system using waypoints, which are configurable at the code, the drone always will keep its sight to the center of the world, to avoid any unpredictable behavior this last action will not be effectuated until the drone is outside of a deadzone area, also configurable.
*Note: To stop the program and land the drone push down and hold the Button[0] of your joystick, to know which button is, open a new terminal with the rostopic echo /joy command and press the buttons until it change from a state of 0 to 1.
This program need a second object created in the vicon system as a wand, the drone will try to move to the front of the wand and change its heading to match the face of the wand. Be aware of your surroundings!
*Note: To stop the program and land the drone push down and hold the Button[0] of your joystick, to know which button is, open a new terminal with the rostopic echo /joy command and press the buttons until it change from a state of 0 to 1.
This program requires a second Parrot Bebop 1 registered in the vicon system, refer to the configuration of a drone for the vicon programs. This program in particular, does not interact with the joystick, instead, it listen only the messages of take-off and land that are sent to the master drone (the default namespace bebop of the bebop driver), and send it to the slave drone too.
Any executable that uses Bebop Autonomy and a joystick to manually pilot the drone works, like the manual control node of Ric Fehr (visit: https://github.com/ricfehr3/updated_testing_demos/tree/master/bebop_control/src).
Just open a new terminal, follow the creators instructions and execute it.
Its important to give the drones a distance of at least three and a half feet between them using the Y- axis of the world as reference.
As the master drone moves across the space the slave drone will try to replicate its movements using the position and orientation of the first one, keeping a distance between them.
This program requires an object to be followed, it is able to track the object's color clicking on it at the camera window. Once selected and armed the Bebop drone will move to center its nose with the centroid of the object. Once the drone reach certain area of the object to calculate the distance between the drone and the object.
This program helped the SKYLAG team to won the second place of the National Robotic Tournament 2018 in Mexico at the autonomus drone category, it was also considered be the best solution of the challenge.