【PX4】使用服务(Service)来更改速度控制的坐标系(这里面列出了MAVROS提供的坐标系种类)

2023-05-16

转载自:https://qiuming.blog.csdn.net/article/details/113242055

PX4】使用服务(Service)来更改速度控制的坐标系

Running Mars 2021-02-09 17:33:12 74 收藏

分类专栏: 无人机 文章标签: python 无人机 PX4 MAVROS

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/qq_33547243/article/details/113242055

版权

 

PX4】使用服务(Service)来更改速度控制的坐标系

  • 1.支持的坐标系
  • 2.使用服务来更改坐标系
    • 2.1 命令行操作
    • 2.2 Python控制脚本
    • 2.3 查看该服务相关信息


本文主要介绍的是如何使用服务来更改无人机控制中的坐标系。

 

1.支持的坐标系

我们先来看下MAVROS中提供了那些坐标系可供我们使用:

uint8 FRAME_GLOBAL=0
uint8 FRAME_LOCAL_NED=1
uint8 FRAME_MISSION=2
uint8 FRAME_GLOBAL_RELATIVE_ALT=3
uint8 FRAME_LOCAL_ENU=4
uint8 FRAME_GLOBAL_INT=5
uint8 FRAME_GLOBAL_RELATIVE_ALT_INT=6
uint8 FRAME_LOCAL_OFFSET_NED=7
uint8 FRAME_BODY_NED=8
uint8 FRAME_BODY_OFFSET_NED=9
uint8 FRAME_GLOBAL_TERRAIN_ALT=10
uint8 FRAME_GLOBAL_TERRAIN_ALT_INT=11
uint8 FRAME_BODY_FRD=12
uint8 FRAME_BODY_FLU=13
uint8 FRAME_MOCAP_NED=14
uint8 FRAME_MOCAP_ENU=15
uint8 FRAME_VISION_NED=16
uint8 FRAME_VISION_ENU=17
uint8 FRAME_ESTIM_NED=18
uint8 FRAME_ESTIM_ENU=19
uint8 mav_frame

2.使用服务来更改坐标系

2.1 命令行操作

rosservice call /mavros/setpoint_velocity/mav_frame 8

2.2 Python控制脚本

self.frameService = rospy.ServiceProxy('/mavros/setpoint_velocity/mav_frame', SetMavFrame)
self.frameService(8)

2.3 查看该服务相关信息

rosservice info /mavros/setpoint_velocity/mav_frame

输出类似下面的:

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

