【PX4-AutoPilot教程-开发环境】使用双系统安装Ubuntu系统并搭建PX4开发环境_ubuntu安装px4环境-程序员宅基地

技术标签: Ubuntu  Gazebo  PX4-AutoPilot  无人机  双系统  ROS2  PX4  开发环境  

使用双系统安装Ubuntu系统并搭建PX4开发环境

1.安装Ubuntu

首先安装Ubuntu双系统,双系统不麻烦而且很香,看整个教程,讲的很详细:

Ubuntu双系统安装教程

2.安装ROS

安装好Ubuntu之后需要安装ROS,推荐用鱼香ROS的一键安装。

鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本

wget http://fishros.com/install -O fishros && bash fishros

3.安装依赖

在使用apt安装的过程中,如果出现难以解决的依赖问题,可以使用aptitude install,没有aptitude的话,使用sudo apt install aptitude命令安装。

使用sudo aptitude install,它会依次推荐依赖解决方案,觉得可行就按y,不可行就按n。

依次进行依赖的安装,直至每一个包都按正确版本安装。

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 packaging pyargparse kconfiglib jsonschema future

4.安装QGC地面站

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。

QGroundControl.AppImage下载地址

使用终端命令安装并运行。

chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage

5.下载PX4代码

新建文件夹,文件夹名字可以任意取。

mkdir -p px4src_v1.13.0

之后我们使用lscd命令进入这个文件夹

cd px4src_v1.13.0/

从官网下载最新版本源码固件。

git clone https://github.com/PX4/Firmware.git

如果需要下载旧版本固件,请使用以下命令。

git clone -b v1.13.0 https://github.com/PX4/Firmware.git

clone成功之后,你会发现文件夹路径下面多了一个文件夹Firmware,我们使用lscd命令进入Firmware文件夹中。

cd Firmware/

Firmware里面就是PX4的源码,但是它依赖了很多其他的库,所以此时不完整还不能用,我们需要更新他的依赖。

git submodule update --init --recursive

在Ubuntu中开发基于ARM架构的STM32芯片,需要安装交叉编译器gcc-arm-none-eabi。

sudo apt-get install gcc-arm-none-eabi

使用官方脚本进一步安装相关环境。

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --no-sim-tools --no-nuttx

安装一些依赖。

sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y

之后可以编译固件。

make px4_sitl_default gazebo

然后退出gazebo,修改~/.bashrc文件,在文件的末尾加入以下代码。

# >>> PX4 initialize >>>
source ~/px4src_v1.13.0/Firmware/Tools/setup_gazebo.bash ~/px4src_v1.13.0 ~/px4src_v1.13.0/Firmware/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4src_v1.13.0
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/px4src_v1.13.0/Firmware/Tools/sitl_gazebo
# <<< PX4 initialize <<<

之后再运行以下命令。

source ~/.bashrc

6.安装MAVROS

直接运行以下指令即可。

sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras ros-noetic-mavros-msgs
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo chmod a+x ./install_geographiclib_datasets.sh
sudo ./install_geographiclib_datasets.sh

参考资料:

【PX4】Ubuntu20.04+ROS Noetic 配置PX4-v1.13和Gazebo11联合仿真环境【教程】

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_45031928/article/details/135097171

智能推荐

ECharts画分类甘特图_echarts 甘特图分层级-程序员宅基地

文章浏览阅读2.1k次。项目最近做任务排产,需要绘画甘特图,并且每两份一组,做了一个JQuery快速做了POC,实现了大部分功能,后来持续开发,做到了划定当前时间,任务多了后固定左侧列和顶部坐标轴行等等。分享博客的话就简单的分享一下做的POC吧。实现的初步效果如下分析:左侧的轴样式美观程度比较高,且需要分组,分类,我初次尝试echarts分组,样式自定义程度不好,距离还得xy算偏移量左侧使用css 右侧使用echarts,则会出现图表和css自定义的样式行对不上等等,分类随时还需要空一行每个不同的生产内容颜色区块._echarts 甘特图分层级

中小企业业财融合策略(2):财务赋能,如何支持业务经营?_业务经营支持与赋能-程序员宅基地

文章浏览阅读231次。前文我们谈到了,企业业务流程的规范性,决定了企业经营相关信息、数据获取的准确性和及时性,很多时候,财务人员对流程的规范性、完整性感知更深刻,因此企业的业务流程建设,应该要让财务参与进来,一方面:财务可以从信息流、资金流、物流协同,及企业成本和收入的角度对流程进行审视。财务由被动转为主动,并不能仅仅是财务的主观愿望,而应该是公司管理的主动安排,例如:规定每个期间财务部要对公司的运营部门做《评价报告》,该报告直接交给总经理,报告内容,侧重在过程指标的展示说明,这也是体现财务分析能力的关键!_业务经营支持与赋能

