树莓派无人机开发指南之一:系统篇

一、树莓派介绍

树莓派作为一款物美价廉的微型电脑,被广发应用于物联网、开源电子和机器人等领域。它的官方组织是Raspberry Pi foundation,并被Broadcom公司支持。树莓派版本从2012年开始至今发展了很多代,最新的是Raspberry Pi 4B,已经自带GPU,功能很强大,各版本的详细参数对比可以参考:

https://socialcompare.com/en/comparison/raspberrypi-models-comparison#:~:text=RaspberryPI models comparison , 12 more rows

在这里插入图片描述树莓派堪比微型电脑中的性价比之王,对于硬件设计者来说,看到树莓派的感觉就是,它实在太便宜了。所以对于无人机开发者来说,把树莓派作为机载电脑是很自然的选择,并且满足很多初级应用已经足够。

二、树莓派无人机软件框架

在这里插入图片描述

图1. 树莓派无人机软件框架

三、树莓派操作系统选择和分析

支持树莓派的操作系统选择挺多,但不是都适合做无人机应用开发,我们针对我们尝试的操作系统具体分析如下:

(1)Raspbian系统

Raspbian系统是树莓派官方开发和维护的系统,官网是:https://www.raspbian.org。该系统基于Debian Linux内核,版本更新较快,现在最新的是Raspbian Buster,可以支持从model 1到model 4所有硬件型号。

在这里插入图片描述

图2. 树莓派Raspbian系统界面

该系统的功能对树莓派自身生态支持是最好的,支持树莓派自己维护的镜像库,对各类外设如wifi,蓝牙,摄像头,GPIO等物联网应用支持都不错,也支持可视化编程等教育应用。不足之处在于对于无人机开发而言,我们需要的是它对ROS和无人机配套软件的支持,这点相对欠缺。笔者通过尝试发现,Raspbian系统对ROS软件库的支持很弱,安装步骤复杂且容易失败。例如:

  • 针对ROS melodic的安装:

http://wiki.ros.org/ROSberryPi/Installing ROS Melodic on the Raspberry Pi
步骤相比一般的ROS在ubuntu下的安装复杂很多。

  • 针对mavros包的安装:

Mavros包是做无人机开发应用的必备软件基础,它承担的作用是把用户在机载电脑的指令转化为底层飞控支持的指令。在尝试安装mavros库的时候,由于该库需要依赖很多其他软件,但所依赖的软件没有apt的编译版本,导致安装风险很大。用户只有把所有依赖软件重新在Raspbian下编译通过才有可能成功,经测试发现所依赖的软件有几十个。搜索得到的方法经尝试都未能成功,且维护起来很不便。

参考链接有:
https://answers.ros.org/question/232631/how-to-install-mavros-on-raspbian-for-rpi/

https://blog.csdn.net/Lin_QC/article/details/88900139

所以,针对无人机开发应用,Raspbian系统是不推荐的。

(2)Ubuntu Mate系统

Ubuntu mate系统是ubuntu linux系统的一个衍生版本,相比于ubuntu而言,它适用于计算能力受限的应用。对于树莓派,它只支持model 2, 3, 3+的b系列和model 4,至少需要5GB的SD卡空间。现在ubuntu mate的系统已经更新到ubuntu mate 20.04。对于不同树莓派版本,用户需要注意选择的ubuntu mate系统适配性,例如ubuntu mate 16.04不能在model 3b+上使用。

在这里插入图片描述

图2. Ubuntu Mate系统界面

依赖于ubuntu强大的软件生态,在ubuntu mate下面进行无人机软件开发相对容易很多。例如对于ROS的安装,可以直接参考官方安装步骤,推荐安装ros-melodic-desktop-full:
http://wiki.ros.org/melodic/Installation/Ubuntu

对于mavros的安装,针对ROS melodic,安装命令为:

sudo apt update
sudo apt install ros-melodic-mavros

