ethz-asl / rotors_simulator

RotorS is a UAV gazebo simulator
1.25k stars 763 forks source link

Problem with mav_hovering_example.launch example #358

Open ptrkfry opened 7 years ago

ptrkfry commented 7 years ago

I tried to launch the mav_hovering_example.launch file with the yosemite world. The world opens and the MAV is shown, but it doesn't hover. The propellers don't even turn. When I try it with the basic world it works (see output for both cases below). The problem seems to have something to do with the function "void gazebo::GazeboMotorModel::CreatePubsAndSubs()" as this doesn't seem to get the same output in the working example as in the failing one. Maybe some sort of a timing problem? My laptop is not the newest (only i3 processor).

Fail with yosemite world:

`patrik@patrik-Inspiron-1564:~/catkin_ws$ roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=yosemite ... logging to /home/patrik/.ros/log/c7bc68a6-fde5-11e6-8a17-f07bcb56532d/roslaunch-patrik-Inspiron-1564-21878.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.

started roslaunch server http://patrik-Inspiron-1564:34818/

SUMMARY

PARAMETERS

NODES /firefly/ hovering_example (rotors_gazebo/hovering_example) joint_state_publisher (joint_state_publisher/joint_state_publisher) lee_position_controller_node (rotors_control/lee_position_controller_node) robot_state_publisher (robot_state_publisher/robot_state_publisher) spawn_firefly (gazebo_ros/spawn_model) / gazebo (gazebo_ros/gzserver) gazebo_gui (gazebo_ros/gzclient)

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

setting /run_id to c7bc68a6-fde5-11e6-8a17-f07bcb56532d process[rosout-1]: started with pid [21906] started core service [/rosout] process[gazebo-2]: started with pid [21930] process[gazebo_gui-3]: started with pid [21934] process[firefly/spawn_firefly-4]: started with pid [21938] process[firefly/lee_position_controller_node-5]: started with pid [21939] process[firefly/hovering_example-6]: started with pid [21944] process[firefly/robot_state_publisher-7]: started with pid [21949] process[firefly/joint_state_publisher-8]: started with pid [21961] [ INFO] [1488307404.499080849]: Started hovering example. [ INFO] [1488307404.502147440]: Wait for 1 second before trying to unpause Gazebo again. Gazebo multi-robot simulator, version 2.2.3 Copyright (C) 2012-2014 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org

spawn_model script started Msg Waiting for master.Gazebo multi-robot simulator, version 2.2.3 Copyright (C) 2012-2014 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org

[ INFO] [1488307405.078095696]: Finished loading Gazebo ROS API Plugin. Msg Waiting for master [ INFO] [1488307405.080895629]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting... [INFO] [WallTime: 1488307405.086980] [0.000000] Loading model xml from ros parameter Msg Connected to gazebo master @ http://127.0.0.1:11345 Msg Publicized address: 192.168.1.192 [INFO] [WallTime: 1488307405.096968] [0.000000] Waiting for service /gazebo/spawn_urdf_model [ INFO] [1488307405.503613797]: Wait for 1 second before trying to unpause Gazebo again. [INFO] [WallTime: 1488307405.703723] [0.000000] Calling service /gazebo/spawn_urdf_model

Msg Connected to gazebo master @ http://127.0.0.1:11345 Msg Publicized address: 192.168.1.192 [INFO] [WallTime: 1488307409.629761] [0.000000] Spawn status: SpawnModel: Successfully spawned model [ INFO] [1488307409.631825282]: Unpaused the Gazebo simulation. Dbg _model = firefly Dbg _model = firefly Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg CreatePubsAndSubs() called. Dbg GazeboControllerInterface creating Gazebo publisher on "firefly/gazebo/command/motor_speed". Dbg Subscribing to Gazebo topic "~/firefly/command/motor_speed". Dbg CreatePubsAndSubs() called. [ INFO] [1488307409.745626006, 0.030000000]: waitForService: Service [/gazebo/set_physics_properties] is now available. [ INFO] [1488307409.852495952, 0.130000000]: Physics dynamic reconfigure ready. [firefly/spawn_firefly-4] process has finished cleanly log file: /home/patrik/.ros/log/c7bc68a6-fde5-11e6-8a17-f07bcb56532d/firefly-spawn_firefly-4*.log [ INFO] [1488307414.741866974, 5.010000000]: Publishing waypoint on namespace //firefly: [0.000000, 0.000000, 1.000000]. `

