PX4控制云台的两种方式

news2025/1/16 16:11:00

1、配置MNT_MODE_IN参数后重启飞控,释放出mount的设置参数
在这里插入图片描述
控制信号输入为RC 则接收机必须连接对应的通道至AUX辅助通道,并通过MNT_MAN_*参数设置pitch/roll/yaw对应的AUX通道
(遥控器摇杆 → 接收机通道输出 → 飞控AUX通道输入 → AUX通道输出至云台)
如果参数值为MAVLINK_ROI,则可以通过mavlink命令实现控制;如果参数值为AUTO,则控制方式取决于上一次控制的模式。
在这里插入图片描述

在这里插入图片描述
MNT_MODE_IN输入使能后,MNT_MODE_OUT参数设置为AUX后会默认占用AUX端口1-4,此时通过AUX通道1-4输出PWM控制信号至云台,对应的RC通道映射功能失效。MNT_MODE_OUT参数设置为MAVLINK则通过MAVLINK信号控制云台,不影响AUX通道的RC通道映射功能。

PX4云台控制组合方式
1、RC控制输入 → mavlink云台控制输出
2、mavlink云台控制输入 → mavlink云台控制输出
3、RC控制输入 → PWM云台控制输出
配置方法:MNT_MODE_IN配置为AUTO或RC,MNT_MODE_OUT配置为AUX,MNT_MAN_PITCH、MNT_MAN_ROLL、MNT_MAN_YAW分别对应AUX4、AUX5、AUX6,RC_MAP_AUX4~6分别对应RC的空余三个控制channel。
4、mavlink云台控制输入 → PWM云台控制输出
配置方法:MNT_MODE_IN配置为AUTO或MAVLINK,MNT_MODE_OUT配置为AUX,MNT_MAN_PITCH、MNT_MAN_ROLL、MNT_MAN_YAW恢复默认设置,RC_MAP_AUX1~6恢复默认设置。
订阅云台实际角度:/mavros/mount_control/orientation

发布云台控制角度:/mavros/mount_control/command

通过mavros控制云台

订阅云台实际角度:/mavros/mount_control/orientation
发布云台控制角度:/mavros/mount_control/command

How it works
The mount control interface can be controlled using the mavros_msgs::MountControl message. The message sends the MAV_CMD_DO_MOUNT_CONTROL to the flight controller to control the gimbal. The message is defined as below.

# MAVLink message: DO_MOUNT_CONTROL
# https://mavlink.io/en/messages/common.html#MAV_CMD_DO_MOUNT_CONTROL

std_msgs/Header header

uint8 mode # See enum MAV_MOUNT_MODE.
uint8 MAV_MOUNT_MODE_RETRACT = 0
uint8 MAV_MOUNT_MODE_NEUTRAL = 1
uint8 MAV_MOUNT_MODE_MAVLINK_TARGETING = 2
uint8 MAV_MOUNT_MODE_RC_TARGETING = 3
uint8 MAV_MOUNT_MODE_GPS_POINT = 4

float32 pitch # roll degrees or degrees/second depending on mount mode.
float32 roll # roll degrees or degrees/second depending on mount mode.
float32 yaw # roll degrees or degrees/second depending on mount mode.
float32 altitude  # altitude depending on mount mode.
float32 latitude # latitude in degrees * 1E7, set if appropriate mount mode.
float32 longitude # longitude in degrees * 1E7, set if appropriate mount mode.
The vmount mode is configured using the mavros_msgs::MountConfigure message. This message is mapped into the MAV_CMD_DO_MOUNT_CONFIGURE

# MAVLink message: DO_MOUNT_CONTROL
# https://mavlink.io/en/messages/common.html#MAV_CMD_DO_MOUNT_CONFIGURE

 std_msgs/Header header

 uint8 mode              # See enum MAV_MOUNT_MODE.
#MAV_MOUNT_MODE
uint8 MODE_RETRACT = 0
uint8 MODE_NEUTRAL = 1
uint8 MODE_MAVLINK_TARGETING = 2
uint8 MODE_RC_TARGETING = 3
uint8 MODE_GPS_POINT = 4

bool stabilize_roll     # stabilize roll? (1 = yes, 0 = no)
bool stabilize_pitch    # stabilize pitch? (1 = yes, 0 = no)
bool stabilize_yaw      # stabilize yaw? (1 = yes, 0 = no)
uint8 roll_input        # roll input (See enum MOUNT_INPUT)
uint8 pitch_input       # pitch input (See enum MOUNT_INPUT)
uint8 yaw_input         # yaw input (See enum MOUNT_INPUT)

 #MOUNT_INPUT
uint8 INPUT_ANGLE_BODY_FRAME = 0
uint8 INPUT_ANGULAR_RATE = 1
uint8 INPUT_ANGLE_ABSOLUTE_FRAME = 2
---
bool success
# raw result returned by COMMAND_ACK
uint8 result

云台控制插件是mount_control,运行mavros启动文件的时候需要注意该插件是否正常启动,需要在px4_pluginlists.yaml配置文件中将mount_control从blacklisted中移除后才可启动

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/435470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring IOC 入门简介【自定义容器实例】

目录 前言 Spring简介 Spring体系结构 一、IOC控制反转思想 二、IOC自定义对象容器 1. 创建实体类,Dao接口,实现类 2. 创建配置文件bean.properties 3. 创建容器管理类 4. 创建StudentService类 5. 测试方法 6. 测试结果 前言 Spring简介 Spr…

Android 详解基本布局以及ListView和RecyclerView

前言 一个丰富的界面有很多个控件组成,那么就需要布局来实现控件有条不紊的摆放。 一 LinearLayout 线性布局 LinearLayout 又称作线性布局,是一种常用的布局。有横向和竖向两个方向。 通过下面的属性进行设置 android:orientation"vertical"…

