资讯

仙知小课堂|仙知网络协议API使用教程(十六)

转载 2020-04-22 14:15 Seer Robotics 来源: 仙知机器人Seer
上海仙工智能科技有限公司

为方便用户更高效的使用移动机器人,仙知向用户开放机器人操作的相关 API。

★仙知小课堂★

之前分别介绍了机器人导航API—API列表、暂停当前导航、继续当前导航、取消当前导航等,本期将继续介绍“机器人导航API”,包括“路径导航”、“获取路径导航的路径”、“平动”及“转动”:

路径导航

路径导航为给定目标站点, 由机器人自动规划沿着贝塞尔曲线的路径运行, 期间会经过其它中间站点但不会停留。

请求

编号: 3051 (0x0BEB)

名称: robot_task_gotarget_req

描述: 路径导航

JSON 数据区: 见下表

注意 1: angle 为到点朝向, 如果缺省则会使用站点上设置的值。

注意 2: max_speed, max_wspeed, max_acc, max_wacc 字段不建议使用, 最好通过地图上的路径和区域属性或机器人参数来控制这些值, 并且这些字段可能在将来被删除。

请求示例

operation 相关说明

在 Roboshop  pro 中使用路径导航至 AP(或 TL,WL)点时,可以选择执行动作(含义为导航至AP并执行动作),如下图:

根据 AP 点上配置的执行对象和识别模型文件,可以执行各种动作

此时需要在路径导航指令中增加更多参数来使机器人导航至目标点并完成相应的动作,现说明如下:

1、货叉

AP 点的执行对象需配置为 fork,识别模型文件按需求配置为栈板的模型文件或者不配置。

operation:动作可以为 "ForkLoad" 或 "ForkUnload"

recognize:代表插入栈板时是否需要识别(如果需要识别,请确保识别模型文件配置正确)

layer:为需要货叉插入的栈板层数(仅 recognize = true 时有意义)

start_height:动作开始时,货叉的起始高度(仅 recognize = false 时有意义)

end_height:动作结束后,货叉的终止高度(仅 recognize = false 时有意义)

2、辊筒

AP 点的执行对象需配置为 roller,识别模型文件不需要配置。(roller 目前不存在识别)

operation:动作可以为 "RollerLoad" 或 "RollerUnload"

direction:为辊筒运动的方向,可以为 "left" 或 "right"

recognize:代表是否需要识别(对于辊筒来说,recognize 目前无效)

3、顶升

AP 点的执行对象需配置为 jack,识别模型文件按需求配置为货架的模型文件或者不配置。

operation:动作可以为 "JackLoad" 或 "JackUnload" 或 "JackHeight"

jack_height:为顶升定高的高度(仅 operation = "JackHeight" 时才有意义)

recognize:代表钻入货架时是否需要识别(如果需要识别,请确保识别模型文件配置正确,对于需要识别钻货架顶升的使用,请参考该教程)

use_pgv:代表是否使用 PGV 传感器矫正钻入货架后的位置

4、牵引

AP 点的执行对象需配置为 hook,识别模型文件按需求配置为料车的模型文件或者不配置。

operation:动作可以为 "HookLoad" 或 "HookUnload"

recognize:代表牵引料车前是否需要识别

响应

编号: 13051 (0x32FB)

名称: robot_task_gotarget_res

描述: 路径导航的响应

JSON 数据区: 见下表

响应示例

获取路径导航的路径

该请求只返回使用路径导航去到目标点所规划的路径, 并不实际执行导航。

请在机器人未进行导航时使用该指令,请勿在机器人导航时使用该指令,否则会造车机器人停止。

请求

编号: 3053 (0x0BED)

名称: robot_task_target_path_req

描述: 获取路径导航的路径

JSON 数据区: 见下表

请求示例

响应

编号: 13053 (0x32FD)

名称: robot_task_target_path_res

描述: 获取路径导航的路径的响应

JSON 数据区: 见下表

响应示例

平动

请求

编号: 3055 (0x0BEF)

名称: robot_task_translate_req

描述: 平动,以固定速度直线运动固定距离

JSON 数据区: 见下表

注意: 3055(平动), 3056(转动), 3057 不能同时进行

如果 vx, vy 都有值, 则会将速度合成。

里程模式不需要定位精准, 但是对于长距离的运动可能会产生较大误差, 误差随距离的增大而增大。

定位模式需要当前环境定位稳定, 误差与当前环境和定位精度相关。

请求示例

响应

编号: 13055 (0x32FF)

名称: robot_task_translate_res

描述: 平动,以固定速度直线运动固定距离的响应

JSON 数据区: 见下表

响应示例

转动

请求

编号: 3056 (0x0BF0)

名称: robot_task_turn_req

描述: 转动, 以固定角速度旋转固定角度

JSON 数据区: 见下表

注意: 3055(平动), 3056(转动), 3057 不能同时进行

里程模式不需要定位精准, 但是对于角度很大的转动动可能会产生较大误差, 误差随旋转角度的增大而增大。

定位模式需要当前环境定位稳定, 误差与当前环境和定位精度相关。

请求示例

响应

编号: 13056 (0x3300)

名称: robot_task_turn_res

描述: 转动, 以固定角速度旋转固定角度的响应

JSON 数据区: 见下表

响应示例

0 0

网友评论

取消