【PX4】使用服务(Service)来更改速度控制的坐标系(这里面列出了MAVROS提供的坐标系种类) 的相关文章

  • 服务崩溃,事件名称为 [CLR20r3] [重复]

    这个问题在这里已经有答案了 我已经创建了一项服务 Net c 基本上定期发送电子邮件 该服务在我的上运行良好x32 XP机器但是当我部署时x64 build基于另一个 x64 Windows Server 2008 R2机器 服务启动并在几
  • ::FindWindow 从服务应用程序失败

    从服务应用程序调用时 Windows API FindWindow 函数失败 GetLastError 也返回 0 成功 这是一些特权 访问权问题吗 你认为这是设计问题吗 我应该使用另一种IPC方法吗 leppie 是的 Windows 服
  • Robocopy 将文件复制到远程计算机

    我正在尝试编写一个 robocopy 命令将文件从本地计算机复制到任何一台部署服务器 ROBOCOPY MyService bin release remote computer C services myservice MIR 我收到这个
  • 在重新激活 WiFi/移动网络之前,服务中的 Android 位置侦听器无法工作

    我的位置侦听器工作正常 收集数据没有任何问题 但有时它不收集任何数据 我此时必须关闭并重新启动我的位置提供程序 重新启动可以解决问题 但是 这可能不是用户期望做的最好的事情 当我使用 GPS 作为提供商时 没有问题 位置侦听器在服务中工作
  • 如何在我的类型类中访问我的服务(DependencyInjection)?

    我创建了一个服务 DependencyInjection 并在控制器上将其用作 this gt get service name gt someMethod 我想知道如何在我的表单类上使用它 这是我的课程示例形式 namespace Com
  • 如何从与桌面交互的应用程序与 Windows 服务进行通信?

    使用 Net 与服务交互的最佳方式是什么 即大多数托盘应用程序如何与其服务器通信 如果这个方法也是跨平台的 那就更好了 在 Mono 中工作 所以我猜远程处理已经过时了 Edit 忘了说了 我们仍然需要在现场支持 Windows 2000
  • 共享首选项更新值未反映在服务中

    我的应用程序在应用程序启动时调用服务 在应用程序中 我正在更新给定键值对的值 SharedPreferences Editor editor getSharedPreferences getString R string shared pr
  • Windows 服务和 Windows 进程有什么区别?

    是什么不同之处窗户之间service和一个窗户process 服务是真正的 Windows 进程 没有区别 服务的唯一特殊之处在于它由操作系统启动并在单独的会话中运行 一种独立的方式 可防止其干扰桌面会话 传统上命名为daemon http
  • 启动时启动服务但不进行任何活动

    我想创建一个仅包含服务 无活动 的应用程序 该服务必须在启动时启动 我的问题是 如果没有活动 启动接收器似乎不会调用 我用下面的例子进行了测试 我有不同的文件 MyReceiver java package com test teststa
  • 无法从 Windows 7 上的 Windows 服务启动桌面应用程序

    HI 我在 Windows 7 上有 C WCF Windows 服务 以具有管理员权限的用户身份登录 我正在尝试在服务启动后启动桌面应用程序 我发现的所有讨论都是关于 Windows 工作站和桌面 我创建了一个单独的线程 设置线程工作站和
  • 服务作为 SOA 中的中介

    我知道什么是 通常的 中介设计模式 维基百科中有一些描述 http en wikipedia org wiki Mediator pattern http en wikipedia org wiki Mediator pattern 在我的
  • 如何调试symfony2服务容器中配置的标签和服务?

    我正在编写一个服务来处理 AccessDeniedException 并且我找到了一种方法来解决它使用 Symfony2 的 AccessDeniedHandlerInterface https stackoverflow com ques
  • 发送变量后的 wsdl 服务响应,php

    我是 SOAP WSDL 函数的新手 我有一位客户从一家从事汽车测试的公司获得了 wsdl 文件 我的客户是他们的分包商 他们告诉我们上传有关车牌 类别等信息 一旦详细信息发送完毕 服务器就会做出成功或失败的响应 请您协助 浏览不同的信息
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • Python 脚本作为 Linux 服务/守护进程

    Hallo 我试图让 python 脚本作为服务 守护进程 在 ubuntu linux 上运行 网络上存在多种解决方案 例如 http pypi python org pypi python daemon http pypi python
  • 更改 TFS 构建代理的身份

    我们有一个运行集成测试的 TFS 构建代理 其中一些测试会调用 Internet 上的 Web 服务 我们的网络使用代理与互联网通信 由于构建代理在网络服务上的身份下运行 并且网络服务的设置未配置为使用代理 因此测试失败 我该如何执行以下操
  • onTaskRemoved() 在华为和小米设备中没有被调用

    我一直在使用onTaskRemoved 服务中的方法 用于检测应用程序何时通过滑动从设备最近列表中删除 我执行一些日志记录和发生这种情况时需要执行的一些其他操作 它工作完美 然后我在运行Android 6 0的华为设备上检查了这个方法 该方
  • 即使提供了通知,也无法在前台服务中运行蓝牙扫描超过 10 - 15 秒

    即使应用程序关闭 我也使用服务来保留对 Android 手机的扫描 我使用广播接收器在被杀死时重新启动我的服务 它会重新启动扫描 并且只工作大约 15 秒 然后停止 当我单击 MainActivity 中的 button1 时 我启动了服务
  • Mongod 服务启动退出,代码为 100

    Problem 我的 mongo 服务不再启动 root machine service mongod start root machine service mongod status mongod service High perform
  • Android 后台服务示例,具有交互式调用方法

    我不是 Android 方面的专家 我正在寻找一个 Android 应用程序的示例 该应用程序使用一个服务 其中有真正的功能方法 或者换句话说 一个服务可以用来做什么 我们什么时候需要它 超越简单的东西服务举例 我确信您渴望获得一些工作代码

随机推荐