【科研】Michaelis–Menten 曲线(米氏曲线)中反应速率的计算

参考文献:Standardized assays for determining the catalytic activity and kinetics of peroxidase-like nanozymes | Nature Protocols SCI-Hub链接: https://sci-hub.se/10.1038/s41596-018-0001-1 科研需要,需要绘制所制备纳米酶的Mi…

亿发软件:中小企业定制一体化管理解决方案,全面提升数据价值

亿发软件:中小企业定制一体化管理解决方案,全面提升数据价值 一体化信息管理系统是为中小企业提供简化运营、提高效率和生产力的工具。随着经济的快速发展,企业细分管理的多样化需求显著增加。很多企业都在为找不到适合自己的一体化信息管理…

一文看懂数据云平台的“可观测性”技术实践

背景 这是一家大型制造集团。为监控及预测工厂设备运行情况,IT部门在数据云平台DataSimba上按天执行数据作业,每24小时对工厂设备的日志数据进行分析,发现能对业务起到很好的辅助作用,效果不错。 “要不升级为每1个小时跑一次&am…

android hook(Toast BadTokenException案例)

什么是Hook? hook 技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序先捕捉该消息,钩子函数先得到控制权,这时钩子函数即可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。…

(详细)HTTP协议(应用层重点协议)

目录 一、HTTP协议工作过程 二、 协议格式 1、抓包工具Fiddler 2、HTTP请求格式 3、HTTP响应格式 4、HTTP协议格式总结 三、HTTP请求(Request) 1、URL (1)URL基本格式 (2)URL实例 (…

什么是伪原创?SEO伪原创该怎么做

伪原创是指在原有的文章或内容基础上进行修改或调整,以产生看起来是全新内容的文章,但实际上并没有创造新的价值。多数情况下,伪原创的目的是为了在文章相对原创的情况下,提高搜索引擎的排名。 一、高质量伪原创 做好伪原创&#…

SpringCloud消息总线——Bus

Bus 本专栏学习内容来自尚硅谷周阳老师的视频 有兴趣的小伙伴可以点击视频地址观看 在SpringCloud Config学习过程中,还遗留下来一个问题:当运维更新git上的配置信息时,要想更改所有的客户端服务,必须得手动给客户端服务发送post请…

ESP32学习笔记14-mqtt-连接官方mqtt,onenet,thingsboard物联网平台

12.MQTT 12.0工程里的WiFi密码和ssid设置 工程的WiFi配置 ssid password 打开配置 配置ssid和密码 工程配置文件sdkconfig IP和端口配置 乐鑫服务器mqtt 12.1数据结构和配置函

力扣sql中等篇练习(四)

力扣sql中等篇练习(四) 1 游戏玩法分析IV 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 # 首次登录后第二天登录的玩家数量/玩家总数量(去重) # 注意首日注册指的是表中的最早的一个日期 SELECT ROUND((SELECT count(distinct t1.player_id)FRO…

给孩子买台灯什么牌子好?盘点学生专用台灯第一品牌

现在的孩子近视率很高,双减政策的执行,也有导致许多孩子长时间接触电子产品,没有正确的看书姿势,合理的用眼距离等,使用专业的护眼台灯,能让孩子眼睛拥有一个好的视力。 要注意养成预防近视好习惯&#xf…

dsp28335杂记3

文章目录 DAC实验,SPITLV5620DACADC0实验-------niceDMAADC实验(外设到存储器) 中断 了解皮毛,嘿嘿内置XINTF接口配置 外扩SRAM DMA支持 了解皮毛,嘿嘿eCAP脉冲捕获,重点啦eCAP输出PWM(APWM模…

【学习笔记】从MySQL快速入门 PostgreSQL

PGSQL 菜鸟教程/在线api文档 数据类型语法 DML条件 高级 一、数据类型 数值类型:和mysql类似,叫法不同 特殊:serial 自增整数 名字存储长度描述范围smallint2 字节小范围整数-32768 到 32767integer4 字节常用的整数-2147483648 到 21474…

C++——入门讲解(3)

作者:几冬雪来 时间:2023年4月19日 内容:C入门内容讲解 目录 前言: 1. 引用(续): 1.输出型参数: 2.传引用返回: 2.常引用: 3.auto: 结…

Android安全性:保护你的应用和用户数据

Android安全性:保护你的应用和用户数据 引言 在移动应用开发领域,Android系统占据着主导地位,随着智能手机的广泛普及和移动应用的快速发展,越来越多的开发者投入到Android应用的开发中。然而,随着Android应用的数量不…

React--》useReducer的讲解与使用

目录 useReducer的使用 刨析useReducer参数 useReducer的使用 useReducer的使用 在React函数式组件中,我们可以通过useState()来创建state,这种state创建方式会给我们返回两个东西state和setState()。state用来读取数据,而setState()用来…

走心Python实战应用:【requests+re 模块】快速下载原shen图片

人生苦短,我用python 这次给大家带来的是模块实战 以便大家理解学习 觉得写的好的话,可以给我多多点赞鸭~ 走心Python实战应用:【requestsre 模块】快速下载原shen图片 一、理解Python requests 模块二、requests 方法三、ruqusets 模块实…

第15章_File类与IO流

第15章_File类与IO流 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 本章专题与脉络 1. java.io.File类的使用 1.1 概述 File类及本章下的各种流,都定义在java.io包下。 一个File对…

渗透测试成功的8个关键,98%的人都理解错了

01 知道为什么要测试 执行渗透测试的目的是什么?是满足审计要求?是你需要知道某个新应用在现实世界中表现如何?你最近换了安全基础设施中某个重要组件而需要知道它是否有效?或者渗透测试根本就是作为你定期检查防御健康的一项例行…