猎户星空合作分析报告_详细版.md 43 KB

猎户星空 × AI 智慧医疗 深度合作方案(详细技术版)

文档版本:v1.0
生成时间:2026-04-01
合作方向:医疗专用机器人联合解决方案


一、合作概述

1.1 双方优势

维度 AI 智慧医疗(我方) 猎户星空(合作方)
核心能力 AI 中台、门诊/住院/体检智能体集群、BI 智能体 机器人硬件、RobotOS 操作系统、全国销售网络
技术栈 RAG、MCP、知识库、专精模型训练 SLAM 导航、语音交互、多模态感知
市场资源 医院客户资源、医疗行业 Know-how 全国渠道、酒店/餐饮/政务场景经验
产品形态 软件 + AI 能力 硬件 + 基础 OS

1.2 合作模式

采用模式:基于猎户星空 RobotOS 开发医疗专用 APK,借助其全国销售网络推广

分工边界

  • 我方:医疗业务逻辑、AI 能力集成、医院系统对接、交付实施
  • 对方:机器人硬件、基础 OS、导航/语音等底层能力、销售渠道

1.3 目标场景

  1. 门诊机器人:导诊、预问诊、自助服务、报告解读、院内导航
  2. 住院机器人:入院引导、智能查房、药品配送、呼叫响应、夜间巡检

二、门诊机器人详细方案

2.1 智能导诊

功能描述

患者走近机器人,通过语音或触屏描述症状,机器人分析后推荐对应科室,并引导患者前往挂号或科室位置。

依赖的 RobotOS API

本地端 API(APK/OPK):

API 名称 所属模块 功能说明
WakeupAndPreWakeupStartCheckComponent 功能组件-人脸识别 检测患者走近并唤醒机器人
speechApi.setRecognizable(true) 基础接口-语音 开启语音识别
speechApi.setRecognizeMode(true) 基础接口-语音 设置为持续识别模式
SkillCallback.onListenCallback 语音回调 接收 ASR 识别结果
speechApi.playText() 基础接口-语音 TTS 播报导诊结果
NavigationComponent 功能组件-导航 引导患者到挂号处或科室
RobotApi.getPlaceList() 基础接口-地图 获取所有科室位置点

服务端 API(远程控制):

API 名称 用途
POST /robot/control/tts 远程触发导诊语音播报
POST /robot/control/navigate 远程触发导航到指定科室

完整实现路径

步骤 1: 患者检测与唤醒
├── 调用 WakeupAndPreWakeupStartCheckComponent
├── 参数: maxDistance=3m, wakeupFaceDistance=1.3m, wakeupFaceAngleX=45°
├── 状态码 32710001: 检测到患者走近
└── 触发: 机器人抬头、亮屏、播放欢迎语

步骤 2: 语音交互开启
├── 调用 speechApi.setRecognizable(true) 开启语音识别
├── 调用 speechApi.setRecognizeMode(true) 设置持续识别
├── 展示 UI 提示: "请描述您的症状"
└── 调用 speechApi.playText("您好,我是智能导诊助手,请描述您的症状") 播放欢迎语

步骤 3: 症状采集与 AI 分析
├── 患者在 Voice.onListenCallback 中说话
├── 获取 ASR 文本结果
├── 调用我方 AI 中台 API: 症状 → 科室推荐
│   └── 输入: "头痛、发烧"
│   └── 输出: {科室: "神经内科", 置信度: 0.92, 建议: "..."}
└── 获取科室位置: 调用 RobotApi.getPlaceList() 查询科室坐标

步骤 4: 导诊结果播报
├── 调用 speechApi.playText() 播报:
│   └── "根据您的症状,建议挂神经内科。神经内科在3楼东侧,需要我带您过去吗?"
└── 屏幕同步显示: 科室介绍、医生排班、预计等待时间

步骤 5: 引导导航(患者同意)
├── 患者说"带我去" → NLP 解析 intent=guide_to
├── 调用 NavigationComponent
├── 参数: destination="神经内科候诊区", param_linear_speed=0.8, param_angular_speed=1.2
├── 状态监听:
│   ├── 32730001: 开始导航
│   ├── 32730005: 距离上报(更新屏幕剩余距离)
│   ├── 32730004: 遇到障碍物(语音播报"请让一让")
│   └── 32610007: 到达目标点
└── 到达后: speechApi.playText("神经内科到了,请在此等候叫号")

步骤 6: 结束交互
├── 调用 speechApi.setRecognizable(false) 关闭语音识别
├── 机器人进入待机巡逻模式(可选 CruiseComponent)
└── 等待下一个患者唤醒

需要对方配合的事项

  1. 唤醒灵敏度调优:医院环境嘈杂,需要调整 maxDistancewakeupFaceDistance 参数
  2. 科室地图点位:提供医院各科室的位置点名称和坐标,录入机器人地图
  3. NLP 意图配置:在开发者平台配置导诊相关 Domain/Intent

2.2 预问诊

