Giter Club home page Giter Club logo

crazys's Introduction

License PRs Welcome first-timers-only All Contributors

CrazyS

CrazyS build status Build Status Build Status

CrazyS is an extension of the ROS package RotorS, aimed to modeling, developing and integrating the Crazyflie 2.0 nano-quadcopter in the physics based simulation environment Gazebo. The contribution can be also considered as a reference guide for expanding the RotorS functionalities in the Unmanned Aerial Vehicles (UAVs) field, by facilitating the integration of new aircraft.

Such simulation platform allows to understand quickly the behavior of the flight control system by comparing and evaluating different indoor and outdoor scenarios, with a details level quite close to reality. The proposed extension expands RotorS capabilities by considering the Crazyflie 2.0 physical model and its flight control system, as well (the 2018.01.1 firmware release).

A simple case study is considered (crazyflie2_hovering_example.launch) in order to show how the package works and the validity of the employed dynamical model together the control architecture of the quadrotor. The code is released under Apache license, thus making it available for scientific and educational activities.

The platform was developed using Ubuntu 16.04 and the Kinetic Kame version of ROS, but it is also fully compatible with Ubuntu 18.04 along with the Melodic Morenia distribution of ROS and Ubuntu 20.0.4 along with the Noetic Ninjemys release. Although backwards compatibility is guarantee, i.e., the platform is fully compatible with Indigo Igloo version of ROS and Ubuntu 14.04, such configuration is not recommended since the ROS support is expected to be closed in April 2019.

Below we provide the instructions necessary for getting started. See CrazyS' wiki for more instructions and examples.

If you are using this simulator for research purposes especially for your publication, please take a look at the Publications page. The page contains the core papers and all related works (using the platform). For the sake of simplicity, here the references to the core papers are reported.

