PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky

2023-05-16

前提

  •  用UART1连接PX4FMU和计算机
  •  安装PX4Toolchain
  •  注册Github账户

Step 1: 准备源码文件

为了方便管理代码,可以使用GIT 版本控制系统,在 GitHub上 fork和更新源码。

不注册GitHub的话,可以在PX4 console中输入下面的命令:

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

更新the git submodules,在 PX4 console上输入:

cd Firmware
git submodule init
git submodule update

文件准本完成,编译操作系统,输入:

make archives

submodules或者NuttX 配置改变,重新编译。

Firmware/src/examples/ 新建目录px4_simple_app,在目录中新建文件module.mk并添加如下内容:

MODULE_COMMAND		= px4_simple_app
SRCS			= px4_simple_app.c

Step 2: 最小程序

在px4_simple_app目录下创建px4_simple_app.c文件。

遵循PX4 CodingStyle 编辑如下代码:

/**
 * @file px4_simple_app.c
 * Minimal application example for PX4 autopilot.
 */
 
#include <nuttx/config.h>
#include <stdio.h>
#include <errno.h>
 
__EXPORT int px4_simple_app_main(int argc, char *argv[]);
 
int px4_simple_app_main(int argc, char *argv[])
{
	printf("Hello Sky!\n");
	return OK;
}

Step 3: 在NuttShell中注册应用并build

完成了应用并可以运行,但是没有在NuttShell 命令中注册。为将应用编译到固件当中,将其填加到需要build的模块中。该配置位于:

Firmware/makefiles/nuttx/config_px4fmu-v2_default.mk

在上面的文件中的任意位置,为应用创建一行:

MODULES		+= examples/px4_simple_app

然后编译,并清除已经build的应用:

make clean
make px4fmu-v2_default -j4

如果没有注册新的app,只需要对新增的builds执行下述命令:

make px4fmu-v2_default -j4

Step 4:加载应用并测试

使能uploader 然后重置电路板:

make upload px4fmu-v2_default -j4

在重置电路板之前显示如下一系列信息:

Generating /Users/user/src/Firmware/Images/px4fmu.px4
Loaded firmware for 5,0, waiting for the bootloader...

电路板充值并上载后,打印:

Found board 5,0 on /dev/tty.usbmodem1
erase...
program...
verify...
done, rebooting.

运行px4 Toolchain 下的TeraTerm,运行File/New connection,选择飞控所在的串口,点击OK。按回车,出现nsh>.

NSH连接的情况下,切换到shell.如果没有看到输出,敲击Enter键,会得到NSH提示;

或者也可以,使用QGroundControl进行NuttShell (NSH),使用Mini-USB连接Pixhawk,按照下图进行。点击QGroundControl上的终端输出,并敲击Enter键。

nsh>

输入 help,并敲击Enter:

