TOTON95 / Bebop_ROS_Examples

Bebop Drone flying programmatically with ROS and Bebop_Driver
MIT License
15 stars 7 forks source link
bebop bebop-autonomy bebop-ros bebop2 multiagent-systems opencv3 ros routines vicon wand

Bebop_ROS_Examples

BebopArtwork

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:

Simple Test

Datalogger

The output file can be easily used in many Spreadsheet programs and MATLAB.

Odometry

This tool visualizes the different data acquired by Bebop Autonomy.

OpenCV Example

This program shows the capability to use the image stream from the drone and prepare it for its use with OpenCV.

Vicon Test

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

Vicon Wand

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.

Vicon Mimo Bebop

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.

Bebop Color Follower

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.