Giter Site home page Giter Site logo

gsilano / crazys Goto Github PK

View Code? Open in Web Editor NEW
151.0 4.0 84.0 52.84 MB

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

License: Apache License 2.0

CMake 4.31% C++ 85.46% Python 10.04% C 0.19%
crazyflie-drone ros gazebo flight-control rotors

crazys's Introduction

Hi! I'm Giuseppe

Tenure Researcher at the Ricerca sul Sistema Energetico (RSE) and an associate researcher at the Czech Technical University (CTU) in Prague with a strong interest in software and control of robotics and embedded systems. What excites me most about this field are the challenging, multidisciplinary problems that require me to use my background in Computer Engineering, Computer Science, and Control Systems to develop integrated solutions.

Here you can find out more about me, my research activities, publications, and open-source projects.

Here is the link to my latest news

If you'd like to contact me, you can reach me at [email protected] or [email protected].

Find me around the web:

Credit: GitHub Readme Stats

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

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.

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

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

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.

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?

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.

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

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

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

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

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

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 ?

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?

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.

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

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

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?

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.

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.

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!

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.

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.

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

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.

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

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.

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

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?

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!

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?

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!

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

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

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.

Update Readme

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

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

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

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

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

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?

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.

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!

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

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.