功能描述

患者在挂号前,机器人通过多轮对话采集病史、症状、过敏史等信息,生成结构化预问诊报告,同步给医生。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
speechApi.setRecognizable(true) 基础接口-语音 开启语音识别
SkillCallback.onListenCallback 语音回调 接收患者回答
speechApi.playText() 基础接口-语音 播报问诊问题
global.recognition.setShow(true) ASR 可视化 展示识别文字上屏
PersonAppearComponent 功能组件-人脸 确认患者仍在交互

服务端 API:

API 名称 用途
POST /robot/control/tts 远程推送问诊问题
POST /enterprise/person/search 人脸识别确认患者身份

完整实现路径

步骤 1: 启动预问诊流程
├── 触发条件: 患者说"我要预问诊" 或 点击屏幕按钮
├── 调用 PersonAppearComponent 确认患者身份
├── 调用 speechApi.playText("好的,我将为您进行预问诊,请回答以下问题")
└── 屏幕展示: 预问诊进度条(0/8 问题)

步骤 2: 多轮对话问诊(循环 8-10 个问题)
├── 第 1 轮: TTS "请问您哪里不舒服?"
│   ├── 开启语音识别: speechApi.setRecognizable(true)
│   ├── 展示 ASR 文字: global.recognition.setShow(true)
│   ├── 患者回答 → onListenCallback 获取文本
│   └── 调用我方 AI: 症状实体提取 → 存储
├── 第 2 轮: TTS "这种情况持续多久了?"
│   └── 同上流程,提取时间实体
├── 第 3 轮: TTS "有没有过敏史?"
│   └── 同上流程...
└── ...(继续后续问题)

步骤 3: 信息确认
├── 调用我方 AI 生成预问诊摘要
├── 屏幕展示完整信息供患者确认
├── TTS "请确认以上信息是否正确?"
└── 患者说"正确"或"修改第X项"

步骤 4: 数据同步
├── 调用我方 API: 预问诊数据 → HIS 系统
├── 生成预问诊报告 PDF
└── TTS "预问诊完成,信息已同步给医生"

步骤 5: 引导下一步
├── 询问: "需要我帮您挂号吗?"
└── 根据回答进入挂号流程或结束

需要对方配合的事项

  1. 多轮对话 NLP 配置:配置问诊场景的 Domain/Intent/Slot
  2. 长拾音模式:设置 speechApi.setRecognizeMode(true) 支持长句识别
  3. 隐私保护:医院场景需要确保语音数据本地处理或加密传输

2.3 自助挂号缴费

功能描述

患者通过机器人完成挂号、缴费、医保结算,需要对接读卡器和支付模块。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
speechApi.playText() 基础接口-语音 操作指引播报
OpenAppApi.openThirdPartyApp() 基础接口-应用 调起支付 APP
AppManager.restartApp() 基础接口-应用 返回主界面
LightApi.playEffect() 基础接口-灯带 操作成功/失败提示

硬件接口(需定制):

接口 说明
医保卡读卡器 读取社保卡/就诊卡信息
扫码器 扫描患者手机支付码
打印机 打印挂号单/发票/凭条

服务端 API:

API 名称 用途
POST /enterprise/person/search 人脸识别确认身份
POST /robot/control/tts 远程播报操作结果

完整实现路径

步骤 1: 启动挂号流程
├── 患者说"我要挂号"或点击屏幕
├── TTS "请刷医保卡或就诊卡,或说出您的身份证号"
└── 屏幕展示: 刷卡区域提示 + 身份证号输入键盘

步骤 2: 身份识别(三选一)
├── 方式 A: 刷医保卡
│   ├── 调用读卡器硬件接口(需对方提供 SDK)
│   ├── 读取卡号 → 调用 HIS 接口获取患者信息
│   └── 屏幕展示: 患者姓名、医保类型
├── 方式 B: 人脸识别
│   ├── 调用 RecognizeComponent
│   ├── 识别成功 → 获取患者 ID
│   └── 屏幕确认: "请问您是 XXX 吗?"
└── 方式 C: 身份证号
    ├── 患者语音报号或触屏输入
    └── 调用 HIS 接口验证身份

步骤 3: 科室选择
├── 屏幕展示: 科室列表(可语音搜索)
├── 患者选择科室
├── 调用 HIS 接口: 获取医生排班、号源
└── 屏幕展示: 可选医生、时间段、费用

步骤 4: 确认挂号
├── 患者确认
├── 调用 HIS 接口: 锁定号源
├── TTS "请确认支付 XX 元"
└── 屏幕展示: 支付方式选择(医保/微信/支付宝)

步骤 5: 支付处理
├── 医保支付:
│   ├── 调用医保读卡器
│   ├── 输入医保密码(屏幕键盘)
│   └── 调用医保结算接口
├── 微信支付:
│   ├── 屏幕展示收款二维码
│   ├── 患者手机扫码支付
│   └── 轮询支付结果
└── 支付宝支付: 同上

