Ask Your Question
0

compile error hector_quadrotor_controller

asked 2012-07-12 03:17:39 -0500

prince gravatar image

I am trying to compile hector_quadrotor_controller in Ros Fuerte on Ubuntu Lucid lynx. I am getting following compile errors:

[ rosmake ] Last 40 linesctor_quadrotor_controller: 2.3 sec ]                                                                     [ 1 Active 30/31 Complete ]
{-------------------------------------------------------------------------------
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:328: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:328: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:328: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:329: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:329: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:329: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:348: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:349: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:350: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:351: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:352: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:353: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:363: error: request for member ‘data’ in ‘((gazebo::GazeboQuadrotorAerodynamics*)this)->gazebo::GazeboQuadrotorAerodynamics::drag_model_->gazebo::GazeboQuadrotorAerodynamics::DragModel::u’, which is of non-class type ‘int’
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:363: error: ‘struct gazebo::GazeboQuadrotorAerodynamics::DragModel’ has no member named ‘parameters_’
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:363: error: request for member ‘data’ in ‘((gazebo::GazeboQuadrotorAerodynamics*)this)->gazebo::GazeboQuadrotorAerodynamics::drag_model_->gazebo::GazeboQuadrotorAerodynamics::DragModel::y’, which is of non-class type ‘int’
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:363: error: ‘quadrotorDrag’ was not declared in this scope
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:364: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:364: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:364: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:365: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:365: error: invalid types ‘int[int]’ for array subscript
  /home/dst/robotics/experiments/tu-darmstadt-ros-pkg/fuerte/hector_quadrotor/hector_quadrotor_controller/src/quadrotor_aerodynamics.cpp:365: error: invalid types ‘int[int]’ for array ...
(more)
edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2012-07-12 05:40:35 -0500

You do not need the package hector_quadrotor_controller to run the quadrotor simulation using the hector_quadrotor_simple_controller plugin. Just use the command

rosmake hector_quadrotor_gazebo

or

rosmake hector_quadrotor_demo

to build all necessary packages. Nevertheless, as other people also had that kind of problem, I decided to move the hector_quadrotor_controller package to a new stack named hector_quadrotor_experimental.

If you want to build hector_quadrotor_controller, you have to compile some parts that define the aerodynamic model of the quadrotor using Matlab before building the ROS package itself. This build step is not integrated with cmake yet. The package contains a single plugin, that subscribes to motor voltages and generates thrust and torques out of them based on an aerodynamic model. The controller part is missing in the public repository as we use the Orocos Real-Time Toolkit (rtt_ros_integration) and integration is a bit weird at the moment.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2012-07-12 03:17:39 -0500

Seen: 284 times

Last updated: Jul 12 '12