@INBOOK{Silano2019ROSVolume4,
  author = {Silano, G. and Iannelli, L.},
  editor = {Koubaa, A.},
  title = {Robot Operating System (ROS): The Complete Reference (Volume 4)},
  chapter = {{CrazyS: a software-in-the-loop simulation platform for the Crazyflie 2.0 nano-quadcopter}},
  publisher = {Springer International Publishing},
  pages = {81--115},
  isbn = {978-3-030-20190-6},
  doi = {10.1007/978-3-030-20190-6_4},
  link = {https://link.springer.com/chapter/10.1007/978-3-030-20190-6_4},
  year = {2020}
}

@INPROCEEDINGS{Silano2018MED,
  author = {Silano, G. and Aucone, E. and Iannelli, L.},
  booktitle = {2018 26th Mediterranean Conference on Control and Automation (MED)},
  title = {{CrazyS: A Software-In-The-Loop Platform for the Crazyflie 2.0 Nano-Quadcopter}},
  year = {2018},
  pages = {352--357},
  doi = {10.1109/MED.2018.8442759},
  issn = {2473-3504},
  month = June,
  link = {https://ieeexplore.ieee.org/document/8442759},  
}

To facilitate the use of the repository, in addition to the installation instructions, the following are links to two virtual machines created using Oracle VirtualBox.

Ubuntu 16.04 with ROS Kinetic and Gazebo 7

Ubuntu 16.04 with ROS Kinetic and Gazebo 9

USER: user
PASS: password
Keyboard layout: Italian
Language: English

Installation Instructions - Ubuntu 20.04 with ROS Noetic and Gazebo 11

To use the code developed and stored in this repository some preliminary actions are needed. They are listed below.

  1. Install and initialize ROS Melodic desktop full, additional ROS packages, catkin-tools, and wstool:
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt install curl # if you haven't already installed curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
$ sudo apt update
$ sudo apt install ros-noetic-desktop-full ros-noetic-joy ros-noetic-octomap-ros ros-noetic-mavlink
$ sudo apt install ros-noetic-octomap-mapping ros-noetic-control-toolbox
$ sudo apt install python3-vcstool python3-catkin-tools protobuf-compiler libgoogle-glog-dev
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install python3-rosdep python3-wstool ros-noetic-ros libgoogle-glog-dev
  1. If you don't have ROS workspace yet you can do so by
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace  # initialize your catkin workspace
$ cd ~/catkin_ws/
$ catkin init
$ cd ~/catkin_ws/src
$ git clone -b dev/ros-noetic https://github.com/gsilano/CrazyS.git
$ git clone -b med18_gazebo9 https://github.com/gsilano/mav_comm.git
$ cd ~/catkin_ws
  1. Build your workspace with python_catkin_tools (therefore you need python_catkin_tools)
$ rosdep install --from-paths src -i
$ rosdep update
$ catkin config --cmake-args -DCMAKE_BUILD_TYPE=Release -DCATKIN_ENABLE_TESTING=False
$ catkin build
  1. Add sourcing to your .bashrc file
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

In the event the cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -u -e ode appear, the solution proposed in #40 temporany fixes the issue.

$ cp build/rotors_gazebo_plugins/libmav_msgs.so devel/lib/

Installation Instructions - Ubuntu 18.04 with ROS Melodic and Gazebo 9

To use the code developed and stored in this repository some preliminary actions are needed. They are listed below.

  1. Install and initialize ROS Melodic desktop full, additional ROS packages, catkin-tools, and wstool:
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt update
$ sudo apt install ros-melodic-desktop-full ros-melodic-joy ros-melodic-octomap-ros
$ sudo apt install python-wstool python-catkin-tools protobuf-compiler libgoogle-glog-dev
$ sudo apt install ros-melodic-control-toolbox ros-melodic-octomap-mapping ros-melodic-mavlink
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt install python-rosinstall python-rosinstall-generator build-essential
  1. If you don't have ROS workspace yet you can do so by
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace  # initialize your catkin workspace
$ cd ~/catkin_ws/
$ catkin init
$ cd ~/catkin_ws/src
$ git clone -b dev/ros-melodic https://github.com/gsilano/CrazyS.git
$ git clone -b med18_gazebo9 https://github.com/gsilano/mav_comm.git
$ cd ~/catkin_ws
  1. Build your workspace with python_catkin_tools (therefore you need python_catkin_tools)
$ rosdep install --from-paths src -i
$ sudo apt install ros-melodic-rqt-rotors ros-melodic-rotors-comm ros-melodic-rotors-description
$ sudo apt install ros-melodic-mav-msgs ros-melodic-rotors-control
$ sudo apt install ros-melodic-rotors-gazebo ros-melodic-rotors-evaluation
$ sudo apt install ros-melodic-rotors-joy-interface ros-melodic-rotors-hil-interface
$ sudo apt install ros-melodic-rotors-gazebo-plugins ros-melodic-mav-planning-msgs
$ rosdep update
$ catkin build
  1. Add sourcing to your .bashrc file
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
  1. Update the pre-installed Gazebo version. This fixes the issue with the error in REST request for accessing api.ignition.org
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt update
$ sudo apt install gazebo9 gazebo9-* ros-melodic-gazebo-*
$ sudo apt upgrade

In the event that the simulation does not start, the problem may be related to Gazebo and missing packages. Therefore, run the following commands. More details are reported in #25.

$ sudo apt-get remove ros-melodic-gazebo* gazebo*
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo9 gazebo9-* ros-melodic-gazebo-*
$ sudo apt upgrade

In the event the cmd /opt/ros/melodic/lib/gazebo_ros/gzserver -u -e ode appear, the solution proposed in #40 temporany fixes the issue.

$ cp build/rotors_gazebo_plugins/libmav_msgs.so devel/lib/

Installation Instructions - Ubuntu 16.04 with ROS Kinetic and Gazebo 7

  1. Install and initialize ROS kinetic desktop full, additional ROS packages, catkin-tools, and wstool:
$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
$ sudo apt-get update
$ sudo apt-get install ros-kinetic-desktop-full ros-kinetic-joy ros-kinetic-octomap-ros
$ sudo apt-get install ros-kinetic-mavlink python-catkin-tools protobuf-compiler
$ sudo apt-get install libgoogle-glog-dev ros-kinetic-control-toolbox ros-kinetic-octomap-mapping
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
  1. If you don't have ROS workspace yet you can do so by
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace  # initialize your catkin workspace
$ cd ~/catkin_ws/
$ catkin init
$ cd ~/catkin_ws/src
$ git clone https://github.com/gsilano/CrazyS.git
$ git clone -b crazys https://github.com/gsilano/mav_comm.git
$ cd ~/catkin_ws
$ rosdep install --from-paths src -i
$ catkin build

Note On OS X you need to install yaml-cpp using Homebrew brew install yaml-cpp.

  1. Build your workspace with python_catkin_tools (therefore you need python_catkin_tools)
$ cd ~/catkin_ws/
$ catkin build
  1. Add sourcing to your .bashrc file
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

Installation Instructions - Ubuntu 16.04 with ROS Kinetic and Gazebo 9

To use the code developed and stored in this repository with ROS Kinetic and Gazebo 9, first follow what is reported in the previous section. Then, use the instruction below.

  1. Remove Gazebo 7 and all related packages, and then install Gazebo 9:
$ sudo apt-get remove ros-kinetic-gazebo* gazebo*
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install gazebo9 gazebo9-* ros-kinetic-gazebo9-*
$ sudo apt upgrade

Note Remove ros-kinetic-gazebo9-* from the command sudo apt-get install gazebo9 gazebo9-* ros-kinetic-gazebo9-* if fetch problems should appear during the installation.

  1. Additional packages are required to build the package.
$ sudo apt-get install libeigen3-dev ros-kinetic-image-view ros-kinetic-parrot-arsdk libprotobuf-dev libprotoc-dev ros-kinetic-joy-teleop ros-kinetic-nav-msgs ros-kinetic-mav-msgs libyaml-cpp-dev ros-kinetic-nodelet ros-kinetic-mav-planning-msgs ros-kinetic-urdf ros-kinetic-image-transport ros-kinetic-roslint ros-kinetic-angles ros-kinetic-cv-bridge ros-kinetic-tf2-geometry-msgs ros-kinetic-xacro ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev ros-kinetic-camera-info-manager ros-kinetic-cmake-modules ros-kinetic-gazebo-msgs ros-kinetic-mavros-msgs ros-kinetic-control-toolbox ros-kinetic-mav-msgs ros-kinetic-libmavconn ros-kinetic-mavros ros-kinetic-octomap-msgs ros-kinetic-geographic-msgs ros-kinetic-mavlink ros-kinetic-mavros-extras ros-kinetic-mav-planning-msgs ros-kinetic-joy

Note Missing packages can be found and then installed by using the command rosdep check --from-paths src into the catkin_ws folder.

  1. Make Gazebo 9 compatible with ROS Kinetic Kame
$ cd ~
$ mkdir -p ros-kinetic-gazebo9-pkgs
$ cd ros-kinetic-gazebo9-pkgs
$ git clone -b feature/ros-kinetic-gazebo9-pkgs https://github.com/gsilano/BebopS.git
$ cd BebopS
$ chmod 777 gazebo9.sh
$ ./gazebo9.sh
$ cd ~
$ sudo rm -rf ros-kinetic-gazebo9-pkgs # delete the folder after the installation
  1. Clean the workspace and compile again the code
$ cd ~/catkin_ws
$ catkin clean # digit y when required
$ cd ~/catkin_ws/src/CrazyS
$ git checkout dev/gazebo9
$ cd ~/catkin_ws/src/mav_comm
$ git checkout med18_gazebo9
$ cd ~/catkin_ws
$ catkin build
$ source ~/.bashrc

Note In case the ERROR[rotors_gazebo_plugins] error is displayed, run the following commands

$ sudo apt-get install ros-kinetic-gazebo9-plugins
$ sudo apt-get install apt ros-kinetic-gazebo9-ros
$ sudo apt-get install apt ros-kinetic-gazebo9-dev

This guide can be used a basis for fixing what has been discussed in ethz-asl/rotors_simulator#506.

Installation Instructions - Ubuntu 14.04 with ROS Indigo

  1. Install and initialize ROS indigo desktop full, additional ROS packages, catkin-tools, and wstool:
$ sudo sh -c ’echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list’
$ sudo apt-key adv --keyserver hkp://ha.pool.skskeyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
$ sudo apt-get update
$ sudo apt-get install ros-indigo-desktop-full ros-indigo-joy
$ sudo apt-get install ros-indigo-octomap-ros python-wstool python-catkin-tools
$ sudo apt-get install protobuf compiler libgoogle-glog-dev
$ sudo rosdep init
$ rosdep update
$ echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
$ sudo apt-get install python-rosinstall
  1. If you don't have ROS workspace yet you can do so by
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace  # initialize your catkin workspace
$ catkin init

Note for setups with multiple workspaces please refer to the official documentation by replacing rosws by wstool.

  1. Get the simulator and additional dependencies
$ cd ~/catkin_ws/src
$ git clone https://github.com/gsilano/CrazyS.git
$ git clone -b crazys https://github.com/gsilano/mav_comm.git
$ cd ~/catkin_ws
$ rosdep install --from-paths src -i

Note On OS X you need to install yaml-cpp using Homebrew brew install yaml-cpp.

Note if you want to use wstool you can replace the above commands with console wstool set --git local_repo_name [email protected]:organization/repo_name.git Note if you want to build and use the gazebo_mavlink_interface plugin you have to get MAVROS as an additional dependency from link below. Follow the installation instructions provided there and build all of its packages prior to building the rest of your workspace. https://github.com/mavlink/mavros

  1. Build your workspace with python_catkin_tools (therefore you need python_catkin_tools)
$ cd ~/catkin_ws/
$ catkin init  # If you haven't done this before.
$ catkin build

Note if you are getting errors related to "future" package, you may need python future: console sudo apt-get install python-pip pip install --upgrade pip pip install future

  1. Add sourcing to your .bashrc file
$ echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
$ source ~/.bashrc

Basic Usage

Launching the simulation is quite simple, so as customizing it: it is enough to run in a terminal the command

$ roslaunch rotors_gazebo crazyflie2_hovering_example.launch

Note The first run of gazebo might take considerably long, as it will download some models from an online database. To avoid any problems when starting the simulation for the first time, you may run the gazebo command in the terminal line.

By default the state estimator is disabled since on-board Crazyflie's sensors are replaced by the odometry one. For running the simulation by taking into account the Crazyflie's IMU and the complementary filter, it is enough to give a command that turns on the flag enable state estimator:

$ roslaunch rotors_gazebo crazyflie2_hovering_example.launch enable_state_estimator:=true

The visual outcome will see the nano-quadcopter taking off after 5s (time after which the hovering example node publishes the trajectory to follow) and flying one meter above the ground, at the same time keeping near to zero the position components along x and y-axis.

The whole process is the following: the desired trajectory coordinates (x_r, y_r, z_r and \psi_r) are published by the hovering_example node on the topic command/trajectory, to whom the position_controller node (i.e., the Crazyflie controller) is subscribed. The drone state (odometry_sensor1/odometry topic) and the references are used to run the control strategy designed for the position tracking. The outputs of the control algorithm consist into the actuation commands (\omega_1, \omega_2, \omega_3 and \omega_4) sent to Gazebo (command/motor_speed) for the physical simulation and the corresponding graphical rendering, so to visually update the aircraft position and orientation. When the state estimator is turned off, the drone orientation (\phi_k, \theta_k and \psi_k) and angular velocities (p_k, q_k and r_k) published on the topic odometry are replaced by the ideal values coming from the odometry sensor.

There are some basic launch files where you can load the different multicopters with additional sensors. They can all be found in ~/catkin_ws/src/CrazyS/rotors_gazebo/launch. Such scenarios are better explained in the RotorS repository.

The world_name argument looks for a .world file with a corresponding name in ~/catkin_ws/src/CrazyS/rotors_gazebo/worlds. By default, all launch files, with the exception of those that have the world name explicitly included in the file name, use the empty world described in basic.world.

Using the csvFilesStoring variable is possible to enable (true) or disable (false) the data storage. The log files are saved in the home directory (the path can be easily changed modifying the position_controller.cpp file). The recording time can be set via the csvFilesStoringTime while the user account can be set via the user_account variable. Of course, the log features can be used with and without the complementary filter.

$ roslaunch rotors_gazebo crazyflie2_hovering_example.launch csvFilesStoring:=true

An alternative controller is available on the repository. For running the simulation by using the Internal Model Control as described in #27, #28, #29, and #48 simply run

$ roslaunch rotors_gazebo crazyflie2_internal_model_controller.launch

or

$ roslaunch rotors_gazebo crazyflie2_internal_model_controller_vi_sensor.launch

while a simple swarm example is available at

$ roslaunch rotors_gazebo crazyflie2_swarm_hovering_example.launch

Note There is also a draft of the Mellinger's controller implementation in the package. This is a NOT WORKING example. As soon as the problems are resolved, a working version will be made available.

The package also provides a launch file for piloting the Crazyflie using a PC joystick. To run the simulation simple copy and paste the command in the following in a terminal window

$ roslaunch rotors_gazebo crazyflie2_with_joy.launch

Note As explained in #90, the recent updates in the xacro file format may break the simulation. To avoid these issue, simply downgrade the version of xacro to the 1.13.3 version. Remove xacro and xacro-1.14.11.egg-info directories from /opt/ros/noetic/lib/python3/dist-packages folder using sudo rm -r ... command and install the 1.13.3 version of xacro using pip3 install xacro==1.13.3. This avoid further modifications to the launch files.

Gazebo Version

At a minimum, Gazebo v2.x is required (which is installed by default with ROS Indigo). However, it is recommended to install at least Gazebo v5.x for full functionality, although the platform is fully compatible with the Gazebo 9. Before running the script, consider the following limitations:

  1. iris.sdf can only be generated with Gazebo >= v3.0, as it requires use of the gz sdf ... tool. If this requirement is not met, you will not be able to use the Iris MAV in any of the simulations.
  2. The Gazebo plugins GazeboGeotaggedImagesPlugin, LidarPlugin and the LiftDragPlugin all require Gazebo >= v5.0, and will not be built if this requirement is not met.

Bugs & Feature Requests

Please report bugs and request features by using the Issue Tracker. Furthermore, please see the Contributing.md file if you plan to help us to improve CrazyS features.

YouTube videos

In this section a video providing the effectiveness of the platform and how it works is reported. Further videos can be found in the related YouTube channel. Have fun! :)

CrazyS, an extension of the ROS package RotorS aimed to modeling, developing and integrating the Crazyflie 2.0 nano-quadcopter

crazys's People

Contributors

growupboron avatar gsilano avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

crazys's Issues

Waypoint navigation of crazyflie2

I am trying waypoint navigation of Crazyflie2 using the following code:

the hovering part is working properly but it is not going two the next points and taking too much time(settling time). pls if someone could help me

hovering example incorrect

Hi, gsilano
I apologize for confusing you with a difficult answer to understand in the #50 issue.

I wanted to check where the problem is, so I tried the following for:

  1. Delete all ros related packages
  2. Delete crazyswarm related code and workspace
  3. CrazyS reinstall
    (I did all of ubuntu 16.04 with ROS kinetic and gazebo7 installation process according to your README.md)
  4. execute example code:
roslaunch rotors_gazebo crazyflie2_hovering_example.launch
roslaunch rotors_gazebo crazyflie2_hovering_example.launch enable_state_estimator:=true

Example code execution was completed both before and after 1b3eb1a .

But still the problem is not solved and the simulation seems to be inaccurate.
Is there any information I need to give you more to solve this?

Confusing Behavior of Internal Model Controller

I have just setup the environment and started running some small tests.

First of all, I ran into similar issue as described in #43, where I simply changed the target from (0, 0, 1) to (1, 1, 1) and it just does not work.

It is mentioned in #51 that crazyflie2_internal_model_controller.launch is working correctly. I gave that a shot, but when I changed the position_final in rotors_gazebo/resources/spline_trajectory.yaml from {x: 0, y: 0, z: 1} to {x: 1, y: 1, z: 1}, the drone still take off and stabilize around (0, 0, 1). I also see the debug printout consistently showing position errors on the X and Y axis.

Is there anything I could be missing?

Ground Truth Odometry&IMU vs. Generic Odometry&IMU

I walked across this problem with the odometry and IMU in the simulation.

There is one generic odometry sensor in the file mav_generic_odometry_sensor.gazebo. And then there is another one in the crazyflie2_base.xacro, which is the ground truth odometry sensor. There are also 2 IMU sensors. One is the MPU-9250 IMU and the other one is the ground truth IMU.

The problem I had was that when I disabled the ground truth sensor, the vehicle became unstable. However, I couldn't find anywhere in the code where the ground truth topics were subscribed.

The strange thing is when I changed the ground truth topics to arbitrary names, the vehicle remained stable. But as long as I remove the sensors, it became unstable.

Also, when I removed the generic odometry sensor, and subscribe to the ground truth topics directly instead of 'odometry_sensor1', the vehicle became unstable as well.

Somehow the genraic sensors and the ground truth sensors are interconnected and I couldn't find the connection.

I notice that the childframes of the two odometry sensors are different.

I am wondering if I missed something that's going on internally using the ground truth odometry and IMU. Thanks!

Flight interface

Hi, gsilano
I'm sorry to disturb you, but I have the following questions to solve:

  1. I changed the desired_position from(0,0,1) to (-10,-10,2) in hovering_example.cpp,but only works on the z axis.
    2.I want to use this project to do drone navigation, how can I perform continuous position control or speed control?

Multiranger

Hello, I am trying to do things using the multi ranger and flow deck of crazyflie. Is there any source you could share which might be useful since I did not find any packages for these decks compatible with ROS.

Ubuntu 18.04 with ROS Melodic and Gazebo 9 --- hovering example not working

I have just installed ubuntu 18.04 and followed the instructions reported in the readme file. All the steps run successfully and I can run the hovering example. The problem is that the crazyflie doesn't move at all. Nothing happens in the simulation. I tried to apply some forces to the crazyflie to see some changes in the rqt_plots but nothing happens. The rqt_graph at the moment of the simulation doesn't show any incoming connection to gazebo node.
Thank you for your attention

hovering
2

Adding a camera to crazyS

Hello @gsilano ,

I want to add a camera to the crazyFlie, any idea how to do this?

I found the [Adding a Camera to CrazyS] part in the wiki, but can you explain more or just point me to a reference if any.

Thank you

changing roll pitch and yaw of the drone

Hi Giuseppe
Sorry to trouble you again, but is there a way to change the roll, pitch and yaw of the drone in the hovering example without making making changes in the final point where the crazyflie tries to reach ?
I want it to reach a point, but i want to send random roll, pitch and yaw values while it is trying to reach its final destination and test my reinforcement learning algorithm there. I have tried my algorithm on various drones, but testing it here is a little difficult for me. I want some degree of randomness on the flight path (if not randomness, some deviation while it tries to reach a point in space) in the hovering example.

Update Readme

Please update the readme with instructions for Ubuntu 18 and ROS Melodic.

Possibility to disable built-in control and replace it with customized algorithm

Hi @gsilano ,

Thank you so much for this great work. It does help robotics community a lot to conduct research on such classic nano-quadcopter.

Right now we are trying to do the crazyflie simulation with crazyS. However, we'd like not to use the built-in control strategy but a reinforcement learning based method. More specifically, we want to rely on the quadcopter model implemented in crazyS to evolve the state (even it will collide to the ground), and collect such data to gradually learn a control, not automatically control it using built-in PID.

So I'm wondering if it's possibile or flexible in your code to disable such built-in control, maybe reference generator as well, to allow the operations mentioned above? I'd appreciate it so much if you can give any suggestions.

Thank you! Look forward to your reply.

improve simulation real time factor

I launch crazyflie2_hovering_example from rotors_gazebo package on Ubuntu 16.04. The real time factor of simulation in Gazebo is 0.52 while all my CPU cores are not saturated as shown bellow. I was wondering how could I make simulation to use full processing capacity of my computer in order to improve (increase) real time factor?
image

Joystick control for Crazyflie

The roll_pitch_yawrate_thrust_controller_node used by joystick control does not work for Crazyflie2 like it does for the other drone simulations available.

How should I proceed with setting up an environment where I'm able to control a Crazyflie using a joystick?

Few typos in the new readme

Hi everyone!
I am very happy that @gsilano did these new compatibility improvements to the package. Thank you very much!
I have just tried to follow the instruction for using CrazyS with gazebo9 on ubuntu 16.04. There are a few typos in the Ubuntu 16.04 with ROS Kinetic and Gazebo 7 paragraph.
In the first step:

  • correct the last command. the package 'pythonrosinstall-generator' should be 'python-rosinstall-generator'

In the second step:

  • after the 'catkin init' command you should execute 'cd ~/catkin_ws/src'

For what regards the Ubuntu 16.04 with ROS Kinetic and Gazebo 9 paragraph

  • the bash script gazebo9.sh has a typo. Instead of ~/ you should use ./. You can find a corrected version attached.

  • after the ./gazebo9.sh instruction you should execute cd ~ and finally delete the file.

Hope to hear from you soon! :D

gazebo9.txt

UAV Trajectory Control Problem

Hello There!
We've written a publisher node which publishes to /crazyflie2/command/trajectory topic in type of MultiDOFJointTrajectory(). When we publish a trajectory via our node, we can see the publish command on terminal which we run roslaunch as "[ INFO] [1616880768.235356078, 23.238000000]: PositionController got first MultiDOFJointTrajectory message.". But the UAV is not going the point we published. It moves randomly. How can we solve this problem? Or Is there anything you can recommend for UAV controls?
Also we tried to publish a waypoint to UAV with using "rosrun rotors_gazebo waypoint_publish 5 5 1 0 __ns:=crazyflie2" but the result was the same.

Unable to move in XY direction with DroneState message

Hi

with the dronestate message I'm trying to achieve a point, but since the orientation reference (+ angular_vel + angular_acc) are zero, and only position X-Y (or +linear_vel) is changing, I'm unable to move the vehicle. The linear z movement is working properly.

How can I move the CrazyFlie to an XYZ point, with DroneState message ?

How to create a swarm scenario with CrazyS

In the following the message received by Arslan to whom I cannot reply by email (Undelivered Mail Returned to Sender).

I hope you are in the best of your health and spirit. I've been using your CrazyS GitHub repository for building swarms of crazyflie2 nano quadrotors in Gazebo.

I've one question regarding this and would be grateful to you if you shed some light. In order to spawn multiple Crazyflie I am assigning each with different namespace same as you did for firefly_swarm_hovering_example. However, it did not work for crazyflie_hovering_example.

I also have checked the rqt_graph and both "hovering example node" and position_controller_node do not communicate if I changed namespace in the launch file.

I attaching a snippet of my launch file and rqt_graph here with email and would be grateful if you can give some comments.

rqt_graph_carzyflie
launchfile_diff_namespace

Crazyflie physical model in simulation

Hello,

Thanks for sharing CrazyS! In the README.md you mention "...expands RotorS capabilities by considering the Crazyflie 2.0 physical model...". I was wondering if by this you mean that you changed the dynamic equations - equations (1) - (9) for in [1]- modelled in RotorS for drone flight to fit better the motion of Crazyfly? or you mean that you identified the parameters of the drone and used those parameters but without modifying the dynamic equations RotorS is simulating?

I am interested in changing the dynamic equations RotorS is simulating in order to consider other physical quantities, and wanted to use your repository for guidance. I checked the files but did not find anything similar. If you did changed the dynamic equations, would you mind guiding me on which files to refer to in your repo?

Thanks!

Juan

[1] Koubaa, A. (2017). Robot Operating System (ROS) - The Complete Reference-Vol1 (Vol. 707). https://doi.org/10.1007/978-3-319-54927-9 Part VII : RotorS A Modular Gazebo MAV Simulator Framework

Controller does not stop crazyflie when arrived at the goal pose!

Hello there,

First of all, thanks for your effort in making a simulator that works with gazebo and crazyflie. I have a project related to quadrotor swarms and I've been observing Crazyflie for some time now. I have built your code (fix-controller branch) and seen that when hovering, the responses are quite well; however, when I publish a waypoint the quadrotor does not stop at the goal pose and continues to fly in the direction it had to arrive the goal. I changed the goal in hovering_example.cpp file to (2.0, 0.0, 1.0) to see how it will respond. Can this be a problem (I don't think so since a similar code is in waypoint_publisher.cpp)?

