Git Product home page Git Product logo

bebop_ros_examples's Introduction

Bebop_ROS_Examples

This is a compilation of examples ready-to-use for Parrot's Bebop Drone, these examples depends of the following:

  • ROS Kinetic
  • Bebop Autonomy
  • Vicon Bridge
  • OpenCV

Mexican National Robotic Tournament 2018, autonomous drone category's best Color Follower added

These are the examples in this repository:

Simple Test

  • Package: bebop_simple_test
  • 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:

  • [0] SIMPLE TAKE-OFF & LANDING: It performs a quick takeoff and landing at the same place.
  • [1] SIMPLE ROUTINE: It performs a actions like elevate, descend, hover and rotating at certain headings.
  • [2] COMPLEX ROUTINE: It performs combined actions (elevate/descend as it rotates at certain heading).
  • [3] CONTINUOUS ROTATING: It keeps a specified altitude and rotates infinitely until < Ctrl + C > is pressed and lands.

Datalogger

  • Package: datalogger
  • Node: datalogger_node

This tool capture data from the drone sensors and programs and it exports them into a CSV file:

  • Altitude (Ultrasonic Sensor)
  • Odometry
  • PD Outputs

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

Odometry

  • Package: odometry
  • Node: odometry

This tool visualizes the different data acquired by Bebop Autonomy.

OpenCV Example

  • Package: opencv_example
  • Node: 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

  • Package: vicon_test
  • 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.

Vicon Wand

  • Package: vicon_wand
  • Node: vicon_wand_node

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

  • Package: vicon_mimo_bebop
  • Node: vicon_mimo_bebop_node

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

  • Package: bebop_color_follower
  • Node: 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.

bebop_ros_examples's People

Contributors

toton95 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.