步骤 6: 打印凭条
├── 支付成功
├── 调用打印机硬件接口打印挂号单
├── TTS "挂号成功,请取走凭条,到 X 楼 XX 科室候诊"
├── 灯带效果: LightApi.playEffect("light_effect_green_light") 绿色常亮 3 秒
└── 屏幕展示: 科室位置地图 + 导航按钮

步骤 7: 引导就诊
├── 患者点击"带我去"
├── 调用 NavigationComponent 导航到科室
└── 或患者自行离开,机器人恢复待机

需要对方配合的事项

  1. 读卡器 SDK:提供医保卡/就诊卡读卡器的 Android SDK 接口
  2. 打印机 SDK:提供热敏打印机的调用接口(支持 ESC/POS 指令)
  3. 支付安全:确保支付模块通过安全认证,支持医保加密要求
  4. 硬件集成:协助将读卡器、打印机集成到机器人机身

2.4 检查报告解读

功能描述

患者在检验科做完检查后,机器人帮助查询报告、解读异常指标、提供健康建议。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
speechApi.playText() 基础接口-语音 解读结果播报
speechApi.playStreamText() 基础接口-语音 长文本流式播报
ExDisplay UI 组件 大屏展示报告内容
ImageFrame UI 组件 展示报告趋势图

服务端 API:

API 名称 用途
POST /robot/control/tts 远程触发报告解读
GET /robot/info 获取机器人状态确保在线

完整实现路径

步骤 1: 报告查询触发
├── 触发方式:
│   ├── A: 患者说"查报告"
│   ├── B: 检验科推送"报告已出"消息到机器人
│   └── C: 患者刷卡/人脸识别自动查询
└── 身份确认: 同 2.3 步骤 2

步骤 2: 获取报告数据
├── 调用 LIS/PACS 接口查询最新报告
├── 获取报告列表(血常规、尿常规、B超等)
└── 屏幕展示: 报告列表,患者选择查看

步骤 3: AI 解读报告
├── 调用我方 AI 中台: 报告数据 → 解读结果
│   ├── 输入: 血常规各项指标
│   └── 输出: {
│       异常项: ["白细胞偏高", "血红蛋白偏低"],
│       解读: "白细胞偏高可能提示...",
│       建议: "建议到内科进一步检查..."
│   }
└── 生成可视化图表: 历史指标趋势对比

步骤 4: 结果展示与播报
├── 屏幕展示(ExDisplay 组件):
│   ├── 报告摘要卡片
│   ├── 异常指标高亮
│   ├── 历史趋势图(ImageFrame 动画)
│   └── 医生建议文本
└── TTS 播报(流式):
    └── speechApi.playStreamText("您的血常规报告显示...")

步骤 5: 交互问答
├── 患者问"白细胞偏高是什么意思?"
├── NLP 解析 → 调用知识库 RAG
├── TTS 回答专业解释
└── 屏幕同步展示相关医学知识

步骤 6: 后续引导
├── 如有异常: "需要我帮您预约内科医生吗?"
├── 如无异常: "各项指标正常,请保持健康生活方式"
└── 提供报告打印选项(调用打印机)

需要对方配合的事项

  1. 大屏展示优化:确保 ExDisplay 组件支持医疗报告的高清展示
  2. 流式 TTS:支持长文本(可能 500-1000 字)的流畅播报
  3. LIS/PACS 对接:协助打通医院检验系统接口

2.5 院内导航引领

功能描述

患者询问某个科室或设施位置,机器人提供语音指引,并可选择"带我去"的引领模式。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
NavigationComponent 功能组件-导航 导航到指定位置
LeadingTrackComponent 功能组件-引领 人跟机器人走
RobotApi.getPlaceList() 基础接口-地图 获取所有位置点
locationEstimateUtil.isInPlace() 基础接口-地图 判断是否到达
speechApi.playText() 基础接口-语音 导航指引播报

梯控相关(跨楼层):

API 名称 所属模块 功能说明
NavigationElevatorComponent 高级功能-梯控 导航乘梯
RobotApi.getMultiFloorConfigAndCommonPose() 基础接口-地图 获取多楼层点位

完整实现路径

步骤 1: 目的地询问
├── 患者说"我要去内科"或"卫生间在哪里"
├── NLP 解析: intent=navigation, slot={destination: "内科"}
└── 调用 RobotApi.getPlaceList() 查询匹配位置点

步骤 2: 路径规划与播报
├── 同楼层导航:
│   ├── TTS "内科在 3 楼东侧,距离约 150 米"
│   ├── 屏幕展示: 地图路径预览
│   └── 询问: "需要我带您过去吗?"
└── 跨楼层导航:
    ├── TTS "内科在 5 楼,我需要乘电梯上去"
    ├── 屏幕展示: 楼层切换提示
    └── 询问: "需要我带您过去吗?"

