ethz-asl/mav_control_rw

catkin build error

HusseinHazem opened this issue · 26 comments

`hussein@Lenovo-ideapad:~/catkin_ws$ catkin build

Profile: default
Extending: [env] /home/hussein/simulation/ros_catkin_ws/devel:/opt/ros/indigo
Workspace: /home/hussein/catkin_ws

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

Devel Space Layout: linked
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.

NOTE: Forcing CMake to run for each package.

[build] Found '20' packages in 0.0 seconds.
[build] Updating package table.
Starting >>> catkin_tools_prebuild
Finished <<< catkin_tools_prebuild [ 1.2 seconds ]
Starting >>> catkin_simple
Starting >>> mav_msgs
Starting >>> rotors_comm
Starting >>> rotors_description
Finished <<< rotors_description [ 1.8 seconds ]
Starting >>> rotors_evaluation
Finished <<< catkin_simple [ 2.0 seconds ]
Starting >>> rqt_rotors
Finished <<< rotors_comm [ 3.7 seconds ]
Starting >>> eigen_catkin
Finished <<< rotors_evaluation [ 2.1 seconds ]
Finished <<< rqt_rotors [ 2.1 seconds ]
Finished <<< mav_msgs [ 4.3 seconds ]
Starting >>> mav_control_interface
Starting >>> mav_disturbance_observer
Starting >>> mav_lowlevel_attitude_controller


Warnings << eigen_catkin:make /home/hussein/catkin_ws/logs/eigen_catkin/build.make.000.log
abort: repository /home/hussein/catkin_ws/build/eigen_catkin/eigen_src-prefix/src/eigen_src not found!
abort: repository /home/hussein/catkin_ws/build/eigen_catkin/eigen_src-prefix/src/eigen_src not found!
CMake Warning at blas/CMakeLists.txt:32 (message):
No fortran compiler has been detected, the blas build will be incomplete.

cd /home/hussein/catkin_ws/build/eigen_catkin; catkin build --get-env eigen_catkin | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
..................................................................................................
Finished <<< eigen_catkin [ 14.2 seconds ]
Finished <<< mav_lowlevel_attitude_controller [ 20.2 seconds ]
Starting >>> planning_msgs
Finished <<< mav_disturbance_observer [ 21.6 seconds ]
Starting >>> rotors_control
Finished <<< planning_msgs [ 7.8 seconds ]
Starting >>> rotors_hil_interface


Errors << rotors_hil_interface:make /home/hussein/catkin_ws/logs/rotors_hil_interface/build.make.000.log
In file included from /home/hussein/catkin_ws/src/rotors_simulator/rotors_hil_interface/src/hil_sensor_level_interface.cpp:17:0:
/home/hussein/catkin_ws/src/rotors_simulator/rotors_hil_interface/include/rotors_hil_interface/hil_interface.h:22:37: fatal error: mavros_msgs/HilControls.h: No such file or directory
#include <mavros_msgs/HilControls.h>
^
compilation terminated.
make[2]: *** [CMakeFiles/rotors_hil_interface.dir/src/hil_sensor_level_interface.cpp.o] Error 1
make[1]: *** [CMakeFiles/rotors_hil_interface.dir/all] Error 2
make: *** [all] Error 2
cd /home/hussein/catkin_ws/build/rotors_hil_interface; catkin build --get-env rotors_hil_interface | catkin env -si /usr/bin/make --jobserver-fds=6,7 -j; cd -
................................................................................................
Failed << rotors_hil_interface:make [ Exited with code 2 ]
Failed <<< rotors_hil_interface [ 7.3 seconds ]
Abandoned <<< rotors_joy_interface [ Unrelated job failed ]
Abandoned <<< mav_linear_mpc [ Unrelated job failed ]
Abandoned <<< mav_nonlinear_mpc [ Unrelated job failed ]
Abandoned <<< rotors_gazebo_plugins [ Unrelated job failed ]
Abandoned <<< rotors_gazebo [ Unrelated job failed ]
Finished <<< rotors_control [ 25.7 seconds ]
Finished <<< mav_control_interface [ 50.4 seconds ]
[build] Summary: 13 of 19 packages succeeded.
[build] Ignored: 2 packages were skipped or are blacklisted.
[build] Warnings: 1 packages succeeded with warnings.
[build] Abandoned: 5 packages were abandoned.
[build] Failed: 1 packages failed.
[build] Runtime: 56.3 seconds total.
[build] Note: Workspace packages have changed, please re-source setup files to use them.`

