qgroundcontrol中文和apm哪个好

开发者 | APM开源自动驾驶仪
欢迎来到ArduPilot/APM开发站
是一款开源自动导航系统,支持多旋翼飞行器,传统直升机,固定翼飞机与传统直升机。源码由一个开发。我们时刻欢迎新的开发者加入!
支持的导航板
目前,ArduPilot/APM支持如下自动导航板
– 一款32位基于ARM的自动导航仪,支持很多高级特性,使用实时操作系统
– 一款受欢迎的AVR2560 8位自动导航仪
APM1(已终止开发) – 一款基于AVR2560的自动导航仪,使用分离式结构
ArduPilot/APM源码基于硬件抽象层编写,使代码能支持更多自动导航板变为可能。请查看这篇获取关于迁移到AP-HAL的更多信息。
ArduPilot/APM的源码使用git管理在
主开发者讨论邮件列表,它开放给任何人加入
用于支持的自动导航板的预编译固件可在上下载
有关配置与飞行ardupilot的用户文档可在,与上找到
用户支持由提供
ArduPilot/APM显示每个commit的测试状态
故障追踪与开放issues可以使用跟踪
由源代码自动生成的
为什么取这个名字?
ArduPilot的“Ardu”部分取自Arduino。最初APM1自动导航板是基于开发环境的。自从我们成长的比Arduino环境更快时,我们就不再使用Arduino运行库了。尽管我们仍然使用稍加修改的Arduino集成开发环境版本,来支持用于基于AVR的APM1与APM2板的ArduPilot。因为我们现在不仅支持Arduino兼容硬件(如PX4),为表示当前代码的跨平台特性,我们把“Ardu”前缀从软件项目取消,改为了“APM” 前缀(APM:Copter,APM:Plane,APM:Rover等)。
开发语言与工具
用于ArduPilot/APM的主要飞行代码使用C++编写。支持工具使用多语言编写,最常用的是python。
目前,主要载具代码编写为“.pde”文件,由Arduino构建系统得来。pde文件是预处理为.cpp文件构建的一部分。pde文件中包含的声明也能提供构建规则,说明需要包含与连接到哪些库。
ArduPilot/APM支持多种地面站用于计划与控制飞行。飞行固件使用,它允许飞机被任何MAVLink兼容设备控制。
使用最广泛的地面站就是,使用用于Windows的C#语言编写。Mission Planner的源码可以。Mission Planner也能通过mono运行在Linux与MacOS上。
也是地面站的一个选择,使用C++的Qt库编写
对于面相命令行与可编脚本地面站,你可以使用
对于android平板,你可以使用或者
没有找到你想要的?
如果你认为有什么需要添加到这个站点,请或在邮件列表发表一个评论。MAVLink Micro Air Vehicle Communication Protocol
MAVLink is a very lightweight, header-only message marshalling library for micro air vehicles.
It can pack C-structs over serial channels with high effiency and send these packets to the ground control station. It is extensively tested on the PX4, PIXHAWK, APM and Parrot AR.Drone platforms and serves there as communication backbone for the MCU/IMU communication as well as for Linux interprocess and ground link communication.
The MAVLink generator was first released early 2009 by
under LGPL license. The generated output was always considered equal to the input message spec and has since been clarified to be MIT.
Message Specification
The current MAVLink Protocol Version can be looked up here:
Integration Tutorials
These tutorials show how to integrate MAVLink with your autopilot or Linux robot.
for using MAVLink in your onboard autopilot software
for using MAVLink in your Linux flight environment.
for using MAVLink on a Micro Aerial Vehicle running ROS
for adapting QGroundControl.
MAVLink Messages / MAVLink API Documentation
Message documentation is generated for all MAVLink messages automatically and always up-to-date. To get the details of a MAVLink message, please refer to the message lists below. You can additionally generate Doxygen API docs from the MAVLink source.
Protocol Internals
–HIGHLY RECOMMENDED ARTICLE EXPLAINING API vs INTERNAL FORMATS
QGroundControl users: Although MAVLink itself does not rely on it, QGroundControl adjusts its views and settings based on the HEARTBEAT MAVLink message. QGroundControl uses this message also to track if a system is alive or if the connection broke. Therefore make sure to send a heartbeat every 60, 30, 10 or 1 second (1 Hz is recommended, but not required)
MAVLink Code and Generator
There is a “common message set” containing widely used messages, which is distributed as header-only C library. If you like to use your own custom messages, you can generate these with the
The MAVLink message definitions and generator code is hosted at:
Installation / usage instructions can be found at:
Instructions how to use the generator can be found at:
Instructions how to package MAVLink releases (developers only) can be found here:
MAVLink Ecosystem
There are by now many systems and software packages using MAVLink:
MAVLink Mailing List and Developers
Mailing list
Maintainer: Lorenz Meier,
Developer team: Lorenz Meier, Andrew Tridgell, James Goppert
Autopilots using MAVLink
(main protocol)
(main protocol)
(main protocol)
(optional protocol)
(optional protocol)
(main protocol)
(main protocol)
(main protocol)
Software packages using MAVLink
ROS to MAVLink bridge:
MAVCONN Lightweight Aerial Middleware
oooArk / MAVSim
(allows to connect multiple UDP/serial links, including flightgear): git://git.samba.org/tridge/UAV/MAVProxy.git
Projects using MAVLink
ArduPilotMega
MatrixPilot UAV DevBoard
ETH Flying Machine Arena
ETH SenseSoar Solar Airplane Project
ETH Skye Blimp Project
UC Santa Cruz SLUGS
ArduCAM OSD
Sky-Drones - UAV Flight Control Systems
AutoQuad - Autonomous Multirotor Vehicle controller
The MAVLink generator is LGPL licensed and its output is MIT licensed and can therefore be used as a library royalty-free in closed-source and open-source applications.
Frequently Asked Questions (FAQ)
Upgrading from 0.9.0 to 1.0.0
Q: Is the upgrade easily done? - Yes, v.1.0.0 is almost fully API-compatible with v.0.9.0. Only a few messages have changed, all protocol-functions like the message parsing (mavlink_parse_char) are fully compatible.
Q: What are the main benefits from upgrading? - 1. MAVLink now uses the little-endian wire encoding, which makes is a lot more efficient on most platforms. It still supports little and big endian platforms. 2. It now checks the packet format of each message, so if two communication partners have different formats for the same message it will detect this mismatch. 3. It now has support for smaller message buffers. 4. The parameter protocol now supports 32 unsigned and signed integer and float values. 5. MAVLink now supports IEEE 754 double precision floating point numbers. 6. All messages are tested with an automatically generated test suite, making the protocol even safer to use. 7. Some messages have been cleaned up to better suit actual flight use. 8. MAVLink comes per default now with C/C++ and Python support.
Q: Is the new version to be used soon? - Yes, QGroundControl is fully ported to it and ArduPilotMega and PIXHAWK already are porting their software. Soon all adopters will have ported to the new version, simply because it is not too much effort.
Q: How many aircraft does MAVLink support? - 255 aircraft, ranging from 1 to 255. 0 is not a valid aircraft id.
Q: How efficient is MAVLink? - With just 8 bytes overhead per packet, including start sign and packet drop detection, MAVLink is a very efficient protocol.
Q: Where can I use MAVLink? - MAVLink has been shown to work on multiple microcontrollers and operating systems, including ARM7, ATMega, dsPic, STM32 and Windows, Linux, MacOS and iOS.
Q: How safe is MAVLink? - MAVLink has been used for more than two years in the PIXHAWK MAV project in flight and relies on the well-established ITU X.25 checksum for packet corruption detection.
Developers
Q: Can I use MAVLink in a closed source application without copyright issues? - Yes, without any limitations. The LGPL license only requires you to contribute changes to MAVLink itself to the community, not any code that uses MAVLink. So you are not required to publish any of your application code.
Q: MAVLink uses only one start sign - isn't this less safe than using two or three start signs? - No. A packet start sign is always used to “sync up” to the start of a message. To actually “prove” that the received data is a message and not random noise, the message length and check sum is needed. Using more start signs would allow to better “guess” a packet start in a random noise channel. Since MAV telemetry is however not random noise, using more start signs does not help to increase the certainty about a packet start, because if the decoding state machine does only depend on the packet start sign, it will reject all packets containing the start sign in their payload. Example: Most protocols encode payload length and message id in the header, often as continuing fields. If the start sign is e.g. (0x35 0x55) (two bytes), which is in decimal (53 85), a packet with length 53 and ID 85 will always be rejected by the decoder. To circumvent these systematic faults, the message should only be rejected if the checksum mismatches. Given these constraints, one can as well just use one packet start sign and save unneccesary bytes on the communication link.
Q: How does MAVLink detect and decode messages in the byte stream? - MAVLink waits for the packet start sign, then reads the packet length and matches the checksum after n bytes. If the checksum matches, it returns the decoded packet and waits again for the start sign. If bytes are altered or lost, it will drop the current message and continue the next try on the following message.
Q: What use do the system and component IDs have? - The system ID reflects the current aircraft. MAVLink can be used with multiple aircraft simultaneously. The component ID reflects the onboard component, e.g. the IMU, the autopilot or the onboard computer. This allows to use MAVLink both for onboard-communication and for off-board telemetry.
Q: MAVLink contains a sequence number in the header - is this really necessary? - Yes. MAVLink is part of the safety critical components of an unmanned air system. A bad communication link dropping many packets can endanger the flight safety of the aircraft and has to be monitored. Having the sequence in the header allows MAVLink to continously provide feedback about the packet drop rate and thus allows the aircraft or ground control station to take action.
Q: I would like to help improve the decoding/encoding routines or other features. Can MAVLink be changed? - Yes, but only very, very carefully with safety testing. MAVLink is by now used as a safety-critical component in many autopilot systems and has undergone more than two years of testing. Please suggest new features on the .
Packet Anatomy
This is the anatomy of one packet. It is inspired by the
and SAE AS-4 standards.
Byte Index
Explanation
Packet start sign
v1.0: 0xFE (v0.9: 0x55)
Indicates the start of a new packet.
Payload length
Indicates length of the following payload.
Packet sequence
Each component counts up his send sequence. Allows to detect packet loss
ID of the SENDING system. Allows to differentiate different MAVs on the same network.
Component ID
ID of the SENDING component. Allows to differentiate different components of the same system, e.g. the IMU and the autopilot.
Message ID
ID of the message - the id defines what the payload “means” and how it should be correctly decoded.
6 to (n+6)
(0 - 255) bytes
Data of the message, depends on the message id.
(n+7) to (n+8)
Checksum (low byte, high byte)
ITU X.25/SAE AS-4 hash, excluding packet start sign, so bytes 1..(n+6) Note: The checksum also includes MAVLINK_CRC_EXTRA (Number computed from message fields. Protects the packet from decoding a different version of the same packet but with different variables).
The checksum is the same as used in ITU X.25 and SAE AS-4 standards (), documented in . Please see the MAVLink source code for a documented C-implementation of it.
The minimum packet length is 8 bytes for acknowledgement packets without payload
The maximum packet length is 263 bytes for full payload
Supported data types
MAVLink supports fixed-size integer data types, IEEE 754 single precision floating point numbers, arrays of these data types (e.g. char[10]) and the special mavlink_version field, which is added automatically by the protocol. These types are available:
char - Characters / strings
uint8_t - Unsigned 8 bit
int8_t - Signed 8 bit
uint16_t - Unsigned 16 bit
int16_t - Signed 16 bit
uint32_t - Unsigned 32 bit
int32_t - Signed 32 bit
uint64_t - Unsigned 64 bit
int64_t - Signed 64 bit
float - IEEE 754 single precision floating point number
double - IEEE 754 double precision floating point number
uint8_t_mavlink_version - Unsigned 8 bit field automatically filled on sending with the current MAVLink version - it cannot be written, just read from the packet like a normal uint8_t field
Performance
This protocol was totally geared towards two properties: Transmission speed and safety. It allows to check the message content, it also allows to detect lost messages but still only needs six bytes overhead for each packet.
Transmission examples
Link speed
Update rate
Float values
115200 baud
XBee Pro 2.4 GHz
115200 baud
XBee Pro 2.4 GHz
57600 baud
XBee Pro 2.4 GHz
XBee Pro XSC 900
XBee Pro XSC 900
Future Work / Ideas
Variable length arrays
Support for bitfields (e.g. packing 8 boolean values into one uint8_t, but providing C-function calls to all eight booleans. So users would not have to fiddle with shifting / masking themselves.)
Variable header, allowing to set target system and target component (no change to protocol, only convenience functions to access it)
Developers&|&&|&&|&&|&&
当前位置: >
PX4 Offboard Control Using MAVROS on ROS
作者:OLillian & 来源:转载 &
摘要: 原文:https://404warehouse.net//autopilot-offboard-control-using-mavros-package-on-ros/OverviewRecentlyopensourceautopilotshavebecomereliablebyvariousfailsafefunctionsintegratedbytheopensourcec
原文:https://404warehouse.net//autopilot-offboard-control-using-mavros-package-on-ros/
Recently opensource autopilots have become reliable by various failsafe functions integrated by the opensource community. Developing different softwares for each application can be time consuming and hard to verify the reliablility of the software. An alternative to modifying the autopilot software, is to use an onboard computer to command the autopilot using high level commands. This way, the developer can use a reliable autopilot software which is still reliable and capable of staying in the air and use a software developed for the developer’s own purpose. This article is to introduce how easy and practical it is to connect a PC, using ROS to control the autopilot running onbaord an onboard PC.&A nice tutorial is up on the&PX4 website&but is a little unfriendly and I wanted to share some of the troubleshooting experiences while I was implementing the system.
what is ROS?
ROS&is a framework for incorporating various modules of robotics by configuring modules as a TCP network. The ROS community is currently growing in a very fast pace both in the community and industry. The ROS wiki has great tutorials in understanding the framework. Please get used to using ROS following tutorials 1.~9. in the&tutorials page.
Introduction to MAVROS
MAVROS is a ROS package which enables ROS to interact with autopilot software using the MAVLink protocol. MAVlink consists of 17 bytes and includes the message ID, target ID and data. The message ID shows what the data is. Message IDs can be seen in the messageID command set.
This enables MAVLink to be able to get information from multiple UAVs if messages are transferred in the same channel. Messages can either be transmitted through wireless signals.
Installing MAVROS
MAVROS can be installed using the source in the mavros repository. The default dialect of MAVROS is apm. As we are installing px4 on the pixhawk flight controller, MAVROS should be built from source, by configuring mavros by the command below.
catkin config --cmake-args -DMAVLINK_DIALECT=common
Configuring PX4 for ROS
For the companion computer to communicate with the flight controller, a USB2TTL converter is needed to convert the voltage of the communication levels. A brief overview of configuring the companion computer with the pixhawk is shown in this&link.
It is recommended that the offboard control is done through the TELEM2 port. Telem2 port can be activated usign the SYS_COMPANION parameter. This can be done by modifying the parameter on qgroundcontrol.
SYS_COMPANION 921600
Configuring MAVROS for PX4
To launch MAVROS, the easiest way is to use the launch file
roslaunch mavros px4.launch
Launching MAVROS, it may not work on the first time. Do not panic!
Some parameters should be modified to be able to talk with the flight controller. The device name and baudrate should be configured to be able to talk to the autopilot.
"mavros_node"
"$(arg fcu_url)"
"$(arg gcs_url)"
"target_system_id"
"$(arg tgt_system)"
"target_component_id"
"$(arg tgt_component)"
"conn_heartbeat"
"conn_timeout"
"startup_px4_usb_quirk"
Setting Setpoints
Setpoints should be sent to the flight controller with a 0.5s time out. This is a safety factor so that the control should converge to a specific objective. Otherwise the flight controller will not go into offboard mode. Setpoints that can be used are as below.
Position Setpoints
Velocity Setpoints
Attitude Setpoints
Acceleration Setpoints
Actuator Control
An example node written in cpp is shown below. The node publishes setpoint_poistion_local message.
Integrating Companion Computer to quadrotor
The quadrotor is based on a F330 frame and the current integration follows as below. 330 frame feeled a little small for an onboard computer. For future integration, 450 frame should be more appropriate.
Position Control Example
For position control, external position estimation using the Vicon motion capture system was used for more precise position measurement. The block diagram visualized using rtq_graph is shown as below.
版权所有 IT知识库 CopyRight (C)
, All Rights Reserved.科普px4入门详解
(一)无人机PX4基本概念PX4自驾仪PX4是与平台无关的自动驾驶仪软件(或称为固件),可以驱动无人机或无人车。它可以被烧写在某些硬件(如Pixhawk v2),并与地面控制站在一起组成一个完全独立的自动驾驶系统。PX4地面控制站被称为QGroundControl,是PX4自驾系统不可分割的一部分,可以运行在Windows,OS X或Linux等多个平台。使用QGroundControl,您可以将PX4固件烧写到硬件,设置机器,改变不同的参数,获得实时航班信息,创建和执行完全自主的任务。图1 QGroundControl 主界面 &机器头朝向不论是船还是飞行器都应该有机器头朝向或定义其前向运动的方向为机器头方向。图2 不同飞行器头机体坐标 &清楚机器头方向,以保证自驾仪同机器运动向量相一致极为重要!尽管对于多轴无人机来讲自身因为有较高的对称性而导致机器头方向不明显,但通常制造商会通过使用有颜色的桨或机臂来标示机器头朝向。图3 不同飞行器头朝向 & 本文的插图我们使用红色桨来标示多轴飞行器头朝向。PX4连接为了能够对您的PX4无人驾驶仪进行配置、控制及交互,需要先对其进行连接。对于Pixhawk硬件有三种类型的连接:遥控连接 – 通过无线电实现遥控器对飞控的连接。数据连接&– 使用数传、WiFi或者USB线对QGroundControl地面站和无人机进行的连接。机外连接 – PX4和外部能够控制PX4的微机之间的数据连接。遥控对于无人机最基本的控制形式就是使用遥控器。目前有很多类型的遥控器,这里我们将通过使用最流行的飞行器遥控器进行讲解。图4 左图右手油门,右图左手油门 &遥控器“MODE 1”和遥控器“MODE 2”之间的区别是根据不同人的用手偏好,将油门通道放在左侧或右侧。建议您进行尝试后再决定购买以上两种类型遥控器中的哪一种。基本的飞行为了控制您的飞行器,您需要知道并深刻理解基本的横滚(Roll)、俯仰(Pitch)、偏航(Yaw)和油门(Throttle)指令及这些指令在三维空间施加到飞行器上所产生的运动效果。图5 横滚、俯仰、偏航、油门指令对应通道 & 以上指令被施加可悬停飞行器如直升机、多旋翼上和被施加到前向飞行飞行器如固定翼飞行器上,飞行器会产生不同的响应。可悬停飞行器(如直升机、多旋翼或垂直起降无人机)的基本运动:。图6 控制指令对四旋翼控制效果图 & 需要牢记的是对于可悬停飞行器(多轴无人机,直升机)而言,横滚指令会产生左移/右移飞行效果;俯仰指令会产生前进/后退飞行效果;偏航指令会产生基于飞行器中心点左旋转/右旋转飞行效果。前向飞行器(如固定翼)的基本运动:图7 控制指令对固定翼控制效果图 &需要牢记的是对于前向飞行飞行器(固定翼无人机)而言,横滚指令会产生左旋转/右旋转及转弯飞行效果;俯仰指令会产生上升/下降飞行效果;偏航指令会产生尾翼的左旋转/右旋转及转弯飞行效果。使用以上4种基本的命令您可以在空中任何方向操控您的无人机进行飞行。最重要的是您将可以进行飞行器中最重要的飞行操作 - 起飞和降落。(二)PX4无人机机架选择机架选型如果您计划在无人机上使用PX4,在选机架之前,首先您应该回答的问题就是您的无人机的用途是什么。是用来完成某种工作还是只是为了娱乐?续航时间和覆盖范围要求是多少?如果需要精准的悬停功能并且可以接受较短的续航时间,建议选用多旋翼无人机;如果对续航时间和覆盖范围要求较高的话,建议选用固定翼无人机;有一种混合类型的飞行器叫“垂直起降飞行器”,它可以像多旋翼一样垂直起飞,起飞完成后变成像固定翼飞行器一样前向飞行。垂直起降飞行器集多旋翼无人机和固定翼多旋翼无人机优点于一身,具有比多旋翼无人机更长的续航、更大的覆盖范围以及与固定翼无人机相比具有精准悬停的能力。越来越多类型的机架已经被调整地可以使用PX4进行完美飞行,例如DJI F450也就是风火轮F450机架。具体有哪些飞控参数需要被调整以及如何调整这些参数以达到完美飞行,我们会在逐步深入讲解中一一道来。&图1 四旋翼无人机机架示意图(橙色三角指向为机器头朝向,四个电机箭头方向为电机转向)机架配置一旦选中并购买或组装了机架后,在对无人机的飞控初始化阶段,你需要从地面站QGroundControl中众多的机架模板中选择一款和你使用的构造类似的机架。图2 &地面站QGroundControl中机架模板(三)PX4无人机飞控选择Pixhawk飞控第一代Pixhawk飞控所谓无人机的飞控,就是无人机的飞行控制系统。无人机飞控能够稳定无人机飞行姿态,并能控制无人机自主或半自主飞行,是无人机的大脑。Pixhawk是第一款专门为PX4自驾软件而设计的无人机飞控。第一个版本的Pixhawk被命名为Pixhawk v1,也被称作FMUv1,它包含PX4FMU和PX4IO两部分。PX4FMU是Pixhawk v1飞控的核心控制部分,主要负责姿态解算等等算法的执行;PX4IO主要负责飞控各外设接口的管理。& &PX4FMUPX4IO第二代Pixhawk飞控继FMUv1飞控之后,第二代飞控被称为Pixhawk v2或FMUv2。在FMUv2这个版本飞控中,第一代中的PX4FMU和PX4IO被合并到了一个PCB上,成为了真正的一体化飞控。Pixhawk v2Pixhawk v2是当前最流行的Pixhawk飞控。Pixhawk v2.4.5是Pixhawk v2的子版本。开源硬件概念Pixhawk飞控是开源硬件架构,所以全世界很多公司出品了基于Pixhawk的飞控产品。他们都有共同的硬件架构和相同的连接方式、输出接口及功能,仅仅是具体形式不同而已,例如接口的位置不同、外壳不同等等。下面是一些衍生的Pixhawk控制器。HKPilot32PixfalconAUAV-X2所有的Pixhawk飞控都有同样的连接方式和设置流程。注:除了PX4这款自驾仪软件,还有一种飞行协议栈(或称自驾仪软件)可以被烧写到Pixhawk飞控,那就是非常流行的ArduPilot或称为APM的自驾仪软件。因此很多人觉得很困惑并以为把Pixhawk同APM相提并论是不对的。请牢记,Pixhawk飞控是硬件平台,而PX4和APM都是开源的可以烧写到Pixhawk飞控中的自驾仪软件。高通骁龙无人机飞控无人机毕竟只是飞行平台,在飞行过程中,通常有很多的如图像分析、避障以及许多的在线服务和系统集成等任务需要处理。在骁龙飞控诞生之前,通常是使用树莓派之类的微处理器与飞控协同工作,这种通常的集成方式有时很繁琐,对于普通用户而言很难成功实现。高通公司解决了这个集成难的问题,并且真正地实现了把用于处理多任务的微处理器和飞控处理器集成到了一块电路板上。高通骁龙无人机飞控这款飞控拥有四核CPU、一个功能的GPU以及很多的摄像头和传感器。它可以在使用PX4自驾仪软件控制飞行器飞行的同时,还可以作为微机处理很多额外的任务。(四)PX4无人机传感器选择无人机传感器简介由于Pixhawk飞控已经内置了传感器,PX4自驾仪完全可以在飞控没有任何外部传感器的情况下完成对无人机的飞行控制。Pixhawk飞控内置了三轴陀螺仪+三轴加速度计+三轴磁力计+气压计传感器(气压计被用于获取无人机高度信息)。强烈建议在机上安装GPS来释放飞行器的全部潜力,并且安装GPS后无人机可以在全自动模式下完成任务。对于大部分的固定翼飞行器而言,空速器是必须配备的。GPS/COMPASS由于Pixhawk内置的磁力计非常靠近其他的电子器件,所以它很容易受到电磁干扰。为了减小这种干扰,通常可在飞控上再外接一个磁力计,并且尽量将该磁力计远离飞行器上其他电子器件。空速传感器对于大部分的固定翼无人机及垂直起降无人机而言都是必须配备的。空速传感器之所以如此重要,是因为除了空速计外PX4自驾仪没有其他的手段来检测失速。推荐使用数字空速传感器。空速计无人机测距随着时间的推移,市场上出现了越来越多廉价的激光雷达测距仪。这些传感器通常被用于在无人机降落的最后阶段进行高度精准测量,也可以被用于无人机避障。PulsedLight发布了型号为Lidar-Lite2激光雷达测距仪,这款很经济的测量设备被广泛运用在无人机等各种应用场景。它可以测量距离、速度和从0到40米距离内的合作及非合作目标的信号强度。与同类发射单一光束的测距传感器相比,该设备性能较好。Lidar-Lite2无人机定位在飞控外接了GPS模块,且GPS信号良好的情况下,无人机可以融合GPS信号信息进行定位。但在没有GPS信号的的情况下,通常光流传感器被用来作为定位设备。PX4FLOW集成了声呐传感器的光流智能摄像头可以进行运动跟踪。声呐和摄像头的信息被送到Pixhawk飞控进行数据融合以实现定位功能。(五)PX4自驾仪初步配置QGroundControl下载&安装环境硬件:PC/Mac/移动终端、Pixhawk飞控软件:QGroundControl地面站固件:PX4QGroundControl支持列表QGroundControl运行在以上列表平台设备上,PX4固件运行在Pixhawk飞控上。地面站连接飞控示意图见者有份儿,先来福利一发!长按下方二维码打开QGroundControl下载链接。使用电脑或移动终端下载对应平台的QGroundControl地面站,完成QGroundControl安装后,连接Pixhawk飞控,就可以开始对自驾仪PX4进行配置了。&QGroundControl下载链接对PX4自驾仪的配置请熟练掌握以下几个姿势:机架选型,可以选择直升机、多旋翼、垂直起降无人机等等校准自驾仪的传感器并选择正确的自驾仪放置方位校准遥控器配置遥控器上的开关来控制飞行模式除此之外,还有很多项是可以使用地面站进行配置的,但以上几步是必不可少的。QGroundControl视频教程视频教程中主要内容如下:1、固件升级&2、机架选型3、传感器校准4、遥控器校准5、飞行模式通道设置注意:待地面站每一个选项卡右侧的红点变成绿点后表示该项校准完成,如未变成绿色,需要重复校准。(六)PX4无人机飞行模式配置飞行模式配置步骤环境硬件:PC/Mac/移动终端、Pixhawk飞控、遥控器软件:QGroundControl地面站固件:PX4飞行模式决定了飞控如何响应用户的控制信号。PX4自驾仪支持多种飞行模式,但在实际使用中并需要配置那么多飞行模式,按需配置即可。飞行模式配置步骤:使用USB线或数传连接pixhawk和QGroundControl;使用QGroundControl配置所需PX4飞行模式(具体操作见下文);使用遥控器或地面站控制PX4无人机飞行模式的切换。*注:如果遥控器和地面站同时连接了飞控,遥控器和地面站都可以切换飞控飞行模式。飞行模式具体配置针对上文配置步骤中的第2点:使用QGroundControl配置所需PX4飞行模式。在此进行详细讲解。使用QGroundControl可以指定遥控器的一个或多个通道来实现pixhawk飞控飞行模式的切换。通常把遥控器三段开关的每一段分配一种飞行模式,通过拨动该开关达到切换飞行模式的目的。如下图所示,选中通道,并指定该通道在不同数值范围的飞行模式即可。单通道控制飞行模式多通道控制飞行模式在地面站中的飞行模式界面中为每种飞行模式选择对应的遥控器通道,通过改变遥控器的通道值达到对飞行模式控制的目的。飞行模式通道设置截图注意:待地面站每一个选项卡右侧的红点变成绿点后表示该项配置完成,如未变成绿色,需要重复操作。(七)PX4无人机硬件连接PX4无人机硬件连接(Note: The image above is from 3DR.)设备:飞控(Pixhawk)电源模块(Power Module)电池(Battery)电池报警器(Battery Warning)电调(ESC)电机(Motor)脉位调制信号接收器(PPM Sum Receiver)遥控器接收器(Remote Controller Receiver)遥控器发射器(Transmitter)全球定位系统接收器和电子罗盘(GPS & Compass)蜂鸣器(Buzzer)安全开关(Switch)数传(Telemetry)平板电脑(Tablet)云台(Gimbal)相机(Camera)填坑以上设备清单中各项设备的作用和工作原理都比较容易理解,这里只对清单中标绿的几项进行重点说明,破除知识盲点,避免入坑。电池报警器作用:本质上是电压检测器,其主要目的是防止锂电池过放;工作原理:电池报警器可以自动检测锂电池总电压和每个电芯的电压,当电压低于该报警器设定电压值,就会触发蜂鸣器鸣叫报警。电机作用:为无人机提供动力;说明:上图是一个航拍四旋翼的方案,所以只有4个电机,但Pixhawk飞控目前最多支持接入8个电机。一旦确定飞控的位置后,电机的转向就确定了,如果出现非理想电机转向,只需交换电机三根线中的任意两根即可。脉位调制信号接收器作用:将遥控器接收器的多路PWM信号转换成一路PPM信号并输出给Pixhawk;工作原理:通常遥控器接收器输出的信号是PWM信号,而Pixhawk无法解码PWM信号,所以需要PPM模块将遥控器接收器的PWM信号转换成PPM信号并输出给Pixhawk。但这个单独的PPM模块并不是必须的,因为有些遥控器接收器本身就可以输出Pixhawk可以解码的PPM信号。电子罗盘作用:为无人机提供方位数据;说明:Pixhawk飞控本身具有电子罗盘,然而内置电子罗盘易受电机及其他电路干扰,外接电子罗盘通常被放置在电磁干扰比较小的位置,以获得更可信的方位数据,强烈推荐安装外置罗盘。平板电脑作用:无人机地面站软件运行硬件平台;工作原理:地面站可以通过数传对无人机进行设置和控制,由于地面站支持多平台,所以也可以使用PC或Mac等代替平板电脑。PX4无人机任务规划与执行(八)飞行任务规划PX4无人机飞行任务规划非常简单,只需要点击QGroundControl地面站最上面一排选项卡切换到任务视图(选项卡变成黄色表示被选中),点击左上角的?(加号)图标,然后点击屏幕地图即可进行任务规划。任务规划前任务视图需要注意的是,只需要点击一次左上角加号,就可以通过在屏幕上进行连续多次点击设置多个航点,按照航点顺序会自动生成航线。每个航点信息会显示在地面站右侧,同时可以编辑航点的停留时间、相对高度等信息。例如下图中无人机将在航点6停留0秒,相对归航点(Home Position)的高度为25米。&任务规划后任务视图任务视图底部显示的是每个航点和上一个航点的相对距离(Distance)、相对高度(Alt diff)、倾斜度(Gradient)等信息。例如航点1和航点2的相对距离为176.76米,相对高度为25米,则倾斜度为tanα=25/176.76≈14%。&以上操作后,点击左上角任务发送按钮(Send To Vehicle),即可将规划好的任务发送给无人机。发送飞行任务到无人机飞行任务执行完成上述任务规划及任务上传后,将地面站切换到飞行视图,解锁PX4无人机,无人机即可自动按照规划好的任务路径进行飞行,地面站将实时显示无人机飞行轨迹。地面站飞行视图QGroundControl地面站进行任务规划相对比较简单,但在飞行任务执行阶段需要确保场地满足飞行要求,以保证安全飞行。文章整理自:蜂鸟无人机 humbird_drone,作者:Alex(荣令金),北京大学硕士,研究方向无人机控制系统。注:转载须注明来源如果您觉得文章对您有帮助,请分享给您的朋友分享知识,分享快乐关注前沿科技一点通:了解更多前沿科技
鼎鼎财富最新文章
微信号:dingdingcaifu8扫描二维码关注公众号
鼎鼎财富是依托于中鼎信金融控股集团而成立的致力于企业财富管理和私人理财定制的高端理财机构.鼎鼎财富遵循客观、公正、中立的原则,秉承&价值投资理念,引领财富未来&的宗旨,为客户提供全方位、一站式的金融...
Copyright2017.杨邱自媒体资讯站,让大家及时掌握各行各业第一手资讯新闻!}

我要回帖

更多关于 qgroundcontrol 编译 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信