🤖 RobotSample
简体中文 | English summary below
📌 项目简介
基于 Android 平台 的机器人功能演示应用,用于展示和验证机器人 SDK / RobotService 所提供的核心能力。
项目覆盖了机器人在真实场景中常见的交互与控制功能,包括:
人脸识别与人员管理
语音交互与 TTS 播报
机器人运动控制
路径规划与导航引领
自动充电管理
电动门联动控制
人体跟随
该项目主要作为 SDK 能力演示与二次开发参考示例,适用于医疗、迎宾、导览等服务机器人场景。
✨ 功能特性
👤 人脸检测与识别
人脸注册、特征提取、身份识别
🙋 智能迎宾
识别陌生人并询问姓名
记忆访客信息并进行二次识别
🗣 语音交互
文本转语音(TTS)
播放控制与语音查询
🚗 运动控制
前进 / 后退 / 转向等基础动作
🧭 引领与导航
路径规划
自动导航到指定位置
🔋 充电管理
自动移动至充电点
🚪 电动门控制
多门开关控制
门状态查询
🚶 人体跟随
目标人物识别与移动跟随
📂 项目结构(概要) app/ ├─ robotos/ │ ├─ application/ # 应用入口 & 全局能力封装 │ │ ├─ RobotOSApplication │ │ ├─ ModuleCallback │ │ └─ SpeechCallback │ │ │ ├─ fragment/ # 各业务功能模块 │ │ ├─ WelcomeFragment │ │ ├─ SpeechFragment │ │ ├─ VisionFragment │ │ ├─ SportFragment │ │ ├─ LeadFragment │ │ ├─ NavigationFragment │ │ ├─ ChargeFragment │ │ └─ BodyFollowFragment │ │ │ ├─ view/ # 公共 UI 组件 │ ├─ maputils/ # 地图与导航工具 │ └─ audio/ # 音频处理相关 │ ├─ MainActivity.java # 应用主入口 ├─ res/ # 资源文件(layout / values / strings 等) ├─ libs/ # 第三方依赖(robotservice.jar) └─ AndroidManifest.xml
说明:以上为核心结构概览,仓库中包含完整实现,方便按模块拆分与复用。
🛠 运行环境与依赖
JDK:Java 8(1.8,强烈推荐)
IDE:Android Studio
Android SDK:基于机器人定制系统版本
核心依赖:
robotservice.jar(放置于 app/libs/)
gson(如 2.10.1,用于 JSON 处理)
运行设备:目标机器人实体设备
🚀 快速开始
克隆仓库:
git clone https://github.com/qingfeng19491001/MedicalRobot.git
使用 Android Studio 打开项目。
将 robotservice.jar 放入:
app/libs/
配置 Java 版本为 1.8:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
构建 APK 并安装到机器人设备。
在机器人设备本地 手动打开应用。
🧩 功能模块说明 迎宾模块(WelcomeFragment)
自动检测人脸
判断是否为陌生人
主动询问并记录姓名
再次见面自动称呼
语音模块(SpeechFragment)
文本转语音(TTS)
播放 / 停止控制
文本查询能力
视觉模块(VisionFragment)
人脸检测
人脸注册
特征提取与识别
运动控制(SportFragment)
前进 / 后退 / 左转 / 右转等基础动作
引领与导航(Lead / Navigation)
目标点选择
路径规划
自动导航执行
充电管理(ChargeFragment)
控制机器人前往充电桩
充电状态处理
电动门控制
多门开关控制
门状态实时查询
人体跟随(BodyFollowFragment)
目标人物识别
实时移动跟随
🧑💻 开发指南
新增功能模块:
创建继承自 BaseFragment 的 Fragment
在 onCreateView 中:
加载布局
实现业务逻辑
在 MainFragment 中:
添加入口按钮
绑定跳转逻辑
国际化支持:
在 res/values/strings.xml 中添加文本
多语言放在 values-xx 目录
常用 API:
语音能力:
RobotOSApplication.getInstance().getSkillApi()
机器人控制:
RobotApi.getInstance()
人脸能力:
PersonApi
权限问题:确保相机、麦克风、存储权限已授权
CoreService 未连接:确认机器人系统服务已启动
Debug 启动异常:请使用设备本地启动方式
网络依赖:部分人脸能力可能依赖网络
编译失败:优先确认 Java 版本为 1.8
🌍 国际化支持
已支持多语言资源:
简体中文
繁体中文
English
日本語
한국어
Français
Deutsch
Русский
资源位于:
res/values-*
🤝 贡献方式
欢迎提交:
Issue(问题 / 建议)
Pull Request(功能优化 / Bug 修复)
如需进一步沟通,可通过 GitHub Issue 联系仓库维护者。
📄 许可证
请在仓库中补充并确认 LICENSE 文件 (如 MIT / Apache-2.0),以便于开源协作与项目复用。
🇬🇧 English (Brief)
RobotSample is an Android demo application showcasing robot interaction capabilities, including face recognition, voice interaction, motion control, navigation, charging, door control, and body-following. It serves as a reference implementation for robot SDK and service integration.