Giter Site home page Giter Site logo

drones's Introduction

Bearing control for formations of drones

Robotic project 2019 - École Centrale Nantes

Assumptions

It is necessary to have the following ROS packages : mavros, mavlink, aruco_detect, qualisys, fake_qualisys and plotjuggler

Clone the PX4/Firmware code, then build the SITL code

cd ~
git clone https://github.com/matheus220/Firmware.git
cd Firmware
git submodule update --init --recursive
make posix_sitl_default gazebo # Ctrl+C after gazebo starts

Source your environment : add to file .bashrc

source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware ~/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware:~/Firmware/Tools/sitl_gazebo

drones package

Clone and build drones package

cd ~/catkin_ws/src
git clone https://github.com/matheus220/drones.git
catkin build drones
source ~/catkin_ws/devel/setup.bash

Launch simulation

roslaunch drones multi_uav_mavros_sitl.launch

Some ERROR and WARN messages may appear on the console, however, this does not affect the simulation. This happens when the noises of the simulator's sensors are set to zero (here and here).

Launch controller

There are 3 control modes of simulation of the project: ground truth, ball detection and aruco marker detection and one experimental test mode.

Before launching the controller it is necessary to specify the type of marker that will be used, for this the lines animation.launch and multi_uav_mavros_sitl.launch must be modified to correspond to one of the lower options

<arg name="target" value=""/> # no objects to detect
<arg name="target" value="_ball"/> # ball detection object
<arg name="target" value="_aruco"/> # object detection aruco markers

The controller can then be launched

  • ground truth
roslaunch drones simulation_ground_truth.launch
  • ball detection
roslaunch drones simulation_ball.launch
  • aruco marker detection
roslaunch drones simulation_aruco.launch
  • experimental test

In this mode only 2 drones are simulated and a real drone is used, so remove one of the drones from the multi_uav_mavros_sitl.launch file.

Important: In the simulations the IDs of the drones are 1, 2 and 3. For the experimental test, IDs 4, 5 and 6 are used. Then, due to this change, it is necessary to comment two lines and uncomment two others in the following code snippets : animation_rviz.cpp and command_creator.cpp

roslaunch drones experimental_setup.launch
roslaunch drones experimental.launch

Bibliography

Fabrizio Schiano, Paolo Robuffo Giordano. Bearing rigidity maintenance for formations of quadrotor UAVs. ICRA 2017 - IEEE International Conference on Robotics and Automa- tion, May 2017, Singapore, Singapore. pp.1467 - 1474, 2017, http://www.icra2017.org/. <10.1109/ICRA.2017.7989175>.

drones's People

Contributors

matheus220 avatar matheuslessa 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.