How do I add mavros_extras plugin from overlayed package to mavros
I want to use the mavros_extras package extension and after a week of a brutal battle just to get it installed from source, I realize I do not know how to actually add the plugins to mavros. I cannot find any fully descriptive documentation for how to do this (which is I think a problem itself), and so would like to ask how to do this.
FYI:
I have an overlayed package in ~/catkin_ws
which has mavros, mavros_extras, test_mavros, libmavconn, mavlink, and several dependencies that rosdep couldnt resolve built inside of it. The dependencies I had to build in this package were angles,tf,control_msgs,control_toolbox, realtime_tools, urdf, and urdf_parser_plugin. This package is overlayed on top of the preinstalled ros and mavros at /opt/ros/kinetic/share/
. All I would like to do is attempt to use the plugins in mavros_extras.
However, there is one catch: I have noticed that I cannot use the mavros in my build package as the mavros_node
executable gives a segfault, when I try to start mavros with roslaunch or rosrun. Interestingly however, after some testing where I ran the executables directly, I have seen that this segfault is related to which setup.bash
I source. (the one from ~/catkin_ws/devel/setup.bash
or /opt/ros/kinetic/setup.bash
. The mavros_node
executable in my catkin workspace (~/catkin_ws/devel/lib/mavros/mavros_node
) always gives a segfault. But interestingly, the one in /opt/ros/kinetic/lib/mavros/mavros_node
gives a segfault too, but only when /opt/ros/kinetic/setup.bash
has not been sourced. (Because I sourced ~/catkin_ws/devel/setup.bash
instead.) This tells me that this is perhaps not some problem with the executable, but some weird thing with ros that I do not understand.
I should add, I have seen the tutorials available in the wiki, but they give me completely insufficient detail to know why I am doing what I am doing, and thus how to add plugins in my particular case.
OS: I am using the ros/mavros which come preinstalled in the custom Emlid-Raspbian OS for the Navio2 (emlid-raspbian-20190227).
Hardware: My hardware is a navio2 connected to a raspberry pi 3 B. armv7 (armhf)