vislab-tecnico-lisboa / ardrone_gazebo

Gazebo simulator test environment for the Parrot ArDrone. The world is a simulated version of the ISR 7th floor. The ArDrone model is based on the implementation of a gazebo simulator for the Ardrone 2.0 written by Hongrong Huang and Juergen Sturm of the Computer Vision Group at the Technical University of Munich (http://wiki.ros.org/tum_simulator).
15 stars 12 forks source link

Impossible to compile on Indigo #5

Closed pulver22 closed 7 years ago

pulver22 commented 7 years ago

I am trying to compile this workspace on two different pc with ROS Indigo and I always got the following error:

`####
#### Running command: "make cmake_check_build_system" in "/home/pulver/simulator_ws/build"
####
####
#### Running command: "make -j4 -l4" in "/home/pulver/simulator_ws/build"
####
[  0%] Built target geometry_msgs_generate_messages_py
[  0%] [  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_Compass
Built target _cvg_sim_msgs_generate_messages_check_deps_MotorCommand
[  0%] [  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_ControllerState
Built target _cvg_sim_msgs_generate_messages_check_deps_MotorStatus
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_ThrustCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_RawImu
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_HeightCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_AttitudeCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_RC
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_ServoCommand
[  0%] [  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_PositionXYCommand
Built target _cvg_sim_msgs_generate_messages_check_deps_YawrateCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_Altimeter
[  0%] [  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_RawRC
Built target _cvg_sim_msgs_generate_messages_check_deps_MotorPWM
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_VelocityXYCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_HeadingCommand
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_Supply
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_RawMagnetic
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_RuddersCommand
[  0%] Built target geometry_msgs_generate_messages_cpp
[  0%] Built target geometry_msgs_generate_messages_lisp
[  0%] [  0%] Built target std_msgs_generate_messages_lisp
Built target sensor_msgs_generate_messages_cpp
[  0%] Built target _cvg_sim_msgs_generate_messages_check_deps_Altitude
[  0%] [  0%] Built target roscpp_generate_messages_lisp
Built target _cvg_sim_msgs_generate_messages_check_deps_VelocityZCommand
[  0%] [  0%] Built target std_msgs_generate_messages_py
Built target std_msgs_generate_messages_cpp
[  0%] [  0%] Built target roscpp_generate_messages_cpp
Built target rosgraph_msgs_generate_messages_py
[  0%] Built target rosgraph_msgs_generate_messages_lisp
[  0%] Built target rosgraph_msgs_generate_messages_cpp
[  0%] [  0%] Built target roscpp_generate_messages_py
Built target sensor_msgs_generate_messages_py
[  0%] Built target sensor_msgs_generate_messages_lisp
[  0%] Built target nav_msgs_generate_messages_cpp
[  0%] [  1%] Built target nav_msgs_generate_messages_lisp
Built target aruco_plugin
[  1%] Built target nav_msgs_generate_messages_py
[  1%] Built target _cvg_sim_gazebo_plugins_generate_messages_check_deps_SetBias
[  2%] Built target diffdrive_plugin_6w
[  3%] Built target hector_gazebo_quadrotor_simple_controller
[  4%] Built target hector_gazebo_quadrotor_state_controller
[  5%] Built target hector_gazebo_ros_gps
[  7%] [  8%] Built target hector_gazebo_ros_magnetic
[  9%] Built target reset_plugin
Building CXX object ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/CMakeFiles/hector_gazebo_ros_sonar.dir/src/gazebo_ros_sonar.cpp.o
[ 10%] Built target test_trajectory
[ 37%] [ 38%] Built target cvg_sim_msgs_generate_messages_py
Built target message_to_tf
[ 64%] [ 90%] Built target cvg_sim_msgs_generate_messages_lisp
Built target cvg_sim_msgs_generate_messages_cpp
[ 91%] Built target aruco_test
[ 92%] Built target cvg_sim_gazebo_plugins_generate_messages_cpp
[ 94%] Built target talker
[ 95%] Built target cvg_sim_gazebo_plugins_generate_messages_lisp
[ 97%] Built target cvg_sim_gazebo_plugins_generate_messages_py
[ 97%] Built target cvg_sim_msgs_gencpp
[ 97%] Built target cvg_sim_gazebo_plugins_gencpp
[ 97%] Built target cvg_sim_msgs_generate_messages
[ 97%] Built target cvg_sim_gazebo_plugins_generate_messages
[ 98%] Built target hector_gazebo_ros_baro
[100%] Built target hector_gazebo_ros_imu
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp: In member function ‘virtual void gazebo::GazeboRosSonar::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’:
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:59:66: error: no matching function for call to ‘dynamic_pointer_cast(gazebo::sensors::SensorPtr&)’
   sensor_ = std::dynamic_pointer_cast<sensors::RaySensor>(_sensor);
                                                                  ^
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:59:66: note: candidates are:
In file included from /usr/include/c++/4.8/bits/shared_ptr.h:52:0,
                 from /usr/include/c++/4.8/memory:82,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:27,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/sdformat-2.3/sdf/Console.hh:25,
                 from /usr/include/sdformat-2.3/sdf/sdf.hh:3,
                 from /usr/include/gazebo-5.4/gazebo/common/Plugin.hh:30,
                 from /home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/include/hector_gazebo_plugins/gazebo_ros_sonar.h:32,
                 from /home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:29:
/usr/include/c++/4.8/bits/shared_ptr_base.h:1177:5: note: template<class _Tp, class _Tp1, __gnu_cxx::_Lock_policy _Lp> std::__shared_ptr<_Tp1, _Lp> std::dynamic_pointer_cast(const std::__shared_ptr<_Tp2, _Lp>&)
     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr_base.h:1177:5: note:   template argument deduction/substitution failed:
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:59:66: note:   ‘gazebo::sensors::SensorPtr {aka boost::shared_ptr<gazebo::sensors::Sensor>}’ is not derived from ‘const std::__shared_ptr<_Tp2, _Lp>’
   sensor_ = std::dynamic_pointer_cast<sensors::RaySensor>(_sensor);
                                                                  ^
In file included from /usr/include/c++/4.8/memory:82:0,
                 from /usr/include/boost/config/no_tr1/memory.hpp:21,
                 from /usr/include/boost/smart_ptr/shared_ptr.hpp:27,
                 from /usr/include/boost/shared_ptr.hpp:17,
                 from /usr/include/sdformat-2.3/sdf/Console.hh:25,
                 from /usr/include/sdformat-2.3/sdf/sdf.hh:3,
                 from /usr/include/gazebo-5.4/gazebo/common/Plugin.hh:30,
                 from /home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/include/hector_gazebo_plugins/gazebo_ros_sonar.h:32,
                 from /home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:29:
/usr/include/c++/4.8/bits/shared_ptr.h:447:5: note: template<class _Tp, class _Tp1> std::shared_ptr<_Tp1> std::dynamic_pointer_cast(const std::shared_ptr<_Tp2>&)
     dynamic_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept
     ^
/usr/include/c++/4.8/bits/shared_ptr.h:447:5: note:   template argument deduction/substitution failed:
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:59:66: note:   ‘gazebo::sensors::SensorPtr {aka boost::shared_ptr<gazebo::sensors::Sensor>}’ is not derived from ‘const std::shared_ptr<_Tp2>’
   sensor_ = std::dynamic_pointer_cast<sensors::RaySensor>(_sensor);
                                                                  ^
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:94:50: error: ‘class gazebo::sensors::RaySensor’ has no member named ‘AngleMax’
   range_.field_of_view = std::min(fabs((sensor_->AngleMax() - sensor_->AngleMin()).Radian()), fabs((sensor_->VerticalAngleMax() - sensor_->VerticalAngleMin()).Radian()));
                                                  ^
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:94:72: error: ‘class gazebo::sensors::RaySensor’ has no member named ‘AngleMin’
   range_.field_of_view = std::min(fabs((sensor_->AngleMax() - sensor_->AngleMin()).Radian()), fabs((sensor_->VerticalAngleMax() - sensor_->VerticalAngleMin()).Radian()));
                                                                        ^
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:94:110: error: ‘class gazebo::sensors::RaySensor’ has no member named ‘VerticalAngleMax’
   range_.field_of_view = std::min(fabs((sensor_->AngleMax() - sensor_->AngleMin()).Radian()), fabs((sensor_->VerticalAngleMax() - sensor_->VerticalAngleMin()).Radian()));
                                                                                                              ^
/home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp:94:140: error: ‘class gazebo::sensors::RaySensor’ has no member named ‘VerticalAngleMin’
   range_.field_of_view = std::min(fabs((sensor_->AngleMax() - sensor_->AngleMin()).Radian()), fabs((sensor_->VerticalAngleMax() - sensor_->VerticalAngleMin()).Radian()));
                                                                                                                                            ^
make[2]: *** [ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/CMakeFiles/hector_gazebo_ros_sonar.dir/src/gazebo_ros_sonar.cpp.o] Error 1
make[1]: *** [ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/CMakeFiles/hector_gazebo_ros_sonar.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
`

I was wondering if anyone else got stuck at this point!

nigno17 commented 7 years ago

Hi, which version of Gazebo are you using?

pulver22 commented 7 years ago

Gazebo 5! Actually I was able to compile it changing two lines of code in /home/pulver/simulator_ws/src/ardrone_gazebo/ardrone_vislab/cvg_sim_gazebo_plugins/src/gazebo_ros_sonar.cpp

l59:   sensor_ = boost::dynamic_pointer_cast<sensors::RaySensor>(_sensor);

l94:   range_.field_of_view = std::min(fabs((sensor_->GetAngleMax() - sensor_->GetAngleMin()).Radian()), fabs((sensor_->GetVerticalAngleMax() - sensor_->GetVerticalAngleMin()).Radian()));

On Indigo I still have other problems but they are not related with compilation! so we can also close this thread but I'd like to know if you experience any problems in compiling on Indigo because I had the same problems on two different machines and nothing on a Kinetic's one!

nigno17 commented 7 years ago

I'm running the repository on 2 machines, one with indigo and the other one with kinetic. In both of them I've installed Gazebo 7. At the beginning I tested the code also on Gazebo 5 and it was working. I don't know if some of the last changes broke the compatibility with Gazebo 5 (I added a contact sensor, a laser sensor and I created an "Aruco" sensor for the project on which I'm working on. You can try to remove them if you don't need them and see if it compiles).

pulver22 commented 7 years ago

I confirm that those problem arise only with Gazebo 5 but changing those line you can compile with success! Therefore, I close the issue! Please open it again if you need!