Ardupilot源码移植到飞思卡尔I.MX6Q硬件平台

2019 年 3 月 6 日 无人机

官方推出的 pixhawk 系列控制器均采用STM32控制器,我们都知道,STM32系列单片机大多用于消费电子领域 ,以低成本和资料丰富在国内外被大规模使用。


但是我们认为在航天领域和工业控制领域,要求软件和硬件的高可靠性,硬件的选择更是非常严格。随着 Pixhawk开源飞控的飞速发展,国内外越来越多得公司使用这个开源飞控来做自己的无人系统的开发,这样一来原本是航模级别的软件硬件控制系统被强制用在了工业控制和航天领域


我们认为这是不合理的,但是目前处于无人系统的初级阶段,上下游产业链,还是不完善。大量无人系统的需求被提出来,相关产业的人才缺乏,产业规模还在发展,但是远远没有像汽车产业那样完善。我们针对如上的特点,把Ardupilot这个系统完整的移植到了飞思卡尔IMX6这款芯片平台上,直接把Ardupilot这个系统的硬件层面,提升到工业级。首先从核心处理器的硬件层面上极大的提升了稳定性,同时为之后的软件扩展提供了最大程度的保证。从硬件和软件层面保证整个系统的稳定性是我们一致努力的方向,在另外的一篇文章中,我也就会详细讨论目前无人系统,尤其无人机的领域存在的问题。


首先来看一下系统特性

产品参数

1.基本参数

CPU: NXP 四核 i.MX6Q

架构: Cortex-A9

主频: 1GHz

内存: 1GB DDR3 / 2GB DDR3

ROM: 8GB eMMC

操作系统: Linux4.1.15-realtime

2.接口引出

I2C: 1路

USB HOST: 1路 USB HOST 2.0

USB OTG: 1路 USB OTG 2.0

UART/IrDA: 3路(包含一个调试串口)

pwm: 12路

s.bus: 1路

adc: 2路

供电接口: 1路(gh1.25-6pin,5V、3A)

3.板上可用资源

RGBLED:     1个

气压计:     1个

加速度计:     2个

陀螺仪:     2个

罗盘:     2个

可编程IOMCU:     1个

boot开关:            1个

软件资源

1.驱动程序

串口驱动: linux提供

i2c驱动: linux提供

adc驱动: 提供

usb驱动: linux提供

pwm驱动: 提供

s.bus驱动: ardupilot提供

gpio驱动: linux提供

各传感器驱动: ardupilot提供

2.应用程序

控制程序: ardupilot----开源

通讯协议: mavlink-linux----开源

工具链

linux编程:arm-linux-gnueabihf-gcc(5.4版本以上)

windows编程: vs2017(安装包中需要选中linux交叉编译环境)

连接PC

串口终端:使用usb-ttl1.8v连接板卡debug串口,使用超级终端登陆

usb终端:使用usb数据线连接板卡usb-otg接口,使用超级终端ssh登陆

连接地面站:使用usb数据线连接板卡usb-otg接口,使用地面站连接

文件传输:使用usb数据线连接板卡usb-otg接口,使用超级终端sftp进行文件传输

vs在线编译调试:使用usb数据线连接板卡usb-otg接口,使用vs2017连接板卡,进行编译单步调试

vs在线附加调试:使用usb数据线连接板卡usb-otg接口,使用vs2017连接板卡,进行附加调试。



我们认为该开发平台有几大优势


1  硬件处理性能极大提高,相比经典款的官方飞控动辄50%到80%的CPU使用率,我们移植的这款处理器,CPU使用率在3%左右,代码的可扩展性余地非常大。

基于NXP(原Freescale)Cortex-A9架构的i.MX6Q 四核处理器的核心板


2  Linux下面的传感器驱动,USB驱动,各种支持的外设非常丰富,可以方便的扩展到视觉等高级应用开发。


3  支持单步调试,在VS2017下面我们集成了单步调试开发环境,控制器的代码流程清晰明了,方便代码跟踪和测试。


4  NXP工业级处理器,温度适应性,抗复杂环境电磁干扰能力更强。相对于STM32系列单片机的消费机处理器,硬件优势不言而喻。



我们认为在开发的便利程度上,VS2017的集成开发环境相比Ubuntu下面的开发环境更友好,可以单步调试,极大的提升调试开发效率。符合我们阿木实验室的初衷,让开发更高效!硬件性能的提升我们认为也是极大的,以后不管是滤波器的设计,还是复杂控制器的设计,还是图像方面的设计都可以极大的满足要求。是非常有前瞻性的一款自动驾驶仪硬件系统。


我们计划和官方保持同步,支持官方的任意版本源码,并且Ardupilot源码一样,用户只需要在官方的源码基础上做二次开发就行,支持官方任意一版代码,不必关心linux的系统层面调度,和普通的飞控开发一样关心算法和逻辑层面即可。



以下是测试说明和四旋翼飞机操作演示:


1、开发调试演示


2、起飞/降落/悬停测试


3、自稳模式下暴力打杆测试稳定性(大机动)

转自丨阿木实验室

往期热文(点击文章标题即可直接阅读)


登录查看更多
1

相关内容

飞思卡尔半导体(Freescale Semiconductor)是全球领先的半导体公司,全球总部位于美国德州的奥斯汀市。专注于嵌入式处理解决方案。飞思卡尔面向汽车、网络、工业和消费电子市场,提供的技术包括微处理器、微控制器、传感器、模拟集成电路和连接。飞思卡尔的一些主要应用和终端市场包括汽车安全、混合动力和全电动汽车、下一代无线基础设施、智能能源管理、便携式医疗器件、消费电器以及智能移动器件等。在全世界拥有多家设计、研发、制造和销售机构。
FPGA加速系统开发工具设计:综述与实践
专知会员服务
66+阅读 · 2020年6月24日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
127+阅读 · 2020年5月22日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
30+阅读 · 2020年3月5日
2019中国硬科技发展白皮书 193页
专知会员服务
83+阅读 · 2019年12月13日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
大小仅1MB!超轻量级的人脸识别模型火爆Github
大数据技术
25+阅读 · 2019年10月24日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
无人驾驶仿真软件
智能交通技术
21+阅读 · 2019年5月9日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Accelerated Methods for Deep Reinforcement Learning
Arxiv
6+阅读 · 2019年1月10日
Arxiv
7+阅读 · 2018年3月22日
VIP会员
相关VIP内容
FPGA加速系统开发工具设计:综述与实践
专知会员服务
66+阅读 · 2020年6月24日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
127+阅读 · 2020年5月22日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
【Google】利用AUTOML实现加速感知神经网络设计
专知会员服务
30+阅读 · 2020年3月5日
2019中国硬科技发展白皮书 193页
专知会员服务
83+阅读 · 2019年12月13日
【干货】大数据入门指南:Hadoop、Hive、Spark、 Storm等
专知会员服务
96+阅读 · 2019年12月4日
相关资讯
大小仅1MB!超轻量级的人脸识别模型火爆Github
大数据技术
25+阅读 · 2019年10月24日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
无人驾驶仿真软件
智能交通技术
21+阅读 · 2019年5月9日
浅谈 Kubernetes 在生产环境中的架构
DevOps时代
11+阅读 · 2019年5月8日
免费!Google Colab现已支持英伟达T4 GPU
新智元
5+阅读 · 2019年4月25日
34个最优秀好用的Python开源框架
专知
9+阅读 · 2019年3月1日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Top
微信扫码咨询专知VIP会员