安装Ubuntu 出现ubi partman crashed,ubi-partman failed with exit code 10-程序员宅基地

文章浏览阅读6.5k次。出现这个问题好像是因为硬盘中有遗留的raid信息导致。在安装选项中添加 nodmraid参数,再启动进行安装就好了如果不会添加参数可以参考这篇文章:安装ubuntu时黑屏三种解决办法就和添加 nomodeset参数一样转载于:https://www.cnblogs.com/xiyu714/p/10125984.html..._ubi-partman crashed

Linux下找不到IFCONFIG命令_linux系统ifconfig找不到?-程序员宅基地

文章浏览阅读2.3w次。# ifconfig  提示命令不存在  使用 # /sbin/ifconfig 即可  原因: 系统默认的环境变量设置不对  在 普通用户 和root用户下分别执行echo $PATH,PATH里少了四个地址:/sbin:/usr/sbin:/usr/local/sbin:/usr/kerberos/sbin  而,ifconfig恰恰就在/sbin里面。_linux系统ifconfig找不到?

在APK中获取鸿蒙应用Ability信息_getbundleinfo-程序员宅基地

文章浏览阅读4.2k次。Android开发工具箱大概在版本2.2.0(2021-06-10)就已经支持查看鸿蒙系统信息以及鸿蒙应用信息了。这里我讲一下Android开发工具箱是如何在Android应用中(APK)获取鸿蒙应用Ability信息(类似于Android应用的四大组件信息)Android开发工具箱可在应用宝、酷安下载,微信公众号:Android开发工具箱https://www.coolapk.com/apk/com.su.assistant.proAndroid中,我们获取应用列表之后,再获取应用的P_getbundleinfo

QT QModbus Rtu Serial Master 分包_qt头文件没有qmodbus-程序员宅基地

文章浏览阅读225次。使用单独线程控制modbus收发数据,信号槽交互UI和线程间的数据,信号槽自定义结构体发送,废话不多说,上代码。//如下自定义结构体,方便信号槽发送。欢迎加入QQ群538536725灌水。//最后是qt pro配置文件。//如下主UI头文件。_qt头文件没有qmodbus

随便推点

基于MALAB的B样条曲线逼近算法(抗噪声、误差可控、支持开/闭合)-程序员宅基地

文章浏览阅读426次,点赞12次,收藏5次。给定一组有序的数据点(存在很多噪声),求解一条B样条曲线逼近于该组数据点,每个数据点到曲线的最短距离小于设定的容差TOL相比于传统的三次样条逼近算法,本算法1. 能处理带噪声的数据集,曲线更加光滑2. 所需的控制点更少

query多选下拉框插件 jquery-multiselect-程序员宅基地

文章浏览阅读106次。效果:http://www.erichynds.com/examples/jquery-ui-multiselect-widget/demos/特性支持点击label实现checkbox组选择.头部选项,如全选/ 取消全选 /关闭功能.支持键盘选择.支持5种不同的事件回调函数.以列表方式显示选中项目,并且可以设置最大显示值.方便改变位置,渐变速度,滚动..._multiselect 多级 多选插件 checkbox

Lombok简介、使用、工作原理、优缺点_lombok的优缺点-程序员宅基地

文章浏览阅读1.4k次。一、Lombok简介官方介绍Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your_lombok的优缺点

前端进阶之路-程序员宅基地

文章浏览阅读204次。前端进阶之路思维导图地址https://zh.javascript.info/红宝书:JavaScript高级程序设计绿宝书:JavaScript语言精髓与编程实践黄宝书:你不知道的JavaScript(上/中)蓝宝书:JavaScript设计模式与开发实践react工程师修炼指南JS DOM编程艺术(第2版):看红宝书的前置书,因为比较简单min-vue源码didact源码算法第四版http权威指南迷你书籍: DOM启蒙Ja

Java中解决乐观锁中ABA经典问题_java 锁 aba-程序员宅基地

文章浏览阅读397次。packagecom.yellow.cas;importjava.util.concurrent.TimeUnit;importjava.util.concurrent.atomic.AtomicInteger;importjava.util.concurrent.atomic.AtomicStampedReference;public classABATest3 { publi..._java 锁 aba

Leetcode300题总结-程序员宅基地

文章浏览阅读520次。leetcode300题总结一下