昇腾社区首页
中文
注册

学习向导

使用说明

本手册详细阐述了OpenHiva框架的概念、确定性调度原理、通信机制以及数据面软件接口的调用,指导开发者快速基于该框架进行应用开发,为机器人业务提供高性能、高安全的通信和数据传输能力。

当前版本提供的OpenHiva为试用特性,后续版本会存在变更,暂不支持应用于商用产品中。

使用向导

首次阅读本手册时,建议先阅读表1,帮助您快速了解手册内容,请按需访问对应章节。

表1 学习向导

使用场景

操作指引

说明

1、我想了解什么是OpenHiva

OpenHiva简介

阐述了OpenHiva框架的基本概念、逻辑架构、确定性调度原理以及通信机制等,同时介绍了基于该框架进行机器人应用开发的流程和依赖的参数配置管理模块,帮助您快速了解和开发应用。

2、基于OpenHiva开发机器人应用前,我需要准备什么

环境准备

使用OpenHiva框架进行机器人AI应用开发前,需要准备好硬件和软件资源。

3、我想使用OpenHiva实现机器人各模块间通信

消息订阅-发布

OpenHiva支持基于话题(Topic)的通信方式(Pub/Sub通信机制),主要包括以下消息类型:
  • 普通消息:基于标准Topic进行消息的订阅、发布。消息内存由OpenHiva申请和释放,用户只需关注业务逻辑,代码逻辑相对简单。
  • BufferMessage:基于HivaBuffer进行消息的订阅、发布。通常用于图像消息传递,尤其是从Lidar、Camera等传感器获取的数据,数据量庞大且非结构化。在传输过程中,为了提高性能采用免拷贝方案,消息内存不是由OpenHiva申请,而是直接使用传感器驱动申请共享内存进行传递。

消息请求-响应

OpenHiva支持基于服务(Service)的通信方式(RPC,Remote Procedure Call远程调用机制)。

4、我想使用OpenHiva提供的定时器服务

定时器

OpenHiva提供了一套定时器接口(Hiva Timer),适用于需要周期性执行某个功能或者需要定时器的场景。

5、我想使用OpenHiva提供的参数配置服务(可选)

配置管理

配置管理模块(CfgMgr)主要用于管理系统中的配置参数,统一以yaml格式的保存,再配合参数的设置、获取、快照、重载等接口,提高了用户管理参数的效率。

6、我想使用OpenHiva提供的进程管理服务

进程管理

进程管理模块(ProcMgr)主要用于管理系统中各类应用进程,包括进程的创建、启动、结束等,同时能监控各应用进程状态。

7、我想体验基于OpenHiva进行机器人应用开发的过程

获取样例代码

单击Gitee进入HiCAID开源仓,访问“HiCAID/OpenHiva/examples”目录,获取样例代码,关于样例的详细介绍请仔细阅读readme.md。

编译和运行

基于OpenHiva进行应用程序开发,需要对应用代码进行编译和运行,得到应用程序的结果。

8、我想了解更多OpenHiva和配置管理等相关的API

API参考

针对基础平台数据面子系统的软件接口,提供了详细的API介绍和说明,帮助您快速掌握接口含义和功能。

9、使用OpenHiva进行应用开发时,遇到问题怎么办

FAQ

使用OpenHiva框架进行机器人AI应用开发过程中,难免会遇到突发状况或异常场景。本手册罗列了一些高频问题,给出了原因分析和处理措施。

使用约束

  • 接口约束:

    OpenHiva接口支持管理面和数据面接口归一,仅在数据面支持确定性调度方式,管理面不支持确定性调度。

  • 调度方式:

    OpenHiva接口及确定性调度接口支持采用确定性调度方式,也支持采用非确定性调度方式(即OS调度)。当采用确定性调度时,需对业务进行适配和改造,满足确定性调度的要求,才能达到端到端确定性时延的效果。

  • 支持的产品:OpenHiva框架提供的功能目前仅适用于 Atlas 200I/500 A2 推理产品
  • 使用场景:主要面向使用昇腾AI开发者套件(Atlas 200I DK A2)进行机器人AI应用开发的场景。