Secondly, the quadrotor moves quite slow compared to other models like firefly. I guess its because crazyflie has a small and light structure and the motors are not powerful to respond fast like firefly does. Is this a bug (this is an issue with RotorS simulator as well)?

Thanks in advance...

Burak

My Simple Questions

Hello Giuseppe, I have two question.

When I launch the "crazyflie2_swarm_hovering_example.launch" file, the UAV's take altitude then they wait. Although I published right-left and up-down movement topics, they don't move any. I only want that I will publish to take altitude topic, then the UAV will take altitude. How can I do that? Are there any documentation for beginners? Are there any documentation that explaining all topics and all nodes?

Also, I want to use python while controlling UAV's. Is it possible?

I hope you help, best,
Tevhit.

hovering example with enable_state_estimator=true

Hello,

I've recently installed CrazyS and have a problem with the hovering example.

I'm on Ubuntu 18.04 and have Gazebo 9 installed.

The hovering example works fine but when I enable the state estimator the rqt graph windows don't open and the drone goes up steadily along z, but then loses control and crashes.

Any suggestions ?

Thank you in advance,

Adrien

Wiki Interfacing CrazyS through MATLAB --- Crazyflie simulink example

I write this post to warn other users and @gsilano about some bugs with the simulink implementation of the crazyflie controller.

  1. In the wiki a folder with a matlab script and a simulink model is provided. For some mismatches in the variables names between these two files you can't use them. Here you can find a corrected version of the simulink model.
    CrazyflieController_RST.zip

  2. You must edit crazyflie2_without_controller.launch setting the argument "paused" to false otherwise the matlab script won't work.

