【智路】智路OS Airos Edge 2.0 Quick Start

Airos Edge 2.0 Quick Start

1 智路OS2.0

1.1 简介

智路OS路侧操作系统airos-edge自下而上分别由内核层,硬件抽象层、框架层、服务层和应用层构成;提供了一系列抽象和框架,支持设备接入、服务、应用等组件开发,兼容X86和ARM操作系统,技术架构如下所示:
智路os技术架构
内核层

智路OS内核层融合了进程和线程管理、内存管理、文件系统、网络栈、设备驱动、实时补丁、高可用支持以及POSIX(Portable Operating System Interface for UNIX)兼容性等关键要素,以满足面向车路协同场景的高实时性、发并性、可靠性的需求。

抽象层

为实现硬件与操作系统之间的交互,智路OS制定了硬件接入和输出的标准,硬件设备接入应符合以下要求:

  • 设备接入:智路OS明确了硬件设备的接入方法,涵盖了设备接口定义
  • 设备输出:智路OS规定了设备输出的数据结构和内容标准,包括设备状态、处理结果等
    框架层
  • 通信和调度中间件:规定了通信中间件的标准接口。通信和调度中间件默认实现包含通信、服务发现、计算调度等核心模块,其中通信使用pub/sub的匿名通信模式,基于动态的服务发现去除了中心化的节点,支持进程间和跨机器通信,计算调度模块屏蔽了操作系统的底层细节。
  • 服务框架:服务框架定义了组件的接口及输出,提供了服务、设备组件、应用的加载,包含了智路OS核心服务架构

服务层

服务层定义了智路 OS 系统应该具备以下几项服务能力,包括传感器服务、检测服务、融合服务、信号灯服务、通信服务等。当服务组件被框架层加载并运行时,就组成了智路OS的基本服务。

应用层

应用程序可以根据其特定业务需求,充分利用智路 OS 提供的多样化服务,其中包括传感器服务、感知服务、通信服务以及信号灯服务等提供的标准数据。通过接口订阅,获取实时的服务数据,经过逻辑处理后发送至输出设备或与云服务器进行交互,从而完成应用的构建。

1.2 框架与组件

核心目录架构

├── air_service
│   ├── framework
│   └── modules
├── app
│   ├── framework
│   └── modules
├── device_service
│   ├── framework
│   └── modules
└── base

框架(Framework) 属于智路OS框架层,负责加载及运行组件,规定了各类组件的接口及输入输出

组件(Module) 是智路OS规定可由开发者自定义的模块,以包的形式管理、开发、部署。开源版本提供了所有标准的组件示例,可直接运行、参考开发。

组件类型描述举例
设备接入为系统提供数据接入能力信号机、RSU、Camera、Lidar
服务基于接入数据为应用提供服务的组件视觉感知服务、雷达感知服务、融合服务
应用基于系统数据,实现事件检测、信控、V2X应用场景、规划控制等应用车路协同、规划控制

2 智路OS运行

智路OS开源代码包括智路OS框架和所有标准的组件示例,可直接运行。

获取docker镜像并启动docker容器

# 请在源代码根目录执行
bash docker/scripts/docker_start.sh

进入docker容器

# 请在源代码根目录执行
bash docker/scripts/docker_into.sh

进入docker容器内部后,所在的工作目录其实是通过docker的"卷映射"将源代码根目录映射到当前所在的目录。

编译产出

# 在docker内工程目录下执行
bash build_airos.sh release

产出位于/home/airos/os目录

运行

# 1. 产出(如果已经执行,则可跳过)
bash build_airos.sh release
# 2. 配置环境(如果已经执行,则可跳过)
source /home/airos/os/setup.bash
# 3. 查看可运行的pipeline
airos_launch -h
# 4. 运行信号灯pipeline
airos_launch traffic_light

清理编译

# 在docker内工程目录下执行
bash build_airos.sh clean

调试

通信层调试工具

往往一个pipeline会包含多个子模块,各个子模块之间通过中间件完成相互之间的通信。

当前智路OS默认使用CyberRT作为通信中间件,CyberRT提供了多种调试工具,可以方便的查看通信数据:

  • cyber_channel
  • cyber_launch
  • cyber_monitor
  • cyber_recorder

上述命令行工具运行时加入"-h"参数,可以显示详细的使用说明,可以参考。

工具使用方式示例:

# 1. 产出(如果已经执行,则可跳过)
bash build_airos.sh release
# 2. 配置环境(如果已经执行,则可跳过)
source setup.bash
# 3. 运行全量通道监控工具
cyber_monitor -a

