pixhawk学习笔记


最近转到无人机领域的开发中,感觉和以往搞android驱动差别比较大,以前搞android驱动的时候网上的资料满天飞,但是现在关于飞控相关的资料却少之又少,一些资料都是从原理上入手,讲的是天花乱坠,看半天也不知所云,我打算从实际应用的角度来记录我飞控代码的学习之路,希望我能坚持下来。


首先看一下飞控代码的组成架构:

飞控代码以nuttx实时操作系统为核心, 驱动层通过采集加速度、陀螺仪、磁力计、气压计传感器的值来控制无人机的飞行姿态,通过uorb来实现各个进程之间的通信,控制无人机的飞行可以通过遥控器或是mavlink消息来完成,下面我就讲一下怎么创建一个新的应用程序。


每学习一门新的语言都是以"hello world!"开始,学习一门新的系统也不例外:


1. 在Firmware/src/modules目录下建立一个px4_simple_app文件夹,在这个文件夹中建立一个module.mk文件,将下列信息写入此文件:

         MODULE_COMMAND              =px4_simple_app

         SRCS                           = px4_simple_app.c

        2.  在上述文件夹中在新建一个px4_simple_app.c的文件:

                  #include <nuttx/config.h>

                  #include <stdio.h>                                                

                  #include <errno.h>

 

                  __EXPORT int px4_simple_app_main(int argc,char *argv[]);

 

                  Int px4_simple_app_main(int argc,char *argc[])

                 {

                           printf(“Hello Sky\n”);

                           return 0;

                 }

               3.      注册此app:

               在Firmware/makefiles/config_px4fmu-v2_default.mk中加入:

                MODULES                    += modules/px4_simple_app


然后编译烧写,之后再终端中 输入"?",在列表中就会看到px4_simple_app,然后输入“px4_simple_app start”,就会看到 “Hello Sky”的字样,这样在nuttx上的第一个应用程序就成功跑起来啦。



你可能感兴趣的:(传感器)