Pixhawk室内自动控制:参数设置(SITL)
本文针对使用光流传感器和超声波传感器(或激光雷达)进行开发,期望实现室内自动控制的Pixhawk用户。这篇文章讲解了如何针对真机进行参数设置。本文将讲述如何为SITL模拟器设置虚拟光流传感器和虚拟超声波传感器,以测试室内自动控制方案是否可行。
在光流传感器和超声波传感器的帮助下实现室内的自动控制是一项实验性的功能,你需要使用最新的飞控软件版本来获得最新特性。关于如何在Windows上编译任意版本的SITL模拟器,请参阅从源码编译SITL(Windows)。
运行SITL和MAVProxy
- 启动SITL。打开Cygwin Terminal(你应该在编译SITL时已经安装了),运行以下命令
.. -- ,,, --
- 启动MAVProxy。MAVProxy的作用是将数据包转发。打开cmd,运行以下命令
mavproxy.py --master tcp:127.0.0.1:5760 --sitl 127.0.0.1:5501 --out 127.0.0.1:14550 --out 127.0.0.1:14551
此处打开了两个本地端口,14550用于连接地面站,14551用于连接DroneKit程序。
如果提示找不到”mavproxy.py”,则需要安装。先确认计算机上已安装Python和pip,再在cmd中输入
pip install mavproxy
在MAVProxy中修改参数
MAVProxy是一个基于命令行的、为开发人员设计的地面站软件。点此查看完整的MAVProxy文档(英文)。
如何查看和修改参数
查看参数
MAVProxy中,查看参数的命令为
param show PARAM_NAME
使用任意参数名代替PARAM_NAME
即可。MAVProxy对大小写不敏感。
此外,可以用*
代表任意字符。例如
param show EK2*
将会显示所有以”EK2”开头的参数。
同理,输入
param show *
将会显示全部参数。
修改参数
MAVProxy修改参数的命令为
param set PARAM_NAME VALUE
其中PARAM_NAME
代表参数名,VALUE
代表数值。
例如,使用以下命令禁用飞行前检查(Arming Check)
param set ARMING_CHECK 0
修改的参数会自动保存,下一次启动时不必再次修改。
禁用GPS,设置虚拟光流和虚拟超声波
SITL支持禁用GPS信号、为模拟的无人机添加虚拟的传感器,可以通过在MAVProxy中修改相关参数实现。
禁用GPS
# 禁用SITL的GPS信号
param set SIM_GPS_DISABLE 0
设置虚拟光流传感器
param set SIM_FLOW_ENABLE 1
param set FLOW_ENABLE 1
param set FLOW_FXSCALER 50
param set FLOW_FYSCALER 50
设置虚拟超声波传感器
param set SIM_SONAR_SCALE 10
param set RNGFND_TYPE 1
param set RNGFND_SCALING 10
param set RNGFND_PIN 0
param set RNGFND_MAX_CM 5000
修改飞控参数
进行以下设置,更改飞控使用的卡曼滤波器:
# 使用EKF3(最新版本的卡曼滤波)
param set AHRS_EKF_TYPE 3
# 停止EKF2
param set EK2_ENABLE 0
# 使能EKF3
param set EK3_ENABLE 1
完成以上设置后,需要重启SITL进程(按ctrl+C中止,之后再重新启动)和MAVProxy(不然EKF3的相关参数不会出现)。
重启后,再进行以下设置
# 禁用GPS
GPS_TYPE = 0
# 使用光流传感器作为定位源
EK3_GPS_TYPE = 3
# 使用超声波传感器作为高度源
EK3_ALT_SOURCE = 1
Set Home Here/设置家在此
因为光流传感器无法提供绝对的定位信息(只能提供相对位置信息),在使用程序控制“GUIDED”模式下的无人机自动起飞之前,必须要告诉飞控“家”的位置。
打开MissionPlanner,通过UDP、端口14550连接到SITL。在MissionPlanner地图上的任意位置,右键,选择“Set Home Here/设置家在此”
若操作成功,则会在地图上出现无人机的图案及朝向,如下图所示。
此时,无人机在室内的自动控制已经准备就绪了,你可以使用代码开始测试了(代码需连接到127.0.0.1:14551)。
版本信息
1.0 20170914 initial commit
本作品采用知识共享署名-相同方式共享 3.0 未本地化版本许可协议进行许可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)