rikba commented

You seem to have issues installing rotors_hil_interface. Either you can ignore this package, i.e., create a file called CATKIN_IGNORE in the rotors_hil_interface package folder or follow the installation instructions for the interface.

i got it to build all the packages except mav_linear_mpc. it gets stuck at make 66%. i was able to launch the nonlinear mpc one but i can't get it flying.

mav_linear_mpc takes a massive amount of time to build. Around 15 minutes is typical, though on some computers up to an hour is possible. You might just need to leave it a bit longer, I usually just catkin ignore it as mav_nonlinear fits most applications better.

thanks, i didn't let it past 12 minutes but i'll try leaving it longer, do you have any idea how i can get it to fly though? i tried using the rqt and but it says on the terminal 'Could not create message of type "mav_msgs/RollPitchYawrateThrust". '

I think I need some more context. Are you trying to use this on a real system or in simulation and if it is a real system what is the flight controller?

I want to fly it in in the simulation first, and eventually i’m hoping to implent the mpc on a real quadrotor, the flight controller is navio2.

I mean rasberrypi 3

mav_msgs/RollPitchYawrateThrust is a custom message type which is why rqt has trouble generating it. However, this message is the output of the controller, not an input so there is no need for you to create it yourself.

In order to output this message the controller needs an input of odometry with pose and twist information and a desired movement (either a pose waypoint or a trajectory).

The controller should be able to be made to work with our simultaor RotorS without too much difficulty.

The px4 firmware on the other hand by default does not support providing some angles as rates (yaw) and simultaneously giving others as angles (roll and pitch) because of this to work with the navio you will need to modify the px4 code and also the mavros interface to match px4 coordinate conventions. We have px4 and mavros forks that have this modification, however at present they are unfortunately not public.

i tried rostopic pub -1 nav_msgs/Odometry and input some parameters but it says "invalid topic type :header "

You will need an odometry message with a correct stamp in the header and have it published at a high rate (we use 100hz). I would suggest using a simulator to generate this data as it can be difficult to fake.

I tried the following using rqt https://imgur.com/a/hguZk but it doesn't move.

Could you post the output of rqt_graph? I want to double check all the topics are mapped correctly

screenshot from 2018-03-14 15-03-31

There seems to be something wrong with your setup (see mine above for reference, it uses the lee position controller, but the idea is the same). Currently your system doesn't have gazebo in the loop at all so can't be getting the correct odometry information

So what do you suggest i should do? Is there a way to include it in the loop? And does different versions of gazebo affect that?

fmina commented

you should not publish odometry from rqt. RotorS should publish it as it include the current state of the MAV. try the following in two separate terminals:
roslaunch rotors_gazebo mav.launch and
roslaunch mav_linear_mpc mav_linear_mpc_sim.launch
open rqt and publish on /firefly/command/pose.

i tried that but i think zachary is right. Gazebo is not connected to any of the controller commands. https://imgur.com/a/WPH6b

If the rotors simulator outputs from gazebo are not in the loop, you must have a remapping of a topic done incorrectly. I would suggest using node_manager http://wiki.ros.org/node_manager_fkie as it allows you to see exactly what each node is publishing / subscribed to and makes debugging of these sort of issues much quicker.

fmina commented

Also, make sure you compiled rotors ros plugin and that you have it running.

i wasn't able to run the node_manager, any other ways i could fix that problem? and fmina how i do that?

fmina commented

You don't have to use node_manager, it would facilitate the debugging but is not essential. I am not sure what the problem is, we need more information to help you debugging the issue. First thing to try is to see if RotorS is working, try to launch the mav_hovering_example and see if the MAV hovers.

hi,
I am using ubuntu16.04 and ros kinetic. There is error in catkin build. Any idea??
screenshot from 2018-12-05 06-19-09

@Hjayant sudo apt-get install liblapack-dev should hopefully fix it.

hi,
I am using ubuntu16.04 and ros kinetic. There is error in catkin build. Any idea??
screenshot from 2018-12-05 06-19-09

hi,
have you solve this issue I now meet ?

rikba commented

Dear @gouyiyong

you are missing liblapacke. Installing

sudo apt-get install liblapacke-dev

as stated in the installation instruction should hopefully solve this issue.

Dear @gouyiyong

you are missing liblapacke. Installing

sudo apt-get install liblapacke-dev

as stated in the installation instruction should hopefully solve this issue.

I installed, but the same problem.
image