ubuntu20.04+ROS Noetic 安装PX4+Mavros

打印 上一主题 下一主题

主题 1761|帖子 1761|积分 5283

系统环境

ubuntu 20.04
ROS Noetic
如果系统安装了Anaconda等虚拟环境管理器,要退出虚拟环境的激活,再进行下列安装,以下的安装过程我们默认退出了Anaconda的虚拟环境
  1. conda deactivate
复制代码
安装依赖

  1. sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip gawk
复制代码
  1. pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
  2. pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse kconfiglib jsonschema future
复制代码
#若报错输入这两行命令
  1. pip install --upgrade setuptools
  2. python -m pip install --upgrade pip
复制代码
PX4 安装

以下命令,会默认安装最新的PX4固件版本
  1. git clone https://github.com/PX4/PX4-Autopilot.git --recursive
  2. bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
复制代码
中间堕落的话,执行下列命令
  1. python3 -m pip install --upgrade pip
  2. python3 -m pip install --upgrade Pillow
复制代码
如果安装过程中有错误的话,可以再用下列命令进行安装
  1. bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing
复制代码
老版本安装

  1. git clone https://github.com/PX4/PX4-Autopilot.git
  2. git status   # 查看当前分支,位于origin/main
  3. git branch -r | grep "release"    # 查看所有远程分支,带release的
复制代码
进行分支切换
  1. cd PX4-Autopilot
  2. git checkout origin/release/1.12  # 切换到发行分支v1.12
  3. git submodule update --init --recursive        # 更新子模块
  4. git status   # 查看当前分支,位于release/1.12
复制代码
测试

安装完成,测试一下。这一步,第一次编译,需要一会功夫。
  1. make px4_sitl_default gazebo
复制代码
终端输入 commander takeoff ,可以看到无人机腾飞
终端输入 commander land , 可以看到无人机降落
  1. make px4_sitl jmavsim //jmavsim 仿真环境
复制代码
出现以下界面表示乐成

若出现以下错误

办理方法
安装 ant 和 java
  1. sudo apt update
  2. sudo apt install ant
  3. sudo apt install openjdk-11-jdk
复制代码
重新启动
  1. # 清除所有生成的文件(包括配置生成的文件,比如有的工程中配置生成的Makefile文件)
  2. make distclean
  3. make px4_sitl jmavsim //jmavsim 仿真环境
复制代码
                                                  \;                  
环境变量添加

添加环境变量(添加到~/.bashrc文件中)
  1. source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
  2. export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
  3. export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
复制代码
要根据自己 PX4-Autopilot 文件夹地点的目录来
  1. source ~/.bashrc
复制代码
版本查看

  1. cd ~/PX4-Autopilot/ # 根据自己文件夹所在目录来
  2. git describe --tags
复制代码
此命令将显示当前Git标签,通常是PX4的版本号。
安装MAVROS(二进制安装非源码安装)

二进制安装只能通过ROS调用mavros,无法查看mavros源码。主要我试了频频,无法通过源码安装上。
  1. sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
  2. cd /opt/ros/noetic/lib/mavros
  3. sudo -E ./install_geographiclib_datasets.sh
复制代码
第二种方法

若上述最后一条命令执行不下来,可以自行下载需要的三个文件夹,然后上传到/usr/share/GeographicLib中

1.GeographicLib geoids egm96-5 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm96-5.tar.bz2/download
2.GeographicLib gravity egm 96官网下载链接
https://sourceforge.net/projects/geographiclib/files/gravity-distrib/egm96.zip/download
3.GeographicLib magnetic emm2015 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/magnetic-distrib/emm2015.zip/download
测试

  1. roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
复制代码
来测试mavros是否安装乐成,如果没有报错,那阐明安装乐成。
OGC 地面站安装

  1. sudo usermod -a -G dialout $USER
  2. sudo apt-get remove modemmanager -y
  3. sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
  4. sudo apt install libqt5gui5 -y
  5. sudo apt install libfuse2 -y
复制代码
重启电脑,下载QGroundControl.AppImage
下载完成后,安装并运行
  1. chmod +x ./QGroundControl.AppImage
  2. ./QGroundControl.AppImage  (or double click)
复制代码
测试mavros与sitl通讯

接下来我们测试MAVROS与SITL通讯是否正常,先打开QGC地面站,然后输入
  1. roslaunch px4 mavros_posix_sitl.launch
  2. rostopic echo /mavros/state
复制代码
如果出现了connected: True,则表明通讯乐成。

输入以下命令
  1. commander takeoff # 起飞
  2. commander land    # 降落
复制代码
无人机将会腾飞和降落,并且mavros显示信息会发生厘革。
参考

PX4官网PX4安装指南
PX4官网MAVROS安装指南

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

吴旭华

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表