步骤 3: 引领模式(患者同意)
├── 调用 LeadingTrackComponent
├── 参数:
│   ├── lostTime=2000ms(判定丢失时间)
│   ├── farawayDistance=2.8m(超距上报距离)
│   └── maxDistance=3m(人脸检测范围)
├── 状态监听:
│   ├── 32720007: 找到目标(开始引领)
│   ├── 32720001: 追踪成功(正常引领中)
│   ├── 32720004: 目标距离过远(播报"请跟紧我")
│   ├── 32720009: 长时间超距(停下等待)
│   └── 32720008: 目标丢失(播报"我在这里等您")
└── 行进中 TTS: "请跟我来"、"前面左转"、"电梯在这边"

步骤 4: 跨楼层处理(如涉及)
├── 到达电梯口
├── 调用 NavigationElevatorComponent
├── 状态监听:
│   ├── 32750004: 到达电梯门
│   ├── 32750005: 进入电梯并转向
│   └── 32750009: 离开电梯
├── 出电梯后: 重新定位 → 继续引领
└── TTS "我们已经到 5 楼了,继续跟我走"

步骤 5: 到达确认
├── 调用 locationEstimateUtil.isInPlace("内科候诊区", 1.0)
├── 返回 true: 确认到达
├── TTS "内科到了,请在此等候叫号。祝您早日康复!"
├── 屏幕展示: 内科医生排班、预计等待时间
└── 机器人恢复待机

需要对方配合的事项

  1. 医院地图建模:提供医院各楼层的高精度地图,标注所有科室、电梯、卫生间等 POI
  2. 梯控对接:如果支持梯控,需要对接医院电梯控制系统(提供梯控协议文档)
  3. 引领参数调优:根据医院人流密度调整 lostTimefarawayDistance

2.6 门诊巡逻/主动迎宾

功能描述

机器人在门诊大厅巡逻,主动发现需要帮助的患者,提供咨询服务。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
CruiseComponent 功能组件-巡逻 多点循环巡逻
WakeupAndPreWakeupStartCheckComponent 功能组件-人脸 检测徘徊患者
PersonAppearComponent 功能组件-人脸 主动找人
StandardFaceTrackComponent 功能组件-追踪 注视患者
speechApi.playText() 基础接口-语音 主动问候

完整实现路径

步骤 1: 巡逻路线设置
├── 定义巡逻点: ["门诊入口", "挂号处", "药房", "检验科", "电梯厅"]
├── 调用 CruiseComponent
├── 参数:
│   ├── cruise_route_list='["门诊入口","挂号处","药房","检验科","电梯厅"]'
│   └── cruise_point_avoid_time_out=30000(每点停留 30 秒)
└── 状态监听: 32730013 开始巡逻、32730014 到达某点

步骤 2: 主动发现(每巡逻点停留时)
├── 调用 PersonAppearComponent
├── 参数: maxDistance=3m, isNeedBody=true(检测人体)
├── 检测到徘徊患者(停留超过 10 秒)
└── 触发主动服务

步骤 3: 主动问候
├── 调用 StandardFaceTrackComponent 注视患者
├── TTS "您好,有什么可以帮您的吗?"
├── 屏幕展示: 常见问题快捷按钮
└── 开启语音识别等待患者回应

步骤 4: 服务提供
├── 患者提问 → 进入对应服务流程(导诊/挂号/查报告等)
├── 患者无回应 → 10 秒后恢复巡逻
└── 服务完成 → 询问"还有其他需要帮助的吗?"

步骤 5: 继续巡逻
├── 恢复 CruiseComponent 巡逻
└── 循环执行步骤 2-4

需要对方配合的事项

  1. 巡逻路线规划:根据医院布局设计最优巡逻路线
  2. 避障参数:门诊人流密集,需要调整避障灵敏度
  3. 充电策略:巡逻耗电快,需要设置自动回充逻辑

三、住院机器人详细方案

3.1 入院引导

功能描述

新入院患者在住院部大厅,机器人协助完成入院登记、科室指引、宣教告知。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
WakeupAndPreWakeupStartCheckComponent 功能组件-人脸 检测新患者
RegisterComponent 功能组件-人脸 人脸注册(住院期间识别)
NavigationComponent 功能组件-导航 引导到病房
speechApi.playText() 基础接口-语音 入院宣教播报
ExDisplay UI 组件 展示入院须知

完整实现路径

步骤 1: 检测新入院患者
├── 在住院部大厅巡逻或待机
├── 检测到携带行李的患者(Wakeup + 人体检测)
├── TTS "您好,欢迎入住本院,我是您的智能陪护助手"
└── 屏幕展示: 入院服务菜单

步骤 2: 身份确认与人脸注册
├── 患者刷就诊卡/报身份证号
├── 调用 HIS 接口获取入院信息
├── 屏幕确认: "请问您是 XXX,入住 XX 科室 X 床吗?"
├── 患者确认后 → 调用 RegisterComponent 注册人脸
│   └── 参数: personName=患者姓名
└── 注册成功: 住院期间可通过人脸识别调用服务