当然,整个过程不是这么直接,用户经常会遇到国内网络封锁和github访问的问题,对于入门新手而言,安装系统和ROS的时间往往耗费很多效果却差强人意,只有经历了重复安装尝试才能知悉其中所有的细节问题。

Ubuntu mate也有它不足之处,除了版本更新和硬件匹配的问题,ubuntu mate在UI用户界面上占用的资源导致它实际运行的效率不是很高,例如对CPU的占用偏高,硬盘空间占据也较大。这对无人机开发而言是个麻烦,因为无人机的软件相对比较复杂,编译和运行过程都会消耗较多系统资源。这种情况下,考验用户对系统资源把握的要求就挺高了。
我们针对树莓派model 3b+ (16G SD flash)和ubuntu mate 18.04的配置测试如下,可以发现在不启动额外任务的情况下,系统CPU占用率为7.8%(不含top进程),在操作中我们也会发现系统对交互的响应不是很快,尤其是在做软件开发时有短暂的卡顿发生。

在这里插入图片描述

图3. Ubuntu Mate 18.04系统资源占用明细

(3)ubuntu其他优化版本

ubuntu其他优化版本也是可行的方案之一,例如ROS官方链接
http://wiki.ros.org/ROSberryPi/Installing ROS Kinetic on the Raspberry Pi中推荐的Ubuntu 16.04 (LXDE) 和ROS Kinetic镜像,可以支持树莓派model 3 和model 3b+。该镜像系统采用的是Lubuntu系统(可以理解成轻量级桌面设计的ubuntu系统),官方链接为:https://lubuntu.net/

在这里插入图片描述

图4. Lubuntu系统

Lubuntu相比ubuntu和ubuntu mate而言,对硬件的要求更低,资源利用率更高,目前Lubuntu的版本支持到19.04版本,相比ubuntu mate而言更新稍慢。
我们建议用户可以使用ubiquityrobotics提供的镜像,因为可以省去很多不必要的ROS安装操作。尽管如此,对于国内用户仍然有许多需要设置的地方,如语言,更新库,ROS更新等。
我们云讷科技团队的树莓派无人机产品系列采用的方案基于Lubuntu镜像,在此基础上预装了opencv, python开发环境,mavros,mavlink等软件,并在底层配置上做了更多优化如系统启动项,在资源有限的情况下更大支持了用户对无人机软件的开发需求。

在这里插入图片描述

图5. 云讷科技优化的Lubuntu系统

同样,我们在同等硬件配置树莓派model 3b+ (16G SD flash)下测试结果如下图所示,该系统在开发过程中相比ubuntu mate而言更加顺畅快捷,不会有卡顿现象。采用top和df命令查看系统资源可以发现:用户资源使用率为5.6%(不含top进程)。

在这里插入图片描述

图6. Lubuntu系统系统资源占用明细

(4)总结

各操作系统的利弊总结分析如下:

系统选择能否方便支持无人机开发软件硬件资源使用效率整体意见
Raspbian中等不推荐
Ubuntu Mate稍低,有卡顿可以使用,但不够优化
Lubuntu满意推荐

四、关于我们

更多后续内容敬请期待,未来我们将谈谈更多树莓派无人机可以实现的有趣的事。

文中的树莓派无人机可以在云讷科技的官方淘宝店铺采购得到:
https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.50111deb88O0ii&ft=t&id=611162705139
在这里插入图片描述

云讷科技(深圳)有限公司是一家立足智能软硬件技术积累,面向科技教育行业的公司,公司旨在提供优质的科技教育产品,传播科技文化。公司现提供以下产品和服务:

  1. 提供基于无人系统技术的教育产品和课程,如可编程无人机/无人车、人工智能教育等
  2. 提供少儿可视化编程软件产品和课程,如python, scratch等
  3. 公司同时提供部分无人机行业核心解决方案,如飞行控制器,无人机操作系统等
  • 24
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值