跳到内容 跳到主导航 跳到页脚

引领追踪

机器人声源定位

组件名称: 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

下载示例代码

这篇文章是否有帮助?

0