步骤 3: 入院宣教
├── TTS 播报入院须知(流式 TTS)
├── 屏幕展示(ExDisplay):
│   ├── 探视时间
│   ├── 订餐方式
│   ├── 紧急呼叫方法
│   └── 病房设施使用说明
└── 患者可语音提问

步骤 4: 引导到病房
├── 询问: "需要我带您去病房吗?"
├── 患者同意 → 调用 NavigationComponent
├── 导航到 "XX 科 X 病区"
├── 到达后 TTS "您的病房到了,祝您早日康复"
└── 机器人返回大厅

3.2 智能查房巡检

功能描述

机器人按医嘱或护理计划,定时到病房巡视,采集患者生命体征、询问状况、记录反馈。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
CruiseComponent 功能组件-巡逻 按病房路线巡检
NavigationComponent 功能组件-导航 导航到指定病房
PersonAppearComponent 功能组件-人脸 确认患者身份
speechApi.playText() 基础接口-语音 询问患者状况
SkillCallback.onListenCallback 语音回调 接收患者回答
cronParser.startCronTask() 高级功能-定时 设置定时查房

IoT 设备对接(需定制):

设备 接口 说明
血压计 蓝牙/WiFi 自动采集血压数据
体温计 蓝牙/WiFi 自动采集体温数据
血氧仪 蓝牙/WiFi 自动采集血氧数据
床头呼叫器 协议对接 接收呼叫信号

完整实现路径

步骤 1: 定时任务设置
├── 调用 cronParser.startCronTask
├── 参数:
│   ├── id="morning_rounds"
│   ├── grammar="0 8 * * *"(每天早上 8 点)
│   └── program="start_rounds"
└── 定时触发查房流程

步骤 2: 开始巡检
├── 调用 CruiseComponent 按病房顺序巡逻
├── 或调用 NavigationComponent 逐个前往指定病房
├── 到达病房门口 → 播报"查房了"

步骤 3: 患者身份确认
├── 进入病房
├── 调用 PersonAppearComponent 识别患者人脸
├── 匹配住院患者数据库
└── 确认身份后调取患者病历

步骤 4: 生命体征采集
├── 方式 A: 自动采集(IoT 设备)
│   ├── 机器人携带便携式血压计/体温计
│   ├── 患者自主测量或护士协助
│   └── 蓝牙传输数据到机器人
├── 方式 B: 语音询问
│   ├── TTS "请问您今天的体温是多少?"
│   ├── 患者语音回答
│   └── ASR 识别并记录
└── 数据暂存,待统一上传

步骤 5: 状况询问
├── TTS "您今天感觉怎么样?有没有不舒服?"
├── 患者回答 → NLP 解析
├── 关键信息提取:
│   ├── 疼痛部位、程度
│   ├── 睡眠质量
│   ├── 饮食情况
│   └── 特殊不适
└── 记录到查房记录

步骤 6: 医嘱确认
├── TTS "您今天的用药是 XXX,请按时服用"
├── 展示药品图片和服用说明
├── 询问: "您明白了吗?"
└── 患者确认

步骤 7: 数据上传与异常预警
├── 调用我方 API: 查房数据 → 护理系统
├── AI 分析异常指标:
│   ├── 体温 > 38°C → 标记发热
│   ├── 血压异常 → 标记高血压/低血压
│   └── 患者主诉严重不适 → 标记需医生查看
└── 异常自动推送给责任护士

步骤 8: 继续巡检
├── 离开病房 → 前往下一间
└── 循环步骤 3-7

步骤 9: 巡检完成
├── 所有病房巡检完毕
├── 生成巡检报告
├── 自动回充(ChargeStartComponent)
└── 等待下次定时任务

需要对方配合的事项

  1. IoT 设备 SDK:提供蓝牙/WiFi 医疗设备的对接协议
  2. 病房地图:精确到床位的病房内部地图
  3. 隐私保护:查房时的语音和图像数据加密处理

3.3 药品/标本配送

功能描述

机器人从药房运送药品到病房,或从病房运送检验标本到检验科。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
NavigationComponent 功能组件-导航 导航到药房/病房/检验科
NavigationElevatorComponent 高级功能-梯控 跨楼层配送
PersonAppearComponent 功能组件-人脸 确认接收人身份
speechApi.playText() 基础接口-语音 通知取药
LightApi.playEffect() 基础接口-灯带 配送中状态提示

硬件接口(需定制):

接口 说明
货仓电控锁 药品/标本存放,到达后解锁
重量传感器 检测物品是否放入/取出
温控模块(可选) 冷链药品保温

服务端 API:

API 名称 用途
POST /robot/task/create 创建配送任务
POST /robot/control/navigate 远程触发配送

完整实现路径

步骤 1: 接收配送任务
├── 触发方式:
│   ├── A: 药房系统推送 "X 床药品待配送"
│   ├── B: 护士站通过服务端 API 下发任务
│   └── C: 护士在机器人屏幕创建任务
└── 调用 POST /robot/task/create 创建任务