Working example with basic world:

`patrik@patrik-Inspiron-1564:~/catkin_ws$ roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=basic ... logging to /home/patrik/.ros/log/acd44cbe-0431-11e7-b9a3-f07bcb56532d/roslaunch-patrik-Inspiron-1564-17353.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.

started roslaunch server http://patrik-Inspiron-1564:42217/

SUMMARY

PARAMETERS

NODES /firefly/ hovering_example (rotors_gazebo/hovering_example) joint_state_publisher (joint_state_publisher/joint_state_publisher) lee_position_controller_node (rotors_control/lee_position_controller_node) robot_state_publisher (robot_state_publisher/robot_state_publisher) spawn_firefly (gazebo_ros/spawn_model) / gazebo (gazebo_ros/gzserver) gazebo_gui (gazebo_ros/gzclient)

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

setting /run_id to acd44cbe-0431-11e7-b9a3-f07bcb56532d process[rosout-1]: started with pid [17381] started core service [/rosout] process[gazebo-2]: started with pid [17405] process[gazebo_gui-3]: started with pid [17409] process[firefly/spawn_firefly-4]: started with pid [17413] process[firefly/lee_position_controller_node-5]: started with pid [17414] process[firefly/hovering_example-6]: started with pid [17425] process[firefly/robot_state_publisher-7]: started with pid [17441] process[firefly/joint_state_publisher-8]: started with pid [17444] [ INFO] [1488999708.251793813]: Started hovering example. [ INFO] [1488999708.256484913]: Wait for 1 second before trying to unpause Gazebo again. Gazebo multi-robot simulator, version 2.2.3 Copyright (C) 2012-2014 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org

Msg Waiting for master.spawn_model script started Gazebo multi-robot simulator, version 2.2.3 Copyright (C) 2012-2014 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org

[ INFO] [1488999708.836493242]: Finished loading Gazebo ROS API Plugin. Msg Waiting for master [ INFO] [1488999708.842205217]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting... Msg Connected to gazebo master @ http://127.0.0.1:11345 Msg Publicized address: 192.168.1.192 [INFO] [WallTime: 1488999708.858429] [0.000000] Loading model xml from ros parameter [INFO] [WallTime: 1488999708.868901] [0.000000] Waiting for service /gazebo/spawn_urdf_model [ INFO] [1488999709.258030136]: Wait for 1 second before trying to unpause Gazebo again. [INFO] [WallTime: 1488999709.477917] [0.000000] Calling service /gazebo/spawn_urdf_model

Msg Connected to gazebo master @ http://127.0.0.1:11345 Msg Publicized address: 192.168.1.192 [INFO] [WallTime: 1488999709.722817] [0.000000] Spawn status: SpawnModel: Successfully spawned model Dbg _model = firefly Dbg _model = firefly [firefly/spawn_firefly-4] process has finished cleanly log file: /home/patrik/.ros/log/acd44cbe-0431-11e7-b9a3-f07bcb56532d/firefly-spawn_firefly-4*.log [ INFO] [1488999710.260468766]: Unpaused the Gazebo simulation. Dbg Connecting Gazebo topic "~/firefly/motor_speed" to ROS topic "firefly/motor_speed". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/joint_states" to ROS topic "firefly/joint_states". Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/motor_speed/0" to ROS topic "firefly/motor_speed/0". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg Connecting Gazebo topic "~/firefly/motor_speed/1" to ROS topic "firefly/motor_speed/1". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg Connecting Gazebo topic "~/firefly/motor_speed/2" to ROS topic "firefly/motor_speed/2". Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. Dbg CreatePubsAndSubs() called. Dbg GazeboControllerInterface creating Gazebo publisher on "firefly/gazebo/command/motor_speed". Dbg Subscribing to Gazebo topic "~/firefly/command/motor_speed". Dbg CreatePubsAndSubs() called. Dbg Connecting Gazebo topic "~/firefly/motor_speed/3" to ROS topic "firefly/motor_speed/3". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/motor_speed/4" to ROS topic "firefly/motor_speed/4". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/motor_speed/5" to ROS topic "firefly/motor_speed/5". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "firefly/gazebo/command/motor_speed" to ROS topic "firefly/gazebo/command/motor_speed". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/imu" to ROS topic "firefly/imu". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/imu" to ROS topic "firefly/ground_truth/imu". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/pose" to ROS topic "firefly/ground_truth/pose". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/pose_with_covariance" to ROS topic "firefly/ground_truth/pose_with_covariance". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/position" to ROS topic "firefly/ground_truth/position". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/odometry" to ROS topic "firefly/ground_truth/odometry". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/ground_truth/transform" to ROS topic "firefly/ground_truth/transform". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/odometry_sensor1/pose" to ROS topic "firefly/odometry_sensor1/pose". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/odometry_sensor1/pose_with_covariance" to ROS topic "firefly/odometry_sensor1/pose_with_covariance". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/odometry_sensor1/position" to ROS topic "firefly/odometry_sensor1/position". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/odometry_sensor1/odometry" to ROS topic "firefly/odometry_sensor1/odometry". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Dbg Connecting Gazebo topic "~/firefly/odometry_sensor1/transform" to ROS topic "firefly/odometry_sensor1/transform". Dbg GzConnectGazeboToRosTopicMsgCallback() finished. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/ground_truth/transform, deleting message. This warning is printed only once. [ INFO] [1488999710.424433075, 0.030000000]: waitForService: Service [/gazebo/set_physics_properties] is now available. [ INFO] [1488999710.507090532, 0.110000000]: Physics dynamic reconfigure ready. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/odometry_sensor1/pose, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/odometry_sensor1/pose_with_covariance, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/odometry_sensor1/position, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/odometry_sensor1/transform, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/odometry_sensor1/odometry, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/broadcast_transform, deleting message. This warning is printed only once. Warning [Publisher.cc:134] Queue limit reached for topic /gazebo/default/firefly/command/motor_speed, deleting message. This warning is printed only once. [ INFO] [1488999715.445669955, 5.010000000]: Publishing waypoint on namespace //firefly: [0.000000, 0.000000, 1.000000]. ^C[firefly/joint_state_publisher-8] killing on exit [firefly/robot_state_publisher-7] killing on exit [firefly/hovering_example-6] killing on exit [firefly/lee_position_controller_node-5] killing on exit [gazebo-2] killing on exit [gazebo_gui-3] killing on exit pure virtual method called terminate called without an active exception Aborted (core dumped) [rosout-1] killing on exit [master] killing on exit shutting down processing monitor... ... shutting down processing monitor complete done `

