魔控电脑遥控器教程(技术分享遥控器控制)

一、遥控器控制

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

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

1、真实飞机中的遥控器

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

魔控电脑遥控器教程(技术分享遥控器控制)(1)

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.0~1.0之间,实际的数据范围在-0.924~0.935,导致摇杆的数据在临界值范围内有一定误差,不能完全达到1000或者2000。

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

2、新增mavros插件以适配mavlink

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

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

阿木实验室致力于为机器人研发提供开源软硬件工具和课程服务,让研发更高效!

- End -

技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页