当前位置: 首页 > article >正文

【智路】智路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.kler.cn/a/306100.html

相关文章:

  • 第12章 系统部署
  • 【云原生系列--Longhorn的部署】
  • 【C++】string类(附题)
  • Dolby TrueHD和Dolby Digital Plus (E-AC-3)编码介绍
  • LabVIEW大数据处理
  • AUTOSAR_EXP_ARAComAPI的7章笔记(3)
  • 利用 FastAPI 和 Jinja2 模板引擎快速构建 Web 应用
  • 通过logstash同步elasticsearch数据
  • 【资料分析】常见的坑
  • 文件外发怎么保证安全
  • sqli-labs靶场自动化利用工具——第1关
  • 在Coontroller层中我们经常使用的@RequestParam, @PathVariable, @RequestBody ,区别以及各自的使用场景
  • golang实现从服务器下载文件到本地指定目录
  • 简单接口自动化框架实现(Python+requests+pytest)
  • _Array类,类似于Vector,其实就是_string
  • 编写程序模版的搭建
  • Android Kotlin 中的 `groupBy` 方法详解
  • 手机玩机常识____展讯芯片刷机平台ResearchDownload的一些基本常识与问题解决
  • 基于CosyVoice的多语言语音合成技术解析
  • STM32(十三):通信协议——USART串口协议
  • React源码学习(一):如何学习React源码
  • Python学习——【1.2】数据类型、数据类型转换
  • yjs04——matplotlib的使用(多个坐标图)
  • Java网络编程 TCP通信(Socket 与 ServerSocket)
  • (批处理)设置延时+设置关机倒计时
  • Flink CEP(复杂事件处理)高级进阶