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


    【英蓓特MaaXBoard】搭建ADAS辅助驾驶系统(二):车载数字仪表盘
    【英蓓特MaaXBoard】搭建ADAS辅助驾驶系统(三):实现车道线检测