3 组件开发

智路OS支持组件的开发,并且提供了集成开发环境、智路SDK、包管理工具简化开发流程

集成开发环境

环境准备

基础环境:

  • x86_64
    • 系统:Linux及发行版,内核5.4.0及以上版本,建议Ubuntu 18.04及以上版本
    • 内存:8G
    • Docker:建议v20.10.0及以上版本
  • aarch64(Nvidia Jetson AGX orin)
    • 系统:Jetson 5.0.2
    • 内存:32GB
    • Docker:建议v20.10.0及以上版本

运行环境:

如需运行智路OS框架及示例算法,需要安装

  • x86_64
    • NVIDIA驱动:455.32.00及以上版本
    • CUDA:11.1及以上版本
    • NVIDIA容器工具:nvidia-docker2
  • aarch64(Nvidia Jetson AGX orin)
    • NVIDIA驱动:jetson自带的驱动
    • CUDA:11.4
    • NVIDIA容器工具:nvidia-docker2

示例算法运行环境

  • X86_64版本算法模型目前支持在Tesla T4和 Quadro RTX4000上运行
  • aarch64版本算法模型目前支持在NVIDIA Jetson AGX Orin上运行

获取SDK及集成开发环境

# 请在源代码根目录执行
bash docker/scripts/docker_start.sh sdk # 拉取智路OS集成开发环境镜像
bash docker/scripts/docker_into.sh sdk # 进入智路OS集成开发环境镜像

进入集成开发环境后,可以使用包管理工具airospkg进行组件的开发。具体流程参考 智路OS路侧操作系统开发手册

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1536113.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【光照增强论文略读】Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement

这篇题为《用于低光照图像增强的零参考深度曲线估计》的论文介绍了一种名为Zero-DCE的创新方法,用于增强低光照图像。其主要创新点在于,它在训练过程中不需要成对或非成对的参考图像,因此是一种“零参考”方法。通过轻量级深度学习模型DCE-Ne…

SAP学习笔记 - 开发06 - CDSView + Fiori Element 之 List Report

上一章讲了Fiori UI5开发环境搭建和实践: - VSCode 安装Fiori Tools插件 - SEGW 创建后台程序,注册服务,Gateway Client确认服务 - 使用SEGW公开的服务来查询数据显示到页面 SAP学习笔记 - 开发05 - Fiori UI5 开发环境搭建2 Fiori Tools…

北极星计划的回响:从Leap Motion到Midjourney的AI 3D硬件梦想

在科技的浩瀚星空中,总有一些梦想如同北极星般璀璨,指引着探索者前行。六年前,Leap Motion的CEO David以一篇充满激情的博客文章,向我们揭示了“北极星计划”——一个旨在打破数字与物理界限,创造流畅统一体验的增强现实平台。今天,随着Midjourney在AI文生图领域的全球爆…

使用OpenFeign在不同微服务之间传递用户信息时失败

文章目录 起因原因解决方法: 起因 从pay-service中实现下单时,会调用到user-service中的扣减余额。 因此这里需要在不同微服务之间传递用户信息。 但是user-service中始终从始至终拿不到user的信息。 原因 在pay-service中,不仅要Enable O…

Android 10.0 mtk平板camera2横屏预览旋转90度横屏保存圆形预览缩略图旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,点击录像和照片下保存的圆形预览缩略图 依然是竖屏的,所以说同样需要…

【JavaEE】IO基础知识及代码演示

目录 一、File 1.1 观察get系列特点差异 1.2 创建文件 1.3.1 delete()删除文件 1.3.2 deleteOnExit()删除文件 1.4 mkdir 与 mkdirs的区别 1.5 文件重命名 二、文件内容的读写----数据流 1.1 InputStream 1.1.1 使用 read() 读取文件 1.2 OutputStream 1.3 代码演示…

【LLM多模态】文生视频评测基准VBench

note VBench的16个维度自动化评估指标代码实践(待完成)16个维度的prompt举例人类偏好标注:计算VBench评估结果与人类偏好之间的相关性、用于DPO微调 文章目录 note一、相关背景二、VBench评测基准概述:论文如何解决这个问题&…

yum install时候报错

报错 Another app is currently holding the yum lock; waiting for it to exit 另外一个yum命令完成了死锁大概率是因为执行yum 命令的时候报错,然后强制退出了 解决方法 找到进程杀死进程 ps aux | grep yum这个进程号:你在上述命令和报错中都看的进程…

ubuntu20.04下载cuda11.8

