MavSDK&Mavros学习笔记

2023-05-16

MavSDK&Mavros学习笔记

Introduction · MAVSDK Guide (mavlink.io)

GitHub - mavlink/MAVSDK源码

C++ · MAVSDK API reference paper)

GitHub - mavlink/MAVSDK-docs单独给doc做了个仓库而且还得编译才能看的docs,使用gitbook建立

GitHub - JonasVautherin/px4-gazebo-headless: An unofficial Ubuntu-based container building and running PX4 SITL (Software In The Loop) through gazebo.

MavSDK

Mavlink是Pixhawk的通讯协议,mavlink很简单。而MavSDK可以发送Mavlink信号到飞控然后控制飞控的工具包,就不再需要自己写mavlink了。MAVSDK 是跨平台的:Linux、macOS、Windows、Android 和 iOS。多语言的c++,swift,python,java,Go,JavaScript,CSharp,Rust。在使用时可以通过串口或者tcp或者udp建立连接然后就可以控制Pixhawk飞控。在此之前可以在Ubuntu下建立Pix的源码然后并创建模拟器,然后蓝mavsdk控制模拟器里的飞机进行控制。

安装

realease版本安装(再下载一份源码看看)

wget https://github.com/mavlink/MAVSDK/releases/download/v0.37.0/mavsdk_0.37.0_ubuntu20.04_amd64.deb
sudo dpkg -i mavsdk_0.37.0_ubuntu20.04_amd64.deb

示例程序的使用

Build and Try Example

git clone https://github.com/mavlink/MAVSDK.git --recursive
cd MAVSDK
cd examples
cd takeoff_and_land/
cmake -Bbuild -H.
cmake --build build -j4

Running an Example

build/takeoff_and_land udp://:14540 

模拟器安装

Setting up a Developer Environment (Toolchain) | PX4 User Guide

docker快速安装

可以使用docker直接建立仿真环境,这里等我学会docker再说

基本安装

PX4 Docker Containers | PX4 User Guide

利用Ubuntu环境进行模拟而不是直接通过主板进行模拟,首先需要Pixhawk源码,地面站比如QGC(因为默认的 PX4 配置需要在起飞前连接地面控制),还需要一个模拟器,模拟器其实是Pixhawk源码中的一个tool,保存在toolchain文件夹里,在build是否就会产生一个模拟器,支持的模拟器比如

Simulation: jMAVSim SITL可通过命令行进行控制pxh> commander takeoffmake px4_sitl jmavsim
Simulation: Gazebo SITL可通过命令行进行控制make px4_sitl gazebo
Simulation: ROS with Gazebo可通过命令行进行控制
Simulation: [Airsim](Simulation: jMAVSim SITL)

模拟器可以打开不同种类的飞机,只需要在make是否添加命令

Gazebo Simulation | PX4 User Guide对于如何修改模拟器中的风速等写的很详细

VehicleCommand
Quadrotor四旋翼make px4_sitl gazebo
Quadrotor with Optical Flow带光流的四旋翼make px4_sitl gazebo_iris_opt_flow
3DR Solo (Quadrotor)make px4_sitl gazebo_solo
Typhoon H480 (Hexrotor) (supports video streaming)make px4_sitl gazebo_typhoon_h480
Standard Planemake px4_sitl gazebo_plane
Standard Plane (with catapult launch)make px4_sitl gazebo_plane_catapult
Standard VTOLmake px4_sitl gazebo_standard_vtol
Tailsitter VTOLmake px4_sitl gazebo_tailsitter
Ackerman UGV (Rover)make px4_sitl gazebo_rover
Differential UGV (Rover)make px4_sitl gazebo_r1_rover
HippoCampus TUHH (UUV: Unmanned Underwater Vehicle)make px4_sitl gazebo_uuv_hippocampus
Boat (USV: Unmanned Surface Vehicle)make px4_sitl gazebo_boat
Cloudship (Airship)make px4_sitl gazebo_cloudship

