MavSDK&Mavros学习笔记

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命令

烧写

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

make px4_fmu-v4_default upload

MavROS

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

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值