burrimi commented 7 years ago

on slow machines it can happen that the waypoint is published before everything is ready. Can you try the following command after launching the hovering example and waiting for a while: rosrun rotors_gazebo waypoint_publisher 0 0 1 0 __ns:=firefly

ptrkfry commented 7 years ago

Thanks for your answer. Unfortunately it didn't change anything. The waypoint_publisher starts, but the MAV doesn't move.

patrik@patrik-Inspiron-1564:~/catkin_ws$ rosrun rotors_gazebo waypoint_publisher 0 0 1 0 __ns:=firefly [ INFO] [1489089661.401069453]: Started waypoint_publisher. [ INFO] [1489089662.595024281, 40.700000000]: Publishing waypoint on namespace /firefly: [0.000000, 0.000000, 1.000000].

I also tried the following, with no result.

rostopic pub /firefly/command/motor_speed mav_msgs/Actuators '{angular_velocities: [100, 100, 100, 100, 100, 100]}'

Any other ideas?

pvechersky commented 7 years ago

Hi @ptrkfry,

I tested 'mav_hovering_example.launch' with Yosemite world on my machine and it works ... sometimes ... I am getting inconsistent behavior where it sometimes hovers and sometimes not, sometimes starts in paused state and sometimes not. But it is definitely capable of working :)

Several things to look into/try:

1) Verify that you don't have to manually un-pause the simulation.

