开箱过后,紧接着进入评测项目,我的项目全称是“基于MaaXBoard的车载ADAS辅助驾驶系统”。
众所周知,车载测控系统、仪表与车载多媒体系统是NXP公司研发i.MX 8系列高性能应用处理器的主要市场方向。因此我的系统计划主要由两部分构成:数字仪表盘与视觉辅助驾驶界面,用来评测MaaXBoard作为车载计算机的潜力。
ADAS辅助驾驶系统的软件部分对图形显示要求很高,因此选用目前占据市场较大份额的Qt作为图形显示前端,版本使用最新的Qt5,编程语言选用C++,为了让图形界面更加漂亮和现代化,使用Qt的扩展组件QML编写前端图形显示界面。
ADAS系统的视觉辅助驾驶后端主要选用OpenCV,负责图像的采集与处理,OpenCV后端作为自定义组件无缝接入到QML前端程序中,作为ADAS前端的图像数据源。
工欲善其事,必先利其器。
软件框架确定了,下一步就是在MaaXBoard上搭建开发和运行环境。由于MaaXBoard提供的资源很充足,便没有必要再使用传统的交叉编译方法,而是在MaaXBoard上直接编译开发。
我们使用以下命令安装Qt开发环境。
apt-get install qt5-defaultapt-get install qtcreator
复制代码在官方系统直接安装Qt,会出现如下错误。
官方提供Debian Linux系统镜像已经比较完善,但美中不足的是显示系统选用了Wayland。Wayland虽然架构先进,减小了图形部分的资源占用,但它目前的生态支持却还没有发展完善。许多常用软件和开发工具都是使用的传统X Window,因此我们把桌面系统换回X Window。
为了解决OpenGL的底层兼容问题,我们将系统中现有的OpenGL也一并卸载掉。
卸载过程比较漫长,随着卸载的一步步进行,你会在显示器上看到目前的图形系统一步步土崩瓦解,然后归于一片漆黑。
不要慌,这些只是黎明前的黑暗,更美好的即将到来! (ง •̀_•́)ง (*•̀ㅂ•́)و
卸载过程结束,首先重新安装OpenGL及相关库。
apt-get install libgl1-mesa-devapt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev apt-get install libglfw3-dev libglfw3 apt-get install freeglut3-dev
复制代码下一步安装新的图形服务器、桌面系统与相关组件。
apt-get install xorg
复制代码Xfce是一款适用于多种类Unix系统的轻量级桌面环境。它被设计用来提高操作效率,在节省系统资源的同时,能够快速加载和执行应用程序,我们选择它作为新的Xfce4桌面系统。
apt-get install xfce4 xfce4-goodies
复制代码安装完成后重启Linux,崭新的Linux桌面系统便呈现出来了。
我们登录用户,新版图形桌面加载出来。
Xfce4比原版Wayland+Weston方案漂亮多了,资源占用很小的同时,图形系统兼容性也大幅增强,镜像源中的大部分依赖图形显示的软件都可以正常运行了。
首先检查新安装的OpenGL库,我们编写一个小程序测试一下。
OpenGL小茶壶正常显示,说明当前OpenGL已经可以正常兼容了。
胜利就在前方,现在我们重新安装Qt:
apt-get install qt5-defaultapt-get install qtcreator
复制代码在桌面打开qtcreator,熟悉的界面终于出现了。
万事俱备,接下来就可以愉快地进行开发了! ╭(●`∀´●)╯╰(●’◡’●)╮
【英蓓特MaaXBoard】搭建ADAS辅助驾驶系统(二):车载数字仪表盘
【英蓓特MaaXBoard】搭建ADAS辅助驾驶系统(三):实现车道线检测