716|0

4

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【玄铁杯第三届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导航也不是一种选择~

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表