步骤 2: 前往取货点
├── 任务队列排序(优先级、路径优化)
├── 调用 NavigationComponent 导航到药房
├── 到达后 TTS "药品配送员,请放入药品"
├── 货仓门打开(电控锁解锁)
├── 药师放入药品 → 重量传感器确认
├── 货仓门关闭上锁
└── 屏幕展示: 目的地、药品清单

步骤 3: 配送途中
├── 调用 NavigationComponent 导航到目标病房
├── 跨楼层时: NavigationElevatorComponent 乘梯
├── 灯带提示: LightApi.playEffect("light_effect_blue_breath") 蓝色呼吸灯
├── 途中避障、等待电梯
└── 屏幕展示: "配送中,请勿打扰"

步骤 4: 到达通知
├── 到达病房门口
├── TTS "X 床药品已送到,请护士查收"
├── 屏幕展示: 药品清单、接收码
└── 等待护士接收

步骤 5: 身份确认与交付
├── 护士刷卡/人脸识别确认身份
├── 货仓门解锁
├── 护士取走药品
├── 重量传感器确认已取
├── 护士屏幕签收
└── TTS "配送完成,祝您早日康复"

步骤 6: 返回或继续
├── 如有下一任务 → 前往下一地点
├── 如无任务 → 返回护士站/充电站
└── 任务状态同步到药房系统

需要对方配合的事项

  1. 货仓定制:在机器人上增加带锁货仓,容量满足常规药品配送
  2. 梯控对接:跨楼层配送需要梯控系统支持
  3. 任务调度系统:多任务时的路径优化和优先级管理

3.4 住院呼叫响应

功能描述

患者通过床头呼叫器呼叫,机器人接收呼叫并前往病房响应。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
NavigationComponent 功能组件-导航 快速前往呼叫病房
speechApi.playText() 基础接口-语音 询问患者需求
speechApi.setRecognizable(true) 基础接口-语音 开启语音交互
FaceTrackComponent 功能组件-追踪 追踪呼叫患者

IoT 对接:

设备 接口 说明
床头呼叫器 协议对接 接收呼叫信号和床位号

完整实现路径

步骤 1: 接收呼叫信号
├── 床头呼叫器触发
├── 通过 IoT 协议推送呼叫信息到机器人
│   └── {床位: "X科X床", 类型: "普通呼叫/紧急呼叫", 时间: "..."}
└── 机器人判断当前状态:
    ├── 空闲 → 立即响应
    └── 忙碌 → 队列排队或通知护士站

步骤 2: 快速响应
├── TTS "收到呼叫,马上过来"
├── 调用 NavigationComponent 快速导航到呼叫床位
├── 参数: param_linear_speed=1.2(最大速度)
└── 屏幕展示: "紧急呼叫响应中"

步骤 3: 到达与确认
├── 到达病房
├── TTS "您好,我是响应您的呼叫,请问需要什么帮助?"
├── 调用 FaceTrackComponent 追踪患者位置
└── 开启语音识别等待患者回应

步骤 4: 需求处理
├── 患者说"我要喝水"
│   ├── NLP 解析 intent=need_water
│   ├── TTS "好的,我通知护士给您送水"
│   ├── 推送消息到护士站系统
│   └── 记录呼叫处理结果
├── 患者说"我不舒服"
│   ├── NLP 解析 intent=feel_bad
│   ├── TTS "请描述一下您的症状"
│   ├── 多轮对话采集症状
│   ├── AI 分析紧急程度
│   └── 紧急呼叫推送给责任护士/医生
└── 患者说"没事,按错了"
    └── TTS "好的,如有需要随时呼叫"

步骤 5: 离开或留守
├── 简单需求处理完 → 离开返回
├── 需等待护士 → 在病房门口留守
│   └── 到达护士后交接
└── 紧急状况 → 持续陪伴直到医护人员到达

需要对方配合的事项

  1. 呼叫器协议:提供床头呼叫器的通信协议文档
  2. 紧急响应 SLA:确保紧急呼叫的响应时间(如 60 秒内到达)
  3. 多呼叫队列:同时多个呼叫时的调度策略

3.5 出院结算引导

功能描述

患者出院时,机器人协助完成出院宣教、费用查询、结算引导。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
RecognizeComponent 功能组件-人脸 识别出院患者
NavigationComponent 功能组件-导航 引导到结算处
speechApi.playText() 基础接口-语音 出院宣教播报
ExDisplay UI 组件 展示出院须知和费用清单

完整实现路径

步骤 1: 检测出院患者
├── HIS 系统推送 "X 床患者今日出院"
├── 机器人在病区巡逻时识别该患者
├── 或患者主动说"我要出院"
└── 触发出院服务流程

步骤 2: 出院宣教
├── TTS "恭喜您康复出院,以下是出院注意事项"
├── 屏幕展示(ExDisplay):
│   ├── 出院带药清单及服用说明
│   ├── 复诊时间和预约方式
│   ├── 居家护理建议
│   └── 紧急联系方式
└── 流式 TTS 播报宣教内容

