树莓派源码编译安装-Ubuntu18.04安装mavros

Ubuntu18.04安装mavros

本来想在Raspberry Pi 3B上安装mavros,但由于某些原因失败了。 我会在下一篇文章中写到这段经历。 这次我使用的是Ubuntu18.04笔记本,已经有ros melodic环境了。 话不多说,请阅读下文。

参考:

1、Ubuntu18.04配置px4编译环境和mavros环境

2.ubuntu下使用GeographicLib库

3.PX4 [致命] [1595519040.562797928]:UAS:GeographicLib异常:文件不可读/usr/share/Geogr

4.在TX1上安装mavros时,出现错误UAS:GeographicLib异常:文件不可读...。

5、Linux下将一个文件夹中的所有内容复制到另一个文件夹(包括隐藏文件)

6.wstool安装

7、Linux系统下如何运行.sh文件

8.构建mavros失败(尝试了三种方法)

9. ROS MAVROS在树莓派上的安装和使用

10. Raspberry Pi 连接到 pixhawk

我的过程:

我的 ros 旋律以前很好。 因为参考了很多博客,我不确定下面哪些步骤是必要的,哪些是不必要的。 不过安装了就不会有问题了。 。 。

安装引导程序依赖项:

$ sudo apt-get install python-rosdep python-rosinstall-generator python -wstool python-rosinstall build-essential cmake

安装 rosdep(包管理器):

$ sudo rosdep init
$ rosdep update

检查ros环境:

$ export | grep ROS

安装 mavros 依赖项:

sudo apt-get install python-catkin-tools python-rosinstall-generator
sudo apt-get install libgeographic-dev
sudo apt-get install geographiclib-tools
sudo apt install python-future

安装马夫罗斯:

我没有使用源文件来安装。 我找到了两种方法,都发布在这里。 方法1和2我都用过,但我根本没有用2。 我使用了安装和依赖安装部分。

方法一:

sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras

方法二:

不知道和1有什么区别

# Mavlink
rosinstall_generator --rosdistro melodic mavlink | tee /tmp/mavros.rosinstall
#MAVROS
rosinstall_generator --upstream 
mavros | tee -a /tmp/mavros.rosinstall

wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdep install --from-paths src --ignore-src -y

如果此时缺少依赖,可以:

rosinstall_generator --rosdistro melodic $XXX | tee -a /tmp/mavros.rosinstall

然后运行:

wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdep install --from-paths src --ignore-src -y

catkin  build

如果没有 wstool,您可以:

 sudo apt-get install python-wstool

如果没有,只需:

 sudo pip install -U wstool

请参阅上面列出的第 6 个博客。

还有一个可能的错误我没有遇到过,Mavros_extra 编译错误

tf2_eigen/tf2_eigen.h: No such file or directory
 #include 

这时需要将tf2_eigen添加到CMakeList中

find_package(catkin REQUIRED COMPONENTS
  mavros
  roscpp
  mavros_msgs
  sensor_msgs
  geometry_msgs
  std_msgs
  visualization_msgs
  urdf
  tf
  tf2_eigen
)

添加px4源码路径:

树莓派源码编译安装-Ubuntu18.04安装mavros

安装mavros后需要添加px4源码的路径,否则无法使用px4启动文件。 将其输入到终端打开的目录中。

gedit .bashrc

如果固件位于主目录中,请将以下内容添加到 .bashrc

source ~/Firmware/Tools/setup_gazebo.bash ~/Firmware/ ~/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Firmware/Tools/sitl_gazebo

这里的路径是每次ros启动时都会启动无人机模型的地方。 因此,只需更改该路径下的固件,通过roslaunch启动无人机时,相应的更改不会对模拟产生影响。 人和机器都是有效的。

我的固件在/home/src中,所以我添加的是

source /home/src/Firmware/Tools/setup_gazebo.bash ~/Firmware/ /home/src/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/src/Firmware
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/home/src/Firmware/Tools/sitl_gazebo

如果你想使用python3,记得将其添加到.bashrc中

alias python=python3

保存后,在终端中:

 source .bashrc

运行测试马夫罗斯

roslaunch mavros px4.launch

这里有一个错误

[致命] [1595519040.562797928]:UAS:GeographicLib 异常:文件不可读 /usr/share/GeographicLib/geoids/egm96-5.pgm | 运行 install_geographiclib_dataset.sh 脚本以安装大地水准面模型数据集!

按照说明操作,您应该运行文件 install_geographiclib_dataset.sh。

我们在终端输入:

sudo /opt/ros/melodic/lib/mavros/install_geographiclib_datasets.sh

如果mavros是通过源文件安装的,请进入mavros文件夹并搜索install_geographiclib_datasets.sh文件,然后使用sudo权限运行它。

但问题还没有结束。 运行这个脚本会提醒我们没有文件夹/usr/share/GeographicLib。 我的解决方案是安装这个库。

首先下载文件:下载地址

我下载的是Geographiclib-1.4.8.tar.gz。 这里是百度网盘链接。 如果失败,请前往官方网站下载。 地理库

然后解压

tar xfpz GeographicLib-1.48.tar.gz

输入文件目录

cd GeographicLib-1.48

创建构建文件夹但进入

mkdir build
cd build 

配置(使用库中提供的文件)

../configure

编译+安装

sudo make
sudo make install

接下来,将GeographicLib所需的依赖项添加到要使用的项目文件的cmakelist.txt中。

LIST(APPEND LINK_LIBS
${OpenCV_LIBS}
#$ENV{HOME}/ScaViSLAM/svslocal/lib/libGeographic.so
#${Geographic_LIBS}/usr/local/lib/libGeographic.a
/usr/local/lib/libGeographic.so.17.1.1 
/usr/local/lib/libGeographic.so.17 
/usr/local/lib/libGeographic.so
)

考虑到我们要求运行的 .sh 脚本应该已经添加了这个依赖项,所以我跳过了这一步。

再次运行.sh脚本,发现这次找到了对应的文件夹,并开始安装相关文件,也就是px4.launch启动时缺失的/usr/share/GeographicLib/geoids/egm96-5.pgm,报告错误。 如果我们查看这个.sh脚本树莓派源码编译安装,我们会发现它总共要安装3个这样的文件。

如果不需要脚本来安装,我们实际上可以这样安装:

进入 GeographicLib 文件夹,然后使用此格式安装 .sh 文件所需的最后三个文件。 注意,这句话中的gravity和egm96这两个词必须根据.sh替换为必要的词。

sudo geographiclib-get-gravity egm96

安装完成后,会出现类似如下的提示:

在/usr/local/share/GeographicLib/Magnetic中安装了磁性数据集emm2015。

注意这里的安装目录和报错目录不同树莓派源码编译安装,需要自动转移

在/usr/local/share/目录中:

sudo cp -r GeographicLib /usr/share/

再次运行

roslaunch mavros px4.launch

这次没问题了。 我的飞控是pixhawk2.4.8,我用USB线连接飞控侧面的USB口和笔记本电脑。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 源码编译 树莓派源码编译安装-Ubuntu18.04安装mavros https://www.wkzy.net/game/198603.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务