Flying Height limitation

Hi @gsilano ,

Thanks for your work on this useful quadrotor simulated package.

Now I have a question when I fly crazyflie using "basic_crazyflie.world" and the launch file "crazyflie2_without_controller.launch". I send four same motor speed as command and try to make the drone fly vertically. I can see it take off successfully, but as it go on flying higher until around 7m high, it suddenly start to flip and seems like collide with something invisible and start to fall down.

I feel very wired about this. In my code I do not set any height bound. And the basic crazyflie world actually has nothing but a single drone. What would be the possible reason behine this?

Look forward to your help! Thank you!

Build error with TravisCI

Buil error with TravisCI when compiling CrazyS with Ubuntu 16.04 and ROS Kinetic. Specially, the message is displayed

ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
rotors_simulator: Cannot locate rosdep definition for [rotors_hil_interface]

It appears when running the command rosdep install --from-paths src -i

Odd behavior of position and attitude controller as well as the physical model

Hi @gsilano,

Thank you for this great package for simulating the Crazyflie MAV. I am running Ubuntu 18.04 with ROS Melodic and Gazebo9 and have installed and run your hovering example.

I am however experiencing some problems once I try controlling the X and Y directions. If I just change the reference from (0,0,1) to (1,1,1) i get the following response

plot

Which is obviously not what we would want to see. Besides the position problem I would also expect that drone would have moved much further when at these roll and pitch angles for so long which could indicate a problem in the physical model.

To investigate a bit further made a new controller node which is based of your position_controller.cpp and using the crazyflie_onboard_controller.cpp. The controller uses your HoveringControl(...) to make it hover at 1 meters height and then it accepts roll and pitch values from the user instead of from a position controller. Running this I get the following response when trying to control the pitch angle:

plot

Which looks like there could be something with the attitude controller and maybe it's gains.
Also it only manages to move 20 cm in ~7 seconds of tilting 5 degrees which doesn't seem correct.

Thank you for any help or insight you can provide.

Ubuntu 16.04 with ROS Kinetic and Gazebo 9 --- crazyflie2_hovering_example.launch

Hi everyone!
I have just followed the instructions for installing CrazyS with the gazebo9 and ubuntu 16.04 (please see this issue for possible corrections) but I can't execute the basic usage example of the readme file. This error appears:
You must call ros::init() before creating the first NodeHandle
I googled it but i couldn't find an easy solution.
@gsilano did you have the same problem when testing this installation?
Thank you for your collaboration

exampleError

cmake errors for rotors_gazebo_plugins

Hello,

I am trying to compile CrazyS for Ubuntu 18.04 and got the following errors. Any idea how can I fix this?

CMake Error at /home/xx/catkin_ws/src/CrazyS/rotors_gazebo_plugins/CMakeLists.txt:427 (target_link_libraries):
  Error evaluating generator expression:

    $<TARGET_PROPERTY:UUID::UUID,INTERFACE_INCLUDE_DIRECTORIES>

  Target "UUID::UUID" not found.


CMake Error:
  Error evaluating generator expression:

    $<TARGET_PROPERTY:UUID::UUID,INTERFACE_INCLUDE_DIRECTORIES>

  Target "UUID::UUID" not found.

problem with crazyflie2 hovering example

Hi!

Thank you for this package for simulation.

I am running Ubuntu 16.04 with ROS Kinetic and Gazebo7 right now.
However, when I ran the hovering example, the output seems to be incorrect.

I tested these examples:

roslaunch rotors_gazebo crazyflie2_hovering_example.launch
roslaunch rotors_gazebo crazyflie2_hovering_example.launch enable_state_estimator:=true
roslaunch rotors_gazebo crazyflie2_internal_model_controller.launch

and the only example I think is the correct result is the internal model launcher.

crazyflie2_hovering_example.launch takes off, but doesn't stop at 1m and loses control and moves randomly.

And in the case of enable_state_estimator: = true, the propeller is running slowly, but does not take off.

In all three cases, no error message was displayed.
Is there any other information I can refer to as something?

Thanks in advance for the help.

Missing dependencies in Joystick interface