2) In my latest pull request (which is not merged yet), I actually modified the Yosemite world/model a little bit. I have previously noticed an occasional discrepancy between the visual and collision layers in the Heightmap objects (I would sometimes be flying through seemingly free space and suddenly stop/crash as if I hit an obstacle). Not 100% sure, but I think it works better with my new model description. I'm attaching the new files here so that you can go ahead and try with the new Yosemite world and model. Just replace the following files with new ones:

3) I noticed from the console output that you're using quite an old version of Gazebo, the version which comes with ROS Indigo installation. While the fact that it works with Basic world would suggest that this is not an issue, the one big difference with the Yosemite world is that it uses a Heightmap, so I'm not sure if the behavior for it changed somehow between versions. In developing RotorS we usually work with Gazebo version 5 or newer, so if updating Gazebo version is an option maybe you can explore that possibility ...

hitimo commented 7 years ago

@ptrkfry Could you add the following line

<arg name="verbose" value="true"/>

here: https://github.com/ethz-asl/rotors_simulator/blob/master/rotors_gazebo/launch/mav_hovering_example.launch#L16 & run the example again & post the output here?

ptrkfry commented 7 years ago

I would love to do that and also try out the tips from pvechersky, but unfortunately I can't seem to get rotors_simulator to build correctly again (I did a make clean and installed some other packages in the meantime). Now it fails at rotors_gazebo_plugins:

This file was generated by an older version of protoc which is error incompatible with your Protocol Buffer headers. Please regenerate this file with a newer version of protoc.

How do I do this?

Full output:

