一、遥控器控制

在真实飞行过程中,我们使用真实的遥控器作为控制无人机的主要操作来源,遥控器始终拥有最高的权限,精湛的遥控器操作手法可以保证无人机安稳着陆,但对于很多非专业人士来说,遥控的操作技巧是需要不断练习的。

我们始终强调一个观念,仿真与实机结合,这样更加符合开发流程,在以往的仿真中,我们通过键盘控制无人机飞行,并不能真实的反应出实机飞行时该怎么操作,也是基于现在存在的种种问题,为了让仿真与实机结合的更加完美,在Prometheus中增加遥控器控制方式,与真机使用对应起来,更加容易上手和进行二次开发。

1、真实飞机中的遥控器

下面是真实飞机中的遥控器的摇杆响应值,由 mavros/rc/in 话题组成。 2、仿真飞机中的遥控器摇杆

为了与真实飞机保持一致,仿真中的遥控器摇杆操作设计与真实飞机保持一致,采用 mavros/rc/override。

RC Override : 通道覆盖,又名RC覆盖,主要用于模拟用户实时实现遥控器操纵杆的控制,通过使用适当的mavlink命令,如DO_SET_SERVO/DO_SET_RELAY,可以设置期望的位置或者方向以及速度,它可以覆盖掉原有的遥控器数据值。

使用 mavros/rc/override 话题,重载使用其中的前八位通道。

注意:前八位通道,默认有数值情况下属于覆盖遥控器通道数据,数值为0表示释放回RC控制。

节点名称:joy_translator

订阅:/joy

发布:mavros/rc/override

代码存在位置:Prometheus/Simulator/gazebo_simulator/py_nodes/joystick_translator.py

二、如何使用

在此使用的遥控器为 FS-I6S型号

1、Linux驱动

(1)Linux支持Joy遥控器操纵杆,有个 gstest-gtk 的应用程序可以查看摇杆的控制详情。

(2)安装方式如下:sudo apt-get install gstest-gtk

(3)安装完成之后,可以在终端中直接运行gstest-gtk便可打开查看其摇杆和按钮的响应情况。

2、ROS驱动安装

(1)使用现有的joy ros驱动,通过安装二进制方式安装ROS驱动功能包:sudo apt-get install ros-melodic-joy*

(2)安装完成之后,便可以测试 joy节点:运行roscore;运行rosrun joy joy_node

(3)此时ros话题中就会有/joy的话题。

3、转化为mavros/rc/override

运行joy节点之后,再单独运行:rosrun prometheus_gazebo joy_translator.py

三、不足及改进

1、ROS驱动精度不够

(1)ROS驱动精度不够高,理论上数据范围在-1.01.0之间,实际的数据范围在-0.9240.935,导致摇杆的数据在临界值范围内有一定误差,不能完全达到1000或者2000。

(2)解决思路:修改底层ROS驱动,归一化处理更加完善 。

2、新增mavros插件以适配mavlink

(1)在qgc中的joystick,存在mavlink数据流,但并未产生相应的mavros数据流,可以通过新增mavros插件,获取到#70号mavlink数据 。

(2)优点:qgc中已经集成了驱动,且控制精度高。

  • End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