The newly added joystick interface for crazyflie (fixing #30) uses mav_msgs::RollPitchYawrateThrustCrazyflie. This message type is also used in rotors_control/roll_pitch_yawrate_thrust_crazyflie.h.

I feel this is a typo and the message type which was supposed to be used was mav_msgs::RollPitchYawrateThrust.

catkin build has an error regarding `rotors_gazebo_plugins`

Hello, I am using ros-kinetic on ubuntu-16.04.
I want to build this package. During the catkin build, i get the following error:

catkin build
--------------------------------------------------------
Profile:                     default
Extending:          [cached] /opt/ros/kinetic
Workspace:                   /home/adi/crazys_ws
--------------------------------------------------------
Build Space:        [exists] /home/adi/crazys_ws/build
Devel Space:        [exists] /home/adi/crazys_ws/devel
Install Space:      [unused] /home/adi/crazys_ws/install
Log Space:          [exists] /home/adi/crazys_ws/logs
Source Space:       [exists] /home/adi/crazys_ws/src
DESTDIR:            [unused] None
--------------------------------------------------------
Devel Space Layout:          linked
Install Space Layout:        None
--------------------------------------------------------
Additional CMake Args:       None
Additional Make Args:        None
Additional catkin Make Args: None
Internal Make Job Server:    True
Cache Job Environments:      False
--------------------------------------------------------
Whitelisted Packages:        None
Blacklisted Packages:        None
--------------------------------------------------------
Workspace configuration appears valid.
--------------------------------------------------------
[build] Found '13' packages in 0.0 seconds.                                                                                                                                                                                           
[build] Package table is up to date.                                                                                                                                                                                                  
Starting  >>> mav_msgs                                                                                                                                                                                                                
Starting  >>> rotors_comm                                                                                                                                                                                                             
Starting  >>> rotors_description                                                                                                                                                                                                      
Starting  >>> rotors_evaluation                                                                                                                                                                                                       
Starting  >>> rqt_rotors                                                                                                                                                                                                              
Finished  <<< rotors_description                   [ 0.1 seconds ]                                                                                                                                                                    
Finished  <<< rqt_rotors                           [ 0.1 seconds ]                                                                                                                                                                    
Finished  <<< rotors_evaluation                    [ 0.1 seconds ]                                                                                                                                                                    
Finished  <<< rotors_comm                          [ 0.2 seconds ]                                                                                                                                                                    
Finished  <<< mav_msgs                             [ 0.3 seconds ]                                                                                                                                                                    
Starting  >>> mav_planning_msgs                                                                                                                                                                                                       
Starting  >>> rotors_control                                                                                                                                                                                                          
Starting  >>> rotors_hil_interface                                                                                                                                                                                                    
Starting  >>> rotors_joy_interface                                                                                                                                                                                                    
Finished  <<< rotors_hil_interface                 [ 0.1 seconds ]                                                                                                                                                                    
Finished  <<< mav_planning_msgs                    [ 0.4 seconds ]                                                                                                                                                                    
Finished  <<< rotors_joy_interface                 [ 0.5 seconds ]                                                                                                                                                                    
Finished  <<< rotors_control                       [ 0.4 seconds ]                                                                                                                                                                    
Starting  >>> rotors_gazebo_plugins                                                                                                                                                                                                   
______________________________________________________________________________________________________________________________________________________________________________________________________________________________________
Errors     << rotors_gazebo_plugins:make /home/adi/crazys_ws/logs/rotors_gazebo_plugins/build.make.002.log                                                                                                                            
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Header.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:32:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:32:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:32,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /usr/include/gazebo-7/gazebo/msgs/pose.pb.h:27:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:31,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:32,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
/usr/include/gazebo-7/gazebo/msgs/pose.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /usr/include/gazebo-7/gazebo/msgs/pose.pb.h:27:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:32,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:31,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/vector3d.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /usr/include/gazebo-7/gazebo/msgs/pose.pb.h:28:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:31,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:32,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /usr/include/gazebo-7/gazebo/msgs/pose.pb.h:28:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:32,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
 #error This file was generated by an older version of protoc which is
  ^
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please
 #error incompatible with your Protocol Buffer headers.  Please
  ^
/usr/include/gazebo-7/gazebo/msgs/quaternion.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.
 #error regenerate this file with a newer version of protoc.
  ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.h:32:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h: In member function ‘const gazebo::msgs::Pose& gz_geometry_msgs::PoseWithCovariance::pose() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovariance.pb.h:195:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Pose’
                          : *::gazebo::msgs::Pose::internal_default_instance();
                             ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.h:31:0,
                 from /home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc:5:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Twist::linear() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:196:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Twist::angular() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:241:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h: In member function ‘const gazebo::msgs::Pose& gz_geometry_msgs::PoseStamped::pose() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:250:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Pose’
                          : *::gazebo::msgs::Pose::internal_default_instance();
                             ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Wrench::force() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:196:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Wrench::torque() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.h:241:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.cc: In static member function ‘static void gz_std_msgs::protobuf_ConnectRosToGazeboTopic_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/ConnectRosToGazeboTopic.pb.cc:79:46: error: ‘class gz_std_msgs::ConnectRosToGazeboTopicDefaultTypeInternal’ has no member named ‘Shutdown’
   _ConnectRosToGazeboTopic_default_instance_.Shutdown();
                                              ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.cc: In static member function ‘static void gz_mav_msgs::protobuf_CommandMotorSpeed_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/CommandMotorSpeed.pb.cc:74:40: error: ‘class gz_mav_msgs::CommandMotorSpeedDefaultTypeInternal’ has no member named ‘Shutdown’
   _CommandMotorSpeed_default_instance_.Shutdown();
                                        ^
In file included from /home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:5:0:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Twist::linear() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:196:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h: In member function ‘const gazebo::msgs::Vector3d& gz_geometry_msgs::Twist::angular() const’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.h:241:29: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
                          : *::gazebo::msgs::Vector3d::internal_default_instance();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_Point_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Point.pb.cc:78:28: error: ‘class gz_geometry_msgs::PointDefaultTypeInternal’ has no member named ‘Shutdown’
   _Point_default_instance_.Shutdown();
                            ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_PoseWithCovarianceStamped_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseWithCovarianceStamped.pb.cc:76:48: error: ‘class gz_geometry_msgs::PoseWithCovarianceStampedDefaultTypeInternal’ has no member named ‘Shutdown’
   _PoseWithCovarianceStamped_default_instance_.Shutdown();
                                                ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_TwistWithCovariance_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/TwistWithCovariance.pb.cc:76:42: error: ‘class gz_geometry_msgs::TwistWithCovarianceDefaultTypeInternal’ has no member named ‘Shutdown’
   _TwistWithCovariance_default_instance_.Shutdown();
                                          ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_PoseStamped_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:76:34: error: ‘class gz_geometry_msgs::PoseStampedDefaultTypeInternal’ has no member named ‘Shutdown’
   _PoseStamped_default_instance_.Shutdown();
                                  ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_PoseStamped_2eproto::TableStruct::InitDefaultsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:85:19: error: ‘gazebo::msgs::protobuf_pose_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_pose_2eproto::InitDefaults();
                   ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:90:7: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Pose’
       ::gazebo::msgs::Pose::internal_default_instance());
       ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc: In function ‘void gz_geometry_msgs::protobuf_PoseStamped_2eproto::AddDescriptorsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:110:19: error: ‘gazebo::msgs::protobuf_pose_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_pose_2eproto::AddDescriptors();
                   ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_Wrench_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:76:29: error: ‘class gz_geometry_msgs::WrenchDefaultTypeInternal’ has no member named ‘Shutdown’
   _Wrench_default_instance_.Shutdown();
                             ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_Wrench_2eproto::TableStruct::InitDefaultsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:84:19: error: ‘gazebo::msgs::protobuf_vector3d_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_vector3d_2eproto::InitDefaults();
                   ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:87:7: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
       ::gazebo::msgs::Vector3d::internal_default_instance());
       ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:89:7: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
       ::gazebo::msgs::Vector3d::internal_default_instance());
       ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc: In function ‘void gz_geometry_msgs::protobuf_Wrench_2eproto::AddDescriptorsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Wrench.pb.cc:108:19: error: ‘gazebo::msgs::protobuf_vector3d_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_vector3d_2eproto::AddDescriptors();
                   ^
make[2]: *** [CMakeFiles/mav_msgs.dir/ConnectRosToGazeboTopic.pb.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/mav_msgs.dir/CommandMotorSpeed.pb.cc.o] Error 1
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_Twist_2eproto::TableStruct::Shutdown()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:76:28: error: ‘class gz_geometry_msgs::TwistDefaultTypeInternal’ has no member named ‘Shutdown’
   _Twist_default_instance_.Shutdown();
                            ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc: In static member function ‘static void gz_geometry_msgs::protobuf_Twist_2eproto::TableStruct::InitDefaultsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:84:19: error: ‘gazebo::msgs::protobuf_vector3d_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_vector3d_2eproto::InitDefaults();
                   ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:87:7: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
       ::gazebo::msgs::Vector3d::internal_default_instance());
       ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:89:7: error: ‘internal_default_instance’ is not a member of ‘gazebo::msgs::Vector3d’
       ::gazebo::msgs::Vector3d::internal_default_instance());
       ^
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc: In function ‘void gz_geometry_msgs::protobuf_Twist_2eproto::AddDescriptorsImpl()’:
/home/adi/crazys_ws/build/rotors_gazebo_plugins/Twist.pb.cc:108:19: error: ‘gazebo::msgs::protobuf_vector3d_2eproto’ has not been declared
   ::gazebo::msgs::protobuf_vector3d_2eproto::AddDescriptors();
                   ^