`patrik@patrik-Inspiron-1564:~/catkin_ws$ catkin build rotors_simulator

Profile: default Extending: [explicit] /opt/ros/indigo Workspace: /home/patrik/catkin_ws

Source Space: [exists] /home/patrik/catkin_ws/src Log Space: [exists] /home/patrik/catkin_ws/logs Build Space: [exists] /home/patrik/catkin_ws/build Devel Space: [exists] /home/patrik/catkin_ws/devel Install Space: [unused] /home/patrik/catkin_ws/install DESTDIR: [unused] None

Devel Space Layout: merged Install Space Layout: None

Additional CMake Args: -DCMAKE_BUILD_TYPE=Release 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 '178' packages in 0.0 seconds.
[build] Package table is up to date.
Starting >>> catkin_simple
Starting >>> mav_msgs
Starting >>> rotors_comm
Starting >>> rotors_description
Finished <<< rotors_description [ 1.2 seconds ]
Starting >>> rotors_evaluation
Finished <<< rotors_comm [ 1.7 seconds ]
Finished <<< mav_msgs [ 1.7 seconds ]
Starting >>> rotors_control
Starting >>> rotors_hil_interface
Finished <<< catkin_simple [ 1.3 seconds ]
Starting >>> rotors_joy_interface
Finished <<< rotors_evaluation [ 1.2 seconds ]
Starting >>> opencv3_catkin
Finished <<< rotors_hil_interface [ 1.2 seconds ]
Finished <<< rotors_control [ 1.7 seconds ]
Finished <<< rotors_joy_interface [ 1.6 seconds ]
Finished <<< opencv3_catkin [ 1.4 seconds ]
Starting >>> cv_bridge
Finished <<< cv_bridge [ 1.3 seconds ]
Starting >>> rotors_gazebo_plugins


Errors << rotors_gazebo_plugins:make /home/patrik/catkin_ws/logs/rotors_gazebo_plugins/build.make.002.log
In file included from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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-2.2/gazebo/msgs/pose.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/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

^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/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 /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27, from /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/time.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/time.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/patrik/catkin_ws/build/rotors_gazebo_plugins/Transform.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Transform.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/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

^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/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 /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Transform.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/time.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/time.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/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.h:28:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/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

^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/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 /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/time.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/pose.pb.h:28:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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/patrik/catkin_ws/build/rotors_gazebo_plugins/Transform.pb.h:28:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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/patrik/catkin_ws/build/rotors_gazebo_plugins/Wrench.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.cc:5: /usr/include/gazebo-2.2/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-2.2/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-2.2/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-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Wrench.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/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

^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/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 /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Wrench.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/time.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /usr/include/gazebo-2.2/gazebo/msgs/time.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-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/MagneticField.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::clear_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:170:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const string&)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:180:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:187:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char, size_t)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:194:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::mutable_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:201:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::release_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:208:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:212:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_allocated_str_id(std::string)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:217:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:225:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ In file included from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::clear_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:170:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const string&)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:180:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:187:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char, size_t)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:194:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::mutable_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:201:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::release_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:208:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:212:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_allocated_str_id(std::string)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:217:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:225:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ In file included from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.h:28:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/PoseStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘void gazebo::msgs::Pose::clearname()’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:183:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘void gazebo::msgs::Pose::setname(const string&)’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:193:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘void gazebo::msgs::Pose::setname(const char*)’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:200:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘void gazebo::msgs::Pose::set_name(const char, sizet)’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:207:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘std::string gazebo::msgs::Pose::mutablename()’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:214:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘std::string gazebo::msgs::Pose::releasename()’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:221:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:225:42: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ name_ = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h: In member function ‘void gazebo::msgs::Pose::set_allocatedname(std::string*)’: /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:230:17: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (name != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/pose.pb.h:238:42: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ name_ = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ In file included from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Transform.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/TransformStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::clear_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:170:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const string&)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:180:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:187:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char, size_t)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:194:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::mutable_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:201:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::release_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:208:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:212:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_allocated_str_id(std::string)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:217:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:225:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ In file included from /usr/include/gazebo-2.2/gazebo/msgs/vector3d.pb.h:27:0, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/Wrench.pb.h:27, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.h:28, from /home/patrik/catkin_ws/build/rotors_gazebo_plugins/WrenchStamped.pb.cc:5: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::clear_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:170:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const string&)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:180:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:187:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_str_id(const char, size_t)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:194:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::mutable_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:201:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘std::string gazebo::msgs::Header::release_str_id()’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:208:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid == &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:212:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string>(&::google::protobuf::internal::kEmptyString); ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h: In member function ‘void gazebo::msgs::Header::set_allocated_str_id(std::string)’: /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:217:19: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ if (strid != &::google::protobuf::internal::kEmptyString) { ^ /usr/include/gazebo-2.2/gazebo/msgs/header.pb.h:225:44: error: ‘kEmptyString’ is not a member of ‘google::protobuf::internal’ strid = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString); ^ make[2]: [CMakeFiles/mav_msgs.dir/MagneticField.pb.cc.o] Error 1 make[2]: Waiting for unfinished jobs.... make[2]: [CMakeFiles/mav_msgs.dir/PoseStamped.pb.cc.o] Error 1 make[2]: [CMakeFiles/mav_msgs.dir/TransformStamped.pb.cc.o] Error 1 make[2]: [CMakeFiles/mav_msgs.dir/WrenchStamped.pb.cc.o] Error 1 make[1]: [CMakeFiles/mav_msgs.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... make: [all] Error 2 cd /home/patrik/catkin_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 [ 4.1 seconds ]
Abandoned <<< rotors_gazebo [ Unrelated job failed ]
[build] Summary: 10 of 12 packages succeeded.
[build] Ignored: 166 packages were skipped or are blacklisted.
[build] Warnings: None.
[build] Abandoned: 1 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 17.9 seconds total. `

pvechersky commented 7 years ago

I recall having some similar issue and needing to clean my workspace and then rebuild the first time I pulled the latest code with all the Protobuf messages. So if you haven't done so already, I would try to clean the workspace (at least all the RotorS packages) and do a fresh build.

JD-ETH commented 7 years ago

I am experiencing the same issue here. This seems to happen in any world except the basic, the rotor doesn't spin for any of the quadcopter models. I hope this can be resolved soon

JD-ETH commented 7 years ago

This is the result for running roslaunch rotors_gazebo mav_hovering_example.launch mav_name:=firefly world_name:=empty under verbose. Has someone had similar issue?

