PX4飞控开发——环境配置及编译ubuntu18.04

2023-05-16

PX4飞控学习过程(随着学习不断更新,欢迎讨论)

  • 一、 安装时遇到的问题
  • 二、 添加环境变量及编译
  • 三、 解決E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)的問題
  • 四、 VScode无法观测整个工作空间

一、 安装时遇到的问题

由于官方的环境脚本ubuntu_sim_nuttx.sh总是安装失败,所以使用Amov制作的ubuntu18.04系统环境包,该系统是通过systemback软件打包好的ubuntu系统,省去了PX4和ros等环境的安装过程,较为方便,但安装过程依然存在很多问题:

  1. Amov的px4 ubuntu系统环境如果需要可以找我获取,比较大无法上传;
  2. 整体安装过程按照amov论坛上的进行即可[入门教程] Ubuntu18-iso-安装说明视频,有关如何安装windows和ubuntu双系统的方法网络上很多ubuntu双系统安装教程;
  3. 在了解上述两个问题,大致知道如何安装ubuntu系统和如何使用systemback install安装ubuntu系统之后,来看一下使用amov制作的系统包安装过程会遇到的问题;
  4. 很多人都提到新笔记本电脑硬盘的m2端口systemback软件是无法识别的,也就是说如果你电脑的硬盘是m2的端口,systemback无法分区无法设置相应的挂载点,解决办法论坛也给出了回复
    https://bbs.amovlab.com/forum.php?mod=viewthread&tid=961&page=1#pid3926
  5. 但根据该办法使用live mode模式分区时千万注意格式化硬盘要谨慎操作;
  6. 分区可以使用gparted软件,下载该软件前先修改软件下载镜像源(我一直用的清华源,可以加快下载速度),很简单百度即可,修改好之后打开终端,输入:
sudo apt-get install gparted
  1. 打开gparted软件进行分区,挂载点的分区直接按照论坛中的提示即可,200MB-boot/efi、4G-swap、剩下的全部分一个区。
  2. 之后修改硬盘分区编号,打开终端中分别输入:
sudo ln /dev/nvme0n1 /dev/sdd
sudo ln /dev/nvme0n1p1 /dev/sdd1
sudo ln /dev/nvme0n1p2 /dev/sdd2
sudo ln /dev/nvme0n1p3 /deb/sdd3

注意这里的nvme0n1是你的硬盘编号,在disks或gparted软件中可以查到,后三条命令中的nvme0n1p1、nvme0n1p2、nvme0n1p3分别是你刚刚分出来的三个分区编号,同样在gparted软件中可以查到,千万注意,要输入你自己刚分出来的三个分区编号;
 9.重启电脑,接着按照论坛的安装教程安装即可。

二、 添加环境变量及编译

1. 安装好之后的主目录如下,
主目录文件如果重启电脑发现project、Tools两个文件夹没有了,可从project.zip下载,其中project中包含固件(v1.9.2版本)。也可以自己从github网站clone固件,下载指定版本固件的命令:

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

Tools中包含地面站(版本比较旧,最好自己下载最新版)。
2.该系统包中包含了添加环境变量的脚本,可以直接source该脚本实现ros等环境变量的添加,非常方便。
在这里插入图片描述

3.此时可以进入/project/some/Firmware/文件夹中编译固件,px4的编译命令如下:

make px4_fmu-v2_default

如果记不住命令,也可以通过make (两次table键)来补齐命令。
编译时如果遇到出错,显示gcc编译工具问题,可以自己下载gcc交叉编译工具,然后添加环境变量的方法来修改。方法如下:
下载gcc编译工具gcc-arm-none-eabi-7-2017-94-major,这里贴出我的云盘地址
https://cloud.189.cn/t/J3AJv2B3UjM3
下载好后解压到Tools文件夹中,打开终端输入:

sudo gedit ~/.bashrc

在最后一行输入:

export PATH=$PATH:/home/你刚刚解压的gcc文件夹中bin文件夹的路径

我的系统对应的是:

export PATH=$PATH:/home/lee/Tools/gcc-arm-none-eabi-7-2017-94-major/bin