Pixhawk源码的二次开发

编译NuttX / Pixhawk Based Boards上需要不同make命令

可以烧写到不同的平台上,比如最常见的Pixhawk,就需要用不同的make命令

  • Holybro Pixhawk 6X (FMUv6X): make px4_fmu-v6x_default
  • Holybro Pixhawk 6C (FMUv6C): make px4_fmu-v6c_default
  • Holybro Pixhawk 5X (FMUv5X): make px4_fmu-v5x_default
  • Pixhawk 4 (FMUv5): make px4_fmu-v5_default
  • Pixhawk 4 Mini (FMUv5): make px4_fmu-v5_default
  • CUAV V5+ (FMUv5): make px4_fmu-v5_default
  • CUAV V5 nano (FMUv5): make px4_fmu-v5_default
  • Pixracer (FMUv4): make px4_fmu-v4_default
  • Pixhawk 3 Pro: make px4_fmu-v4pro_default
  • Pixhawk Mini: make px4_fmu-v3_default
  • Pixhawk 2 (Cube Black) (FMUv3): make px4_fmu-v3_default
  • mRo Pixhawk (FMUv3): make px4_fmu-v3_default (supports 2MB Flash)
  • Holybro pix32 (FMUv2): make px4_fmu-v2_default
  • Pixfalcon (FMUv2): make px4_fmu-v2_default
  • Dropix (FMUv2): make px4_fmu-v2_default
  • Pixhawk 1 (FMUv2): make px4_fmu-v2_default

烧写

最后加一个upload,就自动通过usb烧写到板子里

make px4_fmu-v4_default upload

MavROS

同样是用mavlink进行通讯的一种方式,只不过是通过ros包的形式,订阅和发送信息,没啥意思

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

