当前位置: 首页 > news >正文

ubuntu20.04+ROS Noetic 安装PX4+Mavros

文章目录

  • 系统环境
  • 安装依赖
  • PX4 安装
    • 老版本安装
    • 测试
    • 环境变量添加
    • 版本查看
  • 安装MAVROS(二进制安装非源码安装)
    • 测试
  • OGC 地面站安装
  • 测试mavros与sitl通信
  • 参考

系统环境

ubuntu 20.04
ROS Noetic

如果系统安装了Anaconda等虚拟环境管理器,要退出虚拟环境的激活,再进行下列安装,以下的安装过程我们默认退出了Anaconda的虚拟环境

conda deactivate

安装依赖

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
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml 
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse kconfiglib jsonschema future

#若报错输入这两行命令

pip install --upgrade setuptools
python -m pip install --upgrade pip

PX4 安装

以下命令,会默认安装最新的PX4固件版本

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

中间出错的话,执行下列命令

python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow

如果安装过程中有错误的话,可以再用下列命令进行安装

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing

老版本安装

git clone https://github.com/PX4/PX4-Autopilot.git
git status   # 查看当前分支,位于origin/main
git branch -r | grep "release"    # 查看所有远程分支,带release的

进行分支切换

cd PX4-Autopilot
git checkout origin/release/1.12  # 切换到发行分支v1.12
git submodule update --init --recursive	# 更新子模块
git status   # 查看当前分支,位于release/1.12

测试

安装完成,测试一下。这一步,第一次编译,需要一会功夫。

make px4_sitl_default gazebo

终端输入 commander takeoff ,可以看到无人机起飞
终端输入 commander land , 可以看到无人机降落

\;

环境变量添加

添加环境变量(添加到~/.bashrc文件中)

source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic

要根据自己 PX4-Autopilot 文件夹所在的目录来

source ~/.bashrc

版本查看

cd ~/PX4-Autopilot/ # 根据自己文件夹所在目录来
git describe --tags

此命令将显示当前Git标签,通常是PX4的版本号。

安装MAVROS(二进制安装非源码安装)

二进制安装只能通过ROS调用mavros,无法查看mavros源码。主要我试了几次,无法通过源码安装上。

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
sudo -E ./opt/ros/noetic/lib/mavros/install_geographiclib_datasets.sh

这里-E原因不好解释,请大家自行google。
如果你没有那个东西的话,可以尝试去github上把这里安装的3个文件下下来,再上传到/usr/share/GeographicLib/

测试

roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"

来测试mavros是否安装成功,如果没有报错,那说明安装成功。

OGC 地面站安装

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y

重启电脑,下载QGroundControl.AppImage

下载完成后,安装并运行

chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage  (or double click)

测试mavros与sitl通信

接下来我们测试MAVROS与SITL通信是否正常,先打开QGC地面站,然后输入

roslaunch px4 mavros_posix_sitl.launch
rostopic echo /mavros/state

如果出现了connected: True,则表明通信成功。
在这里插入图片描述

输入以下命令

commander takeoff # 起飞
commander land    # 降落

无人机将会起飞和降落,并且mavros显示信息会发生变化。

参考

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


http://www.mrgr.cn/news/80132.html

相关文章:

  • AI开源南京分享会回顾录
  • Leetcode 每日一题9.回文数
  • leetcode230.二叉搜索树中第k小的元素
  • React 第十六节 useCallback 使用详解注意事项
  • ubuntu+ros新手笔记(一)
  • ECharts柱状图-天气统计(富文本),附视频讲解与代码下载
  • Vue基础记录
  • 海康萤石摄像机接入EasyNVR流程:开启RTSP-》萤石视频添加到EasyNVR-》未来支持海康SDK协议添加到EasyNVR
  • 代码随想录算法训练营第三天 | 链表理论基础 | 707.设计链表
  • 从整个SecurityFilterChain的角度,一个请求经过Spring Security的流程
  • L23.【LeetCode笔记】验证回文串(剖析几种解法)
  • Spring 如何解决循环依赖?
  • Linux下socket广播通讯的实现
  • 图像融合算法笔记2024 CDTNet
  • pytorch_fid 安装笔记
  • 【AIGC】ChatGPT保护指令:高效提升GPTs提示词与知识库文件的安全性
  • 【PyCharm调试】显示一个对象值时会调用的方法
  • 长短期记忆神经网络(LSTM)介绍
  • 【ADS射频电路学习笔记】1. ADS基本操作
  • PHP搭建环境
  • depth wisepoint wise
  • 【收藏】Cesium 限制相机倾斜角(pitch)滑动范围
  • faster-RCNN训练【环境配置→自建数据集→训练→改错】
  • C语言实现八大排序算法
  • 【C语言】库函数常见的陷阱与缺陷(六):输入输出函数
  • kubeadm安装K8s集群之高可用组件keepalived+nginx及kubeadm部署