nvidia官方地址:https://developer.nvidia.com/cuda-downloads wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run输入该命令后 sudo sh cuda_11.8.0_520.61.05_linux.run gedit ~/.bashrcexport…

9. Transforms的使用(四)--Compose

Transforms的使用(四) 1. 为什么要使用Compose类 在深度学习模型的训练过程中,往往需要对图像按顺序进行一系列的变化,如果把系列变化按顺序写成代码会比较冗余Compose实现了将所有的系列变化进行集合的操作,从代码层…

【智路】智路OS air-edge 开发者手册 功能概述

功能概述 https://airos-edge.readthedocs.io/zh/latest/airospkg/airospkg.html 智路OS包支持部署在智路OS开源版本和智路OS发行版。 智路OS发行版(airos distribution)是基于智路OS的商业化版本。包括智路OS内核层、系统工具、库、软件包管理系统等…

【裸机装机系列】6.kali(ubuntu)-图形界面优化-让linux更适合你的使用习惯

接下来就是图形化界面操作的部分了。会用少量截图来说明,图太多会影响阅读体验,直接文字来描述过程吧。 1> 入口 任务栏左上角——> 开始菜单——> settings——> settings manager 大部分配置都会在这里面设置。 2> 设置里面分的4大…

CS61C 2020计算机组成原理Lab01-数字表示,溢出

1. Exercise 1 :See what you can C # 用gcc 来编译可执行文件如program.c gcc program.c # 就可以得到一个executable file named a.out. ./a.out# 如果想给这个可执行文件命名,则使用 -o gcc -o program program.c ./program# 使用-g 能得到一个 可执行程序的deb…

ElementUI 布局——行与列的灵活运用

ElementUI 布局——行与列的灵活运用 一 . 使用 Layout 组件1.1 注册路由1.2 使用 Layout 组件 二 . 行属性2.1 栅格的间隔2.2 自定义元素标签 三 . 列属性3.1 列的偏移3.2 列的移动 在现代网页设计中&#xff0c;布局是构建用户界面的基石。Element UI 框架通过其强大的 <e…

计算架构模式之接口高可用

接口高可用整体框架 接口高可用主要应对两类问题&#xff1a;雪崩效应和链式效应。 雪崩&#xff1a;当请求量超过系统处理能力之后&#xff0c;会导致系统性能螺旋快速下降&#xff0c;本来系统可以处理1000条&#xff0c;但是当请求量超过1200的时候&#xff0c;此时性能会下…

深入理解算法效率:时间复杂度与空间复杂度

目录 引言 一、算法效率的基础 二、时间复杂度 1.概念 2.常见类型 1.O(1) — 常数阶 2.O(n) — 线性阶 3.O(n^2) — 平方阶 4.O(2^&#x1d45b;) — 指数阶 5.O(log &#x1d45b;) — 对数阶 3.总结 三、空间复杂度 1.概念 2.常见类型 1.O(1) — 常数阶 2.…

为你的 Github 仓库引入自动构建的Github Pages静态页面

1. 设置config文件 在Github仓库根目录下创建_config.yml文件。其中的内容为&#xff1a; plugins:- jekyll-relative-links relative_links:enabled: truecollections: true include:- CONTRIBUTING.md- README.md- LICENSE.md- COPYING.md- CODE_OF_CONDUCT.md- CONTRIBUTI…

性能小白终于能看懂Jmeter报告了

对于刚接触性能测试的初学者来说&#xff0c;分析JMeter生成的测试报告无疑是一个巨大的挑战。面对大量的数据信息&#xff0c;如何快速理解响应时间、吞吐量、错误率等关键指标&#xff0c;往往让人感到困惑。今天&#xff0c;让我们一起探讨如何轻松看懂JMeter的性能测试报告…

沉浸式体验和评测Meta最新超级大语言模型405B

2024年7月23日&#xff0c; 亚马逊云科技的AI模型托管平台Amazon Bedrock正式上线了Meta推出的超级参数量大语言模型 - Llama 3.1模型&#xff0c;小李哥也迫不及待去体验和试用了该模型&#xff0c;那这么多参数量的AI模型究竟强在哪里呢&#xff1f;Llama 3.1模型是Meta&…

nodejs 007:错误npm error Error: EPERM: operation not permitted, symlink

完整错误信息 npm error Error: EPERM: operation not permitted, symlink npm warn cleanup Failed to remove some directories [ npm warn cleanup [ npm warn cleanup C:\\Users\\kingchuxing\\Documents\\IPFS\\orbit-db-set-master\\node_modules\\ipfs-cli, npm…