`... logging to /home/jd/.ros/log/38c6bb74-39a4-11e7-b4b3-e4a7a00064b9/roslaunch-jd-ThinkPad-T460p-16840.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.

started roslaunch server http://jd-ThinkPad-T460p:34038/

SUMMARY

PARAMETERS

NODES /firefly/ hovering_example (rotors_gazebo/hovering_example) joint_state_publisher (joint_state_publisher/joint_state_publisher) lee_position_controller_node (rotors_control/lee_position_controller_node) robot_state_publisher (robot_state_publisher/robot_state_publisher) spawn_firefly (gazebo_ros/spawn_model) / gazebo (gazebo_ros/gzserver) gazebo_gui (gazebo_ros/gzclient)

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

setting /run_id to 38c6bb74-39a4-11e7-b4b3-e4a7a00064b9 process[rosout-1]: started with pid [16868] started core service [/rosout] process[gazebo-2]: started with pid [16892] process[gazebo_gui-3]: started with pid [16896] process[firefly/spawn_firefly-4]: started with pid [16900] process[firefly/lee_position_controller_node-5]: started with pid [16901] process[firefly/hovering_example-6]: started with pid [16902] process[firefly/robot_state_publisher-7]: started with pid [16910] process[firefly/joint_state_publisher-8]: started with pid [16926] [ INFO] [1494876315.847185269]: Started hovering example. [ INFO] [1494876315.848682878]: Wait for 1 second before trying to unpause Gazebo again. spawn_model script started Gazebo multi-robot simulator, version 5.4.0 Copyright (C) 2012-2015 Open Source Robotics Foundation. Released under the Apache 2 License. http://gazebosim.org

[ INFO] [1494876316.145605920]: Finished loading Gazebo ROS API Plugin. [Msg] Waiting for master. [Msg] Connected to gazebo master @ http://127.0.0.1:11345 [Msg] Publicized address: 172.16.10.116 [ INFO] [1494876316.146940461]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting... [INFO] [WallTime: 1494876316.169353] [0.000000] Loading model xml from ros parameter [INFO] [WallTime: 1494876316.173549] [0.000000] Waiting for service /gazebo/spawn_urdf_model [ INFO] [1494876316.851961084]: Unpaused the Gazebo simulation. [ INFO] [1494876316.876285270, 0.024000000]: waitForService: Service [/gazebo/set_physics_properties] is now available. [ INFO] [1494876316.928999724, 0.076000000]: Physics dynamic reconfigure ready. [INFO] [WallTime: 1494876317.084086] [0.226000] Calling service /gazebo/spawn_urdf_model

(gzclient:16999): Gtk-WARNING *: Unable to locate theme engine in module_path: "hcengine", [INFO] [WallTime: 1494876317.269623] [0.332000] Spawn status: SpawnModel: Successfully spawned model [Dbg] [gazebo_imu_plugin.cpp:55] _model = firefly [Dbg] [gazebo_imu_plugin.cpp:55] _model = firefly [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_motor_model.cpp:159] void gazebo::GazeboMotorModel::CreatePubsAndSubs() called. [Dbg] [gazebo_controller_interface.cpp:106] CreatePubsAndSubs() called. [Dbg] [gazebo_controller_interface.cpp:125] GazeboControllerInterface creating Gazebo publisher on "firefly/gazebo/command/motor_speed". [Dbg] [gazebo_controller_interface.cpp:146] Subscribing to Gazebo topic "~/firefly/command/motor_speed". [Dbg] [gazebo_controller_interface.cpp:165] CreatePubsAndSubs() called. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/0, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/1, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/2, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/3, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/4, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/motor_speed/5, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/imu, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/ground_truth/imu, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/broadcast_transform, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/broadcast_transform, deleting message. This warning is printed only once. [Wrn] [Publisher.cc:132] Queue limit reached for topic /gazebo/default/firefly/joint_states, deleting message. This warning is printed only once. [firefly/spawn_firefly-4] process has finished cleanly log file: /home/jd/.ros/log/38c6bb74-39a4-11e7-b4b3-e4a7a00064b9/firefly-spawn_firefly-4.log [ INFO] [1494876322.290410835, 5.184000000]: Publishing waypoint on namespace //firefly: [0.000000, 0.000000, 1.000000]. `

JD-ETH commented 7 years ago

After some comparison, I found out that the gazebo-plugin was not included in any other world file. By adding <plugin name="ros_interface_plugin" filename="librotors_gazebo_ros_interface_plugin.so"></plugin> This problem is solved