make[2]: *** [CMakeFiles/mav_msgs.dir/Point.pb.cc.o] Error 1
make[2]: *** [CMakeFiles/mav_msgs.dir/PoseWithCovarianceStamped.pb.cc.o] Error 1
make[2]: *** [CMakeFiles/mav_msgs.dir/TwistWithCovariance.pb.cc.o] Error 1
make[2]: *** [CMakeFiles/mav_msgs.dir/PoseStamped.pb.cc.o] Error 1
make[2]: *** [CMakeFiles/mav_msgs.dir/Wrench.pb.cc.o] Error 1
make[2]: *** [CMakeFiles/mav_msgs.dir/Twist.pb.cc.o] Error 1
make[1]: *** [CMakeFiles/mav_msgs.dir/all] Error 2
make: *** [all] Error 2
cd /home/adi/crazys_ws/build/rotors_gazebo_plugins; catkin build --get-env rotors_gazebo_plugins | catkin env -si  /usr/bin/make --jobserver-fds=6,7 -j; cd -
......................................................................................................................................................................................................................................
Failed     << rotors_gazebo_plugins:make           [ Exited with code 2 ]                                                                                                                                                             
Failed    <<< rotors_gazebo_plugins                [ 1.5 seconds ]                                                                                                                                                                    
Abandoned <<< rotors_gazebo                        [ Unrelated job failed ]                                                                                                                                                           
[build] Summary: 9 of 11 packages succeeded.                                                                                                                                                                                          
[build]   Ignored:   2 packages were skipped or are blacklisted.                                                                                                                                                                      
[build]   Warnings:  None.                                                                                                                                                                                                            
[build]   Abandoned: 1 packages were abandoned.                                                                                                                                                                                       
[build]   Failed:    1 packages failed.                                                                                                                                                                                               
[build] Runtime: 2.7 seconds total.   

Can someone please let me know what should be done to resolve this build error?
I have followed the readme.md file in this repository.

Thank you for your help in advance.

The version of protoc i am using is libprotoc 3.7.1

crazyflie2_without_controller.launch without MAV appearing

Hello @gsilano, I am having some trouble with the supplied launch file in this MATLAB tutorial. After running the crazyflie2_without_controller.launch (minor change to file to be, paused = false and verbose = true), I receive no errors/warnings. The MAV does not appear in Gazebo, is this normal? I am able to successfully launch the other example in CrazyS (roslaunch rotors_gazebo crazyflie2_hovering_example.launch) without any problems. I am using Ubuntu 18.04 / Melodic / Gazebo 9 per the tutorial in CrazyS.

I am using the command below to execute the launch:

roslaunch -p 1234 ~/catkin_crazys_ws/src/CrazyS/rotors_gazebo/launch/crazyflie2_without_controller.launch

If I am correct, I am forcing the master port to be 1234 with this command, and in the 'main.m' I changed line 13 (since its both my machine running Gazebo and ROS) to be my machines URL and port 1234. I was required to comment/un-comment the supplied 'main.m' to be have the lines 17 commented, line 18 un-commented, line 19 commented, and line 20 un-commented. (I believe this is due to the structure of the custom messages that was required to be added.)

Therefore that section of code looks like this:

%Topics will be used during the simulation
% sub = rossubscriber('/crazyflie2/odometry_sensor1/odometry'); % contains the drone state
sub = rossubscriber('/crazyflie2/odometry_sensor1/odometry','nav_msgs/Odometry'); % contains the drone state
% sub2 = rossubscriber('/crazyflie2/motor_speed');
sub2 = rossubscriber('/crazyflie2/motor_speed','mav_msgs/Actuators');
[pubCmd, msgCmd] = rospublisher('/crazyflie2/command/motor_speed','mav_msgs/Actuators');

The MATLAB 'main.m' script hangs/pauses at line 188 which is this command:

msgS = receive(sub);

I believe this is fairly expected since the Gazebo appears to not have launched correctly and the MATLAB cannot talk to Gazebo.

Thanks for your help in advance.

problem installing CrazyS in Ubuntu 18.04 using catkin_make

Hi, i am getting an error in hovering_example_spline_swarm.cpp file while using catkin_make after cloning.

