导航巡逻
导航
组件名称: NavigationComponent
组件描述: 导航组件,用于控制机器人前往指定位置点。
备注:需要使用底盘的功能组件,都是互斥的。比如底盘行走、导航、回冲、焦点跟随等。请不要同时使用他们,会造成错误
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let navigationParam = new NavigationParam(destination, undefined , undefined, undefined, undefined, undefined, undefined, undefined , linearSpeed, angularSpeed); return ( <> <NavigationComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为NavigationParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- destination:前往目的地名称,必填项,不能为空,否则会抛出崩溃异常
- coordinate_deviation:目的地范围,在目的地范围内均认为正常到达,默认0.5米
- moving_timeout_time:机器人未移动超时时间,默认20000毫秒,超过该时间未移动,此次导航失败
- max_avoid_count:堵死状态检测次数,机器人在被堵死后会每隔一段时间检测一次,超过该次数后还是被堵死,则认为导航失败,默认5次
- avoid_interval_time:堵死状态检测间隔时间,默认1000毫秒
- auto_reset_estimate:导航过程中如果发生定位丢失,是否尝试自动重定位,默认true
- param_reset_estimate_count:重定位尝试次数,默认5次
- get_distance_interval_time:距离信息上报间隔时间,默认1000毫秒
- param_linear_speed:导航线速度,可不填写,范围0.1-1.2 m/s
- param_angular_speed:导航角速度,可不填写,范围0.2-1.8 rad/s(1rad=180°/π,约 57.3°)
- param_is_adjust_angle:到达目标点时机器的朝向是按照前进方向还是设置位置点时的方向,true 前进方向,false 设置位置点时的方向,默认false
- param_is_need_avoid_notify_immediately:被障碍物堵死立即上报状态,默认false (1.34.0版本引入)
- param_destination_range:当目标点不可到达时,停在目标点附近的距离范围,默认0米(1.34.0版本引入)
- obs_distance:最大避障距离,距离目标的障碍物小于该值时,机器人停止,不传则或使用默认 0.75,单位米(10.3 版本 ROM,2.91.0版本引入)
- pos_tolerance:导航到目的地时,点位偏差值范围,不传则使用默认值0.15,单位米(10.3 版本 ROM,2.91.0版本引入)
- angle_tolerance:导航到目的地时,角度偏差值范围,不传则使用默认值0.05,单位米(10.3 版本 ROM,2.91.0版本引入)
状态说明:
通过ComponentEvent.status获取到状态码:
- 32730001:开始导航,常量定义 ComponentStatusConst.STATUS_START_NAVIGATION
- 32730011:机器人被障碍物堵死,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_START
- 32730003:障碍物已移除,可正常前进,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_END
- 32730004:触发了避停,在遇到移动障碍物时会主动停止避让,常量定义 ComponentStatusConst.STATUS_OBSTACLES_AVOID
- 32730002:堵死状态检测次数,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID
- 32730009:定位丢失,常量定义 ComponentStatusConst.STATUS_ESTIMATE_LOST
- 32730005:距目标点距离上报,常量定义 ComponentStatusConst.STATUS_DISTANCE_WITH_DESTINATION
- 32730010:目标点已接近,常量定义 ComponentStatusConst.STATUS_NAVIGATION_NEAR_DESTINATION
- 32730016:重定位成功,可继续导航,常量定义 ComponentStatusConst.STATUS_NAVIGATION_RESET_ESTIMATE_SUCCESS
结果说明:
通过ComponentEvent.status获取到结果码:
- 32610007:导航成功,ComponentEvent.data为人脸数据,常量定义 ComponentResultConst.RESULT_NAVIGATION_ARRIVED
- 32610009:导航启动失败,常量定义ComponentResultConst.RESULT_NAVIGATION_FAILURE
- -32610004:位置点名称无效,常量定义 ComponentErrorConst.ERROR_PARAMS_PLACE_NAME_INVALID
- -32620001:当前未定位,常量定义 ComponentErrorConst.ERROR_NOT_ESTIMATE
- -32620015:当前已在目标位置点范围内,常量定义 ComponentErrorConst.ERROR_NAVIGATION_ALREADY_IN_DESTINATION
- -32620007:导航目标点不存在,常量定义 ComponentErrorConst.ERROR_DESTINATION_NOT_EXIST
- -32600001:目前已经有导航在运行,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_BUSY
- -32600002:底盘资源已被占用,请检查是否有运动类的组件在运行,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_FAILED
- -32620002:导航目标点在地图外,常量定义 ComponentErrorConst.ERROR_NAVIGATION_OUT_MAP
- -32620009:全局路径规划失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_GLOBAL_PATH_FAILED
- -32620014:尝试重定位失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_RESET_ESTIMATE_FAIL
- -32620008:机器人长时间未移动,常量定义 ComponentErrorConst.ERROR_DESTINATION_CAN_NOT_ARRIVE
- -32620006:机器人长时间被障碍物堵死,常量定义 ComponentErrorConst.ERROR_NAVIGATION_AVOID_TIMEOUT
- -32610011:参数解析失败,常量定义 ComponentErrorConst.ERROR_PARAMS_JSON_PARSER_ERROR
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 是 | 是 | 否 |
导航(头部朝向后面)
组件名称: NavigationBackComponent
组件描述: 导航组件,在导航过程中头部会转向后边,只在豹小秘机型上有效,在其它机型上效果等同NavigationComponent。
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let param = new NavigationBackParam(destination); return ( <> <NavigationBackComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为NavigationBackParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- destination:前往目的地名称,必填项,不能为空,否则会抛出崩溃异常
- coordinate_deviation:目的地范围,在目的地范围内均认为正常到达,默认0.5米
- moving_timeout_time:机器人未移动超时时间,默认20000毫秒,超过该时间未移动,此次导航失败
- max_avoid_count:堵死状态检测次数,机器人在被堵死后会每隔一段时间检测一次,超过该次数后还是被堵死,则认为导航失败,默认5次
- avoid_interval_time:堵死状态检测间隔时间,默认1000毫秒
- auto_reset_estimate:导航过程中如果发生定位丢失,是否尝试自动重定位,默认true
- param_reset_estimate_count:重定位尝试次数,默认5次
- get_distance_interval_time:距离信息上报间隔时间,默认1000毫秒
- param_linear_speed:导航线速度,可不填写,范围0.1-1.2 m/s
- param_angular_speed:导航角速度,可不填写,范围0.2-1.8 rad/s(1rad=180°/π,约 57.3°)
状态说明:
通过ComponentEvent.status获取到状态码:
- 32730001:开始导航,常量定义 ComponentStatusConst.STATUS_START_NAVIGATION
- 32730011:机器人被障碍物堵死,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_START
- 32730003:障碍物已移除,可正常前进,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_END
- 32730004:触发了避停,在遇到移动障碍物时会主动停止避让,常量定义 ComponentStatusConst.STATUS_OBSTACLES_AVOID
- 32730002:堵死状态检测次数,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID
- 32730009:定位丢失,常量定义 ComponentStatusConst.STATUS_ESTIMATE_LOST
- 32730005:距目标点距离上报,常量定义 ComponentStatusConst.STATUS_DISTANCE_WITH_DESTINATION
- 32730010:目标点已接近,常量定义 ComponentStatusConst.STATUS_NAVIGATION_NEAR_DESTINATION
- 32730016:重定位成功,可继续导航,常量定义 ComponentStatusConst.STATUS_NAVIGATION_RESET_ESTIMATE_SUCCESS
结果说明:
通过ComponentEvent.status获取到结果码:
- 32610007:导航成功,ComponentEvent.data为人脸数据,常量定义 ComponentResultConst.RESULT_NAVIGATION_ARRIVED
- 32610009:导航启动失败,常量定义ComponentResultConst.RESULT_NAVIGATION_FAILURE
- -32610004:位置点名称无效,常量定义 ComponentErrorConst.ERROR_PARAMS_PLACE_NAME_INVALID
- -32620001:当前未定位,常量定义 ComponentErrorConst.ERROR_NOT_ESTIMATE
- -32620015:当前已在目标位置点范围内,常量定义 ComponentErrorConst.ERROR_NAVIGATION_ALREADY_IN_DESTINATION
- -32620007:导航目标点不存在,常量定义 ComponentErrorConst.ERROR_DESTINATION_NOT_EXIST
- -32600001:目前已经有导航在运行,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_BUSY
- -32600002:底盘资源已被占用,请检查是否有运动类的组件在运行,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_FAILED
- -32620002:导航目标点在地图外,常量定义 ComponentErrorConst.ERROR_NAVIGATION_OUT_MAP
- -32620009:全局路径规划失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_GLOBAL_PATH_FAILED
- -32620014:尝试重定位失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_RESET_ESTIMATE_FAIL
- -32620008:机器人长时间未移动,常量定义 ComponentErrorConst.ERROR_DESTINATION_CAN_NOT_ARRIVE
- -32620006:机器人长时间被障碍物堵死,常量定义 ComponentErrorConst.ERROR_NAVIGATION_AVOID_TIMEOUT
- -32610011:参数解析失败,常量定义 ComponentErrorConst.ERROR_PARAMS_JSON_PARSER_ERROR
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 否 | 否 | 否 | 否 |
巡逻
组件名称: CruiseComponent
组件描述: 巡逻组件,可指定一组地点,机器人持续在指定的路线上行进。
使用示例:
public onStatusUpdate = (event?: ComponentEvent): boolean => { //TODO: 状态处理 return true; }; public onFinish = (result?: ComponentEvent): boolean => { //TODO: 结果处理 return true; }; public render() { let route = ['接待点', '会议室', '前台']; let param = new CruiseParam(JSON.stringify(route)); return ( <> <CruiseComponent param={param} onStatusUpdate={this.onStatusUpdate} onFinish={this.onFinish} /> </> ); }
属性:
- param:组件参数,类型为CruiseParam
- onStatusUpdate:组件状态回调
- onFinish:组件执行结束回调
参数说明:
- cruise_route_list:巡逻路线,一组位置点名称,类型是Json数组字符串,必填项,有效位置点不能少于2个
- cruise_is_need_dock:是否停靠巡逻点,默认false
- cruise_point_avoid_time_out:巡逻过程中被被障碍物堵死的超时时间,超时后自动前往下一个巡逻点
- cruise_is_check_points_exit:巡逻路线中有位置点被删除是否结束巡逻,默认是跳过缺失点,继续巡逻
- cruise_start_index:指定巡逻起始位置点
- param_reset_estimate_count:重定位尝试次数,默认5次
- cruise_linear_speed:导航线速度,可不填写,范围0.1-1.2 m/s
- cruise_angular_speed:导航角速度,可不填写,范围0.2-1.8 rad/s(1rad=180°/π,约 57.3°)
状态说明:
通过ComponentEvent.status获取到状态码:
- 32730013:开始巡逻,常量定义 ComponentStatusConst.STATUS_START_CRUISE
- 32730014:到达某一巡逻点,常量定义 ComponentStatusConst.STATUS_CRUISE_REACH_POINT
- 32730012:准备前往下一巡逻点,常量定义 ComponentStatusConst.STATUS_CRUISE_AVOID_GO_NEXT_POINT
- 32730001:开始前往巡逻点,常量定义 ComponentStatusConst.STATUS_START_NAVIGATION
- 32730004:触发了避停,在遇到移动障碍物时会主动停止避让,常量定义 ComponentStatusConst.STATUS_OBSTACLES_AVOID
- 32730011:机器人已被障碍物堵死,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_START
- 32730003:障碍物已被移除,常量定义 ComponentStatusConst.STATUS_NAVIGATION_AVOID_END
- 32730015:跳过某一巡逻点,常量定义 ComponentStatusConst.STATUS_CRUISE_AVOID_POINT
- 32730016:重定位成功,可继续巡逻,常量定义 ComponentStatusConst.STATUS_NAVIGATION_RESET_ESTIMATE_SUCCESS
结果说明:
通过ComponentEvent.status获取到结果码:
- 32610001:巡逻成功结束,常量定义 ComponentResultConst.RESULT_SUCCESS
- -32610011:参数解析失败,常量定义 ComponentErrorConst.ERROR_PARAMS_JSON_PARSER_ERROR
- -32610017:开始巡逻位置点下标错误,常量定义 ComponentErrorConst.ERROR_PARAMS_CRUISE_START_INDEX_INVALID
- -32610016:有效巡逻点数量少于2个,常量定义 ComponentErrorConst.ERROR_PARAMS_CRUISE_ROUTE_INVALID
- -32620005:获取当前地图的位置点列表错误,请前往地图工具进行检查,常量定义 ComponentErrorConst.ERROR_GET_PLACE_LIST_FAILED
- -32620013:当前地图未设置位置点,请前往地图工具进行设置,常量定义 ComponentErrorConst.ERROR_GET_PLACE_LIST_EMPTY
- -32620019:巡逻点不存在,开启巡逻点检查后有效,常量定义 ComponentErrorConst.ERROR_CRUISE_POINT_NOT_EXIT
- -32620002:机器人或巡逻点在地图外,常量定义 ComponentErrorConst.ERROR_NAVIGATION_OUT_MAP
- -32620009:全局路径规划失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_GLOBAL_PATH_FAILED
- -32620001:当前未定位,常量定义 ComponentErrorConst.ERROR_NOT_ESTIMATE
- -32610021:前往巡逻点失败,常量定义 ComponentErrorConst.ERROR_CRUISE_GO_POSITION_FAILED
- -32600001:当前已有巡逻组件在运行,常量定义 ComponentErrorConst.ERROR_REQUEST_RES_BUSY
- -32620028:当前巡逻路线的所有巡逻点均无法正常到达,常量定义 ComponentErrorConst.ERROR_CRUISE_PERSISTENT_IMMOBILITY
- -32620014:尝试重定位失败,常量定义 ComponentErrorConst.ERROR_NAVIGATION_RESET_ESTIMATE_FAIL
注意:开发中请使用常量定义进行结果及状态判断,以上出现的返回码在后续版本中有可能会发生变更
最低版本: 1.0.0
适用平台:
豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
---|---|---|---|---|
是 | 是 | 否 | 否 | 否 |