引领追踪
机器人声源定位
组件名称: SoundLocalizationComponent
组件描述: 主要用于唤醒时根据声源方向,快速转动到指定角度,支持同时转动头部及身体,提高转动速度,便于后续进行人脸识别跟踪。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let soundLocalizationParam = new SoundLocalizationParam(30, true, true); return ( <> <SoundLocalizationComponent param={soundLocalizationParam} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为BasicMotionParam
- onFinish:组件执行结束回调
参数说明:
- angle:唤醒角度(唤醒指令参数里会带有角度)
- isNeedMoveBody:是否转动身体
- isNeedMoveHead:是否转动头部
结果说明:
注意:开发中请使用常量定义进行结果判定,结果码在后续版本中有可能会发生变更
通过ComponentEvent.status获取到结果码:
- 32610001:执行成功,常量定义 ComponentResultConst.RESULT_SUCCESS
- -32610008:角度参数无效,常量定义 ComponentErrorConst.ERROR_PARAMS_SOUND_LOCALIZATION_ANGLE_INVALID
- -32600001:当前已经有相同的组件在运行,需要把前一个组件停止后才能正常使用,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_BUSY
- -32600002:申请权限失败,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_FAILED
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
是 | 是 | 否 | 是 | 否 |
人脸自动追踪(含动态拾音)
组件名称: FaceTrackSoundLocalizationComponent
组件描述: 复合组件,使用StandardFaceTrackComponent 和 SoundLocalizationComponent 组件组合而成,用于自动追踪人脸,支持在追踪过程中,可以通过“小豹小豹”呼唤机器人,机器人会转动到声源方向,继续查找人进行追踪,该组件会持续运行,不会主动停止,需要使用方主动执行组件卸载。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { return ( <> <FaceTrackSoundLocalizationComponent onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} soundLocalizationParam={this.getSoundParams()} standardFaceTrackParam={this.getFaceTrackParams()} /> </> ); }
属性:
- soundLocalizationParam:SoundLocalizationComponent组件参数,类型为SoundLocalizationParam
- standardFaceTrackParam:StandardFaceTrackComponent组件参数,类型为StandardFaceTrackParam
- onSoundLocalizationFinish:SoundLocalizationComponent组件结果回调
- onSoundLocalizationStatusUpdate:SoundLocalizationComponent组件状态回调
- onStatusUpdate:StandardFaceTrackComponent组件状态回调
- onFinish:StandardFaceTrackComponent组件执行结束回调
参数说明:
- soundLocalizationParam:详细参数说明请参考 运动控制 – 机器人声源定位(SoundLocalizationComponent)的文档说明
- standardFaceTrackParam:详细参数说明请参考 人脸追踪 – 人脸自动追踪(StandardFaceTrackComponent)的文档说明
状态说明:
状态说明请参考StandardFaceTrackComponent 及 SoundLocalizationComponent的文档说明
结果说明:
结果说明请参考StandardFaceTrackComponent 及 SoundLocalizationComponent的文档说明
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
人脸自动追踪
组件名称: StandardFaceTrackComponent
组件描述: 人脸自动追踪,可根据识别结果自动追踪距离更近且人脸角度更小的人。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let param = new StandardFaceTrackParam(personId); return ( <> <StandardFaceTrackComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为StandardFaceTrackParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- personId:首次追踪对象,可不填写,不填的话自动检测合适人脸进行追踪
- maxDistance:人脸识别的最大距离,超过该距离的人脸数据自动忽略,默认3米
- maxFaceAngleX:识别最大人脸角度,默认60度
- isNeedInCompleteFace:是否包含不完整人脸检测,默认false
- disappearTimeout:人脸丢失超时时间,超过该时间持续未检测到人脸数据,组件自动退出
- isMultiPersonNotTrack:在检测到多个人脸数据时,是否进行追踪,默认false
- multiPersonNotTrackDistance:多人检测距离,默认2米
- isAllowMoveBody:机器人是否允许转动身体
状态说明:
通过ComponentEvent.status获取到状态码:
- 32720001:追踪成功,常量定义 ComponentStatusConst.STATUS_TRACK_SUCCESS
- 32720003: 单次焦点跟随结束,还会继续找人跟随,常量定义 ComponentStatusConst.STATUS_TRACK_END
结果说明:
通过ComponentEvent.status获取到结果码:
- 32610003:超时未检测到人脸数据,ComponentEvent.data为人脸数据,常量定义 ComponentResultConst.RESULT_TIMEOUT
- -32600004:获取人脸数据失败,常量定义 ComponentErrorConst.ERROR_OPEN_PERSON_DETECT_FAILED
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
追踪指定人
组件名称: FaceTrackComponent
组件描述: 根据人脸id追踪指定的人,单次追踪组件,追踪失败后不会自动切换别的人进行追踪。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let param = new FaceTrackParam(personId); return ( <> <FaceTrackComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为FaceTrackParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- personId:追踪对象的人脸id,必填项
- lostDistance:丢失距离,追踪对象与机器人的距离超过该值后会放弃追踪,默认2米
- lostTimeout:超时时间,持续多久未找到追踪对象会放弃追踪,默认2000毫秒
状态说明:
通过ComponentEvent.status获取到状态码:
- 32720001:追踪成功,常量定义 ComponentStatusConst.STATUS_TRACK_SUCCESS
结果说明:
通过ComponentEvent.status获取到结果码:
- 32610005:超时未检测到追踪对象,常量定义 ComponentResultConst.RESULT_GUEST_LOST_TIMEOUT
- 32610004:追踪对象距离过远,常量定义 ComponentResultConst.RESULT_GUEST_FAR_AWAY
- -32610005:用户丢失,常量定义 ComponentErrorConst.ERROR_PARAMS_PERSON_COULD_NOT_BE_TRACKED
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.1.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 是 |
引领
组件名称: LeadingTrackComponent
组件描述: 引领组件主要用于人跟着机器人的运动过程中,持续进行人脸 + 人体的检测追踪,支持切换后置摄像头(针对包含后置摄像头的机器人型号生效)或向后转动头部(针对支持头部转动的机器人型号生效),可结合导航组件共同使用,根据引领组件上报的状态,控制机器人的运动或停止。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let param = new LeadingTrackParam(); return ( <> <LeadingTrackComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为LeadingTrackParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- lostTime:多久无人脸或人体数据认为人丢失,默认2000毫秒
- waitTime:超距等待超时时间,默认-1
- farawayDistance:人距离机器人多远上报超距状态,默认2.8米
- detectDelay:人脸检测延迟时间,机器人在开始引领阶段可能会有切换摄像头或转头动作,导致识别人脸失败率高,可延迟一段时间再检测,默认5000毫秒
- maxDistance:人脸识别范围,超过该距离的人脸数据自动忽略,默认3米
- maxFaceAngleX:最大人脸角度,默认60度
- personAppearTimeout:找人超时时间,默认1500毫秒
状态说明:
通过ComponentEvent.status获取到状态码:
- 32720007:找到可追踪的目标,常量定义 ComponentStatusConst.STATUS_LEAD_TRACK_FIND_PERSON
- 32720001:追踪成功,常量定义 ComponentStatusConst.STATUS_TRACK_SUCCESS
- 32720004:引领目标距离过远,常量定义 ComponentStatusConst.STATUS_GUEST_FARAWAY
- 32720005:引领目标靠近,常量定义 ComponentStatusConst.STATUS_GUEST_FARAWAY_END
- 32720009:引领目标长时间距离过远,常量定义 ComponentStatusConst.STATUS_LEAD_GUEST_FARAWAY_TIMEOUT
- 32720008:引领目标丢失,常量定义 ComponentStatusConst.STATUS_LEAD_GUEST_LOST
- 32720010:引领目标出现,常量定义 ComponentStatusConst.STATUS_LEAD_GUEST_APPEAR
- 32720011:切换摄像头失败,常量定义 ComponentStatusConst.STATUS_CAMERA_SWITCH_FAILED
结果说明:
该组件会持续运行,不会自动停止,直到使用方主动卸载组件。
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.1.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 否 | 否 | 否 |