MavSDK&Mavros学习笔记 的相关文章

  • Pixhawk原生固件PX4之日期时间的确定

    欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a 偶然注意到PX4日志中老是出现类似于2000 01 01 00 00 00这种日期 有兴趣的可以搜索一下千年虫问题 xff0c 于是结合代码进行了一波分析 最后定位到
  • Pixhawk原生固件PX4之添外置传感器MPU6500

    欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a 成功的在Pixhawk上添加了一个自定义的传感器MPU6500 Pixhawk飞控板上空余出一个SPI4接口 提示 xff1a 多出来的GPIO EXT引脚可以作为片
  • 多旋翼无人机进阶教程

    无人机是一个系统的工程 xff0c 不可谓不庞大 开源飞控盛行 xff0c 重复造轮子的工作实在无需再做 但是若决定真正的去研究飞控 xff0c 必须从本质出发 xff0c 熟悉并了解其实现原理 纷繁复杂的资料 xff0c 让人无法分辨 笔
  • Pixhawk原生固件PX4之MAVLink外部通讯

    欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a 目前的需求是 xff1a 一台电脑连数传 xff0c Pixhawk飞控上电连数传 xff0c 电脑向Pixhawk发送MAVlink消息 至少有5种方案 xff1a
  • rtsp流浏览器播放方案

    rtsp流在主流浏览器并不支持直接播放 比如大华的视频流 xff1a rtsp admin 123456 64 192 168 10 129 cam realmonitor channel 61 1 amp subtype 61 0 xff
  • PX4开发指南中文版维护说明

    PX4中文维基现已与PX4开发者官网合并 现在大家可以直接进入官网进行语言切换 PX4中文版的维护依然需要你的贡献 贡献说明 xff1a 官方的GitHub仓库为https github com PX4 Devguide 我将其Fork后的
  • OpenCV图像坐标系与行列宽高的关系

    刚开始接触图像处理 xff0c 关于图像坐标系与行列宽高的关系感到纠结 xff0c 但是似乎没有更好的处理方法了 xff0c 其对应关系大致如下 row 61 61 height 61 61 Point y col 61 61 width
  • Pixhawk原生固件PX4之位姿控制算法解读

    欢迎交流 个人 Gitter 交流平台 xff0c 点击直达 xff1a 参考文献 xff1a Minimum Snap Trajectory Generation and Control for Quadrotors PX4中多旋翼无人机
  • Pixhawk精准着陆之IRLock配置

    安装说明 下载Pixymon和pixy对应markone的固件 xff0c 在这里 固件必须是firmware IRLOCKpixy 1 0 1 hex irlock 61 markone 然后固件里 irlock 61 pixy 给Pix
  • Pixhawk原生固件PX4之offboard

    offboard PX4中的offboard 暂译作外部控制 是一个非常强大的功能 可以接受来自外部的控制指令 xff0c 按照目前的了解来看 xff0c offboard搭配上MAVROS以及类似于TX1 NUC板载计算器 xff0c 在
  • 相机标定原理

    cnblogs上的这篇讲相机标定的博文值得一看 csdn上这篇也可以参考 相机标定基础知识 相机标定技术涉及到一些数学原理和几何模型 xff0c 这些数学原理和几何模型是相机标定算法使用和进一步发展的基础 下面对相机标定技术中涉及到的齐次坐
  • VS Code的Git插件

    Visual Studio Code是微软公司推出的一款跨平台代码编辑 Edit 编译 Build 调试 Debug 工具 笔者认为其相当于是Sublime Text这款代码编辑器的升级版 集成了丰富的插件 xff0c 包括代码管理中极为常
  • Ubuntu缺少libncurses.so.5的解决办法

    执行arm none eabi gdb时候出错 xff1a arm none eabi gdb error while loading shared libraries libncurses so 5 cannot open shared
  • freeRTOS的任务抢占和时间片轮转

    实时操作系统的一个特点就是可以任务抢占 xff0c 高优先级的任务可以抢占比自己优先级低的任务 xff0c 如果新任务优先级和当前人任务优先级一样 xff0c 且在使能了时间片的方式的话 xff0c 二者以时间片的方式共享cpu xff0c
  • RH850 F1L freeRTOS 任务栈的切换

    pxCurrentTCB指向的任务块中 xff0c 有2个和栈相关的变量pxTopOfStack和pxStack pxTopOfStack指向当前堆栈栈顶 xff0c 随着进栈出栈 xff0c pxTopOfStack指向的位置是会变化的
  • opencv 3.0 图像去畸变 undistortion

    主要用到的是 initUndistortRectif yMap这个函数 在opencv中这个函数是用于 去除镜头畸变的图像拉伸 为了快速算法 xff1a 使用了坐标查找变和双线性差值的方法 先上结果图 原图 去畸变至全图 去畸变并保留最大图
  • 多传感器融合MSF算法源码阅读(三)

    文章目录 1 触发测量更新回调函数2 测量更新状态量3 总结 无人驾驶算法学习 xff08 六 xff09 xff1a 多传感器融合MSF算法 多传感器融合MSF算法源码阅读 一 多传感器融合MSF算法源码阅读 二 1 触发测量更新回调函数
  • 视觉VIO:S-MSCKF算法学习(一)

    文章目录 1 算法简介2 算法调试3 代码解读3 1 前端 ImageProcessor3 2 后端 Msckf Vio 1 算法简介 Mingyang Li博士于2007年提出MSCKF Multi State Constraint Ka
  • 无人驾驶算法学习(六):多传感器融合MSF算法

    文章目录 1 引言2 算法理论2 1 MSF基本模型2 2 预测2 3 测量与更新 3 核心代码分析4 代码实战 1 引言 本文的多传感器融合是建立在读懂 Quaternion kinematics for the error state
  • 多传感器融合MSF算法源码阅读(一)

    文章目录 1 代码框架1 1代码调用关系图 1 2主要函数调用关系图 2 posemsf阅读2 1程序入口 xff1a 2 2PoseSensorManager类 1 代码框架 论文解读 无人驾驶算法学习 xff08 六 xff09 xff

随机推荐