• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 机械体设备控制器
2
3## 简介
4
5机械体设备是一个具备自主运动能力的智能机械(比如云台,机械臂,自动升降架,机械车等)。
6
7机械体设备控制器是OpenHarmony操作系统中用于控制机械体设备的模块。它提供查询机械体设备连接状态和控制机械体设备运动的接口,方便连接和控制机械体设备。
8
9机械体设备控制器包含以下常用功能:
10
11- 机械体设备信息查询。
12- 机械体设备状态查询。
13- 机械体设备运动控制。
14
15## 系统架构
16
17**图 1**  OpenHarmony机械体设备控制器架构图<a name="fig4460722185514"></a></b>
18
19![](figures/mechanic-architecture-zh.png)
20
21- **机械体设备控制服务**: 提供设备管理与运动控制核心能力,支持通过设定位置轨迹和运动速度来操控设备动作;基于摄像头人像识别结果,实现人物自动跟踪转动。后续将新增动作管理及声音方向驱动等能力。轨迹控制、速度控制、动作管理模块属于运动控制。图像跟踪、声音跟踪模块属于状态感知。设备管理模块则作为基础支撑,贯穿全系统。
22- **[通用互联APP(开发中)](https://gitcode.com/ohos-oneconnect/ohos-connect-hap)**: OpenHarmony设备的可选系统应用。负责发现和过滤机械体设备,方便设备开发者快速发现满足OpenHarmony机械体控制协议的配件设备,并通知机械体设备控制服务完成连接。
23- **Mechanic Kit**: 机械体设备控制器开发套件,是机械体设备控制服务对外提供的接口集合。它为应用提供查询机械体设备、控制机械体设备等接口能力。
24- **蓝牙通信服务和相机服务**:机械体设备控制服务依赖的关键能力。依赖蓝牙通信服务与机械体设备进行通信;依赖相机服务获取相机参数和目标检测结果。
25- **蓝牙驱动**: 实现无线通信的核心组件,包含蓝牙的通信控制协议栈,负责管理机械体设备控制器与机械体设备之间的蓝牙连接,支持数据传输、指令下发与状态反馈,确保远程控制与实时交互的稳定可靠。
26- **相机驱动**: 系统中实现人脸检测的模块,如果设备开发者需要支持机械体设备的人脸智能跟踪能力,必须在相机驱动中实现人像识别功能,并通过OpenHarmony相机HDI标准接口上报人脸检测结果。
27
28## 目录
29
30仓目录结构如下:
31
32```shell
33distributedhardware_mechbody_controller
34├── etc             # 机械体设备控制器服务初始化配置
35├── interface       # 机械体设备控制器接口及NAPI转换
36├── sa_profile      # 机械体设备控制器SA配置
37├── service         # 机械体设备控制器接口实现
38├── test            # 机械体设备控制器测试代码
39```
40
41## 约束
42
43- OpenHarmony开发设备必须支持 BLE(Bluetooth Low Energy)协议。
44- OpenHarmony开发设备的相机驱动具备摄像头人脸检测能力,支持上报人脸Metadata数据,否则人脸跟踪功能不可用。
45- 被控的机械体设备必须符合OpenHarmony MechanicKit南向协议标准(该标准待发布),如厂商已对外宣称该设备支持OpenHarmony MechanicKit。
46- [通用互联APP](https://gitcode.com/ohos-oneconnect/ohos-connect-hap)中该功能正在开发。目前,可以使用test目录下的测试Demo进行机械体设备发现,或自行开发设备发现功能。
47- 机械体设备南向协议正在标准化过程中,当前待提供。
48
49## [指南及API](https://gitcode.com/onetwothreedrink/docs/blob/master/zh-cn/application-dev/reference/apis-mechanic-kit/Readme-CN.md)
50
51## 示例教程
52机械体设备控制器模块提供了[设备转动控制开发指南](https://gitcode.com/openharmony/docs/blob/master/zh-cn/application-dev/mechanicManager/rotation-control-guide.md),系统应用可以对机械体设备进行高阶控制,如轨迹控制和速度控制等。同时提供了[智能拍摄跟踪开发指南](https://gitcode.com/openharmony/docs/blob/master/zh-cn/application-dev/mechanicManager/camera-tracking-guide.md)(支持三方应用),三方应用可以查询已连接的机械体设备,控制启动和关闭智能跟踪功能等。
53
54## API参考
55
56[系统API参考](https://gitcode.com/openharmony/docs/blob/ca6a74112dca41d78b4bb2ca2612aca7d2bce450/zh-cn/application-dev/reference/apis-mechanic-kit/js-apis-mechanicManager-sys.md)和[开放API参考](https://gitcode.com/openharmony/docs/blob/ca6a74112dca41d78b4bb2ca2612aca7d2bce450/zh-cn/application-dev/reference/apis-mechanic-kit/js-apis-mechanicManager.md)分别提供了接口的说明文档,可以帮助开发者快速查找到指定接口的详细描述和调用方法。
57
58## 相关仓
59
60distributedhardware_mechbody_controller
61