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 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