步骤 3: 费用查询
├── 患者询问"我的住院费用是多少?"
├── 调用 HIS 接口查询费用明细
├── 屏幕展示: 费用分类图表
│   ├── 药品费、检查费、治疗费
│   ├── 医保报销金额
│   └── 自付金额
└── TTS 播报费用 summary

步骤 4: 结算引导
├── 询问: "需要我带您去结算处吗?"
├── 患者同意 → 调用 NavigationComponent
├── 导航到 "住院结算处"
├── 途中 TTS: "结算处在一楼大厅,请携带医保卡和押金条"
└── 到达后: "结算处到了,请排队办理"

步骤 5: 服务评价(可选)
├── 结算完成后
├── 机器人询问: "请对我的服务进行评价"
├── 屏幕展示: 五星评价 + 语音反馈
└── 收集评价数据用于服务改进

3.6 夜间巡检

功能描述

夜间时段(22:00-06:00),机器人在病区巡逻,监测异常状况,保障患者安全。

依赖的 RobotOS API

本地端 API:

API 名称 所属模块 功能说明
cronParser.startCronTask() 高级功能-定时 设置夜间定时巡检
CruiseComponent 功能组件-巡逻 夜间静音巡逻
PersonAppearComponent 功能组件-人脸 检测异常人员活动
RobotApi.getBatteryLevel() 基础接口-电源 监控电量
ChargeStartComponent 功能组件-充电 低电量自动回充

硬件接口:

接口 说明
夜视摄像头 低光照环境下的视觉检测
红外传感器 人体活动检测

完整实现路径

步骤 1: 定时启动
├── 调用 cronParser.startCronTask
├── 参数:
│   ├── id="night_patrol"
│   ├── grammar="0 22 * * *"(每晚 22:00 启动)
│   └── program="start_night_patrol"
└── 夜间巡检模式启动

步骤 2: 静音巡逻
├── 调用 CruiseComponent
├── 参数调整:
│   ├── 关闭 TTS 播报(避免打扰患者休息)
│   ├── 降低运动速度(减少噪音)
│   └── 关闭灯带特效(仅保留必要指示灯)
└── 按设定路线巡逻

步骤 3: 异常检测
├── 视觉检测(夜视摄像头):
│   ├── 检测走廊跌倒人员
│   ├── 检测异常聚集
│   └── 检测烟雾/火焰(如有烟雾传感器)
├── 声音检测:
│   ├── 检测呼救声
│   ├── 检测异常响动
│   └── 触发后前往查看
└── 人员识别:
    └── 检测非医护人员在病区徘徊

步骤 4: 异常响应
├── 发现异常 → 立即上报护士站
│   ├── 推送消息: "X 病区发现异常,请查看"
│   ├── 附带现场照片/视频
│   └── 机器人留守现场
├── 患者呼叫 → 正常响应
│   └── 但使用更低音量交互
└── 无异常 → 继续巡逻

步骤 5: 电量管理
├── 定时检查电量: RobotApi.getBatteryLevel()
├── 电量 < 30% → 暂停巡逻
├── 调用 ChargeStartComponent 自动回充
├── 充电完成后 → 恢复巡逻
└── 确保 06:00 前完成充电

步骤 6: 晨间交接
├── 06:00 定时任务触发
├── 生成夜间巡检报告
│   ├── 巡逻次数和时间
│   ├── 发现的异常情况
│   └── 处理结果
├── 推送给护士长
└── 机器人切换日间模式

需要对方配合的事项

  1. 夜视能力:确保摄像头支持低光照环境
  2. 静音模式:夜间运动噪音控制
  3. 安全认证:夜间无人值守时的安全性和可靠性

四、技术架构方案

4.1 分层架构

┌─────────────────────────────────────────────────────────────┐
│                     应用层(我方开发)                        │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │  门诊机器人  │ │  住院机器人  │ │   管理后台   │            │
│  │   APK/OPK   │ │   APK/OPK   │ │   Web/App   │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│                     AI 能力层(我方)                         │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │   AI 中台    │ │  智能体集群  │ │  知识库 RAG  │            │
│  │  模型仓库    │ │ 门诊/住院/体检│ │  MCP 仓库   │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│                   RobotOS 能力层(对方)                      │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │  导航巡逻    │ │  语音交互    │ │  视觉感知    │            │
│  │ Navigation  │ │  TTS/ASR    │ │  人脸/追踪   │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
├─────────────────────────────────────────────────────────────┤
│                    硬件抽象层(对方)                         │
│  ┌─────────────┐ ┌─────────────┐ ┌─────────────┐            │
│  │  运动底盘    │ │  传感器组    │ │  扩展外设    │            │
│  │  电机/轮子   │ │ 雷达/摄像头  │ │ 读卡器/打印  │            │
│  └─────────────┘ └─────────────┘ └─────────────┘            │
└─────────────────────────────────────────────────────────────┘