在这里插入图片描述
保存,退出,执行编译,需要什么库按照提示安装对应的库即可。
重新编译,直接成功。
编译成功后,数据线连接飞控板,终端输入:

make px4_fmu-v2_default upload

在某些飞控板上上传固件时可能会失败,出现如下问题:

ERROR: Board can accept larger flash images (2080768 bytes) than board config (1032192 bytes). Please use the correct board configuration to avoid lacking critical functionality.
FAILED: platforms/nuttx/CMakeFiles/upload

这是由于官方对飞控板的调整,官方说明,px4fmu-v2_default是针对pixhawk1生成镜像,那么我们的板子是pixhawk1吗?官网上写着The main difference is that it is based on the Pixhawk-project FMUv3 open hardware design, which corrects a bug that limited the original Pixhawk 1 to 1MB of flash.
再看官网对于各个型号的pixhawk的make命令:

Pixhawk 1: make px4fmu-v2_default
HKPilot32: make px4fmu-v2_default
Pixfalcon: make px4fmu-v2_default
Dropix: make px4fmu-v2_default
mRo Pixhawk: make px4fmu-v3_default (supports 2MB Flash)
mRo X-2.1: make auav-x21_default
Pixhawk 2: make px4fmu-v3_default
Pixracer: make px4fmu-v4_default
MindPX/MindRacer: make mindpx-v2_default
Pixhawk Mini: make px4fmu-v3_default
Pixhawk 3 Pro: make px4fmu-v4pro_default
Crazyflie 2.0: make crazyflie_default
Intel® Aero Ready to Fly Drone: make aerofc-v1_default
Pixhawk 4: make px4fmu-v5_default
AUAV-X2 (Discontinued): make px4fmu-v2_default

可以发现我们使用的v2.4.8的飞控板对应的编译命令改为了:

make px4_fmu-v3_default

重新编译并上传,成功。
在这里插入图片描述

三、 解決E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)的問題

安装好系统以及环境变量,能够编译固件之后,我们还想下载一些软件,比如浏览器和文档查看器等,最简单的办法就是通过Ubuntu系统自带的软件商店来安装,或者是从网上下载软件对应的.deb安装包,通过系统自带的软件安装器来安装,但有时系统会显示E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)在这里插入图片描述
此时无论何种方式都无法成功安装软件。解决方法为:ubuntu 问题解决-----------无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
或者直接在文件夹中找到相应的两个lock文件,运行sudo rm lock即可。

四、 VScode无法观测整个工作空间

