请选择 进入手机版 | 继续访问电脑版

10

阿木币

1

精华

4 小时

在线时间

技术大V

Rank: 4

发表于 2019-9-9 10:54:10 57 浏览 0 回复

Pixhawk地面站选中机型背后源码中做了哪些操作?

本篇探讨使用Pixhawk当我们选中机型源码的背后发生了一系列什么?
一.校准的第一步选中机型
机型的配置可以通过地面站选中,或者可以从参数列表中修改SYS_AUTOSTART。无论是选中还是直接修改,其实本质还是在修改参数SYS_AUTOSTART,他代表这机型的ID,参数在Firmware/src/modules/systemlib/system_params.c中初始化为0,不对应任何机型:
Firmware/src/modules/systemlib/system_params.c
PARAM_DEFINE_INT32(SYS_AUTOSTART, 0);
假设现在使用的板子是Pixhawk,选中的机型是大疆F450,机型的ID4011,即此时修改源码参数AUTOSTART=4011.
选中机型后系统都会要求重新上电,即启动脚本重新执行,我们来看看现在的启动过程。
二.rcS启动过程
Rcs中出现5SYS_AUTOSTART对于我们pixhawk或者pixracer执行的是如下:
现在就会跳转去执行
                sh /etc/init.d/rc.autostart
三.rc.autostart
跟踪v2,暂时不看Pixracer
刚刚选中机型大疆F450 SYS_AUTOSTART=4011
根据机型可以执行大疆F450的启动脚本,这个脚本都在干些什么,往下看。
四.4011_dji_f450

在大疆f450的启动脚本中:
1. 如果设置参数auto config,这里给大疆450 默认设置了一组姿态PID参数,以param set就是在设置系统参数。
2. 除了设置参数,紧接着启动了quad_x  x型旋翼的启动脚本。
五.4001_quad_x

设置了主混控文件:
1. 设置了 MIXERquad_x
2. 设置输出 PWM_OUT 1234  4channal
3. 另外启动了旋翼默认的参数
六.rc.mc_defaults

在上一步的启动脚本 4001_quad_x中设置了main混控
在这里紧接着设置了了main混控的参数,和aux混控。
机型的设置的背后默默的就已经把main混控 aux混控相关变量和参数就已经设置好了:
rc.mc_default下配置和mainauxpwm设置,包括输出的通道,最小值,最大值,上锁值,输出频率。使用QGC和示波器经过修改测试,他们确实会在配置输出的PWM


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

扫一扫浏览分享
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

官方淘宝店

 阿木社区

微信公众号

AMOV_UAV

扫一扫,快速加入

群号652692981

快速回复 返回顶部 返回列表