[ 70%] Building CXX object CrazyS/rotors_control/CMakeFiles/crazyflie_complementary_filter.dir/src/library/crazyflie_complementary_filter.cpp.o
[ 70%] Linking CXX shared library /home/lethalwick/crazys_ws/devel/lib/libcrazyflie_complementary_filter.so
[ 70%] Built target crazyflie_complementary_filter
Scanning dependencies of target lee_position_controller
[ 70%] Building CXX object CrazyS/rotors_control/CMakeFiles/lee_position_controller.dir/src/library/lee_position_controller.cpp.o
[ 70%] Linking CXX shared library /home/lethalwick/crazys_ws/devel/lib/liblee_position_controller.so
[ 70%] Built target lee_position_controller
Scanning dependencies of target position_controller
[ 71%] Building CXX object CrazyS/rotors_control/CMakeFiles/position_controller.dir/src/library/position_controller.cpp.o
[ 71%] Linking CXX shared library /home/lethalwick/crazys_ws/devel/lib/libposition_controller.so
[ 71%] Built target position_controller
Scanning dependencies of target crazyflie_onboard_controller
[ 71%] Building CXX object CrazyS/rotors_control/CMakeFiles/crazyflie_onboard_controller.dir/src/library/crazyflie_onboard_controller.cpp.o
[ 72%] Linking CXX shared library /home/lethalwick/crazys_ws/devel/lib/libcrazyflie_onboard_controller.so
[ 72%] Built target crazyflie_onboard_controller
Scanning dependencies of target lee_position_controller_node
[ 73%] Building CXX object CrazyS/rotors_control/CMakeFiles/lee_position_controller_node.dir/src/nodes/lee_position_controller_node.cpp.o
[ 73%] Linking CXX executable /home/lethalwick/crazys_ws/devel/lib/rotors_control/lee_position_controller_node
[ 73%] Built target lee_position_controller_node
Scanning dependencies of target waypoint_publisher
[ 75%] Building CXX object CrazyS/rotors_gazebo/CMakeFiles/waypoint_publisher.dir/src/nodes/waypoint_publisher.cpp.o
[ 75%] Linking CXX executable /home/lethalwick/crazys_ws/devel/lib/rotors_gazebo/waypoint_publisher
[ 75%] Built target waypoint_publisher
Scanning dependencies of target hovering_example_spline_swarm
[ 76%] Building CXX object CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/src/nodes/hovering_example_spline_swarm.cpp.o
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp: In function ‘int main(int, char**)’:
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:60:30: error: ‘DroneState’ is not a member of ‘mav_msgs’
nh.advertise<mav_msgs::DroneState>(
^~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:60:30: note: suggested alternative: ‘EigenDroneState’
nh.advertise<mav_msgs::DroneState>(
^~~~~~~~~~
EigenDroneState
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:60:30: error: ‘DroneState’ is not a member of ‘mav_msgs’
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:60:30: note: suggested alternative: ‘EigenDroneState’
nh.advertise<mav_msgs::DroneState>(
^~~~~~~~~~
EigenDroneState
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:61:52: error: no matching function for call to ‘ros::NodeHandle::advertise< >(const char [12], int)’
mav_msgs::default_topics::DRONE_STATE, 10);
^
In file included from /opt/ros/melodic/include/ros/ros.h:45:0,
from /home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/include/rotors_gazebo/parameters_ros.h:21,
from /home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:23:
/opt/ros/melodic/include/ros/node_handle.h:249:15: note: candidate: template ros::Publisher ros::NodeHandle::advertise(const string&, uint32_t, bool)
Publisher advertise(const std::string& topic, uint32_t queue_size, bool latch = false)
^~~~~~~~~
/opt/ros/melodic/include/ros/node_handle.h:249:15: note: template argument deduction/substitution failed:
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:61:52: error: template argument 1 is invalid
mav_msgs::default_topics::DRONE_STATE, 10);
^
In file included from /opt/ros/melodic/include/ros/ros.h:45:0,
from /home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/include/rotors_gazebo/parameters_ros.h:21,
from /home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:23:
/opt/ros/melodic/include/ros/node_handle.h:315:13: note: candidate: template ros::Publisher ros::NodeHandle::advertise(const string&, uint32_t, const SubscriberStatusCallback&, const SubscriberStatusCallback&, const VoidConstPtr&, bool)
Publisher advertise(const std::string& topic, uint32_t queue_size,
^~~~~~~~~
/opt/ros/melodic/include/ros/node_handle.h:315:13: note: template argument deduction/substitution failed:
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:61:52: error: template argument 1 is invalid
mav_msgs::default_topics::DRONE_STATE, 10);
^
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:70:13: error: ‘DroneState’ is not a member of ‘mav_msgs’
mav_msgs::DroneState trajectory_msg, trajectory_msg_pre;
^~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:70:13: note: suggested alternative: ‘EigenDroneState’
mav_msgs::DroneState trajectory_msg, trajectory_msg_pre;
^~~~~~~~~~
EigenDroneState
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:71:3: error: ‘trajectory_msg’ was not declared in this scope
trajectory_msg.header.stamp = ros::Time::now();
^~~~~~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:71:3: note: suggested alternative: ‘trajectory_pub’
trajectory_msg.header.stamp = ros::Time::now();
^~~~~~~~~~~~~~
trajectory_pub
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:99:15: error: ‘eigenDroneFromStateToMsg’ is not a member of ‘mav_msgs’
mav_msgs::eigenDroneFromStateToMsg(&eigen_reference, trajectory_msg);
^~~~~~~~~~~~~~~~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:99:15: note: suggested alternative: ‘EigenDroneStateDeque’
mav_msgs::eigenDroneFromStateToMsg(&eigen_reference, trajectory_msg);
^~~~~~~~~~~~~~~~~~~~~~~~
EigenDroneStateDeque
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:106:7: error: ‘trajectory_msg_pre’ was not declared in this scope
trajectory_msg_pre = trajectory_msg;
^~~~~~~~~~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:106:7: note: suggested alternative: ‘trajectory_pub’
trajectory_msg_pre = trajectory_msg;
^~~~~~~~~~~~~~~~~~
trajectory_pub
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:120:30: error: ‘trajectory_msg_pre’ was not declared in this scope
trajectory_pub.publish(trajectory_msg_pre);
^~~~~~~~~~~~~~~~~~
/home/lethalwick/crazys_ws/src/CrazyS/rotors_gazebo/src/nodes/hovering_example_spline_swarm.cpp:120:30: note: suggested alternative: ‘trajectory_pub’
trajectory_pub.publish(trajectory_msg_pre);
^~~~~~~~~~~~~~~~~~
trajectory_pub
CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/build.make:62: recipe for target 'CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/src/nodes/hovering_example_spline_swarm.cpp.o' failed
make[2]: *** [CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/src/nodes/hovering_example_spline_swarm.cpp.o] Error 1
CMakeFiles/Makefile2:10051: recipe for target 'CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/all' failed
make[1]: *** [CrazyS/rotors_gazebo/CMakeFiles/hovering_example_spline_swarm.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
lethalwick@the:~/crazys_ws$

Could you please help me with this. thanks a lot.

Unknown substitution command [eval enable_state_estimator == false]

Hello team,

I followed all instructions step by step to install CrazyS and get started with Crazyflie development. But whenever I am trying to launch "crazyflie2_hovering_example.launch enable_state_estimator:=true', I am getting below error

"Unknown substitution command [eval enable_state_estimator == false]. Valid commands are ['find', 'env', 'optenv', 'anon', 'arg']
The traceback for the exception was written to the log file"

Can you please help me out here. I am using ROS Indigo. Even if I try to launch crazyflie2_hovering_example.launch without additional argument, I still get same error.

When I am trying to launch any other file from same folder, some of them gives me error saying “No namespace found”, whereas some (like fixed wing) gets launched correctly.

Appreciate your help
Regards

Ubuntu 16.04 + ROS Kinetic + Gazebo 9 Fails Hovering Example

After having Gazebo7 work I decided to update to Gazebo9, however receive an error when running the following command: roslaunch rotors_gazebo crazyflie2_hovering_example.launch

Terminal Output:
[INFO] [1587323757.901873, 0.000000]: Loading model XML from ros parameter [INFO] [1587323757.903844, 0.000000]: Waiting for service /gazebo/spawn_urdf_model [FATAL] [1587323758.130571246]: You must call ros::init() before creating the first NodeHandle Couldn't find an AF_INET address for [] Couldn't find an AF_INET address for [] [ERROR] [1587323758.131875188]: [registerPublisher] Failed to contact master at [:0]. Retrying...

Crazyflie Roll/Pitch/Yaw controller

Hello! Thank you for putting in all the hard work to build a Crazyflie simulator with Gazebo - without it my research project would be MUCH harder.

I need to use a roll/pitch/yaw/thrust controller with the Crazyflie, and I see that you've emulated the CrazyFlie's builtin controller for your position_controller, but I'm not sure how to use that.

In other words: How could I use the crazyflie_onboard_controller so that I can accept roll/pitch/yaw/thrust messages (like those sent with crazyflie_ros) and have the model behave just like the actual firmware would make it?

ROS kinetic: ImportError: No module named terminal_color

After updating ROS packages via apt commands, I am getting the following error when running catkin_make

$ catkin_make
Traceback (most recent call last):
 File "/opt/ros/kinetic/bin/catkin_make", line 13, in <module>
   from catkin.terminal_color import disable_ANSI_colors, fmt
 File "/opt/ros/kinetic/lib/python2.7/dist-packages/catkin/terminal_color.py", line 2, in <module>
   from catkin_pkg.terminal_color import *  # noqa
ImportError: No module named terminal_color
$ apt show ros-kinetic-catkin
Package: ros-kinetic-catkin
Version: 0.7.14-0xenial-20180809-132632-0800
Priority: extra
Section: misc
Maintainer: Dirk Thomas <[email protected]>
Installed-Size: 608 kB
Depends: cmake, google-mock, libgtest-dev, python-catkin-pkg (>> 0.4.3), python-empy, python-nose
Homepage: http://www.ros.org/wiki/catkin
Download-Size: 112 kB
APT-Manual-Installed: no
APT-Sources: http://packages.ros.org/ros/ubuntu xenial/main amd64 Packages
Description: Low-level build system macros and infrastructure for ROS.

I have no other version of catkin on my system. I am running Ubuntu 16.04

co-simulation simulink gazebo --- help

Hi guys!
I created this issue because I can't use the tools of the matlab robotics toolbox which allows you to perform co-simulation between simulink and gazebo here.
I used the hovering example reported in the readme and, as suggested in the guide, I added the tag for the gazebo plugin in the basic_crazyflie.world file. This way I can establish the connection between gazebo and simulink but when I start the simulink simulation gazebo can't restart its time. I obtain the following error

backward_error

Have anyone faced this problem?
Thank you!

Which parameter in gazebo will ultimately control uav motion?

Hi,

I'm working with your repository for thesis too.
I calculated the motor speed by changing the lee_position_control.cpp control method and posted it on the topic of / uav / motor_speed. After that I could read the correct result in gazebo / command / motor_speed and It ’s normal except the plane doesn’t move.
So i want to know which parameter in gazebo will ultimately control uav motion?

DroneState.h is missing in rotors_gazebo/hovering_example_spline.h

Hi,

I'm working with your repository for my master's thesis. I have to reproduce aggressive trajectory like flip with the crazyflie 2.1 and having a simulator like this is really useful. I know that you have not implemented yet the trajectory following but I notice that in the branch feature/controller-ros-melodic you have implemented the mellinger controller. However I try to compile it and it seems that a file is missing (mav_msgs/DroneState.h)

thanks for your work

Not loading world file from RotorS package

Hello,

I am on Melodic + 18.04.

I try to change the world file for the MAV hovering example, but I can only load the basic world and Yosemite one.

could you please suggest to me what adaption do I need to load the outdoor world.

ratio between motor speed and thrust

Hi @gsilano @lianne @growupboron @EmanueleAucone

Thank you so much for your work. It helps a lot for crazyflie simulation!

Recently I was working on transferring the trained model from other simulation to the crazyS. However, I was wondering where I can find the ratio or maybe a formula F such that I can use it to do the transformation "motor_speed = F(thrust)". Which conversion formula are you using in CrazyS?

Thanks!

Parameters in crazyflie2.xacro

Looking at the parameters in the file crazyflie2.xacro I noticed that the drag coefficient is the same of the Iris drone which is huger that the crazyflie2. is the parameter correct? In addition also the other parameters are significantly different from those in the Forster

Octomap generation

Thank you for this great package for simulating MAV. I am running Ubuntu 16.04 with ROS kinetic and Gazebo9. The simulator is working perfectly. I have added a plugin of octomap in my .world file but the service is not activated.

I look forward to hearing from you. Thank you for your valuable time.

Arch Linux with ROS Melodic and Gazebo 10 -- no movement

I am trying to make this work with this setup. To my knowledge I've installed all the dependencies and I've understood how message passing works in the hovering example.

Running the hovering example launches gazebo succesfully, messages look to be exchanged succesfully, but there is no movement from the drone after the waypoint is published. The drone simply remains motionless. Any pointers would be appreciated.

Here is the build.log from catkin build. There are also some warnings there about empy but I didn't think it'd be much of a problem.

Find below the log from the example, which looks OK minus a warning about a deprecated function.

➜  catkin_wc roslaunch rotors_gazebo crazyflie2_hovering_example.launch
... logging to /home/koma/.ros/log/6a3842ae-6ead-11ea-892d-10c37b95af0c/roslaunch-TheMothership-26486.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: in-order processing became default in ROS Melodic. You can drop the option.
/opt/ros/melodic/lib/python3.8/site-packages/roslaunch/loader.py:412: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  data = yaml.load(text)
started roslaunch server http://TheMothership:42757/

SUMMARY
========

PARAMETERS
 * /crazyflie2/position_controller_node/attitude_gain_ki/phi: 0.0349
 * /crazyflie2/position_controller_node/attitude_gain_ki/theta: 0.0349
 * /crazyflie2/position_controller_node/attitude_gain_kp/phi: 0.0611
 * /crazyflie2/position_controller_node/attitude_gain_kp/theta: 0.0611
 * /crazyflie2/position_controller_node/csvFilesStoring: False
 * /crazyflie2/position_controller_node/csvFilesStoringTime: 15.0
 * /crazyflie2/position_controller_node/enable_state_estimator: False
 * /crazyflie2/position_controller_node/hovering_gain_kd/z: 373
 * /crazyflie2/position_controller_node/hovering_gain_ki/z: 3.15
 * /crazyflie2/position_controller_node/hovering_gain_kp/z: 70
 * /crazyflie2/position_controller_node/inertia/xx: 1.657171e-05
 * /crazyflie2/position_controller_node/inertia/xy: 0.0
 * /crazyflie2/position_controller_node/inertia/xz: 0.0
 * /crazyflie2/position_controller_node/inertia/yy: 1.657171e-05
 * /crazyflie2/position_controller_node/inertia/yz: 0.0
 * /crazyflie2/position_controller_node/inertia/zz: 2.9261652e-05
 * /crazyflie2/position_controller_node/mass: 0.027
 * /crazyflie2/position_controller_node/rate_gain_ki/p: 0
 * /crazyflie2/position_controller_node/rate_gain_ki/q: 0
 * /crazyflie2/position_controller_node/rate_gain_ki/r: 95.6839
 * /crazyflie2/position_controller_node/rate_gain_kp/p: 1000
 * /crazyflie2/position_controller_node/rate_gain_kp/q: 1000
 * /crazyflie2/position_controller_node/rate_gain_kp/r: 1000
 * /crazyflie2/position_controller_node/rotor_configuration/0/angle: -3.14159265359
 * /crazyflie2/position_controller_node/rotor_configuration/0/arm_length: 0.046
 * /crazyflie2/position_controller_node/rotor_configuration/0/direction: -1.0
 * /crazyflie2/position_controller_node/rotor_configuration/0/rotor_force_constant: 1.28192e-08
 * /crazyflie2/position_controller_node/rotor_configuration/0/rotor_moment_constant: 0.005964552
 * /crazyflie2/position_controller_node/rotor_configuration/1/angle: 1.57079632679
 * /crazyflie2/position_controller_node/rotor_configuration/1/arm_length: 0.046
 * /crazyflie2/position_controller_node/rotor_configuration/1/direction: 1.0
 * /crazyflie2/position_controller_node/rotor_configuration/1/rotor_force_constant: 1.28192e-08
 * /crazyflie2/position_controller_node/rotor_configuration/1/rotor_moment_constant: 0.005964552
 * /crazyflie2/position_controller_node/rotor_configuration/2/angle: 3.14159265359
 * /crazyflie2/position_controller_node/rotor_configuration/2/arm_length: 0.046
 * /crazyflie2/position_controller_node/rotor_configuration/2/direction: -1.0
 * /crazyflie2/position_controller_node/rotor_configuration/2/rotor_force_constant: 1.28192e-08
 * /crazyflie2/position_controller_node/rotor_configuration/2/rotor_moment_constant: 0.005964552
 * /crazyflie2/position_controller_node/rotor_configuration/3/angle: -1.57079632679
 * /crazyflie2/position_controller_node/rotor_configuration/3/arm_length: 0.046
 * /crazyflie2/position_controller_node/rotor_configuration/3/direction: 1.0
 * /crazyflie2/position_controller_node/rotor_configuration/3/rotor_force_constant: 1.28192e-08
 * /crazyflie2/position_controller_node/rotor_configuration/3/rotor_moment_constant: 0.005964552
 * /crazyflie2/position_controller_node/user_account: giuseppe
 * /crazyflie2/position_controller_node/xy_gain_ki/x: 5.72958
 * /crazyflie2/position_controller_node/xy_gain_ki/y: -5.72958
 * /crazyflie2/position_controller_node/xy_gain_kp/x: 3.594
 * /crazyflie2/position_controller_node/xy_gain_kp/y: -3.594
 * /crazyflie2/position_controller_node/yaw_gain_ki/yaw: 0
 * /crazyflie2/position_controller_node/yaw_gain_kp/yaw: 0.0914
 * /crazyflie2/robot_description: <?xml version="1....
 * /crazyflie2/tf_prefix: 
 * /gazebo/enable_ros_network: True
 * /rosdistro: melodic
 * /rosversion: 1.14.3
 * /use_sim_time: True

NODES
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)
  /crazyflie2/
    hovering_example (rotors_gazebo/hovering_example)
    joint_state_publisher (joint_state_publisher/joint_state_publisher)
    position_controller_node (rotors_control/position_controller_node)
    quaternion_to_rpy (rotors_gazebo/quaternion_to_rpy)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    spawn_crazyflie2 (gazebo_ros/spawn_model)

auto-starting new master
process[master]: started with pid [26497]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 6a3842ae-6ead-11ea-892d-10c37b95af0c
process[rosout-1]: started with pid [26507]
started core service [/rosout]
process[gazebo-2]: started with pid [26514]
process[gazebo_gui-3]: started with pid [26516]
process[crazyflie2/spawn_crazyflie2-4]: started with pid [26521]
process[crazyflie2/position_controller_node-5]: started with pid [26525]
[ INFO] [1585150168.883067230]: Started position controller
process[crazyflie2/hovering_example-6]: started with pid [26527]
[ INFO] [1585150168.887735026]: Got param 'user_account': giuseppe
[ INFO] [1585150168.888530591]: Got param 'csvFilesStoring': 0
[ INFO] [1585150168.888835357]: Got param 'csvFilesStoringTime': 15.000000
[ INFO] [1585150168.893081567]: Got param 'enable_state_estimator': 0
process[crazyflie2/robot_state_publisher-7]: started with pid [26532]
process[crazyflie2/joint_state_publisher-8]: started with pid [26537]
[ INFO] [1585150168.908906982]: Started hovering example.
[ INFO] [1585150168.909726553]: Wait for 1 second before trying to unpause Gazebo again.
process[crazyflie2/quaternion_to_rpy-9]: started with pid [26539]
[ INFO] [1585150169.207817714]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1585150169.209420010]: waitForService: Service [/gazebo_gui/set_physics_properties] has not been advertised, waiting...
[ INFO] [1585150169.248267394]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1585150169.249062280]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[INFO] [1585150169.442521, 0.000000]: Loading model XML from ros parameter robot_description
[INFO] [1585150169.447799, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[ INFO] [1585150169.914299979]: Unpaused the Gazebo simulation.
[ INFO] [1585150169.914344841]: Wait for 15 seconds to let the Gazebo GUI show up.
[ INFO] [1585150169.939644353, 0.025000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1585150169.963495079, 0.049000000]: Physics dynamic reconfigure ready.
[INFO] [1585150170.051158, 0.125000]: Calling service /gazebo/spawn_urdf_model
[INFO] [1585150170.209848, 0.238000]: Spawn status: SpawnModel: Successfully spawned entity
[crazyflie2/spawn_crazyflie2-4] process has finished cleanly
log file: /home/koma/.ros/log/6a3842ae-6ead-11ea-892d-10c37b95af0c/crazyflie2-spawn_crazyflie2-4*.log
[ INFO] [1585150187.638864568, 15.123000000]: Stop waiting.
[ INFO] [1585150187.639955674, 15.124000000]: Publishing waypoint on namespace /crazyflie2: [0.000000, 0.000000, 1.000000].
[ INFO] [1585150187.640127342, 15.124000000]: PositionController got first MultiDOFJointTrajectory message.
[crazyflie2/hovering_example-6] process has finished cleanly
log file: /home/koma/.ros/log/6a3842ae-6ead-11ea-892d-10c37b95af0c/crazyflie2-hovering_example-6*.log

^C[crazyflie2/quaternion_to_rpy-9] killing on exit
[crazyflie2/joint_state_publisher-8] killing on exit
[crazyflie2/robot_state_publisher-7] killing on exit
[crazyflie2/position_controller_node-5] killing on exit
[gazebo-2] killing on exit
[gazebo_gui-3] killing on exit
terminate called after throwing an instance of 'boost::wrapexcept<boost::lock_error>'
  what():  boost: mutex lock failed in pthread_mutex_lock: Invalid argument
[gazebo_gui-3] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done

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.