我们在用VScode软件进行飞控代码开发时,由于固件的整个工作空间太大导致VScode无法观测到整个空间中的文件变化,按照其提示进行修改。
在这里插入图片描述在/etc/sysctl.conf文件的最后一行添加命令,添加后结果为:
在这里插入图片描述重启VScode软件即可解决问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PX4飞控开发——环境配置及编译ubuntu18.04 的相关文章

  • 工作后,如何免费查论文

    工作后 xff0c 如何免费查论文 毕业后不能像在学校一样享受下载免费论文的待遇了 免费论文 毕业论文 各专业论文在哪里可以下载 xff1f 如果你的学校图书馆有数据库 xff0c 那当然是优先选择 xff0c 很多学校购买了期刊的数据 x
  • LVI-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping的紧耦合的雷达视觉惯性里程计框架 xff0c LVI SAM xff0c 能够实时状态估计和建图 xff0c 且具有很高的精度和鲁棒性 LVI SAM基于因子图构建 xff0
  • LIO-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping实现的紧耦合激光惯性里程计框架 xff0c LIO SAM xff0c 能够取得高精度 实时的移动机器人的轨迹估计和地图构建 LIO SAM基于因子图构建 xff0c 把多个
  • R3live论文翻译

    摘要 在本文中 xff0c 我们提出了一个新颖的激光惯性视觉传感器融合框架 xff0c 也就是R3live xff1b 它利用了激光雷达 惯性和视觉传感器的测量值 xff0c 可以得到鲁棒和高精度的状态估计 R3live包含了两个子系统 x
  • FAST-LIO2论文翻译

    摘要 本文提出了FAST LIO2 xff1a 一个快速 xff0c 鲁棒和多功能的雷达惯性里程计框架 基于高效的紧耦合的迭代卡尔曼滤波 xff0c FAST LIO2有两个关键的创新点 xff0c 可实现快速 鲁棒和准确的激光导航 xff
  • FAST-LIO论文翻译

    摘要 本文提出了一个计算效率较高和鲁棒的激光 惯性里程计框架 我们使用基于紧耦合的迭代扩展卡尔曼滤波器将LiDAR特征点与IMU数据融合在一起 xff0c 以便在发生退化的快速运动 xff0c 嘈杂或杂乱环境中实现稳健的导航 为了在存在大量
  • Faster-lio论文翻译

    摘要 本文提出了一种基于增量体素的激光惯性里程计 xff08 LIO xff09 方法 xff0c 用于快速跟踪旋转和固态激光雷达 为了实现快速的跟踪速度 xff0c 我们既没有使用复杂的基于树的结构来划分空间点云 xff0c 也没有使用严
  • Cartographer论文翻译(回环)

    摘要 便携式激光测距仪 xff08 也被称为激光雷达 xff09 和同步定位与建图 xff08 SLAM xff09 技术是获取竣工平面图的有效方法 实时生成和可视化平面图有助于操作员评估捕获数据的质量和覆盖范围 构建一个便携式捕获平台需要
  • Ubuntu 还原回默认源

    虽然国内源的速度快很多 xff0c 但是有些软件国内源没有 xff0c 或者版本较旧 xff0c 没有的情况还好 xff0c 会有意识的找原来的源 xff0c 但是如果是版本较旧的 xff0c 安装了以后会导致你陷在版本的坑 xff0c 爬
  • 基于ROS的机械臂手眼标定-Aruco使用与相机标定

    基于ROS的机械臂手眼标定 Aruco使用与相机标定 你好 xff0c 我是小智 折腾了一段时间的机械臂的手眼标定 xff0c 相关资料挺多的 xff0c 但使用起来都比较复杂 xff0c 新手一般比较难搞懂 于是想做一个比较简单易懂易用的
  • 机器人手眼标定原理介绍(含详细推导过程)使用Tsai-Lenz算法

    最近找小鱼问手眼标定的非常多 xff0c 但是小鱼时间有限 xff0c 拉了个小群大家讨论 xff0c 二维码失效可以关注公众号鱼香ROS下方加小鱼好友拉你进群 手眼标定原理及常用算法Tsai Lenz介绍 大家好 xff0c 我是小鱼 上
  • 自制Pixracer自定义IMU传感器飞控

    自制Pixracer自定义IMU传感器四层通孔板飞控 xff0c 板载DC降压 xff1a 飞行演示视频如下链接 xff1a https v youku com v show id XNDgxMjUzODc2MA 61 61 html
  • gazebo又卡又慢?快把你的显卡用起来!点击查看如何使用显卡运行gazebo~

    2021 10 11 更新 经测试发现 xff0c 使用系统自带的显卡驱动安装程序 xff0c 更加方便快捷 步骤如下 xff1a 设置 gt 关于 gt 软件和更新 gt 附加驱动 gt 找到推荐的驱动直接点应用即可 之前的原文 大家好
  • 机器人学习必看系列:如何使用moveit控制真实机械臂?

    大家好 xff0c 我是你们可爱的小鱼 最近关于moveit相关的问题感觉非常多 xff0c 毕竟机械臂 43 视觉的应用的确是非常的火爆 xff0c 小鱼都想直接开课教机械臂运动规划相关的了 有的同学问小鱼 xff0c 怎么使用movei
  • 如何一行代码安装ROS|2022最新版|一行代码安装ROS2|一行代码解决rosdep|一行代码配置多ROS环境

    2022最新版本V3 0 大家好 xff0c 我是小鱼 xff0c 经过一周多的完善 还是熟悉的一行代码 span class token function wget span http fishros com install O fish
  • 小鱼带你一起使用docker来跑ros2小乌龟|docker安装ros2|docker可视化

    各位鱼粉大家好 xff0c 我是爱折腾的小鱼 动手学ROS2开课了 xff0c 晚上买了个大鸡腿奖励了一下自己 xff0c 说起来小鱼最近又胖了不少 xff0c 俨然成了条胖鱼 xff01 昨晚小鱼搭建了一个私人的网盘 xff0c 使用do
  • 鱼香ROS网站上线|一行代码安装ROS/ROS2/解决rosdep问题|小鱼脚本

    大家好 xff0c 我是开心的小鱼 xff0c 经过几个月的努力 xff0c 动手学ROS2课程终于和小伙伴们见面了 xff0c 有很多小伙伴一下午的时间就把前两章给搞定了 xff0c 小鱼要抓紧啦 之前说的鱼香ROS网站已经上线啦 xff
  • ROS2安装Gazebo11并运行两轮差速样例程序

    大家好 xff0c 我是小鱼 告诉大家一个好消息 xff0c 小鱼把吃灰多年的板子卖掉了 xff0c 一共卖了70块钱 xff0c 然后又入手一个逻辑分析仪 xff0c 准备做一个ROS2的小车 xff0c 所以今天我们来使用gazebo来
  • 二维相机能得到三维信息?机器人感知部分之Aruco标定板的使用

    大家好 xff0c 我是小鱼 xff0c 今天来介绍一下Aruco并是结合ROS来进行识别 aruco其实是opencv中的一个库 xff0c 可以将特定的标记物转换成三维的坐标 xff0c 所以它是可以脱离ROS进行使用的 aruco介绍
  • 《动手学ROS2》扩展阅读2:ROS2客户端库RCL介绍

    本系列教程作者 xff1a 小鱼 公众号 xff1a 鱼香ROS QQ交流群 xff1a 139707339 教学视频地址 xff1a 小鱼的B站 完整文档地址 xff1a 鱼香ROS官网 版权声明 xff1a 如非允许禁止转载与商业用途