nsh> help
  help usage:  help [-v] [<cmd>]

  [           df          kill        mkfifo      ps          sleep       
  ?           echo        losetup     mkrd        pwd         test        
  cat         exec        ls          mh          rm          umount      
  cd          exit        mb          mount       rmdir       unset       
  cp          free        mkdir       mv          set         usleep      
  dd          help        mkfatfs     mw          sh          xd          

Builtin Apps:
  reboot
  perf
  top
  ..
  px4_simple_app
  ..
  sercon
  serdis

px4_simple_app 现在成为可用的指令。输入px4_simple_app敲击Enter:

nsh> px4_simple_app
Hello Sky!


版权声明:本文为博主[翻译]文章,未经博主允许可以转载,注明博客出处:[http://blog.csdn.net/lkk05]







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

PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky 的相关文章

  • PX4代码学习系列博客(5)——在px4中添加自己的模块

    怎么在px4中添加自己的模块 在 px4固件目录结构和代码风格 这一节 xff0c 曾经说过NuttX是一个实时的嵌入式系统 xff0c 上面可以像windows那样运行程序 那既然是应用程序 xff0c 那我们应该也能写一些可以在Nutt
  • 我设计了一款开源飞控,性能远超Pixhawk,运行APM固件-怒飞垂云

    从2009年到现在 xff0c 我从事无人机研发将近11年了 xff0c 中途设计过很多飞控 xff0c 有闭源的无人飞艇飞控 大型固定翼无人机飞控 xff0c 也有在开源飞控Pixhawk基础上修改的飞控 xff0c 如今 xff0c 基
  • PX4 -- EKF2

    文章目录 EKF2参数高度估计Range Finder滤波 单变量更新单变量更新对多变量的影响 EKF2 参数 EKF2 中有一类 GATE 参数 当测量值在 VAR GATE 范围内才会更新值 高度估计 四种高度控制方法 xff1a 气压
  • 教程:使用树莓派连接Pixhawk飞控

    教程 xff1a 使用树莓派连接Pixhawk飞控 树莓派可以与Pixhawk飞控相连 xff0c 读取飞控中的状态信息 xff0c 同时对飞控发送指令 树莓派作为一个更高性能的计算平台 xff0c 可以运行图像识别 机器学习 实时路径规划
  • DroneKit教程(二):控制Pixhawk示例

    DroneKit教程 xff08 二 xff09 xff1a 控制Pixhawk示例 本篇提供了一个简单的示例 xff0c 配以详细的注释说明不同语句的功能 xff0c 希望能给各位一个总体的框架和印象 该示例文件改写自DroneKit的官
  • PX4模块设计之一:SITL & HITL模拟框架

    PX4模块设计之一 xff1a SITL amp HITL模拟框架 1 模拟框架1 1 SITL模拟框架1 2 HITL模拟框架 2 模拟器类型3 MAVLink API4 总结 基于PX4开源软件框架简明简介的框架设计 xff0c 逐步分
  • PX4模块设计之四:MAVLink简介

    PX4模块设计之四 xff1a MAVLink简介 1 MAVLink PX4 应用简介2 MAVLink v2 0新特性3 MAVLink协议版本4 MAVLink通信协议帧4 1 MAVLink v1 0 帧格式4 2 MAVLink
  • PX4模块设计之十七:ModuleBase模块

    PX4模块设计之十七 xff1a ModuleBase模块 1 ModuleBase模块介绍2 ModuleBase类介绍3 ModuleBase类功能介绍3 1 模块入口3 2 模块启动3 3 模块停止3 4 状态查询3 5 任务回调3
  • PX4模块设计之二十四:内部ADC模块

    PX4模块设计之二十四 xff1a 内部ADC模块 1 内部ADC模块简介2 模块入口函数2 1 主入口board adc main2 2 自定义子命令custom command 3 内部ADC模块重要函数3 1 task spawn3
  • PX4模块设计之三十九:Commander模块

    PX4模块设计之三十九 xff1a Commander模块 1 Commander模块简介2 模块入口函数2 1 主入口commander main2 2 自定义子命令custom command 3 Commander模块重要函数3 1
  • PX4模块设计之四十六:dataman模块

    PX4模块设计之四十六 xff1a dataman模块 1 dataman模块简介2 模块入口函数dataman main3 dataman模块重要函数3 1 start3 2 stop3 3 status3 4 task main 4 A
  • mavros连接px4失败的usb-ttl原因

    问题描述 xff1a 最近在搞mavros xff0c 以方便协处理器和pixhawk通讯 xff0c 在按照官网教程安装mavros xff0c 设置px4 xff0c 连接硬件之后发现mavros卡在中间下不去 xff1a MAVROS
  • PX4-4-任务调度

    PX4所有的功能都封装在独立的模块中 xff0c uORB是任务间数据交互和同步的工具 xff0c 而管理和调度每个任务 xff0c PX4也提供了一套很好的机制 xff0c 这一篇我们分享PX4的任务调度机制 我们以PX4 1 11 3版
  • 【px4】运行mavsdk中的offboard example

    运行MAVSDK中的offboard例子时无人机不执行 想控制无人机前后左右移动 xff0c 在按照官方教程实现offboard 插件的时候 发现用action插件能正常起飞和降落 但是一旦执行到offboard的插件代码的时候就会自动降落
  • PX4飞控之自主返航(RTL)控制逻辑

    本文基于PX4飞控1 5 5版本 xff0c 分析导航模块中自护返航模式的控制逻辑和算法 自主返航模式和导航中的其他模式一样 xff0c 在Navigator main函数中一旦触发case vehicle status s NAVIGAT
  • PX4中自定义MAVLink消息(记录)

    简单记录一下这个过程 一 自定义uORB消息 这一步比较简单 xff0c 首先在msg 中新建ca trajectory msg文件 uint64 timestamp time since system start span class t
  • 步骤五:PIXHAWK遥控器的使用

    采用福斯i6s遥控 1 连接飞控 打开遥控器 xff0c 接收机插上飞控 xff0c 再插上送的短接线 xff0c 进行匹配对码RX 2 遥控器长按两秒锁 xff0c system output mode Output mode按照图片这样
  • 步骤八:PX4使用cartographer与move_base进行自主建图导航

    首先老样子硬件如下 飞控 HOLYBRO PIXHAWK V4 PX4 机载电脑 jetson nano b01 激光雷达 思岚a2 前提 你已经完成了cartographer建图部分 能够正常输出map话题 前言 由于要参加中国机器人大赛
  • PX4项目学习::(五)模块代码启动流程

    54条消息 PX4 模块代码启动流程 zhao23333的博客 CSDN博客
  • PX4:Policy “CMP0097“ is not known to this version of CMake.

    make px4 fmu v3 时报的错 CMake版本的问题 由https blog csdn net zhizhengguan article details 118380965推测 xff0c 删除cmake policy也没事 ma

随机推荐

  • 盘点|2021年最受欢迎Linux桌面操作系统前十名

    简介 xff1a 根据各操作系统镜像站后台下载量 xff0c 阿里云镜像站统计了2021年最受欢迎的Linux桌面操作系统 xff0c 仅根据调用量排名 xff0c 供大家参考 排位最高的还是Centos xff0c 受中国Linux用户欢
  • VSLAM框架对比

    xff08 一 xff09 单目VSLAM特点介绍 xff1a 1 ORB SLAM2 工作流程 xff1a 主要模块 xff1a 前端 xff1a ORB特征提取匹配 xff0c 估计相机位姿 xff1b 根据跟踪地图点数的减少选择关键帧
  • ORB-SLAM3的Euroc数据集测试

    xff08 一 xff09 测试运行 不同模式测试过程 xff08 以MH 03为例 xff09 1 pure mono 运行SLAM xff1a cd ORB SLAM3 Example run slam Monocular mono e
  • 阶段性工作总结

    xff08 一 xff09 简介 1 常用VSLAM开源框架对比 xff0c 初步研究方向确定 2 ORB SLAM3的数据集测试 xff0c 各种模式下的运行性能对比 xff0c 及IMU模式下与Vins对比实验 3 adas视频在ORB
  • 第二阶段文献总结

    xff08 一 xff09 CoSLAM 1 系统功能和亮点 功能 xff1a 本文是第一个动态场景下多相机合作的同时定位 静态图构建 动态点轨迹估计的SLAM系统 亮点 xff1a 引入相机间位姿估计和相机间建图解决动态物体问题维护每一个
  • 第三阶段文献总结

    motion分割相关方法 xff08 一 xff09 Semantic segmentation aided visual odometry for urban autonomous driving 1 文章特点 xff1a VO中包含重投
  • 动态场景SLAM相关论文总结

    参考文献 xff1a VDO SLAM xff08 动物判别与跟踪 xff09 DynaSLAM xff08 深度学习 43 多视图几何分割 xff09 CoFusion xff08 语义 43 运动分割 xff09 Meaningful
  • 算法总结——八皇后问题(三种解法)

    问题描述 会下国际象棋的人都很清楚 xff1a 皇后可以在横 竖 斜线上不限步数地吃掉其他棋子 如何将8个皇后放在棋盘上 xff08 有8 8个方格 xff09 xff0c 使它们谁也不能被吃掉 xff01 这就是著名的八皇后问题 对于某个
  • 游戏开发图书推荐--我读过的技术经典图书

    很多同学问我学游戏开发应该看些什么书 xff0c 我在这里抛砖引玉 xff0c 给一份推荐表 xff0c 希望大家共同提高 由于本人英文不太好 xff0c 推荐的大部书籍都是国人编写的 xff0c 有些经典的外文图书可能是翻译不好 xff0
  • (四)加入摄像头的系统

    打开摄像头的方法在第一章里就讲到了 xff0c 而且使用了多线程完成 所以这一章的内容就是将之前第一章的代码做移植 xff0c 进行小幅度的修改 xff0c 应用到当前系统上就可以了 在UI界面上已经放好了用来显示摄像头信息的label 在
  • 安卓不透明度和透明度

    安卓不透明度和透明度 xff1a 不透明度透明度16进制100 0 FF99 1 FC98 2 FA97 3 F796 4 F595 5 F294 6 F093 7 ED92 8 EB91 9 E890 10 E689 11 E388 12
  • Centos7安装PHP

    阿里云官方镜像站 xff1a 阿里巴巴开源镜像站 OPSX镜像站 阿里云开发者社区 我们在系统安装软件时都会遇到各种小问题 xff0c 那么如何才能提高我们在云服务器上的软件安装效率呢 xff1f 接下来就为大家详细介绍下如何在 CentO
  • Canny边缘检测

    Canny边缘检测 1 使用高斯滤波器 xff0c 以平滑图像 xff0c 滤除噪声 2 计算图像中每个像素点的梯度强度和方向 3 应用非极大值 xff08 Non Maximum Suppression xff09 抑制 xff0c 以消
  • MBus协议详解(一)

    看了许多关于MBus协议的资料 xff0c 感觉说的不具体 不完整 也不系统 xff0c 本人准备结合一个具体的产品实现 xff0c 从理论和实现上对MBus协议做一个详细的论述 xff0c 如有不当之处 xff0c 欢迎讨论 1 介绍 M
  • 机器学习期末复习题题库-单项选择题

    1 属于监督学习 的机器学习算法是 xff1a 贝叶斯分类器 2 属于无监督学习 的机器学习算法是 xff1a 层次聚类 3 二项式 分布的共轭分布是 xff1a Beta分布 4 多项式 分布的共轭分布是 xff1a Dirichlet分
  • Linux中查看磁盘大小、文件大小、排序方法小结

    一 xff0c 查看磁盘空间大小的命令 xff1a df df命令用于查看磁盘分区上的磁盘空间 xff0c 包括使用了多少 xff0c 还剩多少 xff0c 默认单位是KB 比如以下命令 xff1a df hl 执行结果如下 xff1a 执
  • 【Mac M1】安装stable diffusion webui教程及问题集锦

    这里写自定义目录标题 我的配置MacBookPro 14 M1安装视频教程可参考如下链接 xff1a 主播讲的挺清楚安装步骤 xff1a 第一步 xff1a 安装homebrew第二步 xff1a 安装pytorch第三步 xff1a 安装
  • cmake找不到trigger_msgsConfig.cmake 解决办法

    在编译FLIR相机驱动时遇到 百度无人记录此问题 xff0c 特此记录解决办法 sudo apt install ros melodic image transport
  • PX4源码开发人员文档(一)——软件架构

    软件架构 PX4 在广播消息网络内 xff0c 按照一组节点 xff08 nodes xff09 的形式进行组织 xff0c 网络之间使用像如 姿态 和 位置 之类的语义通道来传递系统状态 软件的堆栈结构主要分为四层 应用程序接口 提供给
  • PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky

    前提 用UART1连接PX4FMU和计算机 安装PX4Toolchain 注册Github账户 Step 1 准备源码文件 为了方便管理代码 xff0c 可以使用GIT 版本控制系统 xff0c 在 GitHub上 fork和更新源码 不注