技术分享 | 遥控器控制(Joystick)相关推荐

  1. 搜狐视频P2P技术揭秘 - 分享率控制篇

    搜狐视频P2P技术揭秘 - 分享率控制篇 1 业务决定控制逻辑 2 搜狐影音/搜狐视频 2.1 状态定义 2.2 输入事件 2.3 状态转换 2.4 转换逻辑 3 Flash 播放器/H5 播放器 在 ...

  2. 【技术分享】Oracle控制文件的备份、恢复以及多路复用

                       Oracle控制文件的备份.恢复以及多路复用 前言      今天Frank给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海. ...

  3. iOS-FXDanmaku弹幕库介绍、相关技术分享

    前言 去年, 2016年, 一大波直播平台在移动端涌出, 直播慢慢步入了人们的视角. 网上如今能够看到各式各样的直播, 如秀场直播.游戏直播.体育直播.娱乐直播等等. 在各种类型的直播中, 弹幕在PC ...

  4. UI培训技术分享:设计大神都在用的10种技法!

    越来越多的人开始学习UI设计,想要进群到UI设计这个行业,本期小编为大家介绍的UI培训教程就是关于设计师会经常用到的一些技巧,帮助大家后期的工作中的应用. UI培训技术分享:设计大神都在用的10种技法 ...

  5. 2018 大湾区(深圳) .NET技术分享交流会 第一期

    .NET Core 2.1 已于2018年5月30日正式发布,邀请粤港澳大湾区.NET技术专家和从业人员,一起分享与交流.NET技术的发展方向,提高粤港澳大湾区.NET技术交流氛围,挖掘.NET高级人 ...

  6. 2017(深圳) .NET技术分享交流会(第二期)网络直播活动

    .NET Core 2.0 已于2017年8月14日正式发布,2017(深圳) .NET技术分享交流会在公众号中发出2个小时后就被抢光了,受限于场地无法增加人数,这次如鹏网杨中科老师提供VIP级的网络 ...

  7. 2017(深圳) .NET技术分享交流会 第二期,将有网络直播

    2017 .NET技术分享交流会第一期已在5月13日成功举办,但是有同学反馈哪个地方有点偏,又过去了3个月,这期间一直没找到合适的地方举办活动,一直在南山科技园寻找经济适合的场地,终于找到一个安静,风 ...

  8. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  9. 【华为云技术分享】开发团队中的任务没人领取,你头疼吗?

    背景 在传统开发模式下模下,发任务由项目经理指派给个人的,而在敏捷开发模式中,是由任务是项目经理指派给个人的,而在敏捷开发模式的务队领取的.很多企业开发任务的时候,有几个任务型中认领怎么办?问题:&q ...

最新文章

  1. C#强化系列文章三:实验分析C#中三种计时器使用异同点
  2. 深度学习笔记:LSTM
  3. CentOS7 3.项目持续交付脚本
  4. 5G进入爬坡期,这个关键因素,决定了它的成败……
  5. RDS、DDS和GaussDB理不清?看这一篇足够了!
  6. zynq中mgtx应用_【干货分享】ZYNQ常用外设设计 (上)
  7. 可能存在无限递归_Python之递归函数
  8. Flutter进阶—实现动画效果(六)
  9. java中equals以及==的用法(简单介绍)
  10. Linux netstat命令详解
  11. 笑出腹肌的程序猿搞笑趣图
  12. 基于LASSO的波士顿房价分析
  13. TopFreeTheme精选免费模板【20130827】
  14. 什么是沾包?如何处理?
  15. 区块链市场——专为用户打造的一站式应用下载平台
  16. java转义字符响铃_转义字符
  17. excel如何批量让图片水平居中垂直居中对齐?
  18. 嵌入式软件静态解析工具-CasePlayer2
  19. 华为国产系统Android,安卓系统已成昨日黄花!这个国产系统要挑战iOS!
  20. java计算机毕业设计绿色生活基于PS、DW的绿色环保宣传网站源程序+mysql+系统+lw文档+远程调试

热门文章

  1. 竞选计算机课代表,科学课代表竞选稿
  2. Ajax获取数据渲染到页面
  3. win2003 服务器端口修改,win2003服务器修改远程登陆端口方法
  4. 二进制人工智能 博客精选
  5. 【生活思考】恋爱与工作
  6. certbot工具部署letsencrypt证书
  7. 全球及中国催化剂二氧化碳变送器行业研究及十四五规划分析报告
  8. 在云服务器上部署web项目(CVM)
  9. 计算机专业是什么学科门类,介绍下软件工程属于什么学科类别
  10. 分类预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多特征分类预测