4.2 数据流架构

患者语音/触屏 → RobotOS ASR → NLP 解析 → 我方 AI 中台 → 业务处理
                                                    ↓
机器人控制 ← RobotOS API ← 指令生成 ← 结果返回 ← 知识库/HIS

4.3 系统对接清单

系统 对接方式 数据交换
HIS REST API/HL7 患者信息、挂号、医嘱
LIS REST API 检验报告
PACS REST API/DICOM 影像报告
护理系统 REST API 查房记录、护理计划
药房系统 REST API 药品信息、配送任务
医保系统 专用接口 医保结算
床头呼叫器 IoT 协议 呼叫信号
生命体征设备 蓝牙/WiFi 体征数据

五、硬件定制需求清单

5.1 读卡器模块

需求项 规格要求 对接方式
支持卡类型 社保卡、就诊卡、身份证 需提供 Android SDK
通信接口 USB/串口 标准 HID 或自定义协议
读取内容 卡号、姓名、医保类型 返回结构化数据
安全要求 符合医保安全规范 加密传输

5.2 打印模块

需求项 规格要求 对接方式
打印类型 热敏打印 ESC/POS 指令集
纸张规格 80mm 宽卷纸 自动切纸
打印内容 挂号单、发票、凭条、报告 支持文字/二维码
装纸方式 前开盖更换 易维护设计

5.3 梯控模块

需求项 规格要求 对接方式
支持电梯 主流品牌(三菱、奥的斯、日立等) RS485/Modbus/自定义
控制功能 呼梯、选层、开门 协议对接
安全认证 通过电梯厂商认证 符合特种设备规范

5.4 货仓模块(配送机器人)

需求项 规格要求 对接方式
容量 不少于 20 盒药品 内部货架设计
电控锁 独立控制 GPIO/串口控制
传感器 重量检测、门状态 模拟/数字信号
温控(可选) 2-8°C 冷藏 半导体制冷

六、NLP 语音交互定制方案

6.1 Domain/Intent 设计

Domain Intent Slot 示例语句
navigation guide_to destination "带我去内科"
navigation query_location place "卫生间在哪里"
registration register department, doctor "我要挂内科专家号"
inquiry pre_diagnosis symptom "我头痛发烧"
report query_report report_type "查我的血常规报告"
payment pay amount, method "我要缴费"
call emergency_call room, type "呼叫护士"
delivery request_delivery item, destination "送药到 X 床"

6.2 医疗专精词库

  • 科室名称:内科、外科、妇产科、儿科、急诊科等
  • 症状描述:头痛、发烧、咳嗽、腹痛、恶心等
  • 药品名称:常见药品通用名
  • 检查项目:血常规、尿常规、B超、CT、MRI等
  • 医保术语:医保卡、自费、报销比例、起付线等

6.3 多轮对话设计

场景: 预问诊
Bot: 请问您哪里不舒服?
User: 我头痛
Bot: 头痛的具体位置是?(额头/两侧/后脑勺)
User: 额头
Bot: 这种情况持续多久了?
...

七、开发路线图

第一阶段:技术验证(1-2 个月)

周次 任务 产出
1-2 申请开发者账号、获取 SDK、搭建环境 开发环境就绪
3-4 开发基础 Demo:导航、语音、人脸 可运行 Demo
5-6 医院地图建模、点位标定 地图数据
7-8 样板医院对接、需求确认 需求文档

第二阶段:MVP 开发(3-4 个月)

月次 任务 产出
1 门诊导诊 APK 开发 v1.0 版本
2 自助挂号缴费集成 v1.1 版本
3 住院查房 APK 开发 v2.0 版本
4 HIS 系统对接联调 集成测试报告

第三阶段:试点部署(2-3 个月)

月次 任务 产出
1 样板医院部署、培训 部署完成
2 试运行、问题修复 试运行报告
3 验收、案例包装 标杆案例

第四阶段:规模推广(持续)

  • 借助猎户星空销售网络推广
  • 持续迭代优化
  • 扩展更多医院场景

八、风险与应对

风险 影响 应对策略
RobotOS API 能力不足 早期技术验证,预留自研替代方案
医疗器械认证 提前咨询药监局,按二类器械准备
医院系统对接复杂 标准化接口适配层,降低耦合
隐私数据安全 本地化部署、数据加密、合规审计
患者接受度 人机协作模式,保留人工服务
硬件定制成本高 分阶段定制,优先核心功能

附录

A. API 速查表

详见配套文档:猎户星空API完整参考手册.md

B. 适用机型建议

场景 推荐机型 理由
门诊导诊 豹小秘 Mini 支持 TRTC 视频通话,屏幕适中
住院查房 豹小秘 2 续航长,支持大模型
药品配送 豹小递 Max 载重大,续航长
综合场景 招财豹 Pro 性价比高,功能全面

C. 联系方式


文档结束