随机推荐

  • 《动手学ROS2》5.8Action客户端Python实现

    本系列教程作者 xff1a 小鱼 公众号 xff1a 鱼香ROS QQ交流群 xff1a 139707339 教学视频地址 xff1a 小鱼的B站 完整文档地址 xff1a 鱼香ROS官网 版权声明 xff1a 如非允许禁止转载与商业用途
  • 《动手学ROS2》6.5Gazebo介绍

    本系列教程作者 xff1a 小鱼 公众号 xff1a 鱼香ROS QQ交流群 xff1a 139707339 教学视频地址 xff1a 小鱼的B站 完整文档地址 xff1a 鱼香ROS官网 版权声明 xff1a 如非允许禁止转载与商业用途
  • Pixhawk无人机精准降落

    转自 xff1a http blog sina com cn s blog 6266a8840102xa77 html 多标记识别 xff0c 比官方的IR LOCK还要灵活 xff1a
  • 三位数的IMU长什么样?二位数的呢?不要钱的呢?| 为FishBot配置IMU惯性测量单元

    大家好 xff0c 我是小鱼 xff0c 上节课通过配置两轮差速控制器我们已经成功的让fishbot在gazebo中动了起来 xff0c 本节课我们通过给fishbot的URDF配置IMU传感器插件 xff0c 让IMU模块工作起来 1 惯
  • 本文之后,再无ROS安装问题 | 10分钟在Windows搭建好ROS开发环境

    很多新手刚开始学习ROS的时候因为用不惯Linux xff0c 加上安装虚拟机的各种和安装ROS的时候各种难受的折腾 xff0c 看着挺让人心疼 xff0c 所以本篇文章主要针对Windows上利用Docker和各种奇淫技巧让你轻松在Win
  • YoloV5+ROS2直接发布出物品坐标

    大家好 xff0c 我是秃头了依然在敲代码的小鱼 最近小鱼又整了一个开源库 xff0c 结合YOLOV5订阅图像数据和相机参数 xff0c 直接给出一个可以给出识别物品的坐标信息 xff0c 方便进行识别和抓取 xff0c 目前适配完了2D
  • IKFAST太难配?小鱼OpenRave的Docker镜像分享给你!

    大家好 xff0c 我是倒腾了一天机械臂的小鱼 众所周知 xff0c moveit自带的求解器 xff0c 使用的是数值解 xff0c 求解结果稳定性是要看人品的 xff0c 不过Moveit支持通过配置来更换求解器 xff0c 目前比较公
  • 小鱼的一键安装系列

    小鱼的一键安装系列 鱼香ROS介绍 xff1a 鱼香ROS是由机器人爱好者共同组成的社区 xff0c 欢迎一起参与机器人技术交流 进交流群请加机器人小伊微信 xff1a fishros2048 文章信息 xff1a 标题 xff1a 小鱼的
  • ubuntu18.04 ros-melodic 在安装ros依赖包时总是出现E软件包无法定位

    ubuntu18 04 ros melodic 在安装ros依赖包时总是出现E软件包无法定位 鱼香ROS介绍 xff1a 鱼香ROS是由机器人爱好者共同组成的社区 xff0c 欢迎一起参与机器人技术交流 进交流群请加机器人小伊微信 xff1
  • 树莓派4B(Pi buster)一键安装apt存在问题,WARNING: apt does not have a stable CLI interface

    树莓派4B xff08 Pi buster xff09 一键安装apt存在问题 xff0c WARNING apt does not have a stable CLI interface 鱼香ROS介绍 xff1a 鱼香ROS是由机器人爱
  • ROS1/ROS2版本代号

    ROS1 ROS2版本代号 鱼香ROS介绍 xff1a 鱼香ROS是由机器人爱好者共同组成的社区 xff0c 欢迎一起参与机器人技术交流 进群加V xff1a fishros2048 文章信息 xff1a 标题 xff1a ROS1 ROS
  • 一键安装失败

    一键安装失败 鱼香ROS介绍 xff1a 鱼香ROS是由机器人爱好者共同组成的社区 xff0c 欢迎一起参与机器人技术交流 进群加V xff1a fishros2048 文章信息 xff1a 标题 xff1a 一键安装失败 原文地址 xff
  • 在ROS 2中使用QT,显示话题内容,详细配置代码

    功能包类型选ament cmake xff0c 核心代码是这两句 xff0c 把spin单独出来 xff0c 不然接收不到话题数据 std thread spin thread listener gt void rclcpp spin li
  • 进程切换-

    实验课之前有一些问题 中断机制 第一个问题 xff1a interrupt的两个状态源头 xff1a 外中断多由随机中断 xff08 异步中断 xff09 造成 xff0c 如鼠标点击 xff0c 键盘输入 xff1b 内终端多由故障终端
  • 前后端分离项目 — 基于SpringSecurity OAuth2.0用户认证

    1 前言 现在的好多项目都是基于APP移动端以及前后端分离的项目 xff0c 之前基于Session的前后端放到一起的项目已经慢慢失宠并淡出我们视线 xff0c 尤其是当基于SpringCloud的微服务架构以及Vue React单页面应用
  • Android Studio com.android.support:percent 导入错误

    看第一行代码 xff08 第二版的 xff09 书 xff0c 讲了一个关于PercentFrameLayout和PercentRelativeLayout的部分 xff0c 书上在build gradle中导入了com android s
  • BS_TYPEMASK 重定义

    问题来源 CButtonST从VC6移植到VS2008的时候 xff0c 会提示下面语句重定义 span class token macro property span class token directive keyword defin
  • Ubuntu安装python

    CentOS 安装 Python3 没什么坑 xff0c 按照步骤一步步来就可以了 但 Ubuntu 安装 Python3 的坑却不少 xff0c 这里总结一下 xff0c 避免以后继续踩坑 我用的是 ubuntu16 04 xff0c 安
  • 【深度学习】Pytorch中cv2的错误 TypeError: Expected Ptr<cv::UMat> for argument ‘img‘

    错误出现的原因应该为数据之间出了冲突 xff0c 需要在某些地方调用 copy 函数 当我查看画框后的原图和旋转后的图片时 xff0c 发现它只是旋转的原图 xff0c 而不是将原图直接拷贝一份再旋转 下面为代码 xff1a import
  • PX4飞控开发——环境配置及编译ubuntu18.04

    PX4飞控学习过程 xff08 随着学习不断更新 xff0c 欢迎讨论 xff09 一 安装时遇到的问题二 添加环境变量及编译三 解決E 无法获得锁 var lib dpkg lock frontend open 11 资源暂时不可用 的問