【玄铁杯第三届RISC-V应用创新大赛】基于Lichee Pi 4A的车载HUD显示设备
[复制链接]
本帖最后由 hancok1990 于 2023-12-5 11:53 编辑
一、项目背景
车载抬头显示慢慢以及普及开来,它能在不影响开车视野的情况下给车主提供必要的提示信息,高级点的功能也包括结合AR识别道路并结合导航作出路线指引,在车展上也常见到,基本是智能车的标配。
本项目旨在完成车载hud在LicheePi4A上的实现方式以及探索Lichee Pi的性能以及潜力。
二、作品简介
在方案设计之初,想尽可能的探索开发板的可能性,尝试了多种方案,包括使用Android系统结合unity的ar框架来完成道路指引以及基本的hud显示。
见:
【玄铁杯第三届RISC-V应用创新大赛】Unity在Lichee Pi上的可行性验证 https://bbs.eeworld.com.cn/thread-1262095-1-1.html
验证过程很快宣告失败(官方的支持很给力很负责也很快,点赞~)
另外在车载hud的项目研究中也看到了更完整的开源方案: ,它通过car harness,实现对车状态的监视。
尝试在开发板上编译此项目,很可惜也是由于项目对risicv架构不支持的关系而无法编译运行,本人也没有能力完成移植,这个方案也只能宣告失败。
剩下的方案基本只有自己手搓道路识别以及将开发板作为hud显示设备终端,使用手机完成ar识别。由于时间原因,选择后者作为项目的实现方案。
三、系统框图
hud的系统比较简单,只需要一个hud显示设备(这里使用显示器作为模拟),开发板以及手机。
连接方式如图:
开发板作为获取车信息,展示手机的ar导航以及向hud显示设备显示的终端。
手机作为摄像头和提供ar导航功能。
四、各部分功能说明
前提准备
首先是镜像烧录,烧录的是官网提供的20231023的debian系统包,里面有flash_image.sh,一键安装~
使用ssh连接后进入debian系统,帐号密码均为debian
安装一些习惯的库
sudo apt update sudo apt install aptitude
安装必要的环境
sudo aptitude install ffmpeg sudo aptitude install scrcpy sudo aptitude install git sudo aptitude install libsdl2-dev
通过ffmpeg测试硬件解码的能力(scrcpy需要)
ffplay /home/sipeed/Desktop/4k_example.mp4
解码能有超过30帧~
连接手机
通过adb手机设备,通过scrcpy将手机内容投屏,默认2k的分辨率吃不消需要通过scrcpy降一些码率,以及适配1080p屏幕的大小和屏幕旋转等。
scrcpy --bit-rate 2M --max-size 1600 --lock-video-orientation=1 --always-on-top
手机ar导航
市面上其实出现过完整的手机ar导航的功能的app(高德导航),但目前的最新版本以及下线了这个功能,可能是方案还不太成熟,但是我们可以通过安装旧版本的软件来开启这个功能,最后支持的版本大概是v12.03.4.2008,在网上下载安装到手机后,开启ar导航功能(具体操作见视频)。
HUD显示其他信息
hud界面采用lvgl进行绘制
lvgl有两种现成的移植好的方案可以选,一个是framebuffer直接显示,另一种是通过sdl或x11windows的方式:
方案选择的是后者(因为采用的是debian图形化桌面,就不接管桌面进行操作了)
虽然在板子上也是可以比编译的,但毕竟慢,所以可以在自己的电脑先验证,再通过scp进行拷贝
如:通过ssh进行文件传输
scp -oHostKeyAlgorithms=+rsa-sha2-512 -r * debian@10.4.3.36:dictory
lvgl抬头显示的画面与效果:
应用自启动脚本
一般在电脑上是不会给开发板接鼠标键盘的,那么就需要检测usb设备的插入并自动启动脚本。
开机脚本可以放在/etc/init.d中
检测插入设备并执行脚本可以通过linux的mdev的机制,它通常用于嵌入式系统或那些不使用udev的Linux系统,一般来说在嵌入式linux上就可通过mdev来启动脚本,但是我们的linux系统是debian用的是udev。ps aux | grep udev 来判断是否是udev来管理设备,如果有相关的守护进程则是udev。
更简单的方式也可以直接通过脚本监听设备插入。
五、视频演示
简答介绍了系统的运作方式,以及手机上的ar导航的操作。
【Licheepi4A任务视频】 https://www.bilibili.com/video/BV1bH4y1C7k8/?share_source=copy_web&vd_source=89c0cd31677cf2c0dcc51bdaf904ceef
六、项目源码
lvgl的项目源码地址:
七、发布的博文
【玄铁杯第三届RISC-V应用创新大赛】 Lichee Pi 4A 开箱与Android烧录(全程无需... https://bbs.eeworld.com.cn/thread-1261099-1-1.html
【玄铁杯第三届RISC-V应用创新大赛】Unity在Lichee Pi上的可行性验证 https://bbs.eeworld.com.cn/thread-1262095-1-1.html
八、项目总结
作品功能基本完成,探索开发板上安卓的使用以及尝试运行unity和openpilot。虽然项目比较简单,但也是给hud显示提供了一种可能,毕竟人人都有手机,在开车时一般也